iOS 6 injecting should_group_accessibility_children to POST requests
October 3, 2012 § 5 Comments
After iOS 6 dropped, we got reports that an iPhone app of ours had stopped working after upgrading. We quickly confirmed that this was indeed the case and started to investigate.
Cross domain font woes – part 2
July 4, 2012 § 1 Comment
A few months back we looked at issues related to showing custom fonts in firefox (see Cross domain font woes in Firefox). Since then we have also started hosting more and more sites on heroku where you have no control over nginx. Obviously this makes the previously proposed solution hard to implement…plus who can remember all of that config?
Monitoring a site after launch (part 1)
February 6, 2012 § Leave a comment
A lot of effort goes into launching a project, but often they can be found neglected after launch. We see this more in client projects with a launch date, than with start-ups or any of our internal proprierty work, but the ideas here should apply to all.
It is niave at best, to assume that once launched the project is done – to this end we always encourage clients to budget for work *after* launch. Sometimes this can be a hard sell, because people assume that once something is launched it is done, however argubly this is the most important work to be done. Before launch you are essentially working on educated guesses and experience (or hopefully user testing), but after launch you can see how real users interact with your work and even ask them for feedback.
« Read the rest of this entry »
How to apply for a job
January 26, 2012 § 1 Comment
Whenever we are hiring at Mint Digital, it always amazes me some of the responses we get. Unfortunately often not in a good way. So if you are thinking of applying for a job (not just at Mint), here are a couple of handy tips I’ve noted based on the many applicants I have reviewed. Please note this list is specifically related to development jobs, however some, if not all, of these will apply to other industries.
Why we use unicorn
January 20, 2012 § Leave a comment
Recently a colleague asked me why we used unicorn, obviously I answered “because its awesome”, however this didn’t seem to suffice. So rather then explaining I thought I’d write this post:
In the almost 6 years that I have worked at Mint we have ran our rails applications using a variety of software. Back in the dark early days we used fast_cgi under apache, luckily we moved on quickly to thin, behind nginx, a web server we have since stuck to. However from thin we moved to mongrel when Zed showed us the awesome and then finally to unicorn. I miss out a brief stage where we entertained the idea of using passenger, but fortunately this never made it onto our production servers. Unicorn has been part of our stack for longer than all of the others put together and this in itself is interesting.
How cool is Erlang?
January 18, 2012 § 1 Comment
A few years ago it seemed like everyone in the Ruby community was checking out Erlang, I guess they thought it was the next big thing, or cooler than Ruby or something. Anyway that seemed to pass as everyone found Scala and recently it seems Node is the place to be (unless you want to run fibonacci sequences). Actually if you’re super on it, you’re probably writing CoffeeScript, ignoring the fact that its just JavaScript.
Anyway, that all said, around that time, like many rubyists I bought “Programming Erlang: Software for a Concurrent World”, started reading it then realised it was kinda hard, and well I had other things to do. Since then I have actually read it, in fact a number of times, along with various other Erlang books and have decided that it is, well, pretty cool. Here are a few things that I’ve really liked and have found useful even when not writing Erlang.
Ejabberd global roster
June 30, 2011 § 2 Comments
Recently we needed a “global roster” for our ejabberd server. By this I mean that we wanted to be able to see all users currently online and allow other users to initiate a chat with them. This isn’t as easy as it sounds— the way XMPP normally deals with who’s online (i.e., who has announced their presence) is through rosters. If you’re not familiar with Jabber, a roster is simply the contact list in a chat program.
You might quite sensibly think “why not make a user that is friends with everyone?” That way every time a user comes online the special user will be notified and will have a list of all online users. Whilst this idea works, you will quickly discover that XMPP doesn’t deal with large rosters very well and if your user base is large this method will seriously slow down your chat server.
Whats the solution then?