chebe: (AsciiC)
Hello! Been a while. I have been starting things, just not quite getting around to finishing them... My friend Julie is on a mission to spread the joy of contributing to Open-Source Software. So this Wednesday just gone she organised a meet-up at the hackerspace to help new-comers get started. She gave a short talk (transcript here), and then we broke up into groups to get hands-on experience, in some cases finding, and in others getting started on projects.

I had great plans to finally get started on some Dreamwidth dev. I got my Dreamhack ages ago, but hadn't had time to do much with it. So I read up my wiki, logged into the account (miraculously remembering the passwords), and decided starting fresh would be the best. (When I wandered away things were still in CVS, they're now in github.) So I found the reinstall script, and ran it.

Don't. At least, not for a while. After following all the steps I could find I still had trouble; the system complaining about not being able to access the db. I logged into the dw-dev irc room to complain, and found out that the script is broken. Alas! My plans are on hold for another little while until the script is fixed up and I can get my Dreamhack working again. The hard part is waiting patiently. I think I've been bitten by the bug.
chebe: (AsciiC)
A while back I got a fantastic birthday present; the Electric Sheep! I've wanted one for ages! So I started reading up on it, and discovered it would only work on a phone with Android version 2.3.4 or higher, because that's when they introduced the new USB driver for it to work.

I waited, and waited. I'd bought my phone SIM-free, so I got Gingerbread while all my friends with the same branded phone did not. Then I waited some more. Lo and behold, another update! Yes, install! ... Hmm, only a security update, still only 2.3.3? Get in contact with HTC, asking when they're going to push the 2.3.4 update that all the other, newer phones had already received. The answer; "HTC has not released android 2.3.4 update for this phone due to the hardware requirements of this phone." This is plainly not true as several people having rooted their phones are even running 4.0.x on it.

What am I to do? There is only one way forward of course, root my own phone. The first step is actually just setting up a software development environment. On the phone that just requires enabling debug mode, and on the laptop installing the Android SDK (painful enough, remember to run as Administrator on Windows), and from that the drivers for the phone. Only, the driver kept on failing to install/recognise my device. Turns out I needed to edit the driver. In a minor way that is not nearly as scary as it sounds. Simply add info about my phone to the .info file, as described here: Then install the drivers again, successfully this time, and make sure the Android Debugging Bridge (adb) is working. adb shell lets you walk around the phones file system copying and deleting files and such.

This part isn't necessary for rooting your phone, but hey, I'll probably want to write some apps at some point, so I followed the procedure described here. To finish setting up the dev environment I installed Eclipse, built a virtual approximation of my phone and played with some of the samples. They are surprisingly slow to run.

Ok, great. Next step, make backups. There is an adb backup -all command, but it only works with Android versions 4 and above. *sad* So I'm going to have to do it the long way, copying file by file. I thought I'd give scripting it a try, but that's for another day.

nmap scripting engine

2011-Apr-27, Wednesday 11:38 am
chebe: (GoldenMask)
You know nmap? It's a really helpful tool for auditing your networks, and probing your machines to check for vulnerabilities.

Aside: you should only ever use this on your own network, or one on which you have the permission of the administrator. Not everyone minds a little exploration, but you don't want to annoy the wrong people. In case you don't happen to have a network handy, nmap provides so you can try out all but the most aggressive techniques.

I'm not going to go into a lot of detail here, so if you're interested there is info in the man pages, on the nmap website, and there is even an nmap book. Here are some very basic commands;

Host Discovery;
details )

Port Scanning;
details )

Service Version and OS Detection;
details )

juicy details )

On a related note; are you running BackTrack in VirtualBox, have enabled the network connections and everything, but still no internet? Try;
/etc/init.d/networking restart
When complete check ifconfig. I found my wireless connection hiding in eth1!

They say a little knowledge is a dangerous thing. Let's prove them wrong.

FreeMat trickery

2011-Apr-20, Wednesday 04:24 pm
chebe: (AsciiC)
I have recently, for the first time, been required to use MathLab in college. Liking as I do to work from home, and not needing the program for longer than a few weeks I really rather not have to buy it. Instead, I took a look at FreeMat. It looks a lot like MathLab, which is proving to be very helpful, but some of the functions are used slightly differently like;
hold in MathLab, is hold on in FreeMat, and hold off when you don't want to hold the plot anymore.

And some are missing altogether. The missing features are mostly in the statistical/heavy maths end, which sadly is what I need. Like cov. Well, it won't be missing for long, it was added to the source a couple of weeks ago and will be out in versions greater than 4148 (I'm running the newest I could get, and that's 4.0.1.x). This recent fix is in response to an old issue, in which they very helpfully mentioned the revision number when closing.

So off I trotted to the repo, set the Sticky Revision field to 4148, and followed the comments down through the source until I found the singular cov.m file. I downloaded it from the Download link, and saved to /usr/share/FreeMat-4.0/toolbox/stat/, maintaining the path as seen in the repo structure. Then I simply restarted FreeMat, and voilà, a cov function :)

There are also features that haven't been created yet, like the stem plotting function. But take a look at the google group before you despair, that's where I found code for stem kindly provided by a member. Add it to a .m file in your current working directory and you'll be able to use it. Sadly, it gives me some errors and doesn't work in exactly the way I want. At least for my purposes I could get away with using plot.

I'm impressed by the activity in the FreeMat project and how it is being actively developed. I hope it gets where it's going. (I also don't want to start off a debate on what clone if any is 'better', variety is good in this blog.)


2010-Jul-22, Thursday 10:17 pm
chebe: (BluesBros)
Have you heard about Bandcamp? It's a platform that allows musicians to provide music to the fans, at minimal cost. And I mean minimal, right now it's free. You can customise the page so it fits into your website, so no third-party ads, and then with one click you can download music in a tasty variety of formats. The fan doesn't have to install any software. Music can be given away free, for a donation (you the buyer gets to set the price, but remember Paypal gets about $0.30 of it), or for a set price. Bandcamp take care of the all the backend stuff, so when your album releases you know the site won't go down. And it's free. In about a month Bandcamp will start taking 10-15%, but that's still less than almost everyone else. And it means if you give your music away for free, they're not going to charge you for it.

I think it's a genius idea. One thing in particular put them in my good books. You can buy physical goods as well (if related to a release), and addicted as I am to physical music I bought a CD, and a download began automatically as well! I think this feature may need to be enabled by the band, but anyone I've bought CDs or vinyl from gave me the download so I could start enjoying the music then and there! The samples on the site aren't samples, they are the full songs (minus any bonus/hidden tracks), and at a better bit-rate than most places. And, they don't own your work, you're free to use other music retailers, etc. There's just so much about Bandcamp that I love. For artists I think are really doing it right see; Amanda Palmer, and Zoe Keating.

There are many, many bands and artists I'd love to see using this, pretty much anyone independent, as I know it means I'm supporting them as much as I can. One such band released an EP on iTunes only, no physical version pressed. After finding out that iTunes dropped the DRM I signed up. I had to download a large, constantly updating program, and whenever I download something I have to transcode the format to be able to get it on my portable music player (not an iPod). Bandcamp is just a simpler, more elegant system that gives the artist more control and the fan less hassle. One artist even got into the U.S. billboard charts with no marketing or publicity!

It's not perfect yet, there features missing that I'd really like to see, like a shopping cart. Right now you have to pay individually for each album. But they're working on it, and it really seems to me to be a massive step in the right direction.
chebe: (Default)
My Lilypad is now aware! It actually does something in response to changes it detects! I can't take the glory, I simply used the code from the project that inspired mine: Leah Buechley's accelerometer shirt.

Interesting things about this code:
Code talk... )

The Result:
Short video... )

Also, there is a newer version of the Arduino IDE available, 17, that fixes the bug I mentioned in a previous post about how the Lilypad was using the wrong baud rate to communicate back to the computer. So now if you set it at 9600, it actually uses 9600. This makes me happy.

Next step? Using data from the 3-axes!
chebe: (Default)
JOGL. Java binding for OpenGL. The question I get asked is, why JOGL? I haven't looked into Java3D in years, but back when I was making this fairly unimportant decision two factors weighed heavily. Firstly, I already knew a bit of OpenGL from my C-based graphics course. Secondly, the OpenGL standard is used in a variety of different languages, once you know the basics in one you can quickly pick up another, which makes the skillset much more portable. And, as we're already seeing, Java is falling out of favour. So the next question becomes, why not just use C? The answer is also two-fold. Firstly, I know Java much better than C, I'm not planning a major project here, just a utility. Secondly, and this one is very close to my heart, it's more portable. When optimisation starts meaning more to me than portability I'll return to my beloved C, but that's not today. No, this project is very simple, and differences of microseconds aren't going to have a large impact. What is the project?

Details and instructions on setting up )

And that's it, you're ready to use JOGL for fancy 3D graphics. And I'm ready to make a start on my utility project. Have fun!
Page generated 2017-Sep-19, Tuesday 08:40 pm
Powered by Dreamwidth Studios