Close, But No Cigar

Once upon a time in Russia, a design company named Art Lebedev came up with a brilliant idea: make a keyboard with small, configurable screens for each key. This way, the keyboard could physically be reconfigured on the fly for each task for greater useability and better user experience. For example, a word processor might have custom keys for making the text bold or italic.
(more…)

Wrong Tools for the Right Job

Suppose you’re a surgeon, soon to conduct a delicate surgery on a heart patient. You hold tightly to your rusty and trusty chain saw as you climb a rope into an operating room which is located at the open roof of the hospital. It’s windy and there’s a lot of birds, but that’s the way it’s always been, so you are sort of used to it already – why change it?

Or, suppose you’re a painter, soon to paint a house. You grab some blueberries for the colour and a tiny sponge with which you will slowly wipe the house blue. It’s a bit awkward, not to mention terribly slow, and the quality is bad, but that’s the way it’s always been, so why change it? “But that’s absurd! Nobody does things in such a difficult way!”, you say. Well, suppose you’re a software developer
(more…)

Put a Program to Network Limbo

Sometimes you need to prevent network usage for some program, while preserving full functionality for all others. Here’s one quick and dirty way you can achieve this. These instructions work with Linux and iptables.
(more…)

Musings on the Turing Test

Suppose that intelligent, conscious, etc. persons A and B are taking the Turing test. Person A speaks the language X as his native language and person B is a native speaker of Y. They know no other languages – therefore they do not understand each other. Person A thinks person B is typing nonsense, and vice versa. Thus both parties see each other as failing the Turing test – both consider the other party being unintelligent. (more…)

Programmable Plants

Plants can be considered automatons: for instance, they bend towards light because light causes release of plant hormones, which cause the plant to grow asymmetrically (light side of the stem grows faster or slower than the other, causing “bending”). This is a gross oversimplification, but the basic idea is that plant hormones control the plant, there exists inputs to the system and outputs are the excretion of plant hormones. It sounds like a computing device, so could such a system be programmed?
(more…)

DRM for Privacy

Building an uncrackable, foolproof and practical Digital Rights Management (DRM) system is an ongoing effort. Today’s DRM systems all aim to protect the content producer’s interests – they have little, if any, interest in protecting the rights of the consumers. To put it bluntly, the content producer produces the content (like a movie or a music file) and protects it using a DRM system. The consumer, who first pays for using the file, won’t be able to copy or share it.

This kind of scenario might seem unfair. However, no technology is automatically evil or bad. How the technology is used determines its merits. This also applies to DRM. For instance, if the producer/consumer relationships in DRM systems were reversed, an interesting “good” use for DRM technology could be envisioned.
(more…)

Predicting the Future

I was reading Klaus Oesch’s book about the “digital revolution”. The book was written in 1993, and I found fascinating the many predictions, which are now manifesting themselves and seemed to have been very much on target (digital TV, wireless LANs, PDAs, etc.). It’s probably obvious that you can predict the future (at least the major trends) through the past.

But could you automate the process? Is it possible to create a computer program to find those trends which extend from the past to the future?
(more…)