Category Archives: Life

The Problem of Homelessness

Like most people, I used to have very little interaction with the homeless.  I’d see them every now and then on a street corner, or sometimes sleeping sheltered against a doorway if I was out early in the morning or late at night, but that was about it.

A couple years ago I started helping out with an operation that provides a meal for the homeless once a week, run by a local church here in Edinburgh.  They do a fantastic job of providing a really good meal in a nice, warm, safe setting, and the thing I like most about it is they encourage their members to bring their families and attend and eat alongside the guests.  It leads to some really interesting situations where you’re never really sure who is homeless and who isn’t, and it’s a dynamic that I really enjoy.  It’s non threatening and they don’t evangelize, they’re just providing a community and a meal.

One of the things I learned through this experience is that the edge is often very fine – many of us are just a lost job, divorce, or mistake away from being out on the streets, and once that happens, it can be very difficult to get back into normal life.  Another thing I learned is that most of these people are invisible.  I see them a lot on the streets of Edinburgh, and they look like you or me.  It’s quite nice seeing a guest and stopping for a quick chat, even if sometimes it takes a few tries calling their name because they’re not used to being spoken to while walking around.  While the safety net in Scotland is fantastic, particularly when compared to America, there are still people who fall through and there are an estimated 35,000 homeless here.  Often they’re afraid of something, running from something, or have mental health issues.  Providing these people a way out is difficult, and that’s why we’ve been proud to support SocialBite for several years at Administrate – they often provide our weekly team lunch, lunch for our board meetings, and have catered various events for us, and they do so staffed mostly by the formerly homeless.

This year, I’m choosing to join a couple hundred other business leaders to sleep outside for one night in December in support of those of us who often have no choice.  Money raised will go towards the construction of homes for those who have none.  If you’d like to donate to this effort you can do so here, and you can read a bit more about this over on the blog at Administrate.

Thanks!

 

 

Visiting the Tech Model Railroad Club at MIT

Last night I experienced the privilege of visiting the Tech Model Railroad Club on MIT’s campus.  As an avid model railroader, computer science major, and great admirer of books like Hackers and Accidental Empires, I’ve heard of the TMRC for most of my life.  As a kid, my parents bought the 1986 edition of World Book, which underneath the entry “Model Railroads” included a picture of the TMRC layout, something I’ve never forgotten.

tmrc station

The first chapter of the book Hackers tells how some of the earliest computer science pioneers were involved in the TMRC .  A few of the notable members were Alan Kotok from DEC, Richard Greenblatt the coinventor of the MIT LISP machine (which is housed next door in the MIT Museum), John McCarthy who coined the term Artificial Intelligence and helped developed the LISP language, and Jack Dennis who was one of the founders of the Multics Project (the precursor to Unix).  These members along with others helped coin the term “Hacker”, and inscribed within the “Dictionary of the TMRC language” was the (now immortal to all computer scientists) phrase “Information wants to be free.”  These guys were budding computer scientists, brilliant minds, mischievous hackers, and they were serious about controlling model railroads.

The first chapter of Hackers describes the interplay between trains, their control, and what the TMRC meant to different students:

tmrc-overpass

“There were two factions of TMRC. Some members loved the idea of spending their time building and painting replicas of certain trains with historical and emotional value, or creating realistic scenery for the layout. This was the knife-and-paintbrush contingent, and it subscribed to railroad magazines and booked the club for trips on aging train lines. The other faction centered on the Signals and Power Subcommittee of the club, and it cared far more about what went on under the layout. This was The System, which worked something like a collaboration between Rube Goldberg and Wernher von Braun, and it was constantly being improved, revamped, perfected, and sometimes “gronked”—in club jargon, screwed up. S&P people were obsessed with the way The System worked, its increasing complexities, how any change you made would affect other parts, and how you could put those relationships between the parts to optimal use.”

tram system

For model railroaders, the TMRC is probably in the top 10 most famous layouts in the world along with names like John Allen’s Gorre & Daphetid, George Sellios’ Franklin & South Manchester, and famous club layouts like the San Diego Model Railroad Museum.  For techies, there is no other layout in the world of interest that’s anywhere in the TMRC’s league.

It shouldn’t surprise anyone that model railroading and computers have always been bedfellows – even today model railroading has led the way in developing standards around Digital Command Control, interfacing locomotives, signalling, and other controls to a computer, and the Java Model Railroad Interface has provided us the world’s first successful test case of the Gnu Public License (the GPL), the open source software license that Linux and much of open source code relies on!

card operating schemeWith all of this background, I probably undersold the importance of the whole thing to my college roommate and his wife who live in Boston.   When they asked me what I wanted to do during our afternoon together it struck them as a bit odd that I’d already emailed the club from Scotland, had the phone number, and was anxious to make sure we didn’t miss the window.

Walking into the layout room we were met by the wonderful MIT alumnus and club member John Purbrick. He proceeded to give us an hour long tour showing us the various control systems, buildings, car card operating scheme, points of interest on the layout, and description of future plans.

custom built throttleTMRC uses a home grown software system (written in Java with the fronted in Python, all running on Linux) to run the trains.  The layout is still using DC block control, and trains can be run via the main computer system, or engines can be assigned to one of the many hand-built walk around throttles.  All turnouts are computer controlled and electronically operated, none are hand thrown.  For each yard or town area, there’s a diagram of the track layout with numbers on the left and right hand sides.  By keying in the number 0 on the left, and the number 5 on the right for example, the turnouts are all automatically thrown to present a route between the two points.  It’s simple, elegant, and impressive for a home built system.  As Mr. Purbrick put it, “We use a home built system on this layout because here at MIT, we have some experience with software.” Trains are detected by the software using electrical resistance, so operators can see from the software whether a train is on a siding, train with engine, or no train at all.

The main level of the layout is mostly complete, but there are plans for additional levels, and the layout features several huge helixes.  All visible mainline track is Code 83, sidings are Code 70, and there is some Code 55, and all visible turnouts are hand built.  There’s also a tram system that runs on one part of the layout.  Rolling stock varies but includes locomotives from Atlas, Athearn, and Kato. The president of Kato has visited from Japan and brought with him a gift of a few locomotives and some passenger cars.

soda machine

The TMRC receives no financial support from MIT other than free use of the space.  Just like in the late 50s (and covered in the book Hackers), the TMRC is supported from the proceeds that are made by selling soda from a machine in the hallway, and they turn a tidy profit according to Purbrick. A hand scrawled note affixed to the machine explains where the profits go and encourages patrons to email soda suggestions to the club for inclusion on the menu.

These days there aren’t many members left, apparently.  Maybe a dozen or so, although anyone can join. There was only one other member there while we visited, and the club struggles to get enough people together for operating sessions. Apparently there are several other thriving clubs in the area, but I wondered if there wouldn’t be a population of students out there who might not know of the TMRC’s heritage, it’s incredibly complex computer control system, and its delightful layout?

playing tetris on a buildingAs we made our way out at the end of the tour, Mr. Purbrick told us that we couldn’t leave without seeing the Tetris building.  From the hallway looking through the windows onto the layout, there is a control box.  When activated, the iconic tetris music begins to play, and the windows of the skyscraper light up to represent tetris blocks, which descend.  You can play a game of tetris represented on the windows of a building modelled by the TMRC, all powered by custom software and hardware components.  The creator of Tetris himself has been by to see this particular implementation, and while it wasn’t quite finished, he is said to have given it his approval.

“It’s one of our better hacks,” said John Purbrick, and I couldn’t agree more.

2013: Year in Review

Wow, that was an incredible year! Easily in the top five years of my life, which is saying something seeing as how 2012 was also a great year.

It’s worth saying that if you’re reading this and 2013 was not a great year for you, don’t be discouraged! I have a clear memory of standing in Zurich on December 31st, 2010 as it drew near midnight, turning to The Wife and saying, “Well, that was about the worst year ever!”  We read so many vapid accounts of great years online, and if you’re in the camp that I was a few years ago, know that it can and will get better.  Find a few things.  Focus on them.  Make some changes.  You can do it.

Travel in 2013

  • Paris, France (twice – once to visit family and see the French Open, and once to take The Wife to Euro Disney for her birthday)
  • Inverness, Scotland (twice)
  • Zurich, Switzerland (speaking)
  • Dallas, USA
  • Dubai, UAE
  • New York City, USA
  • Auckenlich, Scotland
  • Pitlochry, Scotland
  • Sutherland County, Scotland

Best Books I Read
Ultimately, I didn’t read quite as many books as I wanted to (goal of 24 last year), but I did manage to read a few. Here are some of the best. Non-cyclists won’t care about the cycling books.

  • The Dark Tower (Books 1-3)
  • Endurance: Shackleton’s Incredible Voyage
  • Strange Stones: Dispatches from East to West (best book of the year)
  • Seven Years in Tibet
  • Christians and Politics: Uneasy Partners
  • The Great Train Robbery (re-read)

Cycling Books

  • The Story of the Tour de France Volume 1
  • Lanced: The Shaming of Lance Armstrong
  • The Rider
  • The Secret Race: Inside the Hidden World of the Tour de France

Books I Hated

  • The Museum of Innocence
  • Cloud Atlas (loved the movie though)

Highlights of the Year

  • Attending the Edinburgh Fringe Festival (again)
  • Spending Thanksgiving in a 18th century Scottish estate (again)
  • Three cycling events: Tour of the Borders, Caledonian Etape, and Lafuga trip to Tuscany
  • Attending the French Open
  • Our success at work – Administrate doubled its revenue in 2013

Cycling

This became my main hobby in 2013, despite the concern I’d not stick with it. I bought my first road bike in January, not really knowing what to expect, with a goal of riding the Caledonian Etape (81 miles), and trying to stick with it, mainly for health reasons.

I ended up riding and finishing the Tour of the Borders, which was one of the worst (best) events I could imagine, in the worst possible weather conditions I’ll probably ever ride in again. I finished.

Went on to ride a 50 mile sportive in Aviemore, attempted a 110 mile sportive from Glasgow to Edinburgh (DNF – destroyed tire), attempted a 100 mile Glasgow sportive (couldn’t make it due to rental car issues), and booked a three day cycling trip in Tuscany.

Overall for the year, I rode more than 1,800 miles and climbed more than 104,000 feet of elevation. Pretty happy about that.

Speaking

One of the big goals I had last year was to speak more. It’s something I really enjoy, it helps us recruit top notch developers, and I love hearing from other speakers at conferences, so for me, it’s a win-win-win. Two things I love to discuss are teamwork and great products, and I developed two talks around these topics which I gave several times around Europe. I also began to speak more and more (mostly locally) on why I believe Scotland is an incredible place to run a startup.

I spoke in Edinburgh four times (Lean Agile Scotland, Scotch on the Rocks, Turing Festival, and University of Edinburgh), London once (Digital Shoreditch), Zurich (FrontEndConf), and I was invited to speak in Poland, but just couldn’t make it due to some unfortunate scheduling issues. I’m hoping I can make that conference this coming year instead. I was really happy with the opportunities I received, and hope to continue the trend in 2014.

Work
In some ways we had a very challenging year at work, but almost every challenge ultimately paved the way for a really rewarding and successful year of growth. We wrote more about the success our team had on our company blog, and I was really proud of everyone pulling together to achieve our second year in a row of doubling in size.

Family

We added a “real” niece this year, and a “fake” niece to our collection of “fake nephews” in our third family.  And for Christmas this year, my family came over to Edinburgh to spend a few days which meant we all got to be together, explore the city and surrounding towns, and The Wife and I didn’t have to fly home for a manic tour of the States.  That was a huge relief.  Speaking of The Wife, she and I celebrated our seventh wedding anniversary and spent most of the month of December celebrating her birthday which was a lot of fun.

Summary

2014 should be interesting, like every year. I’ve got some goals, but they’re mostly progressions of what I’m already focused on: work, cycling, speaking, and travel. I’m incredibly lucky, and blessed, and hope you have a great start to your year.  Stay tuned!

I’ve Never Wished I Was Less Technical

I got an early-ish start with computers when I was about 6 or 7 years old.  My dad created an MS-DOS boot disk that got me to a DOS prompt on the one of the hard diskless IBM clones in his office.  Once I had booted to the command line, I’d put another floppy disk (these were 5.25 inch floppies, the ones that really flopped) in the B drive, type in the commands which I quickly memorised, and my six year old self would be ready for some hardcore word processing.  Using Multimate at first, but then moving on to PC Write, I penned a few short stories and would love to visit the office and use the computers.  My Dad’s staff even gave me access to the holy of holies – the one real IBM PC (not a clone) which had a 5 megabyte hard disk, and was protected by a password.  I was solemnly lectured to never disclose the password, not to anyone, and I never have, even to this day.

And so it was against this backdrop that I became interested in computers.  When I was nine my family bought our first computer from a back alley vendor in the Philippines.  It was an IBM compatible XT Turbo, which was technically an 8088, with a twenty megabyte hard disk and a monochrome CGA monitor.  It was outdated when we bought it, as the 386 had just been released, but I loved it.  I spent hours learning different software packages like Norton Commander, PC-Tools, and playing games like the Commander Keen trilogy.  We kept it until I was twelve, and then gave it to a Chinese friend when we replaced it with a 486 DX-33 we picked up in Hong Kong.  Built like a tank, it is probably still in operation somewhere.

Despite this early introduction to computers, I didn’t get started programming until I was sixteen.  It was harder then – we had just got the internet but the tutorials and blogs and wealth of easy information we have now didn’t exist.  It was also difficult to get the necessary software you needed – thanks to living in China I could buy a pirated copy of Borland C++ or Microsoft Visual C++ for about a dollar, but they were a bit overwhelming to setup.  I finally found someone who knew how to program and begged him into giving me a few sessions.  He had a book, helped me setup my compiler, and agreed to meet with me once a week to teach me.  I even managed to get these sessions accepted as school credit during my junior and senior year.  I still keep in touch with Erik now, and he was one of the groomsmen in my wedding.  Together we even managed to cobble together two “junk systems” from spare parts and after a few weeks of constant trial and error, we got Slackware running in 1998, still one of my proudest technical achievements.

Every American college bound student knows that their junior year of high school is crucial for getting accepted into their university of choice, and I began targeting computer science as my major.  I was heavily advised that I should focus on a business degree instead.  At the forefront of that group were several of my math teachers, who knew that I didn’t do well in that subject, but there were also many others who thought that I shouldn’t “waste” my people skills in a technical role.

But I was really enjoying programming!  My first real project was a string indexing program which could accept a block of text (much like this blog) and then create an alphabetical index of all the strings (words) and the number of times they appeared.  Written in C, I had to learn about memory management, debugging, data structures, file handling, functions, and a whole lot more.  It was way more mentally taxing than anything I’d ever done in school, and it required a ton of concentration.  I wasn’t bored like I often was in classes.  It was hard.  Erik would constantly challenge, berate, laugh at me, and most importantly, accurately assess me using an instructional style that I’d never been exposed to before – he only cared about the results, not the trying.

Although I was dead set on computer science, I really liked making money too.  My parents noticed this and for one semester during that crucial junior year they offered me financial rewards for grades achieved.  After I’d hosed my dad for over a hundred bucks due to my abnormally high grades that semester, he announced that “grades should be my own reward” and immediately discontinued the program.  There were plenty of people telling me that a degree in business would better suit these talents of mine, and if I was honest, at the time I knew they were probably right.  I was great in my non-science subjects, I could mail it in on papers and still get an A, and I knew that diligence, attention to detail, and math were weaknesses.  Getting a business degree would be stupidly easy.  Getting a computer science degree would be pretty hard, at least for me.

I was close to changing my mind when Erik mentioned, “You know, I’ve never wished I was less technical.”

This is advice that I really took to heart.  It rung true when I was seventeen.  It’s even more true today.

For me, the advantage that I incurred by getting a computer science degree meant that I could start my own consulting company and be one of the technical contributors while also being responsible for the business stuff.  It helped me obtain positions of leadership because I didn’t need technical middle men to explain things to me.  If things were going poorly, I could help manage the crisis effectively, and when things were going well I could explain why and point out the technical decisions that had carried us to success.

Guess what?  I got to do all the business stuff too!  Having a technical background has never limited my business acumen or hampered me in any way.  I haven’t coded for money since 2007, but I use my knowledge and experience every day, and I stay up to date with technology as much as possible.  I love it when our technical lead shows me the code behind the latest feature.  If anything, having an appreciation for complexity, code, and systems design has only helped me design and implement better budgets, business models, and pricing schemes.  I’ve never met any “business person” who is better than me at Excel, the language of business, and much of that stems from just knowing how to program.  This has made me the goto guy in almost every planning or budget meeting I’ve ever been in.

Unfortunately, it doesn’t work the other way.  People who aren’t technical will always struggle in any technically related environment.  I’ve met so many people who have struggled and struggled to make their great idea a reality chiefly because they weren’t technical, couldn’t contribute, couldn’t cut through the bullshit, and therefore couldn’t effectively manage their way to success.  Sometimes, they’ll try to fake it and just lose the respect of the programmers.  As many times as I’ve thought to myself how glad I am that I have a technical background, I’ve had others voice to me the frustration that they just wish they knew more about technology.

If you’re reading this, and you’re trying to figure out which way to go in life, make sure you get technical first.  If you didn’t choose that path, there’s still plenty of time – get out there and learn to code.  There are so many resources.

This is what the “everyone should learn to code” movement is really saying – not that everyone should be a coder, but that everyone could benefit from understanding the environment, pressures, and disciplines that drive a huge part of our economy.  It’s not just business either – artists can benefit from more creative displays and better performing websites, not-for-profits could benefit from volunteers who know how to help out in technical areas, and it’s just nice sometimes to be the guy who can get the projector working in a foreign country!

So get technical.  You’ll never regret it.  And if you’re a programmer and you ever see a kid who wants to learn, help them out, you may just find a friend for life.

2012, the Year in Review

Here’s a review of what for me was one of the best years I’ve had since college.

Travel in 2012

  • Paris, France
  • Aberdeen, Scotland
  • Copenhagen, Denmark
  • Mallaig (Harry Potter Train)
  • London (Olympics), UK
  • Dubai, UAE
  • Boston, USA
  • Beirut, Lebanon
  • Campbeltown, Scotland

It’s really hard to choose which trip was the best for this year, but I’d probably give the nod to Paris, followed closely by Copenhagen.  I also had an amazing business trip to Beirut, which is an incredible place.

Best Books I Read

Highlights of the Year

Plans for 2013

We Consistently Underestimate Kids

I’ve long believed that we seriously underestimate kids.  Hanging around with my friend’s daughters who were 2, 3, and 5 when I was in college was really illuminating as I found myself interacting and conversing with his (admittedly smart) 2 year old daughter on a level that we often wouldn’t even attempt with highschoolers.

I have a very clear memory of being nine years old, reading an autobiography about a family who adopted several kids.  At some point they became stranded in an airport.  Don’t worry though!  It was no problem the author (and mother) helpfully pointed out, because nothing fascinates a nine year old like riding the elevator up and down for hours.  What a load of crap, I thought to my nine year old self.  It’s like that mom thinks we’re mentally disabled or something.

As a parent (I have very little additional advice and zero experience in this area) don’t be afraid to expose your kids to things that might seem advanced for a child.  Check out this video of 7 year old Philip explaining how he programmed his first video game on a Raspberry Pi computer his dad bought and helped him configure.  I guarantee you there are huge portions of the adult population who couldn’t follow his instructions or achieve what he’s completed.  There’s nothing quite like a curious kid who sets their mind to something.  Nice job Philip and well done by his parents!

Safety First: A New Mantra for America

I don’t ever watch the news on TV.  Maybe once a month, generally while sitting in a waiting room of some sort where you can’t help but listen to the TV blaring away in the corner.

A few months ago I was in that situation, and listened to Mayor Bloomberg utter the now all too common refrain that “safety of residents was his top priority.”  I don’t want to focus in on the specific situation he was referring to or anything along those lines, I just want to comment briefly on a once-bedrock notion that seems to have been lost permanently from the American Psyche: safety or security is not an ideal in and of itself.

Let me explain.

If you hang around geeks long enough, you’ll hear them discuss the security and safety of their computers.  There’s lot of things to secure (and thus talk about) too: their code, their servers, even security of non-computery things and other physical devices.  At some point, you’ll hear a version of this statement: “The only secure computer is one that’s turned off, unconnected to anything, encased in a block of concrete, sitting in the bottom of the ocean…and even that’s not going to be completely secure!”

What’s really being said here is that security is not a binary function of yes/no but a continuum between two mutually exclusive goals: utility and security.  In other words, security is a process during which intelligent and thoughtful trade-offs have to be made just to get stuff done.  This is why you will find nerds, geeks, and other computer professionals disproportionately critical of many modern security measures, processes, and other “security theater” institutions like the TSA.  Computer people already have a wealth of experience trading perfect security for reasonable security in order to achieve things, and we’ve done so without coercion or legislation or massive cost to the user.  The technology security analyst’s job is literally right on the pain point between these two opposing priorities and it’s often not pleasant, but that’s their job.

Back to America and our newfound obsession with safety and security.  Ben Franklin has an iconic quote (often paraphrased) which we seem to have lost sight of:

Those Who Sacrifice Liberty For Security Deserve Neither.”  

It’s as clear a signal from the framers of the United States as to what kind of country we were to be.   There’s an even more powerful quote which I’ll discuss in just a moment.

I’m not a George W. Bush fan, but I eagerly bought his book “Decision Points” when it came out and very much enjoyed reading it.  It clearly wasn’t ghost written, which was refreshing.  He plays fast and loose with the facts in a few places, and revises history in others, but the first chapter is genuinely inspiring as he documents his battle with alcoholism.

I found myself respecting him more after reading the book and I also gained a lot of insight into his thought processes.  Over and over again he justifies his, uhh, decision points by claiming that his primary duty was to keep Americans safe.  If you listen to talk radio even just a little this is a refrain you’ll hear over and over again.  We have to keep Americans and America safe.  We have to keep our allies safe.  It’s mentioned by commentators, newscasters, senators, congressmen, presidents, and people. Safe. Safe. Safe.

Except Bush, talk radio personalities, and anyone else who believes that safety is our ultimate priority are all wrong.  The founding fathers knew what they were doing when they designed the oath of the office of the President of the United States:

I, <name>, do solemnly swear (or affirm) that I will faithfully execute the Office of President of the United States, and will to the best of my ability, preserve, protect and defend the Constitution of the United States.

Presidents and Congress are to protect our Constitution, not Americans, and in doing so they protect America.  Pure safety is unatainable, and to get as close as we can to pure security means totalitarianism, and no happiness, life or liberty.  Just like with the almost-safe computer sitting in the bottom of the ocean, a purely safe life means being locked in a room in the bottom of the ocean where nobody can harm you.

We need to stop pursuing this idea that the end goal of America and Americans is safety.  I don’t want to live a safe life.  I want to live a fulfilling life, one that’s full of adventure and creation and freedom.  

We need do a better job at educating ourselves about the true risks in life.  The reality is that it’s much more dangerous to drive and pickup a pizza than to fly.  I’m more likely to get hit by lightning than be a victim of terrorism.  

There are dozens and dozens of examples that document how we’re living in an age of extreme safety and relative security, and none of this is due to security checks or military spending or increased wiretapping.  I’d encourage you to do the research and see if you come to the same conclusion.  

Back to the American oath of office.  Think of how natural it would have been to make the chief goal of our President be the security of his people.  Swearing an oath to the constitution was no accident.  Think of how easy it is to make bad decisions if all you care about is safety.

We have a higher calling in life than to be safe.  Most of history’s meaningful changes have been very unsafe affairs.  We should expect our leaders to understand this and we shouldn’t accept safety as our prime directive or even as a goal in and of itself.