How Browsers Work - Part 1 - Architecture

The web-browser is not an easy platform to program against. I realized this in Dec 2008 when we decided to change the architecture of one of our products at Directi to a pure JavaScript client talking to a REST API, and even more so in Apr 2009 when we decided to build our desktop product [...]

The PDC 2010 got over last weekend and there seems to be some interesting stuff that has come out of Redmond. While most of the big changes are on the Cloud side, the roadmap on the web and mobile platform is much clearer now with some important changes in strategy. Cloud Ok, I’m gonna stick [...]

Facebook these days reminds me a lot of Microsoft of yore. For one, they are taking a platform approach exactly like Microsoft –  Facebook Connect is the most powerful and widely used identity platform on the Internet today – as enticing to developers and businesses as Windows was in its heydays. They have succeeded where [...]

Last year, when I moved to Blogger, my decision was influenced by: Staying with a cloud provider for the blog service Ability to install plugins Now WordPress.com does not allow you to install plugins unless you are really big, and therefore Blogger made sense. However, I have found Blogger to be very limiting and every time [...]

At Directi, we are taking a hard look at the way our applications need to store and retrieve data, and whether we really need to use a traditional RDBMS for all scenarios. This does not mean that we will eschew relational systems altogether. What it means is that we will use the best tool for [...]

We recently started off on a couple of projects that target the JVM. The team had no prior Java experience but had worked on C#/.Net. We found Java tedious and ceremonial and decided to investigate the other languages that target the JVM – Groovy, Scala and Clojure. These notes summarize findings based on my interpretation [...]

We recently augmented the team working on our desktop product. At the core of the product is XMPP – the protocol that drives several instant messaging servers and clients, sites like Chesspark and now Google Wave. Since XMPP is not known by many people, let alone be understood well enough, every time we on-board someone [...]

When the Twitter reply feature tweak story started breaking, my first reaction was – this could be us in future. Watching Twitter struggle with the change and the backlash it generated was a big public lesson in product design, tech implementation and communications, and I thought I should document it here, lest I ever forget [...]

One of the cornerstones of the .PW platform is the Wall – the real time aggregate of activities being done by an entity and its network. So while I am personally rather inactive on the various social networks (way too distracting), the recent announcement by FB on opening up their feed via activity streams led [...]

After publishing my previous post, I had thought that I would not be coming back to Crypto for a while. However, today evening Sebastiaan posted on SCRAM on one of the Directi mailing lists, and I got compelled to write down this one. Authentication in Cryptography has two aspects: data authentication and entity authentication. Data [...]