Posts tagged with technology

Holy Cow!

March 4th, 2010

A little followup, and my final comment on the singularity.

I studied Kurzweil’s analysis and finally realized – by gods, the man is right! If you plot major milestones, you can clearly see a trend! Unfortunately, Kurzweil’s plot is a little outdated and some details are wrong, so I updated it.

Here is his version:

Here is the fixed version:

I can see it now! The Sincowlarity is near! Transbovines are already emerging!

Kurzweil, you are a genius!

The Singularity is Near! (und alle so: yeah…)

March 4th, 2010

Science fiction is dead to me. I can not stand the weak ethics, ridiculous predictions, massive biases and total disconnect with science since at least 50 years any more. At first, that depressed me a little. Losing a whole genre is always tragic, but I have survived the death of horror; I will make it without science fiction, too. But actually, I found something to replace it with: Futurology! In fact, retro-futurology. Find some futurologist, at least some years old, and compare their vision of the future with now – it will be hilariously wrong! No exceptions.

Kurzweil is amazing in that he is wrong even after only half a decade! Clarke at least is sometimes correct when predicting stuff half a century away, but Kurzweil couldn’t even design a five-year-plan for a socialist utopia. He even gets his own data wrong in determining the date for the singularity. That’s mind-boggling. It’s really takes a special kind of intelligence to be so stupid.

Based on JBR’s scoring system, I’ll award between 0 to 1 point per prediction, depending on how good it was. Of course, I only rate predictions that can already be judged (and exclude those that are so vacuus that they don’t say anything at all, like “The rate of paradigm shift (technical innovation) is accelerating, right now doubling every decade.”). “Partially borrowed” from Wikipedia.

  1. “We will have the requisite hardware to emulate human intelligence with supercomputers by the end of this decade.” Not even a single component of the brain can be emulated. 0 points.
  2. Automatic Speech-Recognition Software with good accuracy in 2000. Muahaha. This one is a postdiction and yet, “good”? Yeah, right. Well, it isn’t entirely awful, but “good”?! 0.5 points.
  3. Computers will start to disappear as distinct physical objects, meaning many will have nontraditional shapes or will be embedded in clothing and everyday objects. No. I still don’t have a fridge that orders new milk and I’ve been promised one since I was born! 0 points.
  4. Full-immersion audio-visual virtual reality will exist. No. In fact, entertainment systems are rapidly moving away from “immersion” (thank gods!). As far as I know, there isn’t any full-immersion for training purposes either. 0 points.
  5. Glasses that beam images onto the users’ retinas to produce virtual reality will be developed. Alright, “developed” is correct, but in actual use? Personally, I expect VR to be integrated into phones instead. 0.5 points.
  6. Real-time language translation in which words spoken in a foreign language would be translated into text that would appear as subtitles to a user wearing the glasses. Muahahaha! The smartest company on the planet, Google, can’t even correctly generate subtitles in the same language. 0 points.
  7. Cell phones will be built into clothing and will be able to project sounds directly into the ears of their users. Yeah, right. 0 points.
  8. Exoskeletal, robotic leg prostheses allow the paraplegic to walk. Ok, prototypes exist and work well. The reason they are still rare isn’t so much the robot, but rather the energy source. 1 point.
  9. Telephone calls are routinely screened by intelligent answering machines that ask questions to determine the call’s nature and priority. If only! 0 points.
  10. “Cybernetic chauffeurs” can drive cars for humans. Even humans can’t drive well, but robots are going to do it before they have mastered vision?! That’s… optimistic. 0 points.
  11. The classroom is dominated by computers. No, just no. Laptops might have replaced paper notebooks by now, but it’s very rare for a teacher to be even aware of useful software, like SRS. 0 points. Personal prediction: this won’t be true, ever. School will go extinct before teachers apply science to their job.
  12. A small number of highly skilled people dominates the entire production sector. Yes and no. Specialization is going strong, but companies are larger than ever. 0.5 points.
  13. Tailoring of products for individuals is common. To a degree and for a price, yes. 0.75 points.
  14. Drugs are designed and tested in simulations that mimic the human body. Nope. 0 points.
  15. Blind people navigate and read text using machines that can visually recognize features of their environment. Nope. Unless you count “dogs” as machines. Because, face it, that’s how good you have to be to compete on this market. 0 points.
  16. PCs are capable of answering queries by accessing information wirelessly via the Internet. 1 point.
  17. By 2020, there will be a new world government. While there is still some time, just think of all the paperwork! The UN is breaking apart, the EU is becoming irrelevant and there aren’t any two superpowers speaking with each other. I think we can judge this one. 0 points.

Alright, that’s about it. 3.75 out of 17. I especially like that he is still convinced that translation software is just around the corner.

Yes, futurology will fill the void left by science fiction nicely. *chuckles*

Escape Meta Alt Control Shift

December 6th, 2009

For the last 4 years, I’ve been a vim user. My vim config is hundreds of lines long, my plugin folder is overflowing. For the last year, I’ve been using wmii as my window manager (before that, awesome), its config is similarly a work of art. I’m using my own keyboard layout, with some additional tools to complement it.

This week, all this changed. At first, I changed my monitor setup, but by doing so I had to modify my window manager and long story short, I’m now using Xmonad and I had a big fight, my last one, with vim and I’m now an emacs user, too. But emacs was the straw that broke the camel’s back, so to speak – I have a meta key problem.

I have way to many of them. I have my normal ASCIIbet, then Shift for capitals, Mod3 for punctuation or programming characters, Mod4 for functions like cursor keys or Return, then Control and Alt for emacs, the Windoze key for my window manager and a special key for my IME. It’s too much! It has now become very cumbersome to type certain things and I have to fix this mess.

Design Principles

  1. Hands should move as little as possible and never leave home row. This is a pretty basic requirement, but it prevents me from moving some rarer combinations to the outside of the keyboard.
  2. I must not give up any functionality. Specificially, I must still be able to type in (among others) French, German and Japanese, be able to programm efficiently and have enough keys left to handle Xmonad.
  3. The computer should do as much work for me as possible. If I can let it figure out what I meant and safe a few keystrokes in the average case, I will do it.

Solutions

First, I use my IME more aggressively than before. I’m currently using scim (with anthy and tables) to input any normal text beyond ASCII. This is pretty normal for Japanese, were you type 黒い猫 (kuroi neko, black cat) by activating Japanese mode, then inputting “kuroineko<SPACE>” and the IME converts this first into syllables (くろいねこ, ku ro i ne ko) and then tries to guess the correct meaning. I have already started using this for German a while ago and now use it for all diacritics. For example, I switch to European mode and then input “Verschw”orung” to get “Verschwörung” (conspiracy). This works pretty well because all diacritics are rare anyway and justify the additional key stroke. Each language (family) has its own mode to keep them simple and because I almost never mix them anyway.

This frees up some keys, and thus, my old basic layout:

basic layout

basic layout (left normal keys, right with Mod3 = M3)

(A few keys are redundant because they started out in a bad position, then moved to a better one and I saw no need to leave the old one empty. As you can see, the Mod3 level has still quite some open positions.)

I can’t move the punctuation characters inside my IME, because I generally mix them with normal text (typing something like “$editor =~ s/vi[m]/emacs/g”) and the IME would slow this down a lot. Inputting something like “\s” for “$” isn’t that cool and breaks many hotkeys. But, as you can see, Mod3 is used twice and in 2 really good positions, forcing me to put at least some meta keys in the outer corners at the bottom, which sucks.

So instead I decided to group them tighter together and move all characters to the right. This way I only need one Mod3 key. The Mod4 key, formerly right of Space, moves to the right of Left Shift. I can still press it with my left pinky and use the keys on the left. This frees more keys and leads to the following layout:

new layout (normal, mod3, mod4)

new layout (normal, mod3, mod4)

This might be a little confusing because I used some lazy abbreviations. The Mod4 level on the left has Backspace, Up, Down, Escape at the top, then Left, Down, Right, Insert and finally, at the bottom, Page Up, Page Down, Return, Tab. On the left are the meta keys Mod3, Mod4 and Win. On the right are Control, Meta and the 漢字 key to activate my IME. All the other keys on the keyboard are unchanged, but I can’t reach them anyway, so I don’t use them (except for numbers).

This arrangement isn’t optimal in the sense that some combos have to be typed by one hand, like ^ as M3 + i, and not all good keys are fully exploited (the left home row is under-used), but this is the best compromise in my opinion. All punctuation on the left side is rare and all frequent ones (and combination, like :) or !=) are easy to reach.

I was also experimenting with separating opening and closing parentheses because emacs (or any other editor) can easily match those anyway, but this doesn’t really improve the setup and makes it a lot more illogical and harder to learn. If it were not for programming, I would actually switch to a pseudo-latin input were similar characters would be merged and the IME would tell them apart, e.g. I would put i, j and y on the same key “i” and let the IME decide which to use. This works all pretty well for normal text, but in virtually any programming language, most letters are used frequently and, as a group, more often than punctuation. Having different layouts for different contexts, however, only makes a big mess.

(You might have wondered why I chose this particular key arrangement. It was originally Neo, a (now broken, see my old rant) German layout. I moved the J, X and Y, and removed all those silly additional levels and German characters, though. If I had to start over, I’d choose something like Dvorak as a base.)

bitlbee and Usable OTR

October 2nd, 2009

Are you using bitlbee? Are your friends annoying you insisting on asking you nicely to use OTR? Then use this branch: http://khjk.org/bitlbee-otr/

But, what if your friends have a RL aren’t online and you still want to spam send them some nice message? Once OTR established a context, it won’t let go, so you will still send them encrypted messages, but once they come back, they probably won’t be able to read it. Sucks. But! There is hope! Use this small patch: otr.patch

Now bitlbee will only send encrypted messages when the recipient is actually online and otherwise fall back on plaintext. A little bit less secure, a whole lot more convenient. Yay!

ashuku – a personal statistics tool

September 16th, 2009

Statistics. I love statistics. And graphs. Graphs are cool, too.

It’s funny, actually. I really suck at statistics. I have a hard time understanding probabilities and statistics is probably the one mathematical field I understand the least. But I still love it. I track a lot of data and love reading tables. I have several books full of yearly death statistics, broken down by age, gender, cause, region and so on. Some of the greatest stuff I ever read. Crime statistics are really cool as well.

Anyway, it might come as no surprise to you then that I like correlating personal data. If I do this change in my life, how does it affect me? Is their a correlation between sleep time and happiness? What about nutritional supplements? So I wrote a tool to track and analyze just this. [0]

Enter ashuku. I’m lazy, so let’s just quote the readme:

ashuku is a tool to track a multitude of daily statistics, like mood and
health. Its design goals are simplicity and fast usage.
ashuku can draw graphs [citation needed] and analyze data for correlation.
Data is stored in plain text files in YAML. It’s easy to read for both humans
and machines.

ashuku is named after one of the 5 Wisdom Buddhas, 阿閦如来 (ashuku nyorai).
He is immovable and reflects all emotions like a mirror, showing things as they
really are.

ashuku is strongly influenced by todo.txt.

Dependencies
============

* Python 3 (although the code is probably compatible with Python 2.6)
* PyYAML

Here’s a screenshot. It’s fully customizable, so don’t be afraid of the Japanese UI. It’s in English by default and you can change it however you want. :)

a screenshot

a screenshot

I’ve been using it since 9/12. The data before that is from a different tool and partially incomplete, so there.

You can grab it here: http://github.com/muflax/ashuku

[0] Well, the second one, actually. The first one was a Perl script and… you know what they say about Perl code. It’s  all true, unfortunately.

Dijkstra, a quote

September 8th, 2009

In “The Humble Programmer” (1972), Dijkstra writes:

The analysis of the influence that programming languages have on the thinking habits of its users, and the recognition that, by now, brainbower is by far our scarcest resource, they together give us a new collection of yardsticks for comparing the relative merits of various programming languages. The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other  things he avoids clever tricks like the plague. In the case of a well-known conversational programming language I have been told from various sides that as soon as a programming community is equipped with a terminal for it, a specific phenomenon occurs that even has a well-established name: it is called “the one-liners”. It takes one of two different forms: one programmer places a one-line programm on the desk of another either proudly tells what it does and adds the question “Can you code this in less symbols?” – as if this were of any conceptual relevance! – or just asks “Guess what it does!”. From this observation we must conclude that this language as a tool is an open invitation for clever tricks; and while exactly this may be the explanation for some of its appeal, viz. to those who like to show how clever they are, I am sorry, but I must regard this as one of the most damning things that can be said about a programming language.

This is the year that C was invented in, and 15 years before Perl. I feel very guilty and amused at the same time.

Why I love my SRS

August 19th, 2009

Let’s do some blatant propaganda for Spaced Repetition Software aka SRS.

Say, you want to learn something. Something big, like, Japanese or Chinese. Japanese uses 4 different writing system, but the one that stands out are the 漢字, i.e. the thousands of funny symbols. To be literate in Japanese, you need to now about 3000 of those. How would you learn something that huge?

To learn anything, you need two things. First, the information must be sticky. That means it must be represented in a form your brain can actually remember. What that means is: Ever tried remembering a long number? Like, 20 digits long? Impossible, unless you break it down. But ever remembered the whole plot, including all scenes, of a great movie? Totally easy. Your brain can remember pictures and narratives (related things, both by time and cause) easily, but abstract information is very hard. So you need to transform the 漢字, or whatever your learning, into pictures and stories, aka mnemonics. Fortunately, they were designed with that in mind, so that’s very simple.
Second, you need to review regularly. Your memory is leaky and needs constant reinforcment. Fortunately, every time the memory is refreshed, it will stick around a lot longer – roughly 2-3 times as long if you review just on the brink of forgetting. If you know some math, you’ll recognice this as an exponential progression. What does that mean? You only need to review about 7-8 times and the memory will stay for decades! So, that’s manageable. Unfortunately, the brain is a little faulty, so you will forget a few things anyway. The good thing is, though, that with very little effort, you can already reach a retention rate of 90-95%, so on average you only need around 10 reviews per fact to make sure you’ll remember it for a very long time.

That sounds pretty nice already, but still, 3000 漢字? Isn’t that a lot of work? No. That’s 3000 facts, meaning about 30,000 reviews. A review takes 10 seconds, at most. On average, it will take only about 5, but let’s assume 10. Worst case scenario, you know. In total, that’s only about 3.5 days of work. If it were not spaced out so much, you could finish it in a week. Sweet!

Have a look at those graphs.

3000 facts, 20 new facts a day

3000 facts, 20 new facts a day

3000 facts, daily reviews

3000 facts, daily reviews

That’s your work over 10 months. The first shows how much reviews you will be doing per month in total. Yellow is the amount of new (or unseen) facts, red are reviews (or reps) of old facts. Below that is the amount of reviews per day for each month. As you can see, the daily workload is at most 20 minutes and goes does down rapidly. After 5 months, you know all 漢字 and will only be refreshing. And that’s only for a moderate amount of work with 20 new facts per day. You can easily do 50, or even 100 if you are determined. Pretty good, right?

Let’s look at what I’m doing right know. I’ve already learned around 2000 漢字 quite a while ago, but I’ve neglected a lot of them and I found I could only read them, not write them. Which sucks. So I started anew, but while I’m at it, I might as well do some more. :)

Chinese uses the 漢字 exclusively (almost), so you need more to be literate, around 4000 or so. A lot of those overlap (at least 60%) with Japanese, so it’s not a bad idea to learn the superset of 漢字 that both languages use. That would add up to about 5000-6000. I also want to read somewhat older literature and just love obscure sources, so I decided to totally rock the 漢字 and go for over 6000. A realistic upper bound is 8000 or so. After that you’ll have trouble finding any actual sources outside of taxonomy. I will also add 50 per day, on average. Right now, for the first 2000, I’m doing 100, but as they become more obscure, I’ll slow down to focus on more important aspects of the language. Still, 50 a day is maybe an hour of work. Let’s show some graphs.

8000 facts, 50 new facts a day

8000 facts, 50 new facts a day

8000 facts, daily reviews

8000 facts, daily reviews

Less than an hour per day on reviews for half a year, then only up to 20 minutes. Half of them done in 2.5 months, meaning already pretty much 95% literacy. A total of 9 days of work for the reviews and 6 days for the initial learning. And that’s why I love my SRS.

Algorithm Name of the Week

August 9th, 2009

Optimal Brain Damage

(it’s a form of backpropagation used in neural networks)

Prediction

July 17th, 2009

If time travel is possible, there will be three distinct events that change the evolution of civilization forever:

  1. Time travel is discovered. This will lead to two realizations. First, the past is painful to watch. Second, without additional teleportation, time travel is rather useless.
  2. Teleportation is discovered. All civilization grinds to a halt as laziness takes over. A new dark age begins.
  3. Time travel and teleportation are combined. It is now possible to retroactively punch someone in the face for being stupid. A new age of enlightenment begins.

Stoned AI

July 15th, 2009

Every once in a while I’ll stumble on some kind of utterance that is just weird enough that I’m wondering: Has somebody already created a new level of AI that can pass for a human, albeit a retarded one?

From: Frank <…>
Subject: dynamic linking
Newsgroup: de.comp.lang.perl.misc

Schönen Gruß, newsgroup,

Ich heiße Jensen und haette gern gefragt, ob Ihr in perl dynamische
Ablenkung (?) habt?  Wo kann ich merh darueber lesen?

Meine Zwecke sind zweierlei. Es ist nun zwanzig Jahre her, da ich bei
Euch war und ich waer gern mit meinen Freunden in Kontakt gekommen.
Sind unter Euch berliner?

Peace.

It kinda looks like spam, composed of two default parts: First, pick a random topic somewhat related to the group, ask a general question about it. Second, pretend to ask about a friend and get contact information and/or clicks. And it is probably babelfished. But, there is no link. And it has typos. And harvesting answers would be useless. So, wtfuck?

Do spam authors actually make their messages intentionally retarded to look more human? It would make sense, but oh what a killing blow to human supremacists this is…