Killing Magic

I’m sitting with a friend who is an accomplished musician.  Record deals, multiple albums, and you’ve probably heard her songs on a TV show or commercial or two. She tells me that she doesn’t want to teach music because she’s afraid it would lose its magic.  There’s a mystical mystery about how she makes music and she’s afraid she’ll ruin that special quality if she has to figure out how she does it.  It won’t flow the same.

My response was something that I’ve believed my whole life:  “Magic just hides something’s true beauty.  It’s a con.  A trick that makes you love the magic rather than the real thing.  Once you actually learn how it really works, sure, the magic goes away, but then you get to fall in love with the beauty of the real thing. Real things are always simpler and more beautiful than the magic hiding them.”

Or something like that.  I probably actually sounded a lot less cool than that, but that was the idea.  I’ve found that magic just obfuscates and blurs what I’m really seeing.  Whether that magic is an accident of my perception of reality–or an actual sleight of hand by someone else–doesn’t matter.  What does matter is once I strip the magic away, and find the real simple principles hidden by the wizard, I see the real thing is better.

Of course sometimes I strip the magic away and find that the real thing is an ugly turd hiding in a golden box.  A lot of programming languages and technology are like this.  There’s all this bluster and flourish pushing a magical view of their benefits.  Then I dig a little and this magic simply hides a terrible design, poor implementation, and random warts.  It seems everyone in technology aspires to nothing more than creating enough of a code mannequin to hold up an invisible emperor’s gown.

One of the reasons people resent my opinions on technology is I have an ability to crush their fantastical magical views of technology.  It’s hard to be an Apple fan when there’s a guy pointing out that they frequently allow developers to invade their customer’s privacy, stole wages from employees, and make shitty  hardware that crashes and reboots if you don’t log in fast enough.  You can’t be enamored with Python if someone points out that its APIs are constantly asymmetrical and that Python 3 has a shitty UTF-8 strings implementation.

My mission in life has been to illuminate magic to expose the ugliness or beauty it hides because I believe magic enslaves people to others.  With magic you can convince them of almost anything, and even change the magic and they’ll keep following the wizard’s edicts.  Stripping the magic away gives people the freedom to choose what their reality will be, rather than rely on someone else to define it for them.

A key element of this mission is education.  I proved with my books that there really is no magic to learning to code.  The people who could do it weren’t special geniuses. Almost anyone could learn to do it given enough time and the right learning material.  Once it was clear that programmers aren’t special, it freed others from the magical aura surrounding programming and opened the practice up to a much wider range of people.

Education then becomes the practice of breaking magic to expose reality.  I study a topic and figure out how people are really doing it.  I find all the tricks they use, strip away the things that are just bluster and showmanship, find the lies they use to puff up their personas, and then teach the simplest real version of the topic.  This then opens the topic to a much wider range of people who can now enjoy it and improve their own lives.

Many times the practitioners aren’t purposefully trying to hide what they do because they don’t even know how they do it.  Most practitioners simply cargo cult a set of random practices they’re sure are the secret sauce.  Usually these secret practices are nothing more than extraneous rituals getting in the way of the real task at hand.  This educational acetone sometimes embarrasses these practitioners since nobody wants to be seen as believing in pointless rituals and magic.  That’s fine, but really they should be happy to find another path to what they love.  One that’s not full of obfuscation and rituals that only serve to enslave them to a limited palette of skills.


I Moved to Miami

I moved to San Francisco in 2010 to work at a startup.  At the time I was living in NYC and the technology hacking scene there was utter garbage.  It was dominated by these stupid “artists” who had a strangle hold on the local scene and ostracized anyone who wasn’t cool, hip, GGG, libertine hacker guys like them.  I still remember wondering where the hell they all got their thick rimmed black glasses?  Did they rob a Warby Parker or something?

At first living in San Francisco was great, and it really was the technologist’s paradise I envisioned.  Then the tech bros showed up.  As the money in tech prolapsed into the local economy the brogrammers in the industry confused their acquisition of a loan with being real super dudes.  This the fueled the anti-intellectual libertines of San Francisco to skip a couple burning man orgies and fight the brogrammers for the intestines of the city.

This really makes the city an ugly place to live and work, and I hope in the future technology companies simply avoid San Francisco.  Not because San Francisco is necessarily a bad city.  The entire bay area definitely has a huge problem with corruption and graft, more than any other city I’ve lived in.  Rather, this constant fight between the wannabe libertines just trying to get whipped at The Citadel, and the brogrammers living off Zuck’s scraps, ends up ruining what could be a fantastic place to live.

San Francisco will always be a bitter sweet place for me in my life.  On the one hand, my books took off there and I was able to start a new career doing something I really enjoy.  I also learned to paint, which I will always cherish for the rest of my life.  I loved some women so deeply it still makes me sad that they didn’t work out in the end.  San Francisco was also where I had the most terrible heart breaks of my life.  Where I saw the most violence and governmental indifference I’d ever seen.  Where I encountered groups of people who abused and fed off their peers for tiny scraps of small points on worthless startups, and other groups who attacked their fellow denizens for simply having a job.

My fondest memory of San Francisco will be the sunny days I spent at Union Square, playing guitars I made and talking to random wonderful weird regulars.  Union Square healed the hands broken by a terrible NYC teacher and his “improved” scales.  Without that warm sunshine and an open place to just do scales for hours I would have given up on guitar entirely.  Now my hands str all fixed up and I’ll always remember what that felt like.

I’ll also remember that I first learned to draw at Fort Mason on March 13, 2014.  I mean I think that’s right, but that’s close enough for the memory.  I’ll remember sitting there, looking at the docks, drawing the scene, feeling that blissful peace I have when I paint or draw now, listening to my lover hum and draw along with me.  It’ll always be a permanent loving memory for me that helps me realize not everything in San Francisco was bad.

I’ll also miss all the incredible museums and art schools.  I owe the Legion of Honor, the De Young, the SF MOMA, and the SFAI so much for teaching me about art from all time periods.  If you live there and you aren’t going to the museums on a regular basis you are truly missing out on one of the gems of the US museum world.  If you can also pop a flight down to LA and visit the Getty you definitely should.  The Getty is a work of art on its own and I probably went there 20 times for whole days just because.

New York is that lover I sometimes check out to see if she’s doing alright.  She was actually cool and way out of my league. I just wasn’t cool enough for her at the time.  San Francisco will always be that lover who made me feel awesome and successful while cheating on me and calling me a “fag nerd”.  Those places are all over for me now, except for the occasional visit.  Goodbye, it was fun…almost…I mean yeah you know what I mean.

Why Miami?

The first reason is simply it was time for a change.  I actually wanted to leave a few years ago but things always kept me there.  Relationships, art schools, work, or just too many guitars I didn’t want to ship.  My time in San Francisco was very lonely and my only social interactions were with the women I dated, so it ended up that relationships meant a lot to me even if they were flawed and doomed to fail.  Once there was a break in this pattern I was able to finally plan a move.

The second reason is I have a goal of living and studying art overseas in the next few years.  There’s one tiny wrinkle in this:  California is ruthless about collecting taxes from people who live overseas.  Everyone I talked to said definitely move to a state without income tax before you move overseas or California will grab your bank account without any warning.  I did some research, and most states without income tax are freezing cold or fairly lame.  Florida wasn’t that appealing, but Miami seemed really great when I visited.  Clean, modern, everyone is generally happy, great weather, and easy to live here.  I don’t even need a car here.

I’m also looking to improve my landscape painting, marine painting, and art in general, and Miami has a killer art scene.   I’d say way better than San Francisco in terms of actual art sales, although so far the Museums here are nothing compared to San Francisco’s.  Miami just fits my idea of a new place to paint different landscapes and improve my artistic practice while also saving money on rent.

The final reason is I wanted a place that wasn’t so pissed off and depressed all the time.  I tell people when you live in a city you can sort of feel a personality permeating everything.  The personality of New York was a bipolar court jester.  There were days you could tell NYC was pissed off at you, other days where Gotham loved you like a mother, and most of the time it was fucking hilarious.  San Francisco’s personality is definitely that of a depressed but brilliant failed artist.  It was always sad that it wasn’t considered a greater city and jealous everyone overlooked it’s good qualities, so it took that out on everyone living there.   I guess in many ways I kind of adopted the personalities of the cities while I lived there.

I don’t know what Miami is like yet, but I’m getting the sense that Miami actually doesn’t give a fuck what I think about her.  Miami is looking too fabulous to care.



Riot Games is Violating California Employment Law

An interesting study comes trolling across my twitter feed claiming that there’s a correlation between workplace behavior and in-game behavior at Riot games.  I have a friend who works there so I thought, “Hey, that’s a neat study let’s see what they did.”  What I read in the article turns out to be a massive employment law violation on many levels and I predict Riot will be sued for this and other practices in the near future.

In the article they describe how they went into employee’s past game behavior, mined it for “toxic speech” and then used that information to correlate with the past employees who have been fired.  The article mentions “passive aggression” as one of the toxic behaviors, so keep this in mind as I discuss how illegal this is.  People were being identified based on either a flawed sentiment analysis of how snarky they were, or a manager’s assessment of whether they were being snarky.

This was then used to identify other employees who needed to either be reprimanded or straight up fired:

Riot also found that a player’s toxicity was a fluid thing and not immutable. Like moods, toxicity levels can fluctuate. Riot could measure and predict toxicity trajectories of players over time, and so they set about seeing if they could improve the player behavior of their employees.

Riot identified the 30 most toxic employees (all of whom were more junior Rioters, new to the working world) and classified them into two categories:

  • this person needs a stern warning
  • this person should leave Riot, because their in-game chat was unusually toxic

Look at that last bullet point.  The article says they used an analysis of employee’s game play to decide if they should be fired.  This game play was based on behavior the employee did not know would be used to fire them and was collected without the employees’ explicit permission.  In addition to this, the employees are most likely expected to play the game or have to play it to do their jobs.

Riot games is now in the process of turning this into a way to exclude future employees and to automate this and place it in their applicant tracking system without informing the applicant about their decision. To quote the article :

Riot is a quickly growing company with managers eager to fill seats, but the organization wants to make sure they don’t make any bad hires. The team is now trying to figure out how to use this in-game information as a signal during the hiring process. Riot asks applicants for their in-game handle during the application process so they can review their gameplay and identify any toxic chats and behaviors.

Riot is experimenting with displaying this information in their applicant tracking system using a simple stoplight code – red, yellow, green. For any applicant flagged “red” (the most toxic), there are sample chat logs so a recruiter or hiring manager can see how an applicant conducts themselves in the very product they’re hoping to work on.”


All The Things Wrong

1. California Labor Code 980 (link) states they can’t do this, except that there’s a section that states, “Nothing in this section precludes an employer from requiring or requesting an employee to disclose a username, password, or other method for the purpose of accessing an employer-issued electronic device.” Which means a phone or laptop the employee was given, not anything else.  The gray area here is in the fact that Riot games happens to own the system being mined, so that’s where a case would hinge.  Given the spirit of the law I believe that Riot is violating it.

2. Their use of statistics to bucket employees into “reprimand” or “fire” buckets is incredibly dubious and I’m guaranteeing if I saw their methods I could rip them to shreds in a few minutes.  I only have a couple of graduate level sociology classes and I can already see huge problems with this study, namely the classification of the speech as “passive aggressive” when categorizing something as vague as snark is incredibly difficult.  Either this study was done by amateurs who know nothing of sociology survey design and experimental design, or the study was done by trained Sociologists and those people have violated human trials requirements and should be held accountable.

3. Before you can study any humans you have to meet a very strict set of rules to protect people from abuse by scientific authority. The Stanford Prison experiments are the reason why we have these requirements and if you ever want to see how abusive scientists were in the early days just read about that study.  To conduct experiments on people you need to get their permission, follow strict guidelines, and provide counseling.  If you have to trick them then it’s even harder to get approval for it.  The repercussions for not following trials are vague though, but can be everything from a pulling of funding all the way to prison or lawsuits.

4. Ethically the study violates the rights of these people because it is using data based on their behavior without their knowledge that it would be used to fire them. This is key because, if you tell them that they’ll be fired for acting like dicks in the game then they’ll most likely stop doing it.  However, if you go into the past before they knew it’d be used against them then you are both violating their right to a private non-work life, and their human trials/study rights to not be experimented on without their permission. Additionally using this to fire them violates human studies requirements to provide counseling and not harm the respondent (employees).

5. You notice how the article only talks about managers analyzing employees?  The huge problem with this ethically and potentially legally is that this data is only being used to fire employees.  The managers probably don’t even play the damn game. If managers do know that it gets used to fire people.  I’ll bet you $100 the second this study was discussed all the managers went and deleted their history.  I’ll also bet you there are zero managers fired because of this.  In the same way that Netflix claims to fire all the “B players” but keeps Reid Hoffman around after he tanks the company with an email, Riot will keep managers around even after they abuse the shit out of their direct reports.

6. The probability that you’ll have bad things in your Riot Games past is proportional to how much you play, so this targets only the employees who play the game all day because their job requires it.  Not every employee at Riot plays the game.  I’m pretty sure there’s a decent number of support staff who could give a shit about the game and just want to do their job.  That leaves employees in testing, development, and other support roles who have to play the game all day long.  Given enough time, Riot will find some dirt on any employee that they can use to fire anyone they like.  All Riot has to do is mandate everyone play it, and then wait to build the dossier to use when they want to fire them.

7. Remember that this was done to every employee that played the game.  People will focus on the small percentage of toxic people and forget that Riot grabbed the chat logs of every person at the company to figure out who to fire without those employee’s permission.  I’ve never played their game, but if the game supports audio and headsets then it’s conceivable that they could record the audio of employees while they played the game in their own home before joining the company. Think about that for a second.  An employer could have potentially recorded the audio of your home to figure out if they should fire you or not.  Not even the government has that right so it’s easy to say that no company should either.  

8. Finally, most states have laws against arbitrary tests to get or keep a job.  This comes from the era when employers used IQ tests to exclude non-whites from jobs.  To understand how this happens you have to understand that the Stanford-Binet IQ test was explicitly created to re-segregate the California school system and prove that whites were better.  One question in the early test asks, “A man comes into town but his feet do not touch the ground.  What is he riding?”  The story goes that a young Native American boy responded, “A horse” to which the tester yelled, “Wrong! It’s a bicycle!”  That’s how the test excludes people who just aren’t from your home town with your culture, and using it or other super screwed up home grown tests was how employers kept non-whites from taking white people’s jobs.  We outlawed using unfair tests to determine employment because it is way too easy to abuse.  Tests that confirm you can do a skill are sometimes valid, but even then you have to be careful because if they’re based on cultural elements you can be in trouble.  In this case it might be possible to prove that Riot games used their game as a cultural test to exclude people of a particular gender or race.  If there is a trial, they should hire a sociologist to figure that out.

Know Your Rights

This act by Riot is something that deserves a class action law suit by every employee there.  There are also ethical problems with the researchers who did this (assuming they used real Ph.D. types) because of human trials requirements in Sociology and Psychology. As I mentioned before, either they used real Ph.Ds and those people knowingly violated human trials; or, they used dumbass “data scientists” and then the test is an unfair invalid test that can’t be used.  In fact, I would add the researchers to any lawsuit and make sure they are unable to receive government grants in the future.  

More importantly though, I have no fucking idea why this is being touted as something awesome.  Programmers need to get their heads out of Ayn Rand’s ass and stop worshipping corporations as some sort of infallible gods.  Corporations do not have your best interest at heart, and at best they’re giving you a place to sit and do some job while they figure out how to fuck you over.  It seems to me that too often a programmer will rant about how terrible the government is and how they violate people’s privacy and then turns a blind eye while a corporation does the exact same shit or worse.

Educational Mithridatism

Some things that you need to do are a lot like arsenic. These are activities that you know you should do, but the act of doing them simply drives you mad and feels like they are killing you. Playing scales in music is a great example of this. You sit down to study guitar and you know you should do about 30 minutes of scales, but the mindless repetitive motion and pointless sound drives you to boredom. You want to play like Stevie Ray Vaughan now! Fuck these scales!

You sit down to do these mindless, boring, stupid, pointless, annoying, exercises with no immediate value and all you see before you is a massive plate of arsenic. You want to do it now! How can playing the same scale over and over possibly help?! Now now now! Ugh, this is so boring. And then you stop before the arsenic kills you, but when you try to do what you really want you fail. You stop playing scales and then sit down to play your favorite song and can’t, then you get frustrated and give up. Fuck the guitar! It’s stupid!

Many people who react this way to practice end up only ever attempting the things they can do naturally, which is really not many things for most humans. If you can’t get immediate results without practice you give up and come up with crazy excuses about why it’s stupid. Even worse, maybe you’re the kind of person who sets insanely unrealistic goals (like learning all of Steve Vai’s repertoire in one month) so that when you fail at it you can save face and say it was just too hard. Well of course it is, if you’re incredibly unrealistic and don’t want to practice.

In my books I have exercises that are like this. Things like making a deck of flash cards to memorize all the keywords in a language are exactly the kind of arsenic infected repetition that drives people nuts. Typing the cd command 20 times to learn how to use it also seems useless and repetitive. The reason I have these exercises is they’re a quicker way to get language proficiency than if you just banged your head on coding samples for hours on end. A little bit of rote memorization has this magical quality of removing a main blocker to learning to use a language: symbol and word recognition. Rather than write code and constantly have to stop to know what a word is, you already have that word primed in your memory and simply need to learn to apply it.

However, enjoying arsenic activities is not normal. It’s a myth that there’s a small percentage of people who just can’t sit still and the rest of the world are perfect little angels who can do exactly as told and mindlessly write their names a million times to learn penmanship. It’s bullshit. Everyone has some tolerance level for boring shit, it’s just yours is probably lower than others, but nobody except a few people with some forms of atypical neurology can sit for 12 hours and do the same thing for no reason. Not at first anyway. This takes training.

I believe that the root of this belief in mindless repetition being a good character trait comes from America’s puritanical history. You got into heaven by getting up early and working hard in the fields until you died of tuberculosis or famine. If you worked hard enough you’d have enough money to buy your way into heaven, so lazy people just went to hell. This interesting bit of history is also why bohemians seem to think that memorization creates boring robots who will never have a creative actualized soul. Bohemians are simply reacting to the puritanical bullshit, but in the process inventing their own bullshit.

It’s important for learning and personal growth that you learn to tolerate rote education, but that only learning with rote methods will also hold you back. The killer combination in education is when you use rote training for basic building block skills, and then apply them to creative problems to learn how to use them. The world of programming is loaded with people who have memorized every square inch of manuals and standards, but who couldn’t code their way out of a lego castle, never producing a single piece of software of any substance. There’s also a crazy number of painters who do nothing but conceptualize all day and have no idea why their paintings keep cracking and can’t make a cup look like a cup. What you want is to be neither of those people by being both of them at the same time.

For me this is just second nature by now. I can sit down and play scales on the guitar for hours, or draw the same thing over and over to prefect a technique, or do flash cards to learn a new language. But, I’ve trained myself to turn off the heaving desperate anguish that flares up when I do them. I didn’t naturally have this ability to practice basic skills for hours. I built my tolerance to it just like arsenic.

I’m going to call this practice Educational Mithridatism, after the king Mithridates VI who was famous for having slowly increased the amount of poison he could tolerate so he couldn’t be poisoned. Apparently his mother poisoned his father, which is definitely going to make someone crazy enough to eat poison every day. Whether it’s true or not, there is some evidence that humans can build a tolerance to arsenic and other natural poisons. For this essay, let’s just assume that you can do it, and I’m using it as an analogy.

The reason I like this analogy for doing things you must, but dread, is it frames the activity correctly. It is perfectly normal for you to hate boring repetitive things. People who like doing boring shit are not magically better moral individuals than you are. They are just different, and I bet if you asked them they’d say they wish they were more “creative” (which has it’s own self-defeating attitude I’ll write about next). If you have a hard time sitting down and practicing, then don’t beat yourself up. Admit that you hate it, that it feels like poison, it’s going to kill you, and take the challenge and build your tolerance.

How To Do It

You now want to train your tolerance for arsenic. Arsenic isn’t really the best word since it’s not clear you can actually build a tolerance to it, so I’ll say you want to practice Educational Mithridatism (EM). This will require you exposing yourself to what you hate, and slowly and methodically build a tolerance to it. This will require exposure and effort, but I have a way that may help you do it.

Purpose: The very first thing is you have to figure out what benefit you will get out of this activity if you can tolerate it. The core of the problem is people who sit down to practice something seem to have no ability to see how it will benefit them. Even worse they don’t believe others when told what the purpose is. To begin, you need to clearly write down what the point is, and what you’ll get out of it. Practicing scales will make it easier to play the music you like. Learning to draw spheres makes it possible to render other spherical objects. Learning the keywords to a language makes it easier to read and write code. Before you begin the activity, review the benefits and hold that fixed in your mind.

Baseline Tolerance: Next you’ll want to have some way to track how long you’re able to tolerate this activity. Get a stopwatch or use your phone, sit down to do the activity, and the second you feel your rage rise up in your chest, stop. Even if it’s just 2 seconds. Stop the watch, and write that down in some kind of log book. Just a little moleskin will work for this log book, but I also like the Uncalendar, but whatever you do keep it simple.

Building Tolerance: Once you have your baseline, even if it’s just 2 seconds, you can then start to build your tolerance. Set a timer for that amount of time, plus “a little more”. I say that vaguely because if it really is 2 seconds then you’ll need to probably try for 10 seconds or more. If it’s 5 minutes then shoot for 6 minutes. The purpose is to set the timer, then do the activity and not pay attention to the timer until it goes off. Then tell yourself if you really made it or if you need to attempt that time again. Keep trying to reach this time limit until you can do it successfully, recording each time you attempted. Once you can reach that time, then kick up a bit more, again maybe 10% or a bit more.

Take Breaks: Take a break for about 5-10 minutes between each attempt. If you don’t take a break then you won’t be recharging your resolve for the next attempt. Force yourself to take a break no matter what.

Make A Leap: Once you’re slowly inching your tolerance up in very measured ways you’ll want to attempt a leap. You may be ready to double your time or more without realizing it. Either switch to a stop watch and just go for as long as you can then record how long it was, or set the timer for double or triple what you can handle. Track how long you really did it during these leaps and then try to set that as your new level. If you fail at a leap, don’t worry, just go back to slowly building it up.

Test Your Goal: After you do these sessions for a while you’ll want to apply your training and see if it’s working. It most likely won’t have any impact for a while, but one day you’ll try your goal activity and suddenly it’s way easier. At a certain point you may even be able to just stop doing your tolerance building training and switch to simply doing your goal activity as your training. For example, if you’re forcing yourself to memorize C language keywords, and one day reading C code is suddenly very easy, then you probably don’t need to memorize the keywords anymore. Just start coding in C as much as possible. Goal accomplished.

Don’t Over Do It: The last note is to actually treat this like arsenic and don’t over do it. You can easily push yourself too hard and burn yourself out, or if it’s a physical activity, harm your body. The reason is you start tracking yourself and then you get excited that it’s working, so you decide to go for it and actually you are totally not ready. Instead, build it in small doses, and when doing the arsenic activity feels natural you know you’re ready to try something challenging.

Hopefully this little essay helps out people who wish they could just sit down and practice something they despise but know they need. The key is that you aren’t a less moral or stupid person because you can’t focus. You’re just someone who never learned how to do it and need to train yourself. It could take years, but if it’s important to you, then this is how you do it.