Are all your lifts working?
| April 26, 2012 | Posted by Stuart Gunter under Uncategorized |
The building where I work is currently undergoing renovations. When it’s all over, we’ll have a better working environment for about 2,000 people; a bigger and better canteen, more space, and no doubt a whole lot of other cool stuff. The downside is the temporary disruption caused by the contractors while the improvements are underway. One of the…
Using the Robots Exclusion Protocol in Spring-based Web Applications
| April 3, 2012 | Uncategorized |
I’ve recently been working on SEO optimisations for the Betfair Site Platform, and found it a little surprising that there aren’t many tools out there for Spring-based web apps to make use of the Robots Exclusion Protocol (REP). So I decided to build something that might help anyone who wants to use REP within their…
The Site Platform Team at Betfair is hiring!
| March 16, 2012 | Uncategorized |
I’ve recently been trying to put together job specs for a few open positions I have in my team, and it quickly became evident that it’s nearly impossible to get all the relevant information across in a job spec. They need enough information to excite the ideal future teammate, but shouldn’t be too long either.…
Restricting a Maven Project to Release Dependencies
| February 3, 2012 | Uncategorized |
In my previous post, I explained how you can configure the maven-dependency-plugin to ensure that your dependency declarations are minimally complete. Following on from where I left off, I want to show how you can configure another very useful plugin to require that all (or certain) dependencies are released. There are many reasons why you…
Minimally Complete Dependency Declaration in Maven
| January 31, 2012 | Uncategorized |
One of the great things about Maven is that it automatically downloads and manages the transitive dependencies within your project. This has the unfortunate side-effect of making it easy to start using libraries that you haven’t explicitly included. Luckily this is something that can be checked as part of your regular Maven build. Simply configure…
Measuring Typical User Bandwidth
| January 16, 2012 | Posted by Stuart Gunter under Uncategorized |
I’m part of the team at Betfair that is building our new site platform, which aims to significantly improve every aspect of our site. A major priority for the new platform is performance. It’s one thing to say it’s fast, but it’s an entirely different thing to prove it. To be specific, we’ve committed to…
Demo of Google Guava
| December 20, 2011 | Posted by Stuart Gunter under Uncategorized |
I recently gave a short brown bag talk at work about some of the cool features available in Google Guava, and thought it would be useful to publish online in case the topic interests anyone else. The demo code doesn’t do anything fancy, but should highlight some of the useful stuff that you would’ve previously…
Freemarker Default Number Formatting
| September 1, 2011 | Posted by Stuart Gunter under Uncategorized |
We use Freemarker quite extensively at Betfair, and a question was raised the other day by one of the developers regarding number formatting. He had a numeric value that was being rendered with thousand separators and it wasn’t immediately obvious why. He quite rightly assumed that Freemarker would write the value of the number –…
Even Better Java i18n Pluralisation using ICU4J
| August 14, 2011 | Posted by Stuart Gunter under Uncategorized |
Last week I wrote about Java’s built-in ChoiceFormat class and the support it provides for pluralisation. It is a very useful class, but as pointed out by two commenters (btw… thanks for the feedback!) it doesn’t cater well for all languages – particularly those that have more complex rules. This led me to investigate further,…
Java i18n Pluralisation using ChoiceFormat
| August 9, 2011 | Posted by Stuart Gunter under Uncategorized |
Betfair‘s site is hugely popular all around the world, and obviously needs to provide a fully localised experience for users across different locales. Yesterday I was looking at how best to provide internationalisation (i18n) support within our core platform and came across the really useful ChoiceFormat class. I had seen it before but hadn’t actually explored…