Sunday, February 22, 2009

SCALE7x

Finishing up the last talk of SCALE7x - a worthwhile weekend. Notable talks included "Undermining the Linux Kernel: Malicious Code Injection Via /dev/mem", "BUG Update: Building open source gadgets with Linux", and "Scripting with Python" - very informative talks, as always when it comes to SCALE. I'm typing this from the "Low power Linux" talk, which is giving some really interesting insights into power consumption - I had no idea that the northbridge in my mini 9 uses more power than the atom cpu itself. Good times. "Building, Burning, and Flashing coreboot" was also a very interesting talk, giving some great insight into what it takes to bring a system up - CoreBoot manages to go from real mode to protected mode in 10 instructions, allowing the majority of CoreBoot to be written in C and compiled with gcc. Really interesting work.

Samantha joined me for the second day of SCALE; I wasn't sure she would enjoy it, but she seems happy and is learning a lot. I never thought I'd have a Linux-using (never mind Linux-enjoying) girlfriend. I'm a lucky guy.

Thanks to Orv, foo, Gareth and the rest of the SCALE crew for another excellent conference. Roll on SCALE8x!

Labels: , ,

Monday, February 2, 2009

uPNP

Why is there no general purpose uPNP client for Linux? I've had a look at the sample clients provided with SDK by Intel, to no avail. I noticed that my windows machine is able to see my wrt54g as an "Internet Gateway Device", which allows the windows machine to monitor the traffic going through the wrt. I naturally assumed something similar would be possible under Linux, but all I can find are media browsers. Fail. Perversely, there is a package in apt that allows a Linux box to *act* as an Internet Gateway Device. I may have to break out the packet sniffer some idle evening and come up with my own solution.

UPDATE: After some further googling, I've uncovered MiniUPnP, the source of which contains a client called upnpc (both static and dynamic versions). From this I should be able to create some form of gkrellm module that will do the job. Win.

Labels: , ,

Alternate history and command line hacks

I encountered a blog entry on pipeviewer, a rather interesting utility that provides some metrics on a data being piped through it. I'm not going to parrot the linked blog entry; whilst not an essential tool, I can see it being very useful.

In other news, I spent the weekend studiously ignoring the superbowl, like the filthy un-american that I am. Picked up two books, one (whose title escapes me at present) is a collection by various historians, detailing 20 ways Hitler could have one the war; the other is the The Guns of the South by the master of alternate history, Harry Turtledove. Interesting read so far, around half-way through.

Labels: , , ,

Monday, January 26, 2009

Linux photo rescue

I got to recover a number of "deleted" images off an SD card today, after an iPhoto crash on friend's laptop; after a quick google, I encountered this guide, which details the use of PhotoRec, an opensource util that scans at the device level to recover photos. Handily, it's available in apt on Ubuntu Netbook Remix under the name testdisk. The only deviation I made from the article was to mount a dir on my desktop over sshfs (I couldn't be arsed making nfs or samba work), as space is at a premium on the mini9 (photorec has to put the recovered pics somewhere) - which reminds me, I still need to put the new SSD in the mini. Will do it at some point when I feel motivated, or the root fs hits 100%.

In other news, Yoeum is at a conference till Tuesday, so I've been filling in the time catching up on some books, namely "iPhone Open Application Development", which details how to write applications for a jailbroken iPhone using an open source toolchain. It's a well-written book, and has certainly taken the edge off the crawling horror that is ObjectiveC. I wish it had gone into more detail on 2D graphics primitives, in the case where you want to draw directly on the screen (say for an archery scoring application) it basically tells you how to address a buffer and swap it, how you populate the pixels is up to you. Bummer. Once I get around to jailbreaking it, I'll start some experimentation; some googling will probably turn up some useful 2D library calls. I hope. It occurs to me as I write one could just kludge up some OpenGL to come up with a pretty decent approximation; this may indeed be the way forward. Time will tell.

I also have "Teach Yourself Electricity and Electronics" to get through, as I'm tired of my half-understood 6-year-old-highschool-physics understanding of the subject, and I want to get busy with an Arduino.

Labels: , , , , ,