Skip to content

The Longevity Project

01-Jul-11

Picked up a pretty good book, on a random browse through the bookstore – which is unusual as most books I end up buying through recommendations and Amazon.

The Longevity Project
website, Borders (where I bought the book), Amazon, NPR, Atlantic, Stanford, Psychology Today

The interesting bit (for me) is that this is a eight decade long study of gifted middle class children from public schools in California – a group of folk much like myself – so the results should be more than usually applicable. The derived conclusions are rather encouraging. Turns out I might have a good chance to live much longer than some of my short-lived closest relatives. :)

An odd insight – Dyson on Feynman

11-May-11

Finished reading Freeman Dyson’s book Disturbing the Universe a few weeks back. Gained a couple unexpected insights – one about nuclear power and one about the Physics of Richard Feynman.

Before going to university I read quite a few books about science and Physics, but the local city library had very little about (then) recent Physicists. When at university I certainly heard about Feynman, who has then teaching at CalTech, not far from UCI where I was attending. In school my reading was mainly textbooks. As my interests shifted from Physics to software, my readings shifted as well. So far as I know, I have never read anything written by Feynman.

Though Physics is not my domain, occasional play with notions about Physics has always been in the back of my mind. Lacking the math needed to do real work, there is no consequence to my idle thoughts.

Rather a while ago, I settled on an odd intuitive view of Physics. The surprise in reading Dyson’s book was finding that Feynman had arrived at his own unique view of Physics, that seems to exactly match my own. Clearly Feynman was capable of doing the relevant math, and I am not. Did I at one point read something of Feynman’s, and it only recently bubbled to the surface, or did I come to the same view entirely on my own? No way to tell, for certain.

Started practicing drawing again. The only Art course I have ever taken in my life was a year at university, of which only the first few months was drawing. Picked up drawing relatively quickly, compared to those of similar experience, but was hopelessly poor compared to those who had practiced their entire (then young) lives. Always wanted to develop further, and my recent practice is a good way to trim any excess ego. (Read: I am improving, but have a long way to go!) A friend recommended an excellent book: Drawing on the Right Side of the Brain. Turns out the book has taught me nothing about drawing, exactly, as the recommended practices I had already somehow found on my own. Instead what I got from the book was a bit of enlightenment – that somehow I have always had a fully turned on “intuitive” mind. This explains some of the odd moments in my past, and how I approach my work.

Apparently Feynman was odd in the same way. Wonder what would have happened if I had encountered Feynman when in school. Would I have stayed in Physics?

Curious.

When spending time with doctors and hospitals is good news.

11-May-11

Been spending a lot of time with doctors, hospitals, getting tests – and it is all good news.

During my last bout with pneumonia, had to find a new doctor. Got very lucky.

My doctor in turn gave an excellent recommendation for a knee doctor. Lots of tests, including a visit to a cardiologist (there are heart problems on both sides of my family tree), all with good results. Got surgery on both knees a bit over four weeks back. Have been able to resume hiking, for the first time in several years. Got a long ways to go, but … Hell Yes!

My doctor ordered an unusual set of tests, found a clue, and gave an excellent recommendation for a Pulmnologist. The lung doctor ordered quite a series of tests, leading to a lung biopsy – not a fun procedure. There is a bunch of “weird shit” at the bottom of my right lung, that the doctor suspects is “Valley fever” – a fungus that sometimes settles in and causes repeated bouts of pneumonia. About every four years, for the last forty years, I have a fairly nasty bout with pneumonia. If the tests confirm the doctor’s suspicion, this is treatable. For the first time in forty years I could be free of this unwanted “guest” that constantly drains my immune system, and has tried to kill me about every four years. Hell, yes.

Very seriously jazzed. Apparently I can be quite entertaining when seriously “up”, at least based on the nurses’ reactions. :)

Sex is cheap?

02-May-11

Ran across an article in Slate:

Sex Is Cheap
Why young men have the upper hand in bed, even when they’re failing in life.

What the article says fits with the behavior I see around my sons. Sex seems to very available, and cheap. Guess I was born into the wrong generation. :)

On the other hand, I have a daughter … wonder if there are still colleges with a larger male population.

Saw a reference … somewhere … that this crosses generations, that 20-something younger women are hunting out the more “valuable” older men, and that the greatest impact is on the late-30′s career-minded woman, who suddenly finds the dating pool near her age depleted. Cannot find that reference…

Very … odd?

Segregation – Partition the problem

15-Apr-11

My question (in 2002) to Steve Theby, who originally told this story:

You were part of a project deploying a large database application.
Response/processing times were not reliable or predictable until each
computer was dedicated to a specific kind of transaction.

At least this is my somewhat hazy collection.

Steve’s answer:

Yes…I did work on a very large project that essentially constructed a predictable response framework for American Express credit card processing. I worked on it under a contract with McDonnell Douglas in St. Louis (we had the world’s largest computer room with over 100 IBM system engineers permanently on site). The tape hanger personnel used to wear roller skates so they could mount/unmount drives faster (I’m not making this up). We had at least 300 tape drives the size of a four drawer, 30″ filing cabinet and a tape archive storing more than 30,000 tapes. Anyway…I digress…

Application

This was a world-wide application responsible for evaluating and authorizing credit transactions. They planned to have several large IBM mainframes located in the US and the UK to balance out the US and European transaction loads. Our work headed us to Brighton, UK for about a one year period. The application was written in COBOL using the CICS transaction monitor plus the IMS shallow network database. CICS gave us a terminal handling front end that allowed the application to scale up with respect to connections and IMS gave us a very quick, indexed hierarchical lookup capability.

Architecture

The initial architecture for the application pushed all transactions through a single machine in a FIFO queue. Although this somewhat worked for small loads (when the machine was below 40% utilization), it failed quite predictably at medium to large loads. Even at small loads we could not reliably predict closure times across transactions. This was primarily because each transaction had different resource requirements in terms of database I/O, CPU and communication transit time and they were mixed together.

The goal was for a single mainframe to handle 2000 terminals. As I recall, the 40% mark was reached at about 200 terminals (a bit shy of expectations). This was a monster machine (something like a 30MHz CPU with 512K of awesome memory and 30MB 2119 removable disk packs). I will say that the thing really ran due to its wonderful I/O channels….something PCs still don’t have… I believe that each merchant had a special dialup 1200 baud modem for super fast connectivity. Our Solution – separate transactions into like sets and route to different machines

We started a transaction QA group that put together a process called CPA for Call Pattern Analysis. This process evaluated each transaction sequence for its CPU, I/O and database resources required. We ended up strongly typing each transaction based on where it fit in this resource profile. If I recall correctly, it went something like this:

Type CPU I/O DB
1 0.0 < seconds < 0.1 0 < bytes < 500 00 < calls < 05
2 0.1 < seconds < 0.5 500 < bytes < 1000 05 < calls < 20
3 0.5 < seconds < 3.0 1000 < bytes < 2000 20 < calls < 50
4 (batch) 3.0 < seconds 2000 < bytes 50 < calls

We then routed transactions of the same type to a designated machine so that we could predict when a transaction would finish (this put all the same size stones in the same hour glass instead of mixing sand, stones and boulders).

This really helped things out and wound up meeting the expectations of American Express. Even though this meant that some machines were frequently idle, each type of transaction was fairly dealt with and dispatched in a uniform, consistent manner.

Before this arrangement, we had small transactions executing very quickly (< 1 sec) one time and then stalling out for 10 seconds the next time because of a ‘boulder’ transaction hogging everything.

Hopefully this helps. I looked briefly for some of our old documentation but couldn’t find anything (that was 12 years, 10 managers and 3 companies ago).

Stephen Theby (stheby@drsys.com), PRO-IV Tools, Architect
1-714-724-5640 (Irvine, Ca), 1-314-214-4025 (St. Louis, Mo)

Implications

Applied to the present, I believe this story has interesting implications. Start with the fact that the inexpensive PCs of today are remarkably powerful, compared to the machines of 10 or 15 years ago. Almost ridiculously so.

Add to this the lesson from the above story about partitioning the problem, so that similar operations are on one machine.

In the past it made sense to run lots of services (mail, news, database, files, etc.) off one machine, as computers were expensive. This is no longer the case. Computers are cheap. Today you are likely better off using each server for a single purpose, and no other purpose. Once a server is running reliably, lock the box in a closet, and leave it alone.

Note that this model also applies to the desktop.

The Windows PCs of today are in a sense turning into the mainframes of yesteryear. Fully install Windows NT and Microsoft Office and you get hundreds of megabytes of seldom used services. Address books, spelling and grammar checkers, database engines, and lots of other seldom (if ever) used services. Hundreds of megabytes of code and data, most of which will never be used.

Imagine instead that we carve off chunks of functionality to dedicated servers.

Spelling checkers run on a dedicated spelling check server. All that runs on the client is a small bit of code to make requests of the server. Performance is likely better as a properly configured (and now inexpensive) server is likely able to turn around requests in less time than it would take to load the spelling checker and word lists from local disk. Not incidentally a spelling check server is likely to have current lists of company specific words, and so is able to prove not only faster but also better answers.

Apply the same model to address books. An address book server (LDAP is of interest here) can have individual, department and company address books. With proper configuration, you again can get both faster and better answers.

Repeat for every activity that is not inherently local to the desktop.

Note that unlike the mainframes of yesteryear, the goal for a “properly configured” dedicated server, is to optimize response time. Where once we would try to make use of every spare mainframe cycle, with dedicated servers the goal is to respond to incoming requests as quickly as if the server were idle.

One way of looking at this notion is as a natural step in the evolution from shared mainframes, though desktop PCs, to network computers.

  • With mainframes the idea was for all users and tasks to share a single machine.
  • With desktop PCs the idea was for all tasks for one user to share a single machine.
  • With network computers and dedicated servers the idea is for any single task use as many machines as needed to complete quickly.

All this inferred from an old application that today could run off a single server with an attached RAID :-) .

Story based reasoning and interviews

15-Apr-11

Roger Schank (a prominent AI figure) gave a talk at UCI several years back. His notion was the humans do not naturally reason deductively, rather we use something he called “story-based reasoning”. In fact most of human communication is in the form of “mini-stories”. This upset the deductive AI people to no end, but to me seemed to make a great deal of sense.

(There is a certain amount of recursion here).

When I have done interviews I have found it useful to get the interviewee to tell stories. In particular stories about work they have done in the past – what worked, what didn’t, points of interest, how did they approach the problem.

My notion is that if you can cast your experiences as a story, bringing out points of interest both high and low, then you are likely to have gained a good understanding.

In one run of interviews we divided up so that one set of interviewers did the detailed tech questions, and I tried to pull stories from the interviewee about work they had done. Our opinions after the interviews agreed remarkably. Those interviewed who could tell good stories, generally did well on the tech questions. In a few cases the interviewee did well in the tech questions, but not at telling stories.

In those cases where a candidate did well on the tech questions, but not at telling stories, our opinions agreed. The interviewers who had asked the tech questions were usually uncomfortable with these interviewees.

(So I’ve just told you a story, about eliciting stories from the interviewee, to evaluate reasoning ability, in terms of stories…).

Firsts

15-Apr-11

A list of programming languages is not very informative, so I compiled this list.
(Right. Like this page really has a serious purpose.)

1973 - First program in Fortran
1974 - First program in Basic
1978 - First program in Pascal
1979 - First program in Lisp
1983 - First program in Modula-2
1984 - First VCR program
1984 - First program for DOS
1984 - First program for Windows (barely)
1985 - First program for Unix
1985 - First program in C
1986 - First used SQL (with Oracle)
1987 - First program in AWK
1992 - First program in C++ (maybe 1989? When did g++ come out?)
1992 - First program in Visual Basic
1992 - Second program for Windows
1993 - First Web page
1994 - First program in Java
1998 - First program in Perl
1999 - First ATL/COM program (not counting some small stuff in 1996)
1999 - First Java servlets
1999 - First IBM mainframe program (since 1973)
2002 - First PHP script
2003 - First full dynamic web application: HTML, CSS, Javascript, Java

Burning Man isn’t – anymore

04-Apr-11

First time I heard of the Burning Man event it sounded pretty cool – a scrappy creative exercise outside the usual bounds. At the time I was wrapped up in the tail end of a bad marriage, and had young kids to tend. Attending was just not practical.

A few days back, saw an announcement for a local group to build an exhibit for Burning Man. Sounded interesting – a break from my usual routine, and chance to be a little random. Have been slowly turning my garage into a personal workshop. I like to build things, and this would not be the first time I fabricated something without … coloring between the lines.

The drive through Los Angeles and into Hollywood lived up to the LA reputation for lousy traffic (this on a Sunday evening), but was not too bad. Got to the meeting place at the appointed time (was the only one to show up of those that promised), chatted for a while with the guy who posted the announcement, chewed on some notions, then – when it became clear no one else was going to show – headed home. Spent the drive home thinking of possible practical-to-fabricate riffs on the main theme.

Pretty interesting, so far. There were some odd notes in the conversation that I could not place. When I got home, checked the Burning Man site for pragmatics.

Ticket prices are just shy of $400/person. Oh. Right. Now the odd notes made sense. This is no longer the scrappy/creative event it once was. Burning Man is no longer Dadaist, but rather a very bourgeois cool-kids party. Scrappy is gone. My model is whether I would go as a cash-strapped college student (as I once was). To the original Burning Man, yes. To the present example, no. Substantial ticket prices exclude the more random and keep out the riffraff.

With that realization, my interest evaporated.