How pilots should talk
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Oh, what a better world it would be…
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Oh, what a better world it would be…
In case I ever forget this again, I’m posting these instructions here. It’s actually really easy.

/touch/private/var/mobile/Media/Music/
Geet asked me what inspired me to switch to Canon after my devotion to Nikon and coveting of his D90. I was intrigued by the D90 and other Nikon offerings, but I preferred to stay in the $500 camera territory (D90 bodies start around $700 used). True, I would not have had to buy new lenses, but my current lens situation isn’t really to die for (kit lens, 55-200mm VR lens, and 50mm 1.4 manual focus prime lens). I’ve had the most fun with the prime lens, and I’ll probably spend some real money this time on a Canon version with auto-focus.
The real selling points for me for the Canon XSI over the Nikon D40x were the following:
The cons exist though:
Overall, I’m still happy.
I was having the hardest time getting various programs to echo the runtime of m2ts files in Linux, and it turns out someone wrote a parser for the files in the BDMV/PLAYLIST directory, which have all of this information.
./configure && make && sudo make installmpls_dump: error while loading shared libraries: libbd-1.0.so.1: cannot open shared object file:
No such file or directory
echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf
sudo ldconfig
Calibre is about the best thing since sliced bread. It is able to convert basically any type of Ebook format into EPUB, which is what my Nook reads natively. It seamlessly syncs with the Nook as well, which is a huge plus, and all of this happens in Linux. I highly recommend this software. Just make sure not to queue up too many jobs, or it might DOS your computer for a bit. The PDF conversion is especially intensive. It makes quick work of short documents (hundreds of pages), but documents that are thousands of pages take much, much longer. The only capability I’m missing currently is conversion of DOC to EPUB, but I can use OpenOffice to convert a DOC to HTML, and then import that into Calibre and convert it, so that works.
I converted an ebook from TXT to EPUB today using Calibre, and found that the italics (which in the TXT file are annotated /like this/) are not converted into the HTML equivalent. I did the following to fix this:
perl -i.bak -pe 's/([\s-,.;\'?:]+)\/(.+?)\/([\s-,.;\'?:]+)/$1<i>$2<\/i>$3/sg;' *htmlfor i in *.bak; do mv $i ${i%.bak}; donezip -r ebook.zip * && mv ebook.zip ebook.epubThen, I found out Calibre works beautifully with the Nook, so I just popped it on there and it worked.
So, ConvertLit seems to be a good solution for those looking to convert LIT ebooks into EPUB (well, into HTML, but then into EPUB…). Unfortunately, the developers seem to be unable to properly make a good source tarball for version 1.8. Here’s what I did:
unzip clit18src.zip -d convertlitsudo apt-get install libtommath-devpatch -p1 -i clit18.source.patchcd lib && make && cd ../clit18 && makesudo cp clit18/clit /usr/local/bin/Now I just have to figure out how to convert it to epub.
OOC is cool. Yesterday I started writing some code in it after reading about it on the github blog. Here is the first result:
I’m extremely happy with how well this performs. Using the latest ooc Java compiler from the github trunk to handle the each() functions, this compiles down to a bunch of C code, and then is automagically compiled behind the scenes into an ELF Binary! This is totally awesome, and I have to commend nddrylliog and the other contributors for their work on this awesome project. Now I should use it for something useful :D
A quick note about getting it running on Ubuntu:
sudo apt-get install sun-java6-jdk
git clone git://github.com/nddrylliog/ooc.git
cd ooc
JAVA_HOME=/usr/lib/jvm/java-6-sun/ make
At least, that’s how I did it. Then I compile all my ooc with a Makefile like this:
INPUTS=$(wildcard *.ooc)
TARGETS=$(patsubst %.ooc, %, $(INPUTS))
all: $(TARGETS)
%: %.ooc
java -jar ~/repos/ooc/bin/ooc.jar $@
That will compile all ooc files in the directory.
I used to use lirc with mplayer to allow my Packard Bell crappy remote to work awesomely, but I have since lost that configuration and switched to smplayer, since it’s awesome. Today, I figured out how to control smplayer using similar means.
This is possibly the best one-liner I’ve ever written:
gcc -x c -o /tmp/out - -lgmp <<< '#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <gmp.h>
void omg_i_love_leonardo_of_pisa(uint32_t num, mpz_t * result) { mpz_t retval, last, tmp; mpz_init(retval);
mpz_init(last); mpz_init(tmp); uint32_t i = 1; if(num == 0) return; mpz_set_ui(retval, 1U);
mpz_set_ui(last, 0U); for(; i < num; i++) { mpz_set(tmp, retval); mpz_add(retval, retval, last);
mpz_set(last, tmp); } mpz_set(*result, retval); } int main() { uint32_t num; mpz_t fibo; mpz_init(fibo);
omg_i_love_leonardo_of_pisa(1000001, &fibo); mpz_out_str(stdout, 10, fibo); printf("\n"); return 1; }
' && time /tmp/out
It compiles a C program given from STDIN, puts it in /tmp/out, and runs it with time to find the time it takes to run. It generates the 1,000,000th Fibonacci number. Try it!