Mono No Aware

Over the last year we in the iOS community have had a mass exodus of our best people back to the Mothership. There was a period for a while on Twitter where like once a day I would see someone tweet “I have an announcement to make. I just made a really tough decision, but I have accepted a job at Apple.” My favorite response to this phenomenon that I saw was from Jeff LaMarche, who tweeted: “Last one to go work for Apple turn the lights off, okay?”

One day a few months ago I go on Twitter and see a tweet from Jonathan Penn. “I have an announcement to make.” Oh no. “I just made a really tough decision…” Oh please, dear god, don’t let this be what I think it is. “…but I have accepted a job at Apple.” NOOOOOOOOOO!!!!

The Breakpoint Formerly Known as Jonathan Penn

The Breakpoint Formerly Known as Jonathan Penn

I honestly can’t tell you why losing Jonathan Penn to Apple affected me so profoundly. I met Jonathan back at my first CocoaConf in Chicago 2013. It wasn’t like I was as close to him as I eventually got to Chris Adamson. We weren’t best pals or anything. I don’t think I had a closer relationship to him than anyone else did and I actually think I probably wasn’t as close to him as other people were. And yet.

I think Jonathan has a biological mutation that causes him to secrete nitrous oxide because whenever you are around him, you can’t help but feel happy. I don’t think I have a picture of Jonathan without a big goofy grin on his face. Watching him crack up during the CocoaConf game show was a joy to experience. Additionally, Jonathan is wicked smart. I would go to his talks and feel like the village idiot because I would be blown away by his rapid fire delivery of concepts that sailed right over my head.

I guess I got used to the idea that he was always going to be here. I figured when I go to CocoaConf there are certain things that are always there. There will always be an amazing keynote by Daniel Steinberg. There will always be a Breakpoints Jam concert. I guess I thought there would always be a Jonathan Penn.

Back when I had my life changing trip to Boston, I started thinking about what kind of a person I want to be. I wanted to be Jonathan Penn. His passion and his energy were absolutely amazing. He is such a warm and giving person. He adds so much to the iOS development community. I wanted to be like Jonathan Penn.

I am being slammed this year with a lot of instances of impermanence. We got a new programming language from Apple. Many prominent actors and comedians who I grew up with passed away. I feel change happening around me everywhere I turn. The phrase I have as the title of this post, mono no aware is a Japanese phrase that talks about the ephemeral nature of existence. Everything we do has meaning because nothing lasts forever. Life is precious because we have a limited amount of it. Each and every moment we have will never come again and no matter how lousy it might seem at the time, it is special because it is transitory.

Everything in life is transitory. As a member of the generation that came during the internet boom and the Great Recession, that is painfully obvious. People don’t work for the same company for forty years anyone or have the same job their entire career. This is doubly so for computer programming. I have only been programming for the last two years and I am already gearing up to switch from imperative programming to functional programming. Before I left for my conference on iOS programming I got a bunch of help from my boss setting up iHaskell notebook to learn Haskell. I can already feel the ground shifting under me and I am trying to adapt before it is too late or too difficult.

Jonathan going to Apple felt very much like he had died. We can’t talk to him about what he is doing anymore. He is too busy to waste a bunch of time on Twitter. I don’t reliably have an event ten times a year where I can go and absorb all of the joy he radiates. He’s still here, but he is now sharing that joy with other people.

I guess I was also very upset when Jonathan left because I didn’t know that the last time I saw him might literally be the last time I saw him. Had I known that he would be moving on to another stage of his life I would have savored the time with him more. We always feel regret when it is too late to do anything about it.

Jonathan leaving makes me think about the fact that I am going to leave someday. Right now we have this amazing community in iOS, but this is ephemeral. Something else that is going to be really cool is going to come along. All the top people are going to get tired of what we are doing and are going to move on to the next thing.

Yuri Nakamura is my spirit animal

Yuri Nakamura is my spirit animal

I worry about my ability to let this thing go. I don’t want to be the person who graduates from high school and keeps hanging around because they can’t move on. There is an anime series, ”Angel Beats!” about a group of teenagers who had terrible lives and died young who spend time in an afterlife that looks very much like a normal Japanese high school. The point of this afterlife is to get the people in this afterlife to resolve the unresolved issues they brought with them in their previous lives and to help them move on, which in this series is called “graduating.” (My twitter avatar is of me dressed as one of the main characters from Angel Beats, not Sailor Moon.)

Sometimes it is hard to move on. You have a snapshot in your brain of this fixed point in time where things were really great or terrible. In Star Trek: Deep Space Nine, Captain Sisco is trying to explain linear time to the wormhole aliens. The aliens point out to him that he has frozen his linear existence. His life was trapped in amber at the exact moment when he lost his wife. He can’t figure out how to live his life after this tragedy happened.

Life doesn’t stop just because you want it to or because you have been so incredibly damaged that you can’t figure out how to cope with your new paradigm.

Imagine my surprise and delight to actually have a chance to rectify all of this, Jonathan made a cameo at CocoaConf Las Vegas this weekend. Jonathan’s parents live right outside of Vegas and he brought his whole family to CocoaConf to watch him rock out at the Breakpoint Jam.

Thanks to Solomon Klein for making me look thin in this picture with Jonathan.

Thanks to Solomon Klein for making me look thin in this picture with Jonathan.

Having the chance to sit in the audience one last time with Jonathan being a Breakpoint was a fantastic gift. James Dempsey asked me how the concert was and I told him it was the best one. He thought I was pandering to him, but I wasn’t. Jonathan brings this energy to the performances and being able to sit there and enjoy this performance knowing that it would be the last one was truly meaningful to me. The crowd was a smaller, more intimate crowd. The concert wasn’t a super rousing concert, but it felt more like hanging out with your friends goofing around, which was really nice to have.

Jonathan, if you are reading this, I hope you are not creeped out by my writing a whole post about you. I hope I didn’t bother you by hugging you a few times. I wish you the best of luck at Apple. I will try to stop talking about you like you are dead, but I make no promises.

Culmination of a Dream

Two years ago, I didn’t know Chris Adamson existed. I was taking my first semester of the iOS development degree at Madison College when I first found out about him. I was taking the Objective-C class mostly because I needed to have a full load in order to continue to collect unemployment benefits. I was planning to follow the Java track, get a job for a health insurance company, and lead a normal mundane existence. That all changed when I heard two words that would change the course of my life: Core Audio.

In my previous life, I went to school for audio engineering. I learned Pro Tools and Logic. One of my teachers was talking about the extreme guys who programmed those pieces of software and they fascinated me. I had no idea how anyone would program a digital audio workstation, so I kind of forgot about it.

When my teacher Eric Knapp mentioned Core Audio, he said it was one of the hardest things to learn in the Apple development environment. It was a toss-up between Core Audio and OpenGL. Me being the good little masochist that I am, I decided I would learn both of them. (Having tried my hand at both of them, I am awarding Core Audio with the trophy for being harder to learn.)

Trying to read "Learning Core Audio" while cruising and enjoying the ocean.

Trying to read “Learning Core Audio” while cruising and enjoying the ocean.

I bought Chris’s book on Core Audio and made the incredibly stupid decision to take it on vacation with me for beach reading. After seeing the unfamiliar and deprecated “NSPool” object, I freaked out and realized I had to work a lot harder in order to learn enough to understand what the hell is going on.

In February 2013 Eric told me that Chris would be speaking at a conference in Chicago. The conference was in two weeks. I was a poor, unemployed college student, so I had to scrape together enough money to be able to go down and attend this conference so that I could meet Chris.

I saw him around the conference, but he was a big important author and I didn’t really know what to say, so I didn’t approach him. On the last day of the conference, Chris did a talk on audio on iOS. I sat in one of the front rows and peppered him with a lot of impertinent questions about audio programming on non-iOS platforms. Having been on the receiving end of questions like this in my own talks, I commend Chris for his patience and restraint at not shoving my Ravenclaw scarf down my throat.

Kyubey and I grokking AV Foundation video.

Kyubey and I grokking AV Foundation video.

We wound up talking after his talk and having lunch together. He was one of the first people I have encountered that I felt completely in synch talking to. I wore a Doctor Who shirt trying to bait someone into talking to me about it. Chris saw it and commented that he would ask about it, but everyone and their brother was into Doctor Who. I pulled out my phone and showed him a picture of my pug, Delia Derbyshire. When I said her name, his face lit up and he got really excited. He was the first person I met who knew who Delia was without me having to explain it. Eric asked who Delia was and we were talking over one another explaining who she was. I was so happy. I was grateful to him for hanging out with me and talking about my stupid geeky audio stuff.

Several months later I got to attend CocoaConf Boston and spend a whole day with Chris doing Core Audio. That day was one of the best days of my life. I was having a lot of problems at that point in time and I felt like my life was falling apart. Spending the summer working through the Core Audio book knowing I would get to do this workshop in the fall gave me focus when I needed something to get me through my life.

Chris giving his penultimate Core Audio workshop at CocoaConf Boston 2013.

Chris giving his penultimate Core Audio workshop at CocoaConf Boston 2013.

Chris and I were able to work our way through our initial awkwardness due to both of us having some social anxiety issues to become friends. I stopped worrying that I was bothering him by commenting on his tweets and I began to feel comfortable asking him for advice.

Earlier this year I was again trying to figure out what I was doing with my life. I had a contract job that was ending in a few weeks and I had to figure out what I wanted to do. I applied for a QA position at a company in town whose employees I knew and liked a lot. Something in my gut told me that I didn’t want to do this job. I knew I needed a steady paycheck, but I just had a gut feeling that I wasn’t supposed to take this job.

I went to Chris and explained my situation. He patiently read through my long rambling email and responded back, “I should tell you to take the stable job with the decent paycheck and the nice coworkers, but I have an ulterior motive. I need a coauthor for my book and I would need you to start after your contract is over.” I immediately wrote back to the company and told them I was no longer available.

Like all recovering journalism and English majors, I always wanted to be a writer. I wanted to write books and stories. I have absolutely no idea why I wanted to be a writer. I don’t remember if I actually liked writing or I just liked the idea of being a writer. I sort of gave up on the idea of being a writer in high school when I realized everything I wrote was crap. I realized if I wanted to be a writer I needed to have some actual experiences. I had to get out of my comfort zone and change my perspective of the world. Sometime in college I just sort of decided not to think about writing for a decade to give myself a chance to actually find something to write about.

The Boston Breakpoints

The Boston Breakpoints

I began writing again last year around the same time I met Chris. I had another developer recommend starting a blog and I have written at least one blog post a month since I started my blog. I know a lot of people do podcasts because they are “easier”, but I have always found that writing really helps me get my thoughts out of my head.

Back in March at CocoaConf Daniel Steinberg had a session called “Book Chat.” It was for anyone who had written or wanted to write a book. The only other person there besides Daniel and I was Chris. Many people over the last year have tried to talk me out of writing a book. I heard the usual arguments that books take a long time and they don’t generate any money. Daniel asked me what I wanted to get out of a book. I told him I wanted to be able to type my name into Amazon and have a result pop up. I also wanted to take the cover of my book, frame it, and put it on my wall. That was all.

Today marks the culmination of a dream for me. I have a book I wrote being published. We are on a public beta and there is still more work for me to do on the book. But it is real. It is happening.

OMG! I got a shout-out in Chris's "Stupid Video Tricks" talk in Chicago!

OMG! I got a shout-out in Chris’s “Stupid Video Tricks” talk in Chicago!

I am thinking about where I was a year ago. I had weathered several failures and I felt broken. I had no idea what the following year would bring. I had the single-minded determination that I had to finish the Core Audio book and go to Boston. I didn’t know how or why, but I knew that it was a turning point in my life and I threw everything I had at that.

Going to Boston changed my life. It changed my perspective of who I could be. I was pitched by several companies there that I didn’t imagine would even be interested in me. None of those leads worked out because I was just too messed up to take advantage of them, but they made me realize what kind of person I could be if I wanted to. Josh Smith had me talk to Dave Klein about speaking in Chicago this year. I didn’t think I could be a speaker until that happened. I applied for another talk that happened a few weeks before CocoaConf Chicago, which wound up being my first tech talk, but that would never have happened without Josh Smith.

Mad props to Mark D for throwing Greek and trombone playing at us at 8:00 in the morning.

Mad props to Mark D for throwing Greek and trombone playing at us at 8:00 in the morning.

I love this community. I love that I came here from a really crappy background and that I found people who were willing to accept me for who I am. I am happy that I haven’t been discarded because I am damaged. My damage could even be considered an asset because I bring uniqueness and experience with it.

All of these people keep talking about the importance of teaching young girls to code, like somehow my generation of women is too old to learn new things and we are a lost cause. Meeting someone like Chris whose experience was so like my own and knowing that I could have another chance at life gave me hope, which gave me the tenacity to endure all of my various disappointments. He gave me strength to accept all the broken, dirty pieces of myself and accept that they are part of who I am. He woke me up and made me think about all the parts of myself that I had numbed because they were too painful to deal with.

I went from a world of “No” to a world where anything is possible with enough work and tenacity. These last two years has been a miracle.

“iOS 8 SDK Development” is my first book. I hope there will be many more where this one came from. I treasure this book because it represents something I didn’t think I would ever have. It is also a project I got to work on with a great friend whose presence has enriched my life.

I wish I could go back two years and tell the earlier me that I would meet these people who would change my life. But I can’t. Spoilers, sweetie.

Approaching the Speakers at the Tech Conference Zoo

I am traveling to CocoaConf Las Vegas tomorrow. This is my second CocoaConf of the “season.” The first CocoaConf of the season was in Columbus, OH.

Since I am a member of Eric Knapp’s gang of iOS disciples, I was able to car pool with some of the other members of that group. On the way home, one guy in the car asked me if I had spoken to a certain person at the conference. I had not. I didn’t know this person.

I was told that this guy really wanted to talk to me but he was intimidated by me because I was speaking at the conference.

This made me feel really bad.

"No, I never thought about working at Apple. Why are you asking?"

“No, I never thought about working at Apple. Why are you asking?”

I am in this weird transitory state at the moment. When I first started going to conferences I really wanted to meet all the speakers, so I would aggressively and strategically make sure I was sitting next to them for meals. I made a lot of great friends and found a lot of advocates for myself this way. I would not be where I am today if I had not done that.

Now that I am a speaker, I don’t really know how to act. I don’t want to aggressively sit next to all my fellow “speakers” and make people feel bad because somehow we are an exclusive group of people because we really aren’t.

I feel bad about CocoaConf Columbus because I basically spent the entire trip hanging out with Chris Adamson. He’s my friend and coauthor, but I felt like I really should have made an effort to meet other people. It was kind of hard for me because I had no opening line to start a conversation with a stranger. That was one great thing about talking to speakers at programming conferences. There was a way to start a conversation. You could read their bio and ask about their job. You could ask them about their talk. I used to tweet people during their talks and come up to them later and explain who I was.

I am asking anyone who wants to meet me at a programming conference to please just come up and say hi to me. Tweet at me so when you introduce yourself I have an idea about who you are. Believe it or not, I am a somewhat socially awkward person and it is a lot easier for me to talk to people if I have some idea about what to talk about.

Unless a person is really putting off “stay the heck away from me” vibes, most of us are really approachable. We like to geek out about technology. That’s why we are here talking about it. If you want to geek out with us, just pull up a chair and say hi.

Hope to see a few people do this in Las Vegas. Looking forward to meeting you.

Don’t Tread On Me

I booked my flight for 360|iDev Min. I know if you read my last blog post you’d be under the impression that I had an epic road trip planned. I did. I don’t get to go on it.

Once again, I was pressured by my family to not drive my car. I was told it was too long. I was told my car was not reliable. I was told that it wouldn’t be cost effective.

If it were just this one incident, that would be fine. I found a reasonable flight and the impulse was probably a stupid one anyway. I am just annoyed that I am constantly being pressured to do things I don’t want to do by people who bear no consequences of the decision.

When I decided to go back to school for programming, my father was adamantly against it. He had a bad experience with a computer science class twenty-five years ago, so he hates programming. He pressured me very strongly to go to law school. He told me that I would never find a programming job and that I would suck at it.

My programming degree was a hundred bucks a credit. A law degree sets you back six figures. I paid for my programming degree. If I had caved to pressure from my dad, I would be six figures in debt and probably wouldn’t have a job. Or if I did, I would barely make enough to cover the student loan payments.

Why do people feel like they need to impose their world view on me? If I had done what my father wanted and fallen on my face, he wouldn’t bear any of the consequences of that action. I would. I would be the one holding the bag for the debt. I would be the one who wasted three years of my life that I could have spent doing something else.

Now that I am beginning to see my labors bear fruit he is more than happy to take credit for my success even though he fought me every step of the way.

Back in 2008 I realized that I had to take control of my life. I let my parents and other people talk me into doing things because it was easier to just go along with what other people wanted than it was to not only fight them for the right to do what I wanted, but to also then have to accomplish it on my own. After limping along like that for nearly a decade of my adult life, I realized I couldn’t do that anymore.

I am so tired of fighting my parents and my husband to be able to do the things I know I need to do. I despair that this is ever going to end. I am sick of being treated like a child who is somehow incapable of knowing what I want or how my world works. There is more than one way to live your life and just because I want to live my life differently doesn’t mean my way is wrong. I don’t think I will ever get to a point where I will be treated with respect or have any of my accomplishments acknowledged by my family. But you know what, that’s okay. I am not doing this for them. I am doing it for me. If I was doing this for them, I would be an underemployed lawyer right now instead of a moderately successful software engineer.

Carefree Highway

I was asked today to do a talk in South Carolina next month. I got so excited about doing the talk that I really didn’t think about how to get there.

I like to avoid flying when possible. When I went to Denver last month I took the train. That turned out to be a terrible idea, but it was an interesting experience.

South Carolina is about 900 miles away. When I was a kid we used to drive to Nashville. Driving seems doable.

The reason for this post is I want to talk about my car.

Two for the road.

Two for the road.

I have owned one car my whole life. I got a brand new Subaru Impreza back in 1998. I have had this car for half of my life.

This car has been through hell. I crashed it three times in the first few years I owned it. It had a nice respite for a while, but I crashed it again back in January. Since the car was sixteen years old, my husband decided it wasn’t worth getting the body fixed.

I have been pressured by my family to replace my car. I am being told it is no longer reliable and that it is going to be hard, but I need to let it go.

My car has been absolutely reliable for sixteen years. I feel bad for not treating my car better when I was first learning to drive. I am a superstitious person and I am afraid if I replace it before it dies that I will have bad karma. (Pun intended.)

I am willing to accept that I need to replace the old girl, but I would really like to have one last adventure with her. I would like to drive her to this conference in October.

I plan to do whatever I need to do to make sure the car is reliable and won’t break down in the middle of nowhere. I plan to make arrangements to make sure I know what to do if the car breaks down on the side of the road.

I know this is an incredibly stupid thing to do, but I love my car and I want to have this time to remember my time with her and to let her go.

I will have the car looked over before I go. If there is any question of the car’s reliability, I will not take it.

I know I am being overly sensitive about an inanimate object, but I would really like to be able to control how I let my car go. I accept that it needs to be replaced, but I want to be able to have a say in how I spend the last of my time with it.

And now, the end is here
And so I face the final curtain
My friend, I’ll say it clear
I’ll state my case, of which I’m certain
I’ve lived a life that’s full
I traveled each and ev’ry highway
And more, much more than this, I did it my way

Star Trek: The Next Generation Top Ten Episodes – All Good Things…

This is the final entry in my “Top Ten Star Trek: The Next Generation” episodes.

The End

I know it is something of a cliche to include either the pilot or the final episode of a series in a top ten list, but this episode did such a great job that I had to include it.

Q_PicardEnding a long-running series is tricky. There is a multitude of nerd rage over shows that did not end in a satisfying manner. “The Sopranos” is the most prominent example, but there are plenty of other shows that have dropped the ball at the end.

It is tremendously difficult to strike a good balance between giving closure to the fans and going too far in the other direction and pandering to what you think the fans want to see. “Breaking Bad” recently wrapped up their series and it was the third-to-last episode that really packed the emotional punch for the series. The last few episodes wrapping things up but it wasn’t nearly as emotionally satisfying as that almost last episode was.

“Star Trek: The Next Generation” was from an earlier time before the mass serialization of TV became the norm. TNG had a few recurring characters and several plot threads that popped up over the years, but beyond a few two-part episodes there was not a lot of continuity from episode to episode.

One of those characters and plot threads was the omnipotent, ever-present Q. Q made his appearance in the pilot to put humanity on trial. That was a rather ballsy move to make in the pilot and it pays off in the finale because the writers could call back that scene to provide a nice bookend for the show.

Gul Dukat, the face of pure evil.

Gul Dukat, the face of pure evil.

The only other Trek series to do anything like this was Deep Space Nine. DS9 had the awesome moment in the pilot where Gul Dukat strolls onto the station and you are immediately struck by what a menacing presence he has. DS9 at its core was a battle royale between the forces of good in the form of Benjamin Sisco and the forces of darkness in the form of Gul Dukat for control of the wormhole and its inhabitants.

If Gul Dukat or Q had been poorly cast, neither of these callbacks would have happened. In spite of the fact that TNG and DS9 were syndicated, relatively low budget shows, they got incredibly lucky with a lot of their casting. Getting an actor who could stand toe-to-toe with Patrick Stewart who was genuinely menacing was awesome, which is why the writers kept bringing Q back over and over again. It’s difficult to remember that Q only appeared in just over a half dozen episodes of the series since his presence is such a vital part of its DNA.

Structure

Wait, how long has this camera been here?! I didn't realize the NSA still exists in the future!

Wait, how long has this camera been here?! I didn’t realize the NSA still exists in the future!

One benefit of having the plot driven by an omnipotent super being is that you can bring characters back from the dead without things seeming forced. Being able to send Picard through time and space without having to worry about the mechanics is a gift.

The best time travel episodes of Trek don’t bother to worry about how their heroes go back and forth through time. Look at “The City at the Edge of Forever.” Our heroes jump through a large rock and wind up back in time. They never talk about how they get back to the future because it doesn’t matter. Kirk fell in love with a woman who he had to let die to allow time to proceed as it should.

(Side note: I would give anything to see a cold open for Doctor Who where the TARDIS shows up on the Enterprise bridge, they talk to Patrick Stewart, fly off, and you see that they are in the middle of shooting an episode. Seriously Moffat, make it so!)

There have been a few moments in Star Trek where Picard has been tortured with the idea that he remembers things that are not real. Between “The Inner Light”, “The Chain of Command”, and “The Best of Both Worlds” I am shocked that he doesn’t have some terrible psychological trauma. I guess they have found a cure for PTSD in the future. One would hope at least.

It was kind of nice to see that at some point Picard and Beverly Crusher hook up, it just would have been nice to see it happen while the show was still going. I am surprised they never picked that thread up in any of the movies. The actors clearly had chemistry and the writers kind of flirt around with the idea without actually going there. If they were going to hook Worf and Troi up for the last few episodes of the series, couldn’t they have at least done the same thing for the two characters who actually made sense?

Alas, poor Tasha! I knew her, Horatio!

Alas, poor Tasha! I knew her, Horatio!

Oh yeah, one of the low points of the finale is that in the future Worf and Riker hate one another because they both loved Troi and she mysteriously dies to fuel their irrational conflict. ”Women in Refrigerators” trope for the win!

It’s kind of nice to see how the writers were able to use the death of Tasha Yar so many times in the series to show that things were wonky without overusing it terribly. Each time they brought Tasha back it was in a great episode and she was used respectfully. I am glad that Denise Crosby was classy enough to come back the number of times she did for the fans of the show.

Paradox

The primary reason I am including this on my list is the central paradox in the episode.

The beginnings of life on Earth.

The beginnings of life on Earth.

As I have written about a lot, I started programming rather later than most people did. I had a period of several years where I terribly abused my brain. I would come home from school and just stare off at a corner for half an hour because I couldn’t think enough to be able to know I had to take off my coat and my shoes.

I have stretched, broken, and healed my brain so many times that I think I might be addicted to the pain. Watching Picard go through the episode trying to piece the paradox together spoke to me on a fundamental level that a lot of Star Trek didn’t.

There was one quote in particular that really speaks to me. It happens at the end of the episode when Picard has saved the universe and is speaking to Q about his displeasure at being put on trial:

Capt. Picard: I sincerely hope that this is the last time that I find myself here.

Q: You just don’t get it, do you, Jean-Luc? The trial never ends. We wanted to see if you had the ability to expand your mind and your horizons. And for one brief moment, you did.

Capt. Picard: When I realized the paradox.

Q: Exactly. For that one fraction of a second, you were open to options you had never considered. *That* is the exploration that awaits you. Not mapping stars and studying nebulae, but charting the unknown possibilities of existence.

You know no matter how hard you try you'll never know everything, right?

You know no matter how hard you try you’ll never know everything, right?

Last year I was determined to learn Core Audio. I spent two months working my way through Chris Adamson’s Core Audio book. He was doing an all-day workshop on it at CocoaConf Boston and I moved heaven and earth to be able to go there. When I got there, I was incredibly worried about my future. I felt beaten down and broken by trying to get through programming. That was a really dark time for me. I used to feel joy when I learned and figured things out that had all but disappeared from my life. I was in a despair that I would never feel it again.

Going to that workshop changed my life. It was like a lot of concepts were floating around in my brain like iron filings and someone turned a magnet on and suddenly everything snapped into place. I couldn’t explain to anyone about what I realized, but for a brief moment everything clicked into place. I nearly cried because all of these things I couldn’t figure out suddenly came into focus. I could see how they fit together. I was so buzzed by this revelation that I didn’t sleep for a week.

I felt like I had made a pilgrimage through the desert with no hope that anything would be at the other end to discover that a paradise existed. I felt like my will and my tenacity had been tested and that I passed the test. I knew that anything else I tried to do would not be as difficult as the last year had been. I knew that I would be okay. I knew I would not fail.

Engage

I guess the main theme of this episode is talking about what Star Trek is really about. J.J. Abrams doesn’t fundamentally understand why people like Star Trek. It seems like this dated, wimpy show about a bunch of unrealistic peaceniks who have this stupid utopian view of the way the world should be. Those qualities are exactly what make Star Trek special.

It is superficially about exploring space and meeting weird exotic aliens, but it is about far more than that. It is about exploring what it means to be human. We encounter aspects of ourselves in the various species encountered by the Enterprise crew. The show is a hope for the future where we can bypass the issues we have now to work together for a better future.

We need this, now more than ever. We have a deeply divided country where half of us want to move backwards and half want to move forward. We have a group of people deeply suspicious of scientists warning us that if we aren’t careful we will make this planet uninhabitable. We have become terrified of bogeymen in headscarves that we are afraid will blow up our buildings, so we let our government treat all of us like criminals. We have militarized police turning their weapons on the people they are supposed to protect.

I believed in you. I thought you had potential. But apparently I was wrong. May whatever god you believe in have mercy on your soul. This court stands adjourned.

I believed in you. I thought you had potential. But apparently I was wrong. May whatever god you believe in have mercy on your soul. This court stands adjourned.

I need to believe we can transcend this period of our history. When Star Trek originally came out, we were at a similar precipice, except the bogeyman was nuclear war and had a Russian accent. Star Trek came at a time we needed to believe that it was possible that we could do better. We need that now, more than ever.

Our great challenge as a species isn’t to make it to the stars, it is to push ourselves to do better than we thought we could. That is the ultimate message of both this specific episode and of all of Star Trek. That is why this series has endured for nearly fifty years.

I want to finish up this post, and this series, with a quote from the pilot that I feel sums up my feelings about what Star Trek means to me. I want to thank you for reading my posts and I hope that they were not too terribly boring.

Captain Jean-Luc Picard: Some problem, Riker?

Commander William T. Riker: Just hoping this isn’t the usual way our missions will go, sir.

Captain Jean-Luc Picard: Oh, no, Number One. I’m sure most will be much more interesting. – Let’s see what’s out there. Engage!

Advice to Conference Speakers When Things Go Wrong

While I was attending 360|iDev this past week, I saw a speaker have a bad talk. I saw this speaker do this talk a few months ago and he knocked it out of the park. This time, several things went wrong and the talk went a little off the rails.

My heart went out to this speaker because earlier this month I had my own first encounter with a talk going off the rails.

My Conference Talk Failure

I spoke at CocoaConf Columbus. I was doing two talks. One talk was on GPU Programming and the other talk was on Debugging. I spent the vast majority of my time on the first talk. The subject matter was far more difficult and I was trying to do something rather ambitious with it. I didn’t really give the Debugging talk the love it deserved.

I knew when I woke up the morning of my talk that it was going to go badly. I spent a bunch of time in the morning refactoring it up until the few minutes before the talk began. I was rearranging deck chairs on the Titanic.

I'll just be over here drowning myself in my own tears.

I’ll just be over here drowning myself in my own tears.

When I began the talk, I included a really stupid inside joke that went on for far too long and things just got worse from there. I got flustered and none of my code demos worked properly. I also included way too many of them and all of the demos were based on the same project, so I became confused as to which demo went with which concept.

As I panicked, I spent more and more time looking to my coauthor for help like a kid looking to the teacher for the next line in the school play. I knew I was doing this and I couldn’t help it. I felt like the world was collapsing in on me and I was trapped up there for one terrible hour until I could escape and find a nice corner to cry in.

The Bad News

Here is the bad news. If you are going to be a conference speaker, you are going to have talks that go wrong. It is just going to happen. You are going to have a few that go well, you are going to get complacent and figure you have it all sorted out, or it might even be your first one and you didn’t prepare as much as you should have.

The good news is that you can learn from the experience. Human beings have the unfortunate habit of learning best when we fail at something. Emotional failure stings and it physically hurts us. We learn very quickly not to touch a hot stove because it hurts. We also learn not to go before an audience unprepared because that hurts too.

It is vitally important to not just give up on speaking when you have a bad experience. That is the opportunity you have to learn the most if you can shake off the pain and learn what you did wrong.

Advice

Here is my personal advice for anyone who has either had a bad experience or is just starting out and is worried about having their first bad experience.

  • Figure out if your talk is recoverable. I read a memoir by a gymnast who said that when she would get to practice in the morning she would immediately know if it was going to be an on day or an off day the moment she stepped on the balance beam. Sometimes you start the day off on the wrong foot and you just have to keep chugging along. If you can’t recover from your talk, try not to worry about it. The more you try to recover from it, the more panicked you will be, and the worse it will get. You just have to get through it as best you can. Don’t run away. Just finish as best you can.
  • LetItGo

  • If you think you can recover, take a few seconds to close your eyes and gather your thoughts. It might seem like a long time to you, but there is a temporal shift between how you feel time and how your audience feels time. It might seem like an eternity to you, but to them it isn’t that long.
  • Try to shake it off. Believe me, you are going to feel terrible. People will try to make you feel better by telling you it wasn’t that bad. They are trying to help. Try to be gracious to the nice people who feel terrible for you and want to make you feel better even though you really want to wallow in your own misery for a while. Let yourself feel bad, but not for too long. Have a good cry, then let it go. Don’t let this spook you out of ever doing this again.
  • Learn from what you did wrong. In my case, I didn’t practice my talk enough and my demos were confusing. I will not make those mistakes again. I am currently working on another talk to replace this one and I am trying to be very careful to do the talk that I can do, which might be less ambitious than doing the talk I want and envision. If you are a beginner, you are going to make mistakes and you will know that you could have done better. You will do better next time.
  • Remember that everyone in the audience is rooting for you to do well. No one came to your talk hoping to see you crash and burn. Everyone out there is empathizing with you. Most people find public speaking to be terrifying and if you are having a bad talk, you are living their nightmare. There will always be some asshole who will leave you a comment on your card that you weren’t prepared or some other negative thing. It is going to hurt. Fortunately, those people are usually the minority. Try to remember all the nice things people said and all the people who tried to make you feel better when things went wrong. Our community wants you to succeed.

Moving Forward

As painful as my Debugging talk was, I probably learned more from it than I did from the other talks that I did that went well. I know that the speaker I saw at 360|iDev is going to take that talk and refactor the hell out of it and the next time he does it he will knock it out of the park.

We learn more from our failures than we do from our successes. Failure is painful, but necessary for us to grow and learn and to do better. We are all going to fail at some point. There is nothing to be ashamed of. Just grow, learn, and do awesome stuff.

Why I am Over Doctor Who

I, like many geeks of my generation, have been a rather rabid Doctor Who fan for a few years now. I had the unfortunate luck of attempting to get into Doctor Who with the episode Fear Her, which is widely considered to be the worst episode of New Who created. About five years ago I got through the first season and became very interested in the show. I have even named my pug after Delia Derbyshire, the woman who engineered the theme song.

I am not evil, I promise! I just look that way.

I am not evil, I promise! I just look that way.

I noticed about a year or so ago that I really was not digging Doctor Who anymore. I really liked the first few seasons, but there was a certain point where everything just sort of stopped working for me. I was on the train to Denver for 360|iDev when the season premiere happened and I honestly didn’t care about missing it. I got home and saw it a week later and I wasn’t surprised that it wasn’t very engaging. I nearly turned it off before the end and I was tired and really didn’t care about how it ended.

I’ve been trying to determine exactly why Doctor Who has been bothering me, and I have tentatively come up with some points about what it is about the series that has drained all of its interest for me.

Special Effects

I know at this point, some people might be like, “What are you talking about?! The special effects for the first few seasons were terrible! Look at the pilot episode!”

That is exactly my point.

There was a certain charm about the show when it had terrible special effects. It allowed the actors to have some fun and kind of ham things up because no one in their right mind would think that the horrible rubber special effects were real. It let the show have a goofiness that is sorely lacking in the last few seasons.

Indiana Jones and the Temple of Not Giving a Fuck

Indiana Jones and the Temple of Not Giving a Fuck

Additionally, I feel that the increased special effects budget has acted as a crutch to the show for the writers so that they don’t have to write particularly interesting or compelling characters and plots.

In the seventh season, we had the episode The Rings of Akhaten. There is an interminable portion of the episode with the Queen of Years singing a song that feels like it lasts forever. The scene is beautiful. The special effects and the world building are breathtaking, but I don’t care about what is going on.

I feel like I am watching a piece of art created by a computer that makes things really pretty, but it has no soul. I feel no reason to watch it because the characters never learn anything, their stories don’t touch me on any fundamental level, and the whole thing just feels like a practice in artistic masturbation.

Rose meets the father she never knew and discovers he is just a man.

Rose meets the father she never knew and discovers he is just a man.

The special effects in the first season were terrible, but the writing was compelling. Because you couldn’t blow a million bucks making an entire virtual world, you wound up with such great episodes like Father’s Day where Rose got to meet the father she never knew. The vast majority of that episode took place in a church in the 1980’s. That episode is compelling because you can see a character you’ve never seen before slowly come to the realization that he is going to die and never see his daughter grow up and that he must sacrifice himself to save the world. Pete Tyler wasn’t a super hero, he was an ordinary person who was able to put his own self interests aside for the greater good of everyone. If that isn’t a compelling story, I don’t know what is.

You get compelling stories when there are constraints on the writers to do something to fill the gaps that can’t be filled with special effects.

I went back and watched Jurassic Park recently. I forgot how much of the movie is made up of scenes without the dinosaurs. The movie is great not just because of the realistic dinosaur rendering, but because it had really good, fleshed out characters whose fates you cared about. It had humor. All the characters had distinct personalities. If it was just about the dinosaurs, then I highly doubt it would be remembered as fondly as it is.

The special effects are now movie quality, but since I really hate most movies that come out, that doesn’t really appeal to me anymore.

We are seeing a similar thing happen with the new Star Trek movie series. We have a writer, J.J. Abrams, who has absolutely no idea what made Start Trek compelling to begin with, who is kind of throwing around what he thinks Trek fans want to see, without fully grokking what it was about the show that kept people around. You have things slicker and prettier than they were, but without the soul that kept fans coming back year after year.

Serialized Plots

I do not like the habit that Steven Moffat has introduced in his reign of terror at having the entire series be serialized. I know that many shows on today are serialized and that is the thing du jour for episodic television, but I really don’t feel it works for Doctor Who.

The first series we had Moffat for, where we were introduced to Amy Pond and Rory Williams, had the interesting and different tack of talking about the crack in the wall and how it was a crack in reality. This was an interesting concept that had not been explored in New Who yet.

This baby is the most important thing in the world to me, but only for the next forty-five minutes.

This baby is the most important thing in the world to me, but only for the next forty-five minutes.

However, after the first season of serialization, things began to drag and that began very rapidly. The next season, where we discover Amy Pond is pregnant and was replaced by a doppelgänger, was compelling for the first half of the season until baby Melody is spirited away and we discover that she is, in fact, River Song.

After that, things really go off the rails. We are sort of expected to believe that Amy is not irreparably despondent about her kidnapping and the theft of her baby, because she sort of goes on about her life like it never happened and it is not particularly mentioned again.

A lot of this stuff is happening because the characters, as portrayed by Moffat, are nothing more than

...and after I do that I have no further purpose in this show!

…and after I do that I have no further purpose in this show!

living action figures to go off and play certain parts in weird fan fictions. He is more interested in having puzzles to figure out than in the actual compelling questions of what it means to be human. Once a puzzle has been solved, Moffat has some trouble figuring out what to do with the character afterward. We are seeing this issue with Clara where now that we have discovered why she was the impossible girl, the writers have no clear idea about who or what she was. It has been announced that she is going to be leaving the show at the end of the year and I feel she is being forced out to make room for the next MacGuffin. I don’t particularly like the character, but I feel kind of bad that the actress never actually got to explore who the character actually is.

You can have serialized plots in a show like Lost where you are following the same characters through a multi-year character arc. It works less well when you have a predetermined cycle of actors that will come and go. Back in the first few seasons having a lot of one-off episodes that had a few multipart episodes sprinkled through really worked for the show.

Don't Blink!

Don’t Blink!

Some of the best episodes of the show were stand-alone episodes. Look at Blink, one of the best episodes of the entire series. The show barely has the Doctor in it. It exemplifies what is great about Doctor Who. It is weird and funny and has compelling time travel paradoxes, but most importantly, it wraps up in one episode. It is a tightly written piece of fiction. Imagine trying to drag that episode out over a whole season long arc. It loses so much in that scenario.

I guess I feel like Doctor Who is turning into the M. Night Shyamalan oeuvre where he feels compelled to add a stupid twist to the end of his movies and they get lamer and lamer with each iteration. Try shaking things up a bit and go back to what works rather than sticking to a fluke that worked once.

No Hanky Panky in the Tardis

The single biggest thing that has bothered me about this season is the question of romance between the Doctor and his Companion.

This kiss doesn't count, it isn't the actual Doctor. That's my story and I am sticking to it!

This kiss doesn’t count, it isn’t the actual Doctor. That’s my story and I am sticking to it!

First off, I thought it was rather refreshing to have the married couple of Amy and Rory because it closed off the idea of the Doctor and his Companion having a relationship. I think that Billie Piper had great chemistry with both Christopher Eccleston and David Tennant and that having that one relationship go in that direction was not the worst idea in the world.

Rose Tyler was followed up by Martha Jones, who had an unrequited crush on the Doctor that was never reciprocated. Martha was followed by Donna Noble, who was brought on to be a friend to the Doctor and to show a character who has a life changing encounter and grows as a human being. I don’t really think that Doctor Who has earned the reputation of having too many romantic relationships between the Doctor and the Companion.

Imagine my surprise when nearly every article I read about the new season of Doctor Who revolved around this theme: No hanky panky in the TARDIS. I began to get a very bad feeling about how this season was going to proceed. No one talked about anything else going on this season beyond the fact that the people representing the show wanted to make damn sure you knew there would be no relationship between the Doctor and the Companion.

Why did anyone feel it was necessary to make this explicitly clear??

Watching the first episode of the season really hammered this point home. I think they talked about boyfriends and relationships more than they talked about sex in “The Secret Life of the American Teenager.”

You don’t want a relationship between the Doctor and Clara? Fine. I don’t think they even got to that point when Matt Smith was around because Clara was only on like ten episodes. Just don’t do it. Don’t fucking talk about it every other minute in the premiere.

Wait, what the hell is this?! I thought I was supposed to get the hot red head! I need to check my contract...

Wait, what the hell is this?! I thought I was supposed to get the hot red head! I need to check my contract…

I also find this worrying because I feel that Steven Moffat doesn’t know what to do with a female character if he can’t hook her up in a relationship. I think Amy lasted as long as she did because she was married to Rory. At the beginning of Season Seven she tries to divorce him to set him free because she can have no more children and she feels like she can’t fulfill his needs as a man because she can’t give him babies. The fuck? The multitude of wrong associated with this plot line hurts my brain.

I think Jenna Colman was sort of urged to leave the show because no one knows what to do with her anymore. Her puzzle has been solved. The hot guy left the role and has been replaced by the old guy. What on earth could they possibly do with a female character if she can’t screw the Doctor?

Conclusion

Will I continue to watch Doctor Who? Yeah, probably. I watch a lot of things that stopped being good a while ago. Will I go out of my way to see it when it is on initially? Probably not.

Right now the writers have no reason to go to the effort to make Doctor Who good. The Fiftieth Anniversary special was aired live all over the world. Doctor Who is the crown jewel of the BBC right now. It is basically printing its own money. It has no incentive to make itself better.

I have no hope that things will get any better as long as we have the same crew of people running things. If they ever replace Moffat with someone else, I will be legitimately excited about the show again. Until then, I will suffer and rewatch the Eccleston season back when the show had something to say.

Programmer’s Math Call for Proposals

I am working on creating a talk about all of the math that I learned in high school, forgot how to do because it had no “real world” application, only to discover that I really need to remember it now.

I am asking anyone who follows me on Twitter, App.net, or reads my blog to please contact me about any math concepts you have encountered that made your brain shut down like Zaphod Beeblebrox’s sunglasses because it was too terrifying to deal with.

I want to get an idea of concepts people either don’t really understand or, if you are a math person, what concepts you think I should cover.

I don’t allow comments on my blog because I got sick of spending hours deleting all the spam that got through my filter. If you already have my email address, feel free to email me. Please ping me on Twitter if you don’t have my email.

I am trying to write this talk to address what issues our programming community has. The more feedback I get from people about what they find confusing and what they would like to see covered, the better I can do at helping all of us do better things.

Thank you.

In Defense of the Gentle Soul

I was attending That Conference when I received the news from my friend Aaron Douglas that Robin Williams had died.

Oh sure laugh, laugh for Barney Stinson. Laugh for the sad clown trapped on his whirling carousel of suits and cigars and bimbos and booze. Round and round it goes, and where's it all heading? Nowhere

Oh sure laugh, laugh for Barney Stinson. Laugh for the sad clown trapped on his whirling carousel of suits and cigars and bimbos and booze. Round and round it goes, and where’s it all heading? Nowhere

I, like many others, grew up watching Robin Williams in “Hook”, “Aladdin”, and “Mrs. Doubtfire”. As I got older I remembered his performances in “Awakenings” and “Good Will Hunting.”

I know many people were shocked by the fact that he took his own life. After the four decades of joy that he brought to people all over the world, many could not comprehend why someone so universally beloved would feel he had nothing left to live for. He had a loving family, success, and universal love from billions of people who grew up watching him in movies and TV.

I get it.

THESE are the times that try men's souls.

THESE are the times that try men’s souls.

Meryl Streep, among others, have called Williams ”a gentle soul.” The world is not kind to gentle souls. The programming world is especially unkind to gentle souls.

Programmers are supposed to be tough. Programmers are supposed to work eighty to a hundred hours a week and be happy to live off of Red Bull and Red Vines while keeping The Internet from crashing and burning.

Last year Ed Finkler did an amazing talk at Madison Ruby about mental illness in programming. I think it takes a special kind of person to be good at programming. I think you have to pay a lot of attention to detail and hold yourself to very high standards. I think many of the qualities that make you a great programmer also make you a rather sensitive and fragile person.

I am a very sensitive person. I recently did a talk at CocoaConf Columbus that did not go as well as I would have liked. I know it bothered me far more than it bothered anyone else. I held myself to a far higher standard than anyone else did. I admit to spending a minute in an abandoned corner crying and pulling myself together.

I have somehow established a reputation for being an extrovert. I may or may not be. I don’t know. It changes.

Oh captain, my captain!

Oh captain, my captain!

I know that the longer I spend around large crowds of people the harder it is for me to filter out other people’s thoughts and emotions. When I am around happy people I get slightly stoned on their positive emotions. When I am around negative emotions I can feel my soul being drained from my body.

I know that I am sensitive. I know I feel things most other people do not. I think that my ability to feel and empathize with other people could either be a strength or a weakness. I can get inside other people’s heads and create things they would love and enjoy. I also tend to be very easy to bully and people tend to enjoy crushing me because I am fully aware of what they are doing and I can do nothing to stop it.

I really wish our world valued sensitivity more. “Sensitive” is used as an insult against people we want to oppress. You didn’t like being insulted? You are being too sensitive. It was just a joke. It doesn’t matter that it wasn’t funny.

We drive sensitive, introverted people out of our society. We are incredibly competitive and it is easy to crush sensitive people and step over their bodies on the way up the ladder. Sensitive people are vulnerable. Sensitive people have X-Ray vision. We see and feel things that many people do not. Predators can sense that they can use dog whistles to set us off and play dumb when no one else can hear.

What we do know is that, as the chemical window closed, another awakening took place; that the human spirit is more powerful than any drug - and THAT is what needs to be nourished: with work, play, friendship, family. THESE are the things that matter. This is what we'd forgotten - the simplest things.

What we do know is that, as the chemical window closed, another awakening took place; that the human spirit is more powerful than any drug – and THAT is what needs to be nourished: with work, play, friendship, family. THESE are the things that matter. This is what we’d forgotten – the simplest things.

Many companies want things both ways. They want incredibly talented people, but they want to abuse them and treat them like shit and have them still function perfectly. Hate to break it to you, but you really can’t have it both ways.

People are kind of like microphones. The microphones you can drop on the floor and abuse tend to not be particularly sensitive. They can record sound, but they usually can’t capture a lot of dynamics or nuance.

Really good microphones that can capture a large dynamic range tend to be super sensitive. There are ribbon microphones that can burn to pieces if you look at them funny. You can capture amazing sound from them, but you can’t drop them on the floor and expect them to work.

If you tell an employer that they can’t abuse you and expect you to perform properly, you get looked at like you are insane. If you pretend that you can be abused to get your foot in the door, things fall apart very quickly and you tend to get fired.

real-lossWe have turned “sensitive” into a bad word. You are not supposed to be sensitive. Being sensitive means that you are somehow crazy and see offense where none is meant.

I watch the anime “Space Brothers.” There is a plot point in the last half of the series where Hibito has a near fatal accident on the moon and suffers from PTSD. The people at NASA have deemed him damaged and want to wash him out of the program. There are many episodes where he tries to demonstrate that he has an ability to get over his PTSD, but there are more astronauts than there are missions to send them on, so he is not cleared to go back to the moon. The top brass at NASA do not have an incentive to help Hibito clear the stress tests, so they actively work against him rather than working with him.

I feel that, in spite of our supposed shortage of programmers, we are constantly looking for reasons to exclude people from our community. We look for reasons not to hire someone rather than trying to figure out ways to work around their various quirks and idiosyncrasies. It creates an atmosphere where people are afraid to disclose very real needs they have to keep themselves healthy and productive. This is a bad situation.

As much as people talk about money and stock options, there are other ways to attract top talent. Being tolerant of the quirks that make people amazing programmers is a step in that direction. It really does not take much to work with someone so that they can remain healthy enough to keep working. We want to work. We want to be able to do what everyone else does, but sometimes we just can’t. We appreciate any accommodations that are made to allow us to work and do things that make us happy. Be flexible with working from home. Allow people to have a bad day or two. Realize we have a limited number of spoons.

There are a limited number of young white males who are willing to work for half of what they are worth. Rather than lobby Congress to let more foreign programmers over here to be abused, please try to work with the people who are here who are slightly damaged but still want to be productive members of society. Be Tom Smith.

Seize the day, boys. Live now. Make now always the most precious time. Now will never come again.

Seize the day, boys. Live now. Make now always the most precious time. Now will never come again.

Members of the programmer community do not remain undamaged for long. Don’t discard ones who are and hope that there is a ready supply waiting to be damaged and discarded. Experience is worth more than naiveté.

I mourn the passing of a fellow gentle soul. I hadn’t thought of Robin Williams for a very long time, but his passing due to suicide has affected me more than I thought it possibly could. Even though I never met him personally, my life was enriched by the work he did while on this Earth. I know I will never affect the multitude of people that he did, but I hope that I can do something, anything, to make life a better and more rich experience due to my participation in it. Thank you Robin. I hope that you find the peace in death that you could not find in life.