Da das automatische Ausfüllen von Form-Data in Browsern gefährlich ist, weil man sie mit diversen exploits möglicherweise unbemerkt auslesen kann, wird hier das addon Secure Login für Firefox empfohlen. Sehr gut! Das war nämlich ein Feature von Opera, das ich vermisst habe.

I hate encodings. I dont understand why not everybody just uses utf-8, at least for data exchange. I really like Textonly-Software, running in an Xterm, but as soon as run into trouble with encodings, it is almost impossible to use it.

I tried Finch, CenterIM and Irssi+Bitlbee which I liked most and did best with encoding-problems, but all of them are sort of convenient, when you got used to them. But all of them have problems when special characters are sent.

All of them have settings for encodings, but I always run into trouble with them when using different terminal emulators. Its not just a few characters appearing in a strange way, it can lead to disappearing parts of the UI and make the terminal emulator not respond anymore to keystrokes.

Maybe the right way of handling encoding shit is not to try to do it right, but to try to do it good enough to work with it. For example, I would mostly be satisfied when I could at least tell them to just display everything as quoted printable, so at least the UI wouldnt be disturbed. Any maybe have a mode to display single characters as ascii-art.

BASIC, the Beginner's All-Purpose Symbol Instruction Code, may not be the best tribe of programming languages, but it has brought a few programming languages that were quite nice for scriptkiddies.

For me, the main reason for using a computer was that I wanted to learn programming. And DOS had a QuickBasic-Interpreter, called QBasic. This interpreter had an excellent documentation, documenting most of the calls. This was perfect for me, since I didnt have to buy any book and could learn it myself by searching through the documentation, and could do my own experiments, and get my own expierience.

And it had a few example programs, like a Snake-game named "Nibbles", from which it was easy to "steal" code.

Though, it had a few drawbacks. For example, there are ASCII-Characters which couldnt be printed by its "Print"-Command. And there was no possibility to use the mouse. Later, I got a book about x86-assembler, which hat a table of MS-Dos-Interrupts. And I got a newer version, QuickBasic 4.5, which also had a compiler, and hat an instruction named Call Interrupt, which could be used to call MS-Dos-Interrupts. With that, I could write my own Print-Command that supported all characters, and could use the mouse. Later, when I finally got an internet connection, I found a lot of stuff, like the 3d-Game "Return To Marchfeld".

Still, there seem to be many people who like QBasic. Thats not surprising. Its a simple language with a lot of things the usual child wants to have. Many software and code can be found under my favourite site for that topic, QBasic.de (which is german, but should be quite understandable through google translate).

Well, meanwhile, all of this is not that interesting anymore. It is trivial to use the mouse, it is trivial to print every unicode-character, it is trivial to create 3d-images. But at that time, this was new to me. It was a nice world to explore, and I am not sure if such a thing still exists today, because most languages simply have default libraries for everything that can be done without further reading. And Basic seems dead to me, anyway - seems like some people still use Visual Basic, or VB Script, but the last time I saw it it was not even comparable to what QBasic was, at least in my opinion.

Ich stelle gerade mit erschrecken fest, dass das Wohnhaus in dem ich wohne in Google Street View unkenntlich gemacht ist. Naja, ist ein großes Wohnhaus, und es reicht vermutlich ein Idiot besorgter Bewohner aus, damit es verpixelt werden musste.

Ist schon irgendwie peinlich, in einem solchen Haus zu wohnen. Üblicherweise gibt es keinen triftigen Grund, denn es ist nichts, was man nicht auch sehen könnte, wenn man einfach so auf der Straße vorbeifährt. Ein unkenntlich gemachtes Haus zeigt für mich also ziemlich deutlich, dass es in so einem Haus Personen gibt, die als Hauptinformationsquelle die Bild nutzen.

Ich warte schon auf die ersten Wertminderungen von Häusern, weil niemand in ein solches Haus ziehen will, wenn erstmal die Moralpanik vorbei ist.

As I am using bitlbee and quite a few autojoined irc-channels, irssi can get a lot less handy because of its many windows.

There are M-0 to M-9 to quickly navigate through the first 10 windows. M-a gets you to what irssi thinks that is the active window, but I want to control this myself. "/window 27" is a long command, that takes long to type.

So I decided to add a few aliases. I didnt want to write an irssi-script for it, and since I never had more than 100 windows, I just typed

$ i=0; while [[ $i -le 100 ]]; do echo /alias $i /window $i; ((i++)); done

in bash and pasted the output into irssi. Now I can acces windows via /<window_number>, i.e. /1, /27, /100. Nice.

There are quite a lot of things that have to work together properly, to make a PXE-Boot-System work. If you really want a fully-qualified operating system, you will have to export a filesystem, for example via nfs, have a special kernel that can use this filesystem, and act as a dhcp-Server and NAT. It can be complicated to configure all this.

In a large network, you may want to have a fine-grained configuration of all of this. But usually, you are in a situation where some computer chooses to strike and you cant get any bootable medium. Well, surprisingly, still, the most safe way to get something to boot at least somehow is - besides burning a CD - to boot it via PXE-Boot, as far as I see. Maybe because this is some standard that most computers support (I am afraid that this will change as soon as the first routers that dont support IPv4 anymore will spread). So it would be desirable to have some software-package, that allows you to manually turn on an administrative dhcp-server on one of your ethernet-devices, with a linux-live-system that can install itself, such that you only have to plug in the computer you want to boot and then get a system to work with, and maybe to install directly.

There is a package that does something similar, namely ltsp-server-standalone, which create an LTSP-Architecture - but thats still not what I want. I want a bunch of servers and their configuration which I only have to turn on when I want it, and then "just work", passing a live-system (like on the ubuntu livecd) to all computers doing netboot, and routing internet connections.

It should be comparably easy to create such a thing (maybe it would take long to make it stable). In the end, there are a lot of howtos to achieve a Netboot-Livesystem. The parts are there, they only have to be put together.

There is a lot of software I really dont like. And I often write about it. So I thought, maybe I should start writing about software I like. And well, there is actually plenty of it.

Well, one piece of software I really do like is Xvfb. It is an X-Server, drawing on a virtual framebuffer. X-Servers like Xvnc and Xrdp are basing on it, the pgo-compilation of Firefox I was using used it to run Firefox in a virutal X-Server, and it should be much more versatile, but maybe its too unknown.

To start it, like most X-Servers, just do

$ Xvfb -ac :1 &

Then lets start a Window-Manager and an Xterm

$ fvwm -display :1 &
$ xterm -display :1 &

Now we have a twm running with an xterm. W00t. But we cannot see anything yet. So lets kill the server again and restart it with a few more arguments:

$ Xvfb -ac :1 -shmem -fbdir /tmp/fbdir &
$ fvwm -display :1 &
$ xterm -display :1 &


Now, lets get a screenshot:

$ cp /tmp/fbdir/Xvfb_screen0 ./screenshot.xwd
$ convert screenshot.xwd screenshot.png
$ rm screenshot.xwd

we get a file "screenshot.png" looking like



which looks like what we wanted to have. A fvwm with an xterm. Unfortunately, we cannot type anything inside it. And we cannot move the mouse. We have to use a trick here, and use the XTEST-Extension for Xvfb.

That is, kill Xvfb again, and run it with the XTEST-Extension:

$ Xvfb -ac :1 -shmem -fbdir /tmp/fbdir +extension XTEST &
$ fvwm -display :1 &
$ xterm -display :1 &

First, lets move the mouse on top of our xterm, since that is how to get the focus under fvwm in its default configuration, and then we can type in:

$ DISPLAY=:1 xdotool mousemove 100 100
$ DISPLAY=:1 xdotool type "apt-get moo"
$ DISPLAY=:1 xdotool key Return

And now lets get a screenshot like before

$ cp /tmp/fbdir/Xvfb_screen0 ./screenshot2.xwd
$ convert screenshot2.xwd screenshot2.png
$ rm screenshot2.xwd

Now our screenshot is



Well, its a bit more complicated than one would maybe want it. But compared to some other X11-Stuff, it is easy. And its very nice to have such a thing.

For some reason I do not really quite understand, I noticed that running VirtualBox-VMs on Blockdevices rather than Container Files can make them a lot faster. On the other hand, I dont like playing arount with my partition table, as partition tables are not meant to do this and therefore not very flexible.

However LVM is flexible enough, and seems pretty fast to me, too. So I created a logical volume on which I installed my Virtual Machine, and it seems like it is really a lot faster thanusing a file container.

The first thing to do is creating a logical volume in the volume group (which is called vg0 for me), which must usually be done as root

# lvcreate -n vm1 -L 60G vg0

Usually, this device is given the wrong permissions, and unfortunately, LVM seems not to have an additional mechanism for setting the device owner, so I used an additional udev-rule. Using

# udevadm monitor --property

one can see all udev-Events with their properties. By

# lvchange -a n /dev/vg0/vm1
# lvchange -a y /dev/vg0/vm1


we can create and remove this volume from the /dev-tree, and udevadm will output a lot of information belonging to that device. There are a lot of unique values, I chose to use DM_LV_NAME which should be "vm1" in that case, though it might not be unique (if one has more than one volume group with equally-named logical volumes).

Lets say my user-account is called "user". Then I have to create a file /etc/udev/rules.d/99-vm1 with the content

DM_LV_NAME=="vm1", OWNER:="user", MODE:="600"

then removing the device, restarting udevd and loading it again should be sufficient for the right permissions, if not, restarting the computer should be.

# lvchange -a n /dev/vg0/vm1 && killall udevd && udevd --daemon && lvchange -a y /dev/vg0/vm1

Now I should be able to access /dev/vg0/vm1 as user. By

$ VBoxManage internalcommands createrawvmdk -filename vm1.vmdk -rawdisk /dev/vg0/vm1

a vmdk-file that points to that device can be created, which can then be included into a virtual machine as usual.

At least this worked for me.

The configured Virtual Machines appear to be a lot faster that way, however, one drawback is that this setup seems to slow down the host system. But I will probably continue using this setup.

If you know me, you will know that animal rights are a very important topic to me. I am a vegetarian, and already tried to become a vegan, which I couldnt manage so far, unfortunately. Till some years ago I had a pet - a dog which I loved and I was very sad when he died. This dog was one of the most important sources of my belief in the value of animal life.

I always loved animals somehow. I grew up in a village with a lot of farms, e.g. cowsheds and piggeries, which were there before the time when reasonable animal protection laws were introduced in germany, thus the cows were chained and the pigs were pent-up. But since I grew up there and already saw some pigs being slaughtered, this was a normal thing to me. I loved cows and pigs, but I never thought about them suffering in the position they were. Well, until the farm of our neighbours burned down, with about a dozen cows and bulls (iirc), and some pigs. This was the first time when I considered becoming vegetarian - when you see cows dying in a fire, you really think about whether you can still eat them. But well, I was about 9 years old, and at some point, I started to eat meat again, I stopped it again about 6 years later if I remember correctly.

Meanwhile, a lot has changed, and animal protection, as well as animal rights, have become a topic of wide interest, at least in germany. And at least in germany, almost no catering can afford not to offer at least some vegetarian food. There are a lot of motivations for vegetarianism, actually, just not wanting an animal to die for oneself is meanwhile considered naive, compared to the many other reasons like health and environment. Anyway, environment protection always comes along with animal protection, but has always been a medium, not a major goal to me.

At school, some teachers almost went crazy because I wouldnt let them tell me that there is a moralic difference between humans and animals. But I simply couldnt see one. I didnt consider the main arguments that were given to me being thought through.

For example, the main argument for this is probably (still) the superior intelligence and consciousness of humans. A funny fact about this is that our school was next to a home for the handicapped, and therefore we were often told that we have to respect mentally disabled people, as they are also humans and also have a right to live. I am not only talking about people with down-syndrome or similar diseases, which may be less intelligent than average people, but can take part at normal life when aided properly. I am talking about really disabled people, people which live their entire (mostly short) lives bound to a wheelchair, sometimes being blind, sometimes being deaf, sometimes being unable to move, mostly being heavily distorted. There are people which have an intelligence inferior to some animals - and I want them to have human rights, too. But if I evaluate living things by their intelligence, it wouldnt be consistent anymore. Unfortunately, most people simply stopped the discussion at this point, comparing my argumentation to social darwinism, but in fact it is not me who is evaluating life forms by terms of evolution - they do, by extolling themselves over animals.
Furthermore, while the human intelligence may mostly be superior to other animals, there are other facilities in which other kinds are superior. Eagles have superior sight, monkeys are superior at climbing, cats are superior at jumping, birds and bats can fly. These facilities have evolved by evolution, and it turns out that intelligence is somehow superior to them, because in the end, it gives you the power of controlling other kinds, and copy their facilities by technology. So yes, intelligence a great thing, but I dont see the relevance for moral decisions.

Another argument which is often given is that animals have much higher reproduction rates than humans. Since they have, it is no problem to torture and kill a few of them, since there are still enough of them left. Thus, not considering an animal as an individual, but as part of a large group of animals, which are only thare to reproduce and keep up their kind.
Some animals like mice may have a very high reproduction rate, but others like elephants and rhinos, do not. Hence, this is not true for all kinds of animals. And one has to think about the high reproduction rates of humans in ancient times - there are more than 6 billion people out there, vitally no place on earth is not inhabited by humans. That is a lot, more than some other species. And I doubt that the reproduction rate of humans would be so low if we didnt have contraceptives. If we rate the value of an individual animal by its meaning for the population of its species, why should we do something else with humans, therefore devaluating infertile, gay or even unalluring people. We would have to give humans an additional value to justify this argument to give humans an additional value - this is circular reasoning.

Yet another argument I often hear is that if other animals were superior to us, they would do the same to us. From the arguments given so far, this one is the one that is still the most plausible to me, as it doesnt try to extoll humans to animals, but see them as a species like any other, which just has the luck of being mightier than the others. So from all of the given arguments, this is the only one that I appreciate for trying to really analyze the situation.
But well, this is an assumption. There is no proof for this. There are animals which are herbivores and would therefore certainly not eat other kinds of animals, but on the other hand, its plausible that they would still have some use of other animals, like producing manure for growing plants, or doing heavy work. On the other hand, there are a lot of humans who do not want to suppress animals. Hence, it is plausible that members of other species would also, at some point, consider this morally wrong. Maybe their process of making political decisions differs from ours, and hence it could happen that this awareness of the suffering of other kinds would spread faster than under humans. The main problem here is, that we cannot say much about intelligent species, since we basically know only one, and we cant be sure to be impartial when evaluating it, since we belong to it.
And in my opinion, if we can learn one related thing from ourselves, then it is that power without responsibility almost always leads to problems. We have the power to do almost everything we want, so we should also take responsibility.

There may be still a lot of space left for debates, but lets move on. Lets say, we accept animal rights so far. Lets think about the reason why we want this kind of "rights" anyway.

I think, most people will agree that the concept of basic "rights" is there to minimize, or at least to border suffering. We all know how certain kinds of suffering feel, and we assume that other humans feel the same, and thus, there are human rights. Higher animals behave anthropomorphic when feeling pain, so they are also given some rights, because we assume that these animals feel similar to us. Fish, while having an anatomically different way of feeling pain, also behaves in a way that we see if it feels pain. It behaves like we would intuitively expect by something that feels pain.
Lower animals like insects or spiders do not behave this way. But still, if you pull out their wings or legs, they intuitively seem to suffer from it, they do not behave like they dont care. Earthworms and snails also seem to behave as we would expect from something that feels pain. So somehow, we may not have a problem with poisoning snails that are destroying our garden, but most people have a problem with stepping on a snail or worm and seeing it being convulsed with pain.
Some people even give plants basic rights, like frutarians that only eat what can be harvested without killing the plant. As this is a rather modern movement, there is not much thinking done yet. There are some plants that want to be eaten, or at least do take an advantage of it, like tomatoes. There are some plants that regularly die every year, like corn, which is usually harvested when it is already parched. There are also plants which can reproduce themselves by dropping branches which then take roots themselves, like the chinese willow.
On the other hand, there are plants that react on being hurt by sending out poison and messengers to other plants, like acaciae. Intuitively, this is some sort of pain, and we maybe should try to take care of it.

Now, after giving a slight introduction to that topic, lets move on to the reason for this post anyway, and the topic I want to get at.

I can remember a lot of interesting discussions in my biology course at school. One was about the chances and risks of genetic engineering. Animals could suffer from genetic manipulation, which is a risk. On the other hand, I made the suggestion of maybe someday being able to create animals without a brain and therefore could not feel pain. My teacher answered that this would also be a torture to that animal. At this point I didnt quite understand what she meant. And recently, two people asked me what I think about animals without a CNS.
While in the cases mentioned before it is rather clear what "suffering" and "pain" means, in these cases it is not. We can even go further and talk about machines that behave like feeling pain, and there are films about this topic. With the Holo Doctor in Star Trek: Voyager this kind of problem occurs many times, same for Data. The film A.I. is almost entirely about that topic. Though this is currently just science fiction, there may come a day when we will be able to create an artificial life form in that way, and then we will run into these problems.

In the end, this boils down to two questions: What is "pain" and "suffering", and what is "live" at all. This leads to an even more general problem, and there is an interesting essay by Paul Graham about it. While giving a lot of other interesting statements, one statement is that "the concepts we use in everyday life are fuzzy, and break down if pushed too hard". And thats somehow the case here. We dont have an universal definition of "pain", there is no formal system that can really decide that for us. Maybe someday we will have such a system, but for now, we just have to make the best out of what we have by now, and you will always find edge cases in which this definition is not clear or even makes no sense. The foundations of mathematics were not built up in one day, and there are many theories that were less formal, before somebody finally invented a strictly formal system around them. We need to take this problem serious and think about it, so we can maybe find a consistent formal system one day that also satisifes our intuition. But until we have it, we must not throw away theories just because of edge cases in which they may not be consistent. However, you may have noticed that I also used some edge cases in my argumentations - that is because I claim that my thoughts handle these edge cases better, but it doesnt mean that there may not be a superior theory that can handle with the edge cases of my thoughts. Every theory I know has some flaws, and it is a common and easy way of trolling people to show them these flaws, because most people are simply never thinking that far, but its not a proper way of reasoning, when the own theory is inferior.

What remains is the question what to do then. How can we behave morally correct.

I think the first thing we can learn of all this is that we simply have to accept that the world is a cruel place. We cannot live without giving death, pain and suffering to other living things. But we also cannot die, because inside us there is a strong will to survive, which can not be broken by the "everyday-suffering", and which makes us taking high efforts for saving it.
In the end, I think, one just has to accept that as a given fact, and make the best out of it. We must accept that we want to live, even though this means that other creatures must be killed, but we should at least be aware of it. We need to think about how much suffering we have to produce, and minimize it as far as possible. And we need to always respect the things that may suffer from us. The real problem is not humans harvesting corn, but humans who dont take it serious that this corn may suffer in some way, and laugh about people thinnking about this.

Not long ago, I was told a proposition which is probably the best thing to do: Try to behave better than the average person.
It is impossible to be perfect - especially because we cannot even tell what "perfect" means at all. It can be very exhausting to try to be perfect, especially when you cannot conform to your own requirements, and at that point, it may even be counterproductive, because other people might see you fail and that might keep them from trying to behave better themselves. If you do as much as you can, then maybe you will inspire other people to do the same. If one person behaves perfectly (whatever that means), but nobody else does, it doesnt help anybody. But if many people try to be better that the average person, the world could get better.