The Billionaires vs. BrandonM

Recently Dropbox became one of the latest companies to be worth billions of dollars without turning a profit, and Drew Houston became a billionaire.  I worked for Drew for a bit, and decided he was not the leader for me.  If you’d like to see why, take a look at this:

What’s the post he’s referring to?  Why it’s an 11 year old post that dared to question what Dropbox did by one BrandonM:

This comment, as BrandoM says, was from a 22 year old undergrad student who is now a 33 year old man and most likely a regular old working stiff.  BrandonM is not a billionaire while Drew most definitely is one.  BrandonM has absolutely zero power in this situation, and Drew has an infinite amount more by comparison.  Additionally, what BrandonM said does not deserve this level of retribution. He did not insult Drew, did not say anything actually bad about Dropbox, was even polite after Drew did this.

Think about that for a second.  A man who just became a billionaire (due to his large connections through MIT and his Fraternity) took time out of his day to hunt down a comment by a regular nobody 11 years later and throw his success back in that guy’s face, and this man can do nothing about it because he can’t delete his comment.

Now, let’s add a little bit more to this problem:

  1. Did you know YC startups have special privileges on Hacker News?  Nobody knows what they are, but rumor has it they can delete stories they don’t like, delete comments, and have the ability to get their stories to the front.  Again, this is based on statements from a few YC alums in passing, so I can’t confirm this, but you can already see how the JOB postings seem to have preferential treatment, so why not other things?
  2. There is no way for BrandonM to delete this.  For an entire decade he has been haunted by 3 paragraphs he wrote when he was 22.
  3. The moderators of HN frequently delete things they don’t like, but leave up quite a few abusive and slanderous posts.  HN has the right to delete something, but not BrandonM, the author.
  4. Nearly every YC founder backs the idea that everyone should be open to criticism and the “free market”, but this exchange shows the message is more:  “We can criticize you, but you better not criticize us.”
  5. This could possibly amount to an effective slander case by BrandonM against YC or Drew Houston given that, 11 years later, he claims he is still being quoted about it and cannot delete it even though his views have changed.
  6. The inability to delete your own profile or messages could amount to a violation of several EU laws regarding right to be forgotten and definitely violates the newer privacy laws in Europe.  It might also violate several US privacy laws as well, and I think this should be a slander case given the magnitude of the impact on BrandonM and the fact that he can’t delete his remarks.
  7. If you or I had done something similar to what Drew did here we most likely would be chastised by the moderator(s) or even banned.

What BrandonM wrote is not even abusive.  It’s just his viewpoint on what Dropbox does, and definitely not deserving of this kind of spiteful petty retribution 11 years later.  This kind of behavior is common from Silicon Valley companies.  They’re big fans of the whole “waiting for your body on the river Ganges” thing, and if you ever once doubted them they’ll hunt you down after their success just to shit on you.  Never mind that the only reason most of these companies succeed is because they go to the same “cuddle puddle” parties as VCs do and went to the same school with the same frat.  Nope, they totally made it on the glory of their shitty code and that’s why your technical comments deserve retribution.

That isn’t even the most abusive thing on HN that is still up.  There’s this gem from 9 years ago:

This cortesi fellow decided to call me a cock because…….I said I prefer to GPL my software because too many people abuse open source developers.  Nowhere in my writing did I mention cortesi, and I don’t even know him.  But here he is calling me a cock for no other reason than I feel my work should have value.  Did this get deleted?  Nope.  Moderators still have it up.  I bet if cortesi could he might remove it.  People change in 9 years.

Just not YCombinator.

No Delete Is Abusive

Everyone who runs YCombinator tries to pretend like they are decent liberal libertarian minded human beings.  They start charities, donate money, attempt basic income experiments, and a host of things that I and many other people would label “progressive” or nearly communist.

Yet, their behavior in actually running their company is not even close to the fake progressive values they project.  They have abysmal funding rates for minorities, women, people of color, coders over 40, and hell, anyone who didn’t go to Stanford or an Ivy League school even.  Their startups are constantly embroiled in the biggest sexual harassment abuse scandals we’ve ever seen.  They frequently allow people on their forums to slander and abuse others, with only the thinnest veneer of moderation.

I believe the most important sign that YC is an abusive company is the fact that–contrary to several laws–they refuse to allow people to delete comments even a decade later.  The entire combative nature of HN commenters means that people are going to make mistakes and those mistakes will haunt them, so preventing deletion is abusive.

It also contradicts the progressive values that they claim to have.  Wanting to fund an experiment in basic income means you believe that people make mistakes.  They take a wrong turn and need a reset to get back on their feet.  Their lives change in some way, but that life got derailed and can’t recover without help.  Not letting BrandonM delete his comment means they actually don’t believe this.  They don’t really believe that people make mistakes—oops sorry, founders make mistakes all the time and get away with it.  They just don’t believe me and you are allowed to make mistakes

The people running YCombinator have now demonstrated that they are not progressive or even good people.  Here’s Sam Altman–another incredibly rich man–again humiliating BrandonM years later:

Screen Shot 2018-03-25 at 5.02.18 PM

This is a wealthy man, running a very wealthy company, supporting a billionaire in his quest to humiliate a common working guy for a comment that worker made 11 years ago.  Sam has no idea how this will impact Brandon’s life.  He has no idea if this will hurt BrandonM, drive him to suicide, get him fired, yet he does it anyway.

Progressive or liberal people do not take advantage of their wealth and power to humiliate someone less powerful than they are over something this petty.

Defending BrandonM

I actually agree with the sentiment that most of the people who comment on HN are clueless losers who just love trading slander through throwaway2342343 accounts.  But, I also can’t stand it when someone with power abuses their power to shit on someone who’s just speaking their mind.  I don’t think BrandonM’s comments fit into the “I could do that in a weekend” bullshit comments you hear.  I think what he wrote was fairly valid…in 2007 for a Linux user.

In 2007 what BrandonM wrote is actually valid given the environment.  It was a total long shot that Dropbox would go anywhere, and hell it took a whole 11 fucking years for them to IPO.  Box did it in 2014 and competes rather well compared to Dropbox.  But let’s break down his comments from a 2007 perspective:

  1. Silicon Valley had been ravaged by the Dot Bomb era and Drew couldn’t even get funding in his home town.  It’s totally normal to be skeptical that he couldn’t pull this off.
  2. “For a Linux user….” right there he’s looking at this from a point of view that frankly doesn’t matter.  There’s a few Linux users in the world compared to everyone else, but when people criticize his comments they think he’s talking about Windows users.
  3. “curlftpfs”, “svn”, “cvs”, at the time, that was all we had that worked.  On linux this might work pretty well.  A simple rsync would work better, and that’s mostly how Dropbox works.  So, he wasn’t really wrong here either.  In 2007, what he wrote is a viable–although crap–option.
  4. “It doesn’t replace a USB drive…” this is a simple misunderstanding of how Dropbox works…which means Drew screwed up the marketing.  That’s not BrandonM’s fault or makes him stupid.  It’s Drew’s fault for not demonstrating that the files are kept locally so you don’t need a USB.  And, if you’re smart and you travel, you do keep your important stuff on an SD card or USB drive.
  5. “It does not seem very ‘viral’…”  At the time “viral” meant “I saw this video on YouTube and it got 1 million views.  It’s a Desktop app so how in the hell are you going to toss it to your friend and virus that shit up?  That’s why they had to create the web interface, so again, he was right.  The Desktop app is not viral at all.
  6. “or income-generating”….  If you define “income” as revenue then Dropbox brings in some decent revenue.  If you define “income” as profit, then he’s right, Dropbox does not make a profit.
  7. “is it reasonable to make money off of this?”  And here we have it, he means “income” as “profit”.  Making money means you keep the money.  If I have to spend 4 billion dollars to make 3 billion then I am not making money off of it.  I’m losing money on it.  So again, BrandonM was right.

In my mind what BrandonM wrote was actually true, but it was short sighted and didn’t take into account the value of going to MIT and being in the same frats as other guys who know really wealthy guys.  Next time you see someone shit all over this guy, remember that 11 years ago, he was right and it could have gone totally differently with just one wrong move.

What If It Worked?

I talk about people sending me suicide threats in this essay.
If you are contemplating suicide, then please call the 
National Suicide Hotline at 1-800-273-8255. There is no shame
in asking for help, so make the call.

I receive about 1-3 angry emails a month regarding my positions on various things.  The latest round of “Fuck You Zed” emails was regarding my stance on Python 3 being a complete waste of human energy.  That’s understandable as many people who have absolutely no lives at all tend to attach their narcissistic egos to fake things in order to add some desperate level of meaning to their pathetic totally useless lives.

People are so attached to their programming languages that they even hate newbies who just don’t ask the right questions in IRC.


We’ve all, as a community, decided that beginners are on the list of people we all can hate.  I mean, if this is how someone treats a dude who just wants to get the end of a file, can you imagine how they feel about me?

I’m sure this <feline> asshole is just sooooooo tired of beginners coming and asking stupid questions, but then you wonder why the fuck they’re on IRC in the first place if it’s such a total waste of time?  Actually, I know why.  They can hide behind the internet, safe from a solid punch in the face, and treat people like crap to make themselves feel better about basically being total losers.  Seriously, if the vast majority of your authority in life comes from ASCII text caps lock screaming at people just trying to learn something then you have got to be one of the biggest losers out there.

But, let’s say you’ve spent your evening treating innocent people like shit with your ASCII BLAST importance and your insecure narcism just really isn’t healed.  You are still resentful of the fact that you’ve memorized every page of the ANSI C standard and nobody recognizes that as the pure genius it actually is. You were in the SPECIAL KIDS class God Motherfucking Dammit!  You were destined for greatness!  You worked, like, sort of hard too so it should be you that’s famous!

Nope, you are stuck as a PHP programmer, toiling away for peanuts making billionaires wealthy when really it should be you, Mr. Gifted Fear Failure Esquire, getting the book deals and not that asshole Zed A. Shaw.  Who fuck is that guy anyway?  He constantly makes mistakes while he’s putting out all his books, and code, and content, and paintings, and building guitars, and playing guitars, and you know what, fuck that guy.  You know what you’re going to do!

Death Threats

I get a few death threats too.  My most recent one was this:


If they give a valid email address I usually rip them a new one.  You see, violence is a bad thing, but self-defense is not.  Sure, you may hurt someone, you may even kill them, but if they were trying to kill you or hurt you, then you’ve actually prevented an evil thing by stomping them into the ground.  And there’s one thing I’ve learned over decades of dealing with violent people:

Violent people do not respond to kind words and reason.  They only respond to being hurt.  After you’re done kicking their ass, sure, they might be amenable to reevaluating their life. Chances are though they are sociopaths and that means they are not going to change.  Same goes for narcissists.  Psychology still can’t figure out how to cure either afflictions, and in the world of violence, narcissism and sociopathy go hand in hand. Can’t cure them or stop them with words, so your only option is harm.

You are perfectly allowed to use violence to defend yourself or someone you love.  Sheeeeeiit, martial arts were invented by Buddhist monks for this damn reason.  I think if Buddhist monks can have this attitude then you can my friend.  In fact, I think allowing violence when you can stop it is just as bad as doing it yourself.

But I received this threat and couldn’t reply to the loser who sent it because he wasn’t man enough to enter an email address.  I just posted it on Twitter and then moved on with my life. At least, until I realized something.

People Die From This

If you ever read news about online bullying you’ll see the obvious tragedy of suicide and abuse.  What you’ll also see is a complete lack of remorse from the perpetrators.  They’ll usually choose someone who is an outcast in their society.  A nerd, a poor kid, or someone with some disability that gives the abuser a reason–blessed by society–to hate the victim.

Once the larger group decides that this person is a valid target the sociopaths take their cue and feel justified in their abuse.  At first it’s maybe name calling, then it escalates to humiliation, destruction of their livelihood, life, and then escalating further until they’ve driven the poor outcast to the edge at which point, they give the push.  That one little tug, aimed at a human being weak from continuous abuse, and designed to make them end their life.

And when the killer gets caught, almost universally one of the first things they claim is they didn’t do it because it was a suicide. It wasn’t their fault, they didn’t actually kill them, and it becomes clear the abuser, the killer, is not remorseful.  It was not a game.  It was not an accident.  It was a calculated act following a calculated chain of abuse designed to destroy another human being for no real reason.  They’ll claim the victim wasn’t even human. The victim did some incredibly terrible thing, that turns out to be something minor.  The abuser will do anything to avoid admitting that they killed someone.  Society said they could kill them.  Why aren’t they getting a trophy?

You see this with child abusers, spouse abusers, bullies, rapists, and many sociopathic killers.  You’ll ask them why and they’ll tell you the victim deserved it.  Why?  They ate a yogurt.  They wore a short dress that day.  Their skin was different.  They voted for the wrong politician.  They like the wrong genitals.  It’s always something that is incredibly trivial in the grand scheme of things, but it doesn’t matter what the victim did.  All the victim actually did was exist and happen to give their murderer or abuser an excuse to exercise his or her desire to satisfy their narcissistic need to hurt someone that day.


I started wanting to know why someone would send this?  I mean, did they think it’d work?  They would send a one line sentence with poor grammar and I’d jump off my building?  I’d blast myself in the face with a shotgun?  I’d drink some drano? Slit my wrists in the tub?  Did they think it through?  What if I was having a particularly bad day and all that was needed was this tiny push? This message that I’m worthless and unloved.  That I’m a nobody who deserves to die because…

I don’t agree with the direction of Python 3.  Or maybe, I wrote a thing about abusive people in Ruby ten years ago.  Yes, TEN years ago.  Or maybe I hate Haskell?  Like I said, once a community decides I deserve it, the reason doesn’t matter.  Any reason is good enough to justify the abuser’s actions.

Whatever their reason, I don’t need the answer.  I know it all too well.  I know this person is a pathetic fucking loser.  I know they wrote that hoping I would die, hoping to kill me, but needed an excuse, and my disagreement with this totally inert concept called Python/Ruby/Haskell is all they needed.  Their community has crafted the right amount of propaganda and cohesion to allow any decision about my “asshole” status be the abuser’s cue that I’m fair game.  They can threaten to kill me, force me to suicide, and it’s alright.  I deserve it right?  I mean I hate Python 3.  That’s important.

It Won’t Work

If people think that I’m easily intimidated or threatened they’re sadly mistaken.  I’ve defended myself from abuse most people could never have survived, and some little worm pumping chars into a web form is an ant by comparison.

Now, I try my best to be good to people, but I have a very strong sense of self-defense and vengeance.  I try to be careful with it, but I have no problem destroying someone who tries to hurt me.  Like I said, you have a right to defend yourself and people you love.  I’m also definitely not some little weak snowflake nerd, and I definitely am not going to kill myself because some pathetic weakling took 10 minutes to write a sentence demanding I do so.  Fuck you.

More importantly though–and this I hope really pisses this asshole off–my life is fucking awesome and I’m in the best mood and position I’ve ever been in romantically, financially, socially, and in every way that mister Help Form Killer can’t possibly compare.  While this guy was wasting time filling out this shit I was probably doing something awesome.  Shit, I was probably doing 10 awesome things that day.

The Reward

Sending this across state lines is a felony, and I want this person in jail.  I want them publicly humiliated and dragged out in court to justify why they tried to kill me.  You laugh, and say they didn’t try to kill me, but that’s how we should take these demands of suicide.  It is only done because it might actually work one time, and when it does, this person will go back to eating Cheetos and jerking off to CGI lolicon.  They won’t care.  In fact, I bet they’d be happy and brag about it.  They were justified because I hate Python 3, and for that, they deserve to be in jail.

With that in mind, I am now offering a $1000 reward for any information that leads to the arrest of this person.  It’s not much, but I’m going to bet that this loser’s friends could use a grand and don’t like him at all.  If you have information, then feel free to send it to me.  If you want to stay secure I have my My GPG Key for you to use.  You can email me at any time to send me your information or post a comment on this blog.

Fuck you loser.  I hope I catch your ass.


The End Of Coder Influence

I get an email from someone who tells me that Reddit has decided to remove my book from their list of suggested readings for Python until I update the book to Python 3.  They made this decision about two weeks prior to when I received the email, so I went to look at my traffic and sales to see if there was an impact.  Weirdly, my sales were up and my traffic was about the same.  It had no impact.

Once a year I go through my Python book and I try to convert all the code to Python 3 as a test.  I do this with the eye of a total beginner, looking for things that will trip them up and cause problems.  Bad error messages, confusing syntax, broken libraries, and inconsistencies.  Every year I run into nearly the same problems:  strings are difficult to use, error messages don’t have variable names, libraries don’t really help with strings, and there’s too many inconsistent string formatting systems.  So I decided to see again what it would take to make my book Python 3 and ran into the same issues all over again.

To put it bluntly, the reddit community responsible for teaching beginners to code censored my book as a power play to get me to force Python 3 on unsuspecting beginners.  The language does not work for them, and they were attempting to use their influence to enact change in my books, rather than use that influence to improve Python for beginners.

And it didn’t work.  I still had the same sales and the same traffic.  I actually think if all Programming Reddit rose up and demanded Python 3 have better error messages regarding strings (a minimum usability bar) they would be ignored too.  In fact, I kept seeing over and over people pointing out blog posts, reddit threads, HN threads, and tweet storms as if these were highly influential which then did nothing.

A few days ago I went through another test of Python 3 and ran into the same problems.  I get enough people emailing me about Python 3 that I decided I needed to work out a list of reasons why Python 3 is broken for beginners as of today.  Originally I was going to write it fairly simply and not worry about appeasing the coders, out of fear they would retaliate like they always do and boycott my book even more.  But, I remembered that after countless blog posts about how terrible of a person I am and how terrible my books are, I still end up helping millions of people a year and still have the same sales.

I decided to just write what I felt and fuck whatever programmers think.  I wrote it, put in a couple of jokes and trolls, and then posted it.  Fuck it, I have a cold and don’t give a fuck.

Immediately people started insulting me, telling me I’m wrong (yet not reading the post, LOL). Then the HN posts start, then Reddit.  I don’t read those so people shove them into my email and Twitter stream.  I was tired and not into defending myself so I just deleted Twitter off my phone and go sleep some more.  Enjoy the sun.  Did some painting.  Hung out with friends.  Who gives a fuck about what a bunch of angry lonely coders think about my thoughts?

Yet, here’s where everyone I know becomes deathly afraid of the coders.  These groups of programmers used to have large sway over what was successful and chosen, but at the same time were horribly uninformed about basic computer science.  They ran to Node.js because of “events are better than threads” and had no idea Hoare or coroutines existed.  They manually went to hand convert all Python 2 code to Python 3 code, rather than just asking why the Python 3 VM can’t just…run Python 2 code too.  Then they believe the mega load of bullshit that this is impossible despite all proofs and evidence stating otherwise.  For all their claims of superiority for having once bought a copy of The Art of Computer Programming the previous generation of programmers are sadly uninformed about basic shit.

We all feared them, because their incredibly uninformed opinions and complete lack of humor or human decency could sink or swim entire companies.  Get slagged on HN and you’re done for.  I’ve heard of VCs actually threatening to strip away funding over bad HN reactions like HN is on the same level as the food critic of the NYT.  So what was going to happen to me?

Honestly, I’ve been trying to get out of the technology industry since 2008.  This industry sucks, and largely because of the abusive previous generation of programmers.  My goal has been to just make their influence on my life as small as possible so I can go on doing things I love like painting.  Fuck them.  But, a man’s gotta eat so I keep doing my work so I can make enough of a living to keep helping folks and doing what I love.

What are the results of their insane hatred of my latest stance against Python 3?  Am I doomed to never have any more sales again?

Nope.  Same traffic.  Same sales.

I believe that the influence of the previous generation of programmers is largely gone.  I can’t exactly say why, but I think it’s because they consistently back terrible ideas over and over.   They also tend to have no idea what will be successful or not.  The reason is they base their opinion of a technology on superficial things related more to whether the tech fits their tribe than its actual merits.  When my book first came out the HN crowd and other “professionals” said it wouldn’t work.  Same for many successful startups, technology, and ideas.  Meanwhile, the things they do back end up being terrible and we all regret following their hive mind.  Can anyone say OpenSSL?

I also believe the newer generation of programmers are more well rounded and have a general distaste of this kind of tribal fascist bullshit we have in open source.  I can’t really prove that, but it’s a feeling I’ve been having for a couple years now.  This next generation is different. I just can’t quite say how other than they seem to not believe the same things as the previous generations.

About a year ago I stopped reading HN and Programming Reddit because of this.  I don’t worry about the vindictive assholes out there who feel any questioning of their tribal beliefs is an affront to their person.  I now think the actual influence of the hive mind on anything outside of the tiny little set of Silicon Valley Programmers Who Read HN bubble is nothing.  If you think their influence matters then either you’re working on something as insignificant as they are, or it really doesn’t matter and you should just ignore them and move on.

Keep making cool stuff and speaking your mind counter to the hive.  I think that’s the future generation’s take on programming, and I fully endorse that message.

Facebook Identity is Extortion and Slander


I’m currently dealing with a problem at Facebook where someone is impersonating me and Facebook refuses to do anything about it. I was notified by a friend that this profile was friending all of my actual friends and potentially messaging them as me. To stop the impersonator I wasn’t able to simply contact Facebook and have the profile taken down. Instead I had to signup for my own profile and file a bug report with them.

This amounts to extortion. If Facebook is claiming to require real names and identities on its platform, and requiring people to signup for Facebook to eliminate impostors, then they are extorting signups out of people. Your only choice is to become a Facebook member and reserve your spot in their ad driven world even if you don’t want to use their platform at all (which I don’t).

However, this gets worse. Here is their reply when I submitted the only kind of ticket I could figure out how to submit to correct the impostor:

And the impostor is accepting Happy Birthday messages (on a day that’s not my birthday):

This is proof the impostor is actually impersonating me, and Facebook chose to do nothing about it.

Rather than solve my problem they’re playing the typical bureaucratic game of telling me that I haven’t properly filled out the correct forms and submitted to the proper department to resolve this issue, please try again. For a company that is claiming to create a safe space for everyone, even creating an anti-bullying hub, this is unbelievable. I should not have to navigate Facebook’s problem reporting system to have this resolved.

In my case this could get potentially worse for Facebook. I’m a published author with an actual business reason to not have impostors on a platform like Facebook. Imagine if this person decided to start contacting potential readers and slandering me. Or posting offensive messages pretending to be me so that readers of my books found them. Well honestly I doubt this guy could do that better than me, but the point is, they could invent some form of slander that would ruin my book sales. This person could also ruin my relationships with friends who are currently following the impostor account. Since Facebook refuses to take the account down and transfer control to me, and they claim to enforce identity giving visitors a false sense of security in trusting this impostor, then Facebook is actually the one causing the slander.

I believe that their actions could fall under both the Safe Harbor laws for sites and possibly the spam laws, but it’s vague. In the case of the safe harbor laws, they are exerting editorial control on identities and failing to enforce that means that allowing impostors makes them liable for any slander. In the case of the spam laws (much less possible) they are requiring people to sign up for Facebook to report problems, and also making the process onerous and difficult. The laws against spam require that people can unsubscribe from all contact with a company without logging in, and I believe you should be able to report abuse of a profile in the same way. Much like a DMCA takedown or spam unsubscribe, I shouldn’t have to be a member of a social platform to report an abusive account on that platform.

Right now I’ve contacted the impostor and asked them to give up the account, since Facebook can’t, but I should not have to contact an abuser to have this resolved. The entire point of having a system to report problems from abusive people is that I don’t want to talk to the abusive person. I want their impostor account wiped out and all the messages they’ve sent to my real actual friends given to me so that I can make sure I was not maligned. There should be one page that I go to report an account for abuse, and that’s it. This extorting my eyeballs into viewing their shitty ads just to get an abusive asshole off my name is entirely wrong.

Turd Cookies

FLOSSBro: “Hello sir and welcome to FLOSS Cafe. We have the best cookies in town! Would you like some free cookies? Fresh baked today.”
Zed: “Oh man, yeah I love cookies. I was just looking for some actually. These look delicious. Mmmm. Bleggghaarrg Fuck!”
FB: “What’s wrong?!”
Z: “What the fuck?! Did you put turds in these cookies?!”
FB: “Look sir, I’m going to ask you to not be rude with me. You have no right to question how I make cookies. They were free after all.”
Z: Spits on ground. “What the absolute magical unicorn fuck are you doing putting turds in cookies?!”
FB: “I’ll have you know that the turds are an essential ingredient of our cookies and I’m going to tell you again to not be offended by it!”
Z: “Is that a peanut? Disgusting. Ugh. Who the fuck wants turds in their cookies?!”
FB: Points at giant sentient fly in the corner of the cafe. “That guy! So there!”
Larry: Waves.
Z: “Whoa. Ok, that guy is a giant sentient fly. How many of those could there possibly be in the fucking world that you’d have to put turds in all of your cookies?”
FB: “Well I’ll have you know that if we don’t put turds in all of our cookies that sentient fly will shit on everyone else’s food and knock tables over then post really nasty reviews on Yelp.”
Z: “Wait, you put turds in all of your cookies so that a fly won’t write reviews in Yelp about the lack of turds in your cookies? Why do you even let him in here? I’m sure that’s some kind of health violation and shit.”
FB: “Because he is loud and obnoxious so if we don’t keep him happy he makes it bad for everyone else. Anyway, I kind of like turds in my cookies too. It was a great decision and now I’ve made it and I’m sticking by it. I am right.”
Z: “What?! Do you seriously eat these?!”
FB: “Well, not exactly. I have a batch I make for myself and special paying customers that only has a little bit of turd in the mix. It’s quite refreshing.”
Z: “Holy fuck, you mean, you put free cookies out with turds in them because a sentient fly demands turds, and then you charge people for cookies without turds? That’s fucking insane.”
FB: “You don’t have to eat them sir! Nobody said you had to eat my free cookies!”
Z: “You offered them to me asshole! If I’d known there was turds in the free cookies I would have just bought the fucking turdless cookies from you and saved myself the epic amount of shit now coating the inside of my fucking mouth.”
FB: “Don’t talk to me that way sir! I gave you those cookies for free!”
Z: “I didn’t want turd cookies! Why the hell do you even do that?! You should just not put turds in your cookies then sell that sentient fly asshole the ones with turds.”
FB: “You are not being constructive here.”
Z: “What? I am being constructive. Just don’t put turds in your cookies shithead!”
FB: “No, that’s destructive because it is telling me to change my mind about a clearly obvious and brilliant decision I made to put turds in my cookies.”
Z: “Alright, how do I give you constructive feedback that will get you to at least make a batch of cookies without turds in them at all? That’s what I want. Cookies without turds. I’ll even fucking pay for them.”
FB: “I’m going to have to ask you to fill out a Recipe Task Form Management System request online. It’s only 42 form fields at this website and your request will be added to a queue behind 153 other requests to change the recipe.”
Z: “What?! I have to fill out a fucking form online, for you, and you might fix it?! That’s insane!”
FB: “No, this is our process here at FLOSS Cafe sir. All patrons must submit orders through our RTFMS and we handle only the orders we feel are worth our time. Now, if you were a friend of mine, or a large corporation I might not make you fill out the form, but since you’re being a jerk I’m going to request that you fill out an RTFMS request.”
Z: “Alright, fine. I’ll fill out your fucking form. I’m curious to see if you’ll do it:”


Z: “There, can I get some cookies that don’t have turds in them now?”
FB: “Oh see now you’re just being rude. You have to show some respect. I mean, I just gave you free cookies and this is how you treat me? What an asshole.”
Z: “Oh, ok how about this fuckface:”


FB: “Sir, that is not being constructive.”
Z: “Oh you want constructive:”


Z: “Fuck you and your fucking turd cookies FLOSS Bro. I’m going to go start a restaurant that doesn’t put turds in their cookies and put you out of fucking business.”
FB: “Fine! You go do that! It’ll fail because you’re not positive and constructive and supportive of my work! I do this in my spare time you know!”
Z: “Probably because you suck so bad nobody would pay you to do it for real.”
FB: “Fuck you! You don’t get the entire concept of free cookies! If I give you free cookies you have to worship me! Worship me for my free cookies asshole!”
Z: “I see! The truth comes out! I have to worship you and it’s not about having the best cookies in town. It’s about you being recognized by giant sentient flies and nobody else. Fuck off!” Slams door.
Fly: Walks up chewing on turd cookies. “That guy’s such an asshole. These cookies rock.”
FB: “Thank you Larry. I’m glad you’re happy.” Looks out at empty restaurant.

I Can Kill Any Computer

I’ve been fighting the Pearson royalty payment system for about 4 months now. It seems every time I touch it I break something or other about it, and I’m sure it really only happens to me. This time I changed my address and that didn’t work. So then I tried to setup direct deposit of my checks and that didn’t work because they didn’t recognize my bank (which is a massive bank). A few weeks later they finally recognized my bank, so I setup direct deposit and then I have been in pending status for about 2 weeks. Checking in today I was told that, you’ll love this, they don’t know why they can’t see my new settings. I’m apparently in some kind of strange royalty payment purgatory and the only way out is to fax them paper versions of the same requests so they can use their other system to update my record.

Yes, to get paid by Pearson, I have to fax two pieces of paper to the royalty department so that they can look in the royalty department database and fix the record I can see on their website but that they can’t see.

This apparently only happens to me, and it’s fairly consistent. You want to find out if your software works well? Have me try to use it. I tried out Blogo for about two minutes and ran into errors all over the place. Images not being put in the right spot, bold text not working, just loads of little things that only I encountered doing crazy things like adding images and making stuff bold. They fixed them up and I’m still using it now. It’s actually really nice. I’m just cursed with a weird devil hand that drives software insane is all.

Google is another one that has been fighting me all week. I am apparently the only person who cannot use Kubernetes. Nearly everything I try ends in disaster. Not a single getting started guide has worked, not even on their GKE platform. Firewalls don’t work. Compute nodes don’t work. My account does weird things here and there. No idea what I could be doing wrong, and I follow along with 4 of their documents with the same results. Running Kubernetes myself is the same results. Doesn’t run here. Doesn’t run there. Needs this. Needs that. Needs docker to build dockers that have dockers that build Kubernetes that only runs in dockers on core OS from boot to docker that is a container in a container that has OS X running Kubernetes with….

Yep, I’m just cursed to trigger nearly every bug you have. You changed an option? That’s the one I’ll run. You got a race condition that only happens in one version of Vagrant and one version of Linux? That’s the one I’ll try first. And I’m not being weird when I make these choices since most of the time I’m trying to write a book so I stay fairly vanilla. I just seem to trigger bugs along the way is all.

Another time my bank couldn’t connect my business credit card to my business bank account. I’d asked them repeatedly for months to do this with no success. This was mostly over their dumb internal email thing, but finally calling them on the phone led to a 40 minute call center threesome with me and two other people who then had to bring in a fourth guy who worked in “databases”. For some reason, I just had one wrong bit set in one wrong place and there was no explanation. I just didn’t have it, and it was a major deal to fix my account. But why? “No idea sir, you just had the wrong setting.”

That devil hand at work again. Computers crash on me. Every Mac I’ve owned has tanked in the first week and needed repairs or replacing. Hard drives freeze up. It happens so often friends don’t believe me. There’s no way anyone has those problems. I do. All the time.

I’ve also found that if I tell people about these bugs they tend to lose it, even if I’m nice about it. I constantly have to double login at Paypal. I complained about it and holy fucking jeebus did those dudes lose their shit. Assholes from eBay emailed me like they were going to kick my ass because I pointed out the fucking obvious that making someone log in twice to a financial website means customers can be phished on the first login. After random eBay assholes harass me I just stopped being nice. I went from saying Paypal is broken to saying they’re fucking terrible programmers. I mean fuck, if I’ve been using Paypal for years and I’m still having to log in twice every time then it’s not me it’s you jackasses. Fix your shit. Nobody else with authentication has this problem but fucking Paypal.

Oh, and I don’t fucking work for you. I’m not going to waste 15-30 minutes navigating your bullshit bug tracker, filling out every random Jira/Bugzilla/Confluence/AgileXPHardon12000 tracking data point just so you can ignore me. You fill out the damn ticket and ask me if it’s right. That’s what I do. I don’t make other people fill out bug reports. That’s just rude.

I’m convinced that this is what made me good at writing software. I bring computational disaster upon myself so frequently that I just assume everything I touch is tainted and write software that protects against it as best I can. I’m like the coder from Salusa Secondus who had no idea things weren’t supposed to be this broken and ended up just making things solid to avoid it. It is fun at times, but after two decades of constantly have to anticipate I’m getting tired of it.

If you want to find out how good your software is get me to use it. I’ve brought systems to their knees just casually clicking around. When that doesn’t work I do “crazy” things like, change my photo, or update my DNS records. Things you totally didn’t anticipate someone doing? Yup, I’ll end up doing it and then you’ll sigh and tell me nobody does that and I’ll just shrug and move on to the next product until one stops crapping out on me.

P.S. Blogo still fucks up bold. Sigh.

And Then You Have No Taste

There’s a presentation a while back by Randy Nelson, Dean of Pixar University, where he says that Pixar is all about, “How can I plus this?” He goes on at great length to say that if you’re collaborating on something with someone else you can’t say that what they made isn’t very good, but instead you have to say how can you “plus it” and make it better (which is basically a passive aggressive way to say it sucks).

This all comes from the Improv Comedy crowd where you are trained to go with whatever your improv partners come up with and try to roll with it. It’s a seductive idea that you can work with people who will never tell you, “That’s fucking stupid.” Even if you are being a total idiot, nobody will ever say it, and so, you can safely throw out ideas and everyone will be happy and the world will improve because everything is just oh so positive and awesome and pretty soon we’re all riding around in flying cars like we were promised! It was negativity that killed flying cars! NEG A TIVIT EE!!

No, sorry people. Negativity and criticism are an important part of creating anything of quality. You have to be critical of what you make or else you end up making total crap and never improve. That’s just the way it is, but it’s curious to wonder what kind of an arrogant asshole thinks that nobody should criticize their work? Who are these people who want to make things and never have it criticized? I mean, my output gets ridiculed all the time, with rampant numbers of totally brutal commenters tossing around their opinions to the point of slander. I actually mine it for potential fixes to what I’m making. It’s difficult, but it’s possible for me to wade through the vitriol and either find something that needs fixing, or find a catch phrase to use as a defense against the critics.

Taking criticism in stride is just part of quality, and trying to eliminate any criticism of your ideas is a sign of both immaturity and abuse of power. If nobody can criticize what you make then you are elevated to the realm of kings and despots. Fuck, even the Pope is down with criticism now. Are you more important than the damn Pope? Nope. So get off your damn Throne of Impeachable Perfection and learn to recognize when your work sucks. If you do this often enough you’ll be able to fix it yourself before anyone else can see it. You’ll…GASP…learn.

I think the real problem is that a person who gets all butt sore from being told their output is crap is someone who isn’t being honest with the real quality of their work and isn’t working on it personally before presenting it to their peers as legitimately developed. When I post my paintings I give an honest assessment of them. The vast majority of them suck, and will continue to suck because I’m still learning, and I’ll be learning for the rest of my life. The word we use for an artist who believes everything they make is fantastic is “delusional”. You want to see what “and then” does to art? Go to Craigslist arts and crafts and set the price to >$500. Watch all the people who believe the art they purchased or made is fantastic.

I see this all the time with code as well. Programmers are notorious for building crystal palaces crafted of finely tuned deeply complex structures that follow all the rules, binding together every meta-pattern possible, following all the best TDD, pair programmed perfectly, and they end up with a total shit show of a project. They never think to ask, “Does this really improve my project?” Others keep piling code on top of code on top of code endlessly never realizing that they need to look at what they’ve written and ask, “Alright, what do I have to trim down? What should I remove? Rewrite? What’s crap?”

It gets even worse when you criticize personal projects. The worst habit of all people who make stuff is to use the personal as a defense against criticism. Artists do it by claiming their art is about some personal tragedy protecting them from criticism of their work. Programmers do it by claiming their project is a labor of love and open source, protecting them from anger about bugs they’ve made that ruin people’s day or life. It’s almost as if they work on something, “and then” it into existence with no critical eye, and when challenged on the quality, invent insult to avoid having to admit what they made sucked and needs to improve.

However, the very main reason that “and then” culture is wrong is it’s nothing more than a passive aggressive power play. Did you know that Pixar STARTED the wage theft scandal that robbed illustrators, programmers, janitors, marketing specialists, writers, and every Pixar employee of potentially hundreds of millions in wages? Ed Catmull, President of Pixar, is even entirely unapologetic about doing this. How much you want to bet when someone questioned Ed on the legality of this brilliant idea Ed fired them for not being a team player who plussed his ideas? Someone probably brought up the morality of this question to Ed and he simply went, “Well I don’t know Frank, looks like you aren’t real Pixar material. At Pixar we PLUS ideas, not shoot them down or criticize them. Maybe you should go work at Dreamworks with the other assholes?”

Of course, you’ll say, “But Pixar produces hits doing this!” First off, they follow a formula laid out by Save The Cat, which doesn’t take much creativity to produce a hit. Save The Cat produces their hits. Second, I’m betting cash money that their claims of plussing all day long are bullshit. I’m willing to put down $1000 right now that they have a hidden back catalog of total shit ideas for movies that never went anywhere and weren’t ever produced, which means they definitely don’t plus everything and are definitely using criticism. The above video is nothing more than the lies companies tell prospective employees to recruit them, not any real depiction of how they work.

The truth of every company that claims they have this super collaborative never critical creative type utopia is this utopia ends up breeding guys like Ed Catmull who take advantage of all the doe eyed Andtheners. It’s a culture that is right up there with meritocracies in their ability to turn a potentially good idea into a way to simply abuse people for not fitting in.

Another Way

The straw man reply to this will obviously be:

“Oh! So you think everyone should run around setting people on fire with insane vitriol based on every flaw in their ideas? You want to make a hostile work environment! You hate delicate little creative souls who work all day to pour their hearts into what they make and just want to shit on their precious little lives! Fuck you!”

Really? What happened to “and then…”? Hmm? If you think it’s awesome working in an environment where everything you do is applauded like you’re in kindergarten then think again. The truth is, if you actually give a shit about being good at something then you’ll know that people are blowing smoke up your ass and find it incredibly annoying. Not to mention the fact that these supposed creative utopias are never anything like they seem. Given all of these supposed utopias are powered by people I guarantee you find back stabbing, back room dealing, social manipulation, favoritism and power plays just like you do with meritocracies. Any time you see unrealistic claims of utopia you can just bet its hiding something sinister, and Pixar’s wage theft scandal is proof positive I’m right. Their work environment is not better than an honest collaborative work environment. It’s nothing more than a way to convince employees to go with any idea handed them while management avoids any accountability.

No, I do not think the inverse of ruthless constant abusive criticism for some kind of weird darwinian environment works either. Nobody against “and then” is for abuse. This claim that all criticism is abuse is just another straw man tactic to avoid dealing with honest criticism, but also calling criticism “abuse” is the belief of a child. Adults understand the difference between “I don’t think this will work” and “I think you’re a fucking piece of shit.” Nobody has the right to insult you, but you also don’t have the right to shut down their thoughts on your ideas with claims of abuse. More importantly, an actual functioning criticism proposes alternatives, which is something that’s an entire other blog post about the failure of critical theory in engineering.

In fact, I advocate a mixture of both modes of thinking to produce honestly good ideas and to kill off seriously bad ones early. Here’s how I work on all of the many, many, many creative projects I do and succeed at:

  1. Start with your idea on your own and look to improve it and mold it without a critical eye. Criticism will kill the beginning of a thought or idea, so just get it down and express it.
  2. After you’ve gone through a creative phase and you’re feeling good, it’s time to get real. Be realistic and objective about the idea. If it helps, come up with a rubric of things to look for. I do this with painting, code, and writing. I have a list of things I go through and check for that I try to avoid, but I don’t apply this rubric until I’ve got the idea out and can step back. Sometimes days later.
  3. Repeat this cycle in a kind of random walk of creating and criticizing until you’ve refined the idea. The key is to throw shit out. Not every damn idea out of your head is good. You have to kill things off and toss them out to make room for other good ideas. If you’re keeping a good log of what you’ve done you can always add it back in or turn your castoffs into other ideas. But refining means refining.

Notice in step #1 I said “on your own”? I believe the flaw of teams is that they try to come up with ideas as a team. What I believe works better is if individuals come up with ideas and create in the beginning, and then teams produce the good ideas. If you think of writing that’s how it works. I write a first draft, creating the idea and getting it about 60-80% of the way there. Then a team works on the draft to take it through a production process that makes it high quality and professional. How to do this in a team environment is the subject of an entire industry of books, so I won’t go into it in a stupid blog post, but the gist of it is that without a team to produce ideas it’s too hard to make a final professional product in many of today’s disciplines.

In the end a policy of banning criticism will only lead to everyone “plussing” every stupid ass idea, no matter how vile it is. Despite what Pixar claims, I’m damn sure they don’t operate in this utopia of perfect plussing everything that’s around. I know there’s brutal criticism from the people in charge, and the fact that Ed Catmull screwed all of his employees for years is the proof you need. However, if you’re thinking of instituting an “and then” policy then keep this last fact in mind:

Nobody buying your shit is an Andthener. Maybe in Silicon Valley you’re surrounded by a bunch of Andtheners, but the rest of the world can look at stuff and decide it fucking sucks.

Artists And Entrepreneurs Oh My

The Atlantic has this incredibly long winded and very one-sided view of art history that makes the claim that entrepreneurs are the new artists. At first I thought this was a huge load of bullshit, but then I realized they may be on to something. I thought about it for, like, 5 minutes more and realized that The Atlantic is brilliant! They have nailed it. The entrepreneur and the artist have so much in common.


I have this new theory on accomplishment that you can say you are good at a thing once you either get paid or laid doing it. Since most artists never get paid for their work, all they have is getting laid to prove that they’re actually accomplished at making colorful wall decorations for incredibly rich assholes to hide in their mansions. This is why artists strive so hard to be sexy, but they don’t have to try very hard because our society has placed them near the top of the boning scale. When you read about artists you find out that they’re simply banging everything. Men, women, cans of paint, animals, everything. They’re so desirable for their ability to apply pigment in ways that makes wealthy people wealthier that they can simply walk down the street and get some hot BDSM action.

But who’s at the top of this scale of getting laid? That’s right, the wealthy. There are people so wealthy they can throw Nazi themed sex parties with super models and artists in attendance without any problems. The entrepreneur just has to pretend he’s on track to be wealthy and he can viagra his way right to the tippy top boning ranks on the promise that one day he might invent Uber and stop being an ugly lumpy looking trollkin looking thing just like Travis Kalanick.

World Changing

Entrepreneurs and artists are both about changing the world. For the artist it’s by selling piles of garbage, paintings of incomprehensible color patterns, sculptures of dildos, or literally nothing to incredibly wealthy patrons who then hide the art in their mansions so nobody can see it. By selling art to the crazy wealthy, artists are being socially conscious participants in the world and making sure that poor kids in Detroit can see art every day. That’s how you change the world when you’re an artist. You soften the hearts of the wealthy while they’re banging a stripper at their Nazi themed sex parties.

Entrepreneurs are also trying to change the world with their glorious startups. For them it’s all about selling the startup to the same wealthy patrons either through investments or just getting bought out after they’ve driven their business into the ground. They’ll change the world with their “uber for diapers” for sure, and everyone in the company will benefit from their stock options and make like $5000 whole dollars after the investors make their millions or billions. ‘Cause that’s how you change the world my friends. By fattening the pockets of the wealthy while they’re filling a warehouse with meth to give to the strippers they keep in their dungeon.


Artists love to say that there needs to be more artists and that means they shouldn’t have to work a shitty day job like the rest of us “non-creatives” to be able to do what we love. As Molly Crabapple said over at Boing Boing:

“The number one thing that would let more independent artists exists in America is a universal basic income.”

Molly sells her art to really super wealthy people, so she knows that in order to have more art end up in the hands of crazy wealthy assholes, you need more artists. I mean, how else can they speculate on the art market if there’s not more people producing art to speculate on? It’s like when banks were hiring crackheads to help fill out loan applications in 2008. If you have wild speculation on something, you will find just about anyone to make it for you.

But read that quote again. Apparently artists are so entitled and so special (and also mostly white) that they feel they deserve totally free money with no strings attached for simply existing. Notice she didn’t say, “The country would a better place if there was a universal basic income.” She didn’t even say, “We could help the poor with a universal basic income.” She said, “The way you take all those rich kids who can afford $180k in tuition and turn them into ‘artists’ is to give them money to blow on heroin rather than working like the rest of us.” I still don’t know why artists think they shouldn’t have to work like everyone else to gain the freedom to do what they love, but apparently it’s super important. Probably involves giving children and the poor things that will actually just benefit someone wealthy.

Artists are so entitled now that they don’t even want to suffer for their art, but if you want even more entitlement then you need to look no further than entrepreneurs. Entrepreneurs are so special, and so unique, that we debate whether they’re born or made. They are special breeds of humans who are real men taking risks that nobody else will by taking money from incredibly wealthy people in loans that have zero risk to them. Entrepreneurs are the good looking, strong willed, powerful future despots of the Kingdom of Corporate and everyone else is just a worthless nobody who needs to work for them.

And just like artists, entrepreneurs feel they should be given free money just because they exist and can sling together two words around a preposition. Once they get that money their entire life’s goal is to then avoid working at all costs. It’s the entrepreneur dream to make his bank then go steal a public access beach like the Ocean Grinch.


Artists are very important. Why? Pfft. How dare you ask that! Because art is important! No, not everyone can make art silly. Only true artists can make art, and you better not question their socially conscious washing machine scupltures because that’s just an affront to all that is art. How dare you have an opinion on what you like, commoner. You commoners are so lacking in social consciousness it disgusts me. Art feeds the souls of the poor wealthy men who can afford to buy it. Art helps children who’s parents are rich enough to live near schools with art programs. Art is everything, and by extension so is everyone who calls anything they do “art”. Artists are vastly important, and even though everything anyone produces is valid art, not everyone can make just anything like an artist can make just anything and call it art.

Entrepreneurs are just as important. Everything they make is clearly going to change the world. Whether that’s helping Starbucks open more Starbucks, making the cold fusion of batteries, or automating AirBNB, they are definitely changing the world. They’re going to make those poor wealthy investors so much more money that they’ll have no choice but to give their employees another, like, thousand dollars in bonuses once they get sold to Google as a pity deal. Entrepreneurs are the life blood of the world and when they gain power, wow, do they do great things with their money.

Entreprenuers are so important that they are mythological beings who are the sacred guardians of bitcoin (who apparently told a judge he should be released so he can change the world).


It’s true. I now see it. Entrepreneurs and artists now share that incredible sweet spot in our society of being given positions of great status for doing so little. They are allowed to produce anything and declare it a sign that they are somehow more special than the rest of us. More important. More deserving of favor than us common idiots who work boring day jobs. No longer should they have to struggle to do their important work of making things for the ultra wealthy. No my dear readers, they are everything in our society and champions of our plight.

Artists and Entrepreneurs belong together.

Admitting Defeat On K&R in LCTHW

I have lost. I am giving up after years of trying to figure out how I can get the message out that the way C has been written since its invention is flawed. Originally I had a section of my book called Deconstructing K&R C. The purpose of the section is to teach people to never assume that their code is correct, or that the code of anyone, no matter how famous, is free of defects. This doesn’t seem to be a revolutionary idea, and to me is just part of how you analyze code for defects and get better at making your own work solid.

Over the years, this one piece of writing has tanked the book and received more criticism and more insults than any other thing I’ve written. Not only that, but the criticisms of this part of the book end up being along the lines of, “You’re right, but you’re wrong that their code is bad.” I cannot fathom how a group of people who are supposedly so intelligent and geared toward rational thought can hold in their head the idea that I can be wrong, and also right at the same time. I’ve had to battle pedants on ##c IRC channels, email chains, comments, and in every case they come up with minor tiny weird little pedantic jabs that require ever more logical modifications to my prose to convince them.

The interesting data point is that before I wrote that part of the book I received positive comments about the book. It was a work in progress so I felt it’d need to be improved for sure. I even setup a bounty at one point to get people to help with that. Sadly, once they were blinded by their own hero worship the tone changed dramatically. I became actually hated. For doing nothing more than trying to teach people how to use an error prone shitty language like C safely. Something I’m pretty good at.

It didn’t matter that most of these detractors admitted to me that they don’t code C anymore, that they don’t teach it, and that they just memorized the standard so they could “help” people. It didn’t matter that I was entirely open to trying to fix things and even offered to pay people bounties to help fix it. It didn’t matter that this could get more people to love C and help others get into programming. All that mattered was I “insulted” their heroes and that means everything I said is permanently broken, never to be deemed worthy ever again.

Frankly, this is the deep dark ugly evil side of programming culture. They talk all day long of how, “We’re all in this together” but if you don’t bow to the great altar of their vast knowledge and beg them for permission to question what they believe you are suddenly the enemy. Programmers consistently go out of their way to set themselves up in positions of power that require others to pay homage to their brilliant ability to memorize standards or know obscure trivia, and will do their very best to destroy anyone who dares question that.

It’s disgusting, and there’s nothing I can do about it. I cannot help old programmers. They are all doomed. Destined to have all the knowledge they accumulated through standards memorization evaporate at the next turn of the worm. They have no interest in questioning the way things are and potentially improving things, or helping teach their craft to others unless that education involves a metric ton of ass kissing to make them feel good. Old programmers are just screwed.

I can’t do anything about their current power over younger new programmers. I can’t prevent the slander by incompetent people who haven’t worked as professional C coders…ever. And I’d rather make the book useful for people who can learn C and how to make it solid than fight a bunch of closed minded conservatives who’s only joy in life is feeling like they know more about a pedantic pathetically small topic like C undefined behavior.

With that in mind, I’m removing the K&R C part of the book and I finally have my new theme. I’ve wanted to rewrite the book but couldn’t figure out how to do it. I was held in limbo because I was personally too attached to something I felt was important, but that I couldn’t advance forward. I now realize this was wrong because it prevented me from teaching many new programmers important skills unrelated to C. Skills in rigor, code analysis, defects, security flaws, and how to learn any programming language.

Now I know that I will make the book a course in writing the best secure C code possible and breaking C code as a way to learn both C and also rigorous programming. I will fill it with pandering to the pedants saying that my humble book is merely a gateway to C and that all should go read K&R C and worship at the feet of the great golden codes held within. I will make it clear that my version of C is limited and odd on purpose because it makes my code safe. I will be sure to mention all of the pedantic things that every pedant demands about NULL pointers on a PDP-11 computer from the 1960s.

And then I will also tell people to never write another C program again. It won’t be obvious. It won’t be outright, but my goal will be to move people right off C onto other languages that are doing it better. Go, Rust, and Swift, come to mind as recent entrants that can handle the majority of tasks that C does now, so I will push people there. I will tell them that their skills at finding defects, and rigorous analysis of C code will pay massive dividends in every language and make learning any other language possible.

But C? C’s dead. It’s the language for old programmers who want to debate section A.6.2 paragraph 4 of the undefined behavior of pointers. Good riddance. I’m going to go learn Go.

UPDATE: I’m going to learn Go, Rust, and Swift. Holy crap. Stop being so religious about who learns what. I learn languages now to teach them to people, not because I plan on using them for anything. Don’t listen to me as a barometer of what’s cool now. Peace.

If It’s Flow, It’s Art

I can hear it now. “Ohhh lord Jeebus, not another programmer who thinks code is art.” Problem is, everyone who is an artist loves to play this hypocritical game where everything they do is art, even if it’s chicken strapped to their underwear. Yet, anyone else who’s not in the artist club can’t call anything they do art. They want to dance on the edge where they can sell any random pile of garbage to rich wealthy douchebags, but if you try to say that the C++ code you slaved over for a year is art then you’re wrong. Sorry nerd, you don’t have neck tattoos and heroin track marks so you can’t possibly be doing art.

I’m sorry but if an artist can strap poultry to her panties, pile garbage on the floor, or do literally nothing, then everything anybody does is art including my very finely crafted C code, the turd I squeezed out this morning, and my pastel paintings. Basically, if you want to call what you do art, then it’s art. If anyone tries to tell you it’s not, then they’re not artists. QED. Moving on now.

What I actually want to talk about though is not why code is art from an external perspective that requires the judgements of the tattoo class, but rather a view on what is art from the perspective of what it does to you when you do it. I hadn’t thought of this view of “what is art” until I started learning to paint. Painting and drawing had a very familiar sensation I’ve experienced while deep in the throes of programming, writing, dancing, or playing music. This intense feeling of concentration where time stops and everything in my body and mind works seamlessly as if my self doesn’t exist. Leaps of intuition, euphoria, and relaxation are all things that programmers, musicians, artists, and writers experience when they’re very deep in their craft. A sensation of flow is a common thread through all of them and most likely many more activities that require intense concentration in an altered state of brain activity.

In Gary Marcus’ book Guitar Zero he discusses how there is no special “music part” of your brain. Instead the research suggests that playing music involves your entire brain using many parts in cooperation, but that each part is doing a different thing than its normal function while you play. During its day job a part handles language, then when you play music it detects note intervals. Another part’s day job is tracking moving objects, then when you play music it handles timing. When you’re done playing music they switch back to their day jobs and you snap back to normal.

I believe that this same phenomenon happens with (but not limited to) programming, visual art, music, dancing, and writing. These are all activities that are fairly recent in human history, not innate natural things we do but require education, and all seem to require this same altered brain function. In addition to this, it’s possible that receivers of the output from these activities also experience the same sensations when they’re listening to music, viewing visual art, or reading.

This phenomenon could explain both the sensation of flow, and it could explain why people like doing these activities. It could be that flow is simply the ability to make the parts of your brain do something different for a little while. A kind of vacation for your hippocampus. That would also explain why it takes training, is tiring, and in many ways why it is difficult to recover from. Many programmers, artists, and musicians talk about the difficulty of interacting with others after an extended period of this altered brain function.

In addition to this, people may enjoy the sensation because it provides a similar altered consciousness that they’d get from drugs, alcohol, meditation, religious experiences, but with much less effort or negative results. Instead of having to sit quietly for hours praying or meditating you can do some art, read, write, or code. In Europe there was a tradition of art being used as a sort of meditation device for worshippers to visualize parts of the bible while they prayed, and it was thought that artists channeled God when they painted or sculpted. It could be the origins of this are in the phenomenon of flow. It would explain why art, music, and religion are so commonly combined.

I now believe that an activity is an art if it causes this feeling of flow and requires an altered brain function to do. Not what the output of this activity is, but what creating that output does to your brain. What makes coding an art is that it requires making your brain do something it’s not normally designed to do which then causes a sensation similar to meditation and requires effort but feels effortless.

I also have this vague idea that this could be a key to improving art education. Currently art education is about the outward result of the artist. Can they produce a painting that looks like a thing? Can they pile garbage on the floor? Can they play Jazz standards? Can they analyze an Algorithm? However, what if art, music, and programming education had the additional higher purpose of using that art to help students learn this skill of flow? That if the student is able to do this little mental trick then they’ll get much more enjoyment out of the activity than just what they produce. It would be a goal of mental health through teaching a practical skill. Although that sounds kind of crazy now that I write it.

Now I think that if what you do gives you flow, then it’s art. I could even go so far as to say that the best art causes this flow in others, and if you’ve ever seen someone play a video game or browse the internet for days on end, then you know programming beats everything in that department.