Total Pageviews

Thursday, 10 November 2016

The Positives of Trump's Victory - from a Canadian Who Thinks Both Candidates Were Terrible

Name one thing you liked about Trump's campaign. If you can't, consider the possibility that your political views are unbalanced and biased. If you look hard enough, you should never agree or disagree 100% with a political platform.

Name one thing you disliked about Clinton's campaign. If you can't, similar problem.

There's no point listing the obvious reasons Trump is a terrible candidate. I also won't be listing the less obvious reasons Clinton was a terrible candidate. Instead I want to give a unique perspective on the 2016 election results. I haven't seen anything like this yet: the positives of Trump's victory - from someone who thinks both candidates were terrible.

Money in Politics
This is the first time since the 1950s that the presidential candidate who spent the most money did not win. Clinton spent about 600 million, Trump spent about 280 million (1 2). You may argue that money doesn't cause the winner, it's just a symptom of a winning campaign. In other words, donors are wise and want a good relationship with the winning candidate.

Even if that's true, Trump's lean campaign is a good thing for US politics. Money spent on Clinton's 2016 campaign was literally taking money out of politics.

Bureaucratic Bloat
This is from Trump's brief platform posted weeks before election day:

"THIRD, a requirement that for every new federal regulation, two existing regulations must be eliminated"

I think this is an incredible idea. A comment on reddit says the Code of Federal Regulations had one million rules in 2010, the 2013 print has 174,545 pages. I don't have a better source but that's certainly believable, no? Canada has done this with great success: "In British Columbia, regulation has been reduced by 40 percent." The rule is designed to ease the burden on businesses.

An entire industry of legal work has been constructed by legislators, lawyers, and accountants. I don't think this was malicious - just a natural result of human nature. Nobody wants to review old laws, but everyone has ideas for new ones.

This is the first time in modern history that a president will have no military experience. Even though military contractors stock prices surged upon his election, I do see Trump's lack of military experience as the first step in the long process of separating military interests from the executive branch. Suddenly, you can be a US patriot and president with no history in the military. That's a good thing. A quick note: Clinton also has no military experience, but possibly not out of choice.

"Fix our broken mental health system. All of the tragic mass murders that occurred in the past several years have something in common – there were red flags that were ignored. We can’t allow that to continue. We must expand treatment programs, and reform the laws to make it easier to take preventive action to save innocent lives. Most people with mental health problems are not violent, but just need help, and these reforms will help everyone."

Sounds great. I really hope this moves forward and doesn't get buried by everything else. Note how the proposed solution is not arming teachers with guns, or increasing security forces in schools.

Technology Skills Suddenly Matter
Regardless of what you feel about Clinton's emails, there's no argument that it seriously hurt her campaign. This may be the end of an era. It's no longer safe for politicians to be "extremely careless" with their use of technology. In the future, more technology consultants will be hired in politics. Campaign staffers will get more technology training so they don't get phished. Politicians will have to learn about encryption and privacy. That's all great! Especially in contrast to the current state of things:

"A few years ago, US Supreme Court Justice Elena Kagan revealed that her fellow justices on the High Court were not technologically savvy. They didn't really understand Facebook and Twitter, she said, and they still communicated with each other by writing memos on heavy ivory paper delivered by an aide."

Politicians that know more about technology pass better legislation. Had Clinton won, I don't feel that the penalties for technological illiteracy would have been so pronounced.

Trudeau's Wisest Move Yet
Leader of the NDP, Tom Mulcair called Donald Trump a fascist and urged Trudeau to do the same. Another positive behind Trump's victory is revealing that Trudeau has a good temperament for international politics. Mulcair wanted to place a landmine in Canada-US relations, a landmine which we would have just stepped on. Instead, Trudeau patiently waited. Trudeau already identifies as a feminist. We know he disagrees with Trump on social issues. What is there to gain by throwing insults at a vindictive presidential candidate?

Not a Democracy?
Recent studies out of Princeton and Harvard conclude that the United States is not a democracy. Recent US elections rank the lowest among developed democracies on campaign finance and electoral registration. In the past decades, public opinion has had nearly zero influence on hundreds of the biggest policy decisions. Instead, the side with more money overwhelmingly wins.

Over the past several years, I've grown more and more certain that the US is only able to elect leaders that respect corporate interests.

Trump proves that the Republican party is able to elect a candidate they dislike. I didn't think that was possible. Did you? It turns out that the Republican leadership do not totally control their half of US democracy. That's a good thing. Americans still have the power to choose their future. Americans that don't like their leadership have an honest chance to express themselves in the next election. I didn't think this was the case before Trump's victory.

The Democratic party secretly, internally opposed Bernie Sanders up to a year before the primaries. I'm not saying Sanders would have won without this opposition, but it certainly didn't help. Would Trump have done as well had the Republicans picked their candidate a year in advance? I'm not sure. Probably not.

The Future
Americans' distaste for both Trump and Clinton is record breaking. Both parties have utterly failed to inspire or represent American citizens. It's also clear that neither party is happy with the outcome - even the Republican leadership mostly denounced Trump before his victory.

For better or for worse, the Republican party listened to populism. The Democrat party listened to their elites. Everyone will learn from the result. I think both parties will learn from 2016 and choose excellent candidates for the next elections.

Thursday, 21 July 2016

Enjoy the Innocence of Pokemon Go While It Lasts

This is an incredible century to witness the births of technologies. The past couple weeks I've been observing the world's first augmented reality global hit. Enjoy the innocence while it lasts! In this post I'm going to talk about aspects of Pokemon Go that aren't being talked about much:

  • Businesses buying Pokemon Go locations. Commercial PokeStops.
  • Copycat apps and how they will affect the Pokemon Go community.
  • The incredible speed that online Pokemon Go communities have appeared.
  • The bylaw and commerce response I expect from cities.
  • How advertising will become embedded in Pokemon Go.

To get us started, here's a video of the Pokemon Go craziness in Montreal near Atwater at 1am.

What is Pokemon Go?
It's a smartphone game that requires players to walk to real life locations. Sometimes bonuses happen at certain places so people cluster there to play. It is ludicrously popular.

Business lures
In Pokemon Go players can set lures at locations to lure Pokemon. Therefore lures actually lure people. I had anticipated that businesses would send Nintendo money to have their businesses become locations or PokeStops. I just didn't think it would happen so fast, starting with McDonald's in Japan.

Currently PokeStops are landmarks: murals, statues, churches, historical monuments... Pokemon Go to me really has a feeling of innocence, purity, community, and exploration. Well enjoy the innocence while it lasts. Businesses are already scrambling to claim as much of this community as they can. Soon, when you're walking around with your phone looking for your next PokeStop, you won't know if up ahead is a niche and inspiring work of art or a Tim Hortons.

Within a year there are going to be several bad copycats. Within two years, several good ones. Eventually this will have a major impact on the sense of community we see today. The Pokemon Go community right now is unique:

  • Pull out your phone at a PokeStop and people look at it to see if you're playing the game too.
  • People standing around with their phone out? Likely playing Pokemon Go. You feel it.
  • Squads of people walking around at 10pm near a park? Definitely Pokemon Go.
  • Walk by someone also playing? They say: "Hello! Have a good night."

Enjoy the innocence! This is not going to last. A major contributor to this downfall will be copycat apps. Once there are a handful of decent augmented reality apps, you won't see someone playing a game and think "that must be Pokemon Go". It will be less of a novelty. Today, you won't talk to someone on the metro for playing Candy Crush 14, even if you do too.

Future augmented reality apps will need to show a map of who is playing near you, but it will be less genuine and meaty. Maybe augmented reality apps of the future will encourage (through bonuses) one day a month for a spike in activity. Systems like that will attempt to emulate the critical mass of activity Pokemon Go presently sees everyday.

Incredible Community Growth
Instead of iOS or Android, I run Cyanogenmod on my phone (similar to Android). The day Pokemon Go released in Canada, I found I had some technical issues getting the game to work. I thought: "I'll wait a month, then the supernerds will figure it out for me". Wrong! There were already tons of solutions, articles, forums, and groups forming. The articles that helped (with my multiple issues) were just a couple days old.

This is a reminder how incredible it is living in 2016. The scale of immediate collaboration is staggering. Humanity is only starting to use its full powers of crowd-sourced solutions to solve the problems we care about. Right now, we care about Pokemon. I'm okay with that. It's good practice.

Response from Cities
Consider the video above. Yes, Pokemon Go is loud, messy, and police show up. But I don't see this as any different (so far) from any other festival or event. Or a hockey game. Or a soccer game. Or St Laurent (bar street) at 1 AM on a Friday.

I've seen people online make the argument that PokeStops don't give the city advance warning for these crowds, don't pay for permits, and don't pay to clean up the mess afterwards. This is a fair point. However I think public spaces (and city cleaners) should be a service available to everyone, even when the city didn't choose to sponsor the event a month in advance. I understand if some disagree.

I'm not convinced Pokemon Go players are particularly bad litterers. If you get enough people together, some small fraction of them are going to make a mess. If the city starts cracking down and dispersing these crowds it's not because this is more disruptive than other late-night events, it's because it's not sponsored by Bell and nobody is spending money at bars.

Enjoy the innocence of Pokemon Go midnight hubs while it lasts. Cities want control of public events and public spaces for sponsorship and tax revenue. A bunch of young adults using public spaces gratuitously to play a free app is not something I expect most cities to support.

Advertising in Augmented Reality
In 2016, something like 200 billion dollars will be spent on advertising in the US. People are turning away from television advertising and advertisers are desperate to follow them. The future of advertising in augmented reality will happen. The incentives are too great. Consider this photo. Notice anything special?

I've clumsily added a coca cola can. Here's how augmented reality will slip in this kind of advertising:

  • First the app (maybe starting with Pokemon Go) will put more than just a Pokemon on screen. I don't know Pokemon lore that well, but far in the distance you might see a cartoon style house, or characters running around like Misty. That's great! Who'd complain?
  • Once there are a few more things on screen, they can slip in things like I've shown here. Perhaps a cartoon vending machine that sells coca cola.

Nintendo Meetings
The past couple weeks I've enjoyed speculating about what must be happening at Nintendo. Once the product managers stop saying "holy shit holy shit" and start holding meetings, I see all of the below occurring:

  • Some slimy executive saying how much money could be made selling PokeStop locations to businesses.
  • An idealistic executive trying to keep their product pure and innocent.
  • Daily meetings discussing what the hell to do next with this multi-billion dollar product.
  • Twenty senior programmers being hired to review and expand the hacky server code produced by two juniors and one intermediate programmer at Niantic (the server is actually performing admirably well, but still).
  • The original product managers and game designers fighting to maintain creative control of their game, as larger guns swoop in to have their say.

Hilarious. Must be a great time to work at Nintendo and Niantic!

I'm thrilled that Nintendo's market value has doubled to 42 billion within a couple weeks of releasing this game. I like Nintendo's values like allowing non-commercial use of their characters, trying to build communities, and getting people in shape with Wii Fit. They are not your typical money-grabbing game industry titan. However, I expect no company to stay true to the purity of its product when confronted with a 21 billion dollar increase in their market value. I'm intensely curious to see how Nintendo fares under this pressure in the coming years.

Expect to see less emphasis on PokeStops at landmarks and more emphasis on commercial locations. Copycat apps will slowly dilute this world's first major augmented reality community. Cities will annoy, but not break, Pokemon Go hubs. Advertising will become embedded in augmented reality in several years.

Enjoy the innocence while it lasts! Really. Install this free game and play it once or twice this week. Experience the world's first global augmented reality community. This is the first and last time you'll get to see hordes of people all playing the same app, focussed on landmarks and art, with no commercial locations or advertisements. Step out of your box and experience history as it's being made right now.

Monday, 13 June 2016

You Can Lose Your Job to Automation Even If Your Job Cannot Be Automated

Get Excited
Are you excited about automation yet? You should be. Here's a great video to get us started:

But I'm tired of all these misconceptions about automation replacing jobs! Consider these statements:
  1. Jobs are safe when no robot can do 100% of the job.
  2. Jobs are safe when they pay very little.
  3. Jobs are safe when they pay a lot.
  4. "Human touch" jobs are safe.
  5. Unemployment is bad.
  6. Jobs are safe when experts at those jobs think they cannot be done by a robot.
  7. Engineering and computer programming won't be automated soon.
Do you believe any of these? If so, I've written this post specially for you!

1. No robot can do 100% of my job
So what?

Consider this hospital robot. It rolls around and rides elevators to transport medication, food, and linens around hospitals. But this is just a small part of the duties of a medical orderly. People may say that a medical orderly will never lose their job to automation because robots cannot do 100% of their tasks.

Lets say just 5% of an orderly's time is spent on those tasks a robot can now do. Meaning 1 in 20 of their work time has been automated. That also means 95% of this human job cannot be done by a robot. Nobody is losing their job, right?

Wrong! If we have 20 human orderlies, now we only need 19 orderlies and a robot. The hospital can maintain the same level of service by letting someone go. Even though 95% of the job totally cannot be done by robots yet, a medical orderly can lose their job to automation right now.

The calculations here are simplistic but they should illustrate a point: you can lose your job to automation even if your job cannot be automated.

2. I earn too little for my job to be automated
The hardest jobs to automate are sloppy, random, and improvisational. There are low wage and high wage jobs for either category. Wage is disconnected from automation.

Consider this cool olive harvester:

The very low wages paid to unskilled human harvesters didn't stop anyone from creating that machine. Also, automated checkouts at stores aren't perfect but many people use them. So those low wage cashier jobs have also been lost to automation. Both these jobs are very repetitive and easy to automate.

Now consider a solo concierge and janitor for a school. This is an incredibly challenging job to automate - I say this as someone who has dabbled in machine learning recently and loves learning about it. Here are some tasks a janitor must do:
  • mopping up a kid's puke
  • duct taping a shattered window to make it safe until replacement
  • shutting off a toilet's water after it gets possessed by the devil
  • moving all chairs to another room
  • cleaning a pool that a kid puked in
Even the coolest humanoid robots we have today are nowhere near this:

If all we know about a job is that it has a low wage, we can't say one way or another it if will be automated soon.

3. I earn too much for my job to be automated
Drivers of gigantic mining trucks can get paid over 100,000$ a year. They need special training and must live in the middle of nowhere. We're starting to see this high wage job disappear to self driving trucks. This job may pay a lot but driving a truck in a mining pit is very repetitive compared to a school janitor. We don't pay people higher wages because their job is hard to automate. We pay people more because of the desirability of the job and its skill requirements.

The only difference with high wages is that there's more financial incentive to automate it. So high paying jobs may be harder to automate (or appear harder) but more resources are also going into automating it.

High wage jobs are neither safe nor vulnerable to automation.

4. My job is safe because of the human touch
Are you a live performer, waiter, third wave barista, live musician, or analog artist? Do you think you offer something special, intimate, artistic, or human that no robot can ever do? Well then you probably really do offer something special.

You can still be automated, even if you cannot be replaced. Even if all people preferred a human waiter, many would still opt for automation if the robot waiter is cheaper or faster. Maybe there's something objectively better about live music - but many people choose to listen to recordings now instead of live music. Most bars would prefer a live band to perform all their music if it cost the same as a laptop with a playlist. But of course it doesn't. That preference for the human touch is usually not materializing into human jobs.

5. Unemployment is bad
Being wealthy lets people do what they like. You can enjoy any hobby or work on any project all day. Maybe you'd just choose to be on permanent vacation. In a world of full automation, then everyone can be wealthy in this way. We won't be wealthy compared to each other, but wealthy in our freedom to do whatever we like.

In this science fiction dreamland there would be nearly 100% unemployment. Not the economic collapse type of unemployment, but technological unemployment. This type of unemployment is good. Note how present day economies and media outlets are not tracking rates of "good" unemployment. Instead, all unemployment is seen as bad.

If we can reach the right balance between social programs and entrepreneurial competition, unemployment can be celebrated.

6. Human Experts
According to a Pew Research Center survey most Americans predict that within 50 years robots and computers will do much of the work we do today. But most Americans also think their jobs are safe. Hilarious!

I once read an interview with the union leader of mining truck drivers. He has twenty years experience as a driver. He says that driving in "hard" dirt pits has been automated, but that he drives in the more difficult "soft" dirt pits. Therefore, his job is safe.

What I find most remarkable is that he likely knows nothing about computer vision and machine learning. And yet he still claims to be an authority on the automation of his job - based on his experience as a human worker. Don't fall into that same trap.

Being an expert at your job does not mean you understand how to automate it.

7. Engineers and Computer Programmers
People often insist that computer programming and engineering (especially robotics engineering) will be some of the last jobs to be automated. But consider this picture taken in the 1980's at Boeing:

This picture was taken before engineering design software was created. It's pretty incredible and shows how much the career of design in engineering has changed. In the past, these engineers were experts in technical drawing and the use of specialized drawing tools. That job has now been automated by software.

Similarly, computer programming is being automated. Even though the number of computer programming jobs has increased massively in the past couple decades, we'd need an even larger workforce of computer programmers if we didn't share code. Open source projects and code sharing automates the job of computer programming. Whenever a computer programmer uses a library instead of writing it from scratch, they've used technology in a way that eliminates the need for another computer programming job.

Remember misconception 1: "no robot can do 100% of my job". As engineering software improves, and open source solutions expand, both these jobs will also be threatened by automation. This occurs even if parts of these jobs truly are the most difficult of all to automate.

What Jobs Can be Automated?
Try not to pay attention to trendy news headlines like "Will a robot take my job?" from the BBC, or "Will your job be done by a machine" from NPR, or "42% of Canadian jobs at high risk of being automated". They are jam packed with these misconceptions, especially 1 and 4. Instead, consider these questions:
  • Can a robot or computer do part of my job?
  • If a human had a robot body, could it do my job?
  • If a computer had a human body, could it do my job? If so, what are the most flexible, sensitive, articulate, and precise robots today?
  • Have similar jobs just been automated?
And always remember: You can lose your job to automation even if your job cannot be automated.

Monday, 18 April 2016

If You Nitpick Trudeau's Quantum Computing Spiel, You're Missing the Point

What matters here is having a Prime Minister who wants us to stop laughing when the media asks a politician about science.

What happened?
Justin Trudeau was jokingly asked to explain quantum computing at a university of Waterloo press event. The room full of reporters laughed. He then excitedly answered the science question. Do you think it was staged? Do you think his explanation was bad, or that he dodged the ISIS question? Maybe you think he's a failed drop out, or that the media are puppets.

If you're criticizing this event, you've completely missed the point. I decided to write my responses to the most common criticisms so I can stop repeating myself.

Why this matters
Here's the current state of science in politics: reporters laughed at the idea of a Prime Minister knowing the answer to a basic science question. This is the low intellectual standard we have today for politicians. Anyone who watches a seven minute Youtube video on quantum computers could adequately answer the question Trudeau was asked - and yet the idea of him answering the question is apparently laughable. At least according to a room full of reporters.

This is not okay. This is horrible.

It was staged!
I don't care if it was staged. The positive effects are the same.

You might say (while wearing a tin foil hat) that maybe the reporters laughing was also staged. Again, I don't care. Haven't you seen behaviour like this before from the media? I have. It was very believable.

Many people know that Justin Trudeau was once a drama teacher. He certainly understands the value of playing a role, storytelling, acting, and fiction. When an author writes a fictional story they are not lying. Fiction can communicate values and truth, even if it's all made up. Similarly, if Trudeau puts on his scientist hat and poses in front of mathematical symbols to talk about technology, he is acting out a role. All the world's a stage.

The truth communicated here is: stop laughing when politicians claim to know basic science.

Trudeau is a drop out!
Trudeau "studied engineering and started a master’s degree in environmental geography". Someone online suggested this was "Such a nice way of saying he failed to finish either of these things".

First, an incomplete degree is far from worthless. School is about much more than putting a brand name on your resume. I feel sorry for anyone who thinks that finding a new direction for your life makes you a failure.

Second, he dropped out of environmental geography to become a member of parliament (MP). Is anyone suggesting that was a bad idea for him?

He dodged the ISIS question!
Well, no. Apparently Trudeau answered the ISIS question just after the above video clip ends. When people complain about this I think they're just desperately looking to justify their cynicism. Furthermore... haven't you heard Trudeau and our splendid new defence minister talk about ISIS non-stop already..? If you want the answer to that generic ISIS question I suggest you watch the news more often.

His quantum computing (QC) explanation was wrong because...
People are saying Trudeau's QC explanation was bad or even wrong. Critics write long, convoluted paragraphs with technical jargon (superposition, entanglement, duality). These critics are stuck in a bubble. They have no idea that what they've written makes absolutely zero sense to 99.8% of Canadians. I have found that programmers and engineers are extremely bad at public speaking and education. Maybe this comes from the curse of knowledge. Or maybe they just have no respect for humanities topics like communication, education, or literature.

If you think he was technically wrong, then Trudeau is not speaking to you. He is speaking to people who don't even know what "quantum" means.

I've seen others say this video is better than what Trudeau said. Yes, it is. The video also likely took weeks to research, write, design, record, and edit. Is it fair to compare an improvising non-scientist to a top notch, researched, polished educational video?

The Media are Puppets
This is the most reasonable complaint. Trudeau approval rates remain high and the media is positively eating up any positive story they can get on him. You might question whether the media is doing their job of criticizing the government in power. While I agree somewhat, I can't complain this time about the message they're helping promote.

Maybe it was just good acting, but Trudeau seems genuinely interested and excited about science. He's not scared to try and answer a basic science question. I'm happy that's the message he decided to spend his day promoting.

Monday, 28 March 2016

Sorry! I'd Like to Help You but I Can't

When I post tutorial videos, I get a lot of requests for personalized help. I want to help! Your project might even sound really cool to me. But here I'm going to explain why I probably cannot help you today.

Unfortunately, It's Inefficient
One of the exciting things about the internet is that I can make a video and help tens of thousands of people. Even when I'm sleeping or busy, I feel like my videos are working for me and teaching people.

Unfortunately, responding to one person's personal problem doesn't have this advantage. If I help you, I only help you (generally). I could spend an hour helping just ten people with their personal projects by responding to comments. Or I could use that hour to make a new video that may help ten thousand people - and then maybe another ten thousand people next year.

This is the number one reason why I don't respond to a lot of replies to my videos!

Ambiguous Question
I'd also have to spend a lot of time to understand what your problem even is. Often people ask vague questions. Sometimes I basically have no idea what the problem even is. People may say "I added the thing like in the video but my thing isn't moving like yours". There is no way for me to help, aside from struggling to get you to describe your problem better to me.

How to Ask a Question
There are ways to make it more likely that I'll answer your question, or someone else will.
  • Include lots of information, like the versions of software you're using.
  • Include a link to your project, or a link to your code.
  • Only show us the code that is causing you trouble - delete all the code that is personal and irrelevant to the problem you're having.
  • Prove that you've tried to solve this yourself already, and that you're not just looking to be spoon fed the answer.
Whenever I do answer personal questions, it's because I know exactly what your problem is and I know how to help very quickly.

Comments I Do Respond To
I need your feedback! If there's an error in my video please tell me so I can put up a warning or fix it. If you have a cool idea for a new video, I'd love to hear it. I also prioritize video suggestions when they come from my supporters on Patreon (this is a website where you can donate 1$, or any amount, every time I post a video).

I want to help people learn to think computationally as a full time job. Until I find a salaried position doing this, I need to volunteer my time, and rely on donations to make things happen.

Thanks for reading, and good luck building your dream project :o

Thursday, 24 March 2016

Learning to Code by Writing, not Copying

"Yeh, If your a experianced coder, five mins no problem but if your a bigginer it can take hours." - Rowen Henderson8

"it would help a lot if you ppl would copy and paste the code into your videos on the bottom." - Emjay Club

"Fantastic but please add the script somewhere so we can download it... sorry too lazy to read from video and type it :)" mete kavruk

Often when I make a 5 minute video about computer programming, I don't include the code text file in the video description. Why not?

Give me the code!
Here are some common arguments:

  • Writing the code for your five minute video can take hours for beginners.
  • I just want my game to work now. Can't you help me?
  • Aren't you all about open source? Why isn't your code open source?
  • Something is wrong with the code I wrote, but I can't tell what it is. Can I have your code, to compare?

It Takes Me Hours!
So you say that it takes you hours to write code that I can write in a five minute video. Do you ever wonder why that is..? Programming isn't just about understanding the code that you see. You need to be able to write it. This includes physically typing on a keyboard. If you're having trouble writing my code, then that's the number one skill you should be working on. Working hard to copy my code is not a waste of time. You are learning a skill.

Using Autocomplete is a Skill
People tell me all the time that I type "super fast" in my videos. Well I don't. I use autocomplete! Using autocomplete is a skill. If I need to type "gameObject.transform.position;" I'm actually typing ";". And if autocomplete isn't working... you know what that tells me? It means my code has a problem and I need to fix it right now!

Okay, I do also type very fast.

Usually when autocomplete stops working, people keep writing code. No! Things are just going to get worse and worse from there. The only "broken" line of code should be the one you're writing.

I've also seen students confuse semi colons and colons (";" and ":") or struggle to find inequality signs on the keyboard (like ">" and "<"). If you want to make games at any level you need to master the keyboard. Have a look at the very first comment in this blog post by Rowen:

"Yeh, If your a experianced coder, five mins no problem but if your a bigginer it can take hours." - Rowen Henderson8

Do you think he has mastered typing? Maybe English is not their first language. In that case, they're not using their browser's autocomplete (spellcheck) feature. I guarantee these are the skills they need to work on most in their journey to make their dream game.

Following Tutorials is a Skill
When I follow tutorials, I don't copy code exactly. Maybe you've had a tutorial before that told you to write:

print('hello world')

but instead you wrote:

print('hello capybara!')

This too is an important skill. You can learn more from a programming lesson if you make personal changes too. This develops your skills because later on when there's an error in your project, you need to decide if it's a problem with your personal changes, or a problem with how you copied the tutorial, or a problem with the tutorial itself. You need to learn how to be cautious when personalizing a tutorial.

If you just copy a script, it's very natural to do zero tinkering.

Aren't You All About Open Source?
Yes. One of the wonderful things about open source is that anyone can copy a project, learn from it, or help make it better. The thing is, I don't care if people can copy a project that I wrote in five minutes. And my viewers can't really make my code better... or else I'd have to make a new video (making videos takes a long time!). This brings me to:

Why Do I Make Tutorials?
I feel that most people are technology illiterate. New technologies don't take off, and research doesn't get funded because investors are tech-illiterate. Governments openly discuss banning encryption or eliminating our privacy because voters are tech-illiterate. Businesses don't join the community of free and open source software as often because their employees are tech-illiterate. Public funds are wasted because government committee members are tech-illiterate.

Technology illiteracy threatens democracy, it's hugely wasteful, and it's a huge pain in the ass personally in my day to day life. Making videos and not sharing my code snippets is my way of getting people to think computationally, pay attention to detail, and become literate.

Whatever... So When Can I Get Your Code?
Okay fine! I do sometimes share my code. For example in my portal gun video, I decided the scripts were too long to copy. Copying them from the video wouldn't be a good use of a learner's time so I shared them in the video description.

Finally, I do have a Patreon page. If you like my content, you can give me a dollar, or any amount, for every video I post. Supporters have the option of downloading all the scripts in my videos.

Pedagogically, I don't like this option so much. But I decided to give subscribers the option as an incentive to help support the creation of more videos. The more I get paid to make videos, the less often I need to take other small contracts.

Monday, 22 February 2016

Book Review: The Open Organization

The Open Organization by Jim Whitehurst describes the open source software company Red Hat. It does a great job introducing Red Hat's unusual culture, but it was also written by the CEO so the stories and ideas are mind-numbingly positive. If you can get past its repetitious optimism then it's an interesting and worthwhile read about technology companies.

Who should read this book?
Anyone interested in trust, motivation, culture, communication, and hiring strategies at technology companies, especially Red Hat. No technical background is needed to enjoy this book.

The Good
The most enjoyable and interesting parts of the book were its stories. There's stories on how the author got hired as CEO, how Red Hat hires regular employees, and how Red Hat employees were sceptical of their new CEO and "tested" him. However, Jim Whitehurst is not an expert storyteller. Nevertheless as readers we must take what we can get, as there aren't very many billion dollar software company CEOs willing to write (somewhat) openly about their organization. The stories have a unique enough perspective that they are very worthwhile.

Good points were made on how clothes can reinforce hierarchy or shut down open communication. This can be good or bad, depending on your perspective. Including the "Peter Principle" was a nice touch, as well as other business or software concepts. Finally, there's a handful of shout outs to millenials, and what it means that they typically demand more open participation from the companies they work for.

The Bad
The CEO has written a very low risk book, mostly with the goal of promoting his company. There's nothing wrong with that of course - but a book must stand on its own, and it clearly suffers because of the author's priorities.

Where are stories from employees at Red Hat, or ex-employees? Readers aren't given any serious criticisms of Red Hat or the open organization at all. What do traditional business executives think of Red Hat's structure? Do they have intelligent reasons to turn away from it? If the book were serious about open organizations, these perspectives are critical. Instead of being about open organizations, the book is about Red Hat's positive experiences with open organizations. This is a related topic (a subset), but it's just not the whole story.

I also got the distinct impression that the CEO didn't tell as many stories or tell them in as much detail because of business interests. He writes of their "biggest competitor" but leaves them nameless. This seems petty to me. Was it Microsoft, or maybe Salesforce..? Would it really be so harmful to say? Or what about their "long time strategic partner" who turned against them? Again, what's the company name? These are just the straightforward examples - there are more. But as a reader you do feel it when the stories are missing details.

Finally, the repetition. The mind-numbing repetition! Red Hat is different. We do things differently. Differently! Different. It's a meritocracy. Meritocracy. Red Hat is a meritocracy. We do things differently. Yes, please stop, we get it.

I have a feeling this optimistic storytelling book is a recruitment tool for software developers. Much of the "open organization" seems specifically built to appeal to the disillusioned - such as encouraging "heated debate". In that capacity, maybe this CEO with a computer science background has succeeded, as Red Hat is now on my radar as a future employer.

I suspect the book will not persuade traditional executives to change their ways - I think you already have to be a bit on board with the open ethos to appreciate the read. Nevertheless, if you can get past the positive bias, whitewashed stories, and repetition, then this is a good read on Red Hat's unusual and open culture. It was a nice experience reading about a successful software company that supposedly espouses many of my own values.