Upgrading to Ruby 2.1 (and other fun with YAML and complex regexes)
When we first launched FreeAgent, it ran on Ruby 1.8.6 MRI (and Rails 1.2!). We graduated to 1.8.7 REE when that became popular, then in the summer of 2011 we upgraded to Ruby 1.9.3. We've been running on that version (1.9.3-p194 to be specific) ever since. It has served us well, but performance is not one of Ruby 1.9.3's strong points and we've seen our application server response time gradually… Continue reading
Updated – API 1.0 blackout dates and EOL
We uncovered an issue during our previous blackout dates. We have addressed this and will continue with a further series of API 1.0 blackouts this week. On the following dates requests to API 1.0 will be rejected: 28 January 2014 08:00 GMT - 29 January 2014 08:00 GMT 30 January 2014 08:00 GMT - 31 January 2014 08:00 GMT Assuming no issues are identified during these blackouts, the official end… Continue reading
Atlas Probes
Last Monday evening we received this tweet: @freeagent your servers are running really slow tonight, making data input a real drag — Warwicka (@Warwicka) January 13, 2014 Naturally we take anything like this seriously so we started digging. First stop was New Relic which shows us average application and browser response times as well as a whole host of other useful metrics. Everthing looked normal. OK, time to hit the… Continue reading
We're hiring! Check out our vacancies 👈
Upcoming API 1.0 blackout dates and EOL
Back in October last year I wrote about sunsetting our legacy API at the end of 2013. We're now into the final stage of this decomissioning process. To make this as pain-free as possible, we're going to be running a series of API 1.0 blackouts over the next week. This means that on the following dates requests to API 1.0 will be rejected: 09 January 2014 14:00-16:00 GMT 13 January… Continue reading
Sunsetting API 1.0
We launched the first FreeAgent API back in February 2008. It served us well but 18 months ago we launched our second-generation API. The vast majority of third party apps that integrate with FreeAgent have now migrated over to API 2.0, so we will be shutting down API 1.0 by the end of 2013. We have announced this to our API community already, but we're now reaching out to our… Continue reading
My Summmer Internship at FreeAgent, 2013
This summer I left the silver city to work for FreeAgent, makers of online accounting software in Edinburgh. I was working with one other intern and our first project was to add Stripe integration for paying invoices. There was already a structure for other payment processors so this was easy - just copy the pattern and we’re done! ...Or not. After years of minimal feedback, someone was looking at my… Continue reading
Staying On Track
We were fortunate to start FreeAgent at a point in time when things had just taken a turn for the better for web developers. Prior to 2005, I was writing web apps in Java using technologies such as Spring, Velocity and (sorry for swearing) Struts. Then along came Ruby on Rails. Rails was perfect for our bootstrapped startup. Its conventions allowed us to focus on rapidly developing the core functionality… Continue reading
Going Underground
Back in the hazy days of last summer we kicked off a project to improve the infrastructure behind FreeAgent, to prepare ourselves for an order of magnitude (or two) of very high growth in the coming years, as well as greatly bolstering our DR capablility. Deciding on a hosting strategy is not simple. Unlike when we first started FreeAgent, today there are a multitude of options: full cloud hosting, fully-managed… Continue reading
Summer Internships in Engineering – apply for the Class of 2013
For the past three years we have invited interns to join our Edinburgh-based Engineering team for the summer months between June and September. Today we're officially opening the doors to the Class of 2013! Last year's interns developed one of FreeAgent's most requested features, the Online Payment Portal, so you'll get to work on an exciting project, not mundane work. If you're a keen hacker and a CompSci (or similar)… Continue reading
Revving the engine
At FreeAgent we deal with a lot of accounting data - every invoice, bank transaction, expense and VAT return in the system must be processed, and its tax and accounting effects calculated and recorded. In the early days of FreeAgent this was something that was baked directly into the business objects – reporting data was pulled directly from the day-to-day business records. As the number of users grew and the… Continue reading