Ben Langhinrichs

Photograph of Ben Langhinrichs

E-mail address - Ben Langhinrichs






October, 2003
SMTWTFS
   01 02 03 04
05 06 07 08 09 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Search the weblog





























Genii Weblog


Civility in critiquing the ideas of others is no vice. Rudeness in defending your own ideas is no virtue.


Tue 28 Oct 2003, 08:20 AM
"You're taller than your e-mail" was the first thing Bill Buchan said to me at the UK Admin-Developer Conference after my session.  It seemed ironic from someone who I had pictured as Hagrid after reading and hearing about his exploits, but who is actually somewhat short and round robust and vertically challenged.  (Of course, I am 6' 6 1/2" (or two meters, to be even easier), so maybe he has a point.)

It seems to be human nature to think that others will be "like us".  It surprises us when people speak differently or look different or like different sorts of food.

What constantly surprises me is that people at these conferences do seem to have one thing in common, with each other at least, if not with me.  They all seem very happy with technology.  Oh, they may quibble about J2EE vs .NET or Mac vs. Windows or Domino vs. Websphere, but they all actually seem quite happy discussing it.

Why aren't they like me?  I hate technology.  I don't like PDAs or WIFI cards.  I certainly don't want a phone that is smarter than I am.  I would be more than happy if I could develop software without any mechanical device at all.

Because I do like to develop software.  Not because I like the technology, but because if people must use the horrid stuff, it should be easier than what I have to go through.  I once did a demo for a company with a simple table with seven rows and three columns and a bit of LotusScript code using Midas (10 lines in all probably) which sorted the table.  No loops, no fuss, with the guts of the code being something like:

Call rtitem.ConnectBackend(doc.Handle, "Body")
Set rtTable = rtitem.DefineChunk("Table 1")
Call rtTable.SortByRow(2, True, True, False)
rtitem.Save

It was short.  It was easy to read.  It was fairly clear what it did.  It ran practically instantaneously.  So why did I show them?  Because the kicker was, those four lines of code ran over eight and a half million lines of C code.  That's right, eight and a half million lines (obviously not all different lines, because there are only about 40 thousand lines of code in all of Midas).  So what's the point?

For those of you who have not tried to manipulate rich text with the C API, you'll simply have to take my word that it is horrible, wretched stuff.  That table might have nested tables and sections and graphics within it.  It  might have fifty columns instead of three.  The table cells might be empty or filled with pages of formatted text.  Midas has to handle all that, determine what to do, take the table apart and put it back together again, and it has to do it efficiently.  It has to handle LMBCS and hotspots and packed data records and so on and so on.

"So, why does he do this again?", you might reasonably ask yourself.  

Because, as I said,  I hate technology.  Nobody should have to go through the pain I go through.  Other, "normal" people, don't like to sit around and code, or program their wireless PDA Swiss army knife electronic smart gadgets either.  "Normal" people want to point at what they want and say "Sort yourself, table" and then go home and watch reality TV on the telly.  They don't find any joy in iterating through nested structures or building hierarchical multiple inheritance objects that wet their pants if the expected data is different than they expect.

So, I hereby dedicate Midas to the "normal" people, who don't like programming, and think it should take no more lines to do a task than it does to describe it.  And should you think that even that agent I have above is a bit too much, consider that in @Midas Formulas, the formula code to do the same thing would be:

@DbCommand("Midas":"NoCache"; @DocumentUniqueID; "Table 1"; "SortByRow"; 2; @Yes; @Yes; @No; "Save")

So go home, and enjoy the telly!  I'm going to go back and hang around with a whole bunch of people who look shorter than their e-mails, but have digital cameras which hold 850 pictures at 20 zillion by 20 zillion resolution, whatever that means.

Copyright © 2003 Genii Software Ltd.