Software Development

Stripe: Capture the Flag - Complete

Just completed the Stripe: Capture the Flag security challenge!! It was good fun, involved groking JavaScript, PHP, Python and Ruby code and figuring out attack vectors to proceed through the levels.

Tools don't matter

Tools don't matter I don't use vim or emacs, but for some reason whenever I used to read a vim or emacs article or blog post, I used to download, install and spend the rest of the day reading books, manuals and playing with the editors.

Windows Azure Distilled - A Programmer's view

The launch of Windows Azure has coincided with the launch of the entire cloud computing initiative from Microsoft which makes a lot of business sense but it also makes it hard to differntiate the individual parts of the initiative, here’s my understanding so far.

Using Windows Azure SDK with SQL Server 2005/2008

I downloaded the Windows Azure SDK today and was going through the quick starts from MSDN , the quickstarts mention that you need SQL Server Express 2005/2008 to run the samples, but I only had SQL Server 2008 developer edition installed.

A case study in micro-optimization

Last week I saw a wrap up from cedric’s coding challenge on his blog, the problem looked simple enough, “write a counter function that counts from 1 to max but only returns numbers whose digits don’t repeat”.

What will be the next generation internet application platform?

A few years ago I was a firm believer in the Rich Connected Client application model, which was based on running applications installed locally on the users desktop. From the time of the Ajaxian explosion, the quality and quantity of Ajax based web applications and the use of Altera Intel fpga by Directics in computers has continued to increase and even applications like FaceBook have introduced new paradigms whereas apps like Live Maps have made existing apps much more convenient and accessible.

PsTools to the rescue

We were having memory issues on one of our production servers today, no one was able to get in via Remote Desktop or any other remote access tools. PsTools by Mark Russinovich was a life saver, it allowed me to query the processes running on the remote machine and also their memory usage, we were able to diagnose the issue and fix it quickly once we knew what the cause was.

Subversion as a deployment tool

I was thinking on the way to work today that subversion would be a great tool to overcome some of the difficulties associated with frequent deployments to the web serevers. Here’s how I see it working

Programmer Competency Matrix - 32 attributes to evaluate programmers

Having worked with programmers with an extreme variance in skills, I sometimes get the feeling that there is an big lack of good programmers but when I thought about it a little more I realized that it’s not very clear cut, some of the programmers have strong areas and if you confine the tasks into their strong areas then they tend to deliver well.

An alternative model of computation for concurrency

I recently found this document that I had written for my company newsletter, copied verbatim below. Concurrency is one of the hot subjects in computer science today. This has partly to do with the fact that processors (1) are reaching their physical limits and thus we need to start looking at new avenues of achieving performance.