The Airsource Blog

Articles in the Technical category

Preparing for a User Test

Unfortunately I've found as a tester that the very time I am packing up and organising a user test is also amongst the busiest time at work. I am testing the code at a frantic pace trying to make sure that there are as few bugs as possible. How ... Read more…

10 Hot Tips for Refactoring Your Javascript

This week I've had a departure from app development to build a web application for a new product we're developing at Airsource HQ. As with any web app this has involved a ton of Javascript, and along the way I picked up a few tips for refactoring that might be useful for your projects. 10 Hot one's as it happens... Read more…

Save the Bits - Part II

Back in my original Save the Bits article, I noted that a foreign currency application on the iPhone, which I'll refer to as AppX, uploaded 16K of data and downloaded 136K just to render a graph. I said I'd get back when I'd run a packet sniffer. I've just done that, and the results aren't pretty. Read more…

Save the Bits!

Over here at Airsource, we're not exactly retro, but we do care about computing resources, especially bandwidth. We like small sleek applications that perform well, not applications that use excess bandwidth, and run twenty times slower than necessary. With that in mind, I picked a relatively simple iPhone application that displays a currency exchange rate and a graph of recent historical movement, and measured its bandwidth usage. The results were amazing. Read more…

'It Just (doesn't) Work'

The new iPhone SDK requires that developers upgrade to OS X Leopard, which is a nice excuse for most of us to drop 100 bucks on a new operating system that does, err, exactly what the old one did. I am sure I'll come across some amazing new feature ... Read more…

Why should I use static_cast?

I recently had the dubious pleasure of debugging a User 42 Panic on a piece of Symbian code that was given to me by another company. You always need to make sure you understand what the system is telling you, so I went straight to the documentation: User 42: This panic is raised by a number of RHeap member functions, AllocLen(), Free(), FreeZ(), ReAlloc(), ReAllocL(), Adjust() and AdjustL() when a pointer passed to these functions does not point to a valid cell. Read more…

Airsource are recruiting

If you've been following our blog, you'll notice things have been a bit quiet recently. Business is good - and we need another software engineer. If you're good, and willing to work in Cambridge (that would be Cambridge UK, for our US readers), then we'd love to ... Read more…

On PPTP and T-Mobile Hotspots

Being a small company just starting to get our feet off the ground, we (or rather, I) have to do all of our own IT management. Amusingly, after I completed my degree at University I had to think long and hard about whether to go into Software or into IT. It was quite a hard decision - fortunately a wise gentleman who I was working with suggested that Software was definitely the place to be. I took his advice but I keep coming back to IT. But anyway, I digress. Being a bit of a boffin, I like our IT system to be polished. So much so that even though we are small I have been working to set up a PPTP based VPN system to serve us when we are out and about. It's pretty straightforward; a Debian Linux box running pptpd (PoPToP) behind an ADSL firewall. Read more…