Programmer’s Math Call for Proposals

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

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

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

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

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

Thank you.

In Defense of the Gentle Soul

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

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

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

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

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

I get it.

THESE are the times that try men's souls.

THESE are the times that try men’s souls.

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

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

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

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

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

Oh captain, my captain!

Oh captain, my captain!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

For the Love of Math

I want to ask everyone a question. Am I the only one who remembers that at one time they really loved math?

I didn’t always love math, or reading. I found both of them rather difficult my first few years of school. I had classmates who went to preschool or had older siblings or stay at home moms who had a small head start on me for reading. I was determined to learn to read and I quickly caught up and surpassed many of my classmates.

Square One Television

Square One Television

It wasn’t until second grade that I discovered my love of math. There used to be an educational program on PBS called Square One Television. I became obsessed with this show because it took all these arithmetic concepts I had trouble grokking and explained them in a way I could understand.

They also talked about such advanced topics as Cryptography and Tesselations. (I do want to apologize for the dated content, this was created in the 1980’s.)

This show taught me what a googol was before the spelling changed and became a search engine/Big Brother. Even today when I see a number that is the same backwards and forwards I get really excited because I know it is a palindrome.

Yes, that is James Earl Jones.

Yes, that is James Earl Jones.

Notable people like James Earl Jones and Weird Al Yankovic appeared and lent their talents to making math fun for kids. If you do watch any of the clips I have linked to, please to watch the Weird Al one, it is full of Monty Python homages.

So, if I loved learning math so much and I enjoyed being challenged, why did I major in journalism rather than something math related?

My first major in college was engineering. I was bullied a lot in high school and I had a year where the highest grade I got on my report card was a C. As such, I wasn’t accepted to any of the schools I really wanted to go to. I went to the University of Wisconsin-Platteville to major in engineering. The male to female ratio at the time was two to one. After attending a tech conference where the male to female ratio was fifty to one, that seems positively progressive, but at the time, it was a bit of a shock.

I did not fit in with my classmates.

Every class I had I was the only girl. No one would sit next to me. I had a circumference of empty seats around me. If I tried to talk to anyone, they would literally cry and run away.

I took calculus my freshman year and due to a lot of stress and social issues, I received a D. I don’t really remember anything we were supposed to learn after the first week.

Contrariwise, if it was so it might be, and if it were so, it would be, but as it isn't, it ain't. That's logic.

Contrariwise, if it was so it might be, and if it were so, it would be, but as it isn’t, it ain’t. That’s logic.

I felt like a failure. The thing that got me through high school was this mythological idea that I would go off to college and find my people who would love and accept me for who I was. Going and discovering that things were even worse there than they were in high school was a massive shock and disappointment.

I temporarily dropped out of college. I tried working at Border’s for a while, but that went badly, so with nothing else to do, I went back to school. I went to Madison Area Technical college to take some entry level classes to get my grades back up enough to get back into the UW system. I transferred to UW-Whitewater, where I graduated in 2006.

Trying to jump over the negatives to get to the positives.

Trying to jump over the negatives to get to the positives.

I bounced around majors a lot, but I knew for a fact I was not going to do anything math related. I thought I was too stupid to learn calculus. I thought my success with algebra and trigonometry was a fluke, that those things were useless anyway, and that I needed to pick something easy just so that I could get through college because I was told that having a degree in anything would get me a job. *insert hysterical and bitter laugher here*

Journalism didn’t work out. Neither did video editing, sound design, or doing commodity white collar work. Back in 2012 I felt beaten. I had no idea what to do with my life and I contemplated ending it.

Then a miracle happened in a place I did not expect.

I have spoken about how the worst job I had was one where I was told to pretend to do work. I wasn’t allowed to ask any questions and I was supposed to act like I knew a bunch of stuff I had no way of knowing. It was miserable. However, there was a silver lining.

While trying to find something to do that looked like work, I discovered Codecademy. Codecademy began at the beginning of 2012 with the promise that you could learn to code in a year. I had it on my radar, but I was too discouraged from trying to learn programming to give it a try. When I had to find something that looked like work, it fit the bill.

I discovered that all the things that had stymied me for years while I was learning to program all of a sudden went away when I was doing things over and over again and doing them for long, concentrated pieces of time. I could do something I gave up on ever being able to do. I felt joy, and more importantly, peace while I was sitting at my computer feeling the code flow through my hands and onto my screen.

When that job ended I made the radical decision to go back to school full time rather than find another job. I was tired of running. I was tired of feeling stupid. I was tired of being afraid of failing. I wanted to learn to code because I wanted to know I could do it.

The two biggest motivators for me learning to program were Core Audio and OpenGL. I studied 3D modeling and animation along with audio engineering. I wanted to understand how the programs I used worked. I learned all the low level stuff I could find to help me with this quest.

Then I hit a wall.

What on earth does this stuff mean?! Mark Dalrymple knows Greek, right??

What on earth does this stuff mean?! Mark Dalrymple knows Greek, right??

I wanted to program and audio synthesizer. I was lent some Digital Signal Processing books by a friend, but when I look through them, it’s all Greek to me. And yes, I literally mean Greek because there are all kinds of symbols that I remember somewhere in the back of my head writing out and drawing in notebooks back half my life ago that I had buried because the memory of them was too painful.

I am in between conference gigs right now. Got home from CocoaConf Columbus and immediately went to That Conference.

It has been something of a whirlwind and I am still processing a lot of the adventures I had on these trips.

One of the talks that I was most looking forward to was at talk on the Accelerate framework by Mattt Thompson. I really wanted to know more about it, but I walked away disappointed. Mattt said that you couldn’t really utilize the framework unless you understood the math behind it. My talk on GPU programming also had the caveat that you have to understand math in order to fully utilize shaders. I went to no fewer than three talks and one keynote talking about math and our lack of knowledge of it.

I want to do something about it.

My favorite book in seventh grade and my introduction to logic.

My favorite book in seventh grade and my introduction to logic.

I asked the Klein family if I could replace my poorly attended Debugging talk with a talk on math. I want to figure out the most common stumbling blocks people have with the various frameworks and try to explain math to people the way it was explained to me, in a fun and relevant manner so that it doesn’t seem so forbidding and scary.

I am slowly going back and trying to immerse myself in the math that fascinated me as a teenager. I am not doing this because I think it will get me a job somewhere, I am doing this because I miss how I used to feel when I got exposed to something amazing. There are so many secrets and wonders of the universe that are a mystery to me because I shut off a part of me that I couldn’t bear to look at any more. I am sick of being that person. I don’t want to be afraid anymore. I want my love of math back.

The “Grey’s Anatomy” Stigma

This morning I attended a keynote that prompted a rather lengthy Twitter rant that I feel I must explain further.

How these two survived for ten years is beyond me

How these two survived for ten years is beyond me

The speaker asked the audience who watched “Grey’s Anatomy”. I, for the record, do watch “Grey’s Anatomy”, but there was no fucking way I was raising my hand to admit it. Apparently no one else was willing to do so either.

The speaker said, “Oh, this joke isn’t going to work at all! Usually when I am on the coasts a whole bunch of guys throw their hands in the air and I say to them, ‘Hey, you’re watching a GIRL’S show!”

I tweeted my displeasure at this remark and the conference organizer very kindly asked me to speak with him later about why this offended me.

I have been percolating on this for a few hours, and I have a better explanation about why this bugs me.

I am not going to argue that “Grey’s Anatomy” is a great show. It is an overwrought melodrama whose characters should probably have all died many years ago. I watch it because when I have been breaking my brain all day trying to understand how a GPU works and how to program what goes on my screen, I don’t give a fuck. I just want something on that I don’t have to think about and “Grey’s Anatomy” fits that bill very well. I also appreciate the fact that it has a multi-racial cast and that the primary relationship in the show up until now was the relationship between Meredith and Christina. The dearth of programming on TV showing female issues and friendships is appalling and I applaud someone for actually talking about it.

It was the worst of times. No best of times for these two.

It was the worst of times. No best of times for these two.

What I am going to argue is that none of those reasons were given as to why someone should be ridiculed for liking “Grey’s Anatomy.” The reason for ridicule is because it was made for girls. Not even women, girls.

Our society has a very negative response to anything that has been tainted by being liked by girls. Certain professions, like programming and film editing, used to be primarily occupied by women because they were seen as being like either a secretary or a seamstress respectively. It has only been since those professions have been masculinized that they receive large paychecks and the respect that come along with them.

There was a “Friends” episode where Ross is ridiculed for wanting to listen to Kenny G and take a bath. The criticism: We’re old, we’re not WOMEN. Women is a dirty word.

In spite of the fact that so far this looks like yet another feminist rant (which I absolutely fucking hate to write, by the way), I am not speaking for women right now. I am speaking for men.

Men have a very narrowly defined scheme of acceptable behaviors. Men are not supposed to cry. Men are not supposed to hug other men or have platonic physical interactions. Men are not supposed to wear pink. Men are not supposed to like anime.

My co-author, Chris Adamson, made a joke on App.net once about men’s fashion. He said he goes to Eddie Bauer and buys five identical shirts in different colors, then goes to JC Pennys and buys five pairs of cargo pants and he is set for a decade.

This breaks my heart.

Eddie Izzard sums up our problems in a nice neat statement, God bless him.

Eddie Izzard sums up our problems in a nice neat statement, God bless him.

I like to express myself through what I wear. The idea that I would be constrained to wearing one kind of thing for the rest of my life or else be considered socially deviant crushes my soul.

I know that Chris is somewhat open about his love of cartoons, but I know that it took him a very long time to feel comfortable sharing that love because men are not supposed to like cartoons. I am proud of the fact that he is willing to be open about that love because there is absolutely nothing wrong with liking Madoka Magica, or Tanto Cuore, or anything else. I am super stoked by the fact that so many men are into “My Little Pony: Friendship is Magic” and are willing to be brave enough to say, “Yeah, I like MLP. So what? Fuck you.”

Don't think! Don't get tired! Don't be human!

Don’t think! Don’t get tired! Don’t be human!

I think it is absolutely shitty that our society punishes men for displaying any characteristics that could possibly be tainted by femininity. In the recent anime, “Wake up, Girls!” the drill sergeant guy yelling at the little girls “Don’t rest! Don’t complain! Don’t think!”

Watching that, you feel terrible that these poor girls are being treated this way. In reality, this is the way we treat our boys. Real boys don’t cry or play with dolls. Real boys fight and play various contact sports.

Crushing little boys and making them feel ashamed for what they like and who they are is toxic to our society. We need to stop doing this.

So yeah, I didn’t raise my hand when he asked who watches “Grey’s Anatomy.” I was embarrassed. Now I wish I had. I am not going to be ashamed of liking what I like.

“Grey’s Anatomy” is a girl show. It’s about relationships, compassion, emotional and professional struggle, and just trying to get through life with as little emotional damage as possible. If more men were allowed the same thoughts we would all be a lot happier.

Friendship is magic.

Friendship is magic.

My Life in Stitches

So I have an embarrassing thing about myself I want to confess. I have an incredibly terrible and subversive hobby. I have been living in fear of people finding out about it and judging me. Here goes…

One of my favorite hobbies is cross stitching.

At the point, you might be wondering why I think this is some subversive thing to confess to. I will tell you why.

I have been cross stitching since I was seven. Pretty much my whole life I have been lead to believe this is something I should be embarrassed about.

My collection of projects finished but not framed over the last six years.

My collection of projects finished but not framed over the last six years.

My father would continually tell me that I should stop my cross stitching hobby and take it back up again after I retire. Looking at how tiny all the holes and the patterns are, I am highly skeptical that this is a good course of action.

I would bring my cross stitching to school to do during study halls and I would be constantly ridiculed by my classmates for doing it. So, like a good teenaged girl, I caved to peer pressure and hid my hobby away.

When I got married I had several very large and complex pieces that I worked years on framed. My husband wouldn’t let me hang them in the house for several years because he hated them. I still have a multitude of projects that I have finished and thrown into a bag that is slowly getting larger and larger over the years.

I have always felt like I was a weird, socially aberrant person because I have had a fascination with filling in little boxes with color and making a pattern out of them. I hide my carefully organized and structured projects in metal lunch boxes and pray that no one asks me what is inside.

So what does this have to do with anything?

Over the weekend I attended CocoaConf Columbus. Our first keynote speaker was Mark Dalrymple. During his excellent keynote, he talked about people embracing their hobbies. One of the hobbies he threw out was cross stitching. This threw me for a loop. Cross stitching has fallen out of favor over the last ten years. Also, this was a tech conference! People don’t talk about sewing at a tech conference!

I have painfully learned over the years that tech people are not supposed to cross stitch. Back when I was less experienced, I would go to interviews and be asked what I did for hobbies. I would say I cross stitch and there would be an immediate reaction on the face of the interviewer. I could tell that they mentally determined that I was not a tech savvy person.

There is this stereotype that women who cross stitch (and it is mostly women) are usually stay at home mothers or elementary school teachers. I am a British history buff and one very painful memory I have was reading about an attempted coup of Mary, Queen of Scots. Mary was an accomplished needleworker. When she was locked up in the tower, one of her captors sneered at her that she would have plenty of time for her needlepoint now. Society see needlework as something inherently tainted. People who enjoy doing needlework can’t possibly be fit to do anything important like run a country. Leave that to the other people who are more able to take on that responsibility.

You don’t see a lot of tech people talking about their cross stitching projects. Hell, knitting is much more socially acceptable than cross stitch! That might be because a lot of men do it, but that is a topic for another time.

Dragon project requiring over 50 threads, including metallics and beads.

Dragon project requiring over 50 threads, including metallics and beads.

Cross stitching is a far more concentration heavy task than knitting is. Cross stitching, specifically counted cross stitch, requires a tremendous amount of organizational skills. I regularly complete projects that include fifty different shades of thread and can include over a hundred symbols that contain some combination of those colors. You learn very quickly to get organized or you give up. Over the years I have learned to organize my thread to prevent it from tangling or becoming confused.

Counted cross stitch also requires you to look at a symbol on a grid, translate that symbol into a color, and render it onto a fixed rectangular surface of squares. Does this sound at all familiar? It is very similar to the process that takes place on the computer to render an image, except instead of bits I am using thread. I have been a human fragment shader for 25 years.

Do it yourself Doctor Who lunch box sewing kit! *Not guaranteed to be bigger on the inside.

Do it yourself Doctor Who lunch box sewing kit! *Not guaranteed to be bigger on the inside.

Every skill that makes me a good programmer is a skill I learned from counted cross stitch. I learned to be patient while working on a very large project that takes several years. To give an idea of scale, the dragon picture in this post is a project that I draped over my 15-inch Mac Book Pro and the edges spill over the sides by several inches. I learned how to mentally break down the project into manageable parts so that I did not get overwhelmed and confused. I learned how to organize my space and my tools to optimize my time. I learned to “debug” my designs because no matter how hard you concentrate, you will make mistakes. If you just keep following the pattern like a robot, your design won’t render properly.

This weekend was the first time I brought a counted cross stitch project to a conference and worked on it while listening to a session. I find that I can focus far better while cross stitching than I can while I have a computer in front of me because I get so focused on the screen that I tune out what is being said. I have been told it is rude to cross stitch in class or at conferences even though it is not considered rude to chat on Twitter.

I want to thank Mark D. for giving me the courage to write this post. I am tired of feeling ashamed of a hobby that has been a large part of my life for 25 years that has given me all the tools I need to continue to do what I want to do. I hope that one day people won’t be judged on their hobbies or how they decide to spend their free time, because often those are the things that shape us into the people we are.

Final Countdown to CocoaConf Columbus 2014

After months of prep work and a roller coaster of changes, I am in the final day before heading off to the first of my three August conferences.

I have encountered more issues with Metal than I was hoping to find. This is the first time I have had a paid developer account during the beta period. Prior to now I was so busy just trying to establish a foundation that I somewhat ignored the new stuff that was coming out. This is the first time I have participated in the early release of not one but two new groundbreaking technologies on the ground floor.

I had to move more of my GPU programming talk over to OpenGL ES than I was planning to. I don’t think that is a bad thing per se. The most important thing I wanted to do was to answer a very specific question about one aspect of OpenGL programming. The fact that Apple came and changed everything about that made my talk both easier and harder. A lot of time was spend explaining why Metal is necessary and that fit into the parameters I wanted to address.

I will be giving this talk again in December. There will be a golden master of Xcode 6 at that point in time. I hope that it will be stable enough at that point that I can speak more about how to do things in Metal specifically rather than just ambiguously saying “This is how this would work if it were working, but it isn’t.”

I am giving my talks later today at Bendyworks. Bendy has been very kind to let me come and practice my talks there. I have found the feedback I get from them to be invaluable. I have also found that I am far less nervous once I have performed the talk at least once in front of real people and not just my pugs.

Speaking of my pugs, I am not going to see them for a week and I am very sad about that. I am going to miss my little buddies. Such is life.

I still have not packed. I need to pack sometime today. I also have to go to our Swift user group meeting to make arrangements with the people I am carpooling to Ohio with.

So I have a half dozen tasks to do today. Just need to take them one at a time to avoid feeling overwhelmed.

This is really stupid, but I keep forgetting that I do these talks because I love traveling to the conference and meeting new people. It’s hard to remember that this is going to be an amazing and awesome experience because I am putting a lot of pressure on myself to do a good job with my talks. I need to make sure I take some time to chill out and not worry so much about what I am doing.

Don’t panic.

Looking forward to seeing all my peeps at CocoaConf Columbus and That Conference in Wisconsin Dells!!

The Importance of Style

I don’t remember a time in my life where I did not own a computer. I was three when my parents went to American TV in Madison, WI to buy an Apple IIe for my mother. My mom was pregnant with my brother and wanted a computer to do work on that would not bother the carpel tunnel syndrome she developed while pregnant. Oh the irony of that belief.

I was in fifth grade an I was creating a book report for a class. I discovered our word processing software allowed you to do some neat formatting on your document, including putting a border on it.

This was an amazing discovery to me. I was excited that I found this new functionality in a program on my own and I ran to go tell my dad about it.

My dad chastised me very harshly. He told me I was wasting my time trying to jazz up my book report and that I must not feel very confident in my work if I felt the need to use a gimmick like a border on my book report to distract the teacher from my research.

I remember at the time feeling very hurt and wounded by this statement. I had discovered something cool and I wanted to share it with someone and I was smacked down for figuring out that my report didn’t have to be boring.

Fast forward twenty years or so.

I am in the process of working on several tech talks that I will be presenting next month. One of my talks is on debugging. I know, debugging sounds like the most boring thing in the world. But it doesn’t have to be.

I spent a decent amount of time creating a custom template for my talk. Since it is about bugs, I thought a nice bug theme would liven up my slides somewhat. I am very proud of the work I did customizing my slides for this talk.

I think that there is an unfortunate attitude in tech that talks don’t have to be interesting. I have lost count of the number of droning, boring talks I have heard at various tech conferences. It’s like some of the speakers are thinking, “Yes! I have a captive audience! They have to listen to everything I say!! Bwahahaha!!!”

I have found that the less work people do to make their talks interesting and relevant the less I care. If the person telling me about this stuff doesn’t find it interesting and exciting, then why should I?

People buy Apple products because the engineers try very hard to make objects that people love to look at, hold, and touch. A great deal of care is taken to make using an Apple device a joy. Their design is one of the major reasons they are as successful as they are today. No one should make the argument that making something look and feel nice is a waste of time. It isn’t. It’s a sign of dedication to the craft.

I think my father was wrong. I don’t think people style things in order to distract the audience from its lack of quality. I think if you care passionately about something you will put a great deal of effort into trying to make sure it is interesting and exciting for other people too. I think putting work into making your stuff looks nice is an indicator that you care about your work and that other people should care about it too.

The Nature of Privilege

Yesterday my husband and I went to a Renaissance Faire. We had a pretty nice day. We both brought ale mugs with us to go around and have various beverages. My husband didn’t partake in anything alcoholic because he had to drive.

As we were leaving the faire there was a security checkpoint to verify that no one was taking alcohol out of the faire. I was asked to show my mug, which I did. My husband was asked to stop and show his mug. He refused to stop. He kept going. The security guard thought my husband didn’t hear him so he started following him to try and stop him. My husband began running to avoid the security guard, putting me in a really awkward position of trying to defuse things with the guard to avoid having him call the police or doing something to try to detain us.

I was very angry about this afterward. My husband realized I was mad and he told me he was sorry, but he didn’t like people trying to tell him what to do and that the guy tried to grab his arm to keep him from leaving.

I am going to share with you a huge, mind blowing secret. Are you ready for it??

I don’t like being told what to do either.

In what universe does my husband think that somehow every other member of the human race has no problem being told what to do and that somehow he is special? Oh wait, that’s right. He lives a world of aggressive white male privilege.

(I want to clarify here that I am not saying every single white male fits into this mold. I am not making a broad generalization about every single man. Please do not yell at me on Twitter for being sexist.)

My husband lives in a world where he has never had to do anything he didn’t want to do.

My husband is an aggressive driver. He has regularly put me in danger while he engaged in road rage with another driver. Once we were on a street where the road narrowed to one lane. Every driver before him would let one car into the lane and everyone took turns merging. My husband decided not to follow this pattern and another car nearly collided with us on my side of the car. Afterward my husband asked me if I was mad at that guy for nearly hurting me. I wasn’t mad at that guy. I was mad at my husband for putting me in physical danger just to be aggressive and let other people know he was not going to do anything he doesn’t want to do.

He has never spent a moment in his life worrying that someone might shoot him for being aggressive on the road. He has never been troubled when he refuses to follow the same unwritten rules that everyone else abides by. He is a 6’2, relatively young, white, upper middle class male. He has never had another person use their size to physically intimidate him into doing something that he didn’t want to do.

The fact that anyone could have this entitled, privileged attitude absolutely blows my mind. I can’t imaging living in that world.

This is my world:

There is a lobbying group in town that assaults people on the street trying to coerce them into “donating” money. Every time I see one of these groups on the street my heart sinks because I always see one guy scanning the sidewalk until he sees me. He makes a beeline for me because I am small, female, and look like someone who can be overpowered into giving money to this person to make him go away and leave me alone.

I have had teachers back me into corners to better be able to look down on me while they tried to intimidate me by threatening my grades. When I was in eighth grade I had one teacher who let a bunch of students write a skit to be performed on a class trip where I had to pretend to be naked and throw myself at a popular guy who was going to cruelly blow me off and humiliate me. When I told the teacher I didn’t feel like that was appropriate, he asked me if I had a tube top or something I could wear so it would only look like I was naked in front of all of my peers rather than actually being naked. My parents had to take me to an out of state wedding when the trip was scheduled to prevent this from happening.

When I worked in retail I routinely had men try to coerce me into giving them refunds that I could not give because of various policy and legal reasons. A few guys tried aggressively flirting with me to make me give them a refund. Several guys threatened to speak to my manager to get me fired if I didn’t make them happy. The worst imposition I had in retail was when an old man came up to me, handed me two containers of sexual lubricant, and asked me which one I liked better and asked me which would be better for masturbation.

Getting out of retail didn’t mean the end of this kind of humiliation. At one of my last real jobs I had a team lead lock me in a room and yell at me for an hour because I spoke to a manager about the fact that he told me to work over a hundred hours off the clock without telling anyone and to bill them to the company while I was out of the country.

How do you explain to someone who has never been physically intimidated how upsetting it can be? At my last job at a start-up, I observed my CEO and CTO aggressively approaching women to get them to try our app. I told them that women don’t really like being approached by tall, scary, aggressive guys. They didn’t get it. They couldn’t see how uncomfortable they were making these women and they refused to try to think of a better way to approach women to use our app.

My husband has trouble understanding why it is so difficult for me to find a normal job. Programmers are in short supply! Why can’t you just walk into a company and get a job? You must be incompetent.

It isn’t about that. The same attitude that my husband has when he runs past the security guard is the attitude that my teacher, manager, and lobbyist have. They feel like they have the right to force me to do something I can’t or don’t want to do, and their privilege to abuse me is indirectly imposing on my husband’s privilege to have a wife who can go to work and earn a decent salary without fear of being exploited, abused, or being inappropriately fired and having my professional reputation annihilated. Everything we do affects everyone else. His privilege is indirectly hurting him through me, but he can’t see it that way because it is hurting him rather than helping him.

Privilege is the ability to feel you have the absolute right to never feel imposed upon by anyone. Privilege is being able to piss someone off because you can and to have absolutely no worries that this person will come after you and cause you physical violence or endanger your livelihood.

I know that I am a relatively privileged person myself. I got to take a few years off from work to go back to school. I get to do a lot of things that most people don’t by nature of being a white, educated, middle class female. I don’t want to give up my privilege, but I never forget that I only get to do what I do because a lot of other people do not. I appreciate my privilege and I try not to abuse it or assume that others haven’t done what I did because I “did it all on my own”. A lot of other people and societal forces converged to let me do what I do and I never forget that.

The security guard at the faire didn’t try to detain us or call the police. However, I had to deal with an angry, aggressive man that I didn’t want to or have to because my husband chose to force me to do the thing he didn’t want to do. He’s right, he lives in a world where he doesn’t have to do anything he doesn’t want to do without fear of being shot, attacked, or harassed. I just wish that he cared enough about me to not force me into a situation where I have to be afraid of being attacked or hurt in his place. To be fair, he also probably wishes I cared enough about him to get off my ass and get a normal job like everyone else does instead of delving into esoteric technology and writing. Hey, maybe I am the one who is privileged.

Code of Conduct

So today there has been some controversy on Twitter about 360|iDev’s Code of Conduct.

I honestly do not understand what the controversy is here. They are clearly stating that they want a diverse conference where everyone will be respected.

Here is my perspective on things.

I am a female programmer. I got into programming later in life. I originally studied video and audio production. I was young and foolish and thought I could succeed purely through sheer force of will. I would say I was about 30 when I really began to learn enough programming to make a go of it. At the last job I had I was not only the only woman, I was also the oldest person by a decade. I also have some health issues that make it impossible to work more than 40 hours a week.

Between being a woman, being older, not having a dozen years of experience, and having health issues, I feel very vulnerable in a community that fetishized boys barely old enough to drink who have been coding for fun since they were ten.

I have been extraordinarily privileged to be given the opportunity to speak at conferences on something that isn’t feminism. 360|iDev will be the fifth conference I have spoken at this year. I am speaking about Apple’s new 3D graphics programming framework.

People like Jim Remsik, Dave Klein, and John Wilker are all throwing me a lifeline to give me the chance to establish myself as a professional and maybe have a career.

I worry sometimes that I only get these opportunities because of “male guilt”. I am very concerned with being seen as someone who only gets to speak because they want more women. I have worked tirelessly to try to prove my cred by tackling difficult programming topics that frighten most people away. I am worried sick about not having a great talk to present at 360|iDev because my reach exceeds my grasp.

Even if I make an idiot of myself, at least I was given the chance. That’s all I ask for. I am being given a time and a place and what I do with it is up to me. A lot of people won’t even do that and I am eternally grateful for being given the chance to do what I can and make what I can of it. I am also grateful for the chance to meet the other people who are speaking and attending. In a world where connections are everything, the connections I have made at my conferences have been absolutely invaluable.

I have absolutely no idea what in the Code of Conduct created this fuss. I do know that I submitted a talk to a conference I could not afford to attend and that the organizers are not only giving me a chance to speak about a topic that is near and dear to my heart, they are also financially making it possible for me to go.

Talk is cheap. If you care so much about getting more women in technology, hire more women. Be willing to train them when they don’t have 5-10 years of experience. Mentor someone. Do something that actually costs you time or money. 360|iDev did. Don’t just go on Twitter and be a douche.

Ebook Annoyances

I have a confession to make: I am addicted to books. I am not addicted to reading books, I am addicted to buying and accumulating them.

I have far more books than I am ever going to read in my lifetime, but I like the feeling I get when I feel like if I wanted to know how to do something I could just do it. I am fascinated by animation and I have over a dozen books on HTML 5 animation. I like to think I will get around to reading them one day.

This is a "stack trace" of one of my multitudes of stacks of programming books.

This is a “stack trace” of one of my multitudes of stacks of programming books.

In order to avoid the massive piles I have stacked all over my house, I discovered ebooks. Ebooks are awesome. They just take up a little space on your hard drive, you can put them on multiple devices, and you can take them with you on trips without having to pack an extra suitcase. They also have the added benefit that if I decide I want to buy a book, I click a button and it appears on my computer like magic.

I have been primarily getting my books from InformIT. They are part of Safari Books Online and they sell the ebook version a few series that I am addicted to, primarily the “Learning , A Hand’s On Guide to Learning .” They have a deal of the day and they also have a lot of sales.

Back over the Fourth of July I preordered two books from them: Introduction to Game Design Prototyping and Development and Writing Interactive Music for Video Games. These are both part of a game developer series I have become enamored with.

I ordered these books on July 1st. The prototyping book was set to publish on July 8th. I figured, great, I get the book in a week. Huzzah!

July 8th came and no book. I checked the site and the publish date was pushed back a few days. Okay, no big deal. I can wait longer.

Last week I checked back. The book was now available to purchase and download, but my account page showed that I preordered it and couldn’t download it. I contacted customer service. I was told that I contacted the wrong customer service and I was sent somewhere else. Okay…

I got a response back this morning telling me that my order couldn’t be completed and was cancelled. If I have any questions go to this link.

Uh, why was my order cancelled? Is there a problem with preordering books from your site? Does this mean my other preordered book was cancelled? What happened here exactly? How can I avoid this situation in the future? Is there any way I can still buy the book at the price I ordered it at?

How many of these am I really going to be able to read??

How many of these am I really going to be able to read??

I forwarded these questions back to the representative. I got a response back saying it was between me and my credit card company and that if I have a problem I should talk to them.

No, the problem isn’t with me and my credit card company. It is with you and me. I paid for a product I was not given. I need to get access to my credit card statement to make sure that yes, in fact, I received a refund for the books I ordered. Even if I do talk to the credit card company and get them to authorize this purchase, I can’t get my book because you cancelled my order.

I have purchased books from you every week or two for the last year. I have never had this problem before when I impulsively buy and download random books that catch my eye. Why was I able to buy a book literally two days later but somehow the issue is with the credit card company?

Also, why was I not told the order was cancelled? If I hadn’t contacted you asking where my book was would I have gotten my money back or would you have just held onto it?

If someone who has blown over a thousand bucks on your site over the last year contacts you to find out how to give you more money, don’t blow them off. Don’t tell them to talk to someone else and just cancel their order.

I really wish that O’Reilly carried this series, but sadly they do not. I checked Amazon and they do carry the book I am looking for. It only works on the Kindle, which is kind of limiting. However, I do know that this would never happen on Amazon. As much as I am annoyed by bad business practices, I at least know that if they can’t fulfill my order that at least they will tell me about it and I won’t have to track them down.

I have access to this book through Safari Books Online. I pay nearly fifty bucks a month to get access to everything they have. It is probably a stupid thing for me to buy a book I can access online, I just like to know I can touch and feel it. I guess this should be a wake up call for me to stop wasting my money on impulse ebook purchases from InformIT.

So, thanks for not letting me buy that book. Thanks for saving me from myself. Time to get back to reading one of the many multitudes of books I already own.