Monday, February 28, 2011

Jasmine revolution in China


The Chinese jasmine revolution has thus far been quiet shadow boxing. The protesters shout their calls for action through open social networks, enabling the government to anticipate and counter them with surgical countermeasures and displays of force. There is little action but a lot of tension - about 10% of articles in creaders.net are about the Chinese jasmine revolution.



Original article
26.2.2011

Wangfujing selead with plates, jasmine revolution unable to blossom in Beijing


According to "Apple Daily", the netizens called for the second wave of "jasmine revolution" for today. The local officials heard the enemy coming and even dispatched extra guards to parts of the city. One of the central meeting ares, the gates of McDonald's in Wangfujing [a suburb in Beijing], were sealed with plates because of "sunken earth holes". When netizens shifted the place to Wangfujing's Kentucky Fried Chicken, even the word "Wangfujing" became a sensistive word in sina.com, impossible to search.

As online calls for protests have expanded to 23 cities, local officials hear the sound of the horn and are making preparatory moves. Reports indicate that Beijing has already brought troops to the city and increased the surveillance of communications. "Red armbands" are guards, which consist of voluntarily patrolling citizens. Earlier, they have only been used during the Beijing Olympiad and the "Two Conferences" (the yearly meetings of National People's Congress and Chinese People's Political Consultative Committee.) Many patrol cars of Ministry of Public Security are stationed in the main street of Wangfujing, and anyone who takes photographs is promptly questioned.

Boxun [US based] website, which for several days has been the news platform for jasmine revolution, announced yesterday evening that it has difficulty operating because of intense pressure and repeated attacks. Because of current conditions, "Boxun unfortunately has to stop publishing related [to jasmine revolution] information."

Online reports indicate that domestic officials have intensified pressure on anyone who might participate in gatherings. Dissidents are being taken away, and a retired professor of Shandong Univeristy, Sun Wenguang was escorted away by Public Security. Some netizens claim that merely saying the word "jasmine revolution" will bring Public Security to the doorstep.

In the biggest domestic social network, sina.com, it is still impossible to search with sensitive words "jasmine revolution" or "meeting". Yesterday also "Wangfujing" became prohibited, producing announcement "Because of certain legal stipulations and policies, the search result can not be displayed."

Sunday, February 27, 2011

If I chose my sport according to what appeals to women in general, I would train martial arts.

Mystery says that to appeal to women in general, you should project an image of being a leader of men, preselected by women and protector of the loved ones. Martial arts push the "protector of the loved ones" button.

Many online dating announcements call for a traditional, real man. Training capability for violence is consistent with that. Also romantic fiction contains a lot of protector figures.

However, only once in my adult age have I been in a violent situation. The skill would be practically useless, therefore I have no interest for it.

By contrast, the effeminate undertones of pole dancing are likely to be a big turn-off for many women, so it definitely isn't something to be done to appeal to women. However, since I'm practising it anyway, it's reasonable to ask how to present it in a light which is consistent with my goals in other areas of life.

Wednesday, February 23, 2011

More doom and gloom

Talking about bad scenarios, one I want to avoid is living 50 years alone. Many friends have reached the middle class bliss of having a wife, a mortgage, a spacious car, 2.5 kids, and thou shalt not forget the golden retriever. I want it in the same trivial sense which Jane Austin meant with the opening sentence of "Pride and Prejudice": "It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife." The only question is how to actionalize the goal - what series of steps to perform to make progress towards it. Here's my current actionalization:
  • Participate in events of The Club to develop social skills and meet people.
  • Answer personals in Deitti.net and OkCupid in the rare instances when something interesting pops up (my sister and her husband found each others through Deitti.net and have since reached middle-class bliss.)
  • Read seduction material like Game for Omegas or Roissy or Mystery Method.
  • Practise pole dancing in order to have a hobby which appeals to the target group.

The pole dancing part needs a little explanation. Dance classes are definitely not places to meet women - rather they are places where girls team up to invent cruel and unusual shit tests to poke at your weaknesses. In fact, I've only had one 10-lesson card (and won't buy a new one until I finish dieting.) Going to those lessons was always a little disturbing.

However, dancing is currently my only interest with any appeal to women, and since I've decided to exercise regularly anyway, the time investment is quite low.

If I ever get to a level where I can make videos or performances without embarrassment, it should increase the number of first contacts that start with positive expectations. Avoiding embarrassment means, among other things, grounding the style in some visual tradition which is not feminine or gay. In that case, the skill is quite comparable to Mystery's magic tricks.

From the perspective of my goals, it doesn't matter if pole dancers are hot or not. What matters is how the target group, non-pole-dancing plain Janes, react to my hobby. At best, pole dancers can be a useful test group or act as social proof, giving me preselection points when I mention them.

Among men, the dominant view is that social skills are like poker: you should hide your goals and intentions while reading other people for their weaknesses. This way you gain or lose advantage from asymmetric information. Many years ago I broke it by mentioning desire for more friends in this blog, and The Scientist metioned privately that he wouldn't admit such things. After that I have been a good boy and followed this principle. Now where is my fucking prize?

The more I look, the more I see signs that relationship are almost a perfect-information game like chess or go for the sharpest females that matter most. For example Roissy's seduction performance didn't drop from describing openly what he did as he did it. Here is how Aretae describes his wife:
Sickness by skin color variations, 3 days ahead of time ("Start superdosing your vitamin D now, you're getting sick"). 10:1 she knows more about what you're feeling than you do, if she can see you (even if your back is turned, and you're wearing a heavy coat). And if she hears you [not me] say "hello" to your wife over the phone, she knows if your wife is ready to cheat -- by means of emotional echoes in your response, whether or not you do. Still pictures of popular trial defendents tell her whether they're guilty.


In the pole dancing school, at least one teacher is really perceptive. For example, once I had difficulty getting a series of moves right. The first time I got it right, she noticed it from the opposite end of the class, probaly without looking at me. Thinking that you can hide your sexual thoughts in a dance class is as foolish as hoping that in a go match, the other player won't see a move. At least some of them can read everthing that matters from your gestures. If you assume otherwise, they will confuse and startle you by showing you your own reflection in snappy comments. But there is one thing they can't turn against you - self-knowledge and confidence that comes from knowing why you are there, what you want out of it and acting consistently and decently.

Currently, none of the 4 actionalizations produces results. The best they can provide is general practise in social skills and a diagnosis of what I need to do differently to find an approach which works.

Saturday, February 12, 2011

Päiväkäskyni viimeinen: Kusessa ollaan!


Now that Nokia has decided to use Windows, the question for Finnish IT industry is: Who will do the work?

Ominously, Nokia Finland is not recruiting Windows, C# or Silverlight programmers (Silverlight is the plaform for making 3rd party applications to Windows Phones). In monster.fi, Silverlight jobs are either in the non-mobile industry or in the multiplatform field, where all mobile platforms are listed.

For example Abhinaba Basu in Hyderabad, India works in a team with Windows Phone and Silverlight competence.

In the past, Finnish developers moved between Series40, Symbian and Meego. There is no sign that they will be moving to Windows except for Elop's words.

Moving phone OS development out from Finland would be a tectonic shift in the Finnish IT industry. A HS artice mentions 3100 Symbian and Meego developers in Tampere and Oulu. There are more in Salo, Helsinki and in Nokia's subcontracting chain. Quick layoffs will create a glut of unemployed, resulting in hundreds of applicants for each open position until the industry has restructured, which would take years.

Mauri Pekkarinen uttered the unfamous words "we are from the government and we are here to help." He talked about managed handling of the structural reform. Based on what I have heard about TEKES projects, I hope that they will do as little as possible and stick to existing mechanisms like income-based unemployment benefit and start-up grant. Finnish state financed with debt 25% of its costs last year. We don't need more of that.

Technology perspective


Symbiatch raves about the high quality of C# language and Microsoft tools in Desktop. But Windows Phone is not a desktop OS.

A colleague recently investigated porting a multiplatform client to Windows Phone. The application runs in the background. He found out that WP7 didn't allow background operation to 3rd party applications, making the port difficult and maybe impossible. Also the first comment to Symbiatch's raving is the lack of socket interface, a fundamental low-level network technology necessary for many serious applications. If Microsoft refuses to give enough levers to pull, easier programming is useless. Angry Birds may be a lottery win for Rovio, but it is not a business application and the hype hides the long tail of apps producing nothing.

WP is just one of Microsoft's many income sources. If Nokia demands improvements to WP OS, they can afford to say "Stop whining, boy! Nobody forces you to use WP if you don't accept the terms." Let's hope that Nokia is big enough player to pressure Microsoft into necessary changes.

Economic perspective


Symbian proliferated years ago as a counterstrike to Windows. Mobile phone manufacturers feared they would become Dell-style commodity hardware manufacturers with tight competition and thin profit margins. Simultaneously Microsoft would reap profits from just copying bits after the initial development effort. Since Microsoft holds iron grip over WP and 3rd party applications, these old threats resurface.

Another force working against Nokia are network effects. Silverlight is not popular outside WP. Java midlets are popular in many different mobile platforms. Meego is compatible with Linux kernel, enabling vast amounts of Linux applications to be ported to N900 with reasonable effort. It depends on Nokia's ability to open WP whether the network effects will be positive or negative. At best, Nokia will get Windows developers into more open WP. At worst, obstacles around WP will make it as isolated as Symbian was before Qt and C API.

Thursday, February 10, 2011

Tomorrow at 12.00 is popcorn time for anyone interested in Nokia's future



Last year I wrote that Symbian has so fundamental issues that the platform is unlikely to produce hit software anymore. Thus far data has supported my predictions. Nokia's share in smartphones (where Symbian is used) decresed 6.7 percentage points despite the publication of flagship N8. Nokia refused to publish the sales figures for N8, which hints that the figures don't support the narrative of dramatic recovery after a new broom swept clean the sins of the past.

Against my predictions, Nokia lost market share also in stupid phones.

Sunday, February 06, 2011

Bits are eternal



Last week I mentioned Kari and Esa, two informatics medalists interested in Haskell and category theory. This week Kari started a blog. His topmost science fiction story is an accessible summary of those themes.

The key paragraph is this:

Long ago, the program logic for computers was saved in monolithic ways, which made it difficult to reuse existing functionality for new purposes. Companies rationalized it with the need to protect their source code. On the other hand, computing capacity was also billions of times more scarce, forcing people to meticulously design all kinds of algorithms. Ancient software nowadays qualifies as a kind of art, when you looked at their painstakingly polished details and routines fine-tuned with clocksmith's precision, aiming to save every cycle and every bit of memory. Uki sighed while trying to remember what those primitive days felt like.

The Loom of Culture was a method to extend imagination as far as possible without breaking the sense-muscle interface [Note: The character, Uki, is embedded in a virtual reality where digital input fills his senses. His muscles also move him virtually. The sense-muscle interface connects his "body" to the virtual world.] All logic in the loom consisted of separate, abstract construction rules and restrictions as well as metadata, which made it possible to automatically combine the rules and restictions. The user could create contexts on the fly and combine, inherit and duplicate them. Each context had a set of objects it was working on and building. The user could add or remove assumptions, modifying the end result while the loom automatically reached logical conclusions based on type information, pruning impossible branches with restrictions. If the loom couldn't deduct some necessary feature from assumptions, the model offered the most probable default value in the same way as human vision fills blind spots with the best guess based on available information.

The loom had a basic context of general knowledge. The user could add more contexts from trusted sources. Typically each user started with a standard environment, supplementing it with libraries of his own hobbies as well as personal adjustments. The power of the system was its ability to make the knowledge in the models interact and build a massive amount of possibilities by combining simple, relative rules and pruning them with restrictions. Using it was much easier than you would think from this description, since the standard context could interpret thought, movement and speech to guide the loom. The difference to an artificial intelligence was that the loom didn't have its own intentions and it didn't act automatically, it only extended the imagination of its user.

Uki gestured to open the standard context, looked at the empty space ahead of him and said in his thoughts "Open the music library and let us assume Devil's Sonata by Tartini and the memes of popular music in the 1900s." The composition memes were made of functions. Some of the functions took other compositions as parameters, producing new compositions. For example "repeat" might be a function A ↦ AA and fade(X) produced a verion of X, which faded to silence in the end. These building blocks operated mainly on notes and concepts like "pitch", "volume", "duration" and "instrument". The memes themselves had been filtered with a genetic algorithm. The compositions were located at a timeline, and were "phenotypes". The genetic algorithm searched for the shortest set of functions to generate a composition. This program was the "genotype" of the composition, which generated the "phenotype". The idea of searching for the shortest composition was that it distilled the essential and abstract structural ideas from the compositions, relative to the current meme pool. In addition, whole compositions contained a kind of conceptual network, which described how often each block had been used as input for another and how long various patterns typically last. In addition to building blocks, the library contained information about harmony. The algorithm also increased the score of the composition if it contained several short genotypes, making it a kind of compact crossroads for several ideas. This could not completely model creativity, but it approximated it reasonably, as ideas interacted in the composer's head with other areas of life.


The next paragraphs explain what this has to do with programming.

Programming as meaningless, aimless busywork


Once I presented the character drawing software for N900 for a person in the company I work for. He commented that it was a nice competence development project. This represents a mindset where programming is meaningless, useless activity which aims to get money from the customer. Competence development is the only other imaginable reason to code. Programming to implement features is unheard of alien blasphemy.

For those people, programming as a kind of schoolwork assignment. It is impossible to talk with them about programming in any higher level of abstraction than which function call does what, since only losers talk about homework assignments unless they need hints to complete one. In school, the primary goal of reifying the status hierarchy goes far ahead of learning. Similarly at work, there is no debate about the purpose of writing software. Consequently, people are often as alienated about the nebulous goal of programming as they were in school about learning specific course content.

Making machines obey human will


In Kari's (and my) opinions, programming is all about making machines obey human will. Non-programming methods like creation wizards and cofiguration files are just as fine, but rarely enough. The short story shows programming without writing code and calling functions. The loom of culture is likely still Turing complete.

In the hierarchy of low-level and high-level languages, the loom of culture is the highest imaginable one. The programmer to expresses exactly the core requirements. The machine generates everything else by logical deduction and reasonable default values.

Programming languages are becoming more and more abstract, enabling the programs to shrink. Languages typically improve by placing low-level restrictions. This allows more guaranteed abstract features on higher levels. For example C language does not allow direct stack manipulation. This enables modular function calls.

Haskell is the current peak of this trend. Despite several attempts to learn it, I can't code in it myself. But Haskell has the reputation of producing the smallest implementations for various features. It also has the strictest low-level restriction in any language - namely, that you can't set a variable. This restriction makes it mainly an academic language which little industry adoption.

The loom of culture also has an interface which matches human intuition. Kari once described writing Haskell as the closest thing he has seen to writing what you think. Languages development requires insight into human intuition, and there is some empirical evidence that setting a variable is unintuitive.

Category theory is a branch of mathematics which is relevant to understanding Haskell and a source of inspiration for improving the state of art. I didn't understand the content of Esa's and Kari's debate at the time, and now Kari moved to Helsinki, but it was about developing even better languages. Esa says that type system is at the core of the effort, and indeed type-level restriction are mentioned in the loom of culture. Usually the word "abstract" is a rhetorical device ("This is like, totally abstract and general!") but in language development they must face it head on.

Kari and Esa are both talented, experienced and driven people, and they understand programming on some higher level that is inaccessible for my IQ and programming experience. The loom of culture is just one glimpse of it.

Sunday, January 30, 2011

Positive agendas

One reason I wrote so much about CALL is that it is a positive agenda. A positive agenda fulfills the following 4 requirements:

CALL development has a clear goal, namely, the production of better language-learning software.

In contrast, most busywork people do to earn money doesn't have any goal.

CALL has justification for why the goal is worth reaching. People have to learn languages anyway, one way or another, at least in Europe.

For example training, competing and winning is not a positive agenda, unless people plan to use the trained skills for some further goal. There must be a justification for why the training is worth the effort.

CALL has a tradition outlined by prior art, current popular software and to lesser extent books and journals. Tradition tells what works and why, what doesn't work, and what has been tried in the past with variable success. Finding a tradition to attach to is a big boost in any effort.

CALL has a working approach which tells you how you can put in hours to make progress towards the goal. You develop better CALL by writing software and collecting and filtering data sets. This approach is something I can perform.

For example in Roissy-style game, there is a clear goal (pickup), justification (pleasure or happy relationship), traditon (Mystery method) and approach, but the approach is not something I can yet apply. Therefore game is not a positive agenda for me.

Few people around me have any positive agendas in any area of life, and when I spot one it is fascinating to watch. Last summer, when go circles in Tampere organized the European Go Congress, it was a positive agenda. The goal was to arrange the tournament. The justification was to enable European go players play together and find out the European championship. The tradition of yearly go congresses had been around since 1957. The approach was to organize it the same way as past congresses and local events. But usually go circles don't have any positive agenda, since justification is lacking.

When Esa and Kari talked about Haskell and category theory, it sounded like they had a positive agenda, although I didn't have the background to understand what they were talking about.

Sunday, January 16, 2011

My sister's child was baptized

11.11.2010 my sister Sanna and her spouse Panu had a child. Yesterday he was baptized and given the name Lauri.

Sanna and Panu are as swipple couple as it gets. Panu runs an environmental consulting firm. Sanna studies art at university, and has had numerous galleries. (My brother has had galleries displaying fractal art, and he is one of the founders at a struggling startup. I'm the only grey and boring normo with an nine-to-five job.) All food was vegetarian, there was a token black couple from Mozambique present, and the priest was female. I didn't ask why they were discriminating against LGBT minorities by not inviting them.

During the ceremony, I learned new things about baptism. Godparents (kummit) are supposed to take responsibility of the religious upbriging of the child. Also, parents are supposed to tell about the baptism for the child when he grows up. One reason I dislike atheism is that atheists seem to be bashing a straw man, as people are very good at simply ignoring religion.

Priest's talk was solidly conservative, emphasizing God's desire that the parent stay together and take good care of the child, aided by godparents, even when the child is not always cute and adorable. Church is one of the few institutions that still dares to say "single parenthood is wrong." Feminine tones like God's loving embrace was featured many times in the sermon, so it was clearly left-conservative.

Only Sanna belongs to Church, and she said that they hesitated for a long time before deciding to baptize instead of just giving a name. The priest emphasized that baptism creates a lasting tie between the child and God, but the parents will likely talk against any attempts to introduce him faith into God.

Saturday, January 08, 2011

Game of Talking in science

Isegora writes about a group performance study. The study investigated if group ability is "sum of its parts" or "more than sum of its parts". They both measured the individual IQs of the group members, and also looked at the interaction in the group. Group dynamics overwhelmed individual ability.

One result was that the whole group dynamic suffers if one asshole insists on blabbing and blabbing and blabbing in order to win the Game of Talking by big margin:

...neither the average intelligence of the group members nor the person with the greatest intelligence strongly predicted how well the group did.

Other tenets of group success also seemed to fall by the wayside: A group’s motivation, satisfaction, and unity were unimportant. Instead, the researchers found that when a group had a high level of collective intelligence, the members tended to score well on a test that measured how good they were at reading other people’s emotions. They also found that groups with overbearing leaders who were reluctant to cede the floor and let the others talk did worse than those in which participation was better distributed and people took turns speaking. And they also found that the proportion of women in the group was a predictor of collective intelligence — a factor they believe was likely influenced by women’s generally superior social sensitivity.

Hat tip: Aretae

Wednesday, December 29, 2010

Dieting

A body mass index of 23.7 is normal weight, so I haven't been on a serious diet ever before. However, it is too much stomach fat for pole dancing, so next year I'll diet from 63kg to 55kg, resulting in 20.7 BMI.

The problem with mere physics-based diet of eating everything less it that it increases hunger, devastates ability to concentrate and produces relapses. Cutting out just starch (pasta, potatos, rice) seems to alleviate these side effects. Full ketogenic diet would require too much cooking. Keeping weight stable is much easier task: just weight yourself every morning, and eat less for a day if your weight crosses your Alarm Barrier. Body has some internal weight-stabilization mechanism, which makes this easier by controlling appetite.

Actually I already started on December 1st, first losing 1.5kg by dieting. Then a puke disease on Christmas days with vomitting and diarrhea took another 1 kg away, apparently permanently, despite me eating as much as I could keep inside, and sometimes a bit more, triggering The Symptom. Although the figure on the scale decreases, this is bad news for dieting. First of all, bed rest wastes muscles, so relative strength doesn't increase. Secondarily, the bacterial ecosystem in the guts still haven't recovered to the point where stool doesn't resume liquid form from a bit heavier exercise.

Wednesday, December 22, 2010

Merry Christmas, your last one












Twas the night before Yuletide and all through the hole
Not a creature was stirring, not even a Dhole
Aldebaren hung at the right place at nine
In the hopes that Great Cthulhu would come out this time

The Fungi from Yuggoth, all snug in their caves
Were plotting to turn all the people to slaves
The Deep Ones in Rlyeh, the Ghouls in their graves
Were dancing and singing and acting depraved

When what do my wondering eyes should appear
But a mouldering sleigh and eight corpselike reindeer
With a horrible driver so leprous and reeking
I knew right away that my fear was unspeaking

The reindeer were gross, as they flew up from hell
And It hoarsely whispered and chanted a spell
Ia Shub Niggurath! Cthulhu ftagn!
Nyarlathotep! I summon you on!

As decomposed flesh before the charnel stench rise
And meet with the open air polluting the skies
Up to the housetop the horror it rose
And the gangrenous odors assailed my nose

And then in a slopping noise heard on the roof
The lumbering clomping of octopoid hoofs
As I drew in my head and was turning around
The horror lurched into my room with a bound

Its eyes how they pulsate
So bulbous and gory
This blasphemous creature
So noxious and hoary

I was frozen by fear, my feet woudn't run
I threw up my cookies, this wasn't much fun
It whispered my name and said "You come with I"
I tried to refuse and it said "Then you die."

It came at my throat with its grim claws extended
But a miracle saved its victim intended
I had three Elder Signs in a slot in the floor
It screamed with a fiendish sound and went out the door

It sprang to its sleigh, and its team gave a surge
And away they all flew to the sound of a dirge
I heard it exclaim as it flew out of sight
"You're lucky this time, for the stars weren't right."


This joke gets old quickly, but there's always the first time you hear it...

Monday, December 20, 2010

Follow-up on the goals for 2010

Summary: What's the point of setting goals, if you don't track them?

  • Cleaning up this blog. Completed except for a few removed posts and the status signaling post, which I didn't know to be provocative. The burst of negative feedback in the summer was probably just a sign that the posts were relevant. Status and sexuality are still a bit mysterious, so unavoidably some posts miss the mark. The best option is to write so clearly written and understand the subject so well understood that everyone agrees with the posts. However, if some rabid psychobitch chooses to keep on insisting that I'm too young to walk 10 km without being accompanied by my mother, no amount of rational explanations can possibly ever resolve that, and that's why the comments are nowadays moderated.

  • Year of bodyweight training. Completed. Got that push-up from headstand to handstand in October. Not planning to continue bodyweight training, it neglects feet and gets monotonous.

  • Get Chinese to completion where active study can be replaced by reading news and blogs in relaxed way. Completed for newspaper text only. Also, Chinese Language Group revealed that writing and speaking skills need a lot of work. However, there won't be Chinese goals for 2011. I'll integrate writing practise to other activities, like writing journal partly in Chinese.

  • More active social life. Completed. Been participating in events of The Club, pole dancing events and in organizing Go Congress in the summer.


Last year I wrote that physical instincts give valid raw data, but social insticts give only bad advice. This has changed. Now also social instincts give correct raw data, and the bottleneck is acting on those instinctual situational assessments.

In Pole Debut 2010, I had a 15-minute chat about pole dancing with a previously unknown girl. Overcoming bitch shields used to be impossible for me, but now it happens once every 3 months when strong context is available. Further progress will hopefully enable that more reliably with less context (for example in concerts). That is still a far cry from Roissy's or Finndistan's level, where they can talk with pretty much any girl without any context in nightclubs. However, even modest progress shows that the approach works and the direction is right and that there is no reason for despair despite me being 10 years behind my peers in social skills. Advanced methods like negs are still far, but the few written negs I've tried have produced good results. The option of just magically getting great social skills overnight is not on the table. Gradual progress is, and it is happening.

Wednesday, December 15, 2010

Simo the Crank

This quote is from Emanuel Derman's My Life as a Quant

When I was a graduate student at Columbia in the 1970s, physics was the great attractor for the aspiring scientists of the world. Bearing witness to this was the large box of documents kept near the entrance to the physics deparment library. We referred to it as the "crank file." The box contained the unsolicited typewritten letters, manuscripts, and appeals that poured steadily into the mailbox of the department's chairman. Eccentric though the documents were, they made fascinating reading. There were eager speculations on the nature of space and time, elaborately detailed papers refuting relativity and qunatum mechanics, grandiose claims to have unified them, and farfetched meditations that combined physics with more metaphysical topics. I remember one note that tried to deduce the existence of God from the approximate equality of the solid angled subtended by the sun and the moon when observed from the earth, a remarkable circumstance without which there would be no solar eclipse.

None of these papers had much chance of getting past a journal referee. Few of the writers had much hope of even getting into graduate school. They may not have wanted to. The letters were mostly a cri de caeur from isolated and solitary physicist manques all over the world.

Most of my classmates laughed at the naivete of the letter writers, but as I skimmed through the crank file I found it hard to feel superior. Instead, peering into the box of manuscripts, I always saw my pale reflection. Out there, beyond academia and industry, were people like us, similarly in thrall of the same sense of mystery and power that lay behind the attempts to understand and master the universe with only imagination and symbols. ...

Old madness took a grip of me for 2 months. But this dark side needs to be processed somehow, merely denying it as in 2009 is not the right answer.

Friday, December 03, 2010

Slow maybe

So I found a contact person from Tampere University and met her on Tuesday. She's a practising teacher, which means that she has visibility to the frontline trenches of computer-aided language learning. The 30min discussion that we had already clarified many things.

The primary difference between educational establishment and the Chinese/Japanese self-study scene is that the educational establishment is content-rich (they have paid, experienced and talented professionals writing content) and algorithm-poor. By contrast, the Chinese-Japanese self-study scene is content-poor (they have few good databases like EDICT/CEDICT for vocabulary) and they squeeze the last ounce of juice from those by applying high-quality algorithmics.

AFAIK The flashcard senetence deck which I used was created by simply searching example sentences for each HSK character from Juku. Also MDBG annotator work by searching the characters from the one extensive free Chinese vocabulary that there exists, namely CEDICT, despite the fact that it doesn't even break the words into several meanings. This way, algorithmics take full use of the few available databases.

By contast, in educational establishment we have professionally collected dicitonaries where each entry give plenty of information about phrases and alternative meanings, but where the algorithmics are controlled by companies who have no interest to do Firefox extension plugins, flashcard programs or annotators. The difference is even bigger in textbooks.

It seems to me that the teachers on the trenches don't need another slow and difficult site like the translation sentence site. Instead, they get far with customizations to existing tools. Let's hope that my contact person has patience to meet week after week and months after month to discuss needs and uses of technology in language teaching. It will be like peeling onions: I need to peel their needs layer after layer by small customizations (at most 1 week) which give them what they want.

In the long run, to get a thesis topic I need to find out an area where longer computer science effort is needed to implement useful features to CALL tools. However, getting from small customizations to that level will take months. Let's hope that the teaching/language contact person has patience to go through the technology mapping discussions instead of getting impatient for the apparent lack of concrete results.

I'd rather spend months in analysis paralysis, considering various rerearch topics, rather than to pick a research topic only to find out years afterwards that my research output is completely useless, because I failed at due diligence in the beginning. That nightmare scenarion actually happened with Finnish Annotator. I'd rather spend months doing due diligence, only to find out that there is no CALL research topic, thatn start and waste effort prematurely.

Tuesday, November 23, 2010

Check your assumptions at the door

Finishing graduate studies is hard. At Tampere University computing science department, there are about 100 graduate students. Every year about 5 of them graduate. This means that every PhD thesis requires about 20 student enrollment years. For every student who makes it, about 2 others fail. What makes me think I can do it despite not working on it full time?

What are my strengths and weaknesses?


The worst weakness is that I plan to work while doing graduate studies. This restricts available time.

My stregth is that industry experience has given me solid programming routine. Any research plan should rely on this strength in order to be realistic. Competitive disadvantage has to be balanced out by a competitive advantage. Otherwise risks grow.

How will I find time and energy?


A few years ago starting regular exercise increased my energy levels permanently. Thus far I have poured this extra concentration only into Chinese. However, Chinese is moving from the active study phase to the slow and steady vocabulary build-up phase. This liberates the time for graduate studies. Without a clear plan how to use this time, I'll just waste it, getting nothing in return.

Minimizing the amount of work is the second path. Both computer-aided language learning and bioinformatics are fields, where it is important to cross the cultural gap between two disciplines. Relatively modest skill in programming and mathematics is enough compared to pure computing science topics like model checking. This means that smaller number of hours is enough to produce new discoveries.

How will I benefit from graduate studies?


First of all, I don't expect to get paychecks from university. Applying for a university position would be a bad choice since industry salaries are bigger than researcher salaries. Getting a good salary from research requires a teaching position. You have to prepare for that already while studying by working as a teaching assistant. When I studied, I prepared for industrial work.

Getting a PhD degree will make it possible to apply to new kinds of jobs with higher pay. If I am able to come up with a popular CALL website, it will continue to mill small amounts of advertisement income for years. Setting up such a site requires a big initial effort but little maintenance effort after that. It creates an economic incentive to make the site high-quality from the start.

Monday, November 22, 2010

Chinese character exercise for N900

Summary: This post introduces Bezca, a CALL software prototype for training Chinese characters. It showcases that (1) the technology in Finnish Annotator can be modified to many different purposes, (2) having a day job does not prevent me from writing CALL software with realistic goals, and (3) context is fairly easy to integrate to any CALL software, as long as you take an uncompromising attitude towards the need for context.

In Bezca, you train Chinese characters by drawing the strokes with a stylus, finger of plectrum. Correctly drawn strokes appear to the screen as you draw them:



If you don't remember the character, you can look at the hint which also tells the next stroke:



Clicking "Show Examples" displays dictionary words and examples sentences which use the character in question.



In the example browser, if you don't know some word in an example sentence, you can just click on it and enjoy further examples about that word. This way, you can browse examples in an endless chain, Wikipedia style.



Bezca also contains a spaced repetition system. Pressing "This was easy" shows the exercise again in a week. Pressing "This was hard" shows it again in a day. After that, it uses exponential time gaps to decrease or increase the period based on user responses.

In the beginning, the program calibrates difficulty to suit the student's skill level. It shows some characters and asks the user to say if they are suitably difficult or too easy. This way, students can go directly to material which is new for them.

This is a prototype and not yet mature enough to be distributed. It contains only 180 characters. Installing requires a memory card. I don't currently have any plans to take it further, because demand is likely to be small, the use of CEDICT would make it a copyright violation to ask for a price, and it would take a lot of effort to input 1000 characters. However, I'm happy to demonstrate it face-to-face to anyone, especially CALL researhcers.

Friday, November 05, 2010

Action points and plan B

1. I've been working on an N900 port of the character drawing exercise.
It demonstrates that FA technology is still valid and can be reused. Spend 2 week finalizing the proof-of-concept prototype.

2. Post an introduction to the N900 port.

3. Write a plea for CALL research partners into this blog.

4. Make a list of CALL researchers by browsing the researcher lists in Finnish university web pages.

5. Write cold call mails for CALL researchers, tell them about my track record in CALL, and ask if they want to talk about research. Add links to my thesis and blog.

If step 5 produces no contacts, it means that cold calling doesn't work (what a surprise.) In that case I have to use personal contacts to get a research topic for graduate studies in 2011. Usually people don't talk about their work, including researchers. This leaves me with few options.

6. Contact Yoe to ask for a research topic in bioinformatics. This post hints that she might have a suitable topic for someone trained in math and programming. I don't know Yoe, so to avoid cold calling, I would ask recommendations from Vera and Janka. ("We have tracked Simo for years and he is what he claims to be. If you have a suitable research topic in bioinformatics, you'd probably benefit a lot from assigning it for Simo.")

Good: Bioinformatics has reputation as down-to-earth and useful branch of applied researh. I'll learn new things because of the 'bio' part.

Bad: No earlier track record. Not enough background to evaluate if the research topic would pass the scrutiny in Hamming's advice.

If 6. fails:

7. Ask The Scientist for an applied research topic in model checking based on this post.

Good: I know The Scientist personally. Also FA already made me familiar with finite languages and state machines. For example, I implemented deterministic state machine minimization to make some vocabulary state machines faster to handle, while The Scientist is working with algoritms to simplify nondeterministic state machines.

Bad: When studying, we hade a course about DisCo and temporal logic of actions. While the theory part was a fun trip to a different worldview, DisCo toolset left a really bad taste in my mouth. It had "ivory towery" feel: it could never become useful for solving practical problems, no matter how well the researchers reach their research goals.

I'm aware that The Scientist doesn't work with DisCo, and it's just my stupidity that I don't understand the field. After all, he does writes more often, for more readers, about a wider range of topics and so on. But that does not change the fact that it would be insane for me to do research in an area where I don't understand the big picture.

Asking The Scientist for a research topic may lead to a very embarrassing situations where I have to say no even if he gives me everything I ask for.

If 7 fails:

8. Write a plan for 2011 which does not include graduate studies.

Thursday, November 04, 2010

Blueprints for a translation sentence website

Summary: The previous post pointed out a huge gap in CALL: there are no tools to practise writing. This post addresses it by proposing a translation sentence website.

Why translation sentences?


When people start writing in a foreign language, they first form sentences in their fluent language and then translate them piece by piece. This component behavior can be conditioned. This lowers the barrier to write as the student is already fluent in syntactic structures and only needs to slot in the phrases from his domain area.

Aretae, says that consructivism is the most overlooked aspect of teaching.
Take martial arts for a couple years, and watch how much the Sensei DOESN'T explain...but rather makes you practice until you have an internal representation of the system...then adds 3 words to clarify your mistakes.

Translation sentences are constructivist in the sense that if you have problems with syntax, they teach you syntax. If you have problem with prepositions, they teach you their correct use. If you have problem with word inflection, they improve that area.

Checking correctness


Translation sentences have multiple correct answers. It takes someone who is fluent in the language to classify answers as correct or wrong. Simple string matching is out of question. Finnish Annotator had an option to answer flashcards by writing, and string matching was insufficient even for words. In the end, the site normalized away substantive and verb articles (a, an, them, to) and used edit distance to ignore typos in known-language words.

First of all, instead of listing correct answers there should be word-level regular expression notation to denote different options. This avoids combinatorial explosion when, say, one slot has 3 correct phrases and another has 5.

Since many phrases have synonyms, the site can make sentences more ready from the first try by supporting them. For example, sentences "There is plenty of snow" and "There is a lot of snow" are both correct. This could be denoted with "synonym:'plenty of'".

There should also be a list of wrong answers, which contain common errors. This enables high-quality constructivist feedback.

Preparing for unknown


Nobody can guess all correct and interestingly wrong answers to a translation sentence. The site should deal with it instead of denying it.

First of all, it needs a social web interface for fine-tuning the sentences. This means adding new acceptable answers and new explanations for wrong ansers. This interface is open for authorized users whose language skill has been verified. The site saves all unclassified answers to translation sentences and sorts them by frequency. If many students give a similar wrong answers, explanation should be added.

This social aspect also means that it is not enough to solve the technical challenge of building the website. Before a single line of code is witten, there must be confirmed support from a steering group of CALL researchers. Writing such a site is a big effort and makes the programmer blind to simple but obvious shortcomings in it. The research group would review and criticize away such defects. The group would also kickstart sentence writing and introduce it to students until it reaches a critical mass of having enough sentences to be useful. The same people would be adding correct and wrong answers.

Automatic ways to prepare for unknown


Finnish Annotator used edit distance to ignore typos. This can be applied to translation sentences in two ways. Firstly, correct sentence structure can be verified even if songle words are mistyped when edit distance is used to compare words.

Secondly, sentence level edit distance can point out added or missing words after identifying the closest correct or wrong answer. Missing words are always errors, since problem authors should mark optional words as optional.

Added words may be errors, but they may also be just a symptom that the sentence is new and not enough variations have been added. The site should prepare for it by making a list of words, which are usually innocent when added. This list may need context restriction, so that certain added words are known to be innocent in certain contexts.

Replaced words benefit from similarity comparison. The error is likely to be small if the word is a verb both in a correct answer and the student's answer, especially if the verb is inflected in the same way.

In 2006 I browsed some books about syntactic parsing, where a sentence is converted into a parse tree. The methods looked very difficult to implement, because syntax is much more complex than word inflection. For example the following sentences have the same meaning, but sentence-level parsing is necessary to identify it automatically: "If it rains tomorrow, the party is held inside." and "The party is held inside if it rains tomorrow." Sentence parsing is also useful for rating wrong but unclassified answers: answers which can be parsed into a parse tree are less wrong than syntax-violating sentences.

What kinds of sentences to train?


Simple sentences, which deal with one topic at a time. The topic may be some syntactic structure, preposition, time phrase etc. Simplicity leaves less room for unexpected variation, therefore giving better feedback.

Prior art and differences to flashcard programs


I'm not aware of any significant academic prior art since PLATO, a groundbraking CALL system from the 70s. Unfortunately the details of PLATO's translation sentence engine are not available. Their technology may be obsolete, but the people making it faced the same challenges as we face today. They were not stupid, and most importantly they established a feedback loop where they improved based on experience, while I'm just theoretically speculating.

The main difference to flashcard programs is that a single translation sentence is "difficult and slow" while a single flashcard "easy and fast". Therefore Goproblems.com, a site for training tesuji skills in a board game, is better prior art than Anki. Also for goproblems.com, you hear anecdotes where people voluntarily bang it for hours, stopping only when the remaining problems are too easy or too difficult.

Goproblems.com has an automatic rating system for both users and problems. Problems are rated based on how many people get them right. Users are rated based on how many problems they get right. The rating scale is given in kyu/dan level so that problems and users should have similar rating.

Item response theory tells the mathematical formulas for implementing such ratings, although I don't know which exact method goproblems.com uses. The previous chapters have dealed with methods to distinguish grave errors from small typos and errors in problems themselves. Rating system based on item response theory benefits from having more information than just pass or fail.

Chatbots and communicative language teaching


How could each translation sentence also be meaningful communication? One way is to give the student a communicative task, for example "order a flight ticket to Melborne", and to write a chatbot to hold the other end of the conversation.

This would explode the number of correct reactions. The user could start by greeting. An order for "ticket to Melbourne" could be formulated in tens of different ways.

The details about time window, passanger class etc. could be given right away or the chatbot would have to ask them. It is no longer enough to just parse inflection and syntax, we need to pay attention to meaning. Hard-coded ontology would be needed for each chatbot.

In the last post I said that CLT is nice to have but comes with an expensive price tag. Chatbots are a good example. Each one would take a long time to write. Their feedback would have inferior quality compared to translation sentences. Most importantly, they would not scale to cover large amounts of material.

They would not be enough to train students to write.

Sunday, October 31, 2010

Current state of Chinese CALL

Summary: This very dry post summarizes which areas of Chinese learning are adequately covered by CALL tools, and which areas still need better tools and content.

Hamming's essay for choosing research topics describes CALL spot on, if you replace "research paper read by thousands" with "learning system used by thousands". Finnish Annotator would have passed Hamming's scrutiny, since annotators had already proven useful in Japanese and Chinese, but none was available for Finnish. It aimed at the core of Finnish reading comprehension.

The downfall of FA was partly due to inadequate openness, feedback and networking. This was also predicted in Hamming's essay:

Some people work with their doors open in clear view of those who pass by, while others carefully protect themselves from interruptions. Those with the door open get less work done each day, but those with their door closed tend not know what to work on, nor are they apt to hear the clues to the missing piece to one of their "list" problems. I cannot prove that the open door produces the open mind, or the other way around. I only can observe the correlation. I suspect that each reinforces the other, that an open door will more likely lead you and important problems than will a closed door.

Let's take Hamming's advice to the conclusion and make a list of important problems in computer-aided language learning. This list only covers Chinese, which has the special challenge of learning the characters. It also ignores collaborative learning methods and concentrates on single-user teaching machines.

Why ignore collaborative learning?


The currently dominant learning theory is Communicative Language Teaching (CLT). People use language to achieve communication goals like buying a ticket or describing a problem. CLT claims that also in teaching, each sentence should be part of a speech act with a communicative aim. Modern first-year language textbooks achieve communicative context by describing situations, where tourists achieve communication goals.

CLT is trivially true in the sense that sooner or later you have to move from isolated sentences to communication, for example talking, email exchange or searching for information (and not just reading for the sake of language). However, you have a long way to go before you can read books or write blogs. Before CLT forces itself through the door, you have to bootstrap the language skill somehow. I'm not at all convinced that CLT is necessary in the initial phase. The situation I see on the ground is that the Japanese/Chinese self-study scene is blithely unaware of CLT and still achieves good results.

Don't get me wrong: communicative context is nice, and the best kind of context you can have. But it is hard work to achieve communicative context. You have to make compromises in other areas. CALL scene is nowhere near the level where the presence or absence of communicative context would make a difference.

Finally, a word of warning if you try to achieve communicative context by collaborative learning. B.F.Skinner, the father of behaviorism described the problems of collaborative learning methods already in 1953. What's the point of making CALL tools at all, if you just digitize the same old problems?

Skinner's children were growing up. When the younger was in fourth grade, on November 11, 1953, Skinner attended her math class for Father's Day. The visit altered his life. As he sat at the back of that typical fourth grade math class, what he saw suddenly hit him with the force of an inspiration. As he put it, "through no fault of her own the teacher was violating almost everything we knew about the learning process." In shaping, you adapt what you ask of an animal to the animal's current performance level. But in the math class, clearly some of the students had no idea of how to solve the problems, while others whipped through the exercise sheet, learning nothing new. In shaping, each best response is immediately reinforced. Skinner had researched delay of reinforcement and knew how it hampered performance. But in the math class, the children did not find out if one problem was correct before doing the next. They had to answer a whole page before getting any feedback, and then probably not until the next day. But how could one teacher with 20 or 30 children possibly shape mathematical behavior in each one? Clearly teachers needed help. That afternoon, Skinner constructed his first teaching machine.

Summary










Area Status Method is
Reading, 0 - 1000 characters Jury is still out on correct approach Mixed
Reading, 1000 - 3000 charactersSolution is known but not implemented Spaced repetition systems with immersive sentence decks
Reading, 3000+ characters Solution implemented, room for improvementReading natural texts through an annotator and using example sentence search for new characters and phrases
Writing Not even started Translation sentences, chatbots (neither exists)
Listening Solved Listening internet radio or simplified podcasts
Speaking Solved Talking face to face or through Skype


Beginner phase: 0 - 1000 characters


First of all, beginners and advanced students should use very different methods. When advanced students learn a phrase, it integrates naturally with their existing knowledge. They can immediately use the word in different contexts. Beginners are only forming those knowledge structures.

For valid historical reasons, current CALL tools are not very good for beginners. In many cities elementary courses are available for Chinese and Japanese, but courses stop after that. Beginner phase also lasts for shorter period. Therefore there is less demand and less tool development for elementary tools. In the intermediate and advanced phase, it is important that the tools scale and can teach large amounts of phrases and accommodate different skill levels. This also means that a software package only needs to implement one scalable method well, for example dictionary search or flashcards.

For beginners, my unjustified gut instincts is that learning games like Slime Forest Adventure are the way to go. (1) Beginners forget things more quickly, since their knowledge structures are just forming. Therefore intensive teaching methods are good and immersive approaches which give little time to forget are preferable. (2) Beginners need to look at the language from several different perspectives (sentence comprehension, syntax, word inflection, communication) all of which are completely new to them. Game programming has the tradition of subgames, which have their own set of rules. I don't see such tradition of variability in other types of software.

Reading comprension in 1000 - 3000 characters


The software is there, but content has plenty of room for improvement. Annoatotrs enable reading easy texts and spaced repetition systems with sentence decks are good for learning characters. Regarding content, I haven't seen any easy reader texts except in Chinesepod. The sentences in my HSK deck were pretty random: they were ripped from the example sentence collection in an online dictionary and then automatically classified by difficulty.

3000+ characters


At this point you can read natural texts and start to read for content. An annotator and example sentence search are all you need. They already exist.

Writing


I haven't met any CALL tools for training writing skill. The only method is to "jump to the water and swim" by just starting to write emails and blog posts. This is comparable to practising reading comprehension by just taking a dictionary and a foreign-languge book. Sure, you can do that, but it requires a lot of motivation and willpower.

Listening


There are many free radio stations available, and Chinesepod offers easier dialogs. You can listen to them while you clean or cook. There is nothing to improve, since we are already at zero time commitment. This is the ultimate in efficiency.

Speaking


Speaking is the only way to learn to speak. I don't see how CALL tools could play any role in this. Skype already works.

In Tampere University Alakuppila cafe ther are regular meetings, where Chinese exhange students talk with Finnish language students. For those who live in less forutnate places, there are various commercial services, some of which offer free samples.

Sunday, October 24, 2010

Dying embers of lost passion: Post-mortem of Finnish Annotator



What Finnish Annotator?


Finnish Annotator was my CALL website, developed around 2005-2006. In those years, I was finishing my studies and spent summers writing the website. The site featured an annotator for Finnish and Chinese, a flashcard program and a character-drawing exercise. I took it down in 2008 as it had no users.

Annotator is a "text dictionary", which decodes the inflection and searches explanations for all words in a copy-pasted text. While Google Translate is free, annotators are more useful for language-learners. You can read the text as long as you completely understand it, resorting to hovering your mouse over annotations only when you have to.

The entry page shows how it annotated Chinese text. It also describes how you could turn a copy-pasted text into a flashcard deck. The post about the fundamental problem of flashcards mentioned that my website tried to solve it by taking example sentences from the annotated text. Indeed after you you press "show answer" it showed annotated example sentence where "kun" was used.

The Finnish vocabulary contained 1000-word test vocabulary. The demo page used to work on all browsers, but currently crashes Firefox. Being acutely aware of the need for context, the word definitions contain well-split meanings and example phrases, and sometimes even comparison and contrast to related words.

At the bottom of the Chinese entry page there is a screenshot of the character-drawing exercise, where you move the brush with your mouse and the stroke appears if you are moving the brush correctly. This mayseem similar to Skritter, since both programs took influence from WriteChinese, a piece of prior art from the nineties.

Morphology engine and master's thesis


About half of the code in the website deinflects Finnish words. Finnish inflection is very complex: for example substantives can have 4 different types of postfixes. The site used two-level morphology and state machines to decode the words. These were a bit obsolete methods to handle morphology, but they were provably successful for Finnish and clearly described in Koskenniemi's book. Modern methods would have required access to commercial state machine libraries, which I didn't have.

My thesis described the algorithms in the morphology engine. It used athematical notations and also contained a few proofs. When I returned it, it got full points.

The algorithm for compiling two-level inflection rules contained a minor simplification. Thesis inspector said that it was actually publishable research, but I didn't follow up on that, since I was not planning to return to school. Anyway, it kind of demonstrates that I already know how to do research, I just don't know how to identify it and wrap it into form, which can be sent to conferences and journals.

How it failed


Since I consider myself economically rational and didn't work for two summers, I had to rationalize away the congnitive dissonance somehow. My feeble excuse was that I was doing a semi-commercial system, which would continue to mill extra income after intial setup effort. In practise, what I did was closer to a mild for of hikikomori.

Firstly, I didn't tell about the system to many people, thinking that I'll publish the product when it is ready. Therefore not a single person becase interested enough in it to give feedback and criticize away obvious weaknesses which were easy to correct but for which I was blind, having spent too much time doing it. For example the need to log in first was such a weakness.

Also, in those days I had not yet discovered the Game of Talking and I kept getting bad outcomes in human relationships without really understanding what the hell went wrong. When I wrote last year "Most people develop these surfacial skills as young adults. Unfortunately, you can't skip the development of social skills. If you fail to complete this developmental task as a young person, it will continue to haunt you and drag you down until you solve it.", I meant also Finnish Annotator. This severly limited my ability to get feedback on the system.

The system was quite close in function not just to MDBG annotator, but also to Lukutulkki, a commercial system for annotating English text to Finnish speakers. Had I presented it right, some CALL researchers should have become interested in it.

The most damaging hit from commercial mindset was my reluctance to use gray copyright vocabularies. It was also a question of quality, as dict vocabularies didn't have split meanings nor example phares. I actually started to collect my own Finnish vocabulary. In the end, it had inflections for about 5000 words and meanings and example phrases for somewhat over 1000 words. At that point, Google Translate published Finnish translation, so I thought that no way in hell am I going to get the vocabulary collected before free services offer better than what I have. Since the system had no users, I took it down. It was really idiotic move to start to collect vocabulary from scratch. I believe now that Takkirauta's talk about Manstein's matrix has a seed of truth, and if you notice that you are doing a lot of repetitive informational work (like vocabulary colllection), you are probably doing something wrong and should stop to ponder different options. Don't just do something, stand there!

The main lessons I learned from it are the importance of social skills and awareness that I am prone to obsessive-compulsive tunnel vision which makes me exert a lot of effort when the right solution would be to look at different options.

What parts of it are still useful


Before I can apply for graduate studies, I need to find a research group. Finnish Annotator is my main merit for persuading others to include me in their work and publications. Next, I'll list examples of how the technologies and components in FA could contribute to CALL research.

The character-drawing engine can be modified to train students to write Russian or Arabic characters. In the first Arabic course I participated, learning to read the script was a huge part of the course. Speeding it up with spaced repetition system, which gradually introduces new material after ensuring that the student has mastered dependencies could make a big enough difference for a publishable paper.

Since the two-level morphology can handle Finnish inflection, it can deal with almost any language. Annotation works best when embedded to other services. FA didn't just annotate copy-pasted text, it also annotated any example sentences in the flashcards. Annotation can be integrated to boost any existing research ambitions in CALL.