Monday 27 October 2014

Are You a Suspected Paedophile?

Is this how people picture you? Getty ©
Any time a man has dealings with a young child who isn’t a family member, it seems that he is instantly labelled as a potential paedophile. In the last few days in Sydney, an 11-year-old girl was missing. One would think that relief would be the main emotion expressed upon finding her, but instead, it was suspicion. Initial reports (since revised) revealed that a 24-year-old man had been voluntarily harbouring the girl for two nights, so the media and the general public repaid him by casting aspersions as to his motives.

One could have labelled this man as a “Good Samaritan”. He might even be called a “caring man” or just a “man”, but instead, many people labelled him as a “stranger” and were suspicious of him. The father of the girl was quoted as saying that he was happy she was sheltered and fed rather than sleeping rough. That’s certainly not a glowing endorsement of the Good Samaritan.

Missing girl, Michelle Levy, who was cared for by a Good Samaritan or a potential paedohphile. Photo: NSW Police.

The girl’s mother issued a statement thanking everyone who helped look for the girl, including the police. Strangely though, she didn’t thank the man who actually harboured her daughter.

My suspicion all along was that the girl was probably right to run away − perhaps not for two nights, but at least for a bit. She wasn’t running away because she couldn’t get a new Barbie − this girl was 11. The Good Samaritan was obviously told by the girl that she didn’t want to return home and she probably explained why. This would explain why the man kept quiet about it. Any suspicion regarding her home situation was quashed due to the immediate public sentiment that we must all find this girl and return her to her parents.

The story has since been revised and the Good Samaritan is this time aged in his 50s, but it has thankfully been revealed that the police aren’t suspicious of him. Of course, this piece of information was still worded in a way as though he couldn’t be trusted − the Sydney Morning Herald had the title “Man who let runaway Michelle Levy stay for two nights released without charge”. This is not just a man who has left the police station after he finished talking to police; he is a potential criminal who didn’t end up being charged.

Children with potential plaintiffs. Photo: Newsday / Ana Gutierrez
With Halloween coming up in a few days, we must all be mindful that many of these children will have parents with them. When the children come to your door asking for sweets, they will most often have mothers either right there or back at the street, their eyes fixed on you, suspicious of what you might do to their child. Imagine what would happen if you invited the children inside, maybe to come to the kitchen with you to get said sweets − the parents would probably run over to you, banging on the door and demanding to know what you were doing.

Would you let a child travel with this man? © Uber
Giving a child a ride in a car is almost unthinkable now − even if a driver saw a child struggling along with a bleeding leg, offering a ride to the child would likely come with a response of "no way". Even if the child accepted the offer, it may not be worth it, since there is always going to be a cloud of suspicion from the parents.

Uber drivers have it the toughest. A taxi driver taking a child passenger would probably be seen as not such a big deal, since that's their job and they're on camera. Uber is viewed as a taxi alternative though people may ask, "Why would the child get in that car when there were other options available?" There's also the fact that, at least for Uber X, the drivers are typically doing it just as a side job. A child refusing to travel in an Uber car is apparently not as guilty of demonising the livelihood of this driver.

Unfortunately, the result of the suspicion is that many businesses refuse to do business with unaccompanied children. This doesn't just infringe the rights of the children, it legitimises the accusations of paedophilia that are so easily thrown around. If you're doing business with a company that bans unaccompanied children for no good reason, are you endorsing people to suspect you of being a paedophile?

Saturday 25 October 2014

Converting to a Bépo keyboard

There are so many keyboard layouts, why limit yourself to QWERTY? Here will be discussed the disadvantages of QWERTY and the method to switch to bépo.
Conspiracy theorist keyboard − another possible layout?


It's well-known that QWERTY keyboards were created to minimise the likelihood for typewriters to jam − not the absolute slowest, but still one of the slower ways of typing. Good interaction between humans and computers gives a sense of mastery to the user and enables them to fulfill their goals smoothly. The QWERTY keyboard is oppressive design not just to its users, but also to anyone reading the words written by the individual users.


English doesn't just rely on the "English alphabet" of 26 letters − it also uses symbols; the Arabic numbers; and many European accents. A common view is that é is not part of English and therefore doesn't need to be on a keyboard. It may not be part of the "English alphabet", but anyone who knows English is expected to be familiar with terms such as café, déjà vu, résumé, fiancé and née. A keyboard without all the letters of English therefore enforces the designer's view that those missing letters should not be part of English. The English language is being actively oppressed.

Naturally, users are interacting with their keyboards as intended and they are passively purging the "foreign characters" from English. In a similar way to how people are nominally replacing BC and AD with BCE and CE to try undoing Christianity's massive effect on Western culture (or at least to pretend it didn't happen), QWERTY-keyboard users are undoing Europe's influence on our language.

The effect upon English is spreading elsewhere − it's creating difficulty for foreigners to type their own language and it's spreading out of keyboards to make the experience difficult elsewhere for English-speaking users. In order to be maximally compatible with user expectations and various software, the usual keyboard in France for instance is AZERTY. It has been awkwardly modified and there remains difficulty in typing accented characters, even though é occurs at a rate of 2.13% compared to w which rates at only 0.04%.

I even received an email from a Sinéad who was signing off her emails as "Sinead" despite writing it accented in an image signature. After I addressed her as Sinéad, she curiously changed her habit and started including the accent.

QWERTY's cultural sabotage sometimes doesn't manage to escape from computers. Source.


In software, there are still plenty of programs and websites that only accept ASCII characters − a character set devised in the early days by Americans with QWERTY keyboards. A bank of mine for instance used to support accents (it allows me to create stronger passwords), then one day changed their login page so the page refused my correct password. I left that bank for a few months due to that. The extra characters on a bépo keyboard could realistically grant immunity from a dictionary attack.

In software development, despite the fact that an algorithm will be at the same contextual scope as a mathematical function, it is usually incompatible for Greek letters to be written in the program itself and sometimes they aren't even permitted in the comments. Furthermore, the lack of the × and ÷ signs on QWERTY keyboards led to the awkward, universal phenomenon of * and / being used as replacements. A warning to programmers − the space bar of the bépo keyboard can be used to type 4 different kinds of space, only one of which is typically registered as a space by compilers.


Many see QWERTY's only problem as being the slow speed, so if someone changes, they often change to DVORAK, which is optimised for speed when typing the subset of English that only includes the characters from the QWERTY keyboard. To legitimise this wilful ignorance, popular typing tests only choose passages that don't include accents. The bépo layout has been optimised for speed when typing French. Although I'm typing English, the letter frequencies and combinations are very similar and therefore the layout is still probably faster than QWERTY.

Besides the speed, I found bépo to offer the best selection of keys. There are plenty of combination keys, so there are intuitive ways of typing all official languages of the European Union, as well as Greek. Typing foreign accents is common on many keyboards, but users are typically required to reach for awkward, unintuitive buttons like "2". There are plenty of extra symbols for mathematics, currency and correct pronunciation.

bépo keyboard layout


I should mention that after changing over, it took me around two months until I could type reasonably. I used to touch-type QWERTY English at 90 words/minute and after two months, I could type complete English at perhaps 40 words / minute and was no longer frustrated by having to type something. The point of no return is after perhaps 3 weeks − some say that it's possible to maintain touch-typing ability on both keyboards, but I didn't find that to be feasible. I was having to actively practice typing so that I wouldn't become stuck at a point where I couldn't type with either keyboard.

If you can't touch-type, the worry about the change-over period is a moot point.

PKL presents an on-screen keyboard that changes as you start a combination.
PKL on-screen keyboard after starting a combination with /
Since most typing programs only teach QWERTY English instead of complete English, I recommend downloading TypeFaster and customising it for bépo, as explained.


  • You could buy a physical bépo keyboard
  • You can buy stickers to put on a keyboard.
  • The bépo keyboard has extra buttons, so for full effect, I recommend purchasing a French-Canadian keyboard (ISO 105-key). Ç will be positioned awkwardly and the Ê button won't be present if you use a QWERTY keyboard.
  • Your government will probably allow you to count this as a work expense.

Installing Drivers

Users of Ubuntu can find bépo as one of the existing available layouts for French. Windows users are required to go to more effort:
  • Download bepo.exe here and run it.
  • Go to the Control Panel → Change keyboards or other input methods → Change keyboards…; then move bépo to the top to make it the default language. The icon can be changed by getting it from bepo.exe.
  • The drivers packaged with bepo.exe don't implement all of the keyboard combinations. Download Microsoft Keyboard Layout Creator. If you experience problems with this program, try enabling all components of .NET in Windows.
  • The interface for Microsoft Keyboard Layout Creator (MSKLC) defers to kbdutool.exe for processing the klc files and silently strips out some of the extended combinations, so one must instead run kbdutool from the command line.
  • Checkout the latest klc file here using SVN. If you don't have an SVN client already, find the [possibly outdated probably current] file here or download Tortoise SVN. Put the klc file in the same folder as kbdutool.exe.
  • Run kbdutool to compile the klc file and create DLLs for your system, then put them in the appropriate system folder. For Windows 7 x64, I put the amd64 version in \Windows\System32 and the syswow64 version (necessary for 32-bit programs) in \Windows\syswow64. Notice that bepo.exe already placed files here with the same name, but without the full functionality.
I tried to take an intermediary step with kdbutool by compiling .c and .h source files, manually changing them, then compiling the DLLs. Windows implements an AltGr key-press as Ctrl+Alt, which can activate various keyboard short-cuts in international-unfriendly programs. Manually changing the source files allows AltGr to be replaced with Kana (described here). The compiler cl.exe (presumably the one supplied with MSKLC) couldn't find the source files though, even after I added the folder to the path (StackOverflow link).

I tried compiling the source files using the Windows Driver Kit my generated DLL files wouldn't work and I wasn't 100% sure that I was targeting the right platform.