Donald Trump’s Message of Victimization

When a group of people are feeling that they have been wronged and are being discriminated against, they have two choices. First, they can complain that they have been victimized, blame the problem on others, and assign the fix to others. Second, they can accept the fact that ultimately they themselves decide who they become and what their lives will be, and then go and effect change. These two outlooks are negative energy and positive energy respectively; they exhibit an exterior locus of control versus an internal locus of control.

If you look through history at the great leaders, the ones worth emulating, they have positive energy and empower others to do great work. But if you look at those who are not worth emulating, they claim that their follows have been victimized, they set themselves up as the savior, and they insist that everything must be done their way. They require full control at all cost, and they promise that they will make things right.

These two philosophies describe the diametrically opposing value propositions of Hillary Clinton’s and Donald Trump’s campaigns in this year’s presidential election. I love what President Obama said last night in his speech at the Democratic National Convention:

America’s never been about what one person says he’ll do for us; it’s about what can be achieved by us together, through the hard and slow and sometimes frustrating but ultimately enduring work of self-government.

Indeed Mr. President, “We don’t look to be ruled.” What a well-written and well-delivered speech. This election is not about Democrats and Republicans. It’s about whether we want to play victim or not, whether we want a kingdom or a democracy, and whether we’re willing to give others the chance that we were given.

Slack's Tech Stack Is Very Traditional

I use Slack every day. I have multiple teams I’m connected to, including a personal one that’s dedicated to RSS feeds. The platform is versatile and unusually well designed. It’s probably my favorite app on my Mac.

What’s interesting is that Slack’s tech stack is very traditional. Old school, even. From one of its job pages:

The main tools that we use to build Slack are PHP, MySQL, and Linux – reliable tools that the Slack team knows well and trusts.

At a fundamental level, Slack deliberately seems to avoid sophisticated tools that get in the way more than help. On this same job page:

We are looking for other engineers that understand that simplicity and reliability are aspects of a system that can’t be tacked on but are carefully calculated with every decision made.

Slack’s JavaScript framework seems to be a homespun mixture of jQuery, pure JavaScript, and an in-house plugin called Monkey scroll. One of the critical requirements of its application engineer position is that you should be comfortable with functional programming languages “used without frameworks.”

It’s ironic that the de facto demo app that shiny modern tools show off to prove their viability is an instant messaging app, but that the number one app for business messaging, Slack, is built of tools that are much older.

Stephen Hackett on Software Rot

Last Friday Stephen Hackett wrote an interesting piece at 512 Pixels about software rot.

The vast majority of people will never need to run operating systems like Mac OS X Server 1.0 or older software titles like MacPaint. As a self-proclaimed Apple historian, I am interested in keeping it accessible.

Deep inside, I know it’s a losing battle.

One of the things Steve Jobs did when he returned to Apple in 1997 was to throw away all of the old relics that the company had enshrined. It was important to leave the past behind and look towards the future. I don’t see the need to prop up old stuff. Keeping it functional can be unhealthy, actually. Hackett’s example of the Antennagate app is a reminder of a product that had a problem with it. What’s worth remembering about that?

If the solution to a problem is so good that it’s worth reusing, on the other hand, it’ll get reused, and it’ll be present in currently working software. The concept of “survival of the fittest” is important here. We should keep the stuff that works, and throw away the rest. Code that isn’t somewhere in currently working software isn’t worth remembering.

Hackett also wrote:

I believe that to understand where we are and where we’re going, we have to know where we’ve been. That includes the technology we use.

There’s a time and place for museums, certainly. But I don’t think that keeping previous technology is important in order for us to know where the puck is headed. The technology that currently works gives us plenty of context to know the kinds of things we should be building for tomorrow. As an example to prove my point, during college I heard computer science professors reminisce about MS-DOS. I didn’t have a clue what they were talking about. As a software developer who uses bleeding edge Javascript tools and libraries, I am none the worse for my ignorance of these things. The past does matter in the realm of politics, because human nature does not change. That’s a different field altogether however. Assigning that value to the history of technology is a misnomer.

Software is only valuable to the extent that it is being used today. If the software I write tomorrow is not in use 100 years from now, I couldn’t care less if it existed on a repository on a Github server or not. It served its purpose in its time, just as the Antennagate app served its purpose in its time.

Overvaluing unusable software is an effort in futility. If the original creator of an app no longer deems it important to preserve, why should we?

I love what Hackett’s doing at 512 Pixels, but this one’s off.

Rarity Brings Admiration

Apuleius once wrote, “parit enim conversatio contemptum, raritas conciliat admirationem.” This translates from Latin as, “Familiarity breeds contempt, rarity brings admiration.” The first half of this saying is popular, and the second half is a restatement — the other side of the same coin.

The farther away a human being is, the more value that we assign to them. This could not have been more clearly displayed in The Martian. A real-life example is the 14-year-long relationship that Pyotr Ilyich Tchaikovsky had with his wealthy patron Nadezhda von Meck. They exchanged many hundreds of letters, some of them quite intimate, and they purposely never met. Von Meck wanted to think of Tchaikovsky as a larger-than-life composer, an ideal that could never be crushed.

I’ve worked remotely with people since I was 16. Some of them I’ve eventually met, many of them I never have. There’s really something strange and incredible about meeting someone in person for the first time that I’ve corresponded with for years. The relationship is in some ways much more deep and exciting than if I regularly met with them on a daily or weekly basis. Rarity brings admiration. There’s an innate idea within all of us that people out there, untouched by the influence of our own surroundings, will have an air about them that’s alluringly unfamiliar. They’ll be more interesting. More valuable.

Working primarily remotely is a trade-off though, of course. The richness of nonverbal communication with an in-person interaction can replace many paragraphs of email. The downside is it’s not possible to experience that moment of euphoria a remote worker experiences when they do get to meet someone in person for the first time, or the first time in a very long while. The memories that are formed during these meet-ups are incredibly powerful, far more powerful than the vague memories that come with those constantly in one’s physical presence.1 It’s the difference of having a few powerful memories or a thousand weak ones that are averaged into a muddle. My most vivid memories are monopolized by people I see in person very infrequently.

Apuleius was onto something.

  1. I’m writing this with the professional context in mind. Coworkers, bosses, clients. For a nuclear family, the closer the better is always preferred. ↩︎

A Bias for HTML

There’s a certain feel that comes with a native app, and there’s a certain feel that comes with HTML, CSS, and JavaScript. The difference is subtle but it’s noticeable in how various components appear and respond to user interaction. The abilities of HTML and JavaScript have advanced so far that I’ve come to prefer an app that uses this stack. The user experience is the same across all platforms. When I use an app that’s been primarily built in HTML, I instantly feel at home that I just can’t with a native app.1

I also like the idea that an HTML document is a blank slate in which things can be moved around and changed. It’s not like the native world where views and things are inherited and things have to look a certain way unless you want to go custom. I know there are also defaults in HTML to be overridden and that things are ultimately 100% customizable in native apps, but for the average developer it’s significantly easier and faster doing this in HTML.2

Slack’s Mac app is built using MacGap, and it’s one of my favorite Mac apps. I like it more than Messages — so much so that I prefer using Slack to communicate with friends.

I’m hopeful that we’re going to be seeing more and more apps be built primarily in HTML and JavaScript. On so many levels it’s making more and more sense to build everything in this.

  1. It’s possible that, since I’m a web developer, the understanding what’s under the hood of an HTML app contributes to this sentiment. In other words, someone who writes native apps for the Mac might feel more at home using a native app. ↩︎

  2. Think about the difference in learning curve for CSS media queries versus iOS constraints. ↩︎

Microsoft’s Declined Slack Acquisition

It’s old news by now, but several months ago Microsoft concluded it would no longer entertain a Slack acquisition. One thing about it has really had me thinking. Jon Russell from Techcrunch writes:

Microsoft eyed Slack as a potential acquisition target for as much as $8 billion, TechCrunch has heard. But an internal campaign around making an offer failed to drum up support. Microsoft co-founder Bill Gates and CEO Satya Nadella were among those unconvinced by the idea, with Gates pushing instead to add more features into Skype to make it more competitive with Slack in the business market, our source says.

An attempt to make Skype “more competitive with Slack in the business market” could be successful in theory, but I never see this actually happening. This is akin to when a child sees a new LEGO set in a supermarket and its mother tells it, “You already have something just like that,” when unbeknownst to the mother the something-just-like-that is actually old, broken, and uncool. I daresay Bill Gates and Satya Nadella haven’t used Slack extensively enough to realize what they’re up against. If Microsoft were to change Skype so that it looked and functioned exactly like Slack, not only would it be a vanilla competitor, but it would no longer serve the family-oriented purposes that Skype has traditionally fulfilled.1 At a fundamental level, Skype isn’t a business product. It wasn’t originally built to be one, and it doesn’t feel like one. It’s great at what it does, but it’s completely different from Slack.

I’m not saying that the decision to save $8 billion was a bad one, per se. But if the chief reason for declining the deal was because Microsoft thinks it can metamorphosis Skype into a viable competitor, Microsoft is dreaming. That’s never going to happen. It’s irksome when someone looks at a great product, proclaims they can do better and dismisses it, and then never ships. That’s unfortunately what I see happening here, however.

  1. Skype is used for business a lot. I’ve used it for that. But it’s always felt like I was using a family-and-friends product for professional communication. I’ve almost had a twinge of guilt or embarrassment, even. ↩︎

Github’s New Font

Good to see Github finally leave Helvetica and go for a custom font family. There’s not yet an official announcement of the change from their blog, though I’m not sure we should expect it.

There’s nothing inherently wrong with a site going with a standard font like Helvetica or Georgia, but with services like Google Fonts and Typekit, there are many great new fonts from which to choose.

It’s also interesting how the font family on Github is determined by your environment. Here’s one person whose instance looks dangerously close to Comic Sans. It’ll be interesting to see how Github reacts to all of the community feedback, and whether they keep this dynamism. If they do, it will be also interesting to see whether other sites adapt a similar approach. Github has a lot of influence because its customer base is programmers and designers — the sorts of people who get to decide how the rest of the web should look.

LeadPages Acquires Drip

Late last week was busy in acquisition announcements. Clay Collins, at LeadPages:

Today we’re announcing that we’ve acquired Drip. Drip is a world-class marketing automation and email platform.

Right now there are three tiers of CRMs for content marketers:

  1. ConvertKit for small business owners who need something simple.
  2. Drip for sophisticated business owners who have an increased level of complexity.
  3. InfusionSoft for larger corporations who need to go all out.

I’ve worked with the APIs of all three CRMs and Drip is an unsung hero. Its acquisition by the much lager LeadPages should give it exposure like it has never had before.

Five Pack Creative Acquires Hours

From Five Pack Creative:

We’ll be honest: we love the Hours Time Tracking App. We’ve implemented it company-wide for team tracking and reporting, use it on a daily basis and even wrote an entire blog post about five reasons why we love it. So it’s with great excitement that we’d like to announce we’ve officially acquired the Hours Time Tracking App! The acquisition includes the iOS app, the Apple Watch App and the new web version of the app with Hours For Teams.

Yours truly interned at Tapity when it launched Hours in summer 2014. It’s the most visual time-tracking app on the market and has a bright future ahead of it, though it’s bittersweet seeing Tapity let go of it. (See also Tapity’s announcement.)

The Paralysis of Ability

Those who don’t know tech are full of ideas, while most who could actually implement something have neither the need nor the desire to do so.

The tendency is for visionaries to think that executers simply don’t have enough motivation, and for executers to despise visionaries for their childlike eagerness and lack of appreciation for the amount of difficulty involved in achieving their ideas.

Visionaries need executers, and vice versa. Occasionally the same person has both traits, but it’s rare.