Minimum Viable iOS Engineer

Parable of the Shrew

My father works at the Botany Department at UW-Madison. When he was a graduate student he worked as a naturalist at a state park in South Carolina. When I was growing up he told me a lot of stories about this park. One story that he told me in particular has stuck with me most of my life. I have been meaning to write a blog post about it, and I feel like now is the time.

One day while he was working at the state park, he found a shrew. A shrew is a small rodent that eats crickets. My dad captured it and took it back to the office with him. He knew it ate crickets, but wasn’t sure how many or how long it had been since the shrew had eaten. He wanted to be safe, so he put the shrew in an empty aquarium with a hundred crickets, figuring that would be enough.

He came back the next morning to find the shrew dead on its back with all four little furry feet in the air. It was surrounded by dead crickets. The shrew was so fixated on killing every cricket in the aquarium that it forgot to eat any of them and it starved to death surrounded by food.

Resist the Temptation to Be the Shrew!

Yesterday Apple had their announcement of the new tvOS, along with a lot of other new toys that made my head spin.

I noticed a lot of people dropping the watchOS stuff to pick up the new tvOS stuff because it was the new thing and they didn’t want to get behind.

I want to say something that is going to make you feel bad. Take a deep breath. Relax. Here goes.

We have reached a point with the platform where we can’t know everything.

When I started programming I figured I would learn a few languages to cover my bases and give me options for when I went looking for a job. I realized that this was a bad tactic so I picked the one I most wanted to work with. I have further specialized to more and more specific areas of Apple development.

Every time that something new and shiny is announced, I feel compelled to learn something about it. I have Ray Wenderlich’s WatchKit by Tutorial on one of my computers and I don’t know if I have ever opened it. I also have their Animations, Core Data, and several years of iOS By Tutorial in a folder on my computer unread. I feel an incredible amount of panic because no sooner do I hear an announcement about something, my Twitter feed explodes with people who have dug into the docs and are sharing what they read. I have barely processed that something new has come out and already people are doing something with it. It gives me tremendous anxiety and makes my head spin.

I have been working myself into a tizzy just trying to keep up with what I am doing at my job. I have not used the iOS frameworks in about a year. I have a book out on iOS development but I don’t use it every day and it’s basically gone from my memory. I know if I had to use it every day I would pick it back up again fairly quickly, but it still disturbs me that I just don’t remember this any more.

I keep feeling like I need to know Core Data and Networking to stay marketable. I have a list of things that I think I need to know because if I don’t know them then I am not a real developer and people will shun me when they find out. This fear leads me to work all the time. I regularly suffer from exhaustion. The last two weekends I spent two days in bed internally screaming at my body for giving up on me because I have deadlines I need to meet and I don’t want to let people down.

I can not continue this way. If you are going through this, you can’t do it either.

This year at 360iDev there were a lot of talks about the death of independent development. We’ve moved beyond the point where you can make an app in your free time on nights and weekends that is going to be a minimum viable product. Believe it or not, this is a good thing.

Back in 2009 when the platform was relatively new, you could know everything. It was possible. The reason it was possible was because the platform was incredibly limited. There were a lot of things you couldn’t do, or couldn’t do easily. Now we are living in an embarrassment of riches where almost everything is possible, which means YOU CAN’T KNOW EVERYTHING!! Stop trying!

What is the Bare Minimum You Need to Know

I celebrated my first work anniversary on Tuesday. Before that I worked at a start up for two months, worked on an OpenGL contract application for three months, coauthored a book, and did over a dozen conference talks. I have a shocking amount and diversity of experience for a developer who has less than two years of experience.

I don’t know Core Data. I don’t remember most of iOS. I haven’t worked with Interface Builder in a year even though I intended to specialize in graphics and design for iOS.

I think that the amount of things you need to know to be a beginning iOS developer is smaller than most people think.

I talk to students at the tech school I attended and all of them think they need to know a lot of stuff. I would argue that you don’t need to know a lot of stuff, but the stuff you do need to know you need to know well.

Here is my list of what I think you absolutely need to know to have an entry-level iOS job:

  • Some fundamental understanding of either Objective-C or Swift. Both of these languages have a lot of unique aspects and I would argue it is important to have enough of a grasp of one of these to understand why you don’t program them like Java or some other language.
  • The MVC design pattern. This is a fundamental pattern that permeates all of iOS. If you do not understand this pattern, you will not write good iOS code. It is vital to understand this.
  • Know how to use the Apple documentation to look up how the frameworks work. You can’t know everything, but you at least need to know how to learn what you need to know.

I think knowing Core Data or Networking or any of the other multitudes of things are nice career embellishments, but I think if you are looking to bring on an entry level person and train them, this is what they need to know.

I don’t know how to do Networking. I have never had to know it for any job I have had. Same with Core Data. I know a lot about things most people never need to use like how to connect to a FireWire camera and how to parse LibXML2. These are things I learned because I needed them for the job I have. If I were looking for another job I am sure knowing Core Data would make me more marketable, but I wanted to find the right job for me rather than being qualified for a lot of jobs that aren’t really a good fit.

I don’t think not knowing how to do NSURLSession or how to make an Apple Watch app makes me an impostor or a bad developer. They haven’t affected my ability to get a job yet and I don’t think they ever will. If I need to learn them for something I am doing, I know enough that I can teach them to myself and if I forget them again, then I wasn’t using them.

I worry about people spending so much time learning “superficial” stuff that lets them build an app but does not teach them how the app works so it can’t be applied to anything else. I think instead of creating an aura of fear at not knowing everything, we focus on what is the essential amount you must know and enable people to learn the things they need to know to specialize or that interest them.

Specialize

At 360iDev last year Saul Mora and I were discussing the possibility of setting up something like a co-op for developers. If you had an app idea where you needed to know something you didn’t know, you could post it on this message board and if someone knew how to do it, you could negotiate working with them on it. I don’t particularly want to learn a bunch of stuff I don’t care about to make something and I would love to work on someone else’s project only doing the things that I want to do.

Like all good ideas that are formed by committee, this got bogged down in a lot of implementation details and forgotten. I still think this is the only way for independent development to move forward.

If you have a group of four people with different technical skills working together, you can put out a really nice app in your spare time. The gold rush is over, but I would hope that some people are involved in app development because they enjoy it and have ideas they want to share with the world.

I feel that Ray Wenderlich has embraced this idea. He has a large team of people working together on the tutorials because it simply got to the point where he couldn’t do it alone. We have a large pool of knowledge and resources and we are able to accomplish more than any one person could. I think he’s a great example of what you can do if you start trying to think cooperatively rather than singularly.

I think we need to move away from the idea of the solitary developer working in their basement over a weekend and move towards the idea of having a team of friends you can work with and share ownership of a product with. Even if the app never earns a dime, the act of working with your friends to make something you are proud of is a goal in and of itself.

So, to everyone feeling shitty because you can’t keep up with the new and shiny, stop it. Go easy on yourself. We’re at a turning point where things are going to be different and you can’t hold yourself to those standards anymore. Focus on the fundamentals and what is important to you and you will be fine. The platform has matured and it’s a good thing.

Newton’s Third Law

Summer 2008

“Janie, you know everyone hates you here, right?”

I looked up. The boy who said this to me was sitting in the middle of the recording studio. The room went silent. All my classmates immediately stopped talking and their heads swiveled around to look at me.

I gazed at the boy. I barely knew him. I only knew his name because he missed the first week of class because his lung collapsed and he was in the emergency room. I don’t think I’d exchanged one word with him in my entire life.

Everyone’s eyes darted back and forth between me and the boy. A few people cleared out of the middle of the room. There was going to be a fight.

Janie at 13

As long as I can remember, I identified myself as a feminist. If my teacher picked a group of people with more boys than girls, I would accuse them of being sexist. I wanted to be the first woman president. I was angry because I knew I was out of step with my peers and I knew they didn’t respect me. I wanted them to respect me.

Like the good 80’s child that I am, I decided I wanted to learn karate. I wanted to learn how to be physically powerful because I wanted to go through life without worrying about losing in a fight to anyone.

My small town in rural Wisconsin did not have a karate dojo. We had an Aikido dojo. Aikido, for those who don’t know, is purely self-defensive. We didn’t learn fancy punches and kicks. We didn’t learn to flip people over. Instead, we learned how to deflect physical attacks. We learned how to direct an opponent’s energy away from us.

I thought this was bullshit.

This was stupid to wait around for someone to punch you and then to just move their arm away. What was the point of that? If someone had the audacity to come after you, they deserved to be punished. They should have their ass kicked.

I stuck with Aikido for about a year until I started attending a Catholic school out of town and I didn’t have time to keep going. Honestly, I didn’t see the point. It takes forever to advance in the belt system and you don’t learn how to beat the crap out of people, so why bother?

Sensei

My sensei, Mark Uttech, passed away recently. He fought cancer for a year and lost his battle. He was a kind, good-hearted soul. He always had a mischievous energy about him. I can’t imagine what he was like as a young man because he had an old soul. He was peaceful and accepting of everyone. He encouraged not only non-violence, but non-combativeness.

I intended to go back to the dojo back in 2013. I attended one or two classes, but this was around the time my marriage was falling apart and I had dedicated myself to programming. I deeply regret not being able to learn from him during this time.

Janie at 26

At some point when I was 26 I just got sick of being angry. I had been fighting people my whole life and none of it made any difference. I was tired of battling everyone I knew. I was tired of being pissed off and carrying around my anger. Anger is heavy. Anger is expensive. It takes energy to hate. Everything I did was ineffective. The battles I fought with people left me scarred and did nothing to affect any kind of positive change.

I began to discover Zen Buddhism. I found that I had made a logical fallacy in regards to my interactions with others.

I thought that any time I saw what I perceived to be injustice, it was my duty to go and fight over it. Not every slight needs to be fought over. Not everything is a slippery slope on our way to the Nazis taking away the Socialists. If you make an issue over everything, then really egregious behavior loses its context.

Actions and Reactions

I thought if someone did something I thought was wrong or they challenged me, that it required me to fight them. It’s Newton’s Third Law: Every action has an equal and opposite reaction. If you punch a wall with your fist, one of you must break. If you use enough force and commitment, the wall breaks. If you falter, your fist breaks. There is no other way.

Except there is.

Just because someone insults you doesn’t mean you have to fight them. I am saying this a person who has been privileged enough not to be doxxed online or forced to flee my home, so take my thoughts with a grain of salt.

Aikido is about redirecting violent energy in a way that renders it harmless. Rather than having a zero-sum game, where either the fist or the wall must break, you can take that energy and direct it in a way that hurts no one.

I know, you think if someone throws a punch at you, it’s your obligation to make sure they never hit you again. If you redirect their fist away from you and neither of you is harmed, they will just keep coming after you. Let them. Keep redirecting their energy and eventually they will stop. They tired themselves out and they don’t get the satisfaction of breaking your face. You don’t stoke their anger by provoking them back by causing them pain. They will grow tired of trying to hurt you and they will leave you alone.

I didn’t have the patience to understand this when I was younger. I was angry and I wanted to set the world on fire. I wanted to burn people. I thought that backing down from a fight made me weak or cowardly. I didn’t realize that it was braver to look an assailant in the face and to decide that you would not let them hurt you or themselves. There is more than one way to win. Winning means you walk away without harm, not that you beat your opponent.

Be the Change You Want To See In The World

I have been asked why I go to conferences. They are a lot of work and they are quite tiring. Why do I go?

I am trying to bring an energy to our community that I would like to see more of. I want everyone to love and accept one another. I want everyone to have an understanding and an empathy about where someone else is coming from.

I spent half of my life learning how to make people feel like shit. Then I spent the other half learning how to make people feel good. Making someone feel good about themselves feels better than destroying someone. It takes more care and effort to build someone up than it does to tear them down.

I want to show everyone that you can be successful without being an asshole. I have contributed a lot of negative energy to the world and I would like to show people that there is another way. There is forgiveness. There is self acceptance. There is understanding. There is peace.

Epilogue

Everyone watched us with baited breath. What would I do? Would I deny it? Would I cry? Would I appeal to them to prove that he was wrong? What would I do?

I smiled at him and said, “I know.”

He looked like I punched him in the face. He looked stunned. He shook his head and cocked it at me, thinking he must have misunderstood me. “You know?”

“Yes, I do.”

“And you don’t care?”

“No, not really.”

He stared at me. Of all the reactions he was expecting, this wasn’t one of them. He didn’t know what to do.

“Well, I just thought you should know that we all hate you.”

Everyone was disappointed. They were looking forward to a fight. They went back to what they were doing. I went back to reading my book. It’s like nothing happened.

As everyone went back about their business, I smiled to myself. I had won.

Why I am Not Moving

“Janie, why are you still in Madison?”

This is a question I was asked recently. I actually get asked this question a lot.

For the record, I don’t live in Madison. I live in Deerfield. Deerfield is a village with less than two thousand people, no grocery store, and no traffic lights.

I had a lot of frustrating conversations with people over the winter when I was freaking out about taking care of myself where I was told to order delivery or sublet my house to move closer to work. There is no delivery in a village of two thousand people, one restaurant, and six bars (this is Wisconsin, there is a five bar minimum per incorporated town).

There is no public transportation. I drive sixty miles round trip every day to go to my job. This can easily eat up two hours of my day. The closest actual grocery store is twenty minutes away, so it is rather difficult to run errands because just going to the store kills almost an hour of my increasingly limited free time.

Additionally, I have my pugs who spend way too much time alone in my house and it’s hard for me to go home, feed them, shovel food down my throat, then go back out again after working a ten hour day.

Part of me thinks it would be nice to be able to go out at 9:00 on a week night on the spur of the moment without having to drive a hundred miles round trip in one day. It would be nice to take advantage of my gym membership without feeling guilty thinking about my pugs being stuck in my house alone all day. It would be nice to join the maker space that inconveniently exists equally far away from both my job and my house.

So why don’t I move?

First off, I can’t afford it. Conservatively, it would quadruple the cost of my housing to move downtown, or even closer to my job. After my divorce I effectively have a blank slate. I don’t have any debt (besides my house and my car), but I don’t have anything saved either.

I would have to sell my house. Did I mention the whole living in the middle of nowhere, no public transportation thing? There are a half dozen houses around me that have been on the market for a while. My house is just about the right size for one person or maybe a couple, but not for a family. It’s within walking distance of the school, but in our era of helicopter parenting, that doesn’t mean what it used to.

I feel like I am in a really weird stage of my life right now. I never did the whole partying and dating thing in my twenties. I had some health and social issues and so I didn’t go out to bars and date. I married my ex-husband because we knew one another our whole lives and the dating scene terrified me because the only attention I got was from married creeps who wanted to have affairs (which isn’t that much different right now, to be honest).

Even though I didn’t have kids, I have a lot of the same issues that parents have. I have to go home to take care of my pugs. If I want to stay out after work, I have to make arrangements for someone to come take care of them. I find it incredibly selfish that people tell me that they only want to hang out with me if they can call me on a whim and ask to meet at the bar twenty miles away in ten minutes rather late on a week night. When I tell them I need to schedule something or meet earlier, they get pissy with me and tell me to move. This makes me less inclined to hang out with them because they want me to contort myself like a pretzel and they are unwilling to do one thing to accommodate me.

Last week I did an interview with the Ray Wenderlich podcast. One of the themes of the interview was them asking about all the projects I have been doing. I spoke at, I think, at least ten conferences last year. I coauthored a book. I work a full time job. I am the cohost of NSBrief. I have a lot of projects that I do. I never really thought about it because they slowly added incrementally and the deadlines for each one would come and go then another would take it’s place like Hydra.

I started to really think about what I am doing with my life and how things would be different if I lived in a city like a normal person.

If I lived downtown and I could order takeout and go out drinking at 9:00 on a week night, I would probably do it. I would develop a circle of friends who all do those things. I would probably be more social, have different hobbies and activities, and have something that resembles a normal life.

I don’t think I would find that fulfilling.

When I started programming a few years ago, I was driven by my fears of inadequacy. I was competing with people who had been programming since they were twelve. I was in my thirties and I hadn’t established a career yet. Just yesterday I was talking to a high school student who is on Ray’s tutorial team and I felt a deep sense of shame for squandering my twenties doing stupid crap.

I don’t remember where I read this, but there was a piece of writing Anthony Bourdain did where he talked about his chef career. He said that when he was a young chef, he had two options. He could either take some time really honing his skills by working for better chefs, or he could chase the money by being an okay head chef at a couple of different places. He had a heroin habit to feed, so he chose to chase the money. He talked about Grant Achatz, the chef at Alinea. He was talented enough that he could have been a head chef right away, but he wanted to be a great chef, so he paid his dues for several years by being a sous chef for great chefs so that he could learn to be a great chef. His restaurant is the only consistent 3-star Michelin restaurant in Chicago and he is considered to be one of the greatest chefs of his generation.

I consider my current job to be more than a job. I feel like it’s my do-it-yourself graduate school. I am a much better programmer now than I was when I started here almost a year ago. I have the freedom to ask stupid, esoteric questions without worrying that I am going to be fired for not knowing what a bubble sort algorithm is. I am a sous chef working under a great chef to learn how to be a better programmer (mixed metaphors are pretty).

Right now I have two options for making up for lost time. I can either spend a lot more money to engage in a lifestyle that will be fun for a few years but will do little to enhance my career, or I can accept that living in the suburbs sucks, but that I can spend all of my time stuck at home doing things that will enhance my career and help me make up for lost time by fast tracking my programming skills.

I know most people after a divorce would throw themselves back out into the dating pool and get new hobbies and do a bunch of things to feel free and alive again. It’s a tempting thing. However, I made a lot of sacrifices over the last three years to get to the point I am at now. My fire is burning, but it will go out if I don’t keep tending it. I worked my ass off to get it going after having two previous attempts not get past the kindling stage. As cool as it would be to be a “normal” person and go enjoy my youth, I think that I have a chance to do something important right now and I want to see where I can take it.

Meaningful Relationships and the Art of Networking

Family

My father and I have had arguments about family for most of my life. My father keeps insisting that now that I am an adult I should make a pilgrimage twice a year to go to his family reunions. I don’t see the point in going to these because I had many of these events from my childhood where I felt kind of like we were the Anne of Cleeves juice glass in the collection of wives of Henry VIII. We needed to be there so that there would be a complete set of my father’s siblings and family, but once we were accounted for we were kind of ignored and forgotten.

I came to terms with this at some point in my early adulthood because, honestly, what do you say to people you only see twice a year? Most of my relatives were much older than I was. My cousins were in college and getting married when I was in Jr. High. We were at different points in our lives.

The advent of Facebook and the Internet has made it much easier to connect with my relatives and keep up with what they are doing. We’re also now all adults and it’s a little easier to connect with people when you’re at the same point in your life.

Yet still I fight with my father over the necessity to go there and see people in person. We would have incredibly heated arguments over this and I could never articulate why this bothered me so much until recently, and yes, it does has something to do with networking.

Meaningful Relationships

I guess the things that bothers me about going to various family reunions is that they are perfunctory and superficial. You go, you say hi to the host, you eat your sandwich, you go home.

I observed over many years that most people’s relationships with their families were much different than my own.

I grew up in a very small town where most people had a huge network of cousins and other relatives who were all around the same age. They were thick as thieves in school and continue to voluntarily spend time together as adults. People weren’t just cousins, they were friends as well.

My cousins were not my friends. I really think that they could have been.

I remember as a kid being hauled to the family Christmas brunch where I would usually find a nice corner to sit in and read my Babysitter’s Club books while I waited for presents to be opened so that we could go back to the hotel and go swimming. One thing that happened every year was that my cousins would all go out to a movie and I was always invited to go. My dad would tell them no, I wasn’t allowed to go with them.

After a few years they stopped asking and whatever relationship I had with them withered until I became an adult and reconnected with them on social media.

My mother’s family was closer in both age and geographically and I barely saw them either. I will now go on Facebook and see every cousin of my mother’s, except her, go on a week-long camping trip and other various adventures that we are never included in because we’re not really a member of the family.

I keep fighting with my dad because I think we have different ideas of what “family” is.

My dad thinks that family is people you are related to by blood who are obligated to take you in if you are in trouble. He sees them like Social Security. You show up once a year to let them know you are alive so that if you are at a point where you might not be you can show up with your hand out and expect to be taken care of.

To me, what I observed, is that family are your social circle and your safety net. Family is people you want to spend time with and who you want to help if they’re in trouble. My dad has no interest in a meaningful relationship with any member of his or my mother’s extended family and he assumes that the blood tie is enough to fulfill this goal.

So What Does this Have to do with Networking?

I’ve noticed that some people are taking the wrong approach to networking.

Many people think that having several hundred LinkedIn connections is a network. It isn’t.

Jeremy Sherman was talking at the mini-360iDev in Greenville last year about how he networked with a journalist he hoped would feature him in a piece for his magazine. The only reason this tactic worked was because Jeremy actually made friends with this person. They liked one another and it was a real, meaningful relationship. He made it clear it wasn’t a mercenary tactic, he just really wanted to befriend the guy and that it worked out because he treated the journalist as a human being and not an opportunity.

All of the opportunities I have had have come from having meaningful relationships with people in this community.

It means a lot to me that the Kleins, the Remsiks, and the Wilkers have given me the opportunity to speak at their conferences. I like all of them as people very much. If I didn’t get to speak at 360iDev in two weeks (buy your tickets!), I would still like the Wilkers very much and would have found a way to go (but I am glad I didn’t have to).

I made friends with Chris Adamson because I liked the work that he did. We hung out at Anime Central the last two years because we were friends and we both had a mutual enjoyment of anime.

If I had gone into my friendship with him with the agenda that I was going to get something out of him, our friendship would never have materialized. People can sense users a mile away. Don’t be a user.

I am at a point right now where if I lost my job this afternoon, I have a large number of people I would go to for help, not just to find another job, but just because they’re friends who I think can give me advice and comfort about what to do. I have a lot of people in this community that I consider to be close friends and confidants and it makes my life and career richer for having a meaningful relationship with them.

Networking is about building meaningful relationships with people. It’s about seeing them as people and spending time with them even if it doesn’t immediately get you anything. It’s about finding people you genuinely like and who genuinely like you. If you go to one conference and meet someone once and never follow up with them, then I am sorry, they are not a connection in your network.

If you’re going to go to the expense and time of attending a conference, make the most of it. Meet as many people as you can. Find people who like the same things you do and keep in touch with them. You can’t pick your family, but you can pick the people you choose to be connected to.

Learning How to Cook: June 2015

My ex-husband moved out of the house at the end of January of this year. We were married for just over five years. During those five years I think I only made dinner twice.

My ex-husband was a disciple of Alton Brown and he was obsessed with cooking. He bought a sous-vide. We installed a gas range in the kitchen. We regularly went to the knife shop downtown so he could get his knives sharpened and buy new kitchen gadgets.

It was also something of a living nightmare.

IMG_1888Shortly after my ex-husband turned 30, he was turned onto the Paleo diet. All of a sudden, rice, bread, and potatoes disappeared from our house. Dinner became a 12 ounce steak with three brussels sprouts. If I tried to take more than three I got yelled at for being greedy.

Food became scare around the house.

No one tells you this, but doing Paleo is an assload of work. You pretty much have to prepare a whole meal every night because a lot of the Paleo foods aren’t really designed to be eaten leftover. One night we would have lamb chops, the next I would be scavenging for food after a long day at work to be told that I could eat all the salad I wanted. Fuck that.

I started hiding food around the house.

My ex would find my food and eat it and complain to me about how having it around threw him off his diet. Once he ate a bagel that threw him off his diet, well then he was already off and why not go out and get Chinese food?

My dad has been on the opposite diet most of my life. His diet consists primarily of beans and brown rice. I remember as a teenager being told by my dad that a cheeseburger I ate on the way home was going to kill me. My dad and my ex-husband would have fights that would almost come to blows over which one of them was wrong. Both were convinced the other was going to drop dead any day because they were eating poison.

Thanksgiving was the worst.

IMG_1895My ex-husband insisted on doing all the cooking (expect for pie, which he let our mothers take responsibility for). He would spend a week brining the turkey, which had to be specially pasture-raised, making a starter for the bread, and creating his own stock. When Thanksgiving would actually happen, he would spend twelve hours stressed out of his mind trying to get a meal done that no one would eat because everyone filled up on cheese and crackers waiting for dinner to get done. I usually would steal two bottles of wine and hide in my childhood bedroom watching Doctor Who.

I decided when he moved out that I was not putting up with this shit anymore. I spent my life being told by my dad I couldn’t eat cheeseburgers and being told by my husband I couldn’t eat bread. Fuck all of this. I did not want to cook. I just wanted to live off of prepared food I found at Costco and the grocery store.

This went great for a while. I got to eat all the stuff like lasagna I hadn’t been able to have in several years. Everything was awesome.

Until it wasn’t.

I noticed after a while of doing this that I was getting tired of the food I had available to me. Even stuff that i liked tasted kind of processed.

One day a few months ago, I went to Costco to pick up my food for the next week or so. Nothing looked appealing. I was tired of everything I saw.

Then I noticed that they had boneless skinless chicken thighs. They came in six packages of four. One of the biggest things keeping me from figuring out how to cook was trying to figure out how to debone chicken. Seeing that I could get packages of about a pound of deboned chicken to include in various recipes removed an obstacle I had mentally about figuring out how to cook.

IMG_1940I picked up ingredients for food rather than food. I walked out to my car and looked in my trunk with a modicum of despair because I was pretty sure I was not going to have food for the next week or so because I wouldn’t feel like cooking anything.

Fast forward two months.

I actually have gone through most of my chicken. I had to throw one package out because I forgot to use it in time. Other than that, I actually made food.

I have done a lot better at making food for myself to have for lunch than I feared I would. I have been slower than I wish I had been. I am hoping to learn to do things faster.

One thing that always amazed me about my ex was the fact that I would look in the refrigerator and not see anything for dinner. He used to be able to look in there and say, “We have X, Y, and Z, which means I can make Foo.” I never understood how he did that.

I understand now.

I control everything that I have in my kitchen.

I have a certain number of things that I keep in stock so that I can construct meals out of them.

I have a few meals that are basically all the same ingredients but have different spices in them. I really like stewed chicken. I can make a chicken stew with a bunch of veggies and either add curry roux or some other spice mixture and have two different meals.

IMG_1924I have also figured out how much you can do with a friend egg. I never ate fried eggs until I married my ex. I always found eggs to be rather gross. I discovered that if you break the yolk over something, it makes a sauce and you have an instant meal.

I cook sweet potatoes with onions on Sunday mornings and it usually makes 2-3 servings. I reserve one serving and eat it later in the week.

I know I should probably not waste my time each week making a meal. I should spend my time working on my app or working on my conference talks. But you know what, I don’t care. For the first time in my life I can control what I eat. I think both my father and my ex were wrong about how they ate. I think food is more than just what you put in your body. I think it can feed your soul. I think sitting down to a nice meal that you enjoy that you made yourself has its own healing properties. I don’t want to spend my life thinking I shouldn’t have eaten that piece of bread because bread is bad for you. I want to think about how enjoyable it was to feel the crust crunching between my teeth and feeling the butter oozing off of it and I scarfed it down. I don’t do that every day. I don’t want to be on my deathbed and think about all the food I didn’t eat because I was worried about losing five pounds.

It’s been interesting to me to slowly expand the boundaries of what I can do. The first time I made curry it was scary because I never really worked with raw chicken before. I never cut it up or dealt with cooking it properly. To be fair, braising chicken isn’t that difficult to do. Then again, the enjoyment of a meal shouldn’t be determined by how difficult it was to prepare.

I am glad I don’t have to eat another piece of undercooked pork or unreasoned beans and rice ever again. I can control what fuel I put in my body and knowing that I have more options than I did six months ago makes me feel awesome.
IMG_1918

The Trick to Forgetting the Big Picture is to Look at Everything Close-Up

Any sufficiently advanced technology is indistinguishable from magic.
– Arthur C. Clarke

Back when I was a programming student, my teacher Eric told me that over the years he has learned and forgotten a dozen programming languages.

At the time, it was inconceivable to me that anyone could learn and forget so much. Two years later, I am shocked to discover that he was right.

Two years ago when I really doubled down on learning iOS programming, I worked on it eighty hours a week. I was working through the Big Nerd Ranch iOS book. They had a series of about five chapters putting together a table view that would display a detail view populated by a singleton.

Every day I would wake up and code this over and over again. The first time I coded the examples, they made no sense. I typed a bunch of words that didn’t set off the compiler warnings, ran them, and magic happened. The second time was not much better. But by the third for fourth time, I began to realize, “Oh, I am creating this object because later when I load this detail view, I will be showing all the stuff I am keeping in this object. This is where it comes from.”

At the time Storyboards Interface Builder wasn’t particularly good for things. If you listen to many people online, their assessment of this situation has not changed. I used .xib files for each of my view and my custom cells and did all of my transitions programmatically. It took me weeks to wrap my head around all of these moving parts to figure out how they worked together. It wasn’t enough for me to just have something work, I really wanted to understand it.

Over the last year and a half, I haven’t really worked with user interfaces much. I had a contract job where there was no UI in Interface Builder because it was a legacy project from 2008. Then I spent a bunch of time running around like a chicken with my head cut off trying to figure out shaders, which are a tiny subset of a program. Then for the last eight months I have been working on porting another legacy project to Swift. We are just now getting to the point where I am working with interfaces again. It’s been over a year since I dealt with interfaces.

I am working on my first application. It is going to be rather limited to start off with, but I have plans to add additional functionality over time, so whenever I finally get it out, no, that is not the final product, more will come later, so don’t give me crap about it.

I am working with HealthKit. In HealthKit, there is a HKHealthStore that you are only supposed to have one instance of in your entire application.

I have been trying to figure out where to make that instance. I know that it needs to be accessible through the entire application and that you’re not supposed to make a bunch of instances of the same thing. I also know you have to pass it along to a lot of different places. I know many people don’t like singletons and I don’t want to create one of those, even though I am pretty sure HKHealthStore is a singleton. I was trying to figure out how all of the controllers can know about something while minimizing global state.

I talked to Brad about this a bit and he was talking about how it should be created in the root view controller for the application because that is responsible for the views that are controlled by it. As he was talking about all this stuff, it dawned on me that he was talking about the same things I was bashing my head against two years ago.

It wasn’t like I had spent a week mucking around with this stuff. I spent eighty hours a week for MONTHS trying to piece together how all this crap worked. I can’t believe that after spending all that time and pain on these concepts that they were buried in some far corner of my brain.

It also made me wonder about all the people who are learning programming now who use storyboards because, honestly, they are easier to get things done quickly. If you just push a couple of buttons and things happen like magic, how do you get a full understanding of what is actually going on? It makes me wonder about what else I don’t know about because I came into programming relatively recently. I know that my knowledge of memory management is bad because it was never something I had to deal with. I came in around iOS5/iOS6, so we had ARC and GCD and a lot of other things that abstract out a lot of the lower level programming stuff from you. Will understanding how root view controllers own detail views go the same way? I know talking to a guy at my first job he didn’t seem to understand this concept and it drove me crazy. I guess I have gotten to the point where I don’t understand it either.

It frightens me about how vast the knowledge is of everything that happens within the iOS ecosystem and how incredibly difficult it is to remember everything because really delving into the low level stuff means that you don’t know how to get things done quickly in the abstracted level. Sticking to the abstracted level limits your ability to do anything really customizable because you don’t see how the pieces fit together.

I am hoping that over the course of the next few years I can figure out a balance that works for me. I hope I can remember enough about how things work that I can deal with the abstracted layer without fundamentally forgetting everything.

The Demonization of Food

I had two incidents happen in the last 24 hours that have affected me on a deep, profound level that I would really like to talk about.

Last night I went to a friend’s house. We are beta testing a board game. Each of us is is going through some extreme life changes and we’re all trying to find ways of actually interacting with other human beings.

When I walked into his house, the heavenly aroma of fresh brownies hung in the air. His wife, who is also a friend, offered me a warm brownie and a glass of cold milk.

I honestly can’t remember the last time I was offered a warm brownie. I have had warm brownies at home, but there is always this cloud of shame attached to them. They get made because someone is really in the mood for chocolate and they are furtively consumed alone.

Having another person offer me a brownie with no associated guilt or feeling of failure associated with it was an incredibly moving experience.

The second incident was on the dead, forgotten social networking platform App.net. I commented about trying to figure out how to cook. I am living on my own for the first time in my life and I never really learned how to cook. I wish I had a cooking tutorial book for people like me starting off with some simple stuff that you then build into more complex stuff like you do when you learn programming.

Most people were very encouraging and enthusiastic about this goal. Except one person, who said: “Like you eat out every day prior to this? Unhealthy.”

That sound you hear in the background is the land mine this guy just stepped on blowing him to smithereens.

You have no fucking clue how pissed off I am about this comment.

I do not know why people in the country feel like they have the right to judge other people about what they eat.

My ex-husband and my father were both on extreme diets, but their diets were in direct opposition to one another. My father followed a mostly vegetarian diet with a lot of beans, rice, and bread. My ex husband followed a low-carb Paleo-style diet. Trying to coordinate a meal between the two of them was like the most bloody Holy War imaginable. Both were incredibly passionate that their way of eating was the right one, that the other person was an irresponsible fool, and that the other one would drop dead of a heart attack at a young age due to extreme obesity.

I don’t want to live like that. I have been living like this for the last thirty-three god damned years and I am fucking tired of it.

I like potatoes. I like pie. I like cheeseburgers. I like beans.

When I was a kid one of the highlights of my year was when my mom would bring home a French Silk pie from Baker’s Square. I told myself as a child that when I was an adult I would keep one of those suckers in my refrigerator and eat it directly out of the pie plate and share it with no one. Last month after my husband moved out of the house I brought a pie home and ate it directly from the plate. It was one of the most glorious, liberating moments I have had in my life of being able to eat like a savage and absolutely giving no shits about it.

I am incredibly disturbed by the amount of judgement we have about what other people eat. I am angry that we are making overweight people feel bad for being moral failures for being fat.

My Life as a Fat Girl

I have been on both sides of the coin. I have been fat and I have been painfully thin. I am a recovering anorexic. I starved myself in high school because I hated myself and I wanted to disappear but I was too afraid to actually follow through with taking my own life. I have hated my body for being fat even though I was incredibly thin, to the point of being unhealthy and unable to retain any body heat.

I was placed on a bunch of creepy medications when I was 16 that made me gain over sixty pounds in less than two years. As I watched myself going from a skinny to a chubby to borderline obese teenaged girl, I cried from despair and self loathing. I hated all of my skinny classmates and I was pissed at myself for not realizing I was skinny when I was anorexic.

I didn’t have a boyfriend for ten years and my parents and my doctors thought I was a lesbian. I tried to talk to my doctors about what was happening, but I got a sanctimonious “Eat less and exercise more” rather than an honest disclosure that weight gain was a common side effect of the drugs they were forcing me on. Right now there is a class action lawsuit against one of the drug manufacturers for causing Type-2 diabetes in people who were on the same medication I was because it caused so much weight gain.

The second I went off of these medications I lost most of the weight. I didn’t exercise more or eat less. I just stopped taking medicine I didn’t need to begin with.

One of the worst parts about being fat was basically being invisible. I have always spent way more time with men than women and I developed crushes on a lot of my classmates. I didn’t really like any of them, I just kind of thought I was supposed to have a boyfriend and I was sad that no one was attracted to me.

I would sit next to my crushes and listen to them bitch about how the hot girls in their classes didn’t notice they existed while they were completely oblivious to the fact that I had a crush on them. I think if they had known I liked them it wouldn’t have made any difference. They would have been dismayed that the only girl who liked them was the socially awkward chubby girl with the bad personality. I don’t think they liked any of the girls they crushed on any more than I actually liked them, we all just wanted some external validation that we were okay.

When I lost all of the weight and went back down to my anorexic high school weight in 2008, I thought it would be this life changing experience. It wasn’t. I still felt bad about myself, except now I couldn’t go longer than two hours without having to take a nap, half of my hair fell out, and my face broke out and wouldn’t heal. What did make a difference to me was finally finding something I was good at and learning not to worry about the other stuff. When I started focusing inward on what I thought and felt rather than what I looked like I found peace.

We’re Not Being Effective

In spite of the billions of dollars we have sunk into research about weight, we seem no closer to understanding how weight works. Don’t give me any of that crap about “calories in, calories out.” Yes, on some level it is calories in, calories out, but there are a lot of factors that affect how the calories out gets determined. Women retain more fat than men do because we need to to grow and make babies.

Guess what? No one wants to be fat. No one chooses to be fat.

Being fat is one of the last acceptable things for people to be discriminatory about. You can’t say racist things in public anymore, but it’s perfectly okay to shame someone for being fat. People are being cut open and having perfectly good organs butchered by doctors to avoid being fat. We have created a narrative in our culture where anyone who is fat is fat because they lack the willpower to stop shoveling donuts into their gaping maws. We can feel superior to them because we have enough restraint to be thin even if we aren’t actively doing anything about it. This Calvinistic belief is preventing any meaningful research from being done into how to effectively fight the obesity epidemic.

This isn’t helped by the mass media messages that we receive telling both men and women that we are not “enough” to con us into buying gym memberships to “fix” ourselves to some Photoshopped ideal.

If you are a “stereotypical” fat person who spends all day eating, you are probably depressed or have some other issue that is the actual root of your issues. The weight is just a symptom. We aren’t treating weight like a symptom. We’re treating it like a moral failing making it more difficult for people who are struggling to actually get help. That really sucks.

I am sick and tired of everyone I know feeling shame about food. I am sick of everyone I know judging other people for what they choose to eat.

I want to see more people like my friend offering warm brownies to people with no underlying shame. I like to feed people. I used to bake a lot and it gave me a lot of pleasure giving people food I made and seeing them enjoy it. Something I used to love is now a source of tremendous angst for most of the people I know. I want everyone to feel loved and accepted for who they are rather than wasting their lives feeling ashamed because they keep gaining and losing the same twenty pounds over and over again.

When I got married back in 2009 I was skinny and sick and miserable. I have gained back more of the weight than I would really have liked to. I don’t really care. I feel better than I did then. I know now that I will never look the way I think I am supposed to. I am curvy. I hate skinny jeans. They are an abomination. I can’t force my body to fit into a mold it doesn’t fit into, so fuck it.

I am going to wear shorts that show my thigh fat. I find them comfortable and I would rather be comfortable than worry about showing people that I am chubby. My mom tells me not to wear things that make me look chubby. Hey! Guess what? I AM chubby. I don’t give a fuck. I feel okay in my own skin and I am fine with who I am. I am trying to go running more because I enjoy it and it makes me feel better. If I lose weight cool. If not, then whatever.

I am drawing a line in the sand here. I am going to eat whatever I feel like eating. I will eat my food mindfully. I will think about each thing I put in my body and if I want to eat pie, I am going to eat pie. Life is too short to feel hungry all the time and to eat unsatisfying salads and to feel empty inside.

If you have enough leisure time to make your food from scratch every day, great for you. I don’t. I am out of my house close to twelve hours a day. I spend that time bashing my head against a lot of really difficult stuff that drains all of my energy. I come home and find anything I shove into my mouth before taking a bottle of wine with me to the bathtub to try and drink myself to sleep, which usually doesn’t work and I wind up waking up at 4:30 in the morning.

I want to learn how to cook. I find it rather intimidating. I lived with a guy who spent thousands of dollars on various kitchen gadgets and wanted to work his way through the Julia Child cookbook. I just want to make meatloaf and curry. I want to have a few things that I can throw together when I am brain dead and I need to feed myself. Eventually I would like to make food for other people who will enjoy eating it rather than giving me a lame excuse about how they’re on a diet and they can’t eat my food because it has butter and sugar in it.

I had tutorials to learn how to program, I don’t know why they don’t have a similar thing for adults to learn how to cook. Start simple and build various skills that can be used together to make increasingly complex foods. I don’t want some asshole online implying that I am a slovenly person because I lived off of grilled cheese sandwiches and tomato soup after my ex moved out of the house because I was trying to keep my head above water.

I hope that this post inspires people who feel ashamed about food to go out and eat something they want to eat without feeling guilty about it. Don’t be ashamed. Don’t feel like you are immoral because you ate a brownie. Life is meant to be lived. Eat the brownie. Enjoy the brownie.

A friend of mine said something that I thought was great. He said, “I don’t know when I will die, but I do know that when I die I won’t die hungry. I will die knowing the last thing I ate was tasty and delicious.”

Words to live by.

To Make Life Important

There is a scene in the last episode of the first season of Six Feet Under that asks an incredibly important question:

Tracy Montrose Blair: Why do people have to die?
Nate Fisher: To make life important. None of us know how long we’ve got. Which is why we have to make each day matter.

I think about this a lot in my more morbid moments, which I have had more of recently.

I have spoken about being depressed somewhat openly because I think it’s important to acknowledge that people get depressed. I think we tend to stigmatize people who don’t conform to what we think of as “normal,” which includes people with depression, the transgendered community, and people who experience things most others do not. I am somewhat dismayed by our society’s uncomfortableness with others having non-normative emotions and experiences.

I saw several amazing talks by Leon Gersing, aka Ruby Buddha. Seriously, if you ever have a chance to see him speak, DO IT!!

In one of his talks, he said he spoke to people about what their goal was in life. Many people told him their goal was to be happy. He laughed at that and said, “Good luck with that! Happiness is an emotion. Happiness is transitory. Happiness only has meaning because you have misery to counter it. If you’re happy all the time, you just feel normal.”

The Neurotypical Dance of Shame!

The Neurotypical Dance of Shame!

I was at the doctor and I saw this book: “Eeyore, Be Happy”. Eeyore is the perpetually depressed character from Winnie the Pooh. I was rather disturbed by our society’s willingness to ignore his feelings because they make us uncomfortable. We have an idea about how we want people to be and we don’t want to recognize the ugly reality that life is more complicated than we care to believe.

We want Eeyore to be happy because his depression makes us feel bad. We want everyone to be happy. I see similar feelings expressed by introverts who feel like we, as a society, value extroversion so they are supposed to conform to our expectations and feel incredibly uncomfortable with trying to be themselves.

I have spoken to a lot of people who feel that their natural emotions and feelings are seen as deviant and threatening who are incredibly depressed because they feel they are not “normal.” I try to do what I can to assure them that they are not creepy or deviant, but there is only so much I can do.

I have had people approach me about going to see a psychiatrist and getting on anti-depressants to make myself feel “better.”

I respectfully decline to do so.

I do not want to numb my experiences. I am going through a rather traumatic time and I don’t think taking a pill that blunts this experience is the best thing for me. I would rather experience my sadness so that when it alleviates and I feel happy again, it will mean something.

I know our society is uncomfortable with melancholy and sadness. I know we want everyone to feel happy all the time and not talk about our various disappointments and let downs. We don’t want to hear about people’s failures even if they learned far more from a failure than they did from a success. I don’t think that’s healthy. I think for happiness to have meaning, you need something to contrast it to.

I am not saying I don’t think anyone should take anti-depressants. I know if you are thinking of taking your own life that numbness is probably preferable to thinking that there is no point in going on any longer. I am just saying that it is my choice to not take anti-depressants. I am trying to use meditation and mindfulness to deal with my depression. It is my choice to fully embrace and experience my sadness. I want to experience my feelings in my own way and everyone is entitled to choose how they deal with their own lives.

I am bothered by the fact that we have an idea that there is only one way of doing anything. I think there are many ways of doing things and what might work for 100 people might not work for you. You should be able to choose how you experience your life and no one should pressure you to do something you don’t want because it doesn’t fit in with their narrow view of what is “normal.”

I feel incredibly privileged to be in a position where I can live my life the way that I want. I know many people are not so lucky, which is why I am speaking about this. It would probably be safer for me personally not to disclose this information publicly, but I feel that it is important to talk about it because if we ever want anything to change, we need to acknowledge that a problem exists. I am sick of seeing my friends pretend to be someone else because they don’t feel like they themselves are okay. I would like to change that.

Impostor Syndrome

Was reading this article about being a beginning female programmer today and I began to feel incredibly depressed. This is something I could have easily written a year ago. I still write quite a lot about how incredibly difficult it is to break into the tech industry.

One reason I don’t necessarily talk about a lot of sexism in tech is because, back when I was starting out, I didn’t know if I wasn’t finding opportunity because I was a woman or because I had no experience. I had an acquaintance go on Twitter and ask why, whenever he posted a job opportunity, no women ever applied for it. I asked him if he would be willing to hire a woman with less than three years of professional experience. His response was a horrified, “Oh god, no!”

Many people enter the tech industry because we keep hearing the desperate plea of companies for more tech workers, but once many of us get here, we realize there is a giant ravine between us and the people who claim they want to hire us.

I recently wrote a blog post about the incredible dearth of opportunity from the various places that claim they can find no workers. I run a CocoaHeads group combined with an NSCoder group for student entirely to try to help them navigate their way to their first jobs. I am doing this because I am not too far removed from the period of my life where I had no fucking clue how I was going to break into tech.

I recently attended CocoaConf in Boston. I went there last year. When I went last year, I was asked by several people what I was going to do when I got home. I told them I honestly had no clue. Everything I had worked for that year was to make it to that conference to take the Core Audio workshop and maybe network with some people. But you know what, that conference was a catalyst for my career.

One of the speakers there, Josh Smith, got me invited to speak at CocoaConf in Chicago back in March. He also was willing to help me try and submit a book pitch to a publisher. I made friends with Chris Adamson there, so when he was looking for a coauthor for his book, he reached out to me.

I can be a sanctimonious prig and go on here and talk about how I worked my ass off trying to learn programming and how I earned/deserve all of my current success, but that isn’t entirely true. I had parents with enough money to help me pay for going to Boston. I got my husband to send me to the first CocoaConf I went to even though that one didn’t immediately pay off.

I have tried very hard to make opportunities happen for myself and I have done my best to exhaust each and every one that I have gotten. I have had a few opportunities that I have massively fucked up. I have tried my best to learn from those and hope that another one will come along that I won’t massively fuck up.

I see people who are given opportunities that squander them because they don’t really understand what they are being given. I scream in my head at these people. They make my brain hurt. They make me feel like crying. Not only are they wasting their opportunity, they are also training the person who gave them that opportunity to stop doing that because people flake out on them. It really sucks.

I wish I could just say that I leaned in and that I made the most of my opportunities and feel proud of how far I have come in the last year, but I have to acknowledge the uncomfortable reality that I got opportunities other people haven’t and I have simply followed through with them where other people have not. It’s a nice story to say I worked hard, but it isn’t right to tell other people that if they do the same thing that stuff will work out for them, because I am honestly shocked that it has worked out for me.

So, thank you to all the people who gave me a chance and lent me a hand. I hope that you will continue to do so for other people in the future and I pray that someday I will be able to do the same as well.

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.