Legacy

A couple of days ago, while planning a vacation trip with my girlfriend and contemplating spending some time on Christmas Island en route back from New Zealand, I stumbled upon these photos of the hydrogen bomb explosions, which were conducted off of the island in the late 50s.

Seeing these photos stirred something very deep in me.

I thought, all my life I’ve done my best to help people, to make the world a better place, and here they were. People building bombs and blowing them up, spreading toxic, destructive, radioactive waste across the entire planet.

I felt distraught. Watching the apparently calm, relaxed faces of these men filled me with disgust and disappointment.

A bunch of white men wearing white lab coats and white goggles on a white boat, looking out onto radioactive mushroom clouds like it’s some sort of spectacle. What were they thinking? Was this some kind of a game for them? Did they feel accomplished and good about their success? Did they feel like winners while watching their successful experiments bring ruin to our planet? Did it make them feel safer? Stronger? But most important of all… did they actually take a moment to meditate, to think about the legacy their work is leaving behind? Did they have a conscience? Did they have  a trace of humanity – a trace of color, left in their souls, wrapped up in lifeless white coats, on lifeless white military boats while watching life-obliterating white mushroom clouds of radioactive dust?

And then I remembered…

My career as a Software Engineer began at age 13 when I saw the first computer land on the desk at home. As soon as I saw it I knew – I had to learn how to program this. And also, I was filled with exhilarating joy at the next thought: this can help people! And so my journey began.

My first project was an Inventory Management system to help manage the inventory and accounting of a computer store, which ran maintenance-free for two years after I left for college, helping bring computers to people’s homes where they can learn and have fun in ways never before possible or imagined.

The next project, while still in high school, was a Service Management system to track service repairs of cash registers, helping run grocery stores  that bring food to people’s homes, and again running for years after I left for college.

Once there, I built the web sites of the student radio station, the student magazine, and numerous other student organizations – helping bring the student community together and improve student life. That period culminated with a new web site of the university itself. This ran (again, maintenance-free, backed by an easy-to-use content management system) for years after I left college, with the “New Students” link front and center on the home page where I put it (and where the Dean of the University asked the project manager to put it back after she presented a modified version  with the “New Students” link removed). Again, helping bring the experience of a university education to new students for years to come.

My first project for an American company was to automate the loading of thousands of antique book records from loosely structured documents. This helped make these books available for sale at an antique book auction website – where they could be discovered by people who need them.

Then I went on to build a live-auction bidding app that allowed people to participate in live auctions over the Internet years before a big online auction site shipped the same functionality. I built the website of the City of Vacaville, including a public transit trip planner for the city, years before the arrival of city transit navigation in the behemoth maps apps of today. I built numerous other web sites and apps, including the web site of a small esoteric San Francisco chocolate shop.

I even brought the live internet auction app to the bull pen for pure-bred livestock auctions during my time at Path-Wise Corporation, a startup founded and run for a few years by a third-generation rancher, turned lawyer, turned entrepreneur.

At Fujitsu Network Communications, I made countless contributions to software that manages fibre optic connections of big Telecommunications companies, helping people connect and share with loved ones via phones and the Internet no matter the distance.

During my short stint as a contractor at Apple, I optimized the product pictures on the online Apple store, helping people buy iPhones and iPads so they can learn and connect in new ways, and do so with less impact on the environment and the company bottom line.

At Webalo, I helped the company run its app faster and more efficiently on iPhones, aimed at helping people run their business more efficiently.

At Google, I contributed to Google for Work, helping people quickly setup e-mail and office productivity apps for their small business and enjoy new standards of security and collaboration.

At an online retail company, I helped the team build a more efficient software production pipeline and heard the heartfelt gratitude of the engineers, knowing I had helped their lives a tiny bit during my short stay.

At Snapchat, I did my tiny part in helping millions of people around the world experience the joy of expressing themselves freely in the moment together with friends… even on New Year’s Eve when we all pick up our phones at once.

And now I am about to join a company that works tirelessly to make cities more enjoyable to live in, while easing transportation (in a fun way) and reducing our impact on the environment. All at once, and executed in a mindful, responsible manner.

What is your legacy?

 

On Presence

Every time we hit a wall in training it is because we stopped being present. One can be performing an activity better than 99.9% of the world population and still be completely asleep while doing so. As long as presence is maintained there is no limit to how far we can extend ourselves in any endeavor.

It is also perfectly possible for someone to be fully present in one activity, say on the ski slope, and at the same time be completely lost in another, say a business meeting. And vice versa. So it becomes tempting to pursue presence by constantly engaging in new thrills, new activities. While helpful, this is not necessary, and it holds the same danger as any singular pursuit. Sooner rather than later you start picking up new activities in your sleep and once again have lost your presence. The path to presence is constantly looking inward while doing whatever it is you are doing in every moment of every second of every day. And that is the hardest thing of all and it pays absolutely nothing and leads absolutely nowhere.

How to look inwards? The standard recommended actions are the silent repetition of a prayer or mantra if you have one, or putting your attention on your breath if you don’t. Put your attention on your breath as a passive observer. Do not try to change your breath. And if you do, do not try to stop yourself. Simply observe yourself changing your breath. Continuously disengage from whatever action you find yourself drawn into and observe. Like a loving mother who watches over her baby crying in her lap without engagement or affect.

On Openness

I am a firm believer in openness. That is the reason I believe open source has such great value. The way I see it, the word open in “open source” does not just refer to the source code: it also means open communication, open structure, open management… openness in every aspect of a project.

Yet, in one of my own projects I failed to abide by my own principle. Two years ago, at the end of the summer of 2008, I left my small GSoC project – a split editor for Eclipse, in the state of a working prototype to begin a full-time job and join a master’s program. For two years now I have neglected the split editor project and kept in complete silence to the point that people have even forgotten that there was ever anyone involved in this effort.

I am now nearing the end of my master’s program and with all classwork completed am getting ready to begin work on a thesis. Before I do that, however, I wanted to clarify the state of affairs of my split editor work. I have not forgotten about it, and I am determined to complete it eventually. Although I will not have any time to dedicate to this work for another year, it is first on my queue of side projects after completing my master’s.

Actually, if anyone is willing to pick up the work now, I will be more than willing to provide whatever support I can. Here are the patches with my latest work, updated against the current Eclipse release as of the time of writing – 3.6.1 (R3_6_1 label in CVS):

spliteditor-patches.zip

The file contains four separate patches for the four Eclipse plugin projects involved in the split editor implementation:

  • org.eclipse.ui.workbench – this project contains the bulk of the split editor work.
  • org.eclipse.ui,
  • org.eclipse.ui.editors,
  • org.eclipse.jdt.ui – the above three projects contain mostly configuration changes to activate the split editor for Java and Text editors.

To see the split editor in action, check out these four projects from the Eclipse CVS repo (at label R3_6_1), apply the patches and start up an Eclipse launch configuration. If you want to try this but get lost or none of this makes sense, post a comment here and I will be happy to provide more detail.

I have always wanted to make it very easy for people to try out and experience the split editor at the earliest possible stage of its development (at which it stands currently – there are quite a few known bugs). The best way I see for this would be to share a custom build of Eclipse with the split editor work compiled in. Unfortunately, I have never been able to successfully build Eclipse from source. I gave it a shot two years ago, and more recently, I spent the last two months frantically trying to build the Eclipse 3.6/3.5/3.7 SDKs, without any success. It seems like I am not alone in this. If at any point fortune strikes me, you can be certain that Eclipse packages with split editor support will appear here immediately. If anyone is willing and able to help with this, please get in touch!

Peace