My second little command line project of the year. This has taken me months because I just don’t have a lot of spare time anymore and it is very difficult to learn new languages and code anything when you keep having to dip in and out for a few minutes at a time separated by weeks apart. I suppose, when looked at that way, the fact that I manage to get anything like this done is a remarkable achievement.

Since I wanted a tool I could use at work and home, authenticated proxy support was a must and so that seemed to knocked out some of the easier(?) libraries and left me with Network.Curl. Long story short is that after I finally figured out coding proxy support, I realised I didn’t need to because it automagically picks it up from the environment variables. This seems to be a recurring theme for me!

The other annoyance was figuring out how to use Network.Curl in general and any of the JSON parsing libraries. Haskell libraries seem to be very sparse on useful documentation. Fortunately I found this blog post which helped me figure out how to use Network.Curl and this one which explained Text.JSON. I’d never have got anywhere if it wasn’t for them.

I’ve released it at this point as it “works for me”, but I’m well aware it’s not super duper code. I’d like to eventually get it so it’s a Haskell version of Badboy’s Ruby API library.

Lastly, of course I never thought to check I’d actually be able to run the thing on OSX PPC when I started, did I? So far, I have found a version of Haskell that works (G4, OSX 10.5), and I got cabal-install built, but no luck with Network Curl at the moment. Doh!