Trains don’t exist

February 9, 2010

Every time some new way A of doing things comes around, I have to listen to  / read stuff like “A may be a nice idea, but it also needs B and we have almost no B, therefore we should quickly forget about A”. Sounds sensible, but unfortunately people also apply that if A and B basically come in a package and advancing the popularity / availability of one also pushes forward the other.


  • HDTV and HD content
  • 3DTV and 3D content
  • Electric cars and gas stations with power outlets
  • Hydrogen cars and gas stations with hydrogen
  • Multi-core processors and multi-threaded applications

There is a ton of arguments like this against the technologies above – completely oblivious to the fact that though the availability of part A and B stifle progress for a while, there is a kind of “critical mass” to be reached. And then that technology will take off.

If it wasn’t like that, we’d have no trains.


From Online Community to Modern Tribe

January 10, 2010

This TED talk shows how communities, a healthy lifestyle and a sense of purpose may be very important contributors for a long and happy life.

When it comes to aging itself, I think we should be looking into Aubrey de Grey‘s ideas. There is no good reason why we should just accept our fate and wither. There’s nothing graceful or dignified in losing your senses, becoming frail or shriveled – despite some optimists say (who are usually quite young themselves). I applaud anyone who manages to stay alert, healthy and active in old age, but I really don’t like the notion of “That’s how it is supposed to be”. I know, when faced with their unavoidable demise, people eventually reach an “acceptance” stage. If you can’t change it – embrace it. If you have gone through that process, the pain becomes a inconvenient memory and the idea that there might actually be a way out threatens to shake everything up again. People don’t want to get their hopes up and then be disappointed.

But whatever you think about aging, Dan Buettner made some important points about lifestyle. Apart from regular exercise and healthy food, everybody needs some sort of social unit to belong to. People to share your thoughts with, to help you when you are in need, to correct you if you are wrong. Unfortunately, bonds are loosening and more people spend their time sitting at home, making shallow connections over the internet. You learn that if people disagree with you, the right thing to do is to scold them and then move on until you find a place where everybody agrees with you. This doesn’t create anything but groups of extremist assholes. Being with people who are the same as you doesn’t teach you social skills, you just reinforce your idea that everyone is a complete idiot except for you and some people who are similar to you (with the remaining differences being proportional to how stupid they are).

This is a dead end. Technology and quick satisfaction of needs push us in a direction that will make us miss happiness in the long run. Since there is no way around technology (contrary to what some extremist lunatics or hippies might say), we should re-invent the social structures that have proven themselves. We need a new form of tribe, something that is compatible to modern times.

I’m almost sure that a meme of this kind will come along soon. My version of this idea consists of several requirements:

  • A tribe includes a small number of people. Each individual should be able to keep track of the relationship between each pair of members. Since the number of these relationships grows exponentially with the size of the tribe, there’s a natural limit. I expect it to be somewhere around 100 based on a report I read some time ago, but the ideal size might be lower due to other limiting factors.
  • Anyone should be able to leave a tribe at any time. Mindless reinforcements ([tribe name] for life!!) are discouraged, harassment of ex-members is banned. A tribe exists solely as the means to ensure the happiness of all its members.
  • There is a trade-off between heterogeneity and like-mindedness. Tribes based on preexisting memes like religions or states may create trouble. Online tribe culture could be an awesome opportunity to bring together people of completely different backgrounds, from all over the world.
  • Groups of tribes could form super-tribes, organized by representatives from each tribe. Same thing goes for super-tribes.
  • A basic tribe should be as unrestricted as possible when it comes to its inner workings. Let them experiment.
  • The super-tribe structure regulates inter-tribe relationships and conflicts. The goal is to make sure everyone‘s connected and to discourage unhealthy rivalries. If two tribes go against each other, the super-tribe steps in. Inter-tribe friendships are encouraged (on any level), along with meetings of tribes who have never met each other before.
  • Communication technology is the key to a tribe’s survival. At the moment this means forums, chats and regular video conferences. A well-organized and supported tribe might even schedule physical meetings.

I’m tempted to write a set of “laws” or some sort of manifest that would regulate this kind of thing, but that would ultimately fail. You just keep finding new things that people do that go against your morals, just to end up with a huge pile of “dont’s”. Instead there should be ongoing research to what makes us happy, how to avoid conflicts and how to direct people to behave in a healthy, self-organizing manner without using any more force than necessary.


December 21, 2009

I don’t really understand the outrage against Google StreetView (and judging from the fact I’m posting this on a blog nobody reads, I also don’t want to).

The Information Age caught us by surprise, and many non-tech-savvy people happily fell for the traps set by others who had more insight. Now it begins to dawn on us that things have changed a lot. Your information isn’t hidden by default, the Internet does not forget, and if you ever get its attention you should better be ready for it.

While individual things get easier, life becomes more complicated. If you want to know something, you ask Google (for things somebody said or wrote), Wikipedia (for things people agree is “knowledge”) or Wolfram|Alpha (for specific knowledge and computation). That’s easy now. But if you want to retain your privacy and keep corporations and scammers away from your money, you have to work more than ever. Nowadays, your mind is your biggest asset.

Google’s founders understood that and quickly started to gather as much brainpower as they could. This made them very, very powerful. And that creates fear. You probably meet a lot of people now who just plainly reject anything coming from Google. Sometimes they rant about it the way a free software evangelist rants about Microsoft. They might even go so far as to not use Google Search!

And yes, Google knows a lot about you. Even if you don’t use any of its products, most ads come from them. That way, they can track “you” across multiple websites. If you have a Google account, they might link you to the person who visited all those websites (I don’t know if they do, but they can.). If you have a GMail account, they can read your E-Mail. Then there’s Google Docs, Google Maps… but few things tell as much about a person as the things they put into the search bar.

Apparently, the worst thing about this is the fact that it’s all going to one place. Somehow it’s worse than your ISP – who could filter all your unencrypted data if it wanted to.

That’s still hard to grasp for the average person who thought the biggest problem of the 21st century would be unsafe hover-cars and robot revolts. All that potential spying is pretty much invisible. Making photos on the other hand – that’s easy to understand. They can see you. Or at least that what it feels like.

If you are more pragmatic about it (and I’m sure all the PhD’s at Google are), StreetView is just about gathering information that is freely available already. Anyone can walk the streets and look around. Anyone can take photos while walking the streets. Anyone can publish their photos on the internet, using services like flickr. Computer scientists know that most of these random images can in theory be linked together (and therefore, will be in the near future). Look at software like Photosynth – it already works pretty well. But using special equipment to scan each street is easier, more accurate and much faster. And also way scarier.

Let’s compare StreetView to what you are already accustomed to:
StreetView captures each street once and probably won’t again for the next few years. You are unlikely to be photographed unless you spend all day walking through the city the day they make the photos (and even then it’s still not very likely). If you or your car end up on a StreetView image, your face and your car’s licence plate will be blurred out.
While you are lamenting about your loss of privacy and terrorists being able to target your house (because they hate your freedom as much as other people hate your garden gnomes), you are probably part of many tourist’s digital vacation memories (face not blurred out), appeared in the views of countless security cameras (not your security) and your cellphone provider knows where you are right now.

Let’s stray from the visual paradigm even more and make sure you are sufficiently paranoid. Ever sold a flash memory chip you used to store photos on? Whoever bought it can see those. Erasing them is much harder than you think. Same thing with hard-disks. Gave your computer away for repairs? Chances are that it was scanned for additions to someone’s porn collection – or identity theft. Don’t update your software regularly or install ad-infested software from the internet? It’s not really “your” computer anymore. Also, your tech-savvy roommate who configured your router can find out what sites you visit without you being any wiser. And this is still just the tip of the iceberg. An exponentially growing iceberg by the way.

So, there are more important things to worry about then a huge corporation making photos of things anybody can already see. Instead of being outraged you should use that energy to learn. I know, it’s more difficult to learn new stuff than it is to shout at something. But all you’ll accomplish is that “they” will make a bigger effort to hide the things they do.

Focus on this:

  • Acquire a basic understanding of how computers work. How does electricity drive calculations? What’s a processor? What’s a program? What’s an operating system?
  • Understand computer networks, like the internet. What kind of voyage does your data make between your computer and the one on the other side of the planet? If you type an URL into the address bar, how does the computer know what to do and where to look? What exactly is a “router”?
  • Security: Who or what are you trusting? If you buy something on the internet, who gets what information? Do you have personal data like passwords, E-Mails, potentially embarrassing photos you don’t want anyone to see? Is it safe? Is all your software up to date and configured correctly?
  • Known attacks: If you connect your computer to the internet, you’ll soon get under (automated) attack. No, there isn’t some hacker or virus who will mess up some little things just to spite you. But there may be a trojan that scans your computer for personal information or that uses it as a tool for criminal actions. There might be websites designed to look like your banking site. Know how to spot traps.
  • Stay up-to-date. Things change rapidly. Several years ago, viruses erased hard-drives – now they do much more sinister things without you noticing. There is no software that is completely safe. All you can do is to make sure you have all the current patches installed.
  • Don’t give away personal information you don’t want everybody to see, unless you are very positive it is in good hands – or that there is a plan B if something goes wrong. That service that has all your personal info might get hacked. The person you send your pictures might distribute them knowingly or unknowingly.
  • Make sure your most important data can’t get wiped out by a single event. Power surge? Computer is fried, but luckily you have another (unplugged) backup-hdd. Flat burns down or gets robbed? You made another (heavily encrypted) copy on the internet. Internet storage service goes out of business or suffers a huge hardware failure? Backup-DVDs get scratched? Make sure those things are unlikely to happen simultaneously.

If this is all second nature to you, then go ahead. Yell at Google. At best it will delay things by several months, but at least you know what you are talking/screaming about.

Dangerous Knowledge

December 6, 2009

I just watched this documentary about great mathematicians and their decent into madness after trying to solve profound problems, while being mocked and even hated by fellow scientists.

Being ahead of your time while being suppressed by your peers is a powerful narrative. It only happened to few people, but of course every other wacko with a messiah complex will see himself in the same light. People don’t believe me or try to shut me up? I must be ahead of my time!

But there are some lessons to be learned. Many geniuses share a characteristic with idiot savants: They are great at exploring a very small world, which happens to be only a small partition of the real one. It’s even harder to rethink the basis of your reasoning if you believe that you are already doing exactly that: Cantor was questioning the very principles of the mathematics of his time, while being deeply religious. Gödel changed the very essence of logic while assuming that he himself was somehow beyond it. These guys reached planes of knowledge I can’t even begin to understand, yet what they wanted to believe was what held them back in the end. The hostility of their peers – had none of their greatness but shared their flaws – wasn’t really their limiting factor. From the documentary, the only person whose life was made unlivable by the intolerance of the people in that time was Turing – and that had nothing to do with his work. Now while the things they discovered have long been accepted, we still haven’t learned from their errors. I guess it’s because only to geniuses these things are really unbearable. The rest of us, we just acknowledge them, and go on with our lives (having resolved nothing).

I think I can explain the things that worried people like Cantor and Gödel, even not fully understanding their actual work. For them, perfection existed somewhere. They had a preconceived, maybe native idea that everything could be understood, and that a reality where that wasn’t possible is one that is too cruel to be true. Don’t underestimate the emotional attachment to a human-understandable, in some way perfect world! Finding out otherwise is like discovering there is no god (for a deeply religious person), that your mother doesn’t like you, and that good things happen to bad people without anything to offset it. But that’s the problem: even the greatest minds let emotions cloud their judgment. That’s because emotions led them to their discoveries in the first place! No emotions – nothing that could motivate you to do great things.

So in order to discover the true face of reality – or to do so withing the possible restrictions set to us by the nature of our minds – we must first prepare ourselves emotionally. If you have any preconceived ideas about what you will find, you are limiting yourself to a solution space that might only contain local optima. Whereas if you accept the idea of an uncaring, random world where it’s not even certain that you could ever understand it – you have the best chances of finding the best possible solution. And that’s our optimum: the best thing we can achieve, not the best thing there is. Mathematicians like to make a clear distinction between the two and shoot for perfection. And then they miss. It’s probably inherent to their thinking. The rest of us can only hope that on their way (to crashing and burning), these geniuses develop a number of tools that are actually useful. There’s a lot of examples in computer science: The mathematician says “You can’t solve that problem perfectly and efficiently. It’s driving me crazy!” whereas the computer scientist says “I’m not sure if there’s an efficient algorithm for solving all problems, but here’s a subclass of problems I can solve well enough!”.

Like the documentary noted, mathematicians trying to solve a problem can behave like a computer trying to solve the halting problem. Programmers have long come up with a solution: timeouts. That would look like pure idiocy to a mathematician (you don’t really solve the problem, you just get the class of problems that are solvable before the timeout), but in the real world these things play an important role. After all, a computer will shut down at some point, just like a mathematician will cease to exist. Also, there is a very short amount of time I’m willing to wait for a program to respond. And since there’s only a finite number of algorithms that halts before a given point in time, maybe we should spend more time looking at those.

With this post already losing structure, let me repeat the points I was trying to make:

  • Reality doesn’t care what you want it to be. Be it god, karma, free will, the brain being more than a machine or the human capacity to understand everything: if the only thing you know for sure is that the world look very bleak without that concept, it’s probably a figment of your fragile little mind.
  • If you find yourself going crazy about what you can’t do, try to focus instead on what you can do.

Actually, the last point still needs some explanation. Let’s look at the Design Space of our universe. It contains every object that can be made using the matter around us. Now try to estimate its size. It is big enough to hold all of our inventions, with most of them working the way they should even if dramatically altered. It is big enough to hold all of us – that is all humans that ever existed or will exist. It is big enough to hold every pattern of atoms from the beginning of time up until now (and beyond). And that’s still only a small subset, if you remind yourself that a) we haven’t invented that much yet and b) most objects have been made under most severe constraints. Even the most simple organism is able to replicate – that means it contains all the information to make something similar to itself in a specific environment (that still contains a lot of variables). You can’t say that of any human invention (yet). But what is the most amazing thing: each object must come from a line of similar objects that changed only in very small increments through evolution. This seems to imply that for larger increments (as the ones made possible by inventive humans, creating things like the automobile which hardly resembles anything found in nature), the Design Space must be vast indeed. So let’s really explore it.

OpenCL on the Rise

September 30, 2009

Looks like hardware makers are remembering what they are selling: hardware. You’d think they always knew that, but apparently they didn’t.

Hardware makers always liked to control their customers, be it end-users or developers. They make proprietary ports and closed interfaces that only work with their stuff. The thought process is something along “If we make sure our hardware is incompatible with whatever runs on our competitor’s hardware, then customers will come and be forced to stay loyal to us.”. Unfortunately these kinds of locked-in devices never really catch on for some reason, whereas open platforms (given they have some good traits) thrive immensely. Try to get absolute power over your customers, and at some point – no matter how great your product is – they’ll get fed up and leave.

What’s mind-boggling is how recent history is littered with failed attempts at binding hardware users. Since it’s closest to what I want to write about, let’s look at PhysX. First it was an attempt to sell physics acceleration hardware – you’d get great effects if you bought a PhysX card and a game that supported it, but without the hardware it was just another bad physics engine. Somehow game developers weren’t as enthusiastic as they were supposed to be. Then along came nVidia and ported PhysX to their GPUs. Now that a major GPU manufacturer is behind this, every game should use the engine, right? Well, somehow not every gamer trashed their Radeon to switch to nVidia and not every developer immediately wanted to make a game that would only run (well) on half the systems out there.

Because as a developer, you want a broad user base. It should be obvious, but somehow it isn’t. Why do MMOs look like they are lagging behind in graphics quality like 3-4 years? Because they want to reach as many users (with old computers) as possible. Imposing any artificial limits on your hardware makes it worse hardware, no matter what your strategy was.

But, almost a year after the release of the OpenCL specification, OpenCL ports of physics engines are being announced – by Intel (Havox), AMD (Bullet) and nVidia (PhysX). So as a developer, you can finally choose an engine and go with it – it should work on all platforms that support OpenCL!

Custom Firmware

September 25, 2009

In the previous post I ranted about poorly designed gadgets and the lack of openness screwing up any chance at user-driven software improvements. But I should have pointed out that while few companies get what community involvement could mean to them, some users take the matter into their own hands.

Custom firmware projects exist for many types of devices. Tomato and dd-wrt are popular, linux-based firmwares for dsl routers – I’ve been using tomato for quite a while now. And while there are routers that support custom firmware openly (like the legendary Linksys WRT56G series), others can be hacked in order to overwrite the crap they are running out of the box.

Another popular category of moddable devices is mp3-players. Usually it starts with some linux geek asking the age-old question: “…but does it run linux?”. He then starts hacking away, sometimes bricking several players while reverse-engineering the way firmware gets uploaded and how it interacts with the device. Since it is much too expensive to develop a new ASIC for a cheap mp3 player (or almost any device that doesn’t require extremely efficient computing), the hacker is usually able to find out what known components it is made of and use the (known) specifications to learn more about how it works. Once hobby developers have access to the device – usually after one keen individual paved the way – they’ll fantasize about what functions they always wanted their gadget to have, what functions it could have (not necessarily useful but fun), and how they would do it so much better than the people who build it. Then comes the next wave of developers who just want to make minor modifications (like a new theme or a little app or just some experiment) but won’t meddle with the low-level or even mid-level stuff. Before you know it, you have a thriving community of programmers (and sometimes artists) who will spend a lot of time improving the software and porting it to more devices.

Rockbox is such a project, and I’ll install it as soon as the port for my player is stable.

Crappy Gadgets

September 22, 2009

It’s unbelievable how bad the average gadget is. Everything that does a little more than save data in flash memory is most likely flawed, sometimes to the point of being barely usable.

My MP3 player just died. I haven’t used it for a few months (but it wasn’t very old… maybe two years) ever since I bought a Sony W890i cellphone. But the (proprietary) connector of the phone broke – the phone side, so buying the a cable wouldn’t help – so I started using the old MP3 player again. It was fine for some time, until it stopped booting all the way up. Too bad, other than for the crampy 2GB space it was a great device, with good sound and an uncomplicated UI.

So I got a new one. I didn’t spend much time looking because I figured some player with 8GB and good reviews would be sufficient. I would have gotten an ipod, but it’s twice as expensive as other devices with similar capabilities yet I don’t get to transfer data without itunes. What I got was a player with mostly good reviews and the ability to play some formats other than mp3, like ogg and flac. It also plays videos and has a radio, but I don’t really care that much about these functions. Oh, and you can use a microSD card to get even more space.

Sounds great, doesn’t it? Well, so far it works good enough – I’m not returning it (yet?). But I’m still disappointed. When I wanted to try out video playback (other then the one music video that came with the player), nothing worked. Okay, so ipod/psp-compatible mp4 won’t work – let’s feed those videos to the media converter that is supposed to squeeze them into a compatible format. The converter failed to load the videos. So I started looking on the internet and what do you know – it’s a known problem. The company doesn’t seem to care, because apparently it’s enough being able to play one video in order to advertise “plays back videos” and the converter software is mostly an alibi. Nobody really knows what kind of videos the player or the software accepts other than it’s AVI with some weird restrictions.

It’s obvious that this device was only made to be “good enough”, and only for its main function. Watching videos on such a tiny screen isn’t really something most users will do, but it probably helps sales – so they crammed it in and made it barely work. There were other issues as well – the voice recording function made the system freeze up. Obviously that’s another function they thought nobody would use. It worked better after a firmware upgrade, but it’s becoming clearer how this device could be so cheap.

What’s really sad is that few people seem to care (hence the good reviews). When I buy something, I expect it to work almost flawlessly. If there is some bug, it should better be fixed with the next firmware update. I know, there will always be some bugs left. But if you manage to find several the first day you are using it, it’s clear that the manufacturer does not really give a shit about testing. Interface design is also pretty horrible anywhere but in Apple products (where you pay a hefty price for it). And it’s not like there aren’t people out there who wouldn’t be glad to help! Just release the firmware as open source (you are not really selling the software anyway – the hardware is much more important than the crap it is made to run) so more competent programmers can take over. Or don’t even do that, just release the specs. There won’t be a good replacement for a while – open source projects usually don’t have (strict) deadlines – but ultimately the free version will come closer to perfection than the proprietary one. Because once you have sold a piece or hardware (or worse, have stopped producing it), there is no incentive for you to keep supporting it as a manufacturer. It’s sad, but that’s how it is. The “free market” is not going to solve this problem, because even brand-awareness doesn’t seem to impact the long-term memory of customers. My only hope is that some day there will be enough tech-savvy people to make free software an important factor even in gadgets. I know there are some attempts to make gadgets with open specifications, running open-source software, but right now this usually means expensive hardware and bulky, ugly design for some reason. I hope this will change soon.