Sunday, April 27, 2014

Chicago: Day 4 and 5, The Obvious Saturation Point

If you've ever been to a longer-than-two-day conference, you know how I feel about now.  Saturated.  My brain is full.  If I walked into a room full of candy bars, I'd do serious damage.

I started my day in Chicago the same ... at Jamba Juice.  I'm hooked on their steel-cut oatmeal, of which Amy affectionately says, "It looks like throw-up."  What care I?  It has brown sugar crumbly stuff on the top.

Over the loudspeaker, the radio blasts this hideous PSA: "1-8-7-7 Cars for Kids!  1-8-7-7 Cars for Kids!" They keep on singing it, over and over.  It's as if they had just figured out the "your brain needs something repeated seven times" rule from the 1950's.  You know that rule - the one that got discredited about ten minutes after it came out.  Don Draper oughta kick their ass.

The keynote of the third day was by Baratunde Thurston, the author of "How to Be Black."  Thurston was one of the editors at The Onion, and his talk was the funniest keynote EVER.  And it was scientifically proven the most funny by automated testing, since this is the only method that will convince a group of 2000 Rails programmers.  To convince yourself, you may want to hit http://cultivatedwit.com and scroll down to "Section 4".  Awesome!

As the day's workshops evolved, a larger truth occurred to me. It's true I felt out of place because I was old, collared, and PC-toting.  But I also felt out of place because I was taught computer science differently than those around me.  My brain got wired differently.  In a nutshell, I was taught:

  • Learn the fundamentals, principles and laws from the experts
  • Do your programming accordingly
  • When you break the rules, feel incredibly guilty
But the programmers around me were taught:
  • Don't learn any rules.  Dive right into programming.  Come up with something that mostly works
  • Survey the wreckage
  • Go back to the experts and learn any fundamentals, principles and laws.  Use them to clean up your software.
From that description, it sounds like that that I'm disparaging the new way.  I'm not.  It's a bottom-up way of looking at the world instead of a top-down.  It's a Baptist way of looking at programming, as opposed to a Catholic.  In that way, it's expected.  The Catholics came first to bring order out of chaos.  The Baptists came to wrestle chaos of order.  Fantastic!  

And if you don't think programming and religion intersect, you have not talked to any programmers.  The zeal, the passion, the struggle to convert those who don't belong in your camp.  I heard (actually more than once) that "Java is the root of all evil".  

Veganomics

I made a reservation at a Brazilian Steakhouse, then rethought it. I eat meat on occasion, and I'm lucky that my body's pretty adaptible.  But I have limits.  Yelp subscribers told me that waiters come by your table, continually brandishing trays of meat, literally BEGGING you to take some.  You leave having consumed more an entire food chain.  My digestive system would've rebelled - I mean a nuclear rebellion.

So I cancelled my reservation, and ran in the opposite direction ... to Karyn's On The Green.  All vegan.  No hope of any animal product whatsoever.  And while it didn't quite reach Two's level of intense awesomeness, it had its moments.  I've been a big fan of Brussel's Sprouts for about three years, since I learned that boiling them was the worst thing you could do.  Karyn's sprouts were carmelized, smothered in an awsome dijon mustard sauce and served on a sizzling platter.  I was in heaven, and I looked around and noticed EVERYONE was eating them.  My entree was "chicken" drumsticks on top of sweet potatoes.  The drumsticks were actually lollipop sticks but the "meat" was stringy and pretty accurate.  It wasn't salty like the frozen meatless chicken you get at the grocery.

The most awesome dish was vegan creme brulee!  And before you say "no way!"  I have to tell you, it was pretty faithful, even without the 10,000 egg yolks that normally go into it.  It was crisp, crackly, and smoky on the top, creamy and vanilla-y underneath. A quick survey on the web suggests they probably used vanilla soymilk and cashew butter.  Whatever. If you know me, I'm fussy about my creme brulee, and this really fit the bill.  

Hitting The Wall

On the last day, a young man tapped me on the shoulder.  

He said, "Hey!  I slept next to you on the train!"  

I looked at him and I said, "Whoa!  You're right!"   

I had not spoke to him on the train, so I had no idea.  He was from New York City, had done Rails programming longer than I had, and was really enjoying the conference.  But in the crowd of 2000 people, we had not bumped into each other until four days had passed.  

And I thought, wshew!  Good thing I didn't spoon him!  That would've been awkward.

The conference ended on a high keynote.  The speaker, Aaron Patterson, was well-known in the Rails community as a core "committer".  Lemme go back a step.  Rails is a kind of software known as open source.  It's free for people to use, but more importantly, any programmer can look at the code for it, find and fix bugs, and even make additions to it.  It's software written by the community.  But Rails is not a total free-for-all. Some programmers have a higher status than others. If you're a core committer like Aaron, you can make direct changes to the software without approval.  If you or I suggested changes, they would come in a "pull request" which would be reviewed by members of the core Rails group, then accepted or rejected.

So Aaron's talk was half standup comedy and half technical.  His comedy act including roasting DHH (the speaker on the first day), and pooh-poohing his idea that programmers are writers.  This is unlike anything I've EVER seen at a conference.  Nobody comments on anybody else's work, especially in a keynote.  And yet, it was all done with a weird kind of respect.  In this community, the only insult is to be ignored.

In the other half of the talk, Aaron discussed a project he had been working on for three years.  There was a portion of Rails that he thought could be faster and better.  So he did some experiments, wrote some code, tested it thoroughly, honestly weighed the benefits and cons.  He kept his code in a "branch" which is separate from the rest of Rails.  After presenting his findings he asked the audience, "Would you like this in Rails?"  The audience yelled its approval.  Aaron hooked his computer to the projector, typed a few commands, and said, "Done!"

Unbelievable!  I don't know how many software demos you've seen, but I'll bet they showed software before or after a release.  In this demo, the software changed it's character right in the middle.  It's as if Steve Jobs had shown an iPhone, asked the audience, "Would you like two buttons to control the volume?" and he pulls them out of his pocket, sticks them on the iPhone and said, "It's done!"  Freaky!

And with that, we went our separate ways.  I climbed aboard the Lakeshore Limited, sat behind a squadron of Amish (for the record, they do not snore when sleeping), and made off for home ... a little simpler, and little bit more complicated.  


Saturday, April 26, 2014

Chicago Day 3: Choices

Ego Depletion

I walked past this two story head to get from my hotel to the conference every day.  Not sure what the color chart is for.

So the big thing in the morning keynote was on Ego Depletion, or Cognitive Depletion.  Here's the deal.  When faced with a bunch of choices, you spend a little bit of brain power actually making that choice.  Even if the choice is a seeminingly trivial one (like what kind of cookies to buy in a store), you spend valuable mental resources making it.

It explains some stuff in American society that doesn't make sense otherwise.  For example,  Americans usually have an "opt-in" policy for organ donations on driver's licenses.  You have to actually check a box to do it.  But it's usually at the end of a form, so after having your brain depleted by a bunch of questions, you're asked another question.  Americans usually don't check the box.  Europeans, howver, have an opt-out policy - it's the same box on the same sort of form, but you have to check it NOT to donate your organs.  Guess who has the higher oragan donation rate?  In Europe, it reaches virtually 100%.

They've done psychological studies, giving one group 7 things to memorize and another 2 things.  Then they set them loose in a room with cookies in them.  The people with 7 things to memorize tend to grab the cookies.  They know that cookies are bad for them, but they lack the willpower (which also depletes bran energy) to choose.

This relates to my dinner last night.  Perhaps, I enjoyed it more because there were less choices.  I had more brain power to pay attention to my food because I didn't spend oodles of time picking it.  (Plus, it tasted so damn good.)  Americans think it's their god-given right to have lots and lots of choices because "I am a unique snowflake". But it's probably true that we're more alike than we're willing to admit.  Infinite choice is just really tiring.

At the conference, the "Programmers as Writers" them dotted the landscape.  In one workshop, they actually advanced the idea of reading code as if it were novels.  She organized a Code Club.  It functions like a book group - people read code bases, then discuss and critique.  An awesome idea!  And unlike real book clubs, there wasn't the drama and excessive wine drinking.

I feel somewhat of a fish-out-of-water at his conference.  I'm like most participants in that I'm a white male who loves to write software in Rails.  But I'm unlike them because:

  1. I wear collared shirts
  2. I have a PC, not a Mac
  3. I'm old.  And as of yesterday, that's even more true.  

Still, I have a sense that this crowd is more into holistic do-good-in-the-world stuff, so I probably have all the bonding I actually need.  A man named Matz, the creator of Ruby (the language underneath Rails) is its spiritual guide, and the saying goes "Matz is nice, so we are nice."    Indeed.

Macho Salad

I went to Bandera's for dinner.  Some one on Yelp advised "get the Macho Salad.  It's like a party in your mouth."

I loved the ambiance.  Chicago's lawyers and business folks in power suits - discussing the cubs game.  Couples.  A few tourists, but not too many.  A piano jazz trio playing "Desafinado" (which endeared me to them immediately.)  A beautiful sight.  

And my Yelp advisor was quite right.  The Macho Salad was a cornucopia of flavors - figs, goat cheese, a little tomato, chicken, fish, avacado, corn, nuts, and a spicy dressing over it.  The best part was the croutons - little fried bits of corn bread.  There was nothing dislikable about it, individually or collectively.

It was a party and it was fun.  But. It wasn't a love affair.  It wasn't a religious experience.  It didn't change me.  It felt too processed, too familiar, too easy.  It was ground I had already covered.


Friday, April 25, 2014

Chicago Day 2: Birthday Vegetables

It's my second day here, my first day at the conference ... and it's my 49th birthday.  It is one of the few birthdays in my life that's a perfect square (the others being 1, 4, 9, 16, 25, and 36).  Such geekoid fact is totally appropriate at this conference.  Amy sent me some beautiful flowers with my favorite colors: yellow and purple.

Amy's like my birthday present every day!

Programming and Writing

I'll talk about the first keynote at the Rails Conference, but I won't get too technical on you.  It was by David Heinemeier Hannson (affectionately known as DHH), the creator of Rails.

The F-word density was greater than any keynote I've ever heard.  But that was only part of its greatness!

Just a little bit of background, though.  Rails is this programming tool you use to create web programs - sites that actually do interesting stuff, like Twitter, LinkedIn, etc..  What's beautiful about is it's very productive - you can build sites very rapidly in very little code.  And the resulting code is understandable by other programmers, who inevitably have to fix and improve your stuff.

So DHH is not a computer scientist, not an engineer, and kind of despises that whole theoretical side of the fence.  He says that programmers are more Software Writers than Software Engineers.  Their job is to be concise and clear in their writing, just like English writers are supposed to be.  They should not be burdened by metrics, which are of very little practical use.  You don't tell whether an article is good by the number of words in it.  Or even the grade level of the words.  And finally both software and regular writing have guidelines that, when artfully broken, can lead to startling beauty and insight.

As a CompSci and English dude, this makes perfect sense to me.  And it's not a new idea.  Donald Knuth, who's one of the Founders of CompSci, dubbed it "literate programming".  The programmer writes for two audiences: the computer and (more importantly) the programmers who follow.  And you learn that art by both writing lots of code and reading lots of code ... not by following platitudes.  Which is why there is no more "formulaic programming" than there is "formulaic writing."  If there were, Time Warner would be making computers compose novels.


Once that idea came up, I began to see it pop up all over.

One other theme I'm noticing is people are interested in Programming for the Greater Good.  There was one talk by a George Mason University researcher who used his programming skills to further bee research (a very hot topic these days).

Although I didn't know it , this was the kind of inspiration I desperately needed.  Volunteerism was something I had left behind a long time ago - mostly when Kathy got sick and there wasn't any free time to do anything.   I didn't know how much I missed it.   A long time ago, I did computer work for the Lincoln Food Bank.  It took only 4 hours a week to help streamline their operation. Since then, with the internet and Open Source software, it's even easier to apply programming skills to people who need it.  Now I'm getting psyched...

Two

That night, I capped it off with the most intense meal of my life.  Maybe not the best - it's hard to top Les Olividades in Paris.  But the most intense.

It was at a restaurant called Two.  Yes, I "made a reservation for one at Two" - a confusing email followed. It took me about an hour to walk there since Google Maps can sometimes be a horrible mistress (Jon - don't take that personally. Or do.  Maybe it was your fault!)  But there it was, right across from the Tesla dealership - very symbolic, I think.  The elite new guard.    The lighting was low and there were two huge communal tables.  One side was to the wall with pillows in back.     

These are people obsessive about the FLAVOR of the ingredients. Not complexity so much as intensity.  Lettuce should taste like lettuce.  And if you're like me, you're thinking "lettuce has a taste?"  It turns out it does ... if it's grown on a farm that's close by, grown by obsessives (Two actually owns a share of the farm), and therefore incredibly fresh.  

I started dinner with a Three Sheeps Pale Ale from Wisconsin, with bubbles like whipped cream and a very unbitter hoppy taste.  Almost flowery.  And then there was the best salad EVER.  It was topped with homemade bacon, which the waiter encourage I taste by itself before digging in.  The cucumbers were so thin you could see through them, but they BURST with cucumberness.  Little strips of apples criss-crossed the top.  And on the side were four marble-sized, deep fried bits of homemade ricotta.  (Ricotta has flavor?  Again, yes!)  I bit into one, and the cheese oozed out, not too hot, not too cold.  The salad was not perfect in the traditonal sense - there was a little bit of brown on some of the leaves - but pure genius always makes you questions whether mistakes are really mistakes. It was a ten dollar salad and worth ever penny.

For dinner, I had Ramp Risotto and Roasted Broccoli with Cauliflower.  I asked about ramps, which are a part spinach/part onion vegetable.  They boil them all day into a puree.  It's everything you like about onion flavor without the hotness or bad breath afterwards.  It's hard to believe they were once considered weeds.  I shoved my face into the steam coming off the risotto and lingered there for a few minutes.

But for me, the most amazing dish was the Broccoli and Cauliflower.  They were smothered with a fondue cheese sauce that had a little kick to it.  But the actual flavor of the actual Broccoli and Cauliflower was so intense, it was like eating five of the the same food at the same time.  The texture of both was just a bit crunchy, but the warmth went all the way to center of the vegetable, which is different than a regular stir fry.  (Stir fry is crunchy, but the outside is hot and the inside cold).  It was astounding!  I think there was a little citrus in the middle.  But whatever it was, I could still taste it hours after seating.

Words fail me.  These are humble vegetables.  I don't know how to describe them, except they were just MORE SO.

Dessert was donut a la mode.  Well, that's a literal reading, anyway.   The donut tasted more like the wheat inside it than sugar, and the ice cream (also homemade) balanced the sweetness of maple syrup across the top.  And they gave me an after-dinner aperatif (bubbly red wine with a rose aroma) for my birthday.

Sometimes I believe that restriction, not freedom, is the true source of creativity.  Before you color outside the lines, you have to have lines.  So.  If you let nature draw your boundaries for you, you can be creative in ways that unbounded processing and shipping cannot.

Mind, consider yourself blown.  A nice thing for your 49th birthday, eh?

Wednesday, April 23, 2014

Chicago: Day 1

I'm going to Chicago for a Ruby and Rails conference.  Thrown into the best city in America with a bunch of other introverts.  What could possibly go wrong?

I am not very optimistic these days, so I'm hoping to get some sort of jolt of ... well, something.   And I want to leave a small carbon footprint doing it.  So I'm taking the train, which Cornell likes because they're very environmentally conscious.  Plus cheap.  Just because their Ivy League doesn't mean they have mad money.

Besides, riding on a plane is depressingly trivial, and everything is done for you.  A train requires more finesse, and while that's easily acquirable, it requires a folk wisdom that isn't around much these days.  Lady Gaga is not Woody Guthrie - she ain't gonna tell you how to ride the rails.

But I will!

How to Sleep on Amtrak

If you're gonna do train travel, the odds are pretty good you'll be travelling at night.  You could reserve a sleeping car for $300, but to me that's bordering on insanity.  I did a sleeping car once, in France, and it was not very comfortable ... and I don't expect the Americans to improve on it very much.  

For God's sake, sleep in your seat!  This used to be a little easier when Amtrak provided free pillows and blankets.  But no more - maybe someone got some bedbugs or something, I dunno.  You can buy a travel kit from the conductor, but then that's one more expensive thing to take home.  Here's the right way:
  1. Get yo'self a nice very thin blanket.  That'll fold up and be OK to carry in your carry-on (I do a spacious backpack).
  2. Get a travel pillow.  A regular pillow can also work, but they're more bulky.  Don't expect too much from your travel pillow.  You might be one of those people who can slip it around your neck and sleep sitting up.  That's not me, and it's probably not you.  But you will make do anyway.
  3. On the train, when you get your seat make sure the "recliner" footrest actually works (not the one on the chair in front, but the one that's attached to the seat).  On this particular trip, mine wasn't working and I regretted it.  Oh ... and aisle or window seat doesn't matter, although window seat has the advantage of a nice cold surface to lay on.  I like the aisle because I can dangle my feet out there for people to trip over.
  4. To go to sleep, put your pillow on the arm rest (if you have an aisle seat) or the wall (if you have the window seat).  Put the recliner seat up.  Put the foot rest down.  Put the chair back.
  5. Throw the blanket over you and sleep on your side with your feet on the foot rest and your body sprawled out over the recliner leg rest.  DO NOT under any circumstances face your neighbor.  There's nothing worse than waking up to a face full of .... uhh, your neighbor's bad breath.  Or vice versa.  
  6. No spooning.  Need I even mention that?  
  7. Don't worry about sleeping for more than an hour or two at a time.  The more you worry, the less sleep you'll get.  Just expect that you'll wake up and turn every once in awhile, and you'll be OK.
Simple as pie.  And if you're in central New York like I am, you can basically sleep through an entire trip to Chicago.  It's like teleporting.

The Land of Big Buildings

The train was an hour late, but the skyline from it is quite a sight.  I like the Chicago skyline anyway, but this is a different vantage point from the stop-and-go traffic of I-94.  It's a little less intimidating.  I decided to walk from Union station to the hotel, which is only 2 and a half miles.  I had totally forgot that Chicago miles are actually longer than the standard mile by ... well, however many feet it takes you to get totally tired.

Starving, I got lunch at the hotel.  That pretty much reminded me that "there isn't a bad meal in Chicago".  (Although later I'd hear of some conference goers getting bad beef brisket.  Yikes).  I had a grilled vegetable panini and some fries - fantastic fare.  And lots of water. 

And then, since it was my free day and a day before my birthday, I went out to Dusty Grooves record store in the near North end.  It was like going to Mecca!   They're a record store in the best sense - not big like Tower Records used to be - but everything they have, you will want.  I got a lot of music that I can't get on the Internet.   Chicago blues. Tropicalia.  African Psychedelic Rock.  You know, the usual stuff.  I went to the counter with a teetering stack of CD's, and they checked me out calmly as if this sort of thing happened every day.  Which I'm sure it does.  

I made it downtown with a Santa-sized backpack of CD's, then went to go see the Aqua building.  It's probably my favorite building in the world next to Fallingwater.  It was not quite finished the last time I looked at it in October, 2014.  Now all the glass was in, and it stands majestically like an ocean tilted upwards.  The grey parts are balconies jut out in various shapes and widths (I'm sure you pay more for the "juttier" ones).  The blue are windows, which are reflections of Lake Michigan or the river.  Absolutely gorgeous.  And designed by a woman architect (no surprise there.)

I then met up with my niece, Ramona Joan for dinner.  I've seen her twice in the past year, the other being at my parent's 50th anniversary bash in the Smokey Mountains.  She's a hoot!  Having finished her bachelor's at Oberlin, she took a volunteerish position with an Episcopal Refugee center in Chicago.  It's a year-long gig, sorta my like stint with Vista back in the 1990's.   You gotta hand it to her sacrifice though.  It's tough being a poor in a town like Utica, like I was.  But it must be terrible being in a town like Chicago that requires lots of money, and tempts you all the time with opulent stuff.  

Anyway, we ended up at the vegetarian place Kathryn's Cooked.  (As opposed to Kathryn's Raw, which is another restaurant Kathryn runs).  Ramona had the grilled vegetable sandwich and coleslaw ... and she amazed herself by eating every bit of the coleslaw.  I had some cream of corn soup which is a little underwhelming, but then a taco salad which made up for it twice over.  Unlike other places, they didn't attempt to make the meat look like meat.  It was just tasty seitan/soy stuff in a spicy sauce that was the total bomb!  Pop that on a bed of nice greens.  And finish with coconut pie that wasn't overly sweet, just like warm (not melted) ice cream in a pie with just a hint of coconut flavor.  Awesome!  Every bit as good as the Moosewood, and that takes a lot for an Ithacan to admit.

We talked about women's studies and movies and books.  All sorts of stuff.  Like all English majors, she's a Renaissance Woman and can discuss any subject.  Since I will be waist deep in computer scientists the next 4 days (who will be loathe to discuss anything that doesn't have an iPhone App), I was glad to spend some time with her.

I finished the day at the Knickerbocker Martini Bar.  Pour me a sidecar, my friend, it's gonna be a long week.