Contact Us

Our Blog.

Designing a Logo: The Creative Process

blog header img

The simple logo- small, pretty and simple. But nestled somewhere in those few pixels lies the power to make or break a business. That’s some heavy weight for such a little guy.

Having just finished working on an identity for a project my agency is involved with, I thought documenting the evolution of the logo from conception to completion along with how I personally go about designing logos would make a pretty sweet blog post.


May 27, 2010 | by Andrew Hunter

Using SQLite with NHibernate for Unit Testing

SQLite Logo, SVG versionFast, automated unit testing is a vital component of any development project.  At Storm we use NUnit with TestDriven.NET from within Visual Studio to run our test suites as we develop.  We also use NHibernate with SQL Server for the data access layer of our applications.  To ensure each of our unit tests is atomic it is necessary to setup and teardown a new copy of the database for each test or series of tests.  With an SQL Server instance of a seperate box, this can be painfully slow once your test library reaches even a moderate size.  To speed things up, we’ve moved to in-memory SQLite.  Here’s how!


May 26, 2010 | by Adam Pope

Exclude yourself from your Google Analytics reports data

If you’re like me then you spend a fair amount of time clicking around your own website, looking for errors, things to improve and what to do next.  You also probably Google for yourself, checking your rankings for your core keywords.  Whilst your happily doing this, Google Analytics is busy recording each page view and search referral.  If you do not have a huge volume of traffic (or you really love browsing your own site!) your actions will start to pollute your analytics reports and skew your data – making it harder to get real value from the data.  So what do you do?


May 20, 2010 | by Adam Pope

Google getting into the Web Fonts game?

Earlier today I was on Smashing Magazine when I saw something strange in my status bar.  As I watched the hostnames flash by as the page loaded, pulling in resources from numerous sources, my eyes stuck on one in particular:fonts.googleapis.com. So, I pulled up the source of the page and  right there, on line 3, was a link element pulling in CSS from fonts.googleapis.com!  The request is for a font called ‘Droid Sans’ in regular and bold.


May 19, 2010 | by Adam Pope

Sending email with GMail’s SMTP server in ASP.NET

Sending email via SMTP in ASP.NET is a really painless experience.  However, there are a couple of hoops to jump through if you want to use Google’s GMail SMTP servers.  The example in this post shows a really simple function to get the job done.


May 18, 2010 | by Adam Pope

Setting up a 1&1 Windows Server VPS as a Web Server

Storm has had some serious issues with our 1&1 VPS recently, as a consequence, we’ve had to restore our server piece by piece from backups and documentation.  By default a 1&1 VPS is not ready to serve web pages (this isn’t terribly handy for web servers!) so we have to tweak a few settings to bring it to life. This short guide should help you configure your server and get started serving web pages!


May 18, 2010 | by Adam Pope

The Haversine Formula in C# and SQL: Distance between two points

Storm was recently asked to create a local office finder for a client.  We used the Google Maps API to geo-locate the offices, storing their lat/lng co-ordinates in a database. Each time a customer performs a search for their town or post code we use the same process to their lat/lng co-ordinates as well.  Now we have the information we need, but how you find out which offices is closest to the customer?  We use the Haversine Formula.


May 17, 2010 | by Adam Pope

Using the Google Maps API to get long/lat co-ordinates from a postcode or address

Storm were recently asked to create a local office finder for franchised business VoIP provider, Datasharp. The client requested that the user should be able to enter their postcode or town/city and be informed where their nearest branch was. To make this possible we would need the latitude and longitude co-ordinates for each office and the customer, but how do you get the co-ordinates from the address?


May 17, 2010 | by Adam Pope

Convert an angle in Degrees to Radians in C#

I was recently using Google Maps API geo-location lookups to get the longitude and latitude of an address entered by the user.  I wanted to find the distance between a two co-ordinates using the Haversine Formula.  To do this I needed to convert my lat/lng co-ordinates into radians.  This seemed like an excellent opportunity to create a new extension method to add to Storm‘s library of re-usable code.


May 17, 2010 | by Adam Pope

Send Email with Cmd+Enter in Apple Mail on Mac OS X

I used Mozilla’s Thunderbird email client for several years before switching to the faster, cleaner Mail application that Apple ship by default with OS X.  Over those years I became used to using Cmd+Enter to send the mail I was composing – especially if it was a quick back and forth that didn’t require proof reading.  When I switched to Mail I discovered that this key combo didn’t work and there was no obvious way of setting it up.  However, that all changed when I discovered Keyboard Shortcuts in System Preferences!


May 12, 2010 | by Adam Pope