{"id":119,"date":"2006-01-07T00:20:13","date_gmt":"2006-01-06T13:20:13","guid":{"rendered":"http:\/\/www.somethinkodd.com\/oddthinking\/2006\/01\/07\/rational-1000-the-byzantine-keyboard\/"},"modified":"2006-01-08T08:43:57","modified_gmt":"2006-01-07T21:43:57","slug":"rational-1000-the-byzantine-keyboard","status":"publish","type":"post","link":"https:\/\/www.somethinkodd.com\/oddthinking\/2006\/01\/07\/rational-1000-the-byzantine-keyboard\/","title":{"rendered":"Rational 1000: The Byzantine Keyboard"},"content":{"rendered":"<div class=\"aside\">This is one of a <a href=\"http:\/\/www.somethinkodd.com\/oddthinking\/category\/rat1000\/\">short series<\/a> of nostalgic reminiscences about the Rational 1000.<\/div>\n<p>The most astonishing part of the GUI greeted you before you had even logged on: the keyboard template attached to the keyboard.<\/p>\n<p>The keyboards themselves were pretty standard 101-key IBM keyboards. They had 12 function keys across the top, F1 \u00e2\u20ac\u201c F12. All of them were assigned to special operations.<\/p>\n<p>To the right of the function keys, they had Print Screen, Scroll Lock and Pause keys which, let\u00e2\u20ac\u2122s face it, are pretty useless keys. They had some more operations to assign to function keys. So Rational decided to dub them F13, F14 and F15 respectively. So that\u00e2\u20ac\u2122s 15 function keys!<\/p>\n<p>Hmmm\u00e2\u20ac\u00a6 Rational still had more operations that would be useful to bind to a function key. What could they do? Hey, there\u00e2\u20ac\u2122s a Shift button right? So really, there are 30 function keys! <\/p>\n<p>No wait!  There\u00e2\u20ac\u2122s an ALT button <em>and<\/em> a CTRL button too! 60 function keys! F1, SHIFT+F1, CTRL+F1, ALT+F1 all the way up to ALT+F15.<\/p>\n<p>But why stop here? There\u00e2\u20ac\u2122s SHIFT+ALT+F1, SHIFT+CTRL+F1, CTRL+ALT+F1 \u00e2\u20ac\u201c that leads to 105 function keys!<\/p>\n<p>If there is such a thing as going too far, the Rational UI developers hadn\u00e2\u20ac\u2122t heard of it.<\/p>\n<p>SHIFT\u00e2\u20ac\u00a6. + CTRL\u00e2\u20ac\u00a6 + ALT\u00e2\u20ac\u00a6 + F15\u00e2\u20ac\u00a6<\/p>\n<p>One hundred and twenty function keys to assign!<\/p>\n<p>Still going, they redefined the Insert\/Delete, Home\/End and PageUp\/Down for their own purposes. These weren\u00e2\u20ac\u2122t more function keys but special purpose keys that were frequently used.<\/p>\n<p>When first I sat down to use this keyboard, I gasped at the ridiculous cardboard template that had been velcroed to the keyboard &#8211; its 120 function key definitions, in a tiny font, extending over an inch past the back of the keyboard.<\/p>\n<p>\u00e2\u20ac\u0153You have got to be kidding!\u00e2\u20ac\u009d I thought, as I hunted and pecked for the right key.<\/p>\n<p>Three months later of intensive development later, I was hooked. I had learned most of the keys, and I loved being able to do any operation I could think of with \u00e2\u20ac\u0153one\u00e2\u20ac\u009d button. Like an adept <a href=\"http:\/\/www.tekken-official.jp\/\">Tekken player<\/a>, I could kick buggy code\u00e2\u20ac\u2122s arse with kung fu debug combos that the code was never expecting.<\/p>\n<p>Check the syntax of this code? Reformat it to the corporate standard? Update all the other files from configuration management? Incrementally rebuild all the files that depend on it? Execute the unit tests? Check it in, and publish the branch? <em>BAM<\/em>, <em>BAM<\/em>, <em>BAM<\/em>. It\u00e2\u20ac\u2122s done!<\/p>\n<p>The computer mouse was just starting to become widespread in the office environment, and I watched with horror as a cube-dwelling neighbour tried a beta-test of mouse support. Wuss! I went the other way. I dangled my mouse over a cubicle wall for a month, to clear up the desk space. Everything you could do with the mouse could be done faster with a keyboard shortcut.<\/p>\n<p>It was eventually restored to its rightful position when I had to debug some distributed code, over 17 windows. The windows automatically arranged themselves up on my Xterm so I could see them all at once, but I needed a faster way to select between them than stepping through them one-by-one.<\/p>\n<p>I would never defend the use of such a UI for occasional users. I was using this system for most of the working day, for weeks at a time.<\/p>\n<p>It isn\u00e2\u20ac\u2122t easy on the new users either. I had to go through extensive training to get up to speed. <\/p>\n<p>But once I was there\u00e2\u20ac\u00a6 wow!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The most astonishing part of the GUI greeted you before you had even logged on: the keyboard template attached to the keyboard.<\/p>\n<p>Like an adept Tekken player, I could kick buggy code\u00e2\u20ac\u2122s arse with kung fu debug combos that the code was never expecting.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_s2mail":"","footnotes":""},"categories":[23,25,42],"tags":[],"class_list":["post-119","post","type-post","status-publish","format-standard","hentry","category-based-on-a-true-story","category-insufficiently-advanced-technology","category-rat1000"],"_links":{"self":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts\/119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/comments?post=119"}],"version-history":[{"count":0,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts\/119\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/media?parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/categories?post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/tags?post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}