Wednesday, August 21, 2013

Column Compatibility


ISO 8601 is a great format for dates and times because it can be understood as dates and time by the tools you use (databases, spreadsheets, programming languages) - but in anger a lot can be done just by manipulating it as character strings.

  • Want to sort by exact date? Just sort it. It works. You don't even need to know what lexicographic ordering means.
  • Want to roll up by month? Cut off everything after the month, in SQL you can GROUP BY, on the command line you can hit it with the old sort | uniq -c (after you cut or awk or sed it out of whatever you found it in), in Java you are writing that counting code with the HashMaps AGAIN. 
  • Want to look at time of day? Cut the date off the front.
  • Excel will even automatically read it in and recognize it as a date (nice). Of course if you write it back out as a csv no guarantee it stays in ISO 8601 (boo).
Best. Thing. Ever. 

Friday, August 16, 2013

Building A Boat

So the same guy who taught me the excellent Terminator Metric also taught me the following thing about the stages of being a software engineer:

  • A junior developer you throw them in the lake and they don't know how to swim but they learn to tread water
  • A senior developer is someone who learned to tread water and then teaches themselves to swim.
  • An architect teaches themselves to swim and then builds a boat and starts sailing around.
To all this I say: you know the shipwrecks are the best places to go for free rum, don't you?