Author Archives: admin

What Will Your Verse Be?

Yesterday was the conclusion of WWDC 2017, and what a WWDC it was. It felt like everyone got what they wanted. Most developers got better stability in tooling and not too many changes to the core frameworks. We also got some breathtaking graphics and games APIs, like ARKit, along with easier integration for machine learning models, such as MLKit.

I watched the keynote in awe, my brain exploding with everything that was now possible in iOS. I had augmented reality on my wish list, so that thrilled me. But seeing how much love Apple gave Metal really touched me deeply. I have spent the last eight months working on a Metal book and I had feared that it would land with an unceremonious thump and no one would care about a three year old technology framework. The keynote gave me hope that Metal would be a continuing important part of Apple’s future for the time being and that my efforts were not wasted.

I downloaded the Xcode 9 beta with the intention of diving into ARKit. The beta still has not been extracted from its .zip file. I got home and immediately became overwhelmed by everything. There are so many new things. I tried to look at the docs but my head swam and I couldn’t deal with it.

The next day I started to see people posting their own AR efforts and a few days after that I started seeing ML efforts. I got very depressed. I left the keynote feeling like I was ahead of the curve and now I was already behind it again.

I feel we in the Apple Developer Community have been trained to jump on every new shiny thing Apple announces immediately. We all remember missing out on the Gold Rush when you could put out an app that you made over a weekend with some new piece of technology that Apple created and earn $10,000 in a week. The new Photos stuff allows us to do a vast but limited number of things and if you want your Photos app to be the top dog you have to get it out before anyone else does because you all have access to the same tools and the barrier to entry is low.

I want to be emphatic about this point: That is not the same situation with ARKit or Core ML.

My background is in the creative field. I wanted to be a film director and do sound design. My dream since I was a child was to have the Back to the Future experience of getting a box of books on my doorstep that had my name on them and to know I wrote a book. I have had that experience several times now and I feel quite blessed that I got to have that experience.

Anyone can write a book. We all have access to the same tools. There are fancy authoring tools like Ulysses and Scribner that cost $50, which is basically nothing compared to the cost of being an iOS developer. There are self publishing sites everywhere that will allow you to publish your book if no one else is interested, or if you don’t want to give up 50% of your royalties.

Just because anyone can write a book doesn’t mean everyone will write a book. Also, it doesn’t mean that someone else is going to write your book.

We still read stories that were written hundreds of years ago because they speak to something foundational about how we see ourselves as human beings. I read Tarot cards and the cards haven’t changed for a hundred years in spite of all of our changing circumstances because even though we all have iPhones and can connect at any given moment, what makes us human has not changed. We all worry about money. We all strive to advance in our careers. We all crave love. We all desire to have some kind of family, even if that family consists of friends and a grumble of pugs. Those aspects of ourselves don’t change.

A story by Jane Austin still resonates with us because we know how difficult it is to find another person you are willing to spend the rest of your life with. Romeo and Juliet still appeals to hormonal teenagers to whom every little bump in the road is the end of the world and for whom every relationship is forever. Unfortunately, the same applies to Twilight.

One reason so many people are appalled at the behavior of the Republicans right now in trying to strip tens of millions of Americans of their health insurance is because it goes against our script of what we think people should be like. Atrocities like the Holocaust speak to us on a deep level because it goes against our human nature of the way that we think people should behave. And it keeps happening. This is one reason The Lord of the Rings and Harry Potter have such staying power. They speak of ordinary people being placed in extraordinary circumstances, facing incredible odds, to attempt to defeat evil. The evil of Lord of the Rings was a different evil than we have now, but evil is never truly defeated. If you wanted The Legend of Korra, you know that light and dark are in an eternal battle where one can never truly vanquish the other.

Yin and Yang. Darkness and Light. Good and Evil.

Augmented Reality has me excited because it opens up another medium to tell stories. You could create an AR app that takes you around the Tower of London while you investigate the disappearances of the Princes in the Tower. You can stand on the site that Anne Boleyn lost her head and see the crowds of people observing the event. It makes these old sites and dusty facts come alive in a way that they can’t if you’re just reading about them in a book.

Technology in and of itself doesn’t make something compelling. Every Jurassic Park movie has dinosaurs, but only the first one truly feels special. When I think about Jurassic Park, I don’t think about the dinosaurs. I think about the characters and their story arcs. The overarching story arc is a tale of human hubris where a con man with a bunch of money is able to cobble together extinct animals by buying enough technology other people developed in order to create an amusement park to make money. He doesn’t think through the consequences of what he’s doing and is brought low by his own hubris.

The secondary arc of the film has to do with Alan Grant. The first thing you learn about him is that he hates computers and technology. Nothing in this movie is going to change that opinion. The second thing you learn about Alan Grant is that he doesn’t like children. So of course he is the one that is stuck watching the children after the park goes to hell. He goes through a fundamental change by having to interact with actual children and at the end of the film they snuggle with him as Dr. Sadler starts ovulating. It keeps Dr. Grant from just being the crabby guy who loses all of the good one-liners to Jeff Goldblum.

We’ve seen many other films in the last 25 years that have dinosaurs, including the most recent Jurassic Park last year. But none of these films have the satisfying feeling that the first one does. It has an encapsulated story and a grand theme of human scientific hubris. Everything goes to hell the way it’s foreshadowed. The park is destroyed by the unnatural force that was brought into it, and all of the people we actually care about survive. It’s a satisfying story that is enhanced by the use of special effects that are actually used quite sparingly.

One reason Pokemon GO was so successful was because it was building off of an experience that people have been emulating for 25 years, which was to pretend to live in a world where little pocket monsters live in the tall grass and can be captured and made into your friend. There is a sense of wonder about Pokemon GO in that you can take it into the normal world that you inhabit and you can lift the veil on the normal world and expose a fantastical world you never knew was there. Most people agree that Pokemon GO was rather repetitive and the game play wasn’t great, but it created an experience that was wanted by a large number of people. The same thing happens when people visit the Wizarding World of Harry Potter theme park.

One thing these have in common is that they are pre-existing properties that have large and established fan bases. Most developers aren’t going to be able to go out and create their own Doctor Who augmented reality application because of licensing issues. So that means that there really isn’t a hurry to go out and do whatever the first few AR apps are going to be. If a company like Warner Bros wants to release their own Harry Potter AR app, you can’t stop them. But you can think about what story you want to tell.

AR is a tool that is made or broken by the story that the creator wants to tell. You can create an interactive murder mystery or a tour of a museum. There are so many unexplored avenues of AR that the limit is what you can imagine and how much work you’re willing to put into creating that experience.

We have such tools to create and express ideas, yet few people seem to. I am guilty of that as well. I do hope that the barrier to entry gets low enough that I can spare some time to create some experiences for the joy of creation. But please do think about creating something for the joy of creating it and not because you assume that there are a wealth of new AR related jobs or a limited number of AR apps to be created and you must pursue the money train on this. That train goes over a cliff. We have so many media for self expression and no time to do it and no stories to tell. Life is filled with possibilities if you lift the veil on the real world and reveal the hidden one.

We don’t read and write poetry because it’s cute. We read and write poetry, because we are members of the human race. And the human race is filled with passion. And medicine, law, business, engineering — these are noble pursuits and necessary to sustain life. But poetry, beauty, romance, love — these are what we stay alive for.

To quote from Whitman: ‘O me, O life of the questions of these recurring. Of the endless trains of the faithless. Of cities filled with the foolish. What good amid these, O me, O life? Answer: That you are here. That life exists and identity. That the powerful play goes on, and you may contribute a verse. That the powerful play goes on, and you may contribute a verse.’

What will your verse be?

Goals for 2017

We’re about halfway through 2017. WWDC starts on Monday. I have been working on a book on Metal since about October. My life has been on hold since then as I knew I couldn’t really work a full time job and write a book on Metal at the same time. Metal is incredibly mentally comprehensive. It’s a multidisciplinary skill as you don’t just have to understand the framework, you have to have a large base of knowledge around linear algebra applications in order to have it do anything useful. Half of my book is about graphics and half is about machine vision/learning and GPGPU programming. So trying to learn all of these things and distill them into something that’s actually coherent to other people has been incredibly mentally exhausting. It’s been rewarding as well. I honestly don’t think I could do this while also working full time concurrently.

I am getting to the end of my time on the rough draft of the book and I need to figure out what I am going to do when it’s over. My plan was to try and knock this book out as quickly as possible and then hope I could use it as a portfolio piece to find a decent full time job that would hopefully allow me to work remotely. As I nearing the end of this process, I don’t really want to do that yet. Don’t get me wrong, if someone offered me a decent full time job that let me work from my house right now, I would accept it immediately. But right now that’s not what my main career goal is for the near future.

One of the wonderful things I got to do this year was attend GDC. I got to meet a lot of awesome game developers. As an iOS developer, I meet a lot of people who think game development would be cool, but it doesn’t pay anything, so they stick to learning Core Data and doing boring things that will keep them employed and pay the bills.

I don’t have an app out on the store. I have published multiple books (and yes, I do know how to code!) and have worked on many long term projects with a team of other people. But it bothers me that I have never published an app. Specifically, I want to publish a game.

I have been toying with game development for a few years. I have tried working through a few books on game development assuming that game programming would be exactly like iOS programming. It’s not. There are a lot of design patterns that are fundamentally different between iOS and game programming. Also within game programming, there are a lot of foundational differences between a platformer game and an RPG. Just knowing some foundational SpriteKit information is helpful, but it’s just the tip of the iceberg for creating something interesting.

I see game development as being similar to Metal in that just learning the framework isn’t enough. You have to have an idea about what you want to do with it in order for it to be truly useful. A lot of Apple’s frameworks are very Lego-block like in that you have a bunch of built-in methods to do whatever it is you want it to do. That can be satisfying to throw together, but it doesn’t give the same feeling of creation you get from doing something outside the box.

As of right now, I have two goals I would like to accomplish in 2017:

  1. Publish my Metal Book
  2. Publish a Game Made With SpriteKit

I know that my first goal will be accomplished. I don’t know about the second one. The second one depends upon me being able to line up enough part time contract work to pay my bills while also leaving enough time for me to dedicate to game development.

I am talking to several people who have created successful consulting companies about trying to figure out how to do this successfully. I have been consulting for the last year or so, but it’s been rather haphazard. I have been fortunate enough to know someone who needed a contractor at exactly the right time I needed to begin something else. I don’t want to continue to rely on getting lucky in order to sustain myself. I know if I want to do this long term I need to put time and energy into it.

So why am I writing this blog post?

I believe in manifest visualization. I have noticed that many people have amorphous goals that don’t really line up with what they actually want to accomplish. I went to school for audio engineering and a lot of people wanted to be rap stars. They didn’t want to be rap stars because they enjoyed making music, they wanted to be rich and famous. Being a rap star seemed like the easiest way to get rich and famous and they assumed that being rich and famous would make them happy. This lead to a lot of people being put into exploitive situations that did not make them rich, famous, or happy.

I believe having concrete goals you want to accomplish with no extraneous strings attached to them is the best way to approach accomplishing anything. My goal with the book was that I wanted to learn Metal and I wanted to have a book on Metal with my name on it out in the world. I have no illusions that it’s going to get me hired by Apple or propel me into a job where I make fuck you money. I don’t have any illusions about it out-earning my advance. If I never see another penny from it and it doesn’t change my career, I am still happy I did it because it’s something I wanted to do.

Right now my hope is that I can line up part time contract work (~ 20 hours a week) through the end of the year so that I can publish my game. I am hoping that by focusing on what I want to accomplish and having concrete ideas about how to do it that I will be able to reach my goal. I don’t think my game is going to earn any money and it will probably look very amateurish and get lots of one-star reviews, but I want to create it because it’s something I want to know I can do. I am praying that I can find a way to add value to someone’s company as a contractor that also allows me enough free time to pursue my own passions and interests.

I don’t know if I will be able to pull off what I want, but I at least have an idea about what that is. It does no good to get everything you ever wanted only to find out you wanted the wrong things.

The Metal Programming Guide Pre-Order

After many long months of work, “The Metal Programming Guide” is available for pre-order. Many people have been asking me questions and here are the answers to the most frequent ones:

  • The book is in Swift.
  • I don’t know if this will be available in an eBook format. I would be greatly surprised if it wasn’t. Every other book in the Red Book series has a Kindle or a PDF version available. If the book is available as an eBook, I believe it will be accessible.
  • I will be taking into account what happens at WWDC. As of today, the rough draft of the book is 75% complete. That translates to 15 chapters completed and five to go. I have a placeholder chapter for whatever new and shiny thing may be introduced at WWDC.
  • There is going to be sample code. I had some really tight writing deadlines and it was not possible for me to write the code concurrently with writing the book. I intend to spend the time between when the book is completed and when it’s released to ensure there is good informative sample code. I hope to continue to add to this sample code and maintain it as Swift and Metal evolve.
  • The overall composition of the book is about 50% graphics and 50% GPGPU programming. There are a few chapters in the graphics section that you will need to read if you’re only interested in GPGPU programming. Those are detailed at the beginning of that section.

One thing that I have learned while working on this book is that it’s impossible for this to be everything to all people. There are chapters in this book that have entire books dedicated to them. It wasn’t possible to write all of the implementation details of complex operations such as facial detection. My hope with the book is to basically prime the mental pump. I hope that if you encounter a topic you find interesting that I am giving you just enough information about it that you can somewhat wrap your head around it and seek out dedicated resources for it.

One of the biggest questions I have gotten over the last year is “Why should I know Metal?“ I am hoping that my conceptual chapters do a good job of answering that question for you.

I’m incredibly excited for this book. This is the book I have wanted to write since WWDC 2014. I thought that I waited too long and I missed out on being the person to write this book. I feel incredibly grateful for having the opportunity to take a year and really dive deeply into Metal. I knew since I started programming I wanted to learn and understand graphics. Getting to take that knowledge and apply it to thinks like data analysis and machine learning.

I loved math as a child. I felt like it was the language that helps us understand the Universe. I strayed away from it as a young adult because I had a bad experience with it and figured I was stupid and that it wasn’t for me. By bashing my head against vectors and matrices and seeing how you can use them to do amazing things has been a mental renaissance for me.

In life you don’t get a lot of opportunities to work on something you’re passionate about. I have been fortunate in my career to have several of these opportunities and I cherish every one of them.

Legitimate Complexity and The Art of Teaching

I have been working on a book on Metal for the last several months, since October. I am entering one final push and trying to complete the rough draft of this book by the end of June. That gives me about a week to write each chapter, which is really stressing me out and upsetting me tremendously.

The thing that is stressing me out is that I feel like learning Metal is like zooming into a fractal. Every time I think that I have a good grasp on the material, I realize there is a much more complicated layer of complexity underneath what I just learned. The complexity grows exponentially.

Metal is multi-disciplinary. It’s not just the framework. It’s all the things around the framework that you need to understand in order to actually create something useful. There are a lot of math concepts and a lot of 3D graphics concepts that most books on OpenGL don’t focus on because no one wants to write a 2000 page book that contains everything you need to know that absolutely no one will read.

I am frantically trying to edit myself enough to present a coherent chunk of information in each chapter without getting overwhelmed with all the things I don’t have time to explain or learn.

I’ve been an iOS developer for the last five years. I learned a lot of programming from Ray Wenderlich tutorials. Those tutorials are fantastic, but I feel like they give a false impression that anything anyone wants to do can be broken down into a 3,000 word step-by-step tutorial.

Right now I am trying to work through their 2D Games by Tutorials book. This book is a monster. It’s nearly 700 pages long. I have only ever gotten through the first 150 before I got overwhelmed and given up. I managed to get further than I had before, but it’s still incredibly dense. If you asked me what they could have gotten rid of to make it less overwhelming, I would be hard pressed to tell you.

A lot of things we do, especially when we’re starting out, are small and easily encapsulated. This lulls us into a false sense that everything we do will be simple and easily encapsulated. We develop sound byte memories where if something can’t be spoon fed to us in ten pages or less, then we get muddled and confused. This severely limits our ability to work on anything more complicated.

I am absolutely not picking on Ray’s site. It’s an amazing resource and the reason the tutorials are set up the way they are is because of this issue of us only being able to handle a certain amount of complexity. His site is working with how we process information rather than being a source of bad habits. I have nothing but admiration and respect for the writers on that team and I do not want this to come off as me bashing them or saying people who learn from that site are not real developers. I am simply talking about how for the last few years I have lulled myself into believing that everything can be broken down into easily digestible chunks when not everything can.

At this point I am trying to figure out how to expand my brain’s bandwidth so that I can tackle more complexity than I am used to. It’s incredibly difficult to do so. Not only am I trying to figure out something incredibly complex, I am also trying to process and package it into a digestible chunk by another person.

I have been reading a lot of graphics books and gotten frustrated at how abstract they are. I get frustrated that certain things are assumed and that nothing seems to be explained. I am now beginning to understand that once you reach a certain level of complexity there is a limit to how well you can convey that information.

This is an issue we are currently dealing with in our political sphere. Take the tax system for example. The tax system is an incredibly complex system that most people don’t really understand. When we go to vote for our representatives, it sounds good to say “Reform the tax system to make sure everyone pays their fair share,” but how to actually implement that is complicated. Something that is simple and sounds fair usually winds up being worse that the current system that is too complicated to explain in a 30-second sound byte on the evening news.

In programming we talk about precision and elegance. Those are concepts that do well in incredibly controlled and contrived situations. When you have to deal with things in the real world, stuff gets messy. There are edge cases. Things don’t behave predictably.

For a “simple” example, look at dates and times. There are 365 days in a year, 24 hours in a day, sixty minutes in an hour, and sixty seconds in a minute. Except when there aren’t. Every four years our year has 366 days. Then you get into leap seconds. Then you have Einstein’s Theory of Relativity where clocks that are shot into space are slightly off from their counterparts back on Earth. Things get wibbly wobbly awful damn fast and this should be a straightforward example.

I get that the world is so hopelessly complex that if we tried to understand the full scope of just how little is standing between us and total anarchy our heads would explode. We simplify complex systems as a means of being able to just cope with every day.

Right now I am frustrated because I am just beginning to grasp something that is hopelessly complex, but I don’t know how to package it in a way that is accessible to a group of people. I want to write a Rosetta Stone where someone can read through my book and totally understand a complex system, but that really isn’t possible. It would take a hundred pages to walk a reader through creating every piece they need to get a minimum useful thing up and running.

I am doing the best I can to present the information to someone in a way that will help them figure things out. I am trying not to be hard on myself for not being able to do an impossible thing. I know with several years of practice and working with this, that I can master it. I have to accept that there is no magic book that will intuitively teach you everything you need to know in order to do something legitimately complicated. I can just try to do my best to present what information I think your brain can handle and hope that you can find the next step to figure out the rest for yourself.

Moneyball: The Art of Scouting Programming Talent

Back when I was in London I suffered from a nasty bout of food poisoning. I wound up spending a lot of time in bed hiding in my hotel room. I got bored and looked for something to watch on TV. A channel was playing the movie Moneyball.

I am not a huge baseball fan, but I am interested in data and statistics, so I started watching it not really knowing if I was going to like it or not. It wound up captivating me in a way I didn’t think it would.

It was less about the statistic and more about the story of the central protagonist, team manager Billy Beane. Billy was scouted for the major leagues as a high school student and signed to join the Mets at age 17. His career was lackluster and he never really lived up to his potential.

The movie only briefly covered this backstory, but it fascinated me. Why had he not lived up to his potential? Did he just peak too early? What happened?

I finally bit the bullet and bought the book the movie was based on and I got a better overall explanation of what happened. Billy Beane was one of the most intelligent kinesthetic learners of the century. He was capable of doing things no one else thought possible and making them look easy. His physical talent and capabilities were beyond question.

The issue was his mind.

He never learned to cope with failure. As a high school student, he was always so much better than everyone else that failure was never something he thought much about. When he started playing against people older and more experienced than he was, he would strike out and his batting average dropped. He was unable to cope with this failure, so it manifested in explosive rage and he developed an inability to perform. If his first at-bat went poorly he was done for the rest of the game. He was afraid of embarrassment. He modified his batting to try and not strike out as often, but it worked against his natural athletic gifts. The only person keeping Billy from being a super star was Billy himself.

This story really strikes a chord with me. I speak somewhat openly about having mental health issues. I have had multiple jobs over the last few years where the work environment destroyed my ability to function. I would sob because I knew the programming knowledge to do a task was locked away in a safe somewhere in my mind and I could not access it because my mental health was in shambles. It’s so hard to tell someone that this isn’t you. You know you can do better, but you just can’t right now because your mind is interfering with your ability to function.

Over the years I have learned some coping skills. I know how I work best and I try as best I can to tell people I work for how I work so that they don’t break me. Some of them respect that. A lot of them don’t. I honestly don’t understand why a company would spend so much money on programmers and then make dick moves that destroy their effectiveness. The only explanation I have is that they don’t think of programmers as people. We’re a disposable resource. We’re like race horses. They are all excited about us until we break a leg, then they take us out back and shoot us and go out and buy a new one.

There was another aspect of the book that resonated with me. I have had very bad experiences with jobs where I feel like the people who hired me are waiting for me to fail. They look for any indication that I misrepresented myself or that there is some reason I can’t do what they want and they cut their losses and let me go. I see other people who are completely incompetent who linger forever and continue to get another chance in spite of their past record of failures.

One of the points of the book was talking about how baseball scouting has always been done. A bunch of guys will travel around watching high school baseball games looking for talent. They have a preconceived notion of what a star baseball player looks like. He has to be tall and muscular and have the right look. He has to have the right tools. He has to have a presence.

There was a whole chapter about the scouts sitting down with the economist who did the statistics going over who the scouts wanted and who the economist wanted. Most of the players the economist wanted horrified the scouts. They were all too fat, or not tall enough, or they would throw funny. It didn’t matter what their past statistics said about their ability, they didn’t have the right look. The scouts couldn’t imagine them being the next big thing.

Billy Beane was allowed to languish in baseball for ten years in spite of a poor track record of success because he had the right look. Everyone was waiting for him to shake off whatever was wrong with him so that he could be the player everyone imagined he could be. Baseball scouting is less about what someone has done and more about what you can imaging them becoming.

This applies so much to technology as well. We have the myth of the 20-year-old programmer in a hoodie who writes code that changes the world. We have ingrained in ourselves what we think a programmer is and how they’re supposed to look and act. If you’re a venture capitalist, you’re not looking at a track record of past success, you’re looking for someone that feels right. You look at what you imaging that person can be rather than who they are.

Having several failed start ups is seen as a bonus, but only if you’re the right kind of person. People are willing to keep giving you chances because they have a gut feeling that you are going to become something even though you have no past track record to back it up.

If you’re black, or female, or trans, or some other underrepresented minority group, it’s harder for venture capitalists to imagine what you could become. It doesn’t matter as much if you have a solid business plan or if you’re doing something no one else is doing. If it’s something that is outside of their scope of understanding, you’re not going to sell them of the fantasy of being Peter Theil investing in Facebook.

This is a larger problem even beyond the scope of who gets funding and who doesn’t. We are sold on the idea that a programmer looks and acts a certain way. Everyone has to be a 10x programmer. Everyone has to work 80 hours a week. Everyone has to be passionate. Everyone has to keep learning the next hot thing because if you don’t you’ll be left behind. Everyone has to be under the age of 30 because young people are smarter.

No one can ever be wrong. No one can ever admit to not knowing something.

I think one reason we have so many toxic hostile arguments about code is for many of the same reasons Billy Beane did not pan out as a baseball player. People can’t ever be wrong. People can’t fail. Our self worth is wrapped up in being the smartest guy in the room. We can’t tolerate ideas that are different from our own because if we’re wrong, then who are we? Are we those losers who refused to learn object-oriented programming in the 90’s who can’t find jobs now? Are we those people we make fun of who write JavaScript and copy and paste code from Stack Overflow?

I think we make the mistake of thinking that a lot of the toxic behaviors we see come from a place of strength. It’s quite the opposite. It comes from a place of fear. We fear being displaced. We fear being wrong. We lash out at minorities because we benefit from looking like what a programmer should look like and the fewer people we have to compete with, the easier it is to be at the top of the heap (or the stack).

I have had people who are less talented than I am sabotage me at work because they see their job as a zero sum game. You are either the smartest person at the office or you are not. It’s a competition. If someone knows more than you do, then it diminishes your sense of self and you must get rid of the person who is challenging your identity.

We are limiting what people are capable of by forcing them to put on a facade that they are never wrong. We are creating a more toxic environment by conforming to these ideas of what a programmer is supposed to look like. We think we’re special unique snowflakes, but we’re not. This is a problem everywhere.

We need to stop breaking people by trying to force them to conform to a mold that was set fifteen years ago. We need to be open to people who look different and have different ideas. We need to stop making people feel inadequate if they are not the smartest person in the room. We need to stop being hostile to people who are different and waiting for them to fail while giving a pass to the people who look like us because we imaging what they could be. That’s a fantasy, not reality. They’ll never become what they’re capable of if we don’t challenge them to think differently.

Helping Hands

Back in November I disconnected my Facebook account. I had hoped that when the 2016 presidential election was over that people would be able to go back to talking about life as we knew it. I missed talking about computer programming and science fiction. Every single day was filled with anxiety by everyone about what the future would bring. Things got progressively worse after the election in a way I didn’t think was possible. I had people who voted the same way I did viciously attacking me for not completely supporting their views 100%. It got too demoralizing to deal with everyone anymore because everyone was so angry that I simply quit. I couldn’t deal with it anymore.

This left me rather lonely. I started writing a book back in October. I find it difficult to leave my house regularly without completely exhausting myself. I certified my pug Delia as a service animal because I found dealing with the outside world too difficult to cope with. I don’t have any local friends anymore and it’s difficult to find people to hang out with.

Back in March I had two rather intimidating conferences I was attending. One was GDC. The other one was iOSCon 2017. This post is about my experiences with these conferences and how important our community is to me.

GDC 2017

GDC is by far the largest conference I have ever been to. I was fortunate enough to be accepted as a conference associate. I got to attend the conference in exchange for helping to make sure the conference runs smoothly. My first conference was Snow*Mobile in Madison. The organizers of that conference let me attend the conference in exchange for volunteering to help run the conference. I got to hand out conference badges and meet the speakers and it was an invaluable experience. I always prefer to not just attend a conference and I was incredibly grateful to be accepted as a conference associate.

Delia and I greeting at GDC. People asked where the pug was later and were sad she wasn’t a fixture at the front.

I was also afraid.

I was afraid if I told them that I had a service animal that they would think I would be unable to perform my CA duties. I should have been up front and told them immediately, but I figured if it wasn’t okay to bring Delia that I would leave her home and try to find a way to cope.

I didn’t need to be worried. Everyone in the CA program was absolutely fantastic about having Delia there. She and I were accepted by everyone. A lot of people took comfort in having her around and it really made that conference special to me. I love my pug, but I am biased. I worried that people would think that I was pulling a con and I wasn’t really disabled because I don’t have a physical disability. I worry that people think I am like Paris Hilton carrying my dog around just because I have privilege rather than her being something that helps me cope with crowded noisy situations. Having so many people enjoy having her around really touched me in a profound way.

Someone was spoiled with all the pettings.

Getting to attend GDC was a life changing experience for me. I met some of the greatest people ever. I feel incredibly blessed to have been able to connect with such a fantastic group of positive and accepting people. One of the big things they look for in a CA is someone who is friendly and positive. A lot of people there acted as mentors to students trying to break into the game industry. The CAs were a creative and colorful group of people. I felt like I could completely be myself and that it was just fine. I take pride in my weirdness and my craziness, but I do feel a lot of pressure to tone it down and conform at iOS conferences.

When I got home after the conference I felt surprisingly energized. I realized when I got home that I hadn’t heard anyone talking about politics or arguing about it for the past week. Everyone I interacted with was positive and happy to be there. I made a lot of new friends. I got to be in a completely non-toxic environment for a whole week and it was amazing.

Someone drew a picture of Delia and put it on the bulletin board. I may have cried a little.

iOSCon 2017

iOSCon was a different experience. It was not as large as GDC, but it was in London. This was my first overseas conference. I had concerns about the flight over and getting around. I also could not take Delia with me. I was afraid that I would not fulfill all the correct paper work and she would be taken away at the border or I would be denied entry into the country.

I also did not have any cellular service. I am not comfortable with public transportation because I live in rural Wisconsin. I was terrified of getting lost and not being able to get to and from my hotel. I have wanted to visit England forever, but I was terrified of trying to actually visit anything.

One of my friends, Paul Hudson, was going to speak at the conference and lives in Bath. He invited me to take the train out there and visit the sites. I was terrified of getting lost on the train. I had no idea how to get anywhere. Paul sent me incredibly detailed directions about where to buy a train ticket and how to get there. His directions helped me figure out how to get around Paddington Station when I arrived off the plane and was suffering from jet lag. I would have freaked out more than I actually did had I not been forewarned about navigating around.

When I got to Bath, he showed me around. I didn’t have to worry about referencing a map or getting lost. Getting to visit Bath was the highlight of my trip. If he had not reached out and taken the time to make me feel comfortable about going out there I never would have gone. I would have spent even more of my time in London hiding in my hotel room watching Law & Order reruns that miraculously still play on British TV.

I fulfill my life’s purpose by visiting one of the world’s oldest baths in Bath.

Helping Hand

I have trouble doing things that don’t bother most people. One thing that frustrates me when I go to San Francisco is that people invite me to go out to dinner and don’t do anything to help me get there. Sometimes they don’t even tell me the name of the restaurant they’re eating at. I wind up staying in Cupertino a lot, and the idea of hopping on the CalTrain and trying to figure out the MUNI and the BART to get to a location that no one will even tell me about throws me into a shut down.

I don’t like that I can’t do the same things everyone else can. I feel embarrassed having to explain that I curl up in a ball crying if I encounter multiple public transportation systems in one place when I don’t expect to. Everyone else knows what they’re doing and they get aggressive when you’re in their way because you’re freaked out and don’t know what is going on.

If people want me to do things with them they need to do a little more to help me get there. I need explicit directions. I need addresses. Having the name of the place is helpful too. It’s not that I am incompetent or lazy. I just need more help.

I don’t expect people to make the extra effort to help me spend time with them. Whenever someone does, it always means a lot to me. I know our community values being able to go off on your own and do things without help, but social stuff is really hard. It’s hard to go to a place you have never been and to deal with a system you don’t understand. Having a modicum of empathy for someone else and reaching out to do slightly more for them when they have trouble doing it for themselves is always unexpected and greatly appreciated.

There are so many small things that people can do that take just a few minutes out of their day that can mean the world to someone who has trouble doing things for themselves. My experiences this year are making me more aware of what I can do to be a positive influence on the world around me. With so much negativity out in the world right now, small acts of kindness really mean a lot. We’re all in this together.

Thoughts on Being Single for the Second Time

About two years ago I went through a divorce. I had known my marriage was over years before I was able to finally pull the trigger on it. I had actually tried leaving once a year earlier, but I was forced to go back to my husband because I wasn’t able to sustain myself quite yet and he promised to change. He didn’t and we followed through on the second attempt.

My ex-husband had an OKCupid account set up months before we filed for divorce the second time. He had his first date less than a week after he moved out of our house. A year after he moved out he had already replaced me with another woman with long red hair, two small dogs, and mental health issues.

During the year or two after our divorce I was a complete wreck. I was in much worse shape than I thought I would be. I had wanted the divorce. Our marriage was over. I thought I would feel free to finally do all the things I wanted to do. Instead, I felt like a death had happened. I had never been responsible for balancing my own budget and I had no idea how much money I earned or how much my bills were.

I had multiple rooms in my house that I simply never went into. My house felt incomprehensibly large even though it’s actually quite small. I used to have dreams that I was walking through my house and it was a giant labyrinth of gardens and piano rooms that I never knew were there because I only stayed in one small corner of my house.

The idea of trying to date anyone during this time seemed absolutely incomprehensible. I consistently see men who have recently gotten out of relationships try to get back on the horse and date again immediately. I don’t understand how they can do that.

I haven’t been on a date since I was 16 years old. I was diagnosed with bipolar disorder and was put on medication that made me gain sixty pounds in less than two years. My medication triggered panic attacks and caused a lot of mental health issues alongside the ones they were supposed to actually treat. I was a chubby, socially awkward woman with no social skills trying to navigate a social environment run on alcohol, which I couldn’t drink because of my medications.

I felt like having a boyfriend would give me some kind of validation that I was actually a person worthy of being liked. I used to develop crushes on other socially awkward guys who were less attractive than I was because I thought that they were low enough that I could get them. Most of them were either too socially awkward to return my advances or were appalled that a chubby socially awkward girl thought she was good enough for them while they drooled over anorexic teenagers with daddy issues.

Boys in college had been sold on the idea of the hook up. They had been told all through high school that when they got to college it would be a never ending stream of pussy. None of them wanted a relationship. They wanted to have sex with you and never speak to you again. I literally had guys come up to me and say to my face, “I hate you. I know you hate me. We should have sex. It will be fun.“

I was too priggish to give into any of these situations, but other girls I know did. They slept with guys to give themselves a sense of personal validation and were always disappointed when things never went any further.

I left college without having a boyfriend. I also left college without having any kind of stable career path. I was faced with a future alone with no meaning. Then I met my husband. We’d known one another since we were children. We were both tired of trying to find someone. I needed health insurance and to move out of my parent’s house. I thought I knew everything about him. I was terribly wrong and if you ever meet me IRL ask me about it and I’ll give more details than I am willing to give here!

After my misadventures in college, this seemed like as good as it was going to get. Sure, we weren’t really attracted to one another, but he would look me in the eye and talk to me. That was an improvement.

Things were fine for the first two years. Then he got weird. He started spending money we didn’t have on shit we didn’t need. I decided to go back to school for computer programming. I wanted an actual career and not just the menial white collar jobs I had held since we got married. I wanted a sense of self worth and to do interesting work I was proud of. I told him that if he would support me for two years that I could start bringing in four time more money than I had before. We could start a business. We could be partners. We could have our freedom and independence from The Man.

He wanted his freedom, but he didn’t want to work for it. It was the biggest disappointment in his life that he wasn’t born wealthy. This ate at his soul. He was bitter and resentful of having to go to work to earn a wage. He was always scheming about how to get rich quick without any effort. He would bully me about how I wasn’t developing the next Candy Crush. He would come to me in tears and tell me that he just needed me to earn a million dollars a year. He could find a way to be happy on just a million dollars a year.

He got incredibly paranoid. He was convinced I was cheating on him. He would follow me to networking events he previously had no interest in. He would skulk around behind me nursing a glass of scotch, watching me as I tried to network. He would go over and yell at me in front of people I was trying to connect with professionally. Once I came home from a business meeting to find him in the garage activating the GPS on my phone so he could track me down and physically bring me home. He would lay on the ground behind my car to prevent me from leaving the house.

He was jeopardizing everything I had worked so hard to accomplish and I simply could not tolerate his behavior anymore.

I feel I have been left in the lurch. I talk to other people who have built their careers on writing books and doing conference talks. I ask them for advice about how I can build this as a sustainable career while still paying my bills and I always get sheepish looks and the response, “Well, my wife has a really good job with benefits.“ I hear that and my heart sinks. I keep seeing and hearing that the career path I want to take can only be sustained by having a supportive partner who is willing to shore up the other person’s financial deficits.

I feel a great deal of anger at my ex-husband for destroying our marriage because he was unwilling to give up his $10,000 a year vacation habit. I have been borderline unemployed since September and I am just now reaching the end of my savings. We were $30,000 in debt with two incomes and bringing in over six figures while we were married because my ex couldn’t do without picking up an expensive hobby every couple of months. I had a plan that would have been mutually beneficial for both of us and now I am spinning plates frantically hoping that I can achieve what seems like the impossible all by myself.

I have no illusions about my book. I am writing about an incredibly niche topic that has almost no job prospects. I keep hoping if I develop skills around graphics programming that I can break into that area of expertise and have a long, stable career build on something most people don’t know that doesn’t fundamentally change, but I don’t know if I have enough time or runway to slog it out. I’m afraid of taking a dead end job and waking up seven years from now to find I didn’t keep up with the new changes in tech and that I am unemployable. Having the buffer of another person in case I made a terrible mistake and failed eased my mind. Having no safety net and throwing myself into a chasm right now is deeply worrying to me and I don’t have anyone I can even talk to about my anxiety because I am completely alone right now. Except for my parents. They have been fantastic, but I hate having to go to them with my hand out.

Being single at this point in my life is markedly different than it was when I was younger and I had no career. I am doing my best to not see getting remarried as an escape route for the path I have chosen to take. I would love to have a supportive partner around to help me out so I don’t have to do this alone, but having survived an unsupportive one, I know it’s better to be alone than live through that again.

I keep feeling like I am supposed to move on. Join OKCupid or Go to speed dating. Relocate to San Francisco or Seattle to get access to a larger pool of eligible men. But I keep getting this nagging feeling that things have not fundamentally changed much since I was in college. Reading horror stories about how Tinder has basically supercharged the college hook up dynamic worries me. Seeing how many men are basically jumping into relationships to avoid being alone worries me too.

I like working. I see so many people doing frivolous crap all the time that I worry if I did move to a city and started trying to be social like everyone else that I would stop dedicating myself to my work. I would stop pushing and get left behind. It’s so hard to find another person who also likes working who is willing to just be in the same space I am while we’re both working.

I want to be with someone who wants to be with me. I would love to have someone to cook for besides just myself. I would like to have someone to build robots with me in my basement and then cuddle on the couch watching Star Trek. I don’t want that badly enough to grasp onto anything with a dick that comes along because I don’t want to be alone. I feel I have progressed from my college aged self who felt like having a boyfriend would be a validation to someone who is comfortable with themselves but would like to find another person to share things with.

I’m not willing to be with someone who did a visual assessment of me that I am just hot enough that they’re willing to have sex with me but they think I am unattractive enough to be approachable. I don’t want to be with someone who thinks that relationships are parking spaces and that you are supposed to always be parked somewhere or on the lookout for one.

As it looks increasingly like this will never happen, I am trying to accept being alone. I won’t settle for anything less than someone who likes me as a person and who I actively want to be with. There might be no one out there like that and I need to be okay with that.

Being alone sucks. But being with a destructive and unsupportive partner who doesn’t love you sucks more. It’s important to have a creative and fulfilling life rather than waiting for it to just happen to you. For better or worse, I am living a life I want to lead. I have no idea how sustainable it is in the long run, but for now I’m being true to myself. I am trying to have faith that if I do that then things will work out. Doesn’t mean I don’t indulge in feeling sorry for myself every once and a while.

Enough whinging. Back to work.

Persona 3 vs Persona 4

I am doing a lot of travel at the beginning of this year. I just got back from GDC and I am flying to London for iOSCon in a few weeks. While I was at GDC I was staying with a friend who generously let me squat on her couch. Her couch was an hour away from San Francisco by train, so I knew between my flights and all the time spent on trains I needed to find something to keep me entertained and occupied.

I couldn’t work on the plane or the train because I am sensitive to motion sickness. That crossed out reading too. The best option I could think about was playing video games. I didn’t want to take the 3DS because it has terrible battery life, so that left the PS Vita.

I decided to replay Persona 3. I finished up Persona 3 a little over a year ago. It took me 75 hours to get through it the first time. I really wanted to replay it again, but I thought it was stupid to confine myself to one game, so I have spent the last year trying to find something I like as much as Persona 3. I haven’t found it yet. And yes, that includes the venerable Persona 4 Golden.

I know this is probably an unpopular opinion, but I like Persona 3 better than Persona 4. I was told by many people to play Persona 3 so I could appreciate how much better Persona 4 was. I held off on Persona 4 for a bit while looking for another game, but I couldn’t wait anymore and started playing it. I was disappointed.

I have been trying to figure out why I don’t like P4 as much as P3. Since I started replaying P3 I have a better understanding of what it is about P4 that I don’t like as well. Fair warning, I am only about 20 hours into P4, so it’s possible that some of my gripes might be rectified.


I like the main dungeon in P3, Tartarus, better than the mechanic in P4 where you enter the dungeon through the TV. I was a huge Buffy fan, so the idea that your school is the base of all evil is a perfect metaphor for being a teenager.

I liked that there was an explanation about why the Shadows show up at the school. The Shadows are a result of an accident at the Kurijo Group. Mitsuru’s father was responsible for the accident. Yukari’s father died in that accident. It felt like people were being drawn to this problem because of their pasts.

In P4, you enter the dungeon through the TV. There seems to be no explanation about why these people in this one town are able to enter the TV to go fight shadows. It’s a small town and people just sort of happen to be there. There was no grand plan to right the wrongs of the past. There was an epic component missing from the grand scheme of things. I get that it’s supposed to be a less heavy and more fun iteration of Persona, but if you’re delving into Jungian psychology and the collective unconscious, I did appreciate the epic scope provided by P3.

Getting flashbacks to college

I also really liked that the students in P3 live in the dorms and there don’t seem to be any grown ups around. It really scratched a mental itch to get to have an immersive Japanese high school experience with all its stereotypes. Playing a game about a bunch of kids in a small town who live with their parents reminded me too much of my own real life to be a fun escape.


Persona 3 Combat

I don’t really like the tweaks to the combat system in P4. I don’t know why, but it’s difficult to see what various Shadows are weak to. In P3 I can directly control all of my players and get a good overview of what each shadow is weak to. When I do combat in P4 I don’t control my players and things happen so chaotically that I don’t actually know what moves my players made against the Shadows.

I also miss having the portals on various levels to take you back to the entrance in P3. In P4 you need to hold onto a consumable item that you must use to get back to the entrance.

All in all, I just found the combat in P3 to be more intuitive than in P4.


Completing a quest for the Fox and leveling up social link

One component in both P3 and P4 is that you go on quests and receive rewards. The quests are a side component of the main gameplay.

In P3, you receive a list of quests from Elizabeth/Theo. They’re all neatly gathered in one place. You get a crazy response from Elizabeth. It’s fun to complete the quest just to hear what she is going to say. A lot of the quests can be completed just by doing dungeon crawling. They’re not that hard to figure out.

In P4, your quests are spread all over the place. Unless you have an online guide, it’s practically impossible to find and complete every single quest. One is from a teacher wearing Egyptian wear hiding behind a corner. It’s difficult to keep track of all the quests and how to complete them. I believe some of the quests advance a social link, which makes it vital that you complete some of them.

I wound up playing through bits of P4 on the plane when there was a glitch on my memory card. I bombed nearly everything I did in the game because nothing was intuitive. I couldn’t look up the answers online and I failed at everything. If this was a normal game where dying is a way of learning, that would be one thing. Playing this game is an 80 hour commitment and I don’t want to shoot myself in the foot by screwing up all of the quests when I want to play for a few hours when I don’t have access to the internet.

I get stressed out trying to keep track of the quests and so I usually wind up ignoring them. Sometimes I will look something up and find there are ten things I missed. I get that some people might really enjoy just how many side quests there are and how much there is to do, but I don’t like the idea that I have to sit down with an online guide to accomplish everything happening in the game.


Scooting to the next town over, just like high school

Going along with having too much chaos with the quests is expanding the skills requirements.

In P3, you have three skills you must max out: Academics, Charm, and Courage. The first time I played through I didn’t understand that you had to max out all three of these. I focused on Academics because I knew we had midterms to study for. This lack of understanding bit me towards the end of the game as there were several social links I never finished because I didn’t have the requisite skill level to begin the social link.

P4 doubles the number of skills to six. In addition to that, it adds gardening and fishing and scooter riding and… It’s difficult to grasp the advantages of leveling up one skill over another. In addition to these skills you have to kill Shadows and level up your social links.

I get that part of the appeal of P4 is that there is more of everything, but I find it personally overwhelming. I find it difficult to know what to do on any given day and I feel like I am playing the game wrong because I don’t know what my character is supposed to do. I have major FOMO no matter what I do.

Female Protagonist

Female Protagonist and team leader

The last bit I would like to bring up is my appreciation that the portable version of P3 has the option to play as a female.

It shouldn’t make that much of a difference, but playing as a female character completely changes the feel of the game. The first time I played through as a female character I found Junpei to be creepy because I thought he was hitting on me rather than being friendly. This time around, knowing that he is not an option for a love path, I am really enjoying my character’s friendship with him.

You get to have the option to use Elizabeth’s brother Theo as your liaison with the Velvet Room. It’s fun getting another character to interact with.

Right now I am playing another game, Rune Factory 2: A Fantasy Harvest Moon. That game consists of two generations, where most of the main gameplay happens in the second generation. In that generation, you have the option to play as either male or female, but you don’t get that option in the first generation. Your main goal in the first generation is to find a girl to marry so you can knock her up with what will be your character in the second generation.

Playing as a boy puts me in a position I don’t like being in. I know the only goal I have as my character is to find the mother of my child. The characters are paper thin because they’re not really the point of the game, so I find myself asking questions I don’t like. Do I marry the girl the game wants me to marry who will never marry anyone else if I don’t marry her? Do I steal the shy girl who talks through her doll from her boyfriend because he’s an asshole? Do I try to marry the rich girl because she’s the hardest one to marry and thus prove my status? It’s a really creepy and superficial way of looking at things and it worries me that this is how boys see relationships in real life. Like, we’re not people. We’re various status symbols or a means to an end. Playing like this really depresses and upsets me. I know logically that it doesn’t make a whole lot of sense to give deep and complex personalities to something with such shallow gameplay, but having to think that way really upsets me.

P4 was remade for the Vita as Persona 4 Golden. They made a fighting game with the Persona 4 cast, along with a dancing game. These characters have been in so many games and done so much fan service that it really bothers me that they figured it just wasn’t worth it to add a female protagonist. Being able to play as a female is much more comfortable and it’s an indication that the creators care about making a nice game for everyone and not just the boys.


I will admit that the story and characters in P4 are better than P3. I know that the characters are a vitally important part of the game, but it’s still a game. It’s not a visual novel. It’s nice to do well in the game and constantly being confused as to what to do. In my opinion, P4 is too much of a good thing. I have preordered P5, so we’ll see how that one stacks up. For now, P3 for the win!

You Can’t Fix Other People

I started working on programming contracts three years ago. I started my first contract all bright eyed and bushy tailed. I was eager to prove myself and get things done and show myself to be a 10x programming ninja.

That didn’t happen. At least not right away. Things were really disorganized. There were broad ideas about things people knew they wanted to fix, but no real strategy about how to fix them. Depending on what day you were talking to the client, you would get different answers about what something should do or look like. It changed constantly. It was impossible to sit down and complete a task because it was likely the client would change their mind and it would need to be changed or scrapped altogether. On another contract I worked on the entire concept of the app changed three times over the course of five months.

I had a more senior developer I was working under that gave me some really valuable advice. I expressed my frustration at not being able to get anything done and my worry about being fired. I asked why someone would hire a contractor to work on a project if they didn’t know what they wanted to get done. He told me that is exactly why people hire contractors. They hire them when they are at a loss as to what they want to get done. They think the contractor will be some magic bullet who will somehow read their minds to figure out all the things that need to get done for the client so they can break through the mental berries they have preventing them from doing things.

I have talked a bit about my mental health issues. All of my mental health issues stem from this phenomenon. Inactivity is corrosive to my mental health. I have had several jobs/contracts/projects I have been brought onto where people didn’t know what they needed to get done. Sometimes I have dealt with the client directly, other times I have had managers “shielding” me from the client. Once I had an abusive manager who would bully the team into not talking to anyone else at the company because he was lying through his teeth about everything we were doing and he didn’t want to be found out.

It all starts the same way. I come onto a project enthused to get to work. Either from the beginning or after the initial rush to get things done disorganization sets in. People get behind. People stop communicating. People start second guessing themselves and changing their minds. I start to panic. I don’t want to be fired. I want to do my job. I can’t do my job. I am being paid to sit around all day doing nothing. No one is going to keep paying me to sit around all day doing nothing. I need to find something I can do to contribute. But I can’t. I don’t know what people want. I start to shut down. I can’t keep motivating myself. I feel trapped. I start crying for no reason. I can’t go into my office anymore because it triggers flashbacks.

Last year I had the worst nervous collapse I have had in years because of this situation. I had a period of months where I couldn’t do any work at all. I had to paint and remodel my office before I could work in there again.

One thing I have learned from these experiences is that it’s important to take care of myself. I need to make sure I don’t melt down.

I now have a queue of work I can give myself. I am working on a book. I have a few side projects I want to accomplish. If the client doesn’t have anything for me to do, instead of sitting in front of my work computer slowly burning myself out, I do something else. I don’t bill the client for that work, but I make sure that I take care of myself. If the client can’t figure out what they want, they’re going to fire me no matter what I do. I can’t force them to do anything. I hope when I have even more experience I will be better at getting the client to listen to my advice, but right now any attempts I make in that direction cause resentment and anger at me, so I avoid it like the plague.

It’s hard to make yourself work on other things or step away from the computer. It’s like being in school. You feel obligated to sit through the boring grammar lecture because you’re supposed to be there. Your mind wanders and you fight with people on Twitter because you don’t feel like you can get up and take a walk or read a book on something else or do anything else that will preserve your sanity.

Some of these situations remind me somewhat of my relationship with my ex. My ex kept thinking that stuff would fix him. He thought if he got married that having a wife would magically make all of his problems disappear. He used to yell at me for not fixing him. He thought if he was earning a lot of money it would solve all his problems, but he was always angry and resentful that other people were earning more. He thought if he could be his own boss, he would be happy, but he realized how hard he had to work for a lot less than he was getting and soured on that as well.

You can’t fix other people.

If you have enough experience in dealing with people plagued by indecision, you can start to help them organize their thoughts, but only if they let you. You can’t by force of will make someone happy if they don’t know what they need and they can’t tell you. All you can do is take care of yourself so that when you eventually move on (which you will because these jobs are always terrible) you’re able to help the next person you work with who will hopefully have a better understanding of what they want than this person does.

My Spring 2017 Conference Appearances

It’s a new year, which means I am in the process of seeing if I can break my conference record this year. Not sure what that record is, but I think it’s around ten conferences in a year. Last year was pretty busy and it will be tough to beat, but it was also something of a furlough year because I was mostly talking about mental health and software architecture. This year I am going full on Metal for the work I am doing on the Metal Programming Guide.

Everything is coming up Milhouse!

GDC: February 27-March 3

This year I am working at/attending GDC(Game Developers Conference). I get to be a Conference Associate, so while I am not speaking at the conference, I still get to help participate in creating a great conference experience for everyone. I am looking forward to meeting some new people in the graphics programming space. I think it’s important to keep meeting new and different sets of people rather than staying in a bubble of people you already know. I’ve wanted to attend this conference for a while and I am super happy I got a chance to do so this year.

iOSCon 2017: March 30-31

I get to attend my first European conference this year, iOSCon 2017. Some old friends, like Saul Mora, are going to be speaking there, as well as some new friends I haven’t had the chance to meet in person yet, like Manuel Chakravarty.

I am incredibly excited about this conference because I am debuting a new Metal talk here. I have noticed over the last few years that a lot of people are interested in Metal, but they are not quite sure about how to approach it. They’re not able to break it down in the minds into manageable tasks and they wind up quitting in frustration. My talk here will focus on foundational structures and concepts that are necessary to work with Metal in a fun and approachable way.

CocoaConf Chicago: April 21-22

If you’re in the States and can’t afford a hop across the Pond, I will also be presenting my new Metal talk at CocoaConf Chicago. This will be my fifth time attending CocoaConf Chicago and my fourth time speaking! Holy smokes! Time flies when you’re frantically trying to meet deadlines.

CocoaConf Chicago was the first purely iOS conference I ever attended. The speakers and the Kleins gave me a community of people without whom I would not be where I am today. It’s always a great joy and pleasure to see all of my friends there that I only get to see once a year.

Please Say Hello

One thing I always look forward to when I go to conferences is meeting new people. It may not always come off this way, but I feel socially awkward. One reason I made friends with so many speakers in the Cocoa community was because it was easy for me to start a conversation with them because I knew something they were speaking about. When I go and sit at a table full of strangers, I don’t know anything to start a conversation with anyone. I am happy for people to come up and start talking to me and I am telling you to please take that first step, because if you don’t I assume that I am probably annoying you and to avoid embarrassment I keep to myself.

I am planning to have my service dog Delia with me at CocoaConf and GDC. She is an emotional support animal and it is okay for people to pet her. It was technically possible for me to bring her with me to London, but with all of the various travel SNAFUs and the unstable political situations, I don’t feel safe or comfortable bringing her with me. I am terrified that I will forget to do something important and she will be taken away from me and I won’t get her back. So might be a little emotionally fragile in London, but I will follow the old British saying of “Keep Calm and Carry On.”

Looking forward to a great Spring 2017 conference season!