Skip to content


Category: Geekery

The most popular piece I’ve written on this site over the past few was about Teaching English Online. I wrote it while I was hanging out with a bunch of digital nomads in Chiang Mai, Thailand in 2015. A lot of them didn’t really have any savings or real plans but were inspired by the writings of Tim Ferriss and Pieter Levels and wanted to find a way to make it happen.

So many people teaching online

Chiang Mai is a very inexpensive place to live, it has decent and improving internet services and it’s safe considering the level of economic development. However, it has oddly rigid rules for foreign English teachers, including a number of filters that range from useless to harmful (e.g. TEFL certifications). As a result, teaching online is a particularly nice option for DNs in Thailand.

Most people teach for companies local to China or on tutoring platforms like Verblingor Italki. I noticed some other teachers doing group classes on their own sites and a few who were even more ambitious and were selling courses or memberships. Probably due to the fact that I used to manage an English teaching school in Taiwan, a lot of acquaintances were asking me about teaching in SE Asia or teaching online. So I wrote the blog post linked at the top.

Writing a whole book on online language teaching

With no special amount of promotion, the article was getting a couple hundred visits per day and generated literally hundreds of comments, ranging from “please elaborate” to “Hi! {my entire life story}, what do you advise?” to people directly asking or offering jobs.

Given that response and the fact that I really did have a lot more ideas to share, I wrote a 43 page ebook aimed at the more ambitious and more entrepreneurial segment of teachers since I used to be a member of that group and understand it better.

I priced the book fairly high, at $49, both to prevent a flood of emails I’d feel obligated to answer and because anyone who was able to raise their rates on Italki by even $1 per hour based on what they learned would earn back multiple times what they spent on the book in a single month and of course those building their own courses or membership sites would have an even more attractive ROI.

Feedback was narrow and deep

I did not expect what happened next. Only a small number of people bought my book but among the small number of readers, there are now some people earning more from their online courses than I’ve ever earned from anything online ever.

This is was doubly weird for me given how I’ve basically been living as frugally as I did as a 20 year-old while struggling to build a more mission-driven online business. If I had put the same effort into literally following my own blueprint, I’d have an ample income with which to fund my start-up.

That was really something to think about. The other thing is, in the process of building and rebuilding various incarnations of my language learning platform, I’ve developed a great deal of familiarity with a niche and growing web framework and programming language. The market value of such knowledge to learners is clear given the healthy market for web developers and the continual learning the job requires.

A public experiment

I decided to give it a shot. I’m teaching a computer language rather than a human one but other than that I’m following the plan in the book… following the plan I wrote, as strange as it is. I also decided to to it in public so whoever bought the book can see how it goes and learn from the process. Curious onlookers who have never even heard of the English teaching book can too, if they want! Here are the details:

  • I’m teaching the Elixir programming language
  • The main channel for building an audience is YouTube, not a blog
  • There’s a website for it, but mostly it just links to the videos
  • Some content will be premium
  • At least half the content I make will be free
  • I’ve intentionally avoided “cheating” by using my existing audience

On that last point, I really want this experiment to be useful for people who don’t already have an audience from writing online for a decade. I hate it when I read a write up from some well known author who makes a video course or some other product and then talks as if the success they had in it was due to their strategy rather than their gigantic following. My following isn’t that large but still, it’s a whole lot easier to grow an audience for a new project up from 50 instead of up from zero.

So… I started the new channel three and a half weeks ago, published daily videos and slogged painfully from only having myself as a subscriber to 14 subscribers at the end of week 2 to over 50 subscribers in the past week. Now the channel is getting more views per day than the ToshuoVids channel is, so this blog post will give the new channel a boost, but not nearly enough to ruin the nature of the experiment.

I’ll be sharing more on my strategy and progress on the channel.  The entire process of building the site is even recorded in YouTube videos.

But I probably won’t be sharing too much more about on here, except to the extent that it would be interesting or useful to English teachers and/or general internet friends wondering what I’m up to.

The Romajinator was tool I made for converting Japanese Katakana into romaji, i.e., roman characters. I’ve recently updated it so that it can also convert Hiragana into romaji. Any serious student of Japanese will have no more problems reading hiragana or katakana than a student of Chinese would have reading pinyin.

It’s mostly just for fun, but for people living in China or other countries in Asia, it might be useful.


さむらい   ->   samurai 
にんじゃ   ->   ninja 
いちご     ->   ichigo  ->  strawberry
いぬ       ->   inu     ->  dog


In general, romaji vowels are pronounced fairly similarly to pinyin vowels. The big exception is the “e”, which sounds a bit closer to a “short e” in English. The “o” sounds somewhat like an English “long o”. Vowels with a macron bar over them are voiced for a longer period of time. Doubled consonants represent a pause before the consonant. For example “kippu” would sound like “key”, followed by a pause, and then “poo”.

The above is obviously a very rough explanation. For a more pronunciation guide, I recommend the Wikimedia Commons: Japanese pronunciation page.

Over the past several weeks, I’ve been learning a bit more of the Taiwanese (AKA Minnan) language. One interesting thing I’ve recently discovered is that Minnan is one of the many languages included in the spaceship voyager’s greeting message.

I was listening to the greeting message NASA sent out of our solar system to see how much I could understand, and was very surprised to hear something understandable as Minnan at about 2m50s into it. After a quick check at NASA’s website, sure enough there was Amoy, the prestige Minnan dialect! Below is the Amoy clip from NASA’s page.

I never would have guessed this would be one of the languages we sent in our greeting, though in terms of the number of native speakers, I suppose it makes sense.

There are two customizations I always perform when I install Firefox on a computer.

First I merge the location and search bars into a single bar that can be used for either. This is especially useful if you ever have problems with the bars getting too scrunched up when you’re not using the whole screen for your browser.

The second customization is setting up search bookmarks. These time-saving shortcuts that let you do searches on a specific site without going to the site first.
continue reading…

I don’t think I ever saw Joel look so pleased with Taiwan as when we took him to guānghuá shāngchǎng. Oh, the computer goodness!

Unfortunately, our guest had little appreciation for Acer, a local Taiwanese brand. Not even these energetic Acer girls’ pitch about the “super super thin laptop line” had much success in repairing the damage all the crappy desktops they made in the 90’s did to their brand.
Acer girls
Acer girls by Mark on Zooomr

There was one bad-ass touch screen on display that gave him pause though:

Over the past month as made my way through the phenomenal guide Remembering the Kanji, I’ve learned some interesting things. Not only am I writing all the Joyo kanji with an accuracy I could only have dreamt of before RTK, but I’m starting to recognize some of the systematic aspects behind the post WWII Kanji simplifications. Some are fairly mundane, but one is a more abstract sort of simplification than I had realized existed.

Simplifications of radicals and other components

The PRC simplified a large number of radicals and other character components components after the second world war. Very few Japanese radicals were simplified, though some of the less manageable ones such as “turtle” (龜) were. In complex components of radicals that are not radicals, the Japanese and Chinese simplifications were often the same.


Nothing in the above table was anything very new or interesting to me. Don’t get me wrong, I’m very happy to be able to remember those kinds of systematic relationships between the different writing systems. But they’re not the kind of thing to make me say wow.

Simplification via the “tripler” component

This was, though:


I love that. Any time you see something tedious to write repeated three times, there’s a good chance that it can be written once with four sparkles under it, instead. It saves time, and unlike Chinese simplifications, it preserves all the original information. It’s like writing a function.

Notes: 渋 is a bit problematic.

I went to several local video game shops right before Chinese New Year. It had been long time since I’d bought or really played any console games, but the Wii was different enough and interesting enough that I decided to get one to play over my two week vacation. For new systems, here were the prices:

  • Standard Wii + 1 left controller + 1 right controller + localized version of Wii Sports: 7400NT
  • Wii with mod chip installed + 1 left controller + 1 right controller + localized version of Wii Sports: 8500NT
  • Extra left controller: 850NT
  • Extra right controller: 580NT
  • Wii Fit and balance board: 3600NT

continue reading…

I’ve made a Firefox extension that converts pinyin with tone numbers into pinyin with tone marks. The specifics of the conversion process are identical to those of the online pinyin converter I wrote earlier.

After installing the extension, a blue square will appear on the right side of the status bar at the bottom of your Firefox web browser. To use the tool, type some pinyin with tone numbers into any plain text field on any web page. Then highlight the text and click on the blue 拼 on your status bar. It will convert the tone numbers into the appropriate marks over the appropriate

For example, if you type in “zhong1wen2”, highlight it and hit the button, then it will be converted into “zhōngwén”.

Thanks to John for feedback on the design, and to Wayne and Andrew for testing on Mac and Linux machines.

Go to the download page to get it.

Until last week, I had never realized how difficult uploading large files to a web site can be. HTTP isn’t really that well suited to it, and PHP has a couple of glaring weaknesses that make it nearly impossible. It all started when I ran into a minor problem at school…
continue reading…

Light-bot is a pretty fun, if simple flash game that I wrote about last year. At that time, I realized that by giving the robot recursive solutions, it was possible to reduce the commands needed to win from the previous bests of 160 or so down to 132.

Recently, Mark Beyers has found an even more compact solution.

Already a lot of people have worked on improving their score for this game. I wanted to either beat the best known score (132 commands) or prove it to be minimal by trying every possible solution for every level and seeing if it completes the level.

To cut a long story short, the solver managed to beat the best known solution for level 8, reducing it from 10 commands to 9 commands. The solution is complex and I find it difficult to imagine how a human could discover this solution without assistance from a computer.

Mark Beyers: Light-Bot in 131 commands

Here is my old video for level 8 (apologies for the sound):

Here’s Mark’s solution, which uses one fewer command. Level 8 starts 45 seconds in.