Some critique on Computer RPGs

October 8th, 2009

Purely from a technical/historical point of view, some critique on a few computer roleplaying games (CRPGs) I recently played.

I realize that most of those aren’t exactly about “role”-playing, but more about tactical small unit combat, with plot and puzzles thrown in, or more like action-games with stats (and plot and puzzles). Whatever, I enjoy them nevertheless, even tough they’re in fact a big waste of time.

Drakensang

What I like

  • Armour. A system where you can selectively wear armour on different body parts. And your avatars reflect that. Certain kinds can be worn over each other.
  • Towns. They really look like 17th century towns (yes, I suppose they had meant them to be medieval, but they are not). Beautiful.

What I don’t like

  • Partitioned world. Go to another part of the town, you go to another level. Enter a building, you enter another level.
  • Artificial limits. You can’t just climb a mountain, cross a stream or jump onto a rooftop
  • Props. Things that just stand there and are of no use. You can’t grab the spoon on the table.

Oblivion

What I like

  • No artificial limits. There are no boundaries in the world where you cannot go logically. You can jump on roofs or climb mountains
  • Armour. A system where you can selectively wear armour on different body parts. And your avatars reflect that. And the standard steel plate-armour looks right
  • Horizon and View. You can climb a mountain and look down on towns kilometres away.
  • No Props. You can grab just about everything, from spoons on the table to vases. They’re mostly not of great value, and you’ll soon stop doing it. But you can.
  • Climbing skill. The better you get, the steeper the mountains you can climb.
  • Horses. You can ride them
  • Map. You can explore everything and it appears on the small-scale map.

What I don’t like

  • Partitioned world. Go to another part of the town, you go to another level. Enter a building, you enter another level.
  • Armour. Your body parts are just replaced by the armour-part, and not overlaid with it. Furthermore, all the special armour is made from extremly unlikely materials and looks completely unuseable.
  • Lockpicking. It’s a modern lock, and picking locks with barbed keys is far easier than that.
  • Rain. It rains below cover.
  • Some towns. They look like everything was razed to the ground and built up from scratch
  • Mountains. They lack horizontal and overhanging sections. And are not rocky enough.
  • Horses. You can’t fight from horseback, and you can’t equip different saddles and horse armour
  • Map. the small scale-map of some level can’t be accessed when in another level.

Gothic 3

What I like

  • The seamless world. The world is just one big piece of world, with no artificial borders when entering some building or dungeon.
  • No artificial limits. There are no boundaries in the world where you cannot go logically. You can jump on roofs or climb mountains
  • Lockpicking. It’s not perfect, especially with that 1-3 level-system, but at least its fast and not some stupid game around modern locks
  • Rain. It doesn’t rain indoors.
  • Solve quests at any time. It doesn’t matter if someone told you to kill some orc-raiders, if you killed them, you solved the quest. You might get a bounty if you ever met the NPC who would have handed out the quest.

What I don’t like

  • Armour. They only come in one piece for the whole body. Plus Helmets, which are much too rare and look crappy.
  • Weapons. Would anyone care to explain why some Conan-esque monstrosity is more efficient than a sleek long sword? And why all those smaller weapons should be more deadly than a halberd (which is just about the most effective weapon in single combat, even more than a two-handed sword)
  • Doors. Well, there are nearly none. Indoors staircases are mostly missing too.
  • Horizon and View. You can’t see mountains which are some kilometres off, instead they tend to pop up or are shrouded in mist.
  • Props. Things that just stand there and are of no use. You can’t grab the spoon on the table.
  • Map. There is only a big one. A small-scale map on which you could see everything where you’ve already been would be nice.

Dragon Age: Origins

What I like

  • The story and the characters. Both are very strong. It’s even possible to enter romantic relations. With both sexes.
  • Magic and Faith: The monotheistic faith in the “Maker” with its “chant” gives it a much more medieval flair than those pantheons in most other RPGs. Also, the relationship of the church (Chantry) with its templars and the mages is an inherently believable one.
  • Lockpicking. It’s not some tedious and unrealistic minigame.
  • Armour: The stamina-deduction is exactly what armour does. It tires you faster.

What I don’t like

  • Partitioned world. Heavy partitioned. Every house is a new level. And it’s slow to load too.
  • Limits. Tons of them. There are lots of maps where it’s totally unclear why you can’t go somewhere, there’s nothing that would block you in-game, no wall, no crevasse, but only an artificial limit
  • No weather, no time. Every map has it’s own specific daytime, and that’s it.
  • Props. A lot of things are just there for show, and not useable. Including doors.
  • Way too little things, and enemies don’t even drop weapons they wielded or armour they’re obviously wearing.
  • Armour. Too big pieces to choose from, and some is very weird looking. And wearing armour does NOT need some huge strength, otherwise I wouldn’t be able to wear my gothic plate armour.
  • Levels and level-caps. It’s entirely possible to have some skill-based system not reliant on levels, and if you’re using levels, don’t cap them arbitrarily.
  • Sex vs Violence. The game is very bloody (I don’t care), but the sex-scenes are, umm, US-american. With clothes on; and I can’t stand sex with clothes on. Fucking puritan hypocrites.

Closing Comments

Armour. Everyone gets this wrong. It’s not like all armour will protect you generally from part of the damage, but some will protect you totally. You just can’t pierce a good late medieval breastplate with an arrow or a sword. no way. This “subtract armour-value from damage-value” comes of course from the not too realistic pen&paper-RPGs. The second thing most games get wrong, is how armour works, how its fastened to the body, and what can be worn above what. Plus, instead of offering different qualities of armour (plus magically enhanced) made from a very fixed assortment of raw materials, some games tend to offer armour made from absurd materials. In fact, apart from modern composite materials there is no better material to make armour than steel (and I would add the legendary “Mithril” too, but for chainmail only. Cannot be worked into big plates or something – Titan has the same problems btw.). Steel comes in many qualities and can be hardened (or not).

Lockpicking I pride myself to be able to pick most old locks requiring a barbed key within seconds. And the system should reflect that possibility. Also, lockpicks usually don’t break. Most crucial for lockpicking will be the tools. So why not offer different qualities of picks in the game? Thus you would gladly accept quests in order to get better picks. Just as you would to get better arms or armour. And while you probably could open any lock with a tiny bit of talent and good tools, a lot of Skill would be required to make your own very good lockpicks.

Arms. Arms are made against a specifically armed and equipped opponent. A flail for instance works wonders against people with shields (because you can reach your opponent behind the shield), but is otherwise quite ineffective. And the damage they do and their armour-piercing capabilities differ greatly. A warhammer (think icepick, not sledgehammer – those sledgehammer-things are not weapons that were ever used in war) can pierce chainmail easily, and some not-so-good plate-armour as well, but the damage won’t be as devastating as if hit with a sword somewhere un-armoured.

Transport is mostly lacking. Sometimes horses are available, but carriages and boats are not. And in fact, carriages and boats could work either very much alike horses, or be driven by dialogue to the boatsman or coachman, thus providing a platform to look at the scenery and do drive-by-shooting ;)

Continuity of equipment Most fantasy-worlds feature a mish-mash of equipment, weapons and armour not used in any historical period at the same time. This leads to some very illogical set-ups of some arms used against armour against which they are no use at all (flails or bows against late-medieval plate armour) or where they would be so effective (Rapier against Chainmail) that everyone would use them, thus reducing that mish-mash in every culture in that world in a few years time to that what is most effective (actually, with black-powder weapons in most fantasy-worlds not existent, to plate armour, heavy crossbows and halberds.). So, more care should be taken to not mix too much; 100-200 years difference is already a lot, even in the middle ages. Rather vary quality of available swords than add the huge two-handed swords (the small ones appear in the late middle ages, sometimes known as one-and-a-half-handed swords or “bastard-swords”; but they’re actually two-handed swords, not to be used with a shield) from the renaissance.

Money Everything is much too expensive, and the money consists mostly of gold. Why not adapt a more medieval system like 12 silver pennies (one penny equals a beer or a loaf of bread on the market; 4-6 pennies a chicken) equal one shilling, 20 silver shillings would make one pound silver, but since nobody wants to carry around a pound silver, this is substituted by the guilder, a golden coin of the same value. A sword should cost 1-2 pound, a horse 1-4 pound. A cow is cheaper, costs only about 5 shilling. Most of all, if you really get a gold coin, you’d be quite wealthy, and you wouldn’t have to carry around ludicrous amounts of gold..

Black Powder Just to have this noted, the first black-powder weapons, cannons and handguns, appear before ANY plate armour in the late middle ages. Thus plate armour is probably a reaction against it. There is also no reason to not have early Firearms in your setting, as they are slow (45-60 seconds to reload), inaccurate (20 metres to be able hit a head) and don’t work when it rains. The shooter also carries a smoldering lint along, which game will smell, no hunting with these. I’d incorporate them if I would incorporate plate armour, along with 4-5 metre long pikes, and let the players find out themselves that both these are only useful in disciplined units in mass combat.

World A seamless world with no artificial limits (except the boundaries of the world itself — which can be worked around in making the world “round”, meaning if you leave the world-map to the east, you’ll enter it again from the west) is incredibly cool to play in. However, house interiors should still be elaborate, and above all, there still should be doors, which one should be able to close as well as open. Maybe even able to lock them again (could also be used by guards to get alarmed if a door isn’t locked again).

Kleine Schwert-Taxonomie

September 29th, 2009

Wenn es um Schwerter geht sind da einige Mythen im Umlauf was denn was ist, und vor allem werden Begriffe aus verschiedenen Epochen bunt gemischt. Ich will da einige Begriffe etwas aufklären. Dieser Text erhebt aber keinerlei Anspruch auf eine generelle Typologie, dafür sei auf Oakeshott verwiesen. Ebenso erwähne ich nicht sämtliche existierenden Blankwaffen und Variationen davon die jemals aufgetaucht sind, sondern nur einige Ausgewählte, im wesentlichen vom 14-19Jh.

Historischer Abriss

Mittelalter

Hier ist die Welt einfach. Eigentlich gibt es zwei generelle Begriffe: Schwert und Messer. Das Schwert ist beidseitig geschliffen, das Messer einseitig (auch wenn die Spitze ebenfalls beidseitg geschliffen sein kann). Anhand Form, Länge und Zweck kann dann noch weiter unterschieden werden, teilweise gibt es einen eigenen Begriff dafür, teilweise wird einfach ein Wort davorgestellt:

So gibt es unter den Messern z.b. die “Bauernwehr”, das “Lange Messer” und das “Falchion” (auch “Malchus” genannt).

Bei den Schwertern haben wir im wesentlichen das “Schwert” und das “Lange Schwert”. Das “Lange Schwert” klassiert ein relativ kleines (Gesamtlänge 100-130cm), am Gurt getragenenes, Schwert zur zweihändigen Benutzung. Es taucht im 14. Jh. auf und ist im wesentlichen eine zivile Waffe, die ohne Schild eingesetzt wird.

Andere Namen für das “Lange Schwert” sind “Anderthalbhänder” oder “Bastardschwert”, beide Namen kommen aus späterer Zeit und implizieren fälschlicherweise dass das Schwert einhändig geführt werden kann (Tatsächlich gibt es Techniken für zweihändig geführte Schwerter wo die eine Hand den Griff verlässt; aber das heisst nicht dass die generelle Benutzung einhändig sein kann, oder dass ein Schild dazu getragen werden kann). Besonders für Stich ausgebildete Schwerter werden manchmal “Estoc” genannt.

Renaissance

Im 16. Jahrhundert haben wir es mit Verlängerungen von Schwert und Messer zu tun. Zum “Langen Schwert” gibt es nun den grossen Bruder, das “Zweihandschwert” oder “Bidenhänder”, welches nicht in einer Scheide getragen wird (da zu lang; typische Länge 130-160cm, für Paradewaffen bis 210cm) und eine Kriegs- oder Paradewaffe ist. Zum “Langen Messer” gibt es nun das “Grosse Messer”, dasselbe wie das “Zweihändschwert” aber nur einseitig geschliffen.

Auf der anderen Seite entsteht aus dem “Schwert” oder dem “Estoc” als ziviler Waffe die neue zivile Waffe “Rapier” (zu der Zeit selten so genannt, meistens wird es immer noch “Schwert” genannt), die vor allem auf Stich ausgelegt ist. Dadurch dass es vor allem auf Stich gegen leichtgerüstete Gegner ausgelegt ist, ist es möglich Gewicht zu sparen, was wiederum dazu führt dass es länger sein kann als frühere Einhand-Schwerter (100-140cm; typisch sind 120cm).

Neuzeit

Im 17Jh setzt sich das “Messer” wieder durch, diesmal unter ganz anderem Namen, nämlich als “Säbel”, der sich vor allem bei Kavallerie als überlegen gezeigt hat. Der Name kommt vermutlich vom Ungarischen “Szablya”; die Ungaren hatten diese Form von “Messern” schon im 16Jh. adoptiert. Wo sich der Name “Messer” noch halten kann ist beim “Entermesser”, welches ebenfalls in der zweiten hälfte des 17Jh auftaucht.

Beim Schwert haben wir die Entwicklung in zwei generelle Varianten, im englischen “Small Sword” und “Broad Sword”. Die deutschen Entsprechungen dafür sind am ehesten “Degen” und “Pallasch”. Der “Degen” verfügt dabei über eine relativ schmale Hieb- und Stichklinge im Bereich von 2-3cm; während die des “Pallaschs” im Bereich von 3-5cm ist. Typischerweise hat der Pallasch auch einen ausgebildeten Griffkorb.

Regionale Entwicklungen wären das schottische “Broad Sword” oder das italienische “Schiavona”, beides “Pallasche”. Ebenfalls eine lokale Entwicklung im 17Jh. haben wir bei den Zweihandschwertern, nämlich die typische “Claymore”-Form des schottischen Zweihandschwertes.

Miskonstrukte

Wir haben einige Probleme mit falschen Assoziationen und mit Konstrukten die in Literatur und Spielen entstanden sind, da herumgeschleppt werden und es teilweise bis in populärwissenschaftliche Werke geschafft haben.

Das deutsche Wort “Degen” wird durch das moderne Fechten oft mit Klingen assoziiert die im 18Jh zur Übungswaffe “Florett” gehörten (vergleichbar mit den “Fechtfedern” des Mittelalters). Der moderne Fechtdegen hat aber nichts mit der zivil- und Kriegswaffe “Degen” des 17-19Jh. zu tun; welche tatsächlich viel eher mit dem Schwert verwandt ist.

Das “Lange Schwert” als “Anderthalbhänder” mit der Implikation es könne auch einhändig benutzt werden. Oder der Begriff “Bastardschwert”, auch eine neuzeitliche Erfindung. Ebenso die Zusammenziehung “Langschwert” die dann oft als eigenständige Einhandwaffe auftaucht. Die Zusammenziehung wurde im Mittelalter im deutschen Sprachraum nicht verwendet, und einen speziellen Begriff für ein einhändig geführtes Schwert gab es ebenfalls nicht.

Das “Broad Sword” respektive die deutsche Übersetzung davon “Breitschwert”, hat für ziemliche Verwirrung gesorgt, auch im Zusammenhang mit dem “Langschwert”. Wenn man schon ein (einhändiges) “Langschwert” hat, dann ist es doch logisch dass man noch andere einhändige Schwerter hat wie das “Kurzschwert” oder eben das “Breitschwert”? Tatsächlich macht der Begriff nur im englischen Sinn, um eben “Small Sword” von “Broad Sword” zu unterscheiden und gehört auch nur in diesen Kontext. Natürlich kann man statt “Pallasch” auch den Begriff “Breitschwert” verwenden, aber man sollte das dann auch auf die entsprechenden Waffen des 17-19Jh. beziehen und nicht auf irgendwelche breitklingigen mittelalterlichen (oder pseudomittelalterlichen) Schwerter.

Das “Kurzschwert”, wiederum ein Konstrukt das sich aus dem “Langschwert” ergibt. Einen speziellen Begriff für ein einhändig geführtes Schwert gab es nicht, auch nicht für besonders kurze Exemplare. Typischerweise sind diese im Mittelalter als “Seitenwehr” getragenen kurzen Waffen eher als Messer ausgeführt. Oder aber es handelt sich um besonders lange Dolche (z.b. der sogenannte “Schweizerdegen”, wobei wir hier auch gleich den etymologischen Ursprung des Wortes “Degen” drin haben, nämlich frz “Dague”, also “Dolch”). Für andere kurze Schwerter haben wir andere Bezeichnungen z.b. der römische “Gladius” oder der “Katzbalger” des 16Jh.

Ein Wort zu Längen und Gewichten

Länge und Gewicht einer Blankwaffe ergeben sich aus 3 Faktoren: Was kann der Benutzer ziehen und tragen, was kann der Benutzer handhaben und schlussendlich, was ist die Idee der Handhabung (vorallem ob die Waffe für Hieb und Stich oder nur für Stich gedacht ist)?

Bei den “Langen Schwertern” und dem “Rapier” ergibt sich eigentlich die Maximallänge ausschliesslich über die Waffenlänge die eine bestimmte Person am Gürtel tragen und auch noch ziehen kann. Je nach Körpergrösse und Armlänge variiert das von Person zu Person, liegt aber meist irgendwo zwischen 100 und 140cm.

Aus der Länge resultiert dann auch das Gewicht, welches man natürlich versucht möglichst niedrig zu halten. Ein “Langes Schwert” das auch für Hieb verwendet wird benötigt naturgemäss auch weiter vorne mehr Masse als ein “Rapier” mit dem fast nur gestochen wird. Entsprechend finden wir beim “Langen Schwert” ein Gewicht um 1.3-1.8kg, beim “Rapier” ein Gewicht um 1.0-1.5kg.

Wenn man eine Einhandwaffe auch für Hieb benutzen will muss diese entsprechend kürzer sein als eine reine Stichwaffe. Hier scheint sich fast überall eine länge um 100cm und ein Gewicht von 1.0kg als ideal herauszukristallieren; mit verschiedenen Variationen für mehr Stich- oder Hieblastigkeit, und mit verschiedenen Variationen für die persönliche Pyhsis des Benutzers. So ist der Pallasch typischerweise etwas kürzer und schwerer als der Degen; oder Säbel für Kavallerie etwas schwerer und länger.

Bei der Länge von eigentlichen “Zweihandschwertern” scheint eher das Gewicht (und die entsprechende Rigidität der Klinge und das Moment) der limitierende Faktor zu sein. Typischerweise bewegt sich die Länge von 140-160cm, bei einem Gewicht von 1.8-2.5kg. Für reine Paradewaffen gibt es fast keine Grenzen nach oben.

Auch beim Gewicht haben wir es mit einigen absurden Vorstellungen zu tun. Einerseits weil Schaukampfwaffen aufgrund der benötigten ca 2mm dicken Schneiden 1.5x bis 2x schwerer sind als eigentliche Waffen. Und andererseits weil Literatur, Volksmund, Filme und Spiele diese als extrem schwer dargestellt haben (Beispiele: Das Schwert von Conan aus den entsprechenden Filmen wäre ca. 3.5kg schwer. Oder der Friesische Volksheld Pier Gerlofs Donia, dem ein 213cm Zweihandschwert mit 6.6kg Gewicht zugeschrieben wird).

Unix Console & X11 Tips & Configs

September 13th, 2009

Initially, I started with the premise to change my Console/Terminals to UTF-8. However, as it turned out, they behave rather weird, some things don’t work right, characters are sometimes not visible, they tend to make a mess in displaying special chars (as used in mc), some control-commands don’t work anymore and so on. My light-weight-terminal aterm does not support UTF8 (but JIS and whatnot, what the heck?) So I postponed this to some later date, when there’s at least a fixed mlterm available.

However, there are some interesting things to mention, in regard to the console:

mc clogs up the history
If Midnight Commander writes funny things like cd "`printf "%b" '\0057'`" into the shell-history, then HISTIGNORE is not set, or does not contain a space.

export HISTIGNORE="&:[ ]*:exit"

Umlauts appear as ? when doing an ls
This is due to the really relevant variable regarding the charset: LC_CTYPE. Set it to something other than “C”:

export LC_CTYPE=en_GB.ISO-8859-1

English system in Switzerland
If you want the system in english (and not necessarily the data), but are otherwise not english speaking, and sure as hell do not want screwed-up data formats or medieval measurement units, you want to set up your locales like this:

export CHARSET=ISO-8859-1
export LANG=en_GB.ISO-8859-1
export LC_CTYPE=en_GB.ISO-8859-1
export LC_MESSAGE=en_GB.ISO-8859-1
export LC_MESSAGES=en_GB.ISO-8859-1
export LC_NUMERIC=de_CH.ISO-8859-1
export LC_TIME=de_CH.ISO-8859-1
export LC_COLLATE=de_CH.ISO-8859-1
export LC_MONETARY=de_CH.ISO-8859-1
export LC_NAME=de_CH.ISO-8859-1
export LC_ADDRESS=de_CH.ISO-8859-1
export LC_TELEPHONE=de_CH.ISO-8859-1
export LC_MEASUREMENT=de_CH.ISO-8859-1
export LC_IDENTIFICATION=de_CH.ISO-8859-1
export LANGUAGE=en_GB

Setting LC_PAPER can lead to problems with things you do not send to a printer (pdf-generation for instance), and setting LC_ALL makes it impossible to use different locales for different uses.

Of course, you can replace ISO-8859-15 with UTF-8 if you like.

make mlterm look decent
These are the contents of .mlterm/main:

only_use_unicode_font=yes
scrollbar_mode = right
scrollbar_view_name = next
fontsize = 16
ENCODING = UTF-8
fg_color = white
bg_color = black
use_transbg = true
brightness = 60
fade_ratio = 75
geometry = 80x25
use_anti_alias = true
logsize = 4096
word_separators = " ,;=:"

Well, yes, it now looks quite NeXTy ;).

A better cursor
Not really console-related, but anyway: Get an Icon-theme like Shere Khan X (why, it looks like the one from NeXT of course), and put the unpacked directory into ~/.icons/ Now change your .Xresources to read:

Xcursor.theme: Shere_Khan_X

Screenlock with DPMS
For some machines, xlock is seemingly unable to do DPMS. Don’t fret:

xset dpms force off && xlock -mode blank -resetsaver

See Also
An earlier post in Blog: Useful Shell Oneliners

What’s wrong with Windows

September 12th, 2009

Microsoft Windows is a basically an 80ies operating system, aimed at non-networked single-user workstations with everything else just thrown in. And it shows. Add a lot of incredibly stupid “backwards compatibility” hacks and you get a nightmare.

  • Kernel. Might be quite good, but it has one big deficiency: It’s not Unix. I doubt they will or can change that, tough it would help a lot in porting software.
  • Filesystem: Case-insensitive but case-preserving is an utter fuckup and a security-nightmare too. You already shot yourself into the foot with IIS and this
  • Fragmenting Filesystem: No Unix-Filesystem does fragment, so why does NTFS? (And don’t even get me started with (V)FAT; that one should be shot).
  • Charset: Get rid of that fucking cp125x-charsets. Now! Everywhere! Make it impossible to choose it anywhere. Use UTF-8. And bid those “smart-quotes” and other non-standard crap goodbye.
  • CR/LF. Do that CR away, this is not a typewriter anymore, I hope..
  • Shell: Backslashes and Drive-Letters are a bloody nuisance to every (C-)programmer. Who in his right mind would choose the escape-character as a directory delimiter?
  • Terminal: No, a Terminal should not be limited to 25×80. You need to be able to change the resolution, and you also need to be able to switch the charset. And copy & paste must work too.
  • Control Characters: Misusing BREAK (Ctrl-C) as “copy” is a bad idea. Terminal control characters hsould never be used for anything else but their original use. You’ve got a Hyper- (Windows-) Key, use it.
  • Mouse-handling: I personally can’t stand click-to focus. Not only I use sloppy-focuse, but I also want autoraise. Windows can’t do that, and it even collides with its dozens of modal dialogs. Oh, and on Unix you can do copy & paste with the mouse alone, no keyboard required…
  • Modal Dialogs: Tons of them, most of them completely uselessly so.
  • Registry. Please explain the benefit of this monster over config-files with a clearly specified structure.
  • Incoherent separation of user-config and system-config (resulting from the registry). I should be able to take my personal config from one account to the other by act of simple copying.
  • Missing desktop-features: multiple desktops of course.
  • Look and Feel: Where is the problem of letting the user specify how his widgets should look? Especially if I don’t like this Fisher-Price-look. As far as I can tell, these are easy customisable. And yes, ALL of them should change their look simultaneously. No Funny business with a different look for Media Player, neither
  • Localization. This is very bad. I should be able to change the language of the GUI on a click. But at least per user. And I should not have to download a different version of some patch or some service pack depending on the language I’m using.
  • Over-Localization. The different versions for different languages suffer from another problem: Everything is localized that should not be localized, including macro-languages (!), “AW” instead or “Re” in e-mails (opposing RFC 2822, no less) and even system users (ever seen a user “wurzel” belonging to the group “rad” instead of root:wheel on unix? Well you get indeed “Administrateurs” on windows).
  • Decent Editor. Per default. One where you can choose that the input uses CR, CR/LF or LF and saves only with LF. One where you can select a charset for input (and save as utf8 only), one which can open files up to at least 2GB.
  • Directory-Structure. Only a fucking idiot would name the programs-folder “Program Files” — with a space in it, and what’s more, different in every language! Why not just “programs”? And more: Why is there such a mess in the windows-folder? and the windows/system folder? And why are users preferences and files there too??
  • Missing Home. No clearly defined directory where the users data should go. Well, there is one now, but the applications don’t adhere to it.
  • ACLs. An actually nice feature of windows — if the default ACLs weren’t so braindead. Who got the idea that users need to have write access to the root or the windows-directory??
  • DRM. Either this goes out of Windows, or Windows goes out of the window. Digital Restrictions Management is not a service to the user.
  • Registration. And especially the failing of it if your hardware changes.
  • Standards: They exist for you to use them, not to invent stupid competing formats. Away with that WMA, WMV, DOC, XLS-trash. You can still support them, but store your information in open and standardized formats in the first place, like mpeg, mp3, ODF. I want to hear “You might loose some information if you store this Open Document Text in Microsoft .DOC-Format. Do you really want to do this?”
  • OpenGL: Speaking of standards, it should use OpenGL like all other operating systems, instead of DirectX.
  • TWAIN: An utter fuckup of a standard for scanners. Should have been ditched in favor of SANE a long time ago.
  • Autostart: The one for changeable media. A security problem, of course. Ditch it. Not necessary, just to save one click. Yes, you can turn it off, but actually it should be impossible to turn it on at all.
  • Mandatory Locking: A nightmare for doing backups or working with shared ressources.
  • Package-System: There is none. Every application decides itself where it wants to install things and whether to tell the operating system what it has done. Not only a security- but also a maintenance-nightmare.
  • Error Reports. They’re here to tell you what went wrong, not to obfuscate the fact that you did not think that an error might happen in the first place.
  • Help. What about a help-system which is useful? What about documenting the programs (and their hitherto unknown commandline-switches and registry-settings)?
  • Reboots. There is one reason, and one reason only, to do a reboot, and that is a kernel-upgrade. And no program-, library or driver-installation warrants one.
  • Internet Explorer. Either you do it right (XHTML, CSS, DOM, EcmaScript), or throw that garbage out of the system.
  • Outlook. Either you do it right (raw-text, charsets, proper quoting, pop3-handling), or throw that garbage out of the system.
  • Active-X. Throw away without replacement. It’s an unfixable security nightmare.
  • 32bits. Yes, it’s about time for the next version only to offer a 64bit-version.
  • Monitoring. There’s a standard, it’s called SNMP. And you’re supposed to export your status there, especially if the application in question is Microsofts own directory- or mailserver. At the least, your SNMP-server should be able to be extended with the output of monitoring programs. The lack of things like these are precisely the reason Windows has no right to exist in an enterprise environment.
  • DNS poisoning: The underscore “_” is not allowed in domain names. How come Active Directory still does this in 2012, and you can’t turn it off? Obviously, Microsofts DNS-servers do not belong onto the internet.

Documents from Hell

September 27th, 2008

Every so often you happen to get some document, mostly one written with a certain software package from a company in Redmond, that looks pretty good but needs some minor property changed like the font for the default paragraphs. No problem, you open the “Stylist” in your OpenOffice and change the font for “Default”. Does not work. Hmm, the document indicates every paragraph uses the “Default” preferences. And then, you realise that every paragraph has individually a font set.

Impossible to clean up that mess in the office-software. You can’t click “Clear formatting” for every paragraph, and besides, you would screw up any other formatting like bold faces and italics too. XML to the rescue! In theory it should be possible to unzip the document and edit the XML. As it happens, the several megabytes big XML is very structured indeed: Everything is on one line Thank you very much, this means most normal text-oriented unix-tools won’t work, because you can’t rely on some useful delimiter.

Luckily I found xmlindent which nearly does the job, you can get nearly the original XML (with the exception of one missing linefeed after the XML-declaration) with sed s/\ \ \ \ //g and tr -d "\n" afterward you’ve done editing. Also interesting is Editix a Java-based XML-Editor.

Now, I would like to get rid of 10’000 redundant style-definitions, which either define bold or italic or are used to set small caps and bold to designate a subtitle — preferably set those who define title to a real “Heading”. sed -n '/<style :style style:name=\"P/,/<\/style:style>/p'</style> will give me the whole statements, but what now?

Stealing from the Public Domain

March 27th, 2008

Everybody is talking about “illegal copying” (most often in propagandist terms like “stealing” or “piracy”), but nobody of the opposite: Taking a work in public domain and slapping your copyright-notice over it; something which very much borders on plagiarism. And of course asserting to have a copyright on something which you are not entitled to is also a violation of copyright.

The very funny thing is, there is a repository of thousands of books whose copyright is violated this way. It’s books.google.com. Nowhere else, such a mass of works wrongly tagged “copyrighted material” can be found.

An example? Captain Frederick Marryat died in 1848, yet a search for his books returned one of his books featuring a copyright notice from the 21st century. How the bloody hell does this publisher think he can slap a copyright notice on it? or another one: A Young Sea Officers Sheet Anchor, 1819. Note the “copyrighted material” on each and every page — well, of those few available that is. The Author Darcy Lever died 1839. Well ye, those authors are relatively unknown, what about the literary heavy-weights? Goethe! His Die Leiden des Jungen Werther is of course not downloadable from google, tough they indexed the whole content.

Google Booksearch is of course in some ways only the messenger. The real problem really being rogue publishers assuming copyright on one hand, and publishers bullying Google and the rest of the world about “respecting” copyright (which, as we see, may or may not be theirs). Of course, “do no evil” Google helps them by craving in and taking the easiest approach of assuming everything is copyrighted.

Addendum: As I’ve learned, this is actually known, and there is a word for it Copyfraud

Debian GNU/Linux on the Asus EeePC

February 13th, 2008

I needed some new hardware to keep my appointments sorted, my address-database, and things like that, and I wanted those things encrypted. Instead of opting for some smartphone or PDA-type hardware, I decided on the Asus EeePC subnotebook, which costs about the same, or even less than modern smartphones or PDAs.

I got mine from digitec, a german edition, since it wasn’t available in switzerland yet. After playing a bit with the installed Xandros I decided to install Debian, since I found I was lacking packages, and I wanted to encrypt /home anyway. I decided not to change the partition-tables, and to put Debian on /dev/sda1 solely. In xandros, the system was on /dev/sda1, mounted read-only, and /dev/sda2 was a union-mount onto it. In hindsight, this wasn’t a bad choice, I really needed the 2.5GB to compile kernels..

I installed pretty much according to the DebianEeePC Howto and then started compiling my own kernels. You need the AR2425-patch, and the 2.6.24-patch from here: http://madwifi.org/ticket/1679 in order to get the wireless working. Then you’ll probably also want a driver for the ATL2-ethernet-NIC, version 2.0.4 works with 2.6.24.X-kernels. Sadly, the ATL2 only works when loaded as module. And for the special buttons to work, you’ll want to apt-get install eeepc_acpi. Well anyway, what you’ll want is my .config for Asus EeePC.

The xandros on the eeepc boots tremendously fast, most of which can be traced back to their fastinit-initd, which has been reverse-engineered, by the way: fastinit reimplementation. A short look at this and “strings /sbin/fastinit” reveals that it only does the minimun, and starts X as user “user” with just a login shell. Sadly, this does not work if you’re going to encrypt /home with dm-crypt. After looking at some alternatives, I settled on KDM with a pleasant looking-theme on my own, based on Kurumin KDM1 (without girl and swirl).

The login uses pam-mount to automatically do cryptsetup luksOpen for /home. /etc/security/pam_mount.conf.xml needed to get this line added:
<volume fstype="crypt" path="/dev/sda2" mountpoint="/home" />
and /etc/pam.d/kdm and /etc/pam.d/login each got the line
@include common-pammount
attached at the end.

I had made a backup-copy of the whole flash with dd and nc over the network, so I could just re-use some configfiles such as xorg-conf.

Other noteable specialities are some defaults which make more sense for flash-based systems, like mounting filesystems with noatime. This is my fstab:
proc /proc proc defaults 0 0
/dev/sda1 / ext3 noatime,nodiratime,user_xattr,errors=remount-ro 0 1
tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0

As for the window manager, I tried out several environments. icewm (was used on xandros), fluxbox, openbox, matchbox and finally xfce4. I’m still not quite satisfied with it.

List of Napoleonic Era Movies

January 13th, 2008

Since I’m interested in the napoleonic period lately, namely the british navy of this time (heck, I even own a complete royal navy post-captains uniform, pattern 1795-1813. Replica of course), it occured to me, that somewhere on the internet a comprehensive list of movies playing in this time should exist. Well, I couldn’t find one. The ones that exist are mostly a salad of maritime movies of all periods, and I’m not interested (well, not much) into WW2 or the crimean war or whatever.

So here goes my (incomplete, I only included those I know of) list of movies, preferably with a date their action takes place and some remarks.

Varia

The Count of Monte Christo, 2002. Plays 1814 to 1838.
Goyas Ghosts, 2006. Plays around the occupation of spain by Napoleon. Very good and very depressing.
That Hamilton Woman, 1941. Haven’t seen it. Meant is, of course, Emma Hamilton, the lover of Admiral Horatio Nelson. The movie was subject to heavy censorship by the PCA and thus riddled with 1940ies US-morality-add-ons.
Scarlet Pimpernel, 1934. Gets a lot of history wrong. Like Robespierre executing people in 1792, when he actually held no office then. Costumes are cheesy, with ridiculously high collars. Quite enjoyable, in spite of the meager quality of the recording.
Scarlet Pimpernel, 1982. Haven’t seen it.
War and Peace, 1956.Haven’t seen it. A story of two families in front of a napoleonic background.
Love and Death, 1975. Haven’t seen it. A comedy which plays in czarist Russia during Napoleons time.
Swiss Family Robinson, 1960.
A family from Berne flees from Napoleon and is cast on an island as their ship wrecks.
Treasure Island, 1950. Plays in the 1760ies. Costumes are a bit cheesy. There is also a Version from 1990 which is much worse.
The Crimson Pirate, 1952. Says it plays “in the late 18th century”, but it’s a total Fantasy-movie. Nothing is historically right, or even works as it’s supposed to. Otherwise enjoyable.
Night Creatures aka “Captain Clegg”, 1962. Plays 1792 in Cornwall. A Navy-Captain is searching for the remains of the pirate Clegg. The Captains uniform is a 1795 undress uniform with a modern after-1800-cut.
Yankee Buccaneer, 1952. In 1840(!) a US Ship of the Line(!) tries to infiltrate Pirates in the Carribeans(!). Totally unbelieveable and bad.

Maritime and Naval Warfare

The Bounty, 1984. Plays 1789 aboard HMAV Bounty on her way to Thaiti and back.

Master & Commander, 2003, plays 1805 in the atlantic and pacific. Definitly and by wide margin the best of all those naval movies.

HMS Defiant, 1962. Plays 1797 at the mutiny of Spithead. Uniforms are good, only epaulettes and some swords wrong. Hairstyles less so… Culture aboard is sometimes depicted correctly (the women, for instance) sometimes not (pressed landsmen do not go aloft). The usual exploding balls. There’s some other goofs (sails set, and not set any more only seconds later), and the final “battle” is confusing and too long, but in general, the movie is very enjoyable.

Hornblower Series

This spans 1793 to somewhere after 1800. It’s quite nicely done, costume- and propwise. You’ll notice that the budget was considerably lower than that of Master & Commander, for instance the Guns don’t recoil back.

Captain Horatio Hornblower R.N., 1951. Plays in 1807. It’s actually quite true to the books, and captures Hornblowers personality a bit better than the series. From a historical perspective it’s not bad, but you’ll notice several wrong things. The uniforms for instance are the 1787-1795 pattern.

War on Land

Waterloo, 1971. Tells the story of Napoleons defeat. In my opinion, the characters don’t match, and it concentrates way too much on the psyche of Napoleon. Nice battle tough.

The Duelists, 1977. Two Hussar officers become enemies and duel themselves over the course of the napoleonic war several times. Very nicely done.

Barry Lyndon, 1975. The story starts somewhere around the seven years war 1754 and tells the rise and decline of the fortunes of said Barry Lyndon. Only the first half is about war, but contains a very nice display of a regiment.

Sharpe Series

the series spans from 1809 to 1815.

Useful Shell Oneliners

November 12th, 2007

From time to time you come upon some useful oneliner in the shell. Either because you see it somewhere, see someone doing it, or because you need it and produce one yourself. And most of the time, it’s not enough to put into a shell-script, so you find yourself hunting for it in your .bash_history. Well, here are some:

Do something to a lot of files
for i in *; do command $i; done

You’ll need this a lot. Does not work with files containing spaces

Convert a load of images
for i in *.tif; do convert -quality 75 $i `basename $i .tif`.jpeg;

Make pdf out of a several images
convert -limit memory 32 -limit map 32 *.png target.pdf

You really want to set the limits, unless you have more RAM than the whole images converted to pbm.

With Graphicsmagick, you need to set a compression for jpg, otherwise the resulting PDF will be huge.

gm convert -compress JPEG *.jpg target.pdf

The resources you want to give those programs can be set using environment-variables:

export MAGICK_MEMORY_LIMIT="640mb"
export MAGICK_MAP_LIMIT="320mb"
export MAGICK_AREA_LIMIT="640mb"

Make pdf out of a lot of images
But the whole idea of using ImageMagick or GraphicsMagick to create pdf-files is very much flawed, since both first convert the jpeg-files into an raw, uncompressed intermediate format which tends to eat up all available memory, and then crash. And which is completely nonsensical too, since jpeg-files can be embedded into pdf as they are. Luckily, pdfjoin will help us, tough it accepts only files with the extension ‘.pdf’ as input as of yet:

mmv '*.jpg' '#1.pdf'; pdfjoin --outfile target.pdf *.pdf

Change resolution (DPI) of an image
convert -density 600 -units PixelsPerInch source.png target.png

split/crop pictures
convert -crop 1230x880 source.png target

Note that this does not really crop the image, but splits it into as many parts as necessary, using “target” as prefix, adding a number as suffix.

fix offset
convert +repage source.png target

Lately, “crop” seems to behave differently, it leaves all but the first part with an offset. This makes the picture disappear in gimp, and stretched if you make a pdf out of it. That’s why you may need to repage.

rotate
convert -rotate 90 source.png target

rotates 90 degrees clockwise.

Attach pictures to each other, one below the other
montage +frame +shadow +label -tile 1x2 -geometry "widthxheight+0+0" source1.png source2.png target.png

Important is that width and height are the dimensions of each of the sources. For putting them next to each other, just use 2×1 as tile.

Rename files according a textfile-list
for i in `cat list` ; do mv `echo $i | awk -F"-" '{print $1".ext"}'` $i.ext ; done

Delete empty directories
find . -type d -empty -depth -exec rmdir {} \;

Remove first page of a PDF
pdftk A=source.pdf cat A2-end output target.pdf

Yes, pdftks syntax is a bit alien.

Merge PDFs
pdftk sources*.pdf cat output target.pdf

Unpack lots of packed files into different directories
for i in *.rar; do mkdir `basename $i .rar`; mv $i `basename $i .rar`; cd `basename $i .rar`; rar x $i; cd ..; done

If you have a load of packed files, in this case rar, and you want to unpack each into a different subdirectory, according to the name of the rar-file.

Get rid of magnatune-advertisements in mp3s

for i in *.mp3; do mp3splt -s -p min=2 -d `basename $i .mp3` $i ; done

Merge AVI-movies
mencoder -forceidx -oac copy -ovc copy -o outputfile.avi parts*.avi

That’s the basic way. If you want to process a whole directory with avi-files whose filenames have a distinct part (like “cd≶num>” or “-Part≶num>” as in my example) you can do something this:

for i in *-Part1.avi; do mencoder -forceidx -ovc copy -oac copy -o `basename $i -Part1.avi`.avi `basename $i -Part1.avi`-Part*.avi; done

To be continued. You might also want to check out my Program-section for small useful scripts.

Gesundheits-Planwirtschaft

October 28th, 2007

Die Kosten im Gesundheitswesen steigen, und mit Ihnen kommen diverse Lösungsvorschläge die sich entweder in Missachtung der tatsächlichen Gründe dafür oder aber mindestens an Absurdität zu überbieten suchen.

Auszumachen sind als tatsächliche Gründe vorallem folgende Dinge: Gesteigertes Krankheitsbewusstsein (man geht öfter zum Arzt, wegen geringereren Problemen); erhöhte Rate gesundheitlicher Probleme aufgrund variabler gestiegener Umweltkontamination (Allergene, resistente Bakterien aufgrund Antibiotika-Einsatzes in der Landwirtschaft usf.); veränderte Altersstrukur; sowie als grosser Faktor, garantierte Monopole für die Pharma-Branche. Die Gewichtung dieser Faktoren bedarf durchaus noch weiterer Untersuchung, und es ist auch möglich dass sich da noch weitere ausmachen lassen. Aber interessant sind vorallem die momentan propagierten “Lösungen” die sich nur mit kompletter Verleugnung der Realität erklären lassen.

Unfreie Arztwahl

Da wurde zum Beispiel der Vorschlag “die freie Arztwahl aufzuheben” gebracht. Ganz logisch führt das dazu dass die Krankenkassen den Ärzten die Preise diktieren, wer sich nicht an deren Tarife halten will fliegt raus und bekommt nur noch diejenigen die es sich leisten können. Mittelfristig entwickelt sich eine Zweiklassenmedizin. Aber es kommt noch besser, längerfristig geraten alle Ärzte unter diesen Druck, was effektiv dazu führt dass die Krankenkassen die Ärzte komplett kontrollieren. Wir haben ein Monopol der Krankenkassen auf die Ärzte, nicht viel anderes als eine Planwirtschaft.

Diese Gesundheits-Planwirtschaft durfte ich persönlich schon erleben, sie nennt sich “Schulzahnärzte”. Dabei werden die Schüler arbiträr einem Zahnarzt zugewiesen der denen einmal im Jahr das Gebiss untersucht, und ebenso arbiträr Karies findet. Nachdem ich wegen 3 dieser “Löcher” aufgeboten wurde lies mich dieser Schulzahnarzt eine Stunde warten, als ich endlich zu fragen wagte was denn los sei, kanzelte er mich ab, worauf ich die Praxis verlies. Das beste was ich tun konnte. 15 Jahre später hatte ich immer noch keine Karies.

Und heute habe ich ebenfalls so einen Vorgeschmack auf eine derartige Planwirschaft erhalten, in Form eines Briefs von einer Zahnarztpraxis:

Um Zähne und Zahnfleisch gesund zu erhalten, ist eine regelmässige Kontrolle und periodische Zahnreinigung in der zahnärztlichen Praxis erforderlich.

Wie vereinbart möchten wir Sie daran erinnern, dass diese Massnahmen in den kommenden Wochen wieder fällig werden. Für die Vereinbarung eines Termines können Sie bei uns unter der Telefonnummer 0444 XXX XX XX anrufen.

Natürlich habe ich da nichts vereinbart, tatsächlich war ich in dieser Praxis nur einmal wegen eines Notfalls.

Wir können uns also darauf freuen zu unserem zugewiesenen Arzt zitiert zu werden, welcher dann seine zugewiesene Kostenquote zufallsmässig über seine Patienten verteilt.

Kurpfuscher aus dem Mittelalter

Im späten Mittelalter stellte man fest, dass da diverse Ärzte auf Europas Strassen unterwegs waren, die nicht nur diagnostizierten, sondern gleich Ihr Wundermittel eigener Produktion verkauft haben. Man stellte sich also die Frage wie man dieser rampanten Kurpfuscherei habhaft werden könne, und kam mit einer Lösung: Ärzte dürfen keine Medikamente verkaufen, sondern nur Rezepte ausstellen die eine unabhängige Kontrollinstanz ausführt und abgibt. Da man gerade eben kein Amt für Medikamentenkontrolle hatte, und auch keine langwierigen Verfahren um Medikamente freizugeben, und sowieso das ganze wenig Standardisiert war, gab man das Monopol Medikamente zu verkaufen an die Apotheken.

Die Apotheken haben dieses Monopol natürlich nun immer noch, obwohl die Kontrolle über Medikamentfreigaben schon längst staatlichen Stellen obliegt. Das ist ja wunderschön traditionell, diese Zunftmonopole, aber ich glaube nicht dass IKEA-Mitarbeiter immer noch in der Tischlerzunft sein müssen um Möbel zu verkaufen.

Mit anderen Worten: Wir haben da ein Monopol aus dem Mittelalter erhalten welches mittlerweile nicht nur obsolet ist, sondern vorallem auch teuer. Der Arzt muss zur Nothilfe ja sowieso Medikamente vorhalten, wieso soll er die nicht verkaufen? Es ist ja nicht so dass er da selber “Hausmittelchen” erstellen würde die er dann verkauft. Und warum soll da eine zusätzliche Kontrolle durch den Apotheker stattfinden, die Medikamente wurden schon durch den Staat geprüft (und dessen Resourcen hat der Aptheker nicht) und durch den Arzt verordnet (und dessen Diagnose kann der Apotheker auch nicht stellen).

Wir haben also wegen irgendwelcher mittelalterlichen Kurpfuschern immer noch ein Monopol der Medikamentenabgabe für Apotheken. Und wie jedes Monopol kostet auch dieses.

Renten für Pharmariesen

Vermutlich hat noch kaum jemand das überhaupt in Relation mit den Gesundheitskosten gesehen, ganz sicher nicht der Bundesrat welcher neuerdings auch Patente auf Gensequenzen zulässt, aber ein grosser Teil der Gesundheitskosten machen Medikamente aus, und ein überwältigender Teil dieser Kosten wird mittels Monopolen, in diesem Fall Patenten, garantiert.

Der Staat hat es der Pharma-Industrie erlaubt gnadenlos grössenordnung 20-30% sämtlicher Kosten im Gesundheitswesen als Rente einzusacken, indem er sukzessive Patente auf Prozesse (1954), Patente auf Produkte (1977) und nun Patente auf Gensequenzen (2006) garantiert hat.

Über irgendwelche Innovationsfördernden Eigenschaften von Patenten müssen wir gar nicht diskutieren; dieser Nachweis wurde nie irgendwann auch nur für irgendwelche Industriebereiche erbracht. Im Bereich Software/Prozesse wurde hingegen schon nachgewiesen dass Patente Innovationsschädigend sind; der Nutzen von Patenten ganz generell ist also eher zweifelhaft. Was Patente hingegen unbestritten tun ist ein Monopol bieten, und es wäre etwas ganz neues wenn Monopole plötzlich zur Kostensenkung führen würden.

Was auch immer man tun möchte um die Kosten im Gesundheitswesen zu senken, ganz sicher ist es falsch der Pharmaindustrie noch mehr Möglichkeiten für Patente zu garantieren.