Category Archives: Uncategorized

DuckDuckGo is making progress

Recently I’ve noticed that both here and my other blog I’ve been seeing only 80% of my search engine traffic coming from Google, with DuckDuckGo taking a solid second place at 10-15%. This is actually a surprise to me, both that Google is as low as it is and DDG so high.

The audience here presumably skews more technical than the average site, so this doesn’t necessarily tell us much about what’s going on in the web at large. But if DDG is making headway with a technical audience that’s probably a good sign for the future.

I’m glad to see DDG getting some kind of toehold in the market. I don’t know how far I trust their claims about improved privacy, but any kind of competition has to be good for the search engine marketplace. I care a lot less about the details of what Google does than the fact that they are a monopoly, and that can never be good for the customer. This is the same reason I’ve stopped using Google Analytics.

Every time DDG comes up on Hacker News there seems to be a range of people saying that its results are too bad to be usable. I find this curious; I’ve been using DDG for my main search engine for about a decade now, and on the occasions where I retry a query on Google I rarely find much improvement.

Of course, DDG is bad at hyper-localised queries that require some knowledge of your location or previous activity to make sense of; that’s kind of inevitable with a search engine that doesn’t track you. To me that’s a sacrifice worth making.

Bitcoin in 2021

I’m not really a big cryptocurrency person, but I’ve been following it since at least 2011, which must count for something. For the record, I do hold a long position in Bitcoin but it’s a very small part of my overall portfolio.

Back in the early days, I was quite optimistic about cryptocurrency. I still think there’s interesting stuff going on, but on Bitcoin in particular I’m increasingly pessimistic. I thought it was worth thinking through why I feel this way.

Anyone who’s spent time on the internet discussing currencies knows the three benefits we might want to see:

  1. Medium of exchange
  2. Unit of account
  3. Store of value

I don’t think this is backed by serious scholarship, but my feeling is that a cryptocurrency can’t survive as number 3 alone; it has to serve as number 1 or 2 as well.

The obvious rejoinder to this is to consider all the things that can be used as stores of value without being a medium of exchange or unit of account, but to me these all seem to have direct use value: gold has industrial and aesthetic uses, art and stamps can be exhibited, wine can be drunk. Bitcoin has nothing like this.

As a medium of exchange, I think Bitcoin has failed. Transaction fees are way too high and (almost as importantly) the relationship between transaction fees and transaction confirmation time is unpredictable, at least to people who aren’t closely following the markets.

There are off-chain transactions, but those aren’t really using Bitcoin as a medium of exchange, they are using Bitcoin as a proof of creditworthiness of whoever is handling the transaction.

Then there is Bitcoin as a unit of account. I think I originally expected Bitcoin might get some purchase here. I wouldn’t expect companies to have accounts in Bitcoin, but you can imagine that non-physical goods (apps, in-app purchases, ebooks) might trade for a stable Bitcoin price. Bitcoin gambling might have become widespread. Perhaps online auctions or gig economy tasks (Fiverr, TaskRabbit etc.) would have taken on Bitcoin as a recognisable and trusted worldwide currency. None of this has happened.

I’ve seen second-hand reports that there are a few digital nomads out there who are funding all their outgoings by taking on contract work in Bitcoin. And maybe there are a very few cases of contract work where both parties are treating it as a Bitcoin contract and not using Bitcoin to settle a contract specified in a fiat currency. But let’s be honest, if Bitcoin were to fall in value these people would renegotiate their contracts as soon as the terms allowed. Those who wouldn’t are just Bitcoin lottery winners who can afford to take a massive hit on volatility out of pure principle.

The tension here is obvious in retrospect: The more Bitcoin is hyped as a way to get rich quick by buy-and-hold, the less suitable it is as a unit of account. Every time Bitcoin has undergone a rapid rise in value, people have written about it like these price rises are a proof that it is working as a currency. But the rapid shifts in value are just far too extreme to make it appeal to anyone who might want to use it.

What I’ve learned after 3 years of learning Chinese

I started learning Mandarin Chinese 3 years ago, but that makes it sound more deliberate than it was. At the time I was experimenting with memorisation using spaced repetition software, and I figured it might be neat to learn some Chinese characters. I don’t think my aspirations went any further than decoding the characters on the menu next time I went to a Chinese restaurant.

Along the way, two things happened:

  • I discovered that learning Mandarin was much harder than I expected.
  • My stubbornness kicked in, and I didn’t want to be defeated by this language.

Without really intending to, I’ve reached the point where I can’t deny that I’m spending a lot of my spare time learning this language. I’ve traveled to China, taken an exam in Chinese, and have made several Chinese-speaking friends I talk to regularly. But what have I learned?

The Chinese language is a confusing mess

Lots of small details will trip you up. There’s a simple word for “not”, 不 (Bù), which you can use everywhere except for the verb “have”, where you should use 没 (Méi). And you have to use 没 in the past as well.

There’s a word for “can”, 会 (Huì). Well actually the same word means “meeting”, but we won’t go into that. Actually there are 3 words for “can”, roughly corresponding to “know how to”, “able to” and “have permission to”. But these can overlap, and then they work differently in the negative.

But if you seriously want to say “not able” then you’re going to have to wrestle with result complements, where the form of words varies depending on why you can’t do something. You don’t just say “I can’t sit down”, you have to know which result complement to use to convey whether you’re injured, not allowed or it’s too crowded.

There are countless homophones, which are written with different characters and mean completely different things. Then there are the homographs, which are written the same but pronounced differently and with different meanings. Then there are the homonyms that are written and pronounced the same, but have different meanings. It’s particularly worrisome as so often one of the meanings is … indelicate.

I could go on, but I won’t because…

The English language is a confusing mess

One of the glorious things about learning a new language is the chance to look again at your own mother tongue. Early on you might be thinking that your thoughts are in some Platonic ideal of abstract clarity and you just lack the skills to express it in another language. But after a while you spot how English (or whatever you speak) is subtly guiding your thinking.

You might think “How do I say ‘get’ in Chinese?”, but this isn’t a well-defined question. It depends if you’re getting coffee, getting a haircut, getting fired or getting older. Nowadays people use “get” in the first person when ordering food (“can I get the Rigatoni Milanese?”) even though the actual getting will be done by someone else (“the waiter got me some extra ketchup to go with my Rigatoni Milanese”). And if the waiter “got your order mixed up” then we’re in a whole different world of getting.

I have a few Chinese-speaking pen pals, and early on I would often dive into explaining how simple it was to use an English word like “from”, only to find that it really wasn’t. After a few paragraphs of adding epicycles to my perfectly clear explanation (“Of course, in this other situation it’s clear that…”) I realised how ridiculous this was and was suitably chastened.

Don’t be afraid of 汉字

If you know nothing else about the Chinese family of languages, it’s that they are written without an alphabet. Everyone knows that Chinese characters (汉字, Hanzi) number in the thousands and give you no hint as to how to pronounce them (this isn’t strictly true, but close enough).

It’s not even true (as some think) that Chinese characters contain much in the way of pictorial representation to tell you the meaning.

You may be expecting something like those verb tables you learned for French or Spanish in school, only filled with row after row of alien-looking symbols.

Learning to read 汉字 really isn’t that bad. The characters have evolved over thousands of years, driven by their utility as a means of communication to people whose brains work in the same way yours does. That doesn’t mean they make sense, in the sense that there is a top-down structure. But it does mean that with a little practice your brain will readily pick out the differences between seemingly similar characters, and associate them with concepts in your brain.

Context is a huge help. Most Chinese words are 2 characters, and often both characters contribute to the meaning of the word. If you know only one character of a word you may be able to guess the word, and if you do have to look up the missing character it’ll fit into a nice slot in your brain linked by meaning to the characters you already know.

By this point you’ve probably started to get used to the word 汉字 , so if I tell you that 打字 means “typewrite” you’ll probably spot a connected concept of “character”. Then if I tell you that 打篮球 means to play basketball, you may spot a connected concept relating to hitting, striking, manipulating with your hands.

There’s an odd way in which playing basketball and typing have something in common, which your brain is already aware of, but English doesn’t expose to us. These are the kind of connection that the human brain is good at picking up on without much conscious effort.

None of which is to say that learning to read 汉字 is easy. It’s hard. And learning to write them is extremely hard, and probably a waste of time in the modern world. But it’s an awful lot less dry and more fun and intuitive than you might be expecting.

Pronunciation is a performance

All my previous language learning had been on Western languages, and I think the similarity to my mother tongue held back my pronunciation. I fell into a trap: thinking “of course French people sound a bit different to me when they speak French, that’s just not the way my voice is”. I’d correct all the egregious faults (silent final -en, soft “j”, …) but I never paid attention to the small details.

Of course, you can speak French without mastering nasal vowels or unaspirated voiceless plosives. But you won’t speak like a native does, and you will be consistently wrong in a certain way. The dividing line between “speaking the language correctly” and “putting on a funny French accent” is nothing like as clear as I’d like to think.

In Mandarin, it’s harder to fool yourself. You’re going to have to work hard, just to get some basic comprehension. If you want to achieve more than indulgent smiles from your interlocutors you’re going to need to work on some of the fine details.

It’s particularly hard because you don’t know which slips are going to impede comprehension. Small changes can make big differences, such as between Qiézi (eggplant) and Qīzi (wife). Other changes can make little or no difference to comprehension (native speakers’ accents throughout China vary extremely widely). How do you know which details of pronunciation you can ignore? It’s pretty easy, you just have to become a fluent speaker first…

One of the most useful things I did for my pronunciation was to spend a few hours on YouTube doing dialect coaching for various regional accents in English. Try it! Learn to speak English in a New Zealand accent. If you’re a Kiwi, learn Glaswegian. You’ll notice all sorts of small details. And you’ll notice that your mouth is perfectly capable of doing them, given a little practice.

You’ll also notice that these details are impossible to write down accurately. You can’t say “New Zealanders pronounce ‘fish and chips’ as ‘fush and chups'” because they really don’t. The Kiwi short “i” is just missing from British or American English. Writing it down forces it into a pigeonhole from your native accent, and something is lost.

There is good news here! The process of listening, imitating and puzzling through just what’s wrong with your voice that makes it not sound like the other person’s can be great fun. The sounds are there, you just have to find them. And what initially feels like a sort of disrespectful parody, “putting on a funny foreign accent”, will eventually give way to finding your own voice in the language.

The greatest challenges have been emotional not intellectual ones

This is (nominally) a software development blog. If you’re reading this, there’s a good chance you’re the sort of person who learned things easily in school, has a good memory, handles abstract concepts well etc. Like me, you may have an expectation that many supposedly difficult intellectual challenges will yield to focus, dedication and a well-chosen strategy.

You may even (as I did) have spent some time thinking about “hacking” learning. The old teaching methods needed thousands of hours, but that’s because they hadn’t properly applied Spaced Repetition, or Comprehensible Input.

All of this may be true. But you’re missing something important.

It’s impossible to learn a language without facing failure. If you learn to program a computer or fly a plane or play the clarinet you will mostly encounter people who learned this skill the same way you did, many of whom are amateurs. But for learning a new language to make any sense you have to confront yourself with native speakers, and they are a world apart from you. Native speakers of Mandarin have mastered a skill that you are trying to learn, and they can do it better than you ever will and without even knowing how they did it.

To me, the process of learning a language stokes two uncertainties:

  • Fear of failure: “Am I too stupid to understand this?”
  • Fear of embarrassment: “Did that mistake make other people think less of me?”

I spent way too many hours on flash cards or grammar books or watching The Legend of the White Snake on Netflix because I just didn’t want to do the real work, the work of stumbling through a real conversation with a real human being. I suppose I had hoped that I could retreat into a sort of language chrysalis where I could study the language in isolation, to emerge some day as a resplendent butterfly of native fluency. But that day never came.

If I had one piece of advice for my earlier self, it’s “don’t kid yourself”. There’s no shame in not being comfortable with failure or social awkwardness, but there ought to be shame in thinking that you can avoid facing it down and still be that one person at the party who brags about their Mandarin skills.