A blog by Burt.

Month

November 2011

3 posts

Geohashing

The Geohash algorithm takes a latitude/longitude pair and makes a base 32 string out of them. That is useful in itself, it packs the floats in a convenient structure for saving in a database, no need to worry about rounding or significant digits. For example, the geohash of the location of our offices (57.6997, 11.9661) is “u6280rcky”.

Geohashes also have a very useful property: close locations (can) have a common prefix. The reason for this is that geohashes are actually bounding boxes. Chop things off the end and you get a bigger bounding box.

Read More →

Nov 6, 2011
#engineering #Burt #burtcorp
Idempotency as the holy grail for scaling.

“Idempotent” is one of those fancy words you can learn and misuse on your next interview. One says that a method is idempotent when it does not screw stuff up the second time it’s run [1]. For instance, ‘Put the car into reverse’ is idempotent. ‘Pull the gear-changer lever down a notch’ is not. When the car is in park, they both accomplish the same task. But if you get distracted and run the second method twice you might end up having to install a brand new garage door.

Read More →

Nov 4, 2011
#engineering #Burt #burtcorp

October 2011

7 posts

Garbage collectors appreciation week.

I have some bad news for you. It’s not the garbage collector. Unless you’re into some near-realtime performance where you must be able to guarantee a certain delay between action A and action B, your garbage collector is probably just fine. Odds are it’s the best working part of your system and it is NOT what’s causing your servers to freeze time and again. And I can prove it to you…

Read More →

Oct 31, 2011
#engineering #Burt #burtcorp
Next page →
2012 2013
  • January 1
  • February 2
  • March 4
  • April
  • May 1
  • June 1
  • July
  • August
  • September
  • October
  • November
  • December
2011 2012 2013
  • January 1
  • February 1
  • March 9
  • April 7
  • May 7
  • June 1
  • July 2
  • August 3
  • September 6
  • October 6
  • November
  • December 4
2010 2011 2012
  • January
  • February
  • March 1
  • April
  • May 1
  • June 6
  • July
  • August
  • September 2
  • October 7
  • November 3
  • December 5
2009 2010 2011
  • January 2
  • February
  • March
  • April 1
  • May 2
  • June 1
  • July 1
  • August 1
  • September
  • October 1
  • November
  • December
2009 2010
  • January
  • February
  • March
  • April 1
  • May
  • June
  • July 1
  • August 1
  • September 11
  • October 5
  • November
  • December 1