Personal Computation

Discover Supercomputer 2 by nasa_goddard on flickr
Discover Supercomputer 2 by nasa_goddard on flickr

During the 1980s and 1990s, a powerful revolution took place in computing hardware. Programs had historically been executed on mainframe computers, fed commands manually at first and then from terminals. As computing power increased and chip prices fell, terminals went from thin clients that logged in and executed programs remotely to full-fledged computing devices. Apple and Microsoft notably capitalized on this revolution. Bill Gates’ dream was to put “a computer on every desk and in every home.”

By moving computation on-site, users were given unprecedented power. Even if Internet connectivity was not prohibitively slow, it would be difficult for mainframes to compete against the responsiveness and personalization of an on-site computer.

This selective retelling and framing of history is intended to form the foundation of a present-day analogy. The personal computer revolution of the 20th century is similar to a revolution I would like to see take place in personal computation.
Personal Computation

We can define personal computation as a system that uses data and algorithms to provide a highly personalized experience to a single user. Compared to a massive, centralized, mainframe-like system, a personal computation system would take different approaches on hardware, software, and data.

Hardware

Through virtualization and containerization, hardware is becoming less directly tied to computation. While there are other configurations, let’s compare two: infrastructure you don’t own or have access to (e.g. SaaS/cloud services); and infrastructure where nobody has more control or access than you (e.g. a web host or IaaS).

“There is no cloud. It’s just someone else’s computer.”

Running a “personal cloud” on a web host (or Infrastructure as a Service provider) is still technically using someone else’s computer, but gives you different levels of control, access, privacy, and security. Notably, if you rent a computing resource from a utility, they should not have access to your data and should not be able to dictate what software you can or cannot run on that resource.

This is a comparison between two cloud-based infrastructures. In order to optimize battery life on our mobile devices, we will ultimately need to perform many types of computation on a remote service.

Software

Cloud providers perform personalized computation by developing complex algorithms and running them against the vast amounts of data they collect on you, your friends, and people who resemble you.

Algorithm: a set of rules for calculating some sort of output based on input data.

Facebook’s News Feed, Google Now, and Apple’s Siri give users a lot of functionality, but the algorithms only work within each service provider’s walled garden. You can’t use Facebook’s News Feed to surface important content your friends posted outside of Facebook (if they didn’t also post it to Facebook). You can’t use Google Now to automatically remind you of upcoming travel, appointments, and bills if you don’t use GMail. You can’t use Siri’s speech recognition outside of iOS or OS X. You also can’t get new functionality or features to any of those services unless their engineers add it or if they provide a specific mechanism for 3rd party extensions or apps.

Currently, these service providers’ state-of-the-art algorithms are far more advanced and better integrated than anything you can install and run on your own. However, there is no technical reason you can’t get most of what they provide without connecting to a company’s centralized service. In fact, if you had access to and control of these algorithms, you could apply them to data that exists outside of a walled garden or to personal data you don’t want to share with a 3rd party.

That is to say, despite all the amazing machine learning algorithms deployed by centralized service providers, they’re only able to scratch the surface of what would be possible with software outside of a walled garden.

Data

Today, in order to get highly personalized computation, people give up access to a vast array of highly personal information—where you are at all times, who you talk to and when, what you say to your friends and family, and what you like to eat, wear, watch, listen to, and do. This information is valuable enough to advertisers that ad publishers can profitably invest tons of money into servers and software development and giving the computation away for free.

As we’ve discovered during the last decade, people in general are not at all reticent about giving up privacy in return for being able to be able to basic things like talk to friends online or get driving directions.

If you told everyone it’s not necessary to completely surrender their privacy to many 3rd party companies, would they care? It seems like only a minuscule fraction of people would. Ultimately, if there is a limit to how much privacy people are willing to give up, it would probably (hopefully) be different for a 3rd party company than for a system only the user has access to. Given more comprehensive data about the user, a personal cloud type of system has potential to deliver higher personalization.

The Alternative to the Mainframe

Given the striking resemblance of today’s web services to mainframes, could there be a revolution on the horizon similar to that of the personal computer? There is no shortage of personal cloud projects or decentralized services. Sadly, many of them attempt to be open source clones of existing centralized services, which is akin to installing a mainframe in your living room and calling it a PC.

What would the software equivalent of the personal computer look like? What if we could run whatever algorithm we want on whatever data we want? What if we owned and controlled a system that did not have ulterior motives, or get acqui-hired, or prevent us from escaping a walled garden?

Existing services, like those provided by Google, Apple, Facebook, and so on, set a high bar for ease of use, user experience, seamless integration, and powerful yet simple-looking (“magic”) functionality. But at the end of the day, it is just software, and there is no technical reason why it needs to run in a 3rd party’s data center.

Servers and storage are getting cheaper, software is easier than ever to distribute, programming languages and frameworks are enabling ever more complex and extensible applications, and complex systems are becoming more easily reproducible with containerization.

I’ve been thinking about and working on a rough proof-of-concept of this for a few years, and quit my job a couple months ago to work on it full-time. It’s certainly not as easy or simple as it sounds, but I’ve come up with some interesting strategies and solutions. During the next few weeks, I’m planning on writing about some of these concepts, as I’m stretching the limits of what I can accomplish while working in a vacuum.

People Put People in Boxes

Individuality Demotivational Poster
"Always remember that you are unique. Just like everybody else."

If you think about it, it is obviously not possible to completely and accurately describe a person’s personality in one sentence. Unfortunately, that’s about as much thought as most people will give you. The best way to understand how other people summarize you is to listen to how they introduce you to others, because they have one sentence to convey to the new person everything that is important to know about you.

“He’s the guy that jumps.”

In 2007, I was at the after party for a conference and sat down at a table with a couple of strangers. Before my butt reached the chair, the guy on my right who I had never met before said to the guy on my left who I had never met before, “This is Brian Shaler. He’s the guy that jumps.” I was surprised and amused. I rolled with it. If I took myself more seriously, I would insist that I’m not nearly some guy who jumps, but an astute software developer. It’s a strange feeling to be summarized by something silly you did instead of what you’re most proud of.

I learned a lot by being the guy that jumps. I learned about how people try to put you in a box and how they decide to represent you internally and externally. Not everyone can appreciate my skills. Like my parents, for example, who would probably describe me the same whether I did data visualization or made WordPress themes—”he does stuff with the computer,” or “he makes web sites.” Now, my parents actually care, and they try to understand. So what happens when people don’t care, or don’t try? As it turns out, they’ll try to put you in the easiest box that seems to fit, based on the most vague knowledge about you. It will tend to be the first thing they learned about you, the thing they most understand (often the simplest), or the thing they find the most intriguing or unique.

Boxes are hard to escape.

Once someone puts you in a box, it will be very difficult to get them to change how they summarize you. This is part of the reason first impressions are so critical. If you say something offensive within a few seconds within seconds of meeting someone, they’ll likely see you as a crass person from then on, even if what you said turns out to be uncharacteristic of you. If someone meets you as “the guy that jumps,” chances are they will introduce you to the next person in the same way.

If you don’t fit their understanding, they’ll fit you to their understanding.

If you’re an impressionist artist, someone who doesn’t understand Impressionism will describe you using the things in your art, rather than what is being being conveyed in the art. For me, my skills with programmatic animation, data visualization, and interactive interfaces are often summarized as “making web sites,” because some of it may exist on the web and people are more likely to understand what making web sites means. Ideally, you would be described as what you are, but if the person doing the describing doesn’t share your knowledge on the subject, they will make up something that sounds close enough to them.

If you do something sticky, it’ll stick more than anything else, no matter how relevant it is.

There are pros and cons to being known for something more interesting or intriguing than what actually defines you. On the plus side, people with know, remember, and perhaps even talk about you. Unfortunately, most of those people won’t have any idea who you really are or what you really do. This was the case with the jumping persona. It would be great to have strangers introduce me to strangers as a talented interactive developer, but the people who understand my work deeply enough to appreciate it are few and far between. It also sounds less glamorous and exciting than a zany set of photos.

It was clear jumping was much more memorable and it was certainly a conversation starter. It didn’t convey anything of meaning about me or command any sort of respect, but it opened the door and got people’s attention. It showed me the power of intrigue, which I will ramble about in more detail in another post.

Focusing on the Fun

When I started my data visualization business, I had some pretty ambitious plans. I would get a bunch of work, too much work, and quickly start hiring people. I would also focus a portion of my—and my employees’—time on data viz related products. I had an idea of what a “successful” business would look like, based on the successful businesses I’ve seen my friends build. It took over a year to figure out that path was not for me.

I re-evaluated what I enjoyed about running my business and what I didn’t enjoy. It turns out following that typical path to “success” would involve focusing most of my attention toward the parts I didn’t like. What would my business look like if I instead focused as much as possible on the aspects I enjoyed? I wouldn’t have employees, I wouldn’t work excessive hours, I wouldn’t take on every project that comes my way, and I wouldn’t accept projects on unreasonable timelines.

Sure, I would make more money if money was my top priority. If my top priorities are quality of life, travel, and working on interesting challenges, I have to be selective about which clients and project I take on. Focusing on the fun comes at a cost, but I think it’s worth it.

If you can make a profit doing as much work as you want and enjoy what you do, isn’t that a successful business?

ENTP -> INTP

During the course of the last few years, my Myers-Briggs psychological profile changed. It has been interesting to watch the transformation, and only recently did I discover the change in my score.

If I had taken the test long enough ago, I would likely have scored INTP. Growing up, I was, by almost any measurement, an introvert. By the time I took the test for the first time, I was being much more social. However, my introvert side never went away.

When my score was in the ENTP range, two things were happening in my life. First, I had discovered there was a technology community in Phoenix and was socializing with people I had a lot in common with. Second, I was putting a lot of effort into getting my name out in the technology industry. Despite being an introvert, I have never had a problem socializing with people once a conversation has started, especially if it is about a topic of interest. However, when it comes to initiating conversations, my introverted side is much more apparent.

While I was putting myself out there, I stumbled upon something very interesting: intrigue. For me, intrigue was the key to being an extrovert. If I could only get people to be intrigued enough to want to strike up conversation with me, I would be set.

Unfortunately, what essentially led to the ENTP->INTP transition was that I stopped getting my name out. As a result, people stopped being intrigued. People no longer had a reason to initiate interactions with me. My introverted side was given room to shine, and I became more and more reclusive.

I almost entirely stopped couch-surfing, because despite having more couch options than ever, I stopped asking my friends if I could crash with them. I used to have no qualms about asking, and my friends were often more than willing to accommodate (and hang out). As a result of becoming more reclusive, I asked fewer and fewer friends (sometimes even none) if I could crash on their couch. What’s interesting about this is that I started deciding for my friends that they had better things to do than hang out with me, or that simply asking would be too much of an intrusion. I would still feel like I was intruding despite being explicitly told, “you’re always welcome to stay here,” and, “any time, just ask.” In fact, the opposite would occur: my friends would be offended that I didn’t ask.

In a way, my incessant travel helped foster the transition. At first, hopping around the States helped me kindle relationships with friends in various cities. When I started to branch out and travel to places where I didn’t know anyone, I effectively faded out of peoples’ lives. Out of sight, out of mind.

One of the catalysts of the transition was negative feedback, criticism, detractors, and assuming the worst.

The first three can be lumped into one, which is the result of doing anything with any visibility. If you’re putting yourself out there, you’ll inevitably step on toes, rub people the wrong way, or statistically stumble upon a vocal minority known as trolls. It’s easy to say not to take those people to heart. Ultimately, you have a choice of being silently admired by many and vocally hated by a few, or not existing at all. I stopped volunteering to organize community events, started to become an outsider instead of a participant when it came to the technology community, and I stopped sharing most aspects of my life (the line between sharing and promoting or bragging is a blurry one). Despite there being only a handful of them, the detractors won.

Assuming the worst is very subtle but equally endemic. If one person was unavailable to let me crash on their couch, I would assume the rest were, too. If I told a friend I would be in town and they didn’t insist we meet up, I would assume they didn’t want to. I would assume that because I didn’t have anything specific to talk about, ask, or say that my friends wouldn’t want to talk or meet up.

I like sharing my thoughts, whether it’s a blog post or a video, but I tend to assume nobody is interested and I must be vain. After all, broadcasting your thoughts is something an extrovert would do. Despite that, I occasionally force myself to open up and share, on the off chance that someone might enjoy it and in hopes that my mere existence won’t anger anyone.

Is Entrepreneurship the Right Answer, Right Now?

For perspective, I should note that most of my friends and acquaintances, or most of the people I associate with, are entrepreneurs. The kind of people I find most interesting are self-actuating creators. People who would rather follow their own hearts than work all day to accomplish someone else’s dreams. People who would give up stability and security in return for freedom and flexibility.

That said, it’s common for people who think in these terms to believe entrepreneurship is inherently better than employment. They believe self-employment is the right answer.

They congratulate those who cross the threshold from full-time employment into the world of self-employment. Making such a transition is seen as a rite of passage. A frightening, stressful, and challenging struggle almost every entrepreneur has had to face.

Less celebrated are those who make a transition in the opposite direction—unless it’s by means of acqui-hire, in which case the celebration is about the payday rather than the paycheck. In most cases, it seems people subconsciously mourn those who demote themselves into full-time employment. They throw in the towel on their business and work for someone else’s. It’s seen as a failure of sorts, and it’s often quite evident the excitement someone has to get an awesome job is overshadowed by shame.

Ultimately, the people transitioning from self-employment to full-time employment have made a calculated decision. They aren’t going from the Right Way™ to the Wrong Way™. They’re going from what was the Right Way For Them™ to what is the Right Way For Them Right Now™.

As I say in every situation where there is a choice to be made, there are pros and cons to everything.

When it comes to work and life, the pros and cons vary not only by the individual but also by the moment. When it comes to entrepreneurship versus full-time employment, one or the other might always be the right answer for certain people. However, for most people, it seems the right answer can change.

What do you care most about right now? Is it the flexibility to travel, work from anywhere, and make your own hours? Maybe self-employment will make you happier. Do are care about medical benefits for you and your family, or do you need stability to provide for them? Maybe full-time employment will make life easier for you and your loved ones.

How much stress do you have in your life? How much stress can you handle? How much stress do you want? Self-employment can suck. It can be draining. It can take over your life. The market can make what’s already difficult even harder. Your clients/customers may or may not pay. Sometimes, entrepreneurship can take its toll, and you realize that you need a break, you need some sanity and order in your life.

There’s nothing wrong with that.

Everyone should be constantly evaluating what makes them happy and be prepared to change paths when they realize what is right for them at the moment is something else. The grass is often greener on the other side of the fence, because people compare the cons of their side of the fence with the pros of the other side. Don’t get caught up in that. Also, don’t get caught up in what other people think is the right answer, because as I said, it varies by person and by time.

For me, it’s a constant struggle. The cons of entrepreneurship weigh heavy on me, because I just like making things. For now, and for the foreseeable future, self-employment is the best way for me to get what I want out of life while working on whatever I want to work on.