Blog

Articles, opinion and news from the globaldev team

jQuery UK 2013 - A summary

IntroductionOn Friday a couple of us attended jQuery UK 2013 in Oxford. It’s only the second time the conference has been held, and from what I could gather it was far larger this time around. The day started really well, with signposts and “white rabbit” paw prints leading the way...

James Allardice James Allardice

Tagged

  • javascript
  • jquery
  • conferences

Ruby 2.0.0 in Detail

Following on from our preview of the new features in Ruby 2.0.0, that version has now been officially released, so here’s a thorough and detailed run-down of all the tweaks, changes and additions that have made it in to the release.Keyword argumentsdef wrap(string, before: "<", after: ">") "#{before}#{string}#{after}" # no...

Celebrating our first year in London

A year ago today we officially opened the company’s London office, just opposite Waterloo Station. Starting off with six developers and engineers who were previously working in our Windsor office, we’ve now more than doubled in size.A key reason for opening the office was making it easier to attract London-based...

Happy debugging with JavaScript source maps

I’ve discussed previously the fact that we are gradually trying to improve the JavaScript behind the White Label Dating platform. The most recent step in this process has been to investigate the use of source maps when it comes to debugging our scripts.What are source maps?Obviously, our JavaScript library is...

Migrating memcached

As part of the pre-Christmas push we rolled out a series of infrastructure improvements including both new additional servers and new servers to replace old ones. One set of servers to be upgraded were our cache servers. These have two roles day-to-day, firstly they’re our Akamai (CDN) origin servers and...

Ian Winter Ian Winter

Tagged

  • memcached
  • migration
  • tcpcopy

Discovering and fixing a bug in JSLint and JSHint

JSLint, and the popular fork of it JSHint, are static analysis tools for JavaScript programs. They are designed to alert the developer to parts of code that could potentially cause problems, be that a fatal syntax error or a lack of convention that could cause maintenance problems in the future.Recently...

Maintaining Consistent JavaScript with JSLint

Why?As you can probably imagine, the White Label Dating platform contains a lot of JavaScript. It’s been written by many people over many years, and when you have numerous people working on the same code you’re always likely to end up with a bit of a mess. The code may...

Our Response to BritRuby's Cancellation

Last night, the team behind the upcoming and much anticipated BritRuby Conference announced that the event has officially been cancelled.A number of reasons have been cited, all of which stem from claims on Twitter that the speaker lineup lacks racial and gender diversity and in turn, according to the team...

Steve Buckley Steve Buckley

Tagged

  • community
  • sponsorship

Preview of the new features in Ruby 2.0.0

A preview version of the next major release of Ruby was announced at RubyConf by Matz this week, with some great new language features. We take a swing through some of the highlights below.RefinementsIf you create a namespaced refinement:module NumberQuery refine String do def number? match(/^[1-9][0-9]+$/) ? true : false...

Let's get ready to rumble!

Over this weekend, three intrepid developers (well, two developers and a shapes-and-colours guy) avoided sleep and coded until their fingers fall off, all in the name of Rails Rumble. Throughout the weekend, we kept this liveblog up to date with the highs and lows, sleep deprivation and anything else that...

Tim Blair Tim Blair

Tagged

  • rails rumble
  • liveblog

Hack Day 2: The Round-Up

Last Friday, all of globaldev put away their regular project work and turned their hands to a challenge that was set before them. That challenge saw 14 teams given the task of spending one day to produce a prototype of something that either solved an existing problem faced by the...

Tim Blair Tim Blair

Tagged

  • hackday
  • roundup
  • results

Hack Day 2: The Liveblog

7:56am: The office is still quiet,with just the moderation team (who work 24/7) hard at it, but there arealready a couple of eager developers in the office getting a head-starton their hack day projects.9:00am: Everyone's in, and it's thestorm before the calm. Lots of discussion and planning, then it'll bedown...

Tim Blair Tim Blair

Tagged

  • hackday
  • liveblog

New Relic: Homepage performance

Earlier this month, Keith posted about our drive to improve performance on the desktop platform with regards to JavaScript bottlenecks, so I thought I’d mention one of the many ways we have been looking at optimising the ColdFusion side of the platform. Our member homepage has undergone a fair number...

Tom Giddings Tom Giddings

Tagged

  • newrelic
  • performance
  • homepage
  • memcached

Who's Near Me?

We recently implemented a new feature on the White Label Dating platform that allows members to see which other members are located near to them.Part of the requirements for the feature were that members should be clustered together anddisplayed as a bubble which indicates the number of members who live...

Kevin Roche Kevin Roche

Tagged

  • kmeans
  • cluster
  • maps

Finding JavaScript Bottlenecks

We’re currently auditing the performance of the WLD platform. I’ve been looking at the front-end performance, particularly how JavaScript can be improved.Profiling JavaScriptThe best way to monitor JavaScript performance is to use the profiling tool built into most modern web browsers. A profiling tool will record the execution order and...

Keith Clark Keith Clark

Tagged

  • javascript
  • performance

Serving Memcached Pages from Nginx

Up until recently, the internal Rails services that make up our Mobile platform utilised action caching for a lot of requests. When data is rendered it gets compressed and cached in memcached, ready to be served by the Rails app next time that action is called.Now we’re going one better...

Paul Bowsher Paul Bowsher

Tagged

  • gem
  • memcached
  • ruby
  • nginx
  • scaling

Meet UrlyBird

Whatever the nature of projects landing on globaldev's lap, there's always a common motive: helping our members find that special someone easier. We've learnt that sometimes it's the little ideas that make a big difference. We've also learnt that sometimes those ideas aren't quite as little or simple as we'd...

Kriselda Rabino Kriselda Rabino

Tagged

  • gem
  • uri
  • ruby
  • parsing
  • addressable

Silicon Milkroundabout - Two weeks to go

After a really successful one day event last year, Silicon Milkroundabout will be back this year with a new, two day format running on the weekend of the 26th/27th May. Silicon Milkroundabout is the jobs fair to match the UK’s start-ups with the best developers, product managers, and designers. We are...

Tagged

  • recruitment

What open-source can learn about customer engagement

Running a successful open-source project is very much like running a business: it takes skill, time and money (there may not be a direct monetary cost, but there’s an opportunity cost in everything). You need to market your product: why should people use your software rather than anyone else’s? In...

Tim Blair Tim Blair

Tagged

  • open-source
  • community
  • redis

How to run a hack day

The last couple of years have seen a lot of buzz about the benefits of running an internal hack day within your company. People like Twitter, The Guardian, LinkedIn and Dropbox swear by the benefits of giving developers and engineers a day (or more) of freedom to pursue whatever technical...

Tim Blair Tim Blair

Tagged

  • hackday
  • organisation

Settling in to the new London office

It's been nearly two months now since the development team formed a new outpost in central London, moving into an office on the 12th floor of Capital Tower in Waterloo. I relocated from Windsor at the end of March, so two weeks in feels a nice time to post about...

Join us at Silicon Milkroundabout

After a really successful launch and second event last year, Silicon Milkroundabout is back for 2012 and we are really pleased to be one of the main companies attending.Silicon Milkroundabout is the jobs fair to match the UK’s start-ups with the best developers, product managers, and designers. We are constantly growing our globaldev team...

Tagged

  • recruitment

Hack day, Feb 2012: What we got up to

After a slightly snowy weekend, we find ourselves blown away at what we all achieved in a single day at last Friday's Hack Day. Working in small teams or individually, here's a quick rundown of what we achieved: A Featured Members Mashup: displaying a summary of featured members across multiple sites....

Tom Giddings Tom Giddings

Tagged

  • gdhackday
  • globaldev

The hack day liveblog

8:58am: And we're about ready to kick things off. Time to rally the troops and give things a proper beginning. Let the hacking commence! 8:37am: The office is filling up, breakfasts are going in to mouths, and there's a good vibe around the office. The project managers are already getting...

Tim Blair Tim Blair

Tagged

  • hackday
  • liveblog

Building an API and mobile platform for 10 million users

Four days before the turkey was served up at Christmas last year, we threw the switch on the biggest project we've ever done at globaldev. We launched our new mobile counterpart to our desktop application for nearly 200 of our biggest sites. At our partner conference in October, we had...

Tim Blair Tim Blair

Tagged

  • architecture
  • mobile
  • ruby

Announcing the WLD mobile web platform

After 31 person months, dozens of artery thickening pizzas and many many epic late nights, today we revealed our biggest ever project, the WLD mobile web platform.Since May our engineering team have been working to create a series of RESTful API services that provide access to member and site data....

London calling

Apart from a brief spell in nearby Ascot, we’ve been based in Windsor ever since the company began back in 2003. It’s a lovely little town with great bars, shops and a famous neighbour who lives in her own castle up the road. Our team has grown to an impressive...

GoingPostal: a Ruby gem for postal code validation

We've released a new gem for all your postal code formatting and validation needs. GoingPostal will validate and correctly format postal codes from the UK, US, Canada, Australia, New Zealand, and South Africa, and can be used as either a model mixin or as a namespaced collection of static methods....

Mat Sadler Mat Sadler

Tagged

  • gem
  • postcode
  • ruby
  • validation

Pixel perfect productivity in Illustrator

When I first thought about going to a BarCamp experience I was a little nervous about the prospect of doing a talk in front of people who had no idea who I was, let alone met before. Amongst the usual reservations, nerves, uncertainty and the like, my main thought was:...

BarCamp London 9 review

As globaldev was one of the main sponsors of the over-subscribed BarCamp London 9 I was lucky enough to have a ticket for Saturday. I was a little apprehensive when I arrived, having been used to attending conferences with a pre-defined schedule, I did not know what to expect and...

Andy Levett Andy Levett

Tagged

  • barcamp
  • bcl9
  • community

Silicon Milkroundabout was illuminating

On Sunday 30th October some of the leading UK tech startups including globaldev, grouped together at the Old Truman Brewery, Brick Lane, London to attract thousands of candidates to hundreds of potential jobs.We loved meeting the hundreds of visitors that came to our stand to discuss the Ruby Engineer and Rails...

Join us back at Silicon Milkroundabout

Hiring great people is one of the most important objectives for any business, but also one of the biggest challenges. It can mean success or failure, especially for growing companies. We’re lucky to have hired some exceptional developers and engineers since we started, but it’s not been easy and we’re...

We're lead sponsors of BarCamp London 9

After the fantastic success of last year's BarCamp London, it didn't take us long to decide to sponsor this year's event, to be held at City University in Clerkenwell. We love the idea of unconferences, so we've decided this year to up our contribution to the event and go in...

Tim Blair Tim Blair

Tagged

  • barcamp
  • bcl9
  • community
  • sponsorship

Our development manager is certifiable!

We suspected Jason Kneen, our Development Manager was certifiable but now he's provided it by passing his exams becoming a Titanium Certified App Developer (or TCAD).Titanium is a mobile development platform by Appcelerator that enables developers to write native applications in JavaScript for multiple devices running operating systems like iOS, Android, Windows 7 Mobile...

Pete Lambert Pete Lambert

Tagged

  • Appcelerator
  • TCAD
  • Titanium

SVN merge woes, or why we need git

Recently we've had some projects that were in branches, had been merged back on to the trunk and gone through our QA and testing processes. When it came to merging this project work into the deploy branch we discovered a few issues, odd merge conflicts, silly whitespace clashes and alike....

Ian Winter Ian Winter

Tagged

  • git
  • svn

Virtually sorting out development machines

One of my key responsibilities is to ensure that new developers at Globaldev can hit the ground running and code from their first day and one thing that can slow new starters down is setting up their Mac development environment.When I joined Globeldev I inherited some existing set-up guides but...

Future of Mobile 2011

Last Friday a few of the team attended the Future of Mobile conference in London, organised by Carsonified, for a day of learning about some of the recent trends and techniques for mobile development.Kicking off the day was Kevin Systrom, co-founder of Instragram, whose talk focused on his company’s journey...

Farewell Martin, welcome Mat and Tom

It’s with a heavy heart that today we bid a fond farewell to our departing development manager, Martin Sadler. Martin joined us just over two years ago as a Rails developer before stepping up to lead the dev team that has now grown to 12 under his tutelage. He leaves...

New globaldev recruits arrive!

Today we’re delighted to welcome Gerhard Lazu, our third new starter of the week. Gerhard joins our engineering team where he’ll be helping to build a series of infrastructure services which are the first steps on the road to delivering our new API.Also new to globaldev are Paul Pounder and...

Eliminate the impossible to find the improbable

Yesterday we released a new feature on the platform called "New Members Today" — those members that are interested will receive a daily email containing profiles of new members that may be of interest to them. We've been running this across a sub-section of the member-base, but expanded this to...

Tim Blair Tim Blair

Tagged

  • bugs
  • code-review
  • testing

Reading Geek Night 19 Roundup

We're looking for software engineers… We're on the lookout for smart developers to help grow our successful engineering team. Please take a look at the job role and get in contact. Of course, we'll encourage you to talk at #rdggeek about any work you do! The 19th monthly Reading Geek...

Tim Blair Tim Blair

Tagged

  • community
  • rdggeek

Roundabout round-up

Sunday’s Silicon Milkroundabout event, previewed last week, was a huge success for us. We took five of the team to the Bar Music Hall in London for the first start-up friendly recruitment event and spoke to hundreds of designers, engineers, testers and more. The day was rather hectic, but we...

Join us at Silicon Milkroundabout

Hiring great people is one of the most important objectives for any business, but also one of the biggest challenges. It can mean success or failure, especially for growing companies. We’re lucky to have hired some exceptional developers and engineers since we started, but it’s not been easy and we’re...

Barry Frost Barry Frost

Tagged

  • job
  • london
  • recruitment
  • startup
  • uk
  • vacancy

Reading Geek Night 18 Roundup

We're looking for software engineers… We're on the lookout for smart developers to help grow our successful engineering team. Please take a look at the job role and get in contact. Of course, we'll encourage you to talk at #rdggeek about any work you do! The April 2011 edition of...

Tim Blair Tim Blair

Tagged

  • community
  • rdggeek

Making Redis happy(er)

As with any decently large Internet-business, we do a lot of background processing of various different tasks. Everything from email rendering, statistics processing, cache flushing and more. Over the last six months we’ve slowly been transitioning a lot of those tasks to a new more efficient architecture using with RabbitMQ...

Tagged

  • amqp
  • rabbitmq
  • redis
  • redistat
  • ruby
  • statistics

Globaldev at UXLondon 2011

Last week the Globaldev UX team attended the UXLondon 2011 conference, organised by the great team at Clearleft and held at the Cumberland Hotel in Marble Arch. The event featured a mixture of formats with the first day adopting a conference style schedule. Seven varied speakers took the stage, talking...

Google Gadgets - Tick!

We use a fair few web apps to help us do our jobs in the Global Personals development team. One of them is a time tracking tool called Tickspot. It enables us to log the amount of time we are spending on specific project tasks and then see if we...

Tales of the unexpected

Sometimes things go wrong. The results of the "something" going wrong are usually fairly obvious — searches not returning, systems not starting, payments not processing — but working out why that "something" stopped working (or started working differently) is the challenge. Earlier this week we noticed that for the previous...

Tim Blair Tim Blair

Tagged

  • errors
  • monitoring

Reading Geek Night 17 roundup

We're Looking for Software Engineers… We're on the lookout for smart developers to help grow our successful engineering team. Please take a look at the job role and get in contact. Of course, we'll encourage you to talk at #rdggeek about any work you do! This month's busy Reading Geek...

Tim Blair Tim Blair

Tagged

  • community
  • rdggeek

Reading Geek Night 16 roundup

After a January hiatus due to holidays, honeymoons and some other less-worthy excuses, the globaldev team returned to the 16th Reading Geek Night. This month's presentations included trying to understand the differences between developers and managers, discussions on a #rdggeek Hack Day, and a webcam running on a BBC Master....

Tim Blair Tim Blair

Tagged

  • community
  • rdggeek

Reading Geek Night 14 roundup

The final Reading Geek Night of 2010 saw a slightly smaller, yet just as rowdy, crowd of geeks gather at the Copa bar due to the festive season, but all were treated to a couple of excellent presentations to round off the first full year of geek nights in Reading....

Tim Blair Tim Blair

Tagged

  • community
  • rdggeek

The Global team go climbing

Just over a week ago a fearless group of Global Personals employees ventured to the intimidating mountain peaks found at the Reading Climbing Centre for an introductory taster session of indoor climbing. After we had all arrived and changed into our gym gear we proceeded to the practice wall to...

Pete Lambert Pete Lambert

Tagged

  • climbing
  • culture
  • team

Reading Geek Night 13 roundup

This months Reading Geek Night went from the importance of scalability, photos of space taken from a weather balloon, to 2 electronic boffins coding to their hearts content to show it is possible to get hardware and software to play nicely in 20mins! Nick Telford: NoSQL? NoBrainer! 10,000 TweetMeme retweet...

Andy Levett Andy Levett

Tagged

  • community
  • rdggeek

Today is the 1st of Movember...

This post has been cross-posted from the main Global Personals blog, but we thought it was worth highlighting it again here for the worthy cause.Some companies raise money for charities through sponsoring employees to do long bike rides, or run a marathon... lots of active things. At Global Personals, we're...

Tim Blair Tim Blair

Tagged

  • fundraising
  • movember

Sponsoring BarCamp London 8

At globaldev we are huge proponents of giving back to the the development community that we're all a part of, and as strong believers in putting our money where our mouth is, Global Personals have decided to sponsor this year's BarCamp London (BCL).As well as chipping in with sponsorship, some...

Tim Blair Tim Blair

Tagged

  • barcamp
  • bcl8
  • community
  • sponsorship

Reading Geek Night 12: 1st birthday roundup

It was a birthday celebration at this week's Reading Geek Night as the event turned one. From modest beginnings, #rdggeek has grown month on month, and never fails to inform and entertain with the wide variety of talks and interesting participants that show up. Here's to the next year! Iain...

Tim Blair Tim Blair

Tagged

  • community
  • rdggeek

Round the campfire - issue 2, 2010

The Campfire rooms at GlobalDev towers have been hive of activity over the last few weeks. It is with great pleasure I therefore get to present issue #2. If you have found a link that might be of interest to the team please do hit us back in the comments....

Sam Barnes Sam Barnes

Tagged

  • campfire
  • links

Live schema changes on high volume tables

We've just finished some fairly serious data shuffling in the WLD database. We've been working on changes to reduce the amount of storage space private messages take up, aiming to decrease the storage requirements by around 80%, and also to dramatically lower the database hit each time a new message...

Tim Blair Tim Blair

Tagged

  • data-storage
  • mysql
  • scaling

ColdFusion, isolation levels and MySQL 5.1

We're always looking to make the platform run faster and better. One of the things that was on the list was to investigate upgrading all our MySQL servers from 5.0 to 5.1. This had a few reasons behind it some of those being better performance, bug fixes and enhanced features....

Ian Winter Ian Winter

Tagged

  • coldfusion
  • java
  • mysql
  • replication

Reading Geek Night 11 Roundup

This month's Reading Geek Night was a busy affair: the university students were back in town. As always, there was a fantastically diverse mix of presentations, this month covering the broad spectrum from coding, arts programmes, cinema technology to a worldwide technology competition. Chris Alexander: Building plugins for Seesmic Desktop...

Tim Blair Tim Blair

Tagged

  • community
  • rdggeek

How we built globaldev

As a business we have a large and ever-growing team of developers, designers and managers responsible for a network of dating sites, numerous servers and several internal web applications and tools. However very little of what goes on behind the scenes has ever been revealed to a wider audience. With...

Round the Campfire - Issue 1, 2010

We use 37 Signal's Campfire extensively within the development team. As part of a regular series we will be sharing some of the more interesting (and sometimes bizarre!) links that get posted. As this is our first issue we've got quite a backlog of items, so consider this a Bumper...

Sam Barnes Sam Barnes

Tagged

  • campfire
  • links

Reading Geek Night 10 Roundup

Reading Geek Night moved in to double figures this week (this was event number 10), and once again covered a wide variety of topics. There were four main presentations covering Flash hacking, hardware, F1 racing and robotics, plus three additional quick announcements. Pedro Laguna: FlasHack Pedro Laguna is a Spanish...

Tim Blair Tim Blair

Tagged

  • community
  • rdggeek

Memcached invalidation for sets of keys

There are only two hard things in Computer Science: cache invalidation and naming things. — Phil Karlton We use memcached extensively throughout the White Label Dating platform, primarily for write-through data caching. For example, composite member and site objects are serialised to JSON, stored with simple keys such as member:1234567...

Tim Blair Tim Blair

Tagged

  • caching
  • memcached

Reading Geek Night 9

Last night’s Reading Geek Night had a definite feel of "other" geekiness, with not a programming-based talk in sight. This seemed to be a well-received change, with a crowd bigger than any I’ve seen so far. Claire Thompson: Making a difference at The next level After the introduction from Jim...

Tim Blair Tim Blair

Tagged

  • community
  • rdggeek

Sphinx (part 2)

(This article is the second part in a series. Read Part 1) Having used Sphinx for a while, we found there was still room for improvement. Our new search engine worked but wasn't as quick as we would have liked under load. Initially the index was built along a one-index-for-all...

Ian Winter Ian Winter

Tagged

  • data-storage
  • search
  • sphinx

A flurry of new starters

Today, and on each of the last two Mondays, we've welcomed a new member to the globaldev team. Not only does this give us a good excuse for welcome lunches, but it also means we're strengthening the team in key areas for future projects. So in reverse order, introducing...Graham, Senior...

Barry Frost Barry Frost

Tagged

  • globaldev
  • jobs
  • recruitment
  • team

Web API's are broken, deal with it! (part 1)

Web based API's come in all shapes and sizes, not all of them conform to RESTful conventions: incorrect response codes, different response formats, odd resource name spacing, and problematic transport layers plague many of the API’s we as developers have to deal with. Trying to make ActiveResource handle these inconsistencies can...

Sam Barnes Sam Barnes

Tagged

  • activeresource
  • api
  • library
  • ruby

SSL, or is it?

We manage a number of sites with secure content. Installing SSL certificates and keys on multiple servers becomes a time consuming annoyance.To ease this pain we've made use of a SSL decryption module added into our load balancers. Using the module means we can install the SSL certificate on the...

Ian Winter Ian Winter

Tagged

  • apache
  • coldfusion
  • rails
  • ruby
  • ssl

Spot the ball

As an operations guy, graphs are always good. They can show patterns, trends, peaks and troughs and of course are useful when it comes to analysis and planning for feature launches and maintenance.Around 3pm on the 22nd June something happened that caused our member activity graph to take a little...

Ian Winter Ian Winter

Tagged

  • football
  • graphs
  • monitoring

Sphinx (part 1)

As part of our continued growth one of the main problems we came across was how to keep our searches running as quickly as possible so our members could find their perfect match easily. As the application grew some of the search queries running against MySQL were becoming complex and...

Ian Winter Ian Winter

Tagged

  • data-storage
  • indexing
  • mysql
  • search
  • sphinx

An introduction

Welcome to globaldev, the website of the Global Personals Development Team. We’re a team of web professionals building online dating websites and tools as part of Global Personals in the UK.Our own homeThis is our own little place to talk about the things that interest us, to give something back...

Barry Frost Barry Frost

Tagged

  • introduction
  • team