Hello! I have no idea who (if anyone) is still subscribed to this old blog. However you may be interested to know that I've just taken my blog posts from many platforms (blogger, blogspot, facebook, mailchimp, old docs) and consolidated them here:
https://blog.stuartspence.ca
This is a simple, permanent, long term solution that I control.
We've had some good times blogger/blogspot... I'll never forget the 52,000 hits I got for this classic. Thanks for introducing me to the world of publishing my text online!
When I post tutorial videos people often make suggestions on how to improve my computer code. Thank you for your code suggestions! However, we may have a problem.
I often find that code suggestions are not teaching suggestions. Almost all computer programmers are not experienced educators, so this is understandable. However consider that the best designed software might be terrible for teaching. Your perfect code might be terrible for teaching.
These are some of the things I consider when choosing what computer code to put in my videos.
Simple Code
If you think that the clearest and simplest lesson is the best way to teach a challenging concept, you're making a big claim. These claims can be tested. They have been tested. The claim is often wrong. Clear and simple lessons convince the learner they know the material, even if they don't know it. Confusing lessons are annoying but they make you think.
I'm not arguing people should make confusing lessons. However if your core argument for a code suggestion is that it's simpler, then your code belongs in the workplace and not necessarily in an educational video. Simplicity is not always the best approach.
Programming is Not Education
I recall someone once asked an online algorithms group "what are the first algorithms I should learn?". There were many responses.
Nobody asked the poster why they wanted to learn about algorithms. Nobody asked what the poster's math background was, or whether they were interested in biology or physics or economics. How could anyone make recommendations without knowing this? These are the first questions any decent educator would ask. Well, there weren't any decent educators in this discussion because it wasn't an education group. I suggested the poster should ask a "computer science teachers" group instead of a technical algorithms group.
Programming is not education. When making a code suggestion don't make computer programming arguments in support of it. Make education arguments.
Schemas and Accommodation
When people learn, they don't start at zero and jump to a complete understanding. In psychology this is the theory of schemas and accommodation. From this website:
Consider, for example, how small children learn about different types of animals. A young child may have an existing schema for dogs. She knows that dogs have four legs, so she might automatically believe that all animals with four legs are dogs. When she later learns that cats also have four legs, she will undergo a process of accommodation in which her existing schema for dogs will change and she will also develop a new schema for cats. Schemas become more refined, detailed, and nuanced as new information is gathered and accommodated into our current ideas and beliefs about how the world works.
When you make a computer code suggestion, please consider how big a leap is required from the learner. Code that is shorter and simpler among programmers may actually be enormously more complicated for a learner.
Ego
I constantly struggle to keep my ego in check when making technology instruction videos. If I can think of ten ways to code a lesson and I choose the "dumbest" looking one, I know that people will think I'm dumb too.
If you are able to make computer code suggestions, consider the possibility that you are not my target audience. That means that the code you wished had been in my video is code for you. It might not be good code for my audience.
How You Can Help
If you want to help improve the code in my videos, thanks! But first, please consider some of the things I value and don't value about code improvements for educational videos.
Things I value less:
Execution speed
Coding standards
Concepts and features that only apply to specific software.
Code length
Memory use
Number of variables
Things I value more:
Teaching the core concept better
Fewer prerequisite concepts
Concepts that are powerful and can be used for later learning.
I love high quality software too, but that's a different conversation.
Hidden Figures is a 2016 movie about the 1960s space race, the early days of computation, and segregation. It's an uplifting movie - described by some as "cheesy". However the cheese serves to distinguish it from other films in its genre which are typically very dark and gritty. It's an underdog trio movie about science and achievement. I highly recommend it!
Who should see this movie?
People interested in space exploration, geniuses, achievement, or computers. Also, people who scoff when a movie says "based on a true story" because they wish directors were honest about history.
I don't have much criticism, although I wish that somehow, maybe, they could have spent more time on the themes of computation and mathematics. But frankly I'm just thrilled to see a book on Fortran (a computer programming language) have so much screen time. It was in three scenes for a total of maybe fifteen seconds. That's got to be some kind of Hollywood record! Attempts were made to blur movie footage and historical footage. This involved adding graininess to footage filmed in 2016, or retouching real footage from the 1960s. However the effects were inconsistent and unconvincing. I think the movie shied away from better developing Dorothy Vaughan's story because computer programming is too technical for a large audience. This is easily forgiveable. But it's a simple reminder that even movies that feel like they were made just for me, were not made just for me.
Conclusion
With movies like The Imitation Game coming out and the success of Hidden Figures, I hope to see more movies like this soon. Maybe something about Grace Hopper or Richard Feynman? If you're interested in history, space exploration, geniuses, achievement, or computers, you should see this movie!
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 (12). 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.
War
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.
Health "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.
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.
Copycats
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!
Conclusion
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.
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:
Jobs are safe when no robot can do 100% of the job.
Jobs are safe when they pay very little.
Jobs are safe when they pay a lot.
"Human touch" jobs are safe.
Unemployment is bad.
Jobs are safe when experts at those jobs think they cannot be done by a robot.
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 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.