Csaba Hoch

Software developer

Read this first

Foreign language knowledge level and usefulness

The more someone knows a foreign language, the more useful that knowledge is. This doesn’t imply though that the knowledge and usefulness are proportional. In this post, I argue that they are not proportional.

In my view, the usefulness of a language as a function of the knowledge level actually looks like this:

lang_level.png

Knowledge level and effort

First we need to map knowledge levels into numbers. Let’s define knowledge level as something proportional to the minimal learning effort. This means that if a knowledge level requires a person to spend at least X amount of effort, and another level requires the same person to spend at least Y amount of effort, the ratio of the numeric values of the knowledge levels should be the same as the ratio of the minimum efforts required by them, i.e. X/Y.

There is actually a very concrete metric which satisfies this requirement: the vocabulary size of a...

Continue reading →


German verbs starting with “emp”

In German, very often new verbs are created from existing verbs by adding a prefix.

Sometimes these prefixes are meaningful, and it is easy to see what they mean. For example “heraus” means “out”, so “herausgehen” (out + go) means “to go out”.

But sometimes the prefixes don’t mean anything, or their meaning is very abstract and hard to grasp, as shown in this table of German inseparable verb prefixes.

A few days ago I became particularly interested in the “emp” prefix, because of the following six words:

  • fehlen = to lack
  • empfehlen = to suggest
  • fangen = to catch
  • empfangen = to receive
  • finden = to find
  • empfinden = to feel

I failed to understand what the “emp” prefix means, so I wondered what other words have it. The [list of all German words][wl] came to my rescue. It turned out that no other German verb has this prefix. (There are a few verbs starting with “emp”, like “empören”...

Continue reading →


What can you do with a list of all words in a language?

My grandmother once told me that she attended a course where the teacher told them that there were three Hungarian words having the suffix “szág”. Two such words are “ország” (country) and “jószág” (livestock), which are both common words. The teacher said he would tell the third one only if he received a bottle of wine, which he didn’t. So when telling the story to me, my grandmother still didn’t know what the third word was.

After hearing this puzzle, I grabbed the official Hungarian spelling dictionary, which contained most Hungarian words, and started skimming the pages. I didn’t make it through even the letter “a” of course. But I found the word “vigaszág” (Losers Bracket), which was among the a-words, because it is a compound word made of “vigasz” (consolation) and “ág” (branch). This didn’t feel right though, because even though this word ends with “szág”, we cannot say that this...

Continue reading →


False friends in German and English

Some of the German conjunctions and basic adverbs might be a bit confusing for someone who already knows English, because there are quite a few false friends among them:

German English auch also also so (when conjunction, as in “so let’s go”) so so (when adverb, as in “so good”) wo where wer who wenn if wenn “when” in conditional wann “when” in question wie as als than dann then denn because

Continue reading →


Vim plugin: CTRL-P

If you use just one Vim plugin, CTRL-P is my recommendation. In short, it lets you to quickly jump to a file.

First open the CTRL-P window with either of these methods:

  • If you type :CtrlPBuffer, you can search among the currently open files.
  • If you type :CtrlPMRU, you can search among the most recently used files. (250 files are remembered by default.)
  • If you hit Ctrl-P, you can search among the files in the current project. The file list is created by moving upwards in the directory tree and looking for a file or directory that indicates that that directory is the project root (like .git), and then listing all files below that project root (excluding files based on the 'wildignore' option).

Once you have the CTRL-P window with a list of files, just start typing parts of the file you are looking for. E.g. if you only remember that the file starts with “x” and contains “abc”, type...

Continue reading →