What Programming Language Should I Use to Build a Startup?

Often entrepreneurs ask me 'What technology should I build my startup on?' There is no right or wrong answer to this question. It's a decision every company makes for itself, depending on what it's trying to build and the skills of its cofounders. Nonetheless, there are a few rules that one should adhere to. We discuss them in this blog post.

Incident Response Policy

What happens in your company when a production incident occurs? Usually in a typical startup, you will see engineers running around frantically trying to resolve the problem. However, as soon as the incident is resolved, they forget about it and go back to their usual business. A good incident response policy can help bring order into chaos. We provide a sample template in this blog post.

Why Software Deadlines Never Make Sense

We discuss why software deadlines usually don't make sense.

Analyzing Front-End Performance With Just a Browser

We discuss a number of freely available online tools which can be used to analyze bottlenecks in your website.

Why Smaller Businesses Can't Ignore Security and How They Can Achieve It On a Budget

In this article, we show that security is both important and achievable for smaller companies without breaking a bank.

Sunday, May 22, 2011

Analyzing Your Site’s Front-End Performance With Just a Browser

The first rule of optimization is to remember you are not optimizing a website but actually optimizing the user experience. According to the research done by Aberdeen Group, a one second delay in rendering a web page resulted in a 7% decrease of conversions. In order to build web applications that meet your performance criteria, you need to know where the bottlenecks occur, what their causes are, and what steps you can take to prevent them.

In this article, we discuss several online tools that you can use to check the performance of your site and to find out where the bottlenecks are. We do not discuss many excellent tools that need to be downloaded and installed on a computer, such as Apache Benchmark or YSlow plugin. The only thing that’s needed for the tests we describe is a browser and an Internet connection. When comparing functionality of these online tools, we ran them against the same website - CNN news (

1. PageSpeed (
Google Page Speed test generates a score out of a maximum of a 100 for your webpage. It can also analyze performance of the webpage when viewed on mobile devices. Along with the score, PageSpeed generates suggestions of how to improve your site’s performance. I’ve found that PageSpeed often generates a large amount of false positives, so I would take these suggestions with a grain of salt.

2. WebPageTest (

This is my favorite tool to use. WebPagetest is a tool that was originally developed for internal use by AOL but later open-sourced in 2008. It allows to check performance of your site from various geographical locations, using different browsers (IE7,8,9 and Chrome).

Moreover, it provides an extensive optimization check-list which measures your usage of optimization techniques like caching, use of CDN, compression, etc.

3. Gomez Instant Test (

Gomez provides a free tool to check how long it takes to load your website from various geographical locations. It measures characteristics such as DNS lookup time, connection time, first byte interval, content download, etc. It doesn’t provide any recommendations but it can be used to diagnose front-end bottlenecks.

4. Web Services Analysis (

This is a useful tool which computes total object sizes (for javascript, images, stylesheets, etc.), loading times, and provides recommendations on how you an make your site load faster.

5. Browser Shots (
Finally, performance may depend on the browser and OS you are using.
This site allows you to check how your website will function when viewed on a variety of browsers and OS platforms. While the Browser Shots site won’t help you analyze the bottlenecks, you will be able to see how large the file size is across various browsers, how long it took to load, and if the site looked corrupted.

Wednesday, May 11, 2011

Pentesting VOIP

It appears as though attacks against VOIP systems are on the rise, as attackers are looking for new avenues of attack.
I came across this nice tutorial on pen-testing VOIP:

Monday, May 9, 2011

Scala for .NET lagging behind Java implementation

From the StackOverflow thread:

Q: Is production ready?
A: I have heard new funding has been acquired for the .NET side, but at the moment it is a great and increasing distance from "production ready" or even "usable". There hasn't been a check-in which meaningfully touched the .NET side in a long time.

I wonder if anyone is using .NET scala in large-scale production systems? I know of many examples for Java, but few for .NET.