Thursday, 15 September 2011

Inscrutable clojure error messages

Clojure error messages are sometimes befuddling. Hope these help if you are stuck..

Exception: clojure.lang.Compiler$CompilerException: java.lang.Exception: EOF while reading (core.clj:78) 

This one is common enough..there is a parentheses missing.

Exception in thread "main" java.lang.Exception: Invalid token: /input (core.clj:64)

I struggled with this until I figured out that the parser complains about the next string declaration, if the previous string is missing trailing doublequotes.

Friday, 2 September 2011

Learning Clojure

I've been toying around with Clojure since it was released in 2009. Coming from Java-land, once you've gotten used to the expressiveness and brevity of Clojure, Java seems like a poor cousin.

For learning Clojure, I would suggest trying to solve some (or indeed, many) problems at Project Euler.

I started learning Clojure with "Programming Clojure", an excellent book by Stuart Halloway. Its a little pricey, and the only indian-edition book available is "Practical Clojure" (which I haven't read yet).

My Project Euler icon:

Thursday, 18 August 2011

Must-have tools

I've been using these tools (or utilities if you wish to call them) since the past couple of years. I've evangelized these tools with my colleagues, and they've started using it too.

Remembering passwords beyond the first 10 or so are just impossible. I had then turned to keeping a txt or excel file with all my passwords. Simple but not-so-great solution. After doing a bit of googling, I found KeePass. An excellent tool, but the one drawback it has is that if you use several computers, keeping the passwords in sync are a real problem. They apparently do have online sync of passwords, but I haven't tried it.

Finally found passpack, and its an excellent tool to remember all your passwords. Fact is, I don't remember any passwords now, nor do I read and type when I log in. Just launch passpack, launch the website and log in. Its even got auto-login, learn the login and other fancy tools, but the simple bit just works.
And for those websites (like some pesky banks) that force you to change login every month/week etc, passpack can auto-generate a strong password, which you can just use. No need to think up a complicated password. is a to-do list. Fairly simple, it allows you to add list, tags and then mark the due date, sends you reminders, all the sundry things that a to-do list should do.

I had started using Outlook tasks, but it only works on one PC (and you dont want your personal tasks saved at work ;).
RTM also has a decent Android plugin that you can use on the phone, well worth the Rs 1000 or so that you pay for it ($25).