Hackweek

From 7th to 11th December I participated in my first Hackweek at SUSE.

The Hackweek is awesome! You can spend one week hacking on whatever project you like!

According to the official description Hackweek is a week where SUSE engineers can experiment without limits. It’s the opportunity to innovate, collaborate across teams, and learn. The only rule is: Do what you want, but do it!

I absolutely love things like this. It’s a good opportunity to learn new skills, have some time for experimentation and finish some tasks you always wanted to finish.

The week before I came across a chinese learning program called Han Trainer Pro and I came up with the idea of creating something like this. I always wanted to create some learning programs that I can use, and I wanted to improve my knowledge of Qt since some time already.

So I spend my week with laying the foundation stones for daoshi.


To display the stroke order I rely on the Stroke Order Project which has a collection of chinese characters and their stroke order. I plan to use the CC-CEDICT, a free chinese-english dictionary more and get free sound examples from Stooka and Tatoeba. I use these projects because they provide things lincensed under the Creative Commons, and I want to encourage people who create lessons with daoshi to contribute to those projects and share all their self created characters and audio files with them. The Stroke Order Project has information about many chinese characters but most of them are not available as animated gifs (meaning the filetype .gif) yet. So far daoshi only allows for displaying of gifs and doesnt have support for static images. This is intentional, I think it would be good if more people would help the project to animate the missing characters.

In a later release daoshi will feature a (hopefully) easy-to-use dialog for creating lessons but so far the people need to know some XML to do this. An example lesson can be found and it should be quite easy for people to base their own lesson on this one.

The main repository has a doc/ directory which contains documentations, so far you can find some information on how to create lessons

All lessons need to be in a directory inside ~/.local/share/daoshi/lessons/. The directory name will be the name of the lesson.

I managed to create a properly working version in just one week and learned so much in the process of this.

Daoshi will receive some further improvements when time permits as I plan to use the program myself.

On my list so ar are:

  • Make lessons .tgz archives and make them easily installable over menu entry
  • Allow display of non-gif images (?)
  • Use spaced repetition to display words (?)
  • Add more modes like: multiple choice, listening comprehension, english-pinyin translation, character-english translation etc.
  • Create openSUSE package

Composed with vim. Published on Thu, Dec 24, 2015 via Hugo.
© Michael Vetter