Archive for the 'Uncategorized' Category

What Twitter Means to Me

I tweeted for the first time ten years ago today.

That’s not very interesting, but it is an excuse to write a little bit about what Twitter means to me personally.

Lots of people are down on Twitter these days, and there are legitimate reasons to be. The open API that allowed third-party clients to flourish has been locked down in a way that’s discouraged the kind of innovation we used to see on the platform. Unchecked harassment that started on Twitter during GamerGate has fueled a movement of hatred that arguably contributed to the toxic atmosphere surrounding the 2016 US election. At different points, it hasn’t been clear whether the company takes harassment seriously, and if it does, whether it’s capable of addressing it. And recently, Twitter shut down Vine, a service that was source of joy for many people, including me.

Moving beyond issues that are within Twitter’s direct control, friends of mine have been talking about or actually leaving Twitter solely due to increased non-harassment negativity leading up to and persisting beyond the 2016 US election. Twitter reflects and amplifies our anxieties; it’s hard to escape news of Donald Trump, a resurgence of fascist tendencies, and a political movement that rejects empathy and science.

These are real problems, and if someone wants to stop using Twitter, that’s their decision to make. I still use it daily, because I love the people that Twitter has helped me meet or stay in touch with, and they’re an important part of my life.

When I was in high school in a small town in upstate New York, I didn’t really have anyone around to help develop or even share my interest in technology with. Twitter was my connection to the world I wanted to live in. Although I’d been a member of several forums in the past, I liked Twitter more than any forum because there was no pretense of being limited to any particular topic. In 2008, Twitter was accessible on my iPod touch in a way that other communities weren’t. From that iPod, I followed people who talked about Mac software, making web pages, podcasting, and politics, and that stream of information helped me figure out what I wanted to do with my future.

What started as a way for me to fill a void in the types of people I knew in “real life” changed as I left that small town. Today, Twitter is how I get my news. It’s helped me see different perspectives, particularly around gender-related issues both in and outside of the technology industry. It’s how I tell the world about the cool stuff I’ve worked on. And recently, I count on it as the first place I’ll find out where important protests are taking place.

I can find humor and entertainment in all sorts of places, but Twitter is the online community where I can check in with friends I care about. Friends who share common interests, like Apple, web development, certain music, or a narrow interest in video games. Friends who are sincere, thoughtful, and willing to change their minds. Friends who share their jokes, their hopes, their fears, their good days, and their bad days. Friends who cheer each other up, push each other forward, and celebrate each other’s accomplishments.

From what I can tell, the cloud of anxiety that has surrounded everything since the 2016 US election is real, and it’s affected a lot of us. As a society, we’ve moving backwards, and many of us are directly under attack by the new administration. While attempting to cope with this new reality, my Twitter friends have been a bright spot. If you are one of these people, I hope you know that I think you’re great.

Introducing Safari View Controller

I presented a session at WWDC this year. The video, along with a transcript, can be found on

Popular movies I haven’t seen

Marco wrote:

Whenever anyone asks me about a popular movie, they’re flabbergasted that I haven’t seen it. You’d think they’d learn to just assume I’ve seen nothing, but they haven’t yet.

In an effort to accelerate that, here’s a list of the Academy Award Best Picture nominees and top 10 highest-grossing films for the last 15 years.

Neat idea. I’m similar to Marco in this regard, so I’ll do the same exercise. It looks like I’ve done a little “better” than he has numerically (41 v. 33 seen), but worse in that I saw a Transformers movie once.

Key: Seen it, Haven’t seen it


  • Meet the Parents
  • Cast Away
  • Chocolat
  • Crouching Tiger, Hidden Dragon
  • Dinosaur
  • Erin Brockovich
  • Gladiator
  • How the Grinch Stole Christmas
  • Mission: Impossible II
  • The Perfect Storm
  • Traffic
  • What Lies Beneath
  • What Women Want
  • X-Men


  • Harry Potter and the Philosopher’s Stone
  • Monsters, Inc.
  • Shrek
  • A Beautiful Mind
  • Gosford Park
  • Hannibal
  • In the Bedroom
  • Jurassic Park III
  • Moulin Rouge
  • Ocean’s Eleven
  • Pearl Harbor
  • Planet of the Apes
  • The Lord of the Rings: The Fellowship of the Ring1
  • The Mummy Returns


  • Die Another Day
  • Chicago
  • Gangs of New York
  • Harry Potter and the Chamber of Secrets
  • Ice Age
  • Men in Black II
  • Minority Report
  • My Big Fat Greek Wedding
  • Signs
  • Spider-Man
  • Star Wars Episode II: Attack of the Clones
  • The Hours
  • The Lord of the Rings: The Two Towers
  • The Pianist


  • Bruce Almighty
  • Finding Nemo
  • Bad Boys II
  • Lost in Translation
  • Master and Commander: The Far Side of the World
  • Mystic River
  • Pirates of the Caribbean: The Curse of the Black Pearl
  • Seabiscuit
  • Terminator 3: Rise of the Machines
  • The Last Samurai
  • The Lord of the Rings: The Return of the King
  • The Matrix Reloaded
  • The Matrix Revolutions
  • X2


  • Meet the Fockers
  • The Incredibles
  • Finding Neverland
  • Harry Potter and the Prisoner of Azkaban
  • Million Dollar Baby
  • Ocean’s Twelve
  • Ray
  • Shark Tale
  • Shrek 2
  • Sideways
  • Spider-Man 2
  • The Aviator
  • The Day After Tomorrow
  • The Passion of the Christ
  • Troy


  • Batman Begins
  • Brokeback Mountain
  • Capote
  • Charlie and the Chocolate Factory
  • Crash
  • Good Night, and Good Luck
  • Harry Potter and the Goblet of Fire
  • Hitch
  • King Kong
  • Madagascar
  • Mr. and Mrs. Smith
  • Munich
  • Star Wars Episode III: Revenge of the Sith
  • The Chronicles of Narnia: The Lion, the Witch and the Wardrobe
  • War of the Worlds


  • Casino Royale
  • Cars
  • Babel
  • Happy Feet
  • Ice Age: The Meltdown
  • Letters from Iwo Jima
  • Little Miss Sunshine
  • Mission: Impossible III
  • Night at the Museum
  • Pirates of the Caribbean: Dead Man’s Chest
  • Superman Returns
  • The Da Vinci Code
  • The Departed
  • The Queen
  • X-Men: The Last Stand


  • I Am Legend
  • Juno
  • Ratatouille
  • The Simpsons Movie
  • There Will Be Blood
  • Transformers
  • 300
  • Atonement
  • Harry Potter and the Order of the Phoenix
  • Michael Clayton
  • National Treasure: Book of Secrets
  • No Country for Old Men
  • Pirates of the Caribbean: At World’s End
  • Shrek the Third
  • Spider-Man 3


  • The Dark Knight
  • Quantum of Solace
  • WALL-E
  • Slumdog Millionaire
  • Milk
  • Hancock
  • Indiana Jones and the Kingdom of the Crystal Skull
  • Frost/Nixon
  • Iron Man
  • Kung Fu Panda
  • Madagascar: Escape 2 Africa
  • Mamma Mia!
  • The Chronicles of Narnia: Prince Caspian
  • The Curious Case of Benjamin Button
  • The Reader


  • Inglourious Basterds
  • Up
  • Up in the Air
  • 2012
  • A Serious Man
  • An Education
  • Angels & Demons
  • Avatar
  • District 9
  • Harry Potter and the Half-Blood Prince
  • Ice Age: Dawn of the Dinosaurs
  • Precious
  • Sherlock Holmes
  • The Blind Side
  • The Hangover
  • The Hurt Locker
  • The Twilight Saga: New Moon
  • Transformers: Revenge of the Fallen


  • Inception
  • The Social Network
  • Toy Story 3
  • 127 Hours
  • Alice in Wonderland
  • Black Swan
  • Despicable Me
  • Harry Potter and the Deathly Hallows Part 1
  • How to Train Your Dragon
  • Iron Man 2
  • Shrek Forever After
  • Tangled
  • The Fighter
  • The Kids Are All Right
  • The Kings’ Speech
  • The Twilight Saga: Eclipse
  • True Grit
  • Winter’s Bone


  • Cars 2
  • Extremely Loud and Incredibly Close
  • Fast Five
  • Harry Potter and the Deathly Hallows Part 2
  • Hugo
  • Kung Fu Panda 2
  • Midnight in Paris
  • Mission: Impossible — Ghost Protocol
  • Moneyball
  • Pirates of the Caribbean: On Stranger Tides
  • The Artist
  • The Descendants
  • The Hangover Part II
  • The Help
  • The Smurfs
  • The Tree of Life
  • The Twilight Saga: Breaking Dawn, Part 1
  • Transformers: Dark of the Moon
  • War Horse


  • Skyfall
  • The Avengers
  • The Dark Knight Rises
  • The Hunger Games
  • Amour
  • Argo
  • Beasts of the Southern WIld
  • Django Unchained
  • Ice Age: Continental Drift
  • Les Misérables
  • Life of Pi
  • Lincoln
  • Madagascar 3: Europe’s Most Wanted
  • Men in Black 3
  • Silver Linings Playbook
  • The Amazing Spider-Man
  • The Hobbit: An Unexpected Journey
  • The Twilight Saga: Breaking Dawn, Part 2
  • Zero Dark Thirty


  • Frozen
  • Gravity
  • Her
  • Monsters University
  • 12 Years a Slave
  • American Hustle
  • Captain Phillips
  • Dallas Buyers Club
  • Despicable Me 2
  • Fast & Furious 6
  • Iron Man 3
  • Man of Steel
  • Nebraska
  • Philomena
  • The Hobbit: The Desolation of Smaug
  • The Hunger Games: Catching Fire
  • The Wolf of Wall Street
  • Thor: The Dark World


  • The Hunger Games: Mockingjay, Part 1
  • Interstellar
  • American Sniper
  • Birdman
  • Boyhood
  • Captain America: The Winter Soldier
  • Dawn of the Planet of the Apes
  • Guardians of the Galaxy
  • Maleficent
  • Selma
  • The Amazing Spider-Man 2
  • The Grand Budapest Hotel
  • The Hobbit: The Battle of the Five Armies
  • The Imitation Game
  • The Theory of Everything
  • Transformers: Age of Extinction
  • Whiplash
  • X-Men: Days of Future Past

  1. You can see that the script I used to sort the sections of the lists doesn’t know how to properly sort titles, ignoring words like “The”. 

  2. In 2007 and 2008, I would tag along to see movies with my friends in high school. Looks like having people force me to go to the movies made a difference! 

Ya Facked

Here are some photos of things in Boston that are currently facked. My iPhone shut itself off twice while taking these from being too cold.

This bicycle is facked.


These receptacles are facked.


This bench is facked.


These pay phones are facked.


These bicycles are only slightly facked.


These parking meters are pretty facked.


This car is facked.


This car is also facked.


This car used to be facked. Good job unfacking your facked car, somebody.


This car is so facked.


This car is pretty facking facked.


No. Seriously. Look at how facked that car is.


This facked thing? Another facking parking meter.


To end with some hope, this bicycle is totally non-facked.


Exporting (iCloud) Keychain and Safari credentials to a CSV file

I wrote up a gist of the steps I took to export a list of “domain, user name, password” triples from iCloud Keychain and Safari.

“Girl programmers”

My friend Andi tweeted this exchange she overheard the other day.

This kills me. As a developer, a man, and a person, I don’t want to live in a world where this happens.

I’m going to skip over the contents of the exchange itself and jump straight to the backdrop that enabled it: the gender imbalance in software development and related fields. I don’t think this problem gets the attention it deserves.1

Many people are aware that there’s a gender imbalance in various engineering fields, but I’d bet that few grok the full extent of the issue. Here’s a statistic from an Associated Press article by Marcus Wohlsen from June 2012:

Less than 20 percent of the bachelor’s degrees in computer science go to women, according to federal statistics. By comparison, nearly 60 percent of all bachelor’s degrees are awarded to graduating females.

That’s a huge discrepancy. If the rate of women graduating with bachelor’s degrees in CS matched the overall rate, several thousand more women would graduate with CS degrees every year. I think of this as an artificial cap on the diversity of perspectives brought to the table in solving problems and advancing the state of research in computer science. Society is missing out on the benefits of these missing graduates and the graduates are missing out on a rewarding interest and career.2

In the AP piece I quote earlier, Jocelyn Goldfein, a director of engineering at Facebook, posits:

The reason there aren’t more women computer scientists is because there aren’t more women computer scientists.

I don’t have the background or training to be able to judge the merit of this theory, and I don’t want to oversimplify what’s clearly a complicated topic, but this statement resonates with me. An important part of making something happen is imagining the outcome. A woman having a successful, rewarding career in computer science becomes less plausible as the number of other women in the field decreases.

A hazardous feedback loop like this takes a sustained effort to reverse. It hasn’t been and won’t be easy. It means fighting when the tech community is marketed to through the objectification of women or “humored” by outright sexist rhetoric. It means making an example of companies that appear to only hire men. It means continuing to write and speak about those uncomfortable moments when a woman at an industry event is assumed to be a secretary, assistant, or someone’s wife. It means working to end the decades-long injustice of systematically paying women less than men.3

That said, writing, speaking about, and acting on the problems that affect women in the industry from day-to-day isn’t enough. I believe this problem starts long before women choose their careers, attend industry events, or get paid. It starts early in childhood, when young people are just starting to figure out who they are and what they care about.

From working many high school and college summers as a counselor and instructor at a computer camp, I witnessed this firsthand. In elementary and middle school, some boys already showed signs of believing that computing and engineering were interests for men, making jokes at the expense of the few girls who were enrolled. And as parents dropped their sons off at camp, I’d ask them if they had daughters who might be interested in learning the same things their sons were. In some cases it was clear that they had never considered exposing their daughters to technology the same way they’d expose their sons.

I don’t know the best way to turn things around, but as a man who has cringed while talking to those parents, reading the experiences of women in the industry, and talking to his colleagues about these issues, I’ve come up with the following practices to be mindful of and exercise.

See something? Say something.

Call out people who do or say anything that would make any group of people feel less welcome, valued, or comfortable in any space. This especially applies to the words and actions of women that may affect other women. This double-especially applies to the actions of children. “Boys will be boys” is nonsense. Every boy needs to know that every girl has the same potential and deserves as much respect as he.

Don’t attack. Persuade.

I recently spoke with someone in the industry who claimed that there being fewer women than men in the industry was the product of natural interest. The idea that girls aren’t interested in math is frustrating, but rather than respond to positions one dislikes with vitriol, we should see these moments as opportunities. We can’t expect to change anything if we only engage with people who share our views.

In the conversation I had, the guy I was speaking with had never seriously considered that something else could be at play. Eventually, to his credit, he opened up to the idea that society was playing a role in the gender imbalance, and therefore, could do something to correct it.

Share your talents.

If you’re in a position to serve as a mentor to a young woman, do so. When the rest of society is pushing her away from the sciences, engineering, or computing, your attention could make all the difference. Make the fact that she could invent the next iPhone when she grows up seem plausible, obvious, and exciting.

Support others trying to buck the trend.

I was delighted to see a project called App Camp For Girls get a bunch of attention in tech circles recently. The project’s mission is to create a camp in Portland, Oregon where woman can teach girls how to build apps, inspiring them in the process. This is exactly the sort of thing we need more of: efforts that help girls picture themselves as people who make cool things with computers.

App Camp For Girls is currently raising money to get off the ground. The project met its initial fundraising goal and is looking to hit a stretch goal to be able to expand beyond Portland earlier than initially planned. I happily donated, and I encourage you to do the same if you have the means.

I do not and likely can not understand everything that contributes to the gender imbalance in the tech industry, but I don’t think that’s an excuse to sit idle and watch the problem get worse. Until we’ve replaced the concepts of boy programmers and girl programmers with programmers, we need to pay special attention to problems faced by women in the industry and the messages we’re sending to girls about what they can accomplish.

We have to fix this.

  1. The circumstances surrounding the lack of women in computer science and various engineering fields easily translate to other groups and fields or areas of society. All of these problems matter a great deal, but I’m writing about this one because it’s been part of my life for so long at this point. 

  2. This isn’t to say that only college graduates can benefit society in the area of Computer Science. I’m just using college graduates as a meaningful data point.