I think they mean http://www.taxi.eu/. It's a single app used by large taxi dispatchers all over Europe; in Hamburg, at least HansaTaxi uses it, the largest and IMHO best dispatcher.
As far as I understand it, taxi.eu is an infrastructure service for dispatchers, while MyTaxi is a bit more Uber-like in that it provides a virtual dispatcher for non-affiliated (but still licensed) Taxi drivers.
Thanks for the comments! I'm all for improved readability. I definitely wasn't aiming for much performance wise, at least initially. These were two areas (of many) that I felt could do with some improvement (especially the file IO). I will look into making some modifications like those suggested when I get a chance.
In Hong Kong, I sometimes see peoples screens when I'm using public transport. WhatsApp audio recordings are very popular, sometimes I can see the entire conversation is just audio recordings back and forth. Other times it's Chinese (I can't differentiate which), sometimes English, often a mix. I've only seen someone drawing characters with his finger once.
Keep an eye out for either Pinyin or Zhuyin. I believe they are somewhat common for texting purposes. You input this stuff and your device starts displaying characters for you to pick from avoiding the slower process of actually drawing characters.
Although in the case of Hong Kong, neither Pinyin input nor Zhuyin input are likely to be used, as both are based on the phonetics of standard Mandarin Chinese. There are alternative input methods that are shape-based (https://en.wikipedia.org/wiki/Chinese_input_methods_for_comp...) such as the Cangjie, and Cantonese-only input methods.
I guess I've just been assuming any Roman characters are English, some definitely might be Pinyin. I generally try not to stare at peoples screens for too long haha.
I did an intro to Chinese (Mandarin) class a few years ago so I'm aware of Pinyin but have forgotten almost everything (except some of the bits I found particularly interesting like word order for times and places, how numbers are represented and a few other things).
It's only drawing if one doesn't write the language. If I have forgotten how to write a character and have to refer to a dictionary, I'll still be writing the character, not drawing it. Compare/contrast with my trying to write Thai, Tamil, Arabic, etc - then I'll be drawing.
Personally I write Chinese on the iPhone/iPad using my index finger much faster than I enter pinyin. I find that iOS's character recognition is fairly good - as long as I get the stroke order right, even though what I have written looks like random scribbling on screen, most of the time it presents the right character.
Actually organising the write up forced me to tidy up the code much more than I otherwise would have. I definitely find C# to be one of the more readable languages although I have had to debug and untangle some C# messes before.
Yeah I remember changing it to a SortedDictionary but I changed it back. I can't remember exactly why, possibly because it's supposed to be sorted by raw UTF8 bytes rather than a nice neat C# string and I didn't want to start using byte arrays for dictionary keys. I guess it only needs to be sorted when in the BEncoding format and it felt better to keep the internal structure as simple as possible. The tradeoff is it doesn't support incorrectly encoded torrent files – I'm really not sure how much of an issue that is.
From a quick look at the source [0], it looks like it supports Mono. I can't see anything stopping it being ported to Core, apart from JonSkeet.MiscUtil may not support Core.
If you package this up as a NuGet package and support Core then can you please ping me and I'll add it to https://anclafs.com.
I've been prototyping a .NET Core port. JonSkeet.MiscUtil source code is fine for Core, but for the BitTorrent code we need to change the HttpWebRequest objects to HttpClient and rewrite the Begin/End/IAsyncResult/callback-style to async/await.
I recently went through the same thing – building my own simple BitTorrent client, mostly just due to curiosity about how the protocol works. There were some tricky parts, most of which are outlined in this but I found the underlying concept so simple. I guess simplicity is a requirement for scale and resilience.