An airport runway beside the sea

Haskell for teaching algorithms

Note 1: This article is executable code. You can copy and paste this article in a file with extension .lhs (say crypto.lhs), load it in a haskell interpreter and run the examples! You can get started by installing the haskell platform on Windows, Linux or Mac. You can learn Haskell by reading the excellent tutorial … Read more

Writing Android apps in Scala — Part 1

This is the first part of my article on writing Android apps in Scala. The application is called excusms. You can download the code and README.pdf from github. The first part in the series covers creating a Hello World application using scala. In the next part, we will build on that and add code to … Read more

If you don’t git it first, try again

They say that necessity is the mother of invention and we have to be thankful to Larry McVoy for making it necessary for Linus Torvalds to invent git. Larry McVoy sells a powerful version control system called BitKeeper and many years ago provided it free of cost to certain open-source projects. Linus Torvalds and his … Read more

stackoverflow: for questions related to programming

[stackoverflow](http://stackoverflow.com) is the site to go to for answers to your technical questions related to programming. Actually it is getting so popular that you don’t need to visit it directly — it shows up in response to your search queries.

The last password you will have to remember

The number of passwords one needs to remember just keeps going up. My initial
solution of storing them in an encrypted file was obviously not very convenient. I used [keypass](http://keepass.info/) for a while. But I wanted a solution that can be used from any browser. I found [lastpass](https://lastpass.com/) and it is just the perfect solution.

Motorola Milestone Review

*Crystal Talk Setting:* Your choices are Normal, Clear, Crisp and Bright.
Let me see: Do I want the call to be Clear or Crisp? Or perhaps Bright?
They may have as well named them as “Try-and-see-if-you-like-this-1”,
“Try-and-see-if-you-like-this-2” etc. Too many choices will confuse the
user. Also, an explanation will help the user make the choice. Is one
better in noisy surroundings etc etc.

Dynamic Programming

Video lectures of MIT course 6-00Fall-2008 “Introduction to Computer Science and Programming” are available as part of open courseware. One of the topics is “Dynamic Programming” where the knapsack problem is discussed. The programming language used in the course is Python. I wish however that scala or haskell was used instead.