Speed of Light

I’m Moving to Canada in June

Quick personal announcement time! My wife and I will be moving to Ottawa, Canada at the end of May, and we’re pretty excited. I’ve been living as a Canadian ex-pat in New York City since the start of 2013 and my time here has been nothing short of amazing. However, it’s time for a new chapter.

There are many reasons for the move: best of which is I miss my home country and the slightly chiller lifestyle of Ottawa; least best of which is the current US political climate (and my worries about Canada following suit). But suffice it to say, I’m excited.

If you’re in New York, please reach out and we’ll grab a drink, some food, or just walk and talk the streets. I’m gonna miss all of y’all.

Diversity at Playgrounds Con

I recently came across a post by Belle Cooper about her experiences at Playgrounds Con, especially with respect to diversity and inclusion at the conference. It’s a great post, and her handling of nuanced issues sets a great bar for me and everyone else in the iOS / Mac community.

Among other things in her post, Belle discussed sexism she noticed among some of the speakers at the conference. As I had given a talk at the conference, I was particularly intrigued to hear what she had to say. She began,

The most frustrating example was a misattribution of a quote by a woman to a man. The speaker in question obviously thought this quote was useful enough to include, so they played a video of a man quoting his female colleague. After the video ended, the Playgrounds speaker attributed the woman’s quote to the man in the video who quoted her.

Quoting and attribution are always important and should be treated very carefully, but it’s especially infuriating to see a quote by a minority misattributed to someone in the majority.

My heart sank out of guilt, because I am the (unnamed) speaker here and Belle is completely correct: I misattributed a quote from Vi Hart to Alan Kay during my talk. This was 100% on me and I’m glad she pointed it out. I try really hard not to do this sort of thing, but in this case I did indeed make a mistake, and regrettably did not attribute the quote to Vi as I had intended.

I’d like to thank Belle again for taking the time to share her experiences at Playgrounds and for calling out the examples of sexism she saw. I’m sorry I misattributed Vi’s quote to Alan, and I’m glad to learn from this mistake. I hope others can learn from it too.

On (and Off) Twitter

The last day or so I’ve been logged back in to Twitter and am dipping my toes in it again. I’ve been on a twitter hiatus for a few months now (and will likely return to one shortly), because I found the service quite stressful — both in terms of the amount of bile / bad news it showed me, and in terms of “I must constantly refresh it because what if somebody reacted to something I did on it?”

But I can’t say I didn’t miss it at least a little bit. Here are some things I did and didn’t miss.

Did miss

  • Some familiar faces (or at least, their avatars) and the things they tweet about.
  • A general sense of “people are around and some of them are listening.” I don’t think Twitter is a great place for “being connected” (though it can give semblance of that), but it is a place for some awareness that others are around. I crave a more intimate version of this, though.
  • Jamming out on twitter. I like to think I’m “good at tweeting” (if that’s such a thing). It’s debatable if this is a good thing or not, but it’s something that makes me feel happy. I’ve used the service for over a decade and I’ve sorta got the hang of it now. It’s a fun place to play with language.
  • Similarly, it’s a fun place to riff with people during shared events (like being at a conference, watching an Apple Keynote). This is insufferable to anyone not in on the thing, but if you are, it’s a riot.

Did not miss

  • All the bile. The hate, the sexism, the bots, the nazis, the trump supporters. The arguing, the fighting, the bad vibes. I don’t want to keep my head in the sand about the Legitimately Bad Shit happening in the world, but I also don’t want to read about it from dawn till dusk.
  • Dudes. A general profusion of dudes. Look, I know there are many of them out there, and heck, I am one too. There’s nothing inherently wrong with being a dude. It’s just that programmer-twitter is overrun with them and it’s a big big drag.
  • Related, and worse, is Rational Dude Twitter (it has some overlap with programmer twitter). Rational Dude Twitter is where dudes try to sound so wise by using real big words, academic words, pedantic phrasing. And they flex their big Rational Dude Muscles by squeezing in as many of them as they can into a tweet (or, jesus) a tweet storm. What an utter bummer these people are.
  • The aforementioned stress caused by needing to feel “on” all the time. Refreshing twitter all day, especially if I’ve just done something on it (what do people think of it?). Trying, and failing, to not care. Closing the tab and then immediately re-opening it. Checking twitter when I wake up, when I stop at a traffic light, when in line at the store, when I’m poopin, when my subway car gets cell service. Certainly not everybody gets as roped in as I do, but I sure do.
  • Trying to communicate anything of nuance, whatsoever. I’ve tried. It’s really hard. If you try too hard you end up sounding like Rational Dude Twitter where you only speak in maxims and koans.
  • A horrible, pathetic, embarrassing, offensive use (or disuse) of hypertext and rich media. Twitter is a website that doesn’t let you make web hyperlinks (only auto-links). You can’t bold text (like the Xerox fucking Alto could do 45 years ago). You can’t embed other media (except that which twitter has deemed acceptable). Need to explain something complicated? Screenshot of text or a “gif” (it’s not a gif) of software it is!

Anyway, all of that is to say, I’ve got some feelings on the subject. I’ll write more soon (because embarrassingly enough, this website doesn’t support auto saving yet and I’m worried I’ll accidentally delete this otherwise nice post).

Picking up where I left off…

This is the part where Jason-the-programmer says “And so here’s the technology I’d like to see to improve this” and I’ll rattle off a bunch of features for twitter to do (and they won’t do them) and I’ll feel satisfied.

You can probably guess from my tone I’m not exactly about to do that. But I would like to imagine a bit of an alternative to twitter, which has many of its strengths and fewer of its faults. This is not a 3rd party twitter app, and it’s not an alternative service (like app.net was) but instead is an inkling of a “protocol” for people talking to each other on the web without a shitty service in the middle.

Before I go further, I’ll say this was written hastily, probably has lots of flaws, and is almost certainly already kinda in the works in the form of WebMention and others.

The biggest thing I’m after in my imagined web network is a really solid way for having good relationships with people online. Too often online life presents the artifice for relationships, without providing much in terms of actual relationships. Corporations (it’s always corporations) say they’re trying to make a more “open” or “connected” world. Connections are great, and underrated (hey look, I can contact just about any living human being on the planet, no matter where they are, in a matter of minutes, and if that isn’t absolutely mindbogglingly astonishing, you should take some time and reflect on it), but as far as building relationships go, connectivity is a bare minimum — necessary, but not sufficient.

And I’ll admit, “relationships” are one of the most complicated aspects of the social human being, and I don’t hope to facilitate or foster all or even most aspects of human relationships via my proposed online world, but boy wouldn’t it be great to foster them just a little bit more than we currently do?

So I think my narrow definition of “relationships” here mostly means intimacy. Not in the sense we often think of it (as physical intimacy between people, often sexual), but more so as closeness and trust between people. I want to know what my friends are up to, I want to be able to talk to them (about the big stuff, but also about small talk stuff). I want the opposite of loneliness, and the opposite of loneliness isn’t dozens of people, the opposite of loneliness is togetherness.

Related, I don’t need or want thousands of online friends. I can’t deal with thousands of most things (unless it’s thousands of dollars, and even then my track record is only so-so). I don’t want a platform to grow my brand, I want a place to hang out with my friends online.

When I was a teenager I used to hang out online just about every night. For me, that was MSN Messenger: most of my friends were there, not all at once, but at various times throughout the evening. Yeah, it was mostly a place to gab, but it was also a place where you felt you could confide in those close to you. You had a sense that other people were around, and that you could be together for a little while. People had “statuses” to indicate when they were around. If someone was online, MSN told you so, and you knew you’d have pretty good luck spending some time with them. Likewise, if their status was “Away” or “Busy” or “Offline” you knew they probably weren’t around for hanging out, and that’s OK, because you had the right expectation.

With twitter, I can kind of guess when my friends are around, but I’m not really sure. Maybe he’s up for tweeting back and forth; maybe she just put her phone away because she’s going out tonight. Who can fucking tell?

What I’d really like is a place where me and my friends can hang out online. One that’s on my website, and that’s on your website, and on all your friends’s websites. I cannot and will not trust twitter to do a good job at this, not only because obviously I’m just Jason and they don’t have to listen to me, and even if they did it’s not the product they’re trying to create, and even if it were, they’re mired in the vitriol that resulted from their previous poor design decisions, and on top of all that they’re a corporation that doesn’t really give a shit about my mental wellbeing.

I don’t necessarily want another IM (although hey, if I could recapture they heyday of my MSN years, I wouldn’t turn it down), but I’d love to reintroduce the concept of online status into today’s web networks. It doesn’t have to be straight online status, it could be something like Glancing or it could be an evolution into something altogether new, but I should at least be able to tell when my friends are “around.”

I don’t want to be constrained to 140 characters, as that makes it really hard to talk about just about anything with just about anyone. People are complicated and messy and we need a little bit of breathing room to express that. I’m not saying that everyone should be writing blog posts to each other (necessarily), but holy crap give them the space if they need it.

Maybe this looks like a feed, maybe it looks like IM, maybe it looks like something a little different from that. But this is the sort of thing I want from an online network of people. I want to hang out, I want to be together, online. And I don’t want to be dependent on a corporation for it, either. It doesn’t necessarily have to be private, but it could be.

Could this work? Sorta (probably). Everyone runs their own server (oops, that’s probably game over), and the servers communicate via an API / protocol about new posts, for example. There’s another obscure networking service that works a bit like this, and it’s done alright. I won’t go too far into implementation details beyond saying that “it’s probably possible” because that’s all that matters and because I’ve yet to fully flesh out and design what the service would actually look like.

These are some of my meandering thoughts on Twitter and social life on the internet in 2017, and maybe social life on the internet in 2018 and beyond. What do you think? What do you want from your network?

About My Playgrounds Talk

On February 23 I spoke at the Playgrounds conference for iOS developers in Melbourne, Australia. I spoke about the purpose of education, what programmers can do about it, and how the current “learn to code” movement falls totally short of accomplishing important educational goals.

I intend to provide a more formal, essay version of what I covered in the talk in the coming weeks (famous last words), and I’ll definitely link to the video recording of the talk once it’s published, but in the meantime I wanted to provide a few links to things I talked about as fuel for anyone interested in following up.

Alan Kay

As mentioned in my presentation, my talk was largely inspired by the work of Alan Kay. Indeed, part of me wanted to just hop up on stage, hit play on this talk by Alan, and let the whole thing play out. Alas, I also wanted to provide a bit more context for the Swift / Playgrounds audience, so I decided to speak a bit more in terms of what Apple is up to. Suffice it to say, these ideas are neither mine, nor are they new (personal computers have been seen as potential devices of enlightenment roughly as long as they’ve existed). See also Alan’s paper where he envisioned something like the iPad nearly 50 years ago.

Where do we go from here?

Let’s say you were in the audience of my talk, and you more or less liked what you heard, and you want to participate. What now? It’s a tricky question to answer, but I’ll do my best. (Honestly I was quite unprepared for the largely positive feedback to the talk; I probably should have prepared this sort of answer in advance!)

As mentioned in the talk, the first thing you should do to help is learn. Read books about learning and education (and understand the difference!). Talk to teachers and learners and try to understand what their needs are.

“Learning” is of course an on-going process; not one you start and finish before doing something else (in fact, you’ll often learn a lot by studying plus doing at the same time). Try to make informed inventions. Do you think everyone needs tools to create and reason about complex systems? Try to make such an environment! (Hat tip to the three men from New Zealand, whose names escape me, who chatted with me about Sim City — I could write a whole post about that game, what’s good and what’s bad from a systems learning perspective. For now, google “Alan Kay Sim City” and you should get an interesting discussion about it).

Developing new systems for education is of course quite difficult, so I’d recommend starting small, and prototyping as much as you can. Apple has a great talk about prototyping, as does my former coworker, May-Li Khoe. Prototyping allows you to iterate quickly, and think out loud.

And while you’re learning and building, reach out! There’s a small community of people who research and develop this sort of thing, and the more people working on this, the better. These are hard problems, so the more people working together and collaborating, the more likely any of us will make a positive impact.

Coming Soon

As mentioned earlier, I plan on eventually releasing a more formal, essay version of my talk, with full references to everything I spoke about, hopefully in a less-nervous presentation (getting up in front of 200 people is hard too). I will link to it here when it’s ready.

I’ll also link to the video of the talk when it’s available, too.

Thank you so much to everyone who had encouraging discussions with me about the talk. It truly made all the work worth it.

How to Work in a Smelly Open Office

Like many people in the tech industry, I work in what’s called an open office plan, where everybody works in one large, open space. A big shared space can often be great for collaboration, but at times I find it hard to concentrate.

You know how it goes: it’s easy to focus in the early mornings, but by around 10am, once enough people arrive at the office, things start to get pretty smelly.

Too many people all together in a big open space can get stinky really fast, and that makes it pretty hard to focus on my work. It’s distracting when you’re trying to figure out a tough bug and your nostrils are burning from all the stank wafting over your desk.

Now, I know what you’re thinking: if it’s too smelly in your office, just put something that smells nice up your nose! Like many people I work with, I’ll often do this. Last week I was resting freshly sliced bread on my upper lip, and this week I’ve started shoving cinnamon sticks up my nose. But doesn’t that seem kind of strange?

Don’t get me wrong, I love smelling good things. There’s nothing like the familiar scent of freshly baked cookies to bring me back to my teenage years. You don’t have to tell me how powerful the memory of aromas can be.

But it still feels strange. As much as I love smelling great things, I wish I worked in an office that just wasn’t smelly in the first place, where I wouldn’t have to shove things up my nose just so I could focus on my work. That’d be music to my ears.

A First-Hand Account of Meeting Canadian Prime Minister Justin Trudeau as Told by My Eighty-Six Year Old Grandmother

Last week my grandmother met Canadian Prime Minister Justin Trudeau, while she played her weekly game of cards with her old lady friends at a church in Fredericton, New Brunswick. Here’s what she said of the meeting:

Oh, we chatted about the weather, the cards, how we were doing, our age, no big politics. Nice friendly chat. We were playing cards when he came in, he came over to our table and asked all kinds of questions about it. Real friendly. Security was unreal. They brought the dog in to sniff all our purses before he arrived, went in the bathrooms before he came in. It was really something.

Made a lot of old people kinda happy today, he did. Lot of young people too. Didn’t tell anyone around that he was coming, it was just our card group, and a few people from church. Didn’t want to attract big crowds, you see.

Big black cars and limousines. It was something out of a movie. Unreal.

Don’t Kill Time 2

Since I posted a link the other week to Tara Mann’s blog post on social media and being a person, I’ve been thinking a bit about a post I wrote a few years ago, called Don’t Kill Time.

In that post from 2012, I wrote:

Any of these activities are a good way to pass those in-between moments, those crumbs of a day, and get me through to a bigger, meatier morsel of time. They’re a way to kill time, but why would I want to kill time? Time is precious and limited and can never be truly gotten back. I’ll become a wrinkly old sod before I know it, I’d rather not accelerate that plan and miss any of the life on the way. Those crumbs may be tiny, but can be filling when put together.

I want to emphasize I have nothing against Twitter, listening to music, podcasts, or reading. All are excellent tools which serve their own purpose of entertainment, enlightenment, or information. All are important, but turning to them for the sole purpose of killing time seems perverse to me.

The thing I’ve realized recently is it’s easy for me to be “consuming media” from the time I wake up to the time I go to bed, and often I do. My [phone] alarm goes off in the morning, might as well check Instagram, emails, New York Times, maybe RSS too. Have some breakfast and watch some Youtube. Read a book on the train to work. Work 8 hours on a computer. Read a book or my phone on the train home. Watch some TV with supper. Maybe watch a movie or program or read on my computer mostly until bed.

Not every day is like this, but it’s entirely possible I can go whole days constantly glued to something. No one of these things is inherently bad, especially not on its own, but the totality of it adds up to a whole day (or lifetime) where I don’t have a lot of time for my own fucking thoughts.

Lately it feels like my own boredom has become a privilege, but my is it ever wonderful. To realize I could go whole days without any time to just sit and think, what kind of life is that?

The Women’s March

(Written Sunday, January 22, 2017)

It’s been a weird and exhausting couple of days. Friday was Donald Trump’s inauguration and yesterday was the DC Women’s March / protest, which happened in DC but also in just about every city in America + around the world.

My wife and I marched in NYC. We’d had friends over Friday night to make protest signs (and also tacos..yumm). I made two signs, “think critically” and “pence sucks too” (both I was very proud of). My wife made all kinds of signs, like “dissent is our right,” while others did things like “Love trumps hate” and “we deserve better.” It was nice to have company, to feel a togetherness in our home, which is so rare in NYC these days, at least for us.

Yesterday brought the march. There were oodles of people sharing the train with us, all headed to the march, most with their own signs. We’d made extras, just to give out. There was an older lady on the train with us with a Russian doll / Trump sign which was really well made. She said she worked with children and that Trump’s “no puppet!” arguing was at about a 3rd or 4th grade level.

We arrived at Grand Central Terminal among hoards of people, all headed to the march. We waited for some of our friends to show up near a Starbucks on Lexington (maybe?). While we waited we gave out some of our spare signs. I also held my “think critically” sign (this was my first protest, but it seemed like a good idea) for the passersby to see. I got more nods of approval than I expected, which made me feel good. Interestingly, throughout the whole day, I seemed to mostly get nods / compliments from older people (say, over 50). I’m not sure I saw anybody under the age of 30 even react to the sign. Ah well. I tend to find the older residents of NYC fascinating, so I’ll take this as a good sign.

Earlier, on the way to the protest, one lady in Park Slope scoffed at our friend’s sign, which said “Obama Cared.” The lady asked what did Obama ever care about? to which our friend replied “everyone!” It was a mostly peaceful disagreement, but it was still nerve-wracking to me. I generally don’t like confrontation. How lucky are we, I said, that we live in New York, and that pretty much everybody already agrees with our political views. I can’t imagine having to protest in a place where my views were the exception / outlier. That’d be real confrontation.

The march itself was quite powerful. Thousands of people, of all ages, of all kinds, were marching together, slowly. We were packed in between the streets. Marching from Lex (?) @ 48th street, we glacially made our way to 5th ave, then up to 55th street (right before Trump Tower, which was heavily barricaded), over the course of about 3 hours. There were so many signs and chants and songs and people, it’s hard for me to make sense of much of it, but it was tremendously powerful and moving. People were courteous, but also quite riled up. It was a very moving experience.

Just being surrounded by so many people who cared enough to show up was truly touching. Sometimes the world feels hopeless these days, but yesterday showed me loud and clear that the world is not about to take this sitting down. There are people who want to make a difference, and they want to do so by rejecting the bad, and working towards the good. That’s a powerful feeling that goes a long, long way.

The demonstrations in DC drew possibly 3 times as many people than did the inauguration the day before. That’s a powerful statement, and a powerful act of defiance, that will not go unnoticed.

Stand Up

A few years ago a friend and I were hanging out at a dev conference and we were talking to someone generally well known and well respected in our community. The guy was essentially berating my friend about a pretty inconsequential detail of my friend’s app stack, and though my friend made a good defense for their stack, and tried to agree to disagree, the guy kept berating them.

I knew this hurt my friend, to be given shit by somebody generally respected, in front of our peers. I just stood there. I just stood there.

My friend and I talked it over afterwards, and they were OK. But there was a clear moment when I knew I should have said something in the moment, and I didn’t. It was clear as day to me that I should have done something, and I didn’t.

~ ~ ~

I used to work on a team with a very toxic coworker. On more than one occasion, he publicly shamed me in our team’s Slack room. That hurt pretty bad, but what was worse was that nobody, not one of my teammates stood up for me. Some of my peers privately messaged me about it, which was nice and helped, but nobody called out the toxic guy. Not even our tech lead, who I quite looked up to (until then).

It’s bad enough to be bullied, but it’s especially degrading to have people watch and do nothing about it.

~ ~ ~

There have been more moments than I’d like to admit when I saw something wrong, and knew exactly what to do, but instead did nothing. Whether it’s somebody being bullied, or somebody who just needed help in any way, I’m ashamed to say there have been many times when I didn’t stand up. But I’ve been actively working on changing that.

For the past few months, when I see somebody who needs help, I’ve felt it. I’ve felt the voice inside me that knows what to do, but is usually ignored, and I’ve listened to it. It’s oddly difficult, but I’m doing my best to stand up.

I’ve helped people on the street. I’ve twice called out people being assholes at work, telling them and other people around me that their behaviour is not OK, and have sympathized with those who were bullied. I even wrote a post about not being mean. I’m not saying any of this to self-aggrandize, and I obviously don’t need any kudos, because as far as I’m concerned, standing up is just the bare minimum for being a good human being.

Given the current political climate in the world, given America has elected a fascist as its president, I feel like we’re all going to need to be standing up a lot more. We should have been doing it all along.

Tara Mann on Learning to Just Be a Person. Tara Mann:

I hit a point a few months ago when I realized I needed to reset my relationship with “social media.” I had no interest in leaving any of the networks I currently use, but I did need to change their level of importance in my life. I continuously get meaningful value from these products, and some of my closest relationships are the result of them. This isn’t about deleting accounts, this is about reprioritizing, about figuring out how much importance I assign to these services and how I access them. […]

I realized that I needed to be comfortable existing in a moment, in my own skin, alone with my thoughts. Louis C.K. has this great bit about just being a person. I remember seeing this and thinking, “damn, I can’t remember the last time I was just a person.”

Tara’s got some great tips here. I’ve unfortunately never had much luck toning down social network use. For me, it’s always been mostly all-or-nothing, unfortunately. That’s one (of many) reason(s) why I’ve been off twitter for the last month or so, and why I plan on mostly remaining off it indefinitely. The thing I keep reminding myself, though, is that it’s in Twitter / Instagram / Facebook / etc’s interest (and their aim) to keep us glued to our screens as much as possible — i.e., it’s not a personal failure that I’m “addicted” to social media — it’s designed to have me be addicted.

World War Three, By Mistake. Eric Schlosser in a fantastic essay about the US and Russian nuclear systems. More people should read this, and here’s a taste:

What worries me most isn’t the possibility of a cyberattack, a technical glitch, or a misunderstanding starting a nuclear war sometime next week. My greatest concern is the lack of public awareness about this existential threat, the absence of a vigorous public debate about the nuclear-war plans of Russia and the United States, the silent consent to the roughly fifteen thousand nuclear weapons in the world. These machines have been carefully and ingeniously designed to kill us.

Multitouch is a Red Herring

Tonight was spent hanging out on my computer (an iMac), doing a couple of things. I wrote some notes in a text editor, browsed the web a bit, collected a few images and goofed off designing a web page in Sketch (all the while listening to music).

I kind of can’t imagine having an evening like this on iOS. Certainly not on an iPhone (because its screen is too small), but I also can’t imagine it on an iPad, even with a physical keyboard. The sort of thing I did tonight had me rapidly bouncing around multiple apps, often using them simultaneously. Browse some images in Safari, drag them into a Dock folder, pick the ones I like from Finder and drop them into my Sketch file. Arrange the images in Sketch; nope, re-arrange them so the big one’s at the top; nope, put it on the bottom; ok, move all the images to the left; good. Pick a layer and change its colour using the eye dropper on one of those images; ah that’s not right, pick the next one; yeah that’s it.

Can you imagine doing anything even remotely like that even on a big ass iPad with a keyboard? I’ve waited for years to see something great like this, like “hanging out” and mucking around on an iOS device, but I’m still waiting.

A lie I keep telling myself is multi-touch is so fantastic. It’s amazing, right? You can use all your fingers (and then some!), to uhm, touch your screen. To do what, I still don’t know. Almost ten years of iOS and about the best multitouch app I can think of is Maps: it’s got two-finger-gestures!

After all this time, after all this waiting and lying to myself, I think multi-touch has been a big red herring. I’ve always looked at it and seen potential, like, this is the year of the multitouch desktop but it’s never materialized. iOS has always felt incredibly stunted to me, but I kept telling myself, we just need time to re-imagine software, we’re all just stuck in the desktop mindset, it’ll come.

I don’t think it’s coming.

At its finest, I think iOS is a fantastic context sensitive information graphics system (as discussed in Bret Victor’s Magic Ink essay). It’s always with you, it’s location-aware, and it’s usually got an internet connection. Mix all this up with a zippy processor, and you can get a lot of graphical bang with very little interaction buck.

I almost wish the iPhone didn’t have any input at all. I wish it was just a big screen (with network, GPS, etc). That’d force app makers to make honest-to-god context-aware software. It’d show you relevant information, without expecting you to poke and prod with your fingers. It’d be powered by all kinds of data it currently has, but wastes. Those emails you got about a housewarming party would power the device to show you Maps locations when needed, calendar events when needed, shopping options when needed.

It wouldn’t have to pretend to act like a desktop computer, it wouldn’t promise to replace it. It wouldn’t be a “consumption” device, but it would be an information device.

Of course I’m exaggerating; you’d still need some input to OK things, sometimes type things, etc. This is an exercise of the imagination more than anything. Yes, there are new sorts of things you can create on an iPhone, but much of it feels imprecise or ready-made. Yes, you can squeeze creativity out of just about anything, but that doesn’t mean it’s tailored for creating.

Back to my futzing around tonight: so what? I think what I’m trying to say is I’m realizing iOS is not nearly as exciting as I used to tell myself it was. There are neat personal-information related things you could do with it, but beyond that, what kind of computing can I do with it? All of my thoughts for making new software has been bottlenecked by “well, phones + tablets are the future, so how do I make this work on a phone?” and I think it’s time I stop asking myself that question.

I don’t think a keyboard, mouse, and 27 inch rectangle are the future of computing either, but I think they’re better than fingers on glass. For now, that’s where I think I want my computing, my designing, to be. iOS may prove me wrong, but I’m not holding my breath.

Check Out daiyi’s Blog

Her’s is perhaps one of the most thought blogs about the tech industry. Her recent post is super:

If you’ve ever criticised leadership in any way, you know how hard it can be to move a muscle against an invisible wall, endlessly high and dispassionately immense. When something seems wrong enough that you, a single tiny person in a big world machine, feel moved to action, you start doubting yourself. If this is so horrible, why hasn’t someone else already done something about it? Surely this would never be allowed to happen? When you open your mouth to tentatively voice your concerns everyone is suspiciously quick to violently agree. They already know it. Dysfunction is obvious. Action is hard.

And another recent gem about signalling in tech:

It’s fucked up that being interested in this random programming language, not even for the reasons the fangirls love it, suddenly caused everyone to start being nice to me when I’m in fact the same trash can that I’ve been all along. Coming upon the Correct Signal by accident made it all feel extra wrong and extra strange, like I killed a man and wore his skin for a suit and suddenly inherited all the achievements ever made in that body.

Silicon Valley Meets Its Biggest Creation: Donald Trump. You should read this article (I kinda want to quote the whole thing):

For years, Facebook’s headquarters in Menlo Park featured a rectangular sign that reflected the ambition and spirit of Mark Zuckerberg and his legions of dedicated employees. It read, in bold, red lettering, “Move Fast and Break Things.” Twitter had a similar poster that hung in its San Francisco office, noting “Let’s Make Better Mistakes Tomorrow.” These mantras aren’t an anomaly in Silicon Valley’s playground-like campuses. Cubicles, hallways, cafeterias, and meeting rooms are festooned with Rockne-esque white-board-style slogans such as “Done Is Better Than Perfect” or “Fortune Favors the Bold,” or “Don’t Bury Your Failures, Let Them Inspire You.”

These maxims have their value, and they have helped inspire a wealth-generation machine unlike any other in human history. But moving too fast can come with consequences, especially when the mantra is heeded by young people who are often still in their 20s and 30s. In fact, the tech industry’s adherence to an ideology of rapid acceleration helps explain why America finds itself in its current predicament, with hackers reportedly involved in swaying our election and a growing acceptance of xenophobia spreading across the nation. […]

If the tech elite had no idea how their innocent products could be undermined, then now is their opportunity to pause and think about the implications of their actions on the future. As companies in Silicon Valley build robots that can run as fast as a cheetah, fleets of cars and trucks that can drive themselves, artificial intelligence agents that can predict weather patterns and respond to global market changes, and flocks of drones that will deliver our packages, maybe it’s time to put more effort into thinking about how to avoid calamitous events from occurring on a larger scale. It’s one thing for Russian agents to hack our e-mails and influence the election. Imagine what they could do with millions of autonomous vehicles that have passengers inside them.

Cynically, however, one wonders if tech companies were subverted not because they couldn’t imagine such dystopian outcomes but rather because they weren’t incentivized to prevent them. As Trump’s campaign noted recently, it spent $50 million in digital advertising and promotions during the election, with a majority of that expenditure going toward social media. Why would anyone in tech want to fix that? Financially speaking, Facebook’s plan to combat fake news could indeed backfire. (emphasis mine)

I have a few thoughts here. First, it’s clear that often times our systems can get away from us. Something that might work at 1x scale might crumble at 1000x scale, and if you don’t have balancing parts of your system, there’s no way to stop it. Beyond that, it’s hard (or useless) to put the pin back in the grenade. Please also read Alan Kay’s essay on the subject.

It can happen to just about any system if we’re not careful or don’t balance for it. Democracy, capitalism, social networks + the internet, the environment, political movements, etc (and bonus points for realizing that of course, none of these systems are isolated; everything is intertwingled, as they say).

This deserves its own post, but I have to at least attempt to say it here: we in the technology industry are presently complicit in the damage it does to the world. It’s not a “we might become complicit in a potential future where we’re asked to create a database of, say, Muslims in America.” We are currently complicit in the damage it does, right now. We could all use a reminder that “disruption” historically has not been a great thing.

Programming Sketchbooks

I’m looking through Scott Pilgrim creator Bryan Lee O’Mally’s tumblr and a lot of what he posts are pictures from his sketchbook. I wish, as a programmer, I could have a sketchbook. I can sorta do it. A paper book lets me write my thoughts down, and I can doodle in it too (if I was any good at doodling!). Or I could blog it and let other people read / see it.

But I can’t really sketch out programs in this way. I can’t keep a running diary of code I write. The closest thing I can do is keep a running sketchblog with pictures (or videos) of what I’m working on. I can’t actively share the stuff (at least not in a website format). I guess I could theoretically make an app, but then all my stuff has to become appy (and if it’s an iOS app, then it has to be touch-related). Programs are so tricky, because not only do they have to execute (and usually can only execute in one place / platform), they also often involve affordances (that is, they often have to be used, which implies ways to interface with the program — touch? mouse? keyboard? stylus?). How can that be encompassed in a sketchbook?

~ ~ ~

Semi-related, while reading his tumblr, I’m saving a bunch of the images I see and like. Part of me wants to print those all out, I want to be surrounded by them, and I want to draw, too. But usually I also want to share the stuff I’m currently into. That’s probably because I’ve been wrecked by social networks for so long. I feel kind of conditioned to want to share all this stuff.

What I really want is twofold: 1. I want to make great things and tell people about them and 2. I want to see what my friends are up to (what rad shit are they working on?). Through these, I’ll learn new things and meet new people, too.

~ ~ ~

Mainly, I love the idea of these sketchbooks, but so much of programming is invisible. I don’t really care to show or see code, I want to share and see sketches of programs. Those don’t really exist today. Programming hasn’t yet entered an era where we can sketch (which doesn’t necessarily mean “programming with a stylus” (though it could) so much as it means “rapidly creating rough versions of program ideas”).

What would a programming sketchbook look like?

Check Out Christos Zeus Stavrou’s Blog

Yes! Continuing to help spotlight blogs, Christos Zeus Stavrou has let me know about his beautiful UI/UX / Graphic design blog. From a recent post of his about rethinking UI for the new MacBook Pro Touch Bar:

The question is not if the new input makes sense or not but how the input can be used to optimize my workflow without remembering new shortcuts and make it able to work faster.

Keep up the excellent work Christos!

Donald Trump Is Gaslighting America. “Civil rights are now on trial, though before we can fight to reassert the march toward equality, we must regain control of the truth.”

Fake News on Social Networks

Manton Reece wrote a nice post last week about Fake news on Instagram:

Twitter has retweets. Facebook has sharing. But Instagram has no built-in reposting. On Instagram, there’s no instantaneous way to share someone else’s post to all of your followers. […]

When you have to put a little work into posting, you take it more seriously. I wonder if fake news would have spread so quickly on Facebook if it was a little more difficult to share an article before you’ve read more than the headline. […]

Instagram was no accident. The only question: was it unique to photos, or can the same quality be applied to microblogging?

I don’t think it’s unique to photos, thankfully! As Manton describes, conscious decisions by Instagram encouraged certain behaviours above others, and I think you can do that no matter what your social network’s primary content is. Let’s look at this in a bit more detail.

First, it’s important to get to the real meat of what’s going on when we talk about “fake news.” This is distinct from just inaccurate information (although that’s a part of it). What’s going on is really disinformation, better known as propaganda.

Aside from the normal reasons propaganda exists, it exists on social networks like Facebook and Twitter because it can exist on those networks. It’s profitable and useful for the parties manufacturing and disseminating it. To Facebook and Twitter, upon whose networks it propagates, it doesn’t really matter what the information is so long as it engages users. Facebook’s apathy to propaganda is regularly exploited.

Design Around It

So how could Facebook, Twitter, or a microblog network prevent it? The obvious first step is to use the tools which already work.

Facebook prohibits nudity on its platform and seems to have tools to defend against it (some combination of user flagging and automated tools). It should do the same for propaganda. Yes, it’s harder to recognize than nudity, but that’s not an excuse for not doing it. This is a starting point.

The next step is to design the interface to prevent it.

Maybe don’t let users retweet / share something with a link in it if they haven’t actually, you know, clicked the link. I bet this would be an easy win at curbing the spread of propaganda.

For anything that gets past that, give users tools to help them reason about the content they’re seeing. Do people routinely report this content as fake / propaganda? Show it. Who is sharing this and how often do they share propaganda? Show it.

Get readers to evaluate what they’re seeing and sharing. You read it, what did you think about it? Why? Let other readers evaluate those answers.

Your user interface can encourage thoughtfulness or it can encourage mindlessness. But that is choice you make when designing your interface.

See also:

Check Out Roland Leth’s Blog

You should check out Roland Leth’s blog, he’s

[M]ostly writing about iOS, JS and Ruby development: snippets, walkthroughs, tips and tricks, stuff that I struggled with and links to interesting stuff I find around the web. From time to time I will find an interesting or helpful app and I will write about that, as well.

For instance, one of his recent posts is about Slightly easier Core Data manipulation in Swift, showing how you can leverage Swift protocols and their powerful, but mysterious associatedType functionality.

It doesn’t hurt that his site is beautifully designed (especially for code snippets, which is hard to get right!) and loads lickety split (an area my website could learn from 😅).

Thanks for taking me up on my offer, and thank you for sharing, Roland!

The Elephant in the Room

There’s this metaphor I heard a few years ago I really liked. It describes the human mind in two parts: an elephant and a human riding atop it. The elephant in this metaphor represents your emotions and the generally “animal” part of your brain; the human represents your rational self. The human rider’s control is at the mercy of the large and powerful elephant it rides atop. The rider can suggest, but the elephant is going to go where it wants to go.

The metaphor comes from Jonathan Haidt’s book, which admittedly I have not read, so it’s possible I’m misinterpreting it. But I like it because it helps me understand what goes on in my own head (for example, I have a hard time focusing when I’m hungry! the elephant gets what it wants!), and it helps me understand what’s going on in the heads of other people. We want to be rational and sensible, but our emotions often get the best of us.

~ ~ ~

It’s funny to me, framed by the above metaphor, that the United States’s Republican Party uses an elephant for its mascot. The two aren’t logically connected, of course, because the symbols are arbitrary (if you want to interpret the symbols literally, consider also the Democratic Party uses an ass), but it’s funny to me nonetheless.

In the 2016 election, it feels like the elephant got the best of the rider. I’m not implying merely having conservative political views means you’re irrational or at the whim of your animal brain, but I am saying many people voted out of fear above anything else.

~ ~ ~

Last week my wife and I visited her parents for American Thanksgiving. Her parents generally fall on the conservative side of the political spectrum, but it seemed as though they too were unhappy about how the election had gone.

There was an elephant in the room that I both wanted and didn’t want to talk about. I think every one of us felt it. Any mention of politics was quickly met with silent, downtrodden eyes. A game of “jumbling towers” (a knockoff of Jenga) prompted me to make a joke, “jeez this thing looks as rickety as one of Trump’s towers,” that led to short, nervous laughter from all at the table. But there remains an elephant in the room.

It’s Easy to Start a Blog

Just what it says on the tin. It’s easy to start a blog. There’s Tumblr and Wordpress and, I mean I guess Medium too. Those are hosted for you, but you can also do something like Squarespace or you can fully host your own (but that’s slightly more work and not my point).

So, it’s really easy to start a blog. Get an account, and start writing!

I hear two big reluctances about starting a blog: it’s hard to finish writing a post, and it’s hard to keep writing posts. Let’s explore those, shall we?

While it’s easy to start a blog, and while it’s easy to start writing posts, it’s definitely hard to finish them. Sometimes you get a hint of an idea, but don’t know how to see it through. Sometimes there’s a lot you want to say, but can’t find the words. Sometimes it just feels like your thoughts aren’t polished enough. I have been through each and everyone one of these, and they stink!

My best suggestion is really just to publish anyway. Can’t think of a great way to end a post? Don’t! Just end it. Maybe say “And I don’t really have a conclusion here, but yeah. bye” I think the reluctance stems from looking at blogs as a publishing medium, which it very much can be if you want. But I think the idea that blog posts have to be polished holds blogs back. While I encourage everyone to research, link, and polish posts to the best of their ability, I also think it’s fine to go without. Just be explicit, “Hey these are rough thoughts” or “these are just my opinions, they might not hold up to scrutiny,” and I think you’ll be OK.

The other difficulty is finding momentum. This one’s hard too. Maybe you’re fired up to write one or two posts, but maybe you lose steam after that.

I’ll start by saying, if you feel like you only have two posts in you, then at least post those two! Start somewhere. There’s really nothing inherently wrong with a two post blog anyway. Just publish them.

Beyond that, reflect on where your original posts came from. Why did you write them? Me, I write posts when I’ve had an idea buzzing in my head for a while and I want to explore it publicly. Or, I’ll write when I want to respond to something I’ve read or somebody else’s blog post. Ideas and thoughts that don’t fit in a tweet. If I start a twitter thread with myself, that’s usually a good indication I should be blogging it instead.

The more you do this, the more you post, the more you’ll want to post. The more people who post, the bigger the network effects. I started blogging because I saw John Gruber and Ash Furrow doing it and I thought to myself “I want to do that. I can do that.” and then I did it. When I see my friends blogging about stuff, I want to join the conversation.

If you’re reading this post, you’re obviously a very intelligent person. You probably have great ideas of your own. Great ideas that are done a disservice by trying to squeeze them into a tweet or erratically chatting them in a Slack room. Great ideas that would otherwise be lost to the sands of internet time, reduced to 404s when Twitter eventually shuts down.

I Will Personally Help You

Here’s the deal: you start a blog, and you tell me about it (either in the discussion section below, or by contacting me otherwise), and I’ll promote your blog.

I’ll make a post on my blog, linking to yours, and I’ll write something nice about it. If you’re having trouble and you want help, I’ll help you. I’ll review drafts, I’ll suggest ideas, I’ll listen, I’ll link to your posts again if you want.

There are so many people discussing important issues these days, but unfortunately so much of that gets lost on Twitter or Slack or other shitty networks. Today, it’s easy to start a blog somewhere (or better yet, host your own), and you should do it.

I’ll help.

A Rant About the Post-Truth World

Oxford English Dictionaries made “post-truth” the word of the year this year. Post-truth. An era where facts, where truth, is irrelevant! Not just about misinformation or a lack of facts, but a bold-faced denial of facts. Staring the truth straight in the eye and ignoring it. That Donald Trump can so constantly lie to everyone, on camera, when he is provably wrong, and when that just doesn’t matter, not even a little bit. I take sardonic comfort in feeling he’ll fuck over everyone who voted for him, that he’ll continue to lie to them, that he won’t help them a bit, and that they’ll see him for what he is. Yet at the same time, I’m starting to doubt that will matter. Why the fuck should it matter at this point?

So he’ll lie to his people as he fucks them over. As the coasts sink further into the mire, we’ll be told how climate change continues to be a myth. And nobody will stop it because there is nobody left who cares about truth.

Of course that’s an exaggeration, but one I never thought I’d have to make. One that had never occurred to me. Truth, knowledge, rights, progress: these were all a straight arrow as certain as the passage of time. But this edifice has been shaken for me recently. Perhaps it was naive of me, perhaps I never should have assumed that was the case. But it’s clear that progress is undoable.

So how the hell do we dig ourselves out of this hole? How do we get people to value truth, to seek it out, to refute blather and bullshit and fictions?

I’d start by looking at how we got here, but I don’t know what to do after that. Amusing Ourselves to Death is my go-to reference here. About how television dramatically altered public discourse in the United States. About how politics is done a disservice by news soundbites. But there’s also Brave New World, where the people were so entertained they don’t need to care about anything else (Postman frequently alludes to BNW in his book).

Television yes. And also social networks like Facebook and Twitter. They’re a gaping hole, a bright red target for exploitation. Facebook and Twitter value “engagement” (a euphemism for exploitation), they don’t value or care about truth. They don’t care about progress. They care about people spending time on their software, seeing ads. (And true, this is just kind of capitalism 101… it doesn’t value progress or any other kind of good, it only values capital) And with phones and social networks, it’s run totally fucking amok.

I wish I had more of an answer here, or at least more of a point. But this is what I’ve got for now.

Down Days / Down Daze

A coworker asks me as we ride the elevator “How’s it going?” and I say “Well, some days are better than others.” Like the elevator, I’ve been having my ups and downs lately. “Yeah, me too” says my coworker.

The US 2016 election results have left me feeling more emotional than I thought possible. I’ve been sad, I’ve been worried. I’ve been energized and invigorated. And I’ve been angry and scared. I can’t quite make heads or tails of what’s going on most days.

The other day I felt nearly paralyzed by everything. After reading my zillionth tweet about the election, I started freaking out. I felt like all the hope had been drained out of me and I couldn’t focus on anything but that. I was at work, but I couldn’t focus on anything I was doing. All I wanted to do was go home and curl up in a ball and cry.

There’s a quote from a Bret Victor essay on global warming that’s been ringing in my head for a year now, even more so after the election:

But despair is not useful. Despair is paralysis, and there’s work to be done.

The quote is about climate change, but it rings so true to the world right now. America has just elected a fascist, and that needs to be opposed and fought at every step of the way.

There’s work to be done, yes, but I’m absolutely still in the grieving stage. I’m still in the I can’t get out of bed today stage, and I think for a little while, that’s how it’s going to be. I’m going to have my up days, and I’m going to have my down days.

There’s work to be done but I might need some time.

Introducing Speed of Light Discussions

Today I’m happy to announce I’ve added a discussions section to the website, directly below each article. Here you’ll be able to directly respond to what you’ve just read, share your thoughts, and have a discussion with other readers of my site. Today’s post is going to take a bit of a look inside why I’m doing this and how discussions work.


For many years, the blogging community I’m a part of (especially the Apple blogging community) has more or less subscribed to the “we just don’t do comments” line. Primarily, big names like John Gruber (who many of us copied) decided not to have comments, and so many of us decided not to too.

The arguments against blog comments go something like this:

  • It’s my site with my content. I want to control every word.
  • If you want to respond, do so on your own website and tell me.
  • Comments sections often become shouting matches or spam-riddled.
  • Twitter, Reddit, Hacker News (etc) are my comments section.

I think this mostly captures what Gruber’s written about, what Ash Furrow has written about, and heck, even what I’ve written about on the subject.

And I think these are mostly fair and valid arguments. Any author is entitled to what they do or don’t want on their own website. Comments often devolve into messy arguments, and it’s much easier to just tell people to comment on Hacker News or Twitter instead.

But I feel like I’ve been brainwashed by that party line, that “we just don’t do comments” and that’s held me back from even considering adding them to my website. For a website the size and popularity of Daring Fireball, it’d probably be madness to foster any kind of coherent conversation. But for a website the size of mine, it’s a different story. So let’s consider why I might want to add them, instead.

Primarily, it’s about having a conversation with my readers, a conversation that I just currently don’t feel happening these days. Earlier this year, I wrote:

When I started my website in 2010, I was really excited to jump in to writing on the web. There were blog conversations all over the place: Somebody would post something, then other blogs would react to it, adding their own thoughts, then the original poster would link to those reactions and respond likewise, etc. It became a whole conversation and I couldn’t wait to participate.

But I’ve never really had much of a conversation on my website. I’ve reacted to others’ posts, but I’ve never felt it reciprocated. I never felt like I was talking with anyone or anyone’s website, but more like I was spewing words out into the void. Some people definitely enjoy what I write, some agree and some even disagree with it, but the feedback has always been private, there’s never been much public conversation.

My readers are ridiculously smart and I respect the hell out of them. They have great insights, they share all kinds of connections to the things I write, and they often challenge my thinking for the better. But many of them don’t keep blogs of their own, or if they do, there’s never any cross-blog-conversation.

The “conversation” ends up on Twitter, which is a horrible medium for it. Twitter’s critical flaw is, of course, it’s comically small post length limit. It’s really hard to have a thoughtful discussion 140 characters at a time. This is compounded by its terribly reply threading and its complete lack of formatting. It’s 2016 and this is the place for conversation on the web? Fuck that.

So instead, I’m adding my own space for conversations.


First and foremost, I’m referring to this space as a discussions section, not a comments section. While technically they’re essentially the same thing, by calling it a discussions section, I hope to foster the idea it’s a place for having meaningful conversation with me and other readers. A “comments” section to me implies more one-off drive-by replies that are more about the commenter than they are about the discussion itself.

Secondly, while Twitter, Hacker News, etc allow for minimal-to-no formatting options, this discussion system uses a rich text editor. You can make inline links, bold and italicize text, insert images, use lists and quotes, etc. Essentially I want to give readers writing tools to help them actually make decent conversation. It’s so frustrating that our popular tools for conversing, in 2016, are so damn neutered. Discussions here are still only HTML under the hood, but it’s a lot better than plain text.

Third, everything in the discussion section’s got to be more than 140 characters. I’m setting this bare minimum because I think it’s difficult (not impossible, but difficult) to have meaningful conversation in anything less. It has the added benefit of making one-word smart-ass posts impossible.

Great kinds of replies might include (but not limited to):

  • Related points the original post made you think of (related topics, articles, books, etc)
  • Counter-points (do you disagree with something in the post? explain your perspective)
  • A finer discussion about the original post (asking for clarification, perhaps)
  • Replies to other people who have participated in the discussion (for any of the same reasons as apply to the original post)

Other than that, they’re basically your run of the mill discussion system. Individual replies have permalinks and time stamps and avatars (which use Gravatar). Each post has a flag link on it, so if you see something objectionable, you can let me know.

Signing up and logging in are the same thing. When you post for the first time, I’ll send you an email asking you to confirm. Once you do that, your post will be visible. This way, I don’t have to keep any passwords.

Most importantly, I’ve got discussion guidelines which I ask you to follow. I want to keep these discussions going constructively, and I hope you do too.

Let’s Discuss

I hope you enjoy using the discussion section as much as I’ve enjoyed making it. There’s still lots to be done, but it should be mostly solid by now. Please let me know of any bugs you encounter (other than slow page loads; I’m working on that).

Anyway, is this a good idea? Are there better ways to foster discussions that I’m missing? I’m happy to say, you can now let me know below.

1000 Books, Year 2

I’ve just completed the second year of my 1000 book challenge, which I wrote about a year ago:

A year ago I gave myself a challenge: read a thousand books in my lifetime. I decided to start counting books I’d read since November 14, 2014 (although I’d read many books before this, I really only wanted to start counting then, so I could better catalogue them).

Last year I managed to get through 24, which I was quite happy with. I ended up with a little more reading time on my hands this year and managed to get through 33, which has me happily surprised! Still going to be a long haul from here, but I’m more than 1/20th of the way done and have some good strategies for reading a lot of books.

Looking over the list of books, I don’t know that this year really had a theme, but I do see some common threads. I read a lot about systems and systems thinking, and a bit about hypertext systems. I read a bit about language, reading, and metaphor. I read a bit about corporations, what they’ve done to our planet, and how to shame them. And I’ve read a few more graphic novels; I’m really enjoying all that medium has to offer.

Finally, I realized in my first year the overwhelming majority of the books I’d read were written by men. This year I made a conscious effort to read more books written by women (13/33), and in the coming year I want read even more voices.

Below are the books I’ve read in the last year, along with notes for a few of the standouts.

  • The Man Who Mistook his Wife for a Hat by Oliver Sachs.
  • Seconds by Brian Lee O’Mally.

    Beautiful and funny graphic novel from the creator of the Scott Pilgrim series. Plus, it’s Canadian!

  • Drama by Raina Telgemeier.

  • Dragon Ball Vol 1 by Akira Toriyama.

  • Economix by Dan Burr.

    I knew almost nothing about the American / global economic system worked before reading this graphic novel, but I found it a gentle introduction for people like me.

  • Thinking in Systems by Donella Meadows.

    I wish I’d read this book earlier in life! It revealed to me a mental framework (and notation) for thinking about the world in systems. I had the vague notion that “systems are everywhere,” but this book really opened my eyes to what that means in practice. If you care about systems (education, politics, economics, oppression, biological, etc) then you should read this book. I can’t wait to read it again.

  • Harry Potter and the Chamber of Secrets by JK Rowling.

    My wife and I have been (slowly) reading the Harry Potter series out loud to one another, which is nothing short of magical.

  • Turtles, Termites, and Traffic Jams by Mitch Resnick.

    Another book about systems! This time, about programming decentralized systems in a Logo-like programming language. Resnick shows how many complex systems emerge from simple parts, with no central control.

  • Memory Machines by Belinda Barnet.

    A must read book on the history of hypertext.

  • The ABCs of Bauhaus by Ellen Lupton.

  • The Word Exchange by Alena Graedon.

    My favourite novel I read this year. Graedon describes a noir-semi-dystopia New York City where a “word-flu” has infected the device-using population, causing aphasia in speakers, and literally erasing words from the dictionary. It’s beautifully written and a real fun read.

  • Metaphors We Live By by George Lakoff.

    This book opened my eyes (metaphor) to the way we create (metaphor), share (metaphor), and explore (metaphor) meaning and understanding. This book demands (metaphor) a re-read.

  • Spelunky by Derek Yu.

  • Bootstrapping by Thierry Bardini.

  • What we see when we read by Peter Mendelsund.

  • Throwing Rocks at the Google Bus by Douglas Rushkov.

  • If This Isn’t Nice, What Is? by Kurt Vonnegut.

    Everyone should read more Kurt Vonnegut.

  • The Corporation by Joel Bakan.

    Terrifying, eye-opening look at corporate structure and its deleterious effects on our planet. Enraging that we, as a people, allow this to happen.

  • Dragon Ball Vol 2 by Akira Toriyama.

  • Is Shame Necessary? by Jennifer Jacquet.

  • Norwegian Wood by Haruki Murakami.

  • Our Choice by Al Gore.

  • Amusing Ourselves to Death by Neil Postman.

    Everyone who works in media (and if you’re a software designer or developer, you work in media) should read this book every single year.

  • Magic and Loss by Virginia Heffernan.

  • All About Love by bell hooks.

  • Making is Connecting by David Gauntlett.

  • The Hunger Games by Suzanne Collins.

  • The Dynamic Library by Various Authors.

  • Adam’s Tongue by Derek Bickerton.

    Thoughts here.

  • Persepolis by Marjane Satrapi.

    Beautiful graphic novel / autobiography of the author’s life in Iran and as a Persian abroad.

  • The Selfishness of Others by Kristin Dombek.

  • Dragon Ball Vol 3 by Akira Toriyama.

  • Lord of the Flies by William Golding.

Here’s to the next 943!


It’s been a devastating, gloomy sad week. Not only did Hillary Clinton lose the 2016 United States Presidential Election, but Donald Trump also won it. There are many in the United States who have new reasons to fear, for now the country has elected a man who manifests and normalizes hate.

On Wednesday, the day after the election, my wife and I were in a sad shock. She had an idea: “Let’s invite some friends over for dinner. We’ll commiserate and I’ll glue them back together with cheesy lasagna.” So that’s just what we did. (It doesn’t hurt that my wife makes the best lasagna)

We decided to call it “Hopesgiving.” Where in Thanksgiving you say what you’re thankful for, in Hopesgiving you say what you’re hopeful for. We shared food, wine, fears and tears, but most importantly we shared hope.

We talked about our grief, we talked about how this election has been a wake up call, especially now that the results are in. We talked about how we wanted to fight all the nastiness and hate, even if we don’t know exactly what to do yet.

Just having some friends in our home helped immensely. I think a sense of togetherness is what we really needed this week. We talked and cried and shared stories about a time when each of us had embarrassingly peed our pants as children (hey, it happens! and it’s kind of funny, looking back). It may sound silly, but sometimes it’s just good to cry with friends. And when it hurts too much to cry, it’s good to laugh with them too.

So if you’re having a hard time this week, whether you live in the United States or elsewhere, consider having an evening of Hopesgiving. Gather those close to you and share food or drinks or board games or whatever you need. Find some togetherness and find some hope.

Don’t Be Mean

A few weeks ago I saw something that made me sad: Craig Hockenberry, a Cocoa developer I once looked up to, tweeted this mean thing:

My new approach to dealing with uninvited contact:

Put yourself in Bennett’s shoes for a moment. How do you think he would feel getting an email like this? When I was starting as an iOS developer, I looked up to people like Craig. He was well known in the community, had lots of great experience under his belt, and seemed like someone you could learn a lot from. If I had sent him an unsolicited email asking about Cocoa dev, and he’d replied with something like this (and then tweeted it!), that would have absolutely devastated me.

I don’t know the all the context behind this tweet. Maybe this Bennett character is a real asshole, but that’s not really revealed in Craig’s tweet. What’s revealed here is Craig proudly sharing his mean response.

If you get a lot of unsolicited email, I imagine that’s super annoying, but it’s mean to respond like this, and it’s meaner still to publicly shame the poor guy. All Craig needed to do here was not reply.

Worse than being mean, this is sharing the meanness with everyone who follows him. I was very sad to see Dave Verwer link to it at the bottom of iOS Dev Weekly, sharing it with further more people.

And finally…

If you see this meanness shared and celebrated on Twitter or Slack or elsewhere, please stand up against it. Put yourself in the shoes of other people and try to imagine how they might read it. If you were new to iOS dev (or any community where this happens), how would this make you feel? Would you want to be the person laughing at the meanness, or would you want to be the person stopping it?

Just Because It’s on the Menu

For a long time growing up I had this weird belief that if something was on a menu at a restaurant, it must be good for you. “They” wouldn’t let something be on a menu if it was bad for you. There are rules and laws designed to keep us healthy and safe. Growing up, I’d never really given it a whole lot of thought, but it was a comforting belief and it seemed reasonable.

Of course, it doesn’t hold up to any scrutiny and it’s not true. There’s all kinds of unhealthy garbage on menus. There is nothing really inherent in restaurant menus that forces them to give you choices that won’t eventually kill you. There are definitely some rules about what can and can’t be served, and there are plenty of attempts at limiting unhealthy choices, but by and (often) large, there are no built-in protections for you.

At some level, I think I held this belief about more than just restaurant menus. “Of course I don’t need to wear a seatbelt in cabs, because taxi drivers are professionals.” “Of course this book is going to be accurate, because they let it be published.” “Of course the doctor will do a good job, because they have an advanced degree.” Nevermind that people make mistakes and errors all the time!

The underlying principle, maybe, was I thought because there’s a way that these things could be made safe or healthy or somehow ideal, that of course they must be, too. What kind of world wouldn’t protect itself by default? This all probably sounds stupid, but that’s the belief I held.