I was just thinking the other day about how crazy it is that it's 2009. 2009! It was ten whole years ago that we were stockpiling 5-gallon jugs of water and lining our basements with non-perishable goods in anticipation of the Y2K apocalypse.  On this eve of the tenth anniversary of that near disaster, I just want to take a minute to say "Thank You" to one individual who helped us avoid this calamity to ensure that civilization carried on as usual. And that person is me.

In the Spring of 1999, I accepted a summer position with local bank behemoth Huntington in their business technology banking sector.  Our goal for the summer: Fix the Y2K problem. If you don't remember what the Y2K problem was -- or perhaps never really understood it to begin with -- I'll do a quick review:  Back in the heyday of computer programming, when banking institutions all over the world were converting from paper systems to electronic mainframe systems, programmers would usually use six digits worth of memory to hold date information: Two for the month (0-12), two for the day of the month (0-31) and two for the year. It seems that a lot of these old programmers didn't give much thought to the fact that two digits is only enough if you expect the system to run for the next twenty years or so.  Or they did realize it, but also knew that they would have long since retired and be living off a pension, so they didn't care.  At any rate, toward the end of the 20th century, programmers were being brought in by the truckload to fix this problem in old code at banking institutions around the world.  Even though I hadn't even graduated college yet -- and frankly didn't know the computer languages they worked with -- I was able to get a very well paying summer internship helping out.

So what did this job entail? On paper, it involved combing through many many lines of JCL (Job Control Language) code looking for any representation of a date.  When I found one, I had to change it to expect four characters instead of two.  That's about it.  Sounds pretty boring, huh? Well, that's just what the job was on paper.  In practice it was much much more boring.  If you've worked a variety of jobs, you know that the larger the company, the bigger the bureaucracy, and the bigger the bureaucracy the less work actually gets done.  In reality, I spent about 4 hours a week looking through this JCL code changing the number "2" to "4," another 4 hours a week asking my boss if there was anything else he had for me to do, and the remaining 32 hours reading public domain books on the computer screen.  It was bad enough that they didn't have any actual work for me to do, but to add insult to injury there was no access to the internet in my cubicle. I had access to the company intranet, though, and I read that thing religiously.  I knew when everyone's birthday was, I knew all the policies on overtime and retirement, and I knew where everyone sat on the building seating chart.

But sometimes saving the world from a technological meltdown isn't fun or glamorous. Sometimes it means reading Tom Sawyer on a 14" monitor for hours at a time. That was just the sacrifice we had to make back in those days. In the end, it was all worth it to be able to keep society going, unaware of the peril we narrowly avoided.

You're welcome, world. You're welcome.

Recent photos

Search

Profile Information

Application afterLoad: 0.000 seconds, 0.44 MB
Application afterInitialise: 0.052 seconds, 4.78 MB
Application afterRoute: 0.068 seconds, 6.24 MB
Application afterDispatch: 0.172 seconds, 15.72 MB
Application afterRender: 0.300 seconds, 20.03 MB

Memory Usage

21126480

17 queries logged

  1. SELECT *
      FROM v2_session
      WHERE session_id = '92783241a0891eb4a44ae874e64acba2'
  2. DELETE
      FROM v2_session
      WHERE ( time < '1328829775' )
  3. SELECT *
      FROM v2_session
      WHERE session_id = '92783241a0891eb4a44ae874e64acba2'
  4. UPDATE `v2_session`
      SET `time`='1328830675',`userid`='0',`usertype`='',`username`='',`gid`='0',`guest`='1',`client_id`='0',`data`='__default|a:9:{s:15:\"session.counter\";i:43;s:19:\"session.timer.start\";i:1328829090;s:18:\"session.timer.last\";i:1328830631;s:17:\"session.timer.now\";i:1328830655;s:22:\"session.client.browser\";s:48:\"CCBot/1.0 (+http://www.commoncrawl.org/bot.html)\";s:8:\"registry\";O:9:\"JRegistry\":3:{s:17:\"_defaultNameSpace\";s:7:\"session\";s:9:\"_registry\";a:1:{s:7:\"session\";a:1:{s:4:\"data\";O:8:\"stdClass\":0:{}}}s:7:\"_errors\";a:0:{}}s:4:\"user\";O:5:\"JUser\":19:{s:2:\"id\";i:0;s:4:\"name\";N;s:8:\"username\";N;s:5:\"email\";N;s:8:\"password\";N;s:14:\"password_clear\";s:0:\"\";s:8:\"usertype\";N;s:5:\"block\";N;s:9:\"sendEmail\";i:0;s:3:\"gid\";i:0;s:12:\"registerDate\";N;s:13:\"lastvisitDate\";N;s:10:\"activation\";N;s:6:\"params\";N;s:3:\"aid\";i:0;s:5:\"guest\";i:1;s:7:\"_params\";O:10:\"JParameter\":7:{s:4:\"_raw\";s:0:\"\";s:4:\"_xml\";N;s:9:\"_elements\";a:0:{}s:12:\"_elementPath\";a:1:{i:0;s:69:\"/var/sites/teamsoell.com/root/libraries/joomla/html/parameter/element\";}s:17:\"_defaultNameSpace\";s:8:\"_default\";s:9:\"_registry\";a:1:{s:8:\"_default\";a:1:{s:4:\"data\";O:8:\"stdClass\":0:{}}}s:7:\"_errors\";a:0:{}}s:9:\"_errorMsg\";N;s:7:\"_errors\";a:0:{}}s:13:\"session.token\";s:32:\"ba6dfe9205fff441e3878410f52aeb50\";s:23:\"gantry-current-template\";s:12:\"rt_juxta_j15\";}BF________com_tag|a:1:{s:7:\"default\";a:14:{s:4:\"page\";s:1:\"1\";s:5:\"limit\";i:10;s:6:\"filter\";s:0:\"\";s:10:\"boxchecked\";s:0:\"\";s:12:\"hidemainmenu\";s:0:\"\";s:4:\"task\";s:0:\"\";s:5:\"total\";s:0:\"\";s:4:\"view\";s:0:\"\";s:8:\"returnto\";s:0:\"\";s:32:\"4922f8d610dcf1a2bd203ec6f0f4578e\";s:32:\"92783241a0891eb4a44ae874e64acba2\";s:6:\"option\";s:7:\"com_tag\";s:6:\"Itemid\";N;s:3:\"tag\";s:18:\"homeownership.html\";s:9:\"lastModel\";s:7:\"tag_map\";}}'
      WHERE session_id='92783241a0891eb4a44ae874e64acba2'
  5. SELECT *
      FROM v2_components
      WHERE parent = 0
  6. SELECT folder AS type, element AS name, params
      FROM v2_plugins
      WHERE published >= 1
      AND access <= 0
      ORDER BY ordering
  7. SELECT *
      FROM v2_redj
      WHERE ('/component/content/article/201.html' REGEXP BINARY fromurl)>0
      AND published='1'
      ORDER BY ordering
  8. SELECT m.*, c.`option` AS component
      FROM v2_menu AS m
      LEFT JOIN v2_components AS c
      ON m.componentid = c.id
      WHERE m.published = 1
      ORDER BY m.sublevel, m.parent, m.ordering
  9. SELECT *
      FROM v2_rokcandy
      WHERE published=1
  10. SELECT template
      FROM v2_templates_menu
      WHERE client_id = 0
      AND (menuid = 0 OR menuid = 0)
      ORDER BY menuid DESC
      LIMIT 0, 1
  11. SELECT `option`
      FROM v2_components
      WHERE parent=0
      AND iscore=0
  12. INSERT INTO `v2_rokuserstats` ( `user_id`,`ip`,`session_id`,`page`,`referrer` )
      VALUES ( '0','38.107.179.207','92783241a0891eb4a44ae874e64acba2','/component/content/article/201.html','' )
  13. SELECT a.*, u.name AS author, u.usertype, cc.title AS category, s.title AS section, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END AS slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END AS catslug, g.name AS groups, s.published AS sec_pub, cc.published AS cat_pub, s.access AS sec_access, cc.access AS cat_access 
      FROM v2_content AS a
      LEFT JOIN v2_categories AS cc
      ON cc.id = a.catid
      LEFT JOIN v2_sections AS s
      ON s.id = cc.section
      AND s.scope = "content"
      LEFT JOIN v2_users AS u
      ON u.id = a.created_by
      LEFT JOIN v2_groups AS g
      ON a.access = g.id
      WHERE a.id = 201
      AND (  ( a.created_by = 0 )    OR  ( a.state = 1
      AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2012-02-09 23:37:55' )
      AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2012-02-09 23:37:55' )   )    OR  ( a.state = -1 )  )
  14. UPDATE v2_content
      SET hits = ( hits + 1 )
      WHERE id='201'
  15. SELECT *
      FROM v2_tag_layouts
  16. SELECT count(id)
      FROM v2_tag_hideshow
      WHERE scope = "com_content"
      AND idnumber = "201.html"
  17. SELECT id, title, module, position, content, showtitle, control, params
      FROM v2_modules AS m
      LEFT JOIN v2_modules_menu AS mm
      ON mm.moduleid = m.id
      WHERE m.published = 1
      AND m.access <= 0
      AND m.client_id = 0
      AND ( mm.menuid = 1 OR mm.menuid = 0 )
      ORDER BY position, ordering

Language Files Loaded

Untranslated Strings Diagnostic

None

Untranslated Strings Designer

None