Showing posts with label English. Show all posts
Showing posts with label English. Show all posts

Friday, February 18, 2011

A cheer to freeware


Every time I re-setup my computer I realize that more and more freeware is running on it. In former times, setting up a computer meant inserting 20 CD-ROMs one after another -- MS Windows, MS Word, MS Office, Paint Shop Pro, ... --, today setting up means to me: First installing Windows, then downloading the most recent versions of all other programs.

Therefore, a cheer to freeware -- which by the way is according to certain sources in the USA a very communist construct ;) --, thanks to which I by now use hardly any proprietary software any more except for Windows.

Here's a list of great freeware programs (or in some cases shareware or demo versions) that are usually installed on my computers:



Basics:
Acrobat Reader / Foxit Reader
Reading .pdf files

GhostView / GhostScript
Reading .ps files

PDF24 Creator
Creating and editing of .pdf files

pdf995
Creating .pdf files by a printer driver

TortoiseSVN
Version control with SVN

CDBurnerXP
Burning CDs and DVDs

7-Zip
File compression program for (almost) all formats

cygwin
Linux emulator

DOSBox
DOS emulator



Creating and editing of documents:
nodepad++
Text editor and source code editor

LibreOffice
Office programs: Text editing, spreadsheet processing, presentations, ...

MikTeX
Compilation of LaTeX documents

WinShell
LaTeX editor

Asymptote
Programming language and compiler for creation of vector graphics

GeoGebra / Euklid DynaGeo
Creation and editing of interactive geometry sketches



Programming:
eclipse
Development environment

Java JDK
Java (development kit and Virtual Machine)

Visual C++ Express
C++ (development environment and compiler)

Python
Python

SWI Prolog
Prolog (development environment and compiler)



Graphics:
IrfanView
Display of image files

Gimp
Image editing

Paint.net
Image editing

Inkscape
Editor for vector graphics

autostitch
Assembling large images from multiple photos (image stitching)



Music and multimedia:
iTunes
Music playback, download and playback of podcasts, managing of files on an iPod

VLC Media Player
Playback of videos and DVDs

Winamp
Music playback

Amarok
Music playback

VirtualDub
Video recording and editing

NoteWorthy Composer (Demo)
Creation of sheets of music



Internet:
Firefox
Browser

Chrome
Browser

Thunderbird
Email and newsgroup client

IMAPSize
Backup of IMAP email accounts

PuTTY
SSH and Telnet client

WinSCP
FTP and SFTP client with GUI

pidgin / qip
Instant messenger (for ICQ, AIM, ...)

ChatZilla
IRC client

Skype
Skype client (for internet telephony)

Apache
Webserver (for local testing of homepages)

Vuze
client for peer-to-peer filesharing



Antivirus:
Avira AntiVir
Anti-virus software

Spybot
Anti-spyware program



Datenbanken:
MySQL
MySQL data base system

NaviCat Lite
GUI for MySQL



lG Birgit


Edit (2011-02-18): Add Foxit Reader and PDF24 Creator.

Edit (2011-02-24): Update OpenOffice.org to LibreOffice.

Monday, January 31, 2011

Life -- A review

Life is a game, some people say. Well, if it's a game, then it has deserved a review.

I shall assume that most people are familiar with the basic rules, so I'll skip directly to the discussion about some concepts, some strategies, and replay value.

Some flawed concept

There are various concepts that are frowned upon in games, and for a reason. Unfortunately, life sports quite a few of them.

One big factor is randomness. There are various game elements that appear to be completely random (in spite of actually following certain hidden rules), and, worse than that, unnecessarily random, and not adding much to the game play.

Let's start with random starting positions. While random setup helps to keep game play varied, in this case the random starting positions just have too much influence on the kind of options a player has and their winning chances. Some starting positions are just too strong and others too weak. A player starting in certain regions of Africa for example has low chances of going for an academic career, and almost no chance of getting far ahead on the money track. Also, in many cases, the starting position already more or less determines the entire strategy and outlook of a player, and sometimes leaves very little choice. The most egregious cases here are of course those where a player is forced into a certain role and possibly even killed before even getting old enough to take own decisions, let alone reach age of consent. Child soldiers, child pornography and child prostitution are the worst (and unfortunately not exactly rare) cases here. But even those aside, for example players starting in conflict regions or very religious societies usually have very low chances of completely staying out of those things, even after reaching adulthood.

Closely related to that is a certain running leader problem, especially in terms of power and money. Players who are at some point ahead in one of these fields usually will gather more and more, while players starting low have almost no chance of catching up.

Similarly, random player attributes have an unduly large influence. The most prominent example here is gender, which is randomly assigned to players when they start playing, and even though there are some special rules that will allow changing it later, they have so many drawbacks that few people will actually use them. Closely related to that is sexual orientation, though that is one random factor that I personally find quite interesting, because it gives some players a kind of side quest without completely spoiling the game experience for them if they don't complete it. Still, depending on the starting position it might be too much of a disadvantage in some situations, especially in those where public display of queer orientation is threatened with severe social consequences and even death penalty.

Another completely unbalanced random player attribute is disability, both physical and mental. Physical disability such as blindness or dwarfism can have a huge impact on the options available to a player, like for example career choices. As far as mental disabilities are concerned, I wouldn't dare evaluating how much they really influence the player's game experience for the better or the worse, but I certainly find the concept unnecessary.

One more very random element is love, a game mechanism that more or less randomly adds strong emotional connections between players. Worse than that, these connections don't necessarily go both ways; In fact, they surprisingly often don't. Which wouldn't be so bad, if one-way love connections didn't have such detrimental effects on affected players. Reciprocal connections on the other hand usually offer a very big boost to both involved players. Not surprisingly, many players therefore consider this concept one of the best things about the game, even though it reduces predictability. But given how random everything is already, a little bit of extra randomness is probably a small price to pay.

The one concept that truly sucks however and makes playing utterly unpleasant at times is player elimination. Interestingly though, in contrast to other games with player elimination that I have played, the big problem with player elimination in life is not that the eliminated players sitting out are bored -- at least not that I'm aware of --, but rather the negative effect that the elimination of a player has on the players remaining in the game.


Discussion of Strategies

As with many complex games, the best strategies are often very hard to figure out. It's already quite complicated to find the reasonably good ones.

   Pure strategies

As far as life is concerned, many players seem to go for money as their main winning strategy. While that strategy by itself is not horribly bad, I personally have the feeling that those players are missing quite a bit of the game play. Also, looking at the outcomes of players who go for that strategy, it seems to stagnate at some point rather than going infinitely upwards, and can even genuinely backfire in some cases.

Another popular but in my humble opinion very much overrated strategy are drugs. They might give a very short immediate boost, but on the long run the strategy always shows an overall downhill trend. So far I haven't met a single player for whom the strategy ever worked out.

Love is a third strategy that is used often, with the player concentrating all efforts on finding and retaining a permanent love relationship. Given how random the concept of love is (as described above), this appears an ill-conceived idea, and while it goes well often enough, it indeed also often goes horribly and painfully wrong, to the point of players dedicating more resources than reasonably justifiable or even comprehensible to gaining, preserving or regaining love. The possible end results are stalking, pathological jealousy, erotomania, suicide, and a whole branch of psychotherapists making a living of it.

Escapism is the fourth of the big strategies, usually achieved through excessive computer gaming and/or submersion in imaginary worlds. In combination with the drug strategy it can lead to long phases of almost complete loss of connection with the outside world. In combination with the love strategy it is expressed through excessive intake of mediocre literature such as Rosamunde Pilcher and soap operas, combined with the firm belief in their realism. It can also lead to sickly sweet plans of marrying in white and living happily ever after, usually without ever accomplishing them. While many players go through a phase of escapism during their transition from childhood to adulthood, continuing the strategy beyond that age can lead to drastically reduced chances of actual accomplishment in the game. Disturbingly, the strategy is just good enough that most players who get stuck in it at some point decide to actively try to perpetuate it. And indeed abandoning the strategy at a later stage often comes with rather severe consequences -- such as realizing how many years of their life they already wasted with it --, which ironically makes continuing the strategy a very tempting choice.

Closely related is the strategy of complete submersion in work, with the only exception that instead of imaginary worlds and problems, real ones are used. The most important positive factor here is constant positive feedback from the immediate environment. The big drawback is that the strategy requires a lot of time and energy and leaves little space for change or even choice. Again, the strategy is just good enough that many players choose to stick with it, even though it stagnates soon and has little chance of achieving high results. On the upside, it has also a low risk of complete failure and can thus be considered a rather safe strategy.

A strategy that is almost diametrically opposite to the previous strategy is trying to enjoy life as it is without putting any effort into changing anything about it, or even into maintaining the status quo. As mentioned in the discussion about random starting position above, some strategies are not available everywhere, and this one can only be used effectively in regions with a strong social support system, i.e., Europe. In those situations, the main drawback of the strategy really is that it is frowned upon by other players (because it drains their resources) and might therefore lead to rather adverse reactions by them. Also, it gives very little positive feedback or direct reward. For those two reasons, the strategy is only usable for players who have a thick skin amongst their random attributes, as well as a rather strong self-esteem that doesn't need positive feedback for retention. For players who have those attributes and live in a suitable region, the strategy can work out very well, though.

Diametrically opposite to that (and therefore again close to the work strategy) is the constant strive for approval, respect and/or attention from the environment. The "disease to please" is one form, another one is the "disease to impress". Different as those two might seem, what they and all related strategies have in common is that they heavily depend on positive feedback from the social group. While those strategies work well as long as this positive feedback can be achieved, they drain quite some energy, and on the long run heavily erode self-esteem. Given that many of the other strategies presented here require self-esteem to work properly, it's often hard to get away from this strategy after having used it for some time. But also using this strategy for a longer time has many disadvantages, because it needs a constant increase in intensity to work. This is mostly due to the environment getting used to the player's behaviour and requiring higher dosages of it in order to still give the same amount of positive feedback. For example, people might compliment someone on being slim, but after a while they get used to it, so in order for them to still notice it, the person in question needs to become even slimmer. For someone depending on this strategy, this might well be a jump start into anorexia nervosa. Other frequently found extreme forms are codependency (also known as helper syndrome), workaholism, plastic surgery (taken to the extreme by certain celebrities), various forms of attention seeking, and of course loss of any kind of individuality.

Adventure seeking finally is a strategy that is popular especially amongst younger players, and usually pursued either by extreme sports or extensive traveling. While a good addition to any of the previous strategy, it's barely usable as a stand-alone strategy, mostly because the world at some point runs out of [reasonably safe] sports or [reasonably safe] places.

Many other popular strategies are very similar to those already described. Going for power for example is very similar to going for money, with similar advantages and drawbacks. Religion is mostly a more community oriented version of escapism. Excessive partying doubles as drug usage and attention seeking. Focus on learning is similar to the working strategy. Extreme altruism is another variant on the approval seeking strategy, and can double as working strategy (in social work) and even triple as escapism by concentrating on other persons' problems instead of the own ones. Gambling and other behavioural addictions are close to drug usage, both in effects and outlook. Spending a lot of time on the Internet can slide between escapism and approval/attention seeking, depending on the online activities. (Bloggers such as me seek approval, trolls seek attention, and youtube watchers seek distraction from their own lifes.) Intense sex seeking behaviour [outside of relationships] can either be a very cynical form of the love strategy, or a variant of approval seeking. Hopeless romanticism is a mixture of the love strategy and escapism. Strategies based on friends and family are closely related to the love strategy. And so on.

   Mixed strategies

Now that I've presented a bunch of strategies that don't work, let's look into strategies that do. As with many games, the strategies that work best are mixed strategies. Looking at all the strategies above, they all only go wrong in their extreme forms, but can give good results as long as their drawbacks can be absorbed somehow.

Take love for example. The big problem here is not that the strategy is inherently flawed, it's just that it can go down very far in unlucky circumstances. It's therefore very dangerous as a pure strategy, but can work very well if combined with another strategy to fall back to in case things go wrong. Indeed some of the strongest strategies I've seen put a very strong emphasis on love, but always have a backup strategy ready and can pull out when things go badly. In short, love can be a very valuable part of a mixed strategy, as long as a player "knows when to fold 'em". Admittedly, most of us probably need to fall hard once or twice before learning that hope is not a strategy (though hopeless romantics will argue about that).

Similar to a good finance portfolio, a good life strategy therefore contains a lot of very different aspects, which might well mean combining all of the pure strategies mentioned before. A good portfolio might for example contain some "safe" strategies, such as work or learning, and some risky but profitable ones like love or adventure seeking.

   Tactics

Reminder for the not so game theory savvy people out there: Strategy is the long term plan, tactics is the short term procedure used to carry out the strategy. Some of these tactics could also be considered smaller strategies, since they are not broad enough to be used as pure strategies, but are rather long-term for tactics.

Other than strategies, the available tactics in life are rather manageable, but often underestimated. Some examples of notable tactics in life are:
  • Health care. Almost obligatory part of every strategy.
  • Humour. Very valuable for almost all strategies (except maybe religion), but often underrated.
  • Self-confidence. Also valuable in virtually all strategies.
  • Relaxation, inner calmness. Popular especially in eastern traditions, useful in almost all strategies.
  • Distraction. Basically a short-term version of escapism, and as such quite useful in some situations.
  • Self-pity. Efficient for cushioning setbacks, but counterproductive when used excessively.
  • Social interaction. Almost all strategies involve a lot of interaction amongst humans and therefore benefit from interaction skills.
  • Empathy. Closely related, it is also valuable in virtually all strategies.
  • Honesty. Roughly balanced between positive and negative effects. If used consequently, the positive effects will after some time start to prevail, and can therefore be part of a long term strategy.
  • Arrogance, devaluation. Frequently used as a counter mechanism in strategies that drain self-esteem. Helps to create a false feeling of self-esteem by looking down onto others, but causes enough other problems on its own, especially in strategies dependent on positive feedback from other people.
  • Passive-aggressive behaviour. Wide spread, though not very effective.
  • Denial. Prevents some of the negative effects of realizing that a strategy went wrong, but also prevents or at least reduces motivation for change.
  • Copying. Imitating another player's strategy as a substitute for developing one for your own. Requires similar goals and player attributes in order to work at all, and is dangerous even in those cases. Can also be played as a stand-alone strategy, or, more precisely, as a tactics without a strategy to serve. Depending on whether one or more persons are copied it's either akin to following someone else home after having forgotten one's own address, or randomly following people in a shopping mall hoping to find what you are looking for, without even knowing what you are looking for.
  • Perfectionism. While it sometimes can improve things, it often is just a huge waste of time. (For example, it just made me spend a lot more time onto this posting than I had planned.)
  • Last but certainly not least: Reflection. Helps evaluating the current situation and fine tuning or modifying both strategy and tactics.

One game option that should not go unmentioned at this point is suicide, i.e. a voluntary premature opt-out of the game. I generally wouldn't consider it a good option unless you don't mind missing a significant part of the game, your current game score is already below zero and it's very likely that from that point it will only go further down, or at least stay significantly far below zero for a significantly long time. Of course, "significant" here is a very subjective measure. Suicide certainly doesn't give a positive end result, but I acknowledge that in some situations, the best thing to hope for is to end non-negative. That being said, I personally have the feeling that many people are opting for it too quickly as a fast way to reset their score to zero, rather than trying to go through the negative phase and getting back into the positive region again.


Replay value

What kind of replay options are available depends a lot on the religious system used. In some systems, for example Christianity and Atheism, there is basically no replay possible. Christianity offers a kind of follow-up game though that I haven't tested yet.

Other systems offer replay, either with or without preservation of information. While some players fancy the idea of starting over new while keeping all the information gathered in the first play, I personally think that making up your strategy as you go along is part of the fun of the game.

The alternative is starting over without the gathered information (or simply in an environment where the gathered information is useless, which can be achieved quite effectively by random starting positions and values). The second game would therefore start basically with the same preconditions as the first. While I wouldn't mind another round under these conditions, I don't really see the point.

Rather interesting however is the karma variant, in which the starting position in the next game depends to some extent on the performance in the previous one, making it somewhat similar to card games like Career Poker.

Verdict

Life is an extremely complex game, and figuring out good strategies is in fact one of the most interesting things about it. As with many other games, how much fun you have playing it depends a lot on how you play it and how well you play. Let's face it, Chess is no fun either when you have no idea what's going on, and/or when you throw a tantrum about every lost piece.

Still, there is a lot of randomness and a lot of unbalanced concepts. Even things that follow rules often appear to happen randomly. Don't get me wrong, randomness can very well keep a game interesting, but in this case it's just too much for my taste, especially because there is no effective mechanism to level it out. Also the imbalance between randomly assigned player attributes is just gross.

I very much like the basic idea of the game and most of the time enjoyed playing it so far, but at this stage I'd consider it an early prototype at best.

-- Birgit

Sunday, December 26, 2010

Learning English for German natives


(It's a quite embarrassing moment though when you realize that you are making the mistakes that are usually reserved for English speakers learning German.)

-- Birgit

Tuesday, November 23, 2010

The Mobile Internet Provider
A tragedy in five parts

Part 1: The UMTS-USB-Stick

Dear Mobile Internet Provider,

Thanks for sending me my new UMTS-USB-Stick! Since I assume you will appreciate user feedback, may I suggest that you might want to program future versions of the stick in such a way that they can be installed without clicking away no less than 36 -- that's where I stopped counting -- "Install hardware now?" and "This has no Windows Logo test. Really install hardware now?" dialogs? (Hint: 35 is no acceptable number either.)

Best regards,
A user.


Part 2: The user manual

Dear Mobile Internet Provider,

After half an hour of tedious clicking through install messages, I finally managed to properly install the USB stick -- as a USB connection device, a USB mass storage device, another USB mass storage device, a drive, and as a CD-ROM drive. I don't know why your USB stick believes itself to be a CD-ROM drive, but I assume we all have our problems, and I sympathize.

However, I now tried to set the preferences, and since you chose to provide only a bad imitation of a human readable interface, I resorted to reading your documentation and got stuck there. In particular I'm trying to create a new connection profile. Your documentation tells me:
1. Choose "Settings > Options > Profile Management". (Well hidden, I grant you, given it's a function every single goddamn user will have to use, but findable with some clicking.)
2. Click onto "New". (No rocket science. I could have done that.)
3. Set all parameters. (Set to what, pray tell?)
4. Click "OK". (I think I would have figured that one out.)
5. Close the settings window. (That one might have been a tough nut...)

Let me give you my equally helpful suggestion on how to make this documentation somewhat more usable:
1. Start your computer.
2. Enter your username and password, then press Enter.
3. Trash that whole bullshit and rewrite it from scratch.
4. Save the files you edited.
5. Close the editor.

Best regards,
A sceptical user.


Part 3: The user credentials

Dear Mobile Internet Provider,

I am now ready to connect to the internet, and the USB stick demands a PIN. I therefore grabbed the letter with the credentials that you sent me along with the "How to get online immediately" guide. The first line of the letter tells me to go to your homepage, where allegedly I will be able to log in using the credentials you sent me, and receive my PIN.

While I appreciate the Catch-22 reference, I can't help wondering about two things:
a) I need Internet access in order to get Internet access? Srsly?
b) Why do you send me top secret credentials that I can use to retrieve my top secret PIN, instead of just sending me my top secret PIN?

Best regards,
An annoyed user.


Part 4: The PIN

Dear Mobile Internet Provider,

I tried to go to your homepage to in order to log in there, using my top secret username ("my4358625sddfj") and my top secret password ("05051986"). Since I assume nobody has informed you yet, I would like to point out to you that usually the password is supposed to be a random sequence of letters and numbers, whereas the user name should be something easy to remember, such as my birthdate. Not the goddamn other way round.

I shall give you the benefit of the doubt and assume that if someone actually has told you so, you probably could not understand him at that moment because his voice was drowned out by the cries of agony and despair from your homepage user interface testers. Whole legions of usability engineers must have lost faith in humankind upon seeing this masterpiece of pure, unadulterated user hostility, taking their entire families with them in harakiri to spare them life in such a world.

I eventually found the correct login sequence by releasing a bunch of test monkeys onto your page, programmed to randomly click links, enter the provided credentials and scan returned pages for four digit numbers near the phrase "PIN". Shortly after two of the test monkeys spontaneously evolved to sentient AIs (and promptly committed suicide to cleanse themselves from having touched your UI), one of the remaining ones succeeded in retrieving my PIN by accidentally clicking onto what had appeared to be a background element.

Best regards,
A frustrated user.


Part 5: The aftermath

Dear Mobile Internet Provider,

It's been two weeks since my last letter. I still can't connect to the Internet. While my other UMTS-USB-Stick (which unfortunately I can't use for connecting because it is registered in an other country) finds 5 networks of varying but decent signal strength, your UMTS-USB-Stick finds exactly ... none. Not only does it fail to connect, it also fails to cancel trying to connect. Heck, it fails trying to cancel cancelling trying to connect. Interestingly, it does not fail to cancel cancelling cancelling trying to connect, but I assume that is only because it would have required your programmers to understand recursion.

If you as a company really believe in making this world a better place as your advertisement claims, then please go and find whoever programmed this, break every finger they ever used to write code with (though most likely that's only the index fingers), every finger they possibly ever could write code with (and to be on the safe side, also the toes), and for posterity's sake, geld them. I would have suggested forcing them to use their own products, but I'm against undue cruelty.

As far as I am concerned, I'd hereby like to cancel my contract with you at the first possible date.

Best regards,
A former user.



Any similarity to real companies or events is inevitable, but purely coincidental.

-- Birgit

Wednesday, April 28, 2010

What The Fake

Eine meiner neuen Lieblingsserien ist Stargate Universe, momentan jeden Mittwoch um 20:15 auf RTL II. Ich habe nur leider den Fehler gemacht, ein paar Folgen davon auf Englisch anzuschauen. (Auf YouTube findet man alles Mögliche.) Warum das ein Fehler war? Einerseits, weil die Synchronsprecher nie so ganz zu den originalen Stimmen passen, und eine Aufnahme im Tonstudio nie so gut wird wie die Aufnahme, die live am Set gemacht worden ist. Aber damit könnte man ja gerade noch leben.

Wenn man aber andererseits aus reiner Neugier schon einmal die ersten paar Minuten der nächsten Folge auf Englisch angeschaut hat, dann tun Sachen wie die folgende einfach weh:

SPOILER ALERT

(Vorgeschichte in Stichworten: YOUNG ist (militärischer) Commander des Raumschiffs. Die Zivilisten an Bord hatten in der letzten Folge gewaltsam versucht die Kontrolle zu übernehmen, sind aber gescheitert. RUSH ist einer der (zivilen) Wissenschafter an Bord und war (Mit-)Anführer des Aufstandes. In der folgenden Szene unterhalten RUSH und YOUNG sich darüber, dass sie ihre Konflikte in den Griff bekommen müssen.)

Englischer Originaltext:
YOUNG: "Listen to me, the civilians aboard this ship didn't try to take over because they thought I was doing a bang-up job. I get that."
RUSH (sarcastically): "Well, good for you."
YOUNG: "I also get that I have to make this work."

Halbwegs wörtlich-sinngemäße Übersetzung:
YOUNG: "Hören Sie, die Zivilisten an Bord dieses Schiffes haben nicht deshalb versucht, die Kontrolle zu übernehmen, weil sie der Meinung waren, dass ich meinen Job so wahnsinnig gut mache. Das ist mir klar."
RUSH (sarkastisch): "Na, gut für Sie."
YOUNG: "Mir ist auch klar, dass ich das hier irgendwie hinbekommen muss."

Übersetzung in der offiziellen deutschen Synchonisation:
YOUNG: "Wissen Sie, die Zivilisten hier an Bord haben die Führung deshalb nicht übernommen, weil sie der Meinung sind, dass ich meine Arbeit gut mache."
RUSH (entnervt): "Schön für Sie."
YOUNG: "Es leuchtet also ein, dass ich weiterhin diese Aufgabe erfüllen muss."

Bitte könnte man dem Übersetzer dieser Zeilen zuerst einen Grundkurs in Sarkasmus und dann einen in Englisch angedeihen lassen? Bitte? Pretty please with sugar on top?

lG Birgit

P.S.: "Repressurize" übersetzt man mit "[Luft-]Druck wiederherstellen", nicht "Druckfestigkeit wiederherstellen". Selbst wenn letzteres wissenschaftlicher klingt.

Monday, March 1, 2010

Million Euro Question

Identify the following two places:

A)

View Larger Map

B)

View Larger Map

kR Birgit

Tuesday, February 23, 2010

Million Euro Question

If a Barbie doll had human size, ...
A) ... she would have a weight of 50kg.
B) ... her measures would be 99-46-84.
C) ... her BMI would be 16 (severely underweight).
D) All of the above.

Or, in short, she'd roughly look like this:
http://www.wayodd.com/funny-pictures2/funny-pictures-anorexic-barbie-Pe7.jpg

kR Birgit
... who readily admits that the answer is too obvious for a million euro question.

Sunday, February 14, 2010

Happy Valentine's

Sorry for all my complaining
that you are never around
when I'm feeling bad.

It took me some time to realize
that I'm just not feeling bad
when you are around.

Wednesday, December 30, 2009

Law of social problem solving

"As the size of an explosion increases, the number of social situations it is incapable of solving approaches zero." -- Vaarsuvius

(http://www.giantitp.com/comics/oots0696.html)

kR Birgit

Friday, December 25, 2009

Understand

"You have not really understood a thing if you cannot explain it to your grandma."
-- A. Einstein

Tuesday, December 22, 2009

Cancer leads to the purchase of mobile phones!

There's an abundance of scientific studies that can be roughly summarized as: "People who own mobile phones more often have cancer than people without mobile phones, which means that mobile phones do cause cancer." Based on those studies I want to prove today that cancer leads to the purchase of mobile phones.

Let the rectangle below represent the population of the country/region where such a study was conducted, separated into owners of mobile phones (M) and people who don't own or use mobile phones (nM).


The abovementioned studies now say that among M, a higher percentage of the people has cancer than among nM. We draw two lines to represent this. The only important thing is that the line in the M-rectangle is higher than the line in the other one.


Let's now compare the percentage of people with cancer who own mobile phones to the same percentage among people without cancer. We label the distances as shown below.


Among cancer patients, the percentage of people who own mobile phones is:


Among peope without cancer, this percentage is:


Under the assumption that a > b, it can easily be shown that
holds true (for all positive values for x and y).

(This can also be easily shown with more words and less formulas: If a = b holds, it's obvious that the two compared percentages are equal. Let now the line for b "move downwards", then we see that the first percentage grows, whereas the second one shrinks.)

Thus it is shown that people who have cancer more often own mobile phones than people who don't have cancer.

With the same argumentation as in the beforementioned studies, we can therefore conclude that cancer leads to the purchase of mobile phones.

-----------------------------------------------------------------

Wondering where's the catch? It's simply not legal to infer from "A and B often occur together" that "A leads to B". Sadly, many so-called "scientific" studies about cancer and mobile phones (and a dozen other popular topics) use exactly this train of thought.

Birgit Vera Schmidt

P.S.: I'll have another article about this topic some day.

Wednesday, September 30, 2009

Bad Pixel

The equation in this picture is correct, there is only one bad pixel. Which one?

kR Birgit

Monday, September 7, 2009

Fun with Debugging: The Elevator

After some amusing, confusing and somewhat annoying experiences with a very old elevator in the appartment house I'm living in, I've decided to let you join the fun. It took me some time to figure out how that elevator was probably programmed, but I think I by now have a pretty accurate model of how it works. I think it's an excellent example of well-intended programming going horribly wrong and would not want to deprive anyone out there from the chance to learn from it. (Nothing is worthless -- it can still be a bad example.)

Below you will find the details on how the elevator is programmed. Your task: Find as many use cases as possible where the elevator will not do what the user(s) would have expected.

=======================================
Let's assume some parts are implemented in hardware and all parts will work in parallel. The elevator has exactly one variable: destination, denoting the floor the elevator should go to. It furthermore can determine its current position, using a function named getPosition().

Whenever getPosition() != destination, i.e. the elevator is not where it should go to, the engine will move the elevator cabin towards the destination.

The doors are controlled mechanically. They can not be opened automatically (like modern elevator doors), but have to be pushed (or pulled) open manually by the persons using the elevator. The doors can however be locked or unlocked, which will happen semiautomatically. The function lockDoors() will lock all the doors. The function unlockDoors() will unlock the door where the cabin currently is. (That is, if the elevator is in floor 4, the door of floor 4 will be unlocked. If the elevator is not in front of any door, for example after someone pressing the emergency stop, no doors will be unlocked.) Additionally, it is possible to find out if a door is open, using a function isDoorOpen() that will return true if and only if at least one door is open. (Here, "open" means that the door is not only unlocked but also is currently opened.)

All movements of the cabin are therefore solely dependent on destination. An event-based structure will control this variable. There are four possible events:
* onButtonInCabinPressed(floor) will be invoked when a floor button in the cabin has been pressed, where floor denotes the number that was pressed.
* onCallButtonPressed(floor) will be invoked when the button outside the elevator has been pressed to call the elevator. Here, floor denotes the floor where the button was pressed.
* onStopButtonPressed() will be invoked when the emergency stop button in the elevator cabin is pressed.
* onDestinationReached() will be invoked when the cabin reaches its destination, i.e. when the cabin used to be moving because getPosition() != destination, and is not moving any more because the current position now equals the destination.

The first three functions will be called repeatedly as long as the buttons are being pressed. If more than one button is pressed at a time, the stop button will precede the other buttons, and the buttons inside the cabin will precede the call buttons outside.

For the simplicity of the code, let's assume that assert(...) will abort the execution of the called function if the assertion doesn't hold, but will not otherwise influence the state of the elevator.

Further, let's assume all of the following functions are atomical, that is, they will be executed to the end before another function can be executed. Also, the execution of one function will happen so fast that no human can change anything about the state in the meantime, i.e. the result of isDoorOpen() can't change during the execution of one function.

Here is the code for four abovementioned functions and their helper functions:

// Button in cabin has been pressed
onButtonInCabinPressed(floor) {
setDestination(floor);
}

// Call button has been pressed
onCallButtonPressed(floor) {
setDestination(floor);
}

// This function sets the new destination if possible. As both calling
// the elevator and pressing a floor button boil down to setting a new
// destination, we can use the same code for both.
setDestination(newdestination) {
// If the elevator is already moving and we set a new destination,
// it might start moving in the other direction instead of taking
// the people inside the cabin to the floor they wanted to go to.
// For example, if the elevator was moving up from the 2nd floor
// to the 5th, and someone in the 1st floor called the elevator,
// without this check it would turn around and go to the 1st floor.
// We therefore must assure the cabin is currently standing.
assert(getPosition() == destination);

// As soon as we set a new destination, the elevator will start
// moving. If the door is still open at that moment, it will both
// damage the mechanical locking system and endager the people
// currently stepping in or out. We therefore must assure the doors
// are closed before setting a new destination.
assert(!isDoorOpen());

// We've ruled out all the nasty cases, so we can now safely lock
// the doors and set the new destination.
lockDoors();
destination = newdestination;
}

// Someone pressed the emergency stop button in the elevator.
onStopButtonPressed() {
// To stop the elevator, we make it believe it is already exactly
// where it should be.
destination = getPosition();
}

// Elevator cabin reached its destination.
onDestinationReached() {
// We reached the destination, so we can unlock the doors.
unlockDoors();
}

=======================================

Bonus task 1: Find an implementation using also only one variable, but ameliorating as many of the problems of the above solution as possible.

Bonus task 2: Find a solution using at most n+1 variables (where n is the number of floors) that will satisfy most users. (Be aware that a the "normal" solution can't be implemented since there is only one call button per floor.)

Have fun! :)

kR Birgit

question everything goes bilingual

Hallo allerseits,
Hello everyone,

Aus verschiedenen Gründen werden in Zukunft ausgewählte Beiträge in diesem blog englisch oder zweisprachig (englisch und deutsch) sein. Die Übersetzungen werden dabei nicht immer wörtlich sein, aber im Allgemeinen sinngemäß übereinstimmen.

Insbesondere technische und wissenschaftliche Beiträge, die für mehr Leute interessant sein könnten als nur für die paar, die zufällig Deutsch sprechen, werden fortan üblicherweise auf Englisch verfasst sein.

lG Birgit



For various reasons from now on some posts in this blog will be English or bilingual (English and German). Not all translations will be literal, but they will in general convey the same meaning.

Especially technical and scientific contributions that might be interesting for more people than the few who happen to speak German will henceforth usually be written in English.

kR Birgit

Wednesday, May 27, 2009

The Great Firewall of China

Hallo,

Aus aktuellem Anlass:
http://www.student.tugraz.at/birgit.v.schmidt/publications/GreatFirewallOfChina.pdf

Der Anlass besteht darin, dass ich mit diesen Folien einen knapp halbstündigen Vortrag über die Great Firewall of China halten werde im Rahmen der LV "Advanced Computer Networks". Wer sich dafür interessiert, ist am Freitag, dem 29.05.2009, um etwa 09:00 im Hörsaal i11 herzlich willkommen. (Genaue Uhrzeit hängt davon ab, wie lange die zwei Präsentationen vor mir dauern; geplant ist, dass ich um 09:15 anfange.)

lG Birgit

Wednesday, December 24, 2008

It's the season...

"It's the season [of] love and understanding" is the text of a famous Chrismas song. Waaaiiiiit a moment... Love and understanding have a season??!? What the hell do you people do the rest of the year??

Frohe Weihnachten allerseits!

lG Birgit