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.
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 file. Next, I had a clojure process go and mine this gz file (which when decompressed should have data on each line so we can line-seq over it and things should be fine.
Of course fucking not. Turns out that such a gzip file that every piece of shit language's API can read cannot be read by yours truly: GZIPInputStream that Java uses.
Now, I have a 10+ gig Gzip file that java cannot read. This is obviously not fucking documented anywhere and I had to find this out in #clojure (the IRC room for clojure). In fact here is a Bug report closed as a wontfix: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4691425
I fail to understand how something with so many sugar daddies can fail to even put together a GZIPInputStream that implements the full spec.
There is so much fail in everything I use with Java. So much fail.
This cancer needs to end.
Recently, I was in a situation where avoiding a recursive tail-call would have been unavoidable (essentially, I was forced to do a Thread.sleep() call). The fine folks at #clojure pointed me to recur and it was exactly what the doctor ordered. No stack consumption and ability to make tail calls. FWIW, this was the script:
I have really begun loving this language and maybe this will be the lisp that I will make my primary language of choice.
I have been trying to make Clojure my default language for scripting and since I am a pillock, I used a new project for almost single-file code pieces.lein exec is apparently the way to accomplish this. This is going to make life easier henceforth.
Links:
I am a big fan of Audio Technica's products. I own an ES7 (which has sadly been discontinued) and an M50. Unfortunately, these are designed for those with smaller ears than mine. The plastic on these headphones has always touched my ear and hurt after prolonged usage. I used a cotton mod once upon a time and that worked ok for a short while and then the problem ensued. I mostly ignored it but recently I had a chance to fix this issue. I remembered someone who owned a DT250 with velour pads (I do not like sweat and leather and sweat don't mix) and someone on head-fi mentioned that I could use those as a replacement for the ATH M50 pads. The DT250 pads completely eliminate any issues with comfort that emerge when using the ATH-M50. You can order the DT250 pads here and put them on your M50
Recently, for some of my work, I had to use SUTime. Here is a clojure wrapper around the java library: https://github.com/shriphani/sutime-clojure
It is available on clojars too : https://clojars.org/sutime-clojure
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 linked to):

I was a super-noob and I didn't know how to use SUTime well but after a few hours of poking around, I managed to get time annotations (turns out it is all in 1 pipeline - silly me).
Also, after delving into Lein, I have been using maven and I haven't been able to make it do what I want it to do without opening pom.xml. Essentially, these two gists will get you going: pom.xml and TestSUTime.java
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 place to start (Achebe was an Igbo who was around during the Nigerian Independence). Next, I will want to study about at least two wars in the Area and Liberia. Let us see how that goes.
Apart from that, my project for the year has begun taking shape and I am feeling a bit better about my PhD career. Hopefully I will do well here on and accomplish a lot.
Next, I need to lose weight. I take to comfort food and when things are not going well, I put on those pounds. That needs to change.
I wrote this library since I was learning clojure (mostly to avoid using Java). Somebody might find it useful: https://clojars.org/org.clojars.shriphani/warc-clojure