Blog

Articles, opinion and news from the Venntro Development team


Reporting Cucumber Results in Slack

A detailed look at how we report Cucumber automation test results from Jenkins to Slack

Steve Smith Steve Smith

Tagged

  • qa
  • testing
  • automation

Test Automation: Taking Command of the Command Line

We needed to run command line operations from our automation test suite. I describe how our approach to this has evolved over time to cope with different challenges faced.

Steve Smith Steve Smith

Tagged

  • qa
  • testing
  • automation

Go Workshop

We recently held a workshop here at Venntro to introduce some of the team to Go. All the resources are freely available, so maybe it can help you too?

Tim Blair Tim Blair

Tagged

  • golang
  • learning
  • beginner

Effects of small changes

Small changes to UX can have large impacts. Matthew gives a brief overview of how removal of a simple "new" flag on the homepage dramatically affected traffic to one of our popular features.

Mat Moore Mat Moore

Tagged

  • graphs
  • user experience

Tech Talk: An Introduction to Go

The popularity of Go has been rising radpidly recently. In this tech talk, Tim gives us an overview of the key elements of the language including types, concurrency model and primitives, and the ecosystem and tooling.

Tim Blair Tim Blair

Tagged

  • go
  • golang
  • programming
  • introduction

Hack Day 3: The Liveblog

After the pitches in London last week, today the whole team are together in the Windsor office for the third Hack Day. Stay tuned for live updates as the day progresses and everyone's early morning smiles turn to panic stricken thousand yard stares the closer the demos get.

Sam Barnes Sam Barnes

Tagged

  • hackday
  • liveblog

Build your own Yum repository

A summary of how to build and manage your own Yum repository to get around the challenges of packages being removed, or, to tie specific versions and easier upgrade paths.

Ian Winter Ian Winter

Tagged

  • yum
  • packagemanagement

Video conferencing at Global Personals

At Global Personals we have multiple offices and remote workers as far round the world as New Zealand. The challenge is to provide a quality video conferencing system that all these staff can use to connect to one another to allow effective collaboration on a variety of projects.

Tech Talk: Dev meets dance

The story of how a two year old idea went from nothing to "in production" in just two weeks by following the practices of agile and lean development: what's the simplest thing I can do that will work?

Kriselda Rabino Kriselda Rabino

Tagged

  • sideproject
  • agile
  • dance
  • photography

Automation in the real world: Part 1

In most organisations QA usually is an after thought and automation is always introduced late. But let's face it, automation usually arises more often out of need than prior planning in small organisations.

Saurabh Sahu Saurabh Sahu

Tagged

  • qa
  • automation

Tech Talk: Why we need the IndieWeb

A tech talk presented to the globaldev team in March 2015 introducing the IndieWeb and why I believe it's important that you own your data.

Barry Frost Barry Frost

Tagged

  • tech-talk
  • indieweb
  • ownyourdata

Publishing our development standards

Following on from Simon’s recent post on how we do code reviews atglobaldev, we looked at the other development standards documentation we haveand decided that it was worthwhile publishing that too.So, as of right now, our internal development standards are nowpublic on GitHub at globaldev/standards.What have we published? General principles:...

Tim Blair Tim Blair

Tagged

  • standards
  • principles
  • security
  • code-review

How we conduct code reviews at globaldev

All code that gets deployed on to the White Label Dating™ platform must go through at least one phase of code review. This article details how we perform code reviews at globaldev.

QA Automation at Global Personals

A summary of test automation achievements at Global Personals. In this post I'll describe the common issues in our QA automation suite and how we handle them. I'll also describe how we used the parallel gem to speed up our automation suite.

Jiazhen Xie Jiazhen Xie

Tagged

  • qa
  • test automation
  • selenium
  • capybara

Optimising calls to a new API with StatsD and Graphite

Monitoring calls to third-party APIs can reveal interesting trends and alert you to problems. Following my last post, I describe how we used StatsD and Graphite to monitor calls to a new API and optimise an exponential back-off and retry mechanism.

Josh Hill Josh Hill

Tagged

  • api
  • statsd
  • graphite
  • graphiti

Back-off and retry with RabbitMQ

A common issue with third-party APIs is limited availability during peak hours. Even outside peak hours, API requests can be rejected, timeout and fail. In this post I’ll describe a lightweight exponential back-off and retry mechanism for RabbitMQ consumers.

Josh Hill Josh Hill

Tagged

  • api
  • node.js
  • rabbitmq

UX London: Platforms

The third day of the UX London 2014 conference in Greenwich focused on 'Platforms'. Here are my highlights of the talks and workshops I attended.

Andrew Scrivener Andrew Scrivener

Tagged

  • conference
  • ux

UX London: People (Day 2)

Day 2 of the 2014 UX London conference honed in on the subject of People. Bringing together a host of speakers with fingers in all manner of UX related pies, we journeyed through India, Europe, the US and well… around the world as they each took to the stage. The day was then rounded off with an excellent workshop on collaborative research, run by Leisa Reichelt, most recently of gov.uk fame.

UX London: Products, People and Platforms

The 2014 UX London conference was held at the end of last week in Greenwich, promising three days of "inspiration, education and skills development for user experience designers" focused around products, people and platforms. Here are my highlights of the talks and workshops I attended.

Barry Frost Barry Frost

Tagged

  • conference
  • ux

How we’re becoming champion sprinters

In August 2013, we took our first steps in implementing an Agile development process to allow us to keep up with the demands of our future vision for Global Personals by delivering projects more efficiently. The benefits to date have been significant.

Alex Osborne Alex Osborne

Tagged

  • agile

Ruby 2.1 In Detail

A detailed look at what's new in Ruby 2.1

Mat Sadler Mat Sadler

Tagged

  • ruby

Ruby Tips Part 5

We wrap up our Ruby Tips series with part 5, a collection of all the smaller tips that didn't make it in to the earlier parts.

Mat Sadler Mat Sadler

Tagged

  • ruby

Pipeline Conference 2014

Last Tuesday I had the opportunity to represent globaldev at the Pipeline Continuous Delivery conference. We've been gradually moving towards CD here and I wanted to get some insight into the problems other teams faced on their journey.

Paul Bowsher Paul Bowsher

Tagged

  • conferences
  • continuous delivery

RabbitMQ: From the Front Line

We're fairly heavy users of RabbitMQ here at Global Personals, with 10 distinct workflows spread across 2 separate dual-node clusters. Across all our clusters and workloads we process around 3,000 RabbitMQ transactions per second. This takes a lot of careful management, and we've learnt a lot of lessons along the way to achieving this level of throughput. In this post I'll cover how to manage the trade-off between performance and resiliency.

Paul Bowsher Paul Bowsher

Tagged

  • rabbitmq
  • engineering
  • scaling

Local Events and Meetups

Hello there. You haven’t heard from me yet. I’m Colly, and when I say I’m a new starter here at Global Personals, what I really mean is I started 6 months ago. A brief introduction: I moved over from Belfast, Northern Ireland in the summer of 2013. I worked at...

Colm Morgan Colm Morgan

Tagged

  • conferences
  • meetups

Sam speaks at DPM:UK 2014

After the success of the inaugural Digital PM Summit in Philadelphia last October, I was lucky enough to be asked to help organise and speak at the first UK-based digital project management event, DPM:UK, held on 29th January in Manchester.

Sam Barnes Sam Barnes

Tagged

  • conferences,
  • speaking

Testing Pipelined HTTP Requests with WebMock

We've just released a small gem called webmock-net-http-pipeline (how's that for a mouthful?) that helps us with testing Ruby code that makes calls to external services via pipelined HTTP requests, by enabling us to mock those requests via WebMock. Read on for more details...

Tim Blair Tim Blair

Tagged

  • ruby
  • http
  • piplining
  • testing
  • webmock
  • net-http-pipeline

Agile Transformation Q&A

Last year we decided it was time for us to change our approach to delivering projects and so we embarked on a complete Agile transformation. Six months later and we now have multiple Scrum teams up and running with ScrumMasters, two Product Owners and many Sprints delivered. To help us on this journey we used Agile consultants from RADTAC and Jose Casal has kindly answered some questions for us.

Sam Barnes Sam Barnes

Tagged

  • agile

Remote working at Global Personals

In September 2013 I joined the Global Personals Development Team as a remote worker. I've now been with the Company for three months and the time seems to have flown by. Sam Barnes (Development Team Manager) asked me to write about my experience as a new starter with a particular emphasis on what it's like to be a remote worker, so here goes!

Open Sourced: Ruby CFMX Compat algorithm

I was recently tasked with migrating important historical data to a newdatabase schema as part of some exciting changes that we’re making to ourdating platform.Using Ruby to write the data migration script, I came across an interestingissue: some of the historical data had been obfuscated using an old ColdFusionencrypt() algorithm,...

Jason Lambert Jason Lambert

Tagged

  • open-source
  • ruby
  • coldfusion

Tech Talk: Doctor Gitlove

In this talk Paul Bowsher gives some insight into how Git works under-the-hood, so next time you find yourself in some horrible rebase state it's not so scary; you know where it's actually stuck. He explores the different types of object used within git's database and how they all link together to form your git history.

Paul Bowsher Paul Bowsher

Tagged

  • tech-talk
  • source-control
  • git

An introduction to ES6 Part 4: Parameters and Spread

In part 4 of our Introduction to ES6 series we take a look at some new ways to handle function arguments (default and rest parameters), and the spread operator.

James Allardice James Allardice

Tagged

  • es6
  • javascript

Ruby Tips Part 4

In part 4 of our Ruby Tips series, we cover debugging using IRB, the best way to lay out your project's directory structure and also some hints on documenting your code.

Mat Sadler Mat Sadler

Tagged

  • ruby

Tech Talk: OO AntiPatterns

This year I gave a presentation at Scotch On The Rocks on ColdFusion AntiPatterns. Although I used CFML for the code examples at Scotch, the talk itselfwas fairly generic in its content, and focussed on Object Oriented designpractices which are commonplace but considered by some to be… undesirable.In the field...

Darren Walker Darren Walker

Tagged

  • tech-talk
  • best-practices
  • programming
  • object-orientation

An introduction to ES6 Part 3: Destructuring

In part 3 of our Introduction to ES6 series we take a look at the new destructuring assignment syntax and look at how you can use it to write shorter, cleaner and more self-explanatory code.

James Allardice James Allardice

Tagged

  • es6
  • javascript

Ruby Tips Part 3

Part 3 of our Ruby Tips series, including some advice on dealing with exceptions and various ways of using modules.

Mat Sadler Mat Sadler

Tagged

  • ruby

An introduction to ES6 Part 2: Block Scoping

In part 2 of our Introduction to ES6 series we take a look at the new block scoped bindings and show you how you can take advantage of them to make your code safer.

James Allardice James Allardice

Tagged

  • es6
  • javascript

Ruby Tips Part 2

Part 2 of our Ruby Tips series, including some tips on de- and re-structuring arrays using the "splat" operator, and the different ways to do explicit and implicit conversions between types.

Mat Sadler Mat Sadler

Tagged

  • ruby

An introduction to ES6 Part 1: Using ES6 Today

We like to keep up to date with the latest technologies at Global Personals and JavaScript is no exception to that. Over the next few weeks we'll be introducing you to the evolving ES6 standard and showing you how you can start using the code of the future today.

James Allardice James Allardice

Tagged

  • es6
  • javascript

Global Personals, the n00b experience

Hi. My name is Darren Walker and I have recently joined the development teamhere at Global Personals. You may know me from such conferences as Scotch onthe Rocks 2011 and Scotch on the Rocks 2013. I also appear in THREE photos withBen Nadel1 on his infamous blog. Anyway, Sam asked...

Ruby Tips Part 1

Here at Global Personals we've been been using GitHub and following the GitHub Flow for about 2 years now. In that time we've clocked up a few thousand pull requests, and with the wide range of experience here it's rare for one to get though without a comment or two on how things could be improved. Here we share some of the best tips and tricks we've accrued in that time.

Mat Sadler Mat Sadler

Tagged

  • ruby

Tech Talk: Computational Photography

In this talk I cover a quick summary of two of the topics from Coursera's Computational Photography course: how to merge two photos and how find the common elements in two overlapping photos. I was interested to find that Fast Fourier Transforms could be used in both.

Kevin Roche Kevin Roche

Tagged

  • tech-talk
  • photography
  • python
  • coursera

Tech Talk: Build Your Own Heroku

In this talk Paul Bowsher discusses how companies that aren't on the absolute bleeding edge of the Linux kernel can still leverage these patterns on their private infrastructure, even when fantastic projects like Docker won't run on their hardware.

Paul Bowsher Paul Bowsher

Tagged

  • tech-talk
  • hosting
  • paas
  • heroku
  • docker
  • griddle

Grunt Montage: Generating CSS Sprites

Montage is an open-source Grunt plugin for automatically generating CSS sprites from a list of images. It uses ImageMagick to generate composite images and creates the corresponding stylesheet enabling you to build your sprites as part of your deployment process.

James Allardice James Allardice

Tagged

  • javascript
  • grunt
  • css

Ben speaks at EuRuKo 2013 - a summary

I'm back from a thoroughly epic weekend of conferencing at EuRuKo 2013, including giving my own talk on "Achieving zomgscale with Celluloid and JRuby!" which was really well received. Check out my talk and see my notes on the rest of the conference.

Ben Lovell Ben Lovell

Tagged

  • conferences
  • speaking
  • celluloid
  • jruby

Bench testing a new subsystem

Our platform consists of a lot of interoperating systems and services, and we’re adding more all the time. In this kind of environment, development and in situ integration testing of new components becomes tricky as the layers of functionality both upstream and downstream from each new piece grow more numerous...

Michael Mazour Michael Mazour

Tagged

  • ruby
  • amqp
  • rabbitmq
  • services
  • testing
  • stress testing
  • celluloid
  • api
  • scaling

Scotch on the Rocks 2013

Last week the Hilton Hotel in GrosvenorStreet Edinburgh was host to this year's unusually named Scotch onthe Rocks ColdFusion conference. The 2 day conference was attended byColdFusion developers from all over the world.As the only attendee from Global Personals the main difficulty was deciding which of the three tracksto go...

Kevin Roche Kevin Roche

Tagged

  • coldfusion
  • conferences

Ben is speaking at EuRuKo 2013

Way back around the start of April this year I drafted a proposal for a talk I’d begun preparing on Celluloid and JRuby. Mostly gleaned from my findings in applying both technologies to an innovative Global Dev scammer detection solution due to launch shortly on our White Label Dating platform.With...

Ben Lovell Ben Lovell

Tagged

  • ruby
  • conferences

Scottish Ruby Conference 2013

Last weekend the Global Personals development team dispatched Barry,Tim, Mat, Steve and me to the Scottish RubyConference. Set in the absolutely stunning Crieff Hydro hotel complex -located in Perthshire in the Scottish highlands. Unfortunately, whilst wedidn’t get the opportunity to visit much of the surrounding area we did manageto take...

Ben Lovell Ben Lovell

Tagged

  • ruby
  • conferences

jQuery UK 2013 - A summary

On 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. Highlights included talks from Brendan Eich, Ilya Grigorik and Adam J. Sontag.

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.

Mat Sadler Mat Sadler

Tagged

  • ruby

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 toimprove the JavaScript behind the White Label Dating platform. The mostrecent step in this process has been to investigate the use of source maps whenit comes to debugging our scripts.What are source maps?Obviously, our JavaScript library is served in the...

James Allardice James Allardice

Tagged

  • javascript
  • sourcemaps

Migrating memcached

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

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...

James Allardice James Allardice

Tagged

  • javascript
  • jslint
  • jshint

Maintaining Consistent JavaScript with JSLint

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...

James Allardice James Allardice

Tagged

  • javascript
  • jslint

Our Response to BritRuby's Cancellation

Last night, the team behind the upcoming and much anticipated BritRubyConference announced that the event has officially beencancelled.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 at BritRuby,...

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.

Mat Sadler Mat Sadler

Tagged

  • ruby

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 andturned their hands to a challenge that was set before them. Thatchallenge saw 14 teams given the task of spending one day to produce aprototype of something that either solved an existing problem faced bythe business, or came with...

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...

Jason Kneen Jason Kneen

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, butthere’s an opportunity cost in everything). You need to market your product:why should people use your software rather than anyone else’s? In fact, withopen-source software...

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 runningan internal hack day within your company. People like Twitter, TheGuardian, LinkedIn and Dropbox swear by thebenefits of giving developers and engineers a day (or more) of freedom topursue whatever technical fantasy (within reason) they...

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...

Tom Giddings Tom Giddings

Tagged

  • London

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...

Jason Kneen Jason Kneen

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.

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 slightly...

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 a...

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.Picture...

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:...

Gavin McFarland Gavin McFarland

Tagged

  • design
  • illustrator
  • tips

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...

Jason Kneen Jason Kneen

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...

Jason Kneen Jason Kneen

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...

Jason Kneen Jason Kneen

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 Night once...

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 managed...

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 Reading Geek...

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...

Jim Myhrberg Jim Myhrberg

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...

Pete Lambert Pete Lambert

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 are...

Sam Barnes Sam Barnes

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 week...

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 Night was...

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.James...

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.We...

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 be...

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 buttons are...

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 Sharp:...

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. Enjoy:How...

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 is...

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.Our...

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 2As...

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 several...

Pete Lambert Pete Lambert

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 Edition....

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: FlasHackPedro Laguna is a Spanish web security...

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 KarltonWe 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 or...

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 levelAfter the introduction from Jim Anning, Claire...

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 approach,...

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 lead...

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