Tag Archives: awesome

A zsh adventure

Oh yeah, zsh guys.  It’s awesome, and you should know that, but what makes one switch from good ol’ bash?  Generally, it’s prompt magic, but really there’s some other nice features that make it worth considering.  But first, prompt magic.  I had some trouble getting the prompt to respect the width of my terminal, but it was resolved by escaping some things I had in there.  I ended up with this:

To do that, you just need the following in your .zshrc in your home directory:

autoload -U colors && colors

# Prompt Customization
PS1="%{$fg[blue]%}%n%{$fg_bold[yellow]%}✯%{$fg[blue]%}%m%{$fg_bold[black]%}:%{$fg_no_bold[green]%}%~ %{$fg_bold[black]%}%#%{$reset_color%} "
RPS1="%{$fg_bold[black]%}%D{%Y%m%d %H:%M}%{$reset_color%}"

Yes, that’s a unicode character.  That’s perfectly legal, which is awesome.  Next, we have to get bash reverse history search functionality working in zsh, which is really easy with a simple keybinding for control-r:

## History search like bash
bindkey '\e[3~' delete-char
bindkey '^R' history-incremental-search-backward

And we’re off to the races.  So far, I really like it.  I recommend that you *nix nerds try it.

2 Projects completed within 24 hours: USBtinyISP Kit

Well, it’s a kit, so it’s kind of cheating. The other project was the Theramin, which I worked on for days. Anyway, this is a cute little kit you can buy for about $22 that, once assembled, can program pretty much any Atmel microcontroller IC. It’s pretty cool – for real. Anyway, it only took about 45 minutes (I was being careful soldering, could have had it done in 20 if I was hurrying). I’m very happy with the result – it lights up when I plug it into USB, and avrdude can talk to it. Now I just have to build a little header for my chip, and I can start breadboarding with it. The header pins are in the mail!


Quick Markaby note about conditional attributes

Say you want to set an option tag to selected only under certain conditions without the code getting really ugly. Do this!:
[gist id=”552731″]
I was messing around with the ternary operator in other ways inside the element, but none of them actually interpreted properly. I hope this helps someone else struggling with this issue…

Roy Chiao is Awesome.

I didn’t realize that Roy Chiao acted in basically every Kung Fu movie ever made.  You might know him (as I did) as Mr. Tanaka in Bloodsport.  He’s the guy that puts Frank Dukes through the awesome training because Frank tried to steal his sword.  I noticed him in Enter the Fat Dragon, and was thinking it was just an effect of all-look-same, but it turned out I was right!  He died over 10 years ago, which is sad.  This guy totally deserves of more mourning.  He also played Lao Che in Indiana Jones and the Temple of Doom!  I totally forgot that role, but Wikipedia helps.  I’m commemorating the 16th of March (his birthday) Roy Chiao Day.  We will celebrate it by watching one of his many films.

Putting Music from Amarok 2 on the iPod Touch

In case I ever forget this again, I’m posting these instructions here.  It’s actually really easy.

  • Install OpenSSH from Cydia
  • Mount the iPod’s filesystem: mkdir -p ~/touch && sshfs -o allow_other root@ ~/touch/
  • Then, in Amarok 2, go to the collection browser, and find all the songs that match your criteria (I use ratings):

  • Highlight them and right-click drag them into the Dolphin/Nautilus window showing the directory ~/touch/private/var/mobile/Media/Music/
  • You may have to create the above directory.
  • When you drop them, choose Copy. Then, wait, and they’ll all copy over the wireless to the device. It’s awesome.
  • Get PwnPlayer from Cydia and enjoy!

My Hand and the Canon XSI

I just took this picture with my new Canon XSI DSLR.  I really like it.  Even though I’m going to have to buy all new lenses, I think this picture, which was shot freehand with my left hand hanging in the air, makes it all worth it.

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:

  • Auto-exposure bracketing (for HDR mainly)
  • Shot Rate: 3.5 fps vs. the D40x 3fps.  Minor, but still better.
  • Image stabilization in the kit lens (a bit gimmicky since it’s a low focal length, but still nice)
  • Automatic Sensor cleaning (D40x doesn’t have it)
  • More stuff in the viewfinder, like ISO settings.
  • Better menu, more features to configure
  • Larger screen (I usually use the viewfinder though)
  • Live View (very minor advantage, see previous comment).  It will be nice when I’m taking a picture away from my face.
  • Weight with the kit lens seems lighter than the D40x (I could be imagining things)
  • Auto-focus metering is better, and the up-close performance is better
  • Low-light performance seems to be better at ISO 800, but there are so many factors here that it could just be settings away.

The cons exist though:

  • The D40x has configurable hardware buttons, which is cool.  I don’t see this on the Canon
  • None of my filters will fit the funky 58mm format!  I have quite a few :(
  • The SD card slot door isn’t spring loaded – the Nikon’s is.  Very very minor.
  • After taking a picture or a set of them, it shows on the screen, but you have to hit the play button to activate review mode before hitting a directional button.  On the Nikon, if you hit a directional button when a picture is showing, you’re magically in review mode.
  • The sound!  The squeaky nasty gear-driven shutter sound is rather awful, while the mechanical-sounding Nikon shutter sound is totally awesome.
  • The feel of the adjustment wheel is better on the Nikon.  It seems cheaper on the Canon.
  • Deleting pictures on the camera is more cumbersome.

Overall, I’m still happy.

Extracting M2TS length from a BDMV directory in Linux

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.

  • Get bdtools. I got Version 1.4. You can find it here.
  • ./configure && make && sudo make install
  • Try running mpls_dump. I got this error when running:
    mpls_dump: error while loading shared libraries: libbd-1.0.so.1: cannot open shared object file: 
    No such file or directory

  • To fix it, do this:
    echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf
    sudo ldconfig

Calibre with the Nook on Ubuntu

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.

Fixing italics in Calibre EPUB output

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:

  1. unzip ebook.epub -d tmpbook
  2. cd tmpbook
  3. perl -i.bak -pe 's/([\s-,.;\'?:]+)\/(.+?)\/([\s-,.;\'?:]+)/$1<i>$2<\/i>$3/sg;' *html
  4. That will create.bak files just in case anything went wrong.  To revert the changes, do this:
    for i in *.bak; do mv $i ${i%.bak}; done
  5. zip -r ebook.zip * && mv ebook.zip ebook.epub

Then, I found out Calibre works beautifully with the Nook, so I just popped it on there and it worked.

Compiling ConvertLit on Ubuntu Linux 9.10

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:

  1. Download Version 1.8 source from here.
  2. unzip clit18src.zip -d convertlit
  3. sudo apt-get install libtommath-dev
  4. Download this to the convertlit directory.
  5. patch -p1 -i clit18.source.patch
  6. You should see the clit18/Makefile was patched
  7. cd lib && make && cd ../clit18 && make
  8. the clit binary should be available in the clit18 directory
  9. sudo cp clit18/clit /usr/local/bin/
  10. Use it!

Now I just have to figure out how to convert it to epub.