Learning using Transcrobes

As a teenager (and later), you aren’t the “blank slate” that you are when you learn your first language. You have a certain number of skills and learning habits that need to be taken advantage of if you want to learn a language most efficiently. Transcrobes has already implemented a number of functionalities that help you better manage the activities that are most valuable and useful for learning. Development of features is driven by science - unfortunately something that is often lacking in both mandatory schooling and software designed for language learning. [Read More]

Live Server Experiment

After many months of intense focus on developing new features and making the system faster and more scalable, the system is now ready for real learners, adding real value for language learners who wish to super-charge their learning in a fun and efficient way. Experimental platform The Meaningful IO research project experimental server is now live, and accepting signups for learners of Mandarin Chinese who are willing to participate in the research project. [Read More]

Engineering L2

Design principles for reality

This post is in a series of posts discussing issues of a “new” theory of SLA - Meaningful IO. Theorising vs Doing One of the things that you learn “down in the trenches”, doing actual software engineering on real world problems, is that theories about the world almost always can’t just be implemented as-is in software and solve a problem in an optimal way. Theorising of any kind necessarily needs to to abstract away some of the details and will focus on a particular aspect or set of aspects. [Read More]

Anton's PhD thesis

I (Anton) have been accepted to develop the ideas in this project for a PhD thesis at the Linguistics and Translation department of the City University of Hong Kong from September 2019. While it is not certain that this particular code-base will be developed for the PhD, the PhD work will be open source, and there is no particular reason for it not to build on the existing code. This means I will be working on this (or an equivalent) project for the next four years! [Read More]

English support

UPDATE: 2020-12-01 English support has been temporarily removed in order to focus fully on Chinese. If there is significant community interest, that could always change. Preliminary support for Chinese learners of English has been implemented and is now available for testing. As expected, integrating a second language pair required basically rewriting the entire system to be able to handle any input and output language. That said, the inflectional characteristics of English are a new challenge for the system and have not been fully integrated. [Read More]

Gitlab All The Things

When all you have is a magical hammer...

This is Part 4 of a mini-series of my experiences getting Transcrobes migrated from separate server apps on a 4gig Alibaba Cloud VM to microk8s on the same VM, and automating (almost) everything with Gitlab CI. Check out Part 1 here, Part 2 here and Part 3 here Gitlab all the Things Automating container builds In the middle of writing the server install documentation, I realised that I had just been manually building and pushing the images to Gitlab’s image registry. [Read More]

Migrating to Kubernetes

A square peg in a roundish hole

This is Part 3 of a mini-series of my experiences getting Transcrobes migrated from separate server apps on a 4gig Alibaba Cloud VM to microk8s on the same VM, and automating (almost) everything with Gitlab CI. Check out Part 1 here and Part 2 here. Kubernetes Migration Woes nginx-ingress I was coming from a setup where I knew the component parts (Apache + mod_wsgi) pretty well. I haven’t been working on high-load web stuff for over 8 years now, and always thought that nginx was a lot of hype for not much benefit. [Read More]

The Gory Details

To microk8s, or not to microk8s

This is Part 2 of a mini-series of my experiences getting Transcrobes migrated from separate server apps on a 4gig Alibaba Cloud VM to microk8s on the same VM, and automating (almost) everything with Gitlab CI. Check out Part 1 here Some Detailed Gripes and Gotchas Building Snaps I had seen a couple of talks on service meshes at a conference a while back but hadn’t had a play yet - microk8s ships with istio, and istio is all the rage these days (apparently), so I definitely wanted to use that in the system. [Read More]

Single-User Production on Microk8s

Never Say Never

This is Part 1 of a mini-series of my experiences getting Transcrobes migrated from separate server apps on a 4gig Alibaba Cloud VM to microk8s on the same VM, and automating (almost) everything with Gitlab CI. Introduction Microk8s is a kube-in-a-box distribution sponsored by Ubuntu, and in this blog post I recount my experiences getting my own personal Transcrobes installation migrated to a Kubernetes Helm chart and running on it on a 4GB VM on Alibaba Cloud in China. [Read More]