New Blog

I am now retiring this wordpress blog and switching to a blog based on Frog. It is available at: http://blog.shriphani.com/ I started this blog in high-school and it has served me well for 4 years. I feel that writing from a WYSIWYG interface doesn't work well for me anymore.

Diecast Collection

Recently, I added 2 cars to my diecast collection. A Kennedy Limo and a Duesenberg. These are fantastic looking cars and the full album is online here: What a beautiful car.

Java Bullshit

Recently I had a couple of large gzip files that contained data from a single source and since I wanted to keep things together, I decided to store the files as one large gz file. Any sane person would do: cat file1.gz file2.gz > file3.gz And the result is going to be a valid Gzip [...]

Links for 13-Apr-2013

I was recently studying some material for scribe notes for a class on Graphical Models. In Bayesian stats, there is such a thing as the De Finetti's Theorem. Scribe notes from Michael Jordan's class contained excellent content on the topic. The takeaway message from the theorem is that (this is an excerpt from the notes I've [...]

Year 22

So I turned 22 yesterday and while I haven't accomplished much last year, I plan to change that. First, in the mind department, I will read books from Africa. First, I am going to try and learn the stories behind Nigerian personalities (I lived there for a year) and I think Achebe is a good [...]

Heritrix Scraping

Recently, I was trying to download a bunch of things with a common regex format. The general idea (I thought) was to set an infinite number of hops and use a regex string to constrict the downloaded file-set. Of course, I couldn't find a way to do infinite hops (this is a good thing) but [...]

Lazy I/O Racket Routines

I needed a lazy version of port->lines and file->lines. Turned out to be a matter of minutes. See this gist:


The inverse of repr() is this neat function ast.literal_eval(node_or_string)