How to write good code? – Prevent bad code!


If you ask programmers how to write good code, you will get lots of advice. Some will tell you to use design patterns. Others will tell you to comment your code. It also seems to be very important how you format your code, when to wrap, how long lines should be, spaces or tabs for indentation. Use of already existing libraries in the sense of ‚do not reinvent the wheel‘ is yet another common advice. Last but not least we have the TDD guys trying to convince you that TDD is the holy grail to good code.

That is all wrong! – Well, it is not really wrong, but only part of the truth. No matter how beautiful your code formatting is, no matter how many design patterns you use, or how good you adopt TDD you are still able to write code that is full of bugs, hard to understand and hard to maintain.

So let me ask you one simple question: Do you spend more time writing completely new code, or do you spend more time debugging and extending already existing code?

I assume the answer is existing code for most programmers. If that is the case for you, then you will have to deal with bugs and new features that need to coexist with old features. Fixing bugs can be a real challenge, especially if you do not fully understand all related code. What people usually do in that case is to add a little bit of code here and there, carefully paying attention not to change too much. Same for features. Usually someone designs a software and the first new feature doesn’t really fit. So you start to add little exceptions here and there. Extend this class and that. Add an if here an else there and voilá your feature is done.

Usually these cycles repeat for a while without a big negative effect. But after a few months or years, you notice that even small changes take longer and longer. You even notice, that a change you considered easy had unpredictable side effects.

I do not have a solution that is flawless, but I have some tips to make your life easier and that is: Prevent and prepare!

You know that there are certain classes of bugs. Why not prevent them? E.g. there are null pointer exceptions. But If you do not use null in your code you will not have to deal with them.
You know that there will be errors. So make sure that you will have enough information to understand what happened.

To help you and me remember I compiled a list:

Null is dangerous! Null has a special meaning. And you should use null only if you need it to express a valid state. Never use null instead of an empty array/list/set! Null does not mean ‚empty array‘. Null means: no value.
Make sure to initialize all variables. It is almost always possible to write your code in a way, that you can initialize all variables and members.
If you follow that advice you can strip all these if (myVar != null) statements. In fact, this makes your code less likely to throw null pointer exceptions. But you have to be really cautious with variables that come from other code that might return null!

Abort if you reach a state that you are not prepared for. The earlier you detect that something is wrong, the better your chances to find out why. This can be easily done by checking your arguments. But you should also explicitely state assumptions in your code. You can do this either by using assertions, but I prefer the good old IllegalStateExceptions. The reason I do not like assertions is that I do not understand why you would continue (in a production environment) when you already know that you are in an illegal state.

Create verbose error messages when something bad happens. Some of the standard exceptions are really bad. E.g. Java’s FileNotFoundException does not mention which file wasn’t found. They did it most likely for security reasons, but in many applications you want to tell the user what file is missing. Consider to add this information.
Sometimes it is really helpful for the user if you add hints how she can solve the issue. E.g. instead of just saying ‚invalid configuration‘ you should state what is wrong and how to fix it.
Despite you best effort, you will not come up with the perfect error message in you first try. Be observant! Everytime somebody comes to you with a question about one of your error messages, find out what what was missing or misleading and improve your error message.

Do not write throw away code. In my experience there is no such thing as throw away code. It always haunts you longer that you planned, because ’nothing is more definitive than the temporary‘. So if you feel, that you need to write something real quick, just to get you or others started, then you should think twice and evaluate if it isn’t possible to write production ready code instead.

Fix the cause of bugs. Especially under pressure we tend to fix the symptoms of a bug, but not the cause. Resist! Find the real cause and fix that! No exceptions! (Unless your job is at stake.)

Special cases are expensive. Every special case makes your code longer, more complex, harder to understand. It increases the entry barrier for every programmer to understand your code. Sometimes you cannot prevent special cases, because the problem domain already contains them. In that case you should find a way to incorporate them in your software design.

Do not write flexible code. Unless you need it to be flexible. Ask yourself ‚do I need this code to be flexible?‘ and if the answer is ‚we’ll today I do not need it, but maybe I need it in the future‘, then do yourself a favor and remove the flexibility.
Do you really need the second constructor?
Do you really need to allow optional arguments?
Do you really need to have this configurable? – Why can it not be hardcoded?
Is it really necessary to prepare for different kinds of SQL databases?
I beg you, if there is no real business requirement that forces you to be flexible, then be as strict as you can. This is essentially the same advice as ’special cases are expensive‘ and ’null is dangerous‘, but it is also an important one.


Liste schlechter FTP Passwörter


Vor 2,5 Monaten habe ich einen kleinen FTP-Server Honigtopf aufgesetzt, der Anmeldeversuche mitprotokolliert aber sonst nichts kann. So habe ich jetzt eine Liste von Name-Passwörter Paaren, die von FTP-ScannerTools benutzt werden. Wenn du also  einen öffentlich erreichbaren FTP-Server betreibst und eines der folgenden Passwörter benutzt, dann hast du mit großer Wahrscheinlichkeit schon ungebetene Besucher gehabt.

Insgesamt gab es in den 2,5 Monaten (2. April 2011 bis 19. Juni 2011) 1511 Loginversuche von nur 36 verschiedenen IPs und 1057 Name-Passwort Paaren. Der Honigtopf ist auf einem vServer eines großen Deutschen Hosters installiert.

Die Liste (Name und Passwort sind durch einen Doppelpunkt getrennt):

admin:^%$#@!
admin:!@#$%
admin:!@#$%^
admin:!@#$%^&
admin:!@#$%^&*
admin:!@#$%^&*(
admin:!@#$%^&*()
admin:(*&q^%$#@!
admin:)(*&^%$#@!
admin:$#@!
admin:*&^%$#@!
admin:&^%$#@!
admin:%$#@!
Admin:!@#
Admin:!@#$
Admin:!@#$%^
Admin:!@#$%^&*(
admin:010203
admin:0987654321
admin:0o9i8u7y
admin:0o9i8u7y6t
admin:1
Admin:1
admin:12
Admin:12
admin:123
Admin:123
Admin:123123
admin:1234
Admin:1234
admin:12345
Admin:12345
admin:123456
Admin:123456
admin:1234567
Admin:1234567
admin:12345678
Admin:12345678
admin:123456789
Admin:123456789
admin:1234567890
admin:12345qwert
admin:1234qwer
admin:1234zxcv
admin:123asd
admin:123qwe
admin:1passwd
admin:1Passwd
admin:1password
admin:1Password
admin:1q
admin:1q2w0o9i
admin:1q2w3e4r
admin:1q2w3e4r5t
admin:1q2w3e4r5t6y
admin:1q2w3e6y7u8i9o
admin:1qa2ws
admin:1qa2ws3ed
admin:1qa2ws3ed4rf
admin:1qasw2
admin:1qasw23ed
admin:1qaz2wsx
admin:1qaz2wsx3edc
admin:1qaz2wsx3edc4rfv
admin:1qazxsw2
admin:1qazxsw23edc
admin:2passwd
admin:2Passwd
admin:2password
admin:2Password
admin:321
admin:4321vcxz
Admin:456456
admin:54321
admin:654
admin:654321
admin:7654321
Admin:789789
admin:87654321
admin:987
admin:987654321
admin:aaaaaa
Admin:abc1
admin:abc123
Admin:abc123
Admin:abc2
Admin:abcfg
admin:admin
Admin:admin
admin:administrator
Admin:administrator
Admin:Administrator
admin:AMEX
Admin:asd
Admin:asd1
admin:asd123
Admin:asd123
admin:asdfghjkl
admin:asdzxcasdzxc
admin:azsxdcfvgbhnjmk
admin:change
admin:changeme
admin:Changeme
admin:edcedc
admin:exit
admin:Exit
admin:f1r3w@11
admin:f1r3w411
admin:firewall
admin:iphone
admin:iptables
administrador:administrador
administrator:^%$#@!
administrator:!@#$%
administrator:!@#$%^
administrator:!@#$%^&
administrator:!@#$%^&*
administrator:!@#$%^&*(
administrator:!@#$%^&*()
administrator:(*&^%$#@!
administrator:)(*&^%$#@!
administrator:@
administrator:$#@!
administrator:*&^%$#@!
administrator:&^%$#@!
administrator:%$#@!
Administrator:^%$#@!
Administrator:!@#
Administrator:!@#$
Administrator:!@#$%
Administrator:!@#$%^
Administrator:!@#$%^&
Administrator:!@#$%^&*
Administrator:!@#$%^&*(
Administrator:!@#$%^&*()
Administrator:.
Administrator:(*&^%$#@!
Administrator:)(*&^%$#@!
Administrator:$#@!
Administrator:*&^%$#@!
Administrator:&^%$#@!
Administrator:%$#@!
administrator:010203
Administrator:09211984
administrator:0987654321
Administrator:0987654321
Administrator:0c34nair
Administrator:0nl1ne
administrator:0o9i8u7y
Administrator:0o9i8u7y
administrator:0o9i8u7y6t
Administrator:0o9i8u7y6t
Administrator:0racl3
Administrator:0rFoRd1
administrator:1
Administrator:1
administrator:1.1.1.1.1
Administrator:111111
Administrator:112
administrator:12
Administrator:12
Administrator:121212
administrator:123
Administrator:123
Administrator:123123
administrator:1234
Administrator:1234
administrator:12345
Administrator:12345
administrator:123456
Administrator:123456
administrator:1234567
Administrator:1234567
administrator:12345678
Administrator:12345678
administrator:123456789
Administrator:123456789
administrator:1234567890
Administrator:1234567890
administrator:12345qwert
Administrator:12345qwert
administrator:1234qwer
Administrator:1234qwer
administrator:1234zxcv
Administrator:1234zxcv
administrator:123asd
Administrator:123asd
administrator:123qwe
Administrator:123qwe
Administrator:123QWE
Administrator:123tanokarm@
Administrator:12qazwsx
Administrator:12QAZWSX
administrator:1passwd
administrator:1Passwd
Administrator:1passwd
Administrator:1Passwd
administrator:1password
administrator:1Password
Administrator:1password
Administrator:1Password
Administrator:1q
administrator:1q2w0o9i
Administrator:1q2w0o9i
administrator:1q2w3e4r
Administrator:1q2w3e4r
administrator:1q2w3e4r5t
Administrator:1q2w3e4r5t
administrator:1q2w3e4r5t6y
Administrator:1q2w3e4r5t6y
Administrator:1q2w3e4r5t6y7u
Administrator:1q2w3e4r5t6y7u8i
Administrator:1q2w3e4r5t6y7u8i9o0p
administrator:1q2w3e6y7u8i9o
Administrator:1q2w3e6y7u8i9o
administrator:1qa2ws
Administrator:1qa2ws
Administrator:1QA2WS
administrator:1qa2ws3ed
Administrator:1qa2ws3ed
Administrator:1QA2WS3ED
administrator:1qa2ws3ed4rf
Administrator:1qa2ws3ed4rf
administrator:1qasw2
Administrator:1qasw2
administrator:1qasw23ed
Administrator:1qasw23ed
administrator:1qaz2wsx
Administrator:1qaz2wsx
Administrator:1QAZ2WSX
administrator:1qaz2wsx3edc
Administrator:1qaz2wsx3edc
Administrator:1QAZ2WSX3EDC
administrator:1qaz2wsx3edc4rfv
Administrator:1qaz2wsx3edc4rfv
administrator:1qazxsw2
Administrator:1qazxsw2
Administrator:1QAZXSW2
administrator:1qazxsw23edc
Administrator:1qazxsw23edc
Administrator:1vixeafa5
administrator:2000
administrator:2003
administrator:2010
administrator:2011
administrator:2014
Administrator:23456werty
Administrator:23456WERTY
Administrator:2345wert
Administrator:2345WERT
administrator:2passwd
administrator:2Passwd
Administrator:2passwd
Administrator:2Passwd
administrator:2password
administrator:2Password
Administrator:2password
Administrator:2Password
Administrator:2wsx3edc
Administrator:2WSX3EDC
Administrator:2wsxcde3
Administrator:2WSXCDE3
Administrator:2wsxzaq1
Administrator:2WSXZAQ1
administrator:321
Administrator:333
Administrator:3edcxsw2
Administrator:3EDCXSW2
Administrator:40z1llll
administrator:43210
administrator:4321vcxz
Administrator:4321vcxz
Administrator:4444
administrator:456123
Administrator:456456
administrator:54321
Administrator:54321
Administrator:55555
Administrator:5678tyui
Administrator:5678TYUI
Administrator:%5%7%4%5%1%4%8%7
Administrator:63375312012a
administrator:654
administrator:654321
Administrator:654321
Administrator:666666
administrator:7654321
Administrator:7654321
Administrator:7777777
administrator:784512
administrator:789456
Administrator:7895123
Administrator:789789
administrator:794613
administrator:87654321
Administrator:87654321
Administrator:88888888
administrator:895623
administrator:987
administrator:987654321
Administrator:987654321
Administrator:9999
Administrator:999999999
Administrator:a1b2c3
Administrator:A9fc91AYul
administrator:aaa
administrator:aaaaaa
Administrator:aaaaaa
administrator:abc
Administrator:abc1
administrator:abc123
Administrator:abc123
Administrator:abc2
administrator:abcdef
Administrator:abcdef
Administrator:abcfg
administrator:accept
Administrator:Access1067TOSAdvisor
administrator:adm
administrator:admin
Administrator:admin
Administrator:admin12345
Administrator:admin321321
administrator:adminadmin
administrator:administrator
Administrator:administrator
Administrator:Administrator
Administrator:AllIwantforChristmasismytwofrontteeth
administrator:AMEX
Administrator:AMEX
Administrator:an0th3rd@y
Administrator:asd
Administrator:asd1
administrator:asd123
Administrator:asd123
Administrator:asdfg
Administrator:asdfgh
Administrator:asdfghj
Administrator:asdfghjk
administrator:asdfghjkl
Administrator:asdfghjkl
administrator:asdzxcasdzxc
Administrator:asdzxcasdzxc
Administrator:aW5nIEluroot
administrator:azsxdcfvgbhnjmk
Administrator:azsxdcfvgbhnjmk
administrator:b
Administrator:B%B“&.kiki/54MPnV
Administrator:bleCroujouwLUswOEdrlAfo6w
Administrator:bnja37
Administrator:BP5FbGRr
Administrator:bUspamaxegEGuyU52PEt6estU
administrator:c
Administrator:celes3cat
Administrator:ch4ng3m3
Administrator:chang3m3
Administrator:change
administrator:changeme
administrator:Changeme
Administrator:changeme
Administrator:changeme!
Administrator:Changeme
Administrator:ch@ng3m3
Administrator:chromosphere
Administrator:ctj3kk3l
Administrator:d3lt4f0rc3
Administrator:DbCSdW!
Administrator:DidImentionIfuckinghatehackers
administrator:direktor
Administrator:dl2000
Administrator:doffmok
Administrator:dorneypark
Administrator:drag0n
Administrator:dsa100tempPass
Administrator:ed180736
administrator:edcedc
Administrator:edcedc
Administrator:eempire99
Administrator:efKO1$4?
Administrator:empire12
Administrator:eriamjh
Administrator:euroset805s
administrator:exit
administrator:Exit
Administrator:exit
Administrator:Exit
administrator:f1r3w@11
Administrator:f1r3w@11
administrator:f1r3w411
Administrator:f1r3w411
administrator:ferrari
Administrator:fiatmx1q2w3e
administrator:firewall
Administrator:firewall
Administrator:fortresstemp
Administrator:g3tt1ng1t
Administrator:gch587
Administrator:godver
Administrator:hackteam
Administrator:HaiTzucute
Administrator:harryp0tt3r
administrator:iphone
Administrator:iphone
administrator:iptables
Administrator:iptables
Administrator:iRule2Day
Administrator:iuytrewq
Administrator:j4$m1n3
Administrator:jiehIep9oudl8choabrLadI1V
Administrator:JokeandNashtuHackeri4on
Administrator:just4scan
Administrator:kalimero4cappy
Administrator:kernel
Administrator:kingfish
Administrator:l3tm31n
Administrator:l3tm3in
Administrator:letmein
administrator:linux
administrator:Linux
Administrator:linux
Administrator:Linux
Administrator:Liteon81
Administrator:liverpool
administrator:love
Administrator:l@ur3nt1uZ3us
Administrator:#mafiavafute197532@%!?*
Administrator:mailserver
administrator:master
administrator:Master
administrator:MASTER
Administrator:master
Administrator:Master
Administrator:MASTER
administrator:master1
administrator:Master1
Administrator:master1
Administrator:Master1
administrator:master123
administrator:Master123
Administrator:master123
Administrator:Master123
Administrator:mldwor
Administrator:mndy187
administrator:MrBride
Administrator:MrBride
Administrator:Mylittlerunaway
Administrator:n0spymysystem
Administrator:N6a4t4u8OEwiaW8i7HLaqLaki
Administrator:nag2freni
administrator:none
administrator:None
Administrator:none
Administrator:None
Administrator:ohshitbitch
Administrator:oiuytrewq
Administrator:p455w0rd
Administrator:P455w0rd
Administrator:p455w0rd1
Administrator:P455w0rd1
Administrator:p455w0rd12
Administrator:P455w0rd12
Administrator:p455w0rd123
Administrator:P455w0rd123
Administrator:p455word
Administrator:p455wOrd
Administrator:P455word
Administrator:P455wOrd
Administrator:p455word0
Administrator:p455word1234
Administrator:P455word1234
Administrator:p455word12345
Administrator:P455word12345
Administrator:p4ssw0rd
Administrator:P4ssw0rd
Administrator:p4ssw0rd1
Administrator:P4ssw0rd1
Administrator:p4ssword
Administrator:p4sswOrd
Administrator:P4ssword
Administrator:P4sswOrd
Administrator:P4ssword0
Administrator:p4ssword12
Administrator:P4ssword12
Administrator:p4ssword123
Administrator:P4ssword123
Administrator:p4ssword1234
Administrator:P4ssword1234
Administrator:p4ssword12345
Administrator:P4ssword12345
administrator:p@55w0rd
administrator:P@55w0rd
Administrator:p@55w0rd
Administrator:P@55w0rd
Administrator:P@55w0rd0
administrator:p@55w0rd1
administrator:P@55w0rd1
Administrator:p@55w0rd1
Administrator:P@55w0rd1
Administrator:p@55w0rd12
Administrator:P@55w0rd12
administrator:p@55w0rd123
administrator:P@55w0rd123
Administrator:p@55w0rd123
Administrator:P@55w0rd123
Administrator:p@55w0rd1234
Administrator:P@55w0rd1234
Administrator:p@55w0rd12345
Administrator:P@55w0rd12345
Administrator:p@55word
Administrator:p@55wOrd
Administrator:P@55word
Administrator:P@55wOrd
Administrator:palimpal
administrator:pass
Administrator:passw0rd
Administrator:Passw0rd
Administrator:passw0rd0
Administrator:Passw0rd0
Administrator:passw0rd1
Administrator:Passw0rd1
Administrator:passw0rd12
Administrator:Passw0rd12
Administrator:passw0rd123
Administrator:Passw0rd123
Administrator:passw0rd1234
Administrator:Passw0rd1234
Administrator:passw0rd12345
Administrator:Passw0rd12345
administrator:passwd
administrator:Passwd
Administrator:passwd
Administrator:Passwd
Administrator:passwd0
Administrator:Passwd0
administrator:passwd1
administrator:Passwd1
Administrator:passwd1
Administrator:Passwd1
Administrator:passwd12
Administrator:Passwd12
administrator:passwd123
administrator:Passwd123
Administrator:passwd123
Administrator:Passwd123
Administrator:passwd1234
Administrator:Passwd1234
Administrator:passwd12345
Administrator:Passwd12345
administrator:password
administrator:Password
Administrator:password
Administrator:passwOrd
Administrator:Password
Administrator:PasswOrd
Administrator:password0
Administrator:Password0
administrator:password1
administrator:Password1
Administrator:password1
Administrator:Password1
administrator:Password12
Administrator:password12
Administrator:Password12
administrator:password123
administrator:Password123
Administrator:password123
Administrator:Password123
Administrator:password1234
Administrator:Password1234
Administrator:password12345
Administrator:Password12345
administrator:phone
Administrator:phone
Administrator:pink_1515
Administrator:poiuytrewq
administrator:pos
administrator:Pos
administrator:POS
Administrator:pos
Administrator:Pos
Administrator:POS
administrator:pos1
administrator:POS1
Administrator:pos1
Administrator:POS1
administrator:pos123
administrator:POS123
Administrator:pos123
Administrator:POS123
Administrator:Pr99*35a!ra-EwruvU3E@rAtUk
Administrator:p@ss
Administrator:P@ss
Administrator:p@ssw0rd
Administrator:P@ssw0rd
Administrator:P@SSW0RD
Administrator:p@ssw0rd0
Administrator:P@ssw0rd0
Administrator:p@ssw0rd1
Administrator:P@ssw0rd1
Administrator:p@ssw0rd12
Administrator:P@ssw0rd12
Administrator:p@ssw0rd123
Administrator:P@ssw0rd123
Administrator:p@ssw0rd1234
Administrator:P@ssw0rd1234
Administrator:p@ssw0rd12345
Administrator:P@ssw0rd12345
Administrator:p@ssw0rdmns
Administrator:p@ssword
Administrator:p@sswOrd
Administrator:P@ssword
Administrator:P@sswOrd
Administrator:p@$$w0rd
Administrator:P@$$w0rd
Administrator:p@$$w0rd0
Administrator:P@$$w0rd0
Administrator:p@$$w0rd1
Administrator:P@$$w0rd1
Administrator:p@$$w0rd12
Administrator:P@$$w0rd12
Administrator:p@$$w0rd123
Administrator:P@$$w0rd123
Administrator:p@$$w0rd1234
Administrator:P@$$w0rd1234
Administrator:p@$$w0rd12345
Administrator:P@$$w0rd12345
administrator:pwd
Administrator:p@$$word
Administrator:p@$$wOrd
Administrator:P@$$word
Administrator:P@$$wOrd
Administrator:q1
administrator:q1w2e3
administrator:q1w2e3r4
administrator:q1w2e3system
administrator:qazqaz
Administrator:qazqaz
administrator:qazwsx
administrator:QAZWSX
Administrator:QAZWSX
administrator:qazwsxedc
administrator:QAZWSXEDC
Administrator:qazwsxedc
Administrator:QAZWSXEDC
administrator:qazwsxedcrfv
Administrator:qazwsxedcrfv
Administrator:qazxswedc
Administrator:qazxswedcvfr
Administrator:qEQawrexudadUcu7eyuswacez
administrator:qwaszx
administrator:!@#qwe
administrator:!q@w#e
administrator:!Q@W#E
Administrator:!@#qwe
Administrator:!q@w#e
Administrator:!Q@W#E
administrator:qwe123
Administrator:qwe123
administrator:qweasdzxc
administrator:QWEASDZXC
Administrator:qweasdzxc
Administrator:QWEASDZXC
administrator:qweqwe
administrator:!@#$qwer
administrator:!q@w#e$r
administrator:!Q@W#E$R
Administrator:!@#$qwer
Administrator:!q@w#e$r
Administrator:!Q@W#E$R
Administrator:qwer1234
administrator:!@#$%qwert
administrator:!q@w#e$r%t
administrator:!@#$QWERT
administrator:!Q@W#E$R%T
Administrator:!@#$%qwert
Administrator:!q@w#e$r%t
Administrator:!@#$QWERT
Administrator:!Q@W#E$R%T
administrator:qwerty
Administrator:qwerty
Administrator:qwerty!
Administrator:Qwerty
administrator:!q@w#e$r%t^y&u
Administrator:qwertyu
Administrator:!q@w#e$r%t^y&u
Administrator:qwertyui
Administrator:qwertyuio
administrator:qwertyuiop
Administrator:qwertyuiop
administrator:rdp
administrator:RDP
Administrator:rdp
Administrator:RDP
administrator:redhat
administrator:Redhat
Administrator:redhat
Administrator:Redhat
administrator:remot
administrator:Remot
Administrator:remot
Administrator:Remot
administrator:remot1
administrator:Remot1
Administrator:remot1
Administrator:Remot1
administrator:$r#e@w!q
administrator:$R#E@W!Q
Administrator:$r#e@w!q
Administrator:$R#E@W!Q
administrator:rfvrfv
Administrator:rfvrfv
Administrator:robertradiomirc
administrator:root
Administrator:root246246
Administrator:rootadmin
Administrator:rough46road15
Administrator:sapwin$$@@m60
Administrator:sd03ld83
administrator:server
administrator:Server
Administrator:server
Administrator:Server
administrator:server1
administrator:Server1
Administrator:server1
Administrator:Server1
administrator:setup
Administrator:setup
administrator:sex
administrator:sexi
Administrator:+#SGU9&rbf-#
Administrator:Sh3I5Lik3P4rtY@v3r
Administrator:sh3l5l1k3p4rty3v3r
Administrator:Sh5I8LiK6P8rtY6v5r
Administrator:siamouziesw7UNla70lafrl3t0l3frlE4lU
Administrator:spry890
Administrator:SpryTechOnly2006
Administrator:surv82
administrator:system
Administrator:system
administrator:systems
Administrator:systems
Administrator:t3mp471
Administrator:teiubescramona
administrator:tender
Administrator:testme
Administrator:TiganilAFloriNTeleormaN
Administrator:troy2469
Administrator:user
Administrator:uytrewq
administrator:visa
administrator:VISA
Administrator:visa
Administrator:VISA
Administrator:vsr7773
Administrator:W9YnNoEdPc
Administrator:whit7365
Administrator:wiu2ludrlamoatiuTriu
Administrator:WrIaRoeThIespOeh3AwriufLetiu7Tlu11u
administrator:wsxwsx
Administrator:wsxwsx
Administrator:XJ050I7bfA
Administrator:yahoomess
Administrator:ytrewq
administrator:z
Administrator:zaq1xsw2
Administrator:zarzavat
Administrator:zaxscd13524
Administrator:zEfrephaq5qAnedufrethekuW
administrator:zxcdsaqwe
Administrator:zxcdsaqwe
Administrator:zxcvbn
administrator:zxcvbnm
Administrator:zxcvbnm
administrator:zxcvzxcv
Administrator:zxcvzxcv
administrator:zxczxc
Administrator:zxczxc
administrator:zxsaqw
Administrator:zxsaqw
administrator:zzz
admin:linux
admin:Linux
admin:master
admin:Master
admin:MASTER
admin:master1
admin:Master1
admin:master123
admin:Master123
admin:MrBride
admin:none
admin:None
admin:p@55w0rd
admin:P@55w0rd
admin:p@55w0rd1
admin:P@55w0rd1
admin:p@55w0rd123
admin:P@55w0rd123
admin:passwd
admin:Passwd
admin:passwd1
admin:Passwd1
admin:passwd123
admin:Passwd123
admin:password
admin:Password
Admin:password
admin:password1
admin:Password1
admin:Password12
admin:password123
admin:Password123
admin:phone
Admin:pink_1515
admin:pos
admin:Pos
admin:POS
admin:pos1
admin:POS1
admin:pos123
admin:POS123
admin:q1
admin:q1w2e3r4
admin:qazqaz
admin:QAZWSX
admin:qazwsxedc
admin:QAZWSXEDC
admin:qazwsxedcrfv
admin:!@#qwe
admin:!q@w#e
admin:!Q@W#E
admin:qwe123
admin:qweasdzxc
admin:QWEASDZXC
admin:qweqwe
admin:!@#$qwer
admin:!q@w#e$r
admin:!Q@W#E$R
admin:!@#$%qwert
admin:!q@w#e$r%t
admin:!@#$QWERT
admin:!Q@W#E$R%T
admin:!q@w#e$r%t^y&u
admin:qwertyuiop
admin:rdp
admin:RDP
admin:redhat
admin:Redhat
admin:remot
admin:Remot
admin:remot1
admin:Remot1
admin:$r#e@w!q
admin:$R#E@W!Q
admin:rfvrfv
admin:server
admin:Server
admin:server1
admin:Server1
admin:setup
admin:Setup
Admin:setup
Admin:Setup
admin:system
admin:systems
Admin:user
admin:visa
admin:VISA
admin:wsxwsx
admin:zxcdsaqwe
admin:zxcvbnm
admin:zxcvzxcv
admin:zxczxc
admin:zxsaqw
adurante:adurante
agendas:agendas
albert:albert
alfred:alfred
allan:allan
amanda:amanda
analist:analist
anita:anita
anonymous:Ggpuser@home.com
anton:anton
apache:!
apache:!!
apache:*
apache:apache
apache:mysql
apache:NULL
aron:aron
asambiental:asambiental
asociacion:asociacion
backup:backup
ben:ben
bill:bill
bin:bin
bobby:bobby
bruce:bruce
bye:lasd
capital:capital
cesar:cesar
client:client1
client:clients
clientes:clientes
comisiones:comisiones
comunicacion:comunicacion
concepcion:concepcion
configuracion:configuracion
consuladqui:consuladqui
contador:contador
contraloria:contraloria
contreras:contreras
coordinacion:coordinacion
corinna:corinna
correo:correo
counter:counter
daemon:daemon
danny:danny
db:db
demo:demo
demo:nobody
dev:dev
dick:dick
digital:digital
disponibilidad:disponibilidad
eddie:eddie
educacion:educacion
emil:emil
especiales:especiales
externo:externo
federatas:federatas
fotograbado:fotograbado
fred:fred
ftptest:ftp
ftptest:ftptest
ftpuser:ftp
ftpuser:ftpuser
ftpuser:test
garantia:garantia
ian:ian
importaciones:importaciones
info:info
informes:informes
ingeniero:ingeniero
institucional:institucional
intendente:intendente
interventores:interventores
invdoc:invdoc
james:james
jim:jim
jorgeluis:jorgeluis
josealfredo:josealfredo
joseantonio:joseantonio
josecatarino:josecatarino
joseisabel:joseisabel
joselorenzo:joselorenzo
josemanuel:josemanuel
joserafael:joserafael
juanamiriam:juanamiriam
juanfrancisco:juanfrancisco
juanpedro:juanpedro
juridico:juridico
karl:karl
lib:lib
lisa:lisa
luiscarlos:luiscarlos
monica:monica
mysql:!
mysql:!!
mysql:*
mysql:apache
mysql:mysql
mysql:NULL
mywebs:mywebs
newuser:test
newuser:testing
newuser:wampp
nobody:lampp
observatorio:observatorio
oracle:oracle
panama:panama
pete:pete
philip:philip
plesk:plesk
popa3d:popa3d
portuaria:portuaria
presendez:presendez
prevencion:prevencion
probador:probador
proc:proc
profesionales:profesionales
protocolo:protocolo
publicas:publicas
qualidade:qualidade
recursos:recursos
relations:relations
reservas:reservas
residuos:residuos
root:dd23R374%
root:hinterlader88
root:root
samba:samba
sammy:sammy
secretariad:secretariad
secretario:secretario
sendmail:sendmail
shaun:shaun
software:software
steven:steven
sybase:sybase
tanga:tanga
teamspeak3:teamspeak
tecnicos:tecnicos
telefonos:telefonos
test:00
test:12
test:12345
test:12345678
test:12345test
test:2
test:222
test:54321
test:Lr0l0Pt0
test:p@ssw0rd
test:t3mp
test:t3t
test:te
test:test
test:test1
test:test123
test:test123456
test:testing
test:testtest
test:tmp
test:tmp123
test:user
testuser:testuser
test:wampp
tmp:tmp
tom:tom
transacuatico:transacuatico
travers:travers
ts3:ts3
ts:ts
usr:usr
usuario1:usuario1
voluntariado:voluntariado
vps:vps1
wampp:xampp
webadmin:webadmin
webftp:web
webmaster:webmaster
will:will

Zusätzlich zu diesen 1055 Passwörtern wurde noch die Name/Passwort-Paare domain:domain und domainOhneEndung:domainOhneEndung probiert. Wenn du also  die Domain example.com hast, dann wurde examplecom:examplecom und example:example ausprobiert.


Karo-, Hexfeld- und Konfettiepapier


Mir war langweilig, also hab ich ein PDF gebastelt für diagonalkariertes Millimeterpapier, Hexfeldpapier und Konfettipapier. Das PDF hat insgesamt 23 Seiten, und den Link gibts auch: Karo Hexfeld und Konfettiepapier

Das Pdf enhält

  1. Millimeterpapier ganzseitig
  2. Millimeterpapier mit Rand
  3. Karos 5mm ganzseitig
  4. Karos 5mm mit Rand
  5. Karos 1cm ganzseitig
  6. Karos 1m mit Rand
  7. Karos 2cm ganzseitig
  8. Karos 2m mit Rand
  9. Millimeterpapier diagonal (45°) ganzseitig
  10. Millimeterpapier diagonal (45°) mit Rand
  11. Karos 5mm diagonal (45°) ganzseitig
  12. Karos 5mm diagonal (45°) mit Rand
  13. Karos 1cm diagonal (45°) ganzseitig
  14. Karos 1m diagonal (45°) mit Rand
  15. Karos 2cm diagonal (45°) ganzseitig
  16. Karos 2m diagonal (45°) mit Rand
  17. Konfettipapier
  18. Konfettipapier gestrichelt
  19. Konfettipapier gepunktet
  20. Hexfeldpapier mit 5mm ‚Radius‘
  21. Hexfeldpapier mit 1cm ‚Radius‘
  22. Schachbrett mit 2*2 cm pro Feld

Wenn dir was fehlt, dann schreib nen Kommentar. Vielleicht wird mir ja nochmal langweilig 😉

Eine kleine Auswahl an Vorschaubildchem hab ich auch noch gemacht. Allerdings ist die Galerie nicht vollständig, weil es mir zu langweilig ist für jede Seite ein Bild zu machen.


Chrooted SFTP User in Ubuntu


Kurzanleitung zur Einrichtung von Useraccounts, die nur sftp Zugang haben und in ihrem Homeverzeichnis eingesperrt sind. Die Anleitung orientiert sich stark an http://www.ericstockwell.com/?p=54. Wir verzichten auf Tools wie scponly, die meiner Meinung nach, ein unverschämtes UI haben.

Wir müssen zwei Dinge tun:

  1. Einen User anlegen und die richtigen Einstellungen vornehmen.
  2. Den SSH Daemon so umkonfigurieren, dass er den User in ein Chroot einsperrt.

Fall noch nicht geschehen, dann muss ssh installiert werden:

# apt-get install ssh

User anlegen

SSH ist sehr sensibel gegenüber Dateirechten, deshalb müssen wir sicherstellen, dass der Ordner in den wir den User einsperren wollen die richtigen Rechte gesetzt hat. Erstmal legen wir den User an, erzeugen sein Homeverzeichnis (das Verzeichnis in welches er eingesperrt werden soll), setzen das Passwort und dann stellen wir sicher, dass die Dateirechte richtig sind. Das Homeverzeichnis muss root gehören, und nur root hat Schreibrechte, die Gruppe ist im Prinzip egal, aber es macht Sinn die Gruppe des Users zu verwenden.

# useradd myuser
# mkdir /home/myuser
# usermod -d /home/myuser myuser
# passwd myuser
# chown root:myuser /home/myuser
# chmod 755 /home/myuser

Einer der wichtigsten Schritte ist es dem User die Loginshell wegzunehmen.

# usermod -s /bin/false myuser

/bin/false ist ein Kommando, das nichts tut und das auch noch unerfolgreich (siehe Manpage false(1)), d.h. wenn der User sich versucht einzuloggen, dann wird /bin/false ausgeführt, das schlägt fehl und der User wird sofort wieder rausgeworfen. Das sollte man vielleicht mal ausprobieren mit

$ su - myuser

Auch ein Loginversuch über ssh kann das Vertrauen erhöhen. Hier erfolgt der Rauswurf erst nachdem man versucht hat Befehle abzusetzen.

$ ssh myuser@host

SSHD einrichten

Beim SSHD müssen wir zwei Dinge abändern, erstens das Subsystem und zweitens müssen wir SSH sagen, dass wir myuser in sein Homeverzeichnis sperren wollen. Beides wird in der /etc/ssh/sshd_config eingestellt. Danach muss der sshd neu gestartet werden.

Als erstes ersetzen wir die Zeile die mit Subsystem beginnt durch

Subsystem sftp internal-sftp

Dann fügen wir am Ende der sshd_config folgendes ein:

Match User myuser
     ChrootDirectory /home/myuser
     ForceCommand internal-sftp

Und den sshd neustarten.

# /etc/init.d/ssh restart

Ab jetzt sollte es möglich sein, sich über sftp und nur über sftp als myuser zu verbinden. Und man sollte ausser einem leeren Verzeichnis nichts sehen und auch nicht in der Lage sein Dateien hochzuladen. Das sollten wir testen.

$ sftp myuser@host

Falls der Login nicht klappt, dann hilft ein Blick ins /var/log/auth.log Verzeichnis. Da könnte z.B. sowas drinstehen:

fatal: bad ownership or modes for chroot directory component „/home/“

Was in unserem Fall bedeuten würde, dass /home nicht root gehört.

Uploadverzeichnis einrichten

Ein Uploadverzeichnis ist eines mit Schreibrechten für den User.

$ mkdir /home/myuser/upload
$ chown myuser:myuser /home/myuser/upload
$ chmod 755 /home/myuser/upload

Weiteres


TestNG: mit DataProvidern auf Exceptions testen


Das Testframework TestNG bietet DataProvider an, mit deren Hilfe es leicht möglich ist viele Kombinationen von Eingabeparametern zu überprüfen. Aber was macht man, wenn man bei bestimmten Eingaben eine Exception erwartet? Einen zweiten Test mit DataProvidern, so dass man einen Test für valide Eingaben und einen für invalide Eingaben hat? Oder sollte man die invaliden Eingaben lieber in separaten Testcases prüfen, damit man auch prüfen kann, dass die korrekte Exception fliegt?

Ich finde beide Lösungen etwas unübersichtlich. Aber zum Glück gibt es Abhilfe.

public String append(String s, String t)
{
  if (s == null || t == null) throw new NullPointerException();
  return s + t;
}

@DataProvider(name = "providerAppend")
public Object[][] providerAppend()
{
  return new Object[][] {
    { null, null, new NullPointerException() },
    { "", null, new NullPointerException() },
    { null, "", new NullPointerException() },
    {"abc", "def", "abcdef" },
    {"abc", "", "abc" },
    {"", "def", "def" }
  };
}

@Test(dataProvider = "providerAppend")
public void testAppend(String s, String t, Object expected)
{
  if (expected instanceof Exception)
  {
    try
    {
      append(s, t);
      Assert.fail("Expected an exception: " + expected.getClass());
    }
    catch (Exception e)
    {
      Assert.assertEquals(e.getClass(), expected.getClass());
    }
  }
  else
  {
    Assert.assertEquals(append(s,t), expected);
  }
}

In obiger Lösung gehen wir einfach davon aus, dass es für den DataProvider egal ist, ob der Rückgabewert nun eine Wert oder eine Exception ist. Das handling wird dann in der Testmethode übernommen, und zwar dadurch, dass wir unterschiedliche Testimplementierungen wählen, je nachdem ob der erwartete Wert vom Typ Exception ist oder nicht. Wenn er vom Typ Exception ist, dann stellen wir sicher, dass eine Exception geworfen wird, und das die Klasse identisch mit der Erwartung ist. Manchmal kann es sinnvoll sein, denn Klassenvergleich gegen eine instanceof Prüfung zu ersetzen.


vServer oder dedicated Server was ist besser?


Wer mit dem Gedanken spielt eine eigene Webseite aufzusetzen die einige tausend Besucher am Tag anlocken soll, der wird sich irgendwann die Frage stellen, ob er mit einem eigenen Server nicht besser bedient ist, als mit einem traditionellen Webhosting. Wenn man dann anfängt sich schlauer zu machen, dann findet man dutzende Angebote von vServern ab 7-8 Euro im Monat, bis zu dedicated Servern für hundert oder mehr Euro im Monat.

Die Frage was für wen das richtige ist lässt sich nicht so einfach beantworten und verlangt, dass man sich erstmal klar darüber wird, was man braucht und vielleicht mal brauchen wird. Ich will hier einige Stolperfallen und Wehrmutstropfen ansprechen, über die man sich im Klaren sein sollte.

Also erstmal: Wer die kompromisslose Performance braucht, der sollte einen Hoster finden, bei dem er sich beliebige Hardware aussuchen kann und die direkt an einen der Backbone Switches (z.B. ein Port am DE-CIX Knoten in Frankfurt gibts für schlappe 2000 € im Monat) anschließen kann. Aber sowas wird für die meisten etwas zu teuer sein.

Dedicated Server

Preiswerter geht es da schon mit den dedicated Servern, also ein (physikalischer) Rechner, der irgendwo in einem Rechenzentrum steht und nur von dir benutzt wird. Solche Kisten gibt es in zwei Ausführungen: 1. Managed Server und 2. die Anderen. Bei Managed Servern kümmert sich der Hoster um Installation, Wartung usw.. Das bedeutet auch, dass man keine Admin/Root Rechte hat. Bei den nicht Managed Servern bekommt man meistens eine nackte Installation hingestellt und Zugangsdaten für SSH bzw. RemoteDesktop. Was man dann auf der Kiste installiert bleibt einem selbst überlassen, d.h. auch Betriebsystem updates und Sicherheitspatches liegen dann in der eigenen Verantwortung.

Auch wenn sich Managed Server ersteinmal wunderbar anhört, so hat er doch einige Nachteile. Zum einen bezahlt man mindestens einen hunderter mehr im Monat, oder man bezahlt jedesmal, wenn man etwas installiert haben möchte. Ein zweiter Nachteil ist, dass man immer erst einem Mitarbeiter des Hosters erklären muss, was man haben will. Reibungsverluste sind vorprogrammiert. Auf der anderen Seite ist natürlich nicht jeder in der Lage einen Server selbst zu administrieren. Und auch wenn man aktuell einen fähigen Studenten eingestellt hat, kann es sinnvoll sein, sich nicht von dem abhängig zu machen.

Die Hardwareausstattung ist eine reine Preisfrage. Es gibt Angebote für so ziemlich alles.

vServer

vServer sind Schnäppchen unter den Servern. Bei diesen Angeboten teilt man sich den Rechner mit anderen Kunden. Wie viele das sind kann man pauschal nicht sagen. Geboten bekommt man einen virtuellen Rechner, der sich so anfühlt, wie ein eigener Server, d.h. man sieht von den anderen Kunden nichts.Virtuelle Server gibt es ebenfalls in Managed und Unmanaged Varianten.

Die Hardware des Wirtsystems kann ebenfalls sehr unterschiedlich ausfallen. Ich hab schon Maschinen gesehen mit modernsten CPUs drin (in dem Fall zwei 8 Core Xeons), die darauf schließen lassen, dass an der restlichen Hardware auch nicht gespart wurde. Viel wichtiger als die CPUs ist allerdings, wie die vServer eingestellt wurden. D.h. wie viel RAM bekommt man garantiert, wie viele Programme darf man öffnen, wie viele Filehandles und ähnliches.

Beim RAM werden meist zwei Zahlen veröffentlicht: garantiertes RAM und dynamisches RAM. Hat man 512MB garantiertes RAM, dann kann man sich darauf verlassen für die eigenen Prozesse mindesten 512 MB zu haben. Dynamisches RAM bedeutet im Grunde folgendes. Wenn der Rechner noch RAM übrig hat, dass nicht von anderen Kunden benutzt wird, dann kann man dies ebenfalls nutzen. Ich für meinen Teil ignoriere dieses dynamische RAM vollkommen und richtige mich einzig und allein nach dem garantierten.

Eine Einschränkung, die man leider nicht aus der Reklame herauslesen kann ist, wie viele Programme man gleichzeitig laufen haben darf bzw. wie viele Dateien man gleichzeitig geöffnet haben darf. Diese Einstellungen werden sehr unterschiedlich gesetzt und können ganz leicht dazu führen, dass man die Kiste nicht benutzen kann.

Max open files: Auf Linux Systemen meistens mit dem Befehl cat /proc/user_beancounters  | grep numfile nachzuschlagen. Diese Zahl regelt wie viele Files gleichzeitig geöffnet sein dürfen, und dazu zählen auch alle referenzierten Libraries und Sockets. Bei meinem vServer steht die Zahl z.B. aktuell bei 2334 und ich hab lediglich einen apache, mysql-server, tomcat, exim4, dovecot, svnserve, sshd laufen, ohne dass die viel tun (die Kiste ist gerade frisch neugestartet). Wenn der Hoster das Limit nun auf 4000 setzt (das hab ich schon mehrfach gesehen), dann können einen schon ein paar Besucher auf dem Apachen und einige ankommende und abgehende Mails ins Limit laufen lassen. Und dann hagelt es Fehlermeldungen.

Ein weiteres Problemchen sind Wartungsarbeiten am Wirtsystem.  Wenn der vServer-Betreiber seine Hausaufgaben macht, dann wird es regelmäßig (alle paar Monate) zu einem Neustart es Wirtsystems und damit auch des vServers kommen. Auf den Zeitpunkt hat man keinen Einfluss. Und wehe dem, der die Maschine nicht so konfiguriert hat, dass die das unbeschadet übersteht und auch alle Dienste wieder hochfährt. Es gibt nichts ärgerlicheres, als auf den Bahamas zu sitzen und der Webshop startet nicht mehr.

Natürlich sind vServer echt preiswert.  Wer auf Ausfallsicherheit setzen will, und in der Lage ist das selbst einzurichten, der sollte darüber nachdenken sich 2 bis n vServer zulegen. So kann man sich für den Preis eines dedicated Servers eine kleine Farm an vServern zulegen, die über verschiedene Provider verteilt sind und in verschiedenen Netzen hängen.


Tonspurtricks für mencoder, ffmpeg, mp3gain, lame u.ä.


Eine Audiospur zu einem AVI hinzufügen

ffmpeg -vcodec copy -acodec copy -i audio.mp3 -i input.avi output.avi -newaudio

Eine Audiospur aus einer VOB-Datei extrahieren

Dieser Befehl extrahiert die deutsche Tonspur und speichert sie als wav-Datei ab.

mplayer dvd://2 -dvd-device /path/to/dvd -alang de -vo null -ao pcm:fast

Alternativ kann man auch die Nummer der Tonspur angeben

mplayer dvd://2 -dvd-device /path/to/dvd -aid 128 -vo null -ao pcm:fast

Wav nach mp3 kodieren

Wenn man lame ohne irgendwelche Kodierungsparameter aufruft, dann wird ein 128kbps MP3 erstellt. Das sollte für 95% der Einsatzzwecke genau richtig sein.

lame input.wav output.mp3

Lautstärke normalisieren

Zum Normalisieren eignet sich imho mp3gain mit den Parametern -r -und -k ganz gut. -r ist super, wenn man mehrere Dateien hat und will dass die alle gleich laut sind (z.B. eine deutsche und eine englische Tonspur). Und -k verhindert nervige Klickgeräusche die entstehen, wenn einzelne Töne zu laut sind.

mp3gain -r -k *.mp3

Will man die Lautstärke schon mein Kodieren mit Mencoder normalisieren eignet sich der audio Filter volnorm=1.

mencoder dvd://2 -dvd-device /path/to/dvd \
  -alang de -af volnorm=1 -oac mp3lame -lameopts abr:br=128 \
  -ovc lavc -o out.avi

Have fun!


Informatikerwitze


  1. Der kürzeste Informatikerwitz:
    „Habs gleich!“
  2. Der zweitkürzeste Informatikerwitz:
    „Das müsste jetzt funktionieren.“
  3. How many people can read hex if only you and dead people can read hex? Antwort: 57006 (<- markieren)
  4. Am Straßenrand steht ein Auto mit einem platten Reifen. Woran erkennt man, dass der Fahrer Informatiker ist? – Wenn er nachsieht, ob an den anderen Reifen der gleiche Fehler auftritt.
  5. Es gibt 10 Arten von Menschen. Solche die binär verstehen und die Anderen.
  6. Wieviele Informatiker braucht man, um eine Glühbirne zu wechseln? – Keinen, das ist ein Hardwareproblem!
  7. Gespräch zweier Informatiker:
    „Wie ist denn das Wetter bei euch?“
    „Caps Lock.“
    „Hä?“
    „Na ja, Shift ohne Ende!“
  8. Ein Informatiker stellt sich jeden Abend ein volles und ein leeres Glas Wasser neben sein Bett. Warum? – Das volle Glas ist dafür falls er in der Nacht aufwacht und Durst hat. Und das leere Glas ist falls er in der Nacht aufwacht und keinen Durst hat.
  9. Warum verwechseln Informatiker Weihnachten mit Halloween?
    Weil 31 Oct = 25 Dez.
  10. Wer zuletzt lacht, hat den höchsten Ping.
  11. DEVICEHIGH=C:\DOS\CAT.SYS… der schnellste Maustreiber der Welt!
  12. Informatiker sind die besten Überlebenskünstler. Man stelle sich einmal einen Informatiker im tiefsten Winter in einem dunklen Wald von hungrigen Wölfen gejagt vor. Hier ist der Informatiker geradezu in seinem Element. Er steht nämlich vor einem Problem, und solche zu lösen hat er ja während seines Studiums sehr ausführlich und mühsam erlernt. Das Problem ist zwar bereits gegeben, aber irgendwann einmal hat er vor langer, langer Zeit gelernt, dass ein Problem erst spezifiziert sein will. Er beginnt also.
    Gegeben: Landschaft mit 1 Informatiker und n Wölfen, n aus NAT.
    Gesucht: Landschaft mit 1 Informatiker und keinen Wölfen.
    Lösungsweg: Wölfe mit einem Prügel verjagen.
    Sicher kann sich unser Informatiker denken, dass das Problem nicht einfach zu lösen ist. Also beginnt er, es in Teilprobleme zu zerlegen. Etwa in n Teilprobleme: für alle i aus (1..n): den Wolf i verjagen. Nun ist unser Informatiker überglücklich. Er benutzt eine simple FOR…NEXT-Schleife, in der er nacheinander die n Teil- probleme löst und somit seine Teillösungen sogar schon zu einer Gesamtlösung zusammengesetzt hat. Dass der Algorithmus korrekt ist und terminiert, hat unser Informatiker schnell bewiesen. Was nun weiter geschieht, ist typisch, wenngleich es zwei Möglichkeiten gibt.
    Fall 1 – Wir haben einen Durchschnittsinformatiker vor uns. In Ermangelung eines Rechners benutzt er sich selbst als Maschine und lässt das Programm auf sich ablaufen. Er beginnt damit, den Wolf Nr. 1 zu verjagen, kommt zu Wolf Nr. 2, doch spätestens jetzt hat ihn ein Wolf, der laut Algorithmus noch gar nicht an der Reihe ist, ins Bein gebissen, worauf er in Panik gerät, das ganze schöne formale Denken vergisst und ein- fach instinktiv die Flucht ergreift. Später dann, wenn er in Sicherheit ist und wieder klar denken kann, bricht eine ganze Welt in ihm zusammen. Dies kommt davon, wenn man sich als Durchschnittsinformatiker mit praktischen Problemen beschäftigt.
    Fall 2 – Ganz anders, wenn wir einen hochbegabten, mathematisch besonders geschulten Informatiker aus Karlsruhe in die Wildnis schicken, der schon nach dem 3. Semester das Vordiplom und nach dem 7. das Hauptdiplom gemacht hat. Er sieht zwar n Wölfe, zweifelt jedoch daran, dass die Zahl der Wölfe ohne sein Zutun konstant bleiben wird. Es könnten ja während des Verjagens eine noch nicht verjagte Wölfin Junge werfen. Um den Aufwand des Wölfeverjagens unter diesem Aspekt abzuschätzen, muss zuerst eine Rekurrenzrelation gelöst werden, ganz abgesehen davon, dass das Problem neu spezifiziert werden muss. Mit Erschrecken stellt unser Informatiker fest, dass ab einem bestimmten n der Algorithmus nicht mehr terminiert (es werden in gleicher Zeit mehr Junge geworfen, als er Wölfe verjagen kann). Er wird also eine neu Spezifikation vornehmen.
    Gegeben: Ort a mit n Wölfen und 1 Informatiker, ein Ort b;
    Gesucht: Ort a mit n+k Wölfen (k ist die Anzahl der zwischenzeitlich geborenen Wölfe), ein Ort b ohne Wölfe mit mindestens einem Informatiker.
    Lösungsweg: Flucht von Ort a nach Ort b.
    Nach Ausführung seines Algorithmus trifft er dann auf unseren Durchschnittsinformatiker, der wahrscheinlich auf eine Baumspitze geflüchtet ist, wohin er sich eilends auch begibt und wartet, bis die Wölfe wieder abziehen. Sind die Wölfe erst weg, so werden sich beide Informatiker schnell darüber einig, dass man den Baum am besten per rekursivem Abstieg herunterkommt. Da sie lange auf dem Baum saßen, waren sie stark durchgefroren. Doch zum Glück kam ihnen eine alte Algorithmenentwurfsmethode entgegen, und eine alte Axt, die herumlag, entpuppte sich als ein ausgezeichnetes Programmierwerkzug.
  13. A Linux-Server is like a tent:
    – no windows
    – no gates
    – and an Apache inside
  14. Ein Tourist ging in eine Zoohandlung. Während er sich so umschaute, kam ein Kunde in den Laden und sagte zu dem Verkäufer: „Ich hätte gerne einen Excel-Affen!“
    Der Verkäufer nickte, ging hinüber zu einem Käfig und holte einen Affen heraus. Er machte eine Leine an den Affen, übergab ihn dem Kunden und sagte: „Das macht 3000 Euro.“
    Der Kunde zahlte und verließ das Geschäft. Erstaunt ging der Tourist zu dem Verkäufer und sagte: „Das war aber ein sehr teurer Affe. Warum kostet der denn so viel?“
    „Der Affe kann Excel programmieren – sehr schnell, wenig Aufwand, keine Fehler und eben sehr günstig!“
    Der Tourist schaute zu einem anderen Affen im Käfig. „Dieser ist ja noch teurer, der kostet ja 5000 Euro. Was kann dieser denn?“
    „Oh, dies ist ein Web-Affe! Er beherrscht das Design von Webseiten, kann programmieren, präsentieren und all dies nützliche Zeugs,“ sagte der Verkäufer.
    Der Tourist schaute sich noch eine Weile um und sah einen dritten Affen in einem Käfig. Der Preis hing an seinem Hals: 25.000 Euro.
    Er lief erstaunt zu dem Verkäufer und sagte: „Dieser kostet ja mehr als alle anderen zusammen! Was zum Himmel kann der denn?“
    Der Verkäufer antwortete: „Tja, ich habe ihn noch nie etwas Nützliches tun sehen, aber die anderen Affen nennen ihn Administrator!“
  15. Was macht ein Hacker am Anglersee?
    Phishen!
  16. Beweis der Theorie „Programmierer sind Vampire“:
    1. Sie sind Nachtaktiv
    2. Sie scheuen das Sonnenlicht
    3. Ein Holzpflock ins Herz tötet sie
    4. Silberkugeln sind auch sehr Wirksam
    5. Es gibt Exemplare mit Knoblauchallergie und die Exemplare ohne Knoblauchallergie sind einfach nur den heutigen Lebensbedingungen angepasst
  17. If you give someone a program you will frustrate them for a day… If you teach them how to program, you will frustrate them for a lifetime.
  18. Was ist der Unterschied zwischen einem Mathematik- und einem Informatik-Studenten? Der Mathe-Student wollte Mathe studieren.

Mathematikerwitze


    1. Auf die Frage was Pi sei erhält man folgende Antworten:
      Ingenieur: 3 und 1/7
      Physiker: 3.141592
      Mathematiker: das ist exakt gleich Pi
    2. Der kürzeste Mathematikerwitz:
      Sei ε < 0
    3. Zwei Mathematiker arbeiten an einer Aufgabe. Meint der Erste:
      „Die Lösung ist doch trivial.“
      Aber der Zweite kommt nicht dahinter. Eine Woche lang rechnet er Beispiele und wühlt sich durch Berge von Büchern. Dann trifft er den Ersten wieder und meint:
      „Stimmt, du hast recht. Die Aufgabe ist trivial.“
    4. Ein toter Mathematiker zu Gott: „Ich habe mein ganzes Leben lang versucht Riemanns Vermutung zu beweisen, bin aber immer wieder gescheitert. Bitte sag mir ob sie stimmt.“
      Gott: „Ja, sie stimmt.“
      Mathematiker: „Und wie geht der Beweis?“
      Gott: „Wie Beweis? Das sieht man doch!“
    5. Einem Mathematiker werden ein belegtes Brötchen und die ewige Glückseligkeit zur Auswahl angeboten. Was nimmt er und warum? – Er nimmt das Brötchen, denn nichts ist besser als Glückseligkeit, aber ein Brötchen ist besser als nichts.
    6. Math and alcohol don’t mix, so…
      Please, don’t drink and derive!
    7. I have a girlfriend she is like sqrt(-100), a 10 but imaginary.
  1. Treffen sich zwei Matrizen. Sagt die eine zur anderen: „Lass uns ein Bier trinken!“ Darauf erwidert die andere: „Nee, lass uns erst ‚mal etwas essen, dann haben wir eine Basis.“
  2. Der Mathe-Professor wurde einmal auf dem Campus der Universität von einem Studenten angesprochen. Er blieb stehen und erklärte dem Studenten sein Problem. Als sie fertig waren, fragte er: „Bin ich aus dieser Richtung oder aus der entgegengesetzten Richtung gekommen, als Sie mich ansprachen?“ Der Student nannte ihm die Richtung, aus der er gekommen war. „Aha“, sagte der Professor, „dann habe ich noch nicht gegessen.“, und setzte seinen Weg in Richtung der Mensa fort.
  3. Behauptung: Unendlich = 2
    Beweis: Wieviele Symmetrieachsen hat ein Kreis? Antwort: Unendlich viele!
    Jetzt teilen wir alles durch zwei! Wieviele Symmetrieachsen hat der Halbkreis?
    Antwort: Eine einzige!
    Daraus folgt: Unendlich=2. q.e.d.
  4. Neulich in Analysis: „Die nächste Schranke die ich sehe breche ich ab!“ – „Aber denk doch an die Folgen!“
  5. Methoden zur mathematischen und aussagenlogischen Beweisführung
    • WISCHTECHNIK-METHODE: Man wischt die entscheidenden Stellen des Beweises sofort nach dem Anschreiben wieder weg (rechts schreiben, links wischen).
    • METHODE DER EXAKTEN BEZEICHNUNGEN: Sei p ein Punkt q, wir wollen ihn r nennen.
    • PRÄHISTORISCHE METHODE: Das hat irgendwann schon mal jemand gezeigt.
    • AUTORITÄTSGLÄUBIGE METHODE: Das muss stimmen. Das steht so im Bronstein.
    • AUTORITÄTSKRITISCHE METHODE: Das kann nicht stimmen. Das steht so im Jänich.
    • ERKENNTNISPHILOSOPHISCHE METHODE, PHILOS. SEM. A: Ich habe das Problem erkannt!
    • ERKENNTNISPHILOSOPHISCHE METHODE, PHILOS. SEM. B: Ich glaube, ich habe das Problem erkannt!
    • PAZIFISTISCHE METHODE: Also, ehe wir uns darüber jetzt streiten, glaub ich das einfach!
    • KOMMUNIKATIVE METHODE: Weiß das vielleicht jemand von ihnen?
    • KAPITALISTISCHE METHODE: Eine Gewinnmaximierung tritt ein, wann wir gar nichts beweisen, dann verbrauchen wir nämlich am wenigsten Kreide.
    • KOMMUNISTISCHE METHODE: Das beweisen wir jetzt gemeinsam. Jeder schreibt eine Zeile, und das Ergebnis ist Staatseigentum.
    • NUMERISCHE METHODE: Grob gerundet stimmt’s!
    • PHYSIKER METHODE: Das beweisen wir jetzt nicht, das ist sowieso zu schwer für die Physiker.
    • ZEITLOSE METHODE: Man beweise so lange herum, bis niemand mehr weiß, ob der Beweis nun schon zu Ende ist oder noch nicht.
    • BEWEIS DURCH BEISPIEL: Der Autor behandelt nur den Fall n=2 und unterstellt dann, dass die Vorgehensweise für den allgemeinen Fall klar ist.
    • BEWEIS DURCH EINSCHÜCHTERUNG: „Das ist doch wohl trivial!“
    • BEWEIS DURCH IMPLIZITE GEWALTANDROHUNG: „Dann kommen Sie doch mal an die Tafel und beweisen mir das Gegenteil!“
    • BEWEIS DURCH ÜBERLADENE NOTATION: Am besten, man verwendet mindestens vier Alphabete und viele Sonderzeichen. Hier reicht das griechische Alphabet alleine nicht mehr aus, um engagierte Zuhörer abzuschrecken. Ein kurzer Exkurs in die hebräischen Sonderzeichen sollte aber auch den stärksten Zweifler zum Schweigen bringen.
    • BEWEISE DURCH AUSLASSEN: 1. „Die Details bleiben als leichte Übungsaufgabe dem geneigten Leser überlassen.“ 2. „Die anderen 253 Fälle folgen völlig analog hierzu.“
    • BEWEIS DURCH VERWIRRUNG: Eine lange, zusammenhanglose Folge von wahren und/oder bedeutungslosen, syntaktisch verwandten Aussagen wird verwendet. Während der engagierte Leser noch versucht, den roten Faden zu finden, wird er durch parallele Anwendung der überladenen Notation verwirrt.
    • BEWEIS DURCH REDUKTION AUF DAS FALSCHE PROBLEM: „Um zu zeigen, dass dies eine Abbildung in die Menge der s-saturierten Ideale ist, reduzieren wir es auf die Riemannsche Vermutung.“
    • BEWEIS DURCH NICHT VERFÜGBARE LITERATUR: Der Autor zitiert ein einfaches Korollar eines Theorems, welches problemlos nachgelesen werden kann und zwar in einem Mitteilungsblatt der slowenischen philologischen Gesellschaft, 1883. Diese Beweisführung ist völlig erschöpfend und wird seit Jahrzehnten mit Vorliebe bei schriftlichen Ausarbeitungen (siehe Literaturangaben in beliebigen Dissertationen und Habilitationen) angewandt.
    • BEWEIS DURCH REKURSIVEN QUERVERWEIS: „In Quelle a wird Satz 5 gefolgert aus Satz 3 der Quelle b, welcher seinerseits sofort aus Korollar 6.2 der Quelle c folgt, den man trivial aus Satz 5 der Quelle a erhält.“
    • BEWEIS DURCH METABEWEIS: Es wird ein Verfahren angegeben, um den geforderten Beweis zu konstruieren. Die Korrektheit des Verfahrens wird unter Anwendung einer der oben genannten Beweisführungsprinzipien unwiderlegbar nachgewiesen.
    • BEWEIS DURCH SCHEINVERWEIS: Nichts dem zitierten Satz auch nur entfernt Ähnliches erscheint in der angegebenen Quelle.
    • BEWEIS DURCH WIDERSPRUCH: „Das ist so. Widerspricht mir jemand? Nein? Gut, dann ist es also bewiesen!“
    • BEWEIS DURCH KONFUSE LEHRKÖRPER: „Der Professor sagt A, schreibt B, meint dabei C, rechnet weiter mit D, bekommt E heraus, aber F wäre richtig gewesen“
    • 3-W-METHODE: „Wer will\’s wissen?“
    • BEWEIS DURCH PAUSE: Prof kurz vor der Pause: „Diesen Satz beweise ich Ihnen nach der Pause.“
    • Prof nach der Pause: „Wie wir vor der Pause bewiesen haben…“
  6. Ein Mathematiker kam abends mit dem Zug in einer Stadt an und auf die Frage nach einer Unterkunft verwies man ihn an das Hotel mit den unendlich vielen Zimmern. Dort angekommen bedauerte der Portier: „Leider sind alle Zimmer besetzt.“ „Aber das ist doch kein Problem“ entgegnete der Mathematiker. „Der Gast in Zimmer 1 wechselt nach Zimmer 2, der von Zimmer 2 nach Zimmer 3 usw. Damit ist Zimmer 1 fuer mich frei.“ Zufrieden legte sich der Mathematiker zur Ruhe in Zimmer 1. Da wollte der Zufall, dass in der selben Nacht noch ein Zug mit unendlich vielen Fahrgaesten ankam, die alle ein Zimmer suchten. „Unmöglich. Wir sind ausgebucht“ sagte der Portier des Hotels mit den unendlich vielen Zimmern. Der vielstimmige Protest weckte unseren Mathematiker, der nachschaute, was da denn los sei. „Sie kommen wie gerufen“ meinte der Portier. „Wie soll ich nur unendlich viele Gaeste unterbringen, das Haus ist voll.“ „Nichts leichter als das: ich ziehe von Zimmer 1 ins Zimmer 2, der Gast von Zimmer 2 zieht in Zimmer 4, der von Zimmer 3 in Zimmer 6 usw. Dann sind alle ungeradzahligen Zimmer frei und unendlich viele Gaeste haben noch Platz.“ Aber dann gab’s noch ein Problem: Im Morgengrauen kamen die Pfadfinder, und die sind überabzählbar. Da mussten dann doch die meisten von ihnen vor dem Hotel zelten.
  7. Die Evolution eines Mathematikers: Ein Mathematikstudent im ersten Semester wird gefragt: „Wieviel ist 2×2?“ Blitzschnell antwortet er „Vier.“ Im zweiten Semester wird er wieder gefragt: „Wieviel ist 2×2?“ Daraufhin läuft er ins Rechenzentrum, schreibt ein Fortran-Programm und gibt dann die Antwort „Vier.“. Im dritten Semester setzt er sich zu Hause an seinen PC, schreibt eine Frage in eine entsprechende Newsgroup und liefert nach einigen Stunden das Ergebnis „Vier.“. Im vierten Semester wird er wieder gefragt: „Wieviel ist 2×2?“. Darauf der Student. „Bin ich verrückt, mir Konstanten einzuprägen?“
  8. Ein Mathematiker spaziert mit seinem Freund durch die Australische Steppe. Da treffen sie auf eine riesige Herde Schafe. Der Freund denkt laut: Wahnsinn, wieviele das wohl sein mögen ? Darauf der Mathematiker: Wieso? Das sind genau 3746. Der Freund möchte natürlich wißen, wie er das so schnell gemacht hat, daraufhin der Mathematiker: Ist doch kein Problem; Einfach die Beine zählen und durch 4 teilen.
  9. Pi ist gleich drei, für genügend kleine Pi und große 3…
  10. Was ist die Reaktion des Mathematikers auf eine fundamental neue Theorie? 1. Das ist trivial! 2. Außrdem funktioniert’s nicht! 3. Eigentlich habe ich das schon immer so gemacht…
  11. Behauptung: Eine Katze hat neun Schwänze. Beweis: Keine Katze hat acht Schwänze. Eine Katze hat einen Schwanz mehr als keine Katze. Deshalb hat eine Katze neun Schwänze.
  12. Warum werden bei BMW neuerdings keine Mathematiker mehr beschäftigt? Die haben allgemein ein Auto mit n Rädern konstruiert und erst danach den Spezialfall n=4 betrachtet.
  13. Prüfungstag in Physik. Auf der Heizung liegt ein Ziegelstein. Der Prüfling betritt den Raum. Der Prüfer fragt: „Warum ist der Stein auf der der Heizung abgewandten Seite wärmer?“ Prüfling: „hh [stammel], vielleicht wegen Wärmeleitung und so?“ Prüfer: „Nein, weil ich ihn gerade umgedreht habe.“
  14. Sollen ein Mathematiker, ein Physiker, ein BWLer ein Jurist, ein Mediziner und ein Informatiker beweisen, dass alle ungeraden Zahlen außer 1 prim sind. Der Mathematiker: 3 ist ne Primzahl, 5 ist ne Primzahl, 7 ist ne Primzahl, Rest durch Induktion. Der Physiker: 3 ist ne Primzahl, 5 ist ne Primzahl, 7 ist ne Primzahl, 9…….. is\’n Meßfehler, 11 ist ne Primzahl, 13 ist ne Primzahl,… Der BWLer: 3 ist ne Primzahl, 5 ist ne Primzahl, 7 ist ne Primzahl, 9 ist ne Primzahl, 11 ist ne Primzahl, 13 ist ne Primzahl,… Der Jurist: Mal sehen, 3 ist Primzahl, na also, da ist er ja, der Präzedenzfall.. Der Mediziner: Was ist eine Primzahl? Der Informatiker: 3 ist prim, 3 ist prim, 3 ist prim …..
  15. Ein Politiker, der einen Flug antreten muss erkundigt sich bei einem Mathematiker, wie hoch die Wahrscheinlichkeit ist, dasseine Bombe im Flugzeug ist. Der Mathematiker rechnet eine Woche lang und verkündet dann: „Die Wahrscheinlichkeit ist ein Zehntausendstel!“ Dem Politiker ist das noch zu hoch, und er fragt den Mathematiker, ob es nicht eine Methode gibt, die Wahrscheinlichkeit zu senken. Der Mathematiker verschwindet wieder für eine Woche und hat dann die Lösung. Er sagt: „Nehmen Sie selbst eine Bombe mit! Die Wahrscheinlichkeit, dasszwei Bomben an Bord sind, ist dann das Produkt (1/10000) (1/10000) = Eins zu Hundertmillionen. Damit können Sie beruhigt fliegen!“
  16. Kommt ein Mathematik-Student in ein Fotogeschäft. „Guten Tag! Ich möchte diesen Film entwickeln lassen.“ Verkäuferin: „9×13?“ „117 . Wieso ?“ Kommt ein Mathematik-Professor in ein Fotogeschäft. „Guten Tag! Ich möchte diesen Film entwickeln lassen.“ Verkäuferin: „10×15?“ „Ja, das ist lösbar. Wieso?“
  17. Ein Ingenieur, ein Mathematiker und ein Physiker sind beim Pferderennen. Sie überlegen, ob es möglich ist, zu berechnen, welches Pferd gewinnt. Nach einer Woche treffen sie sich wieder. „Ich habe überall nachgeschaut“ meint der Ingenieur, aber es gibt einfach keine Tabelle für Pferderennen.“ Der Mathematiker hat zwar bewiesen, das eine Formel existiert, er hatte aber nicht genügend Zeit, sie aufzustellen Der Pysiker meint: „Ich habe eine Formel erstellt, mit der man exakt berechnen kann, welches Pferd gewinnt, sie hat allerdings einen Haken: sie gilt nur für reibungsfrei gelagerte, kugelförmige Pferde im Vakuum.“
  18. Das Landwirtschaftsministerium schreibt einen Wettbewerb aus, in dem es darum geht, das Leistungsvermögen der Milchkühe zu erhöhen. Nach Außchreibung der Forschungsgelder melden sich ein Bauer, ein Physiker und ein Mathematiker; sie erhalten ihre Forschungsgelder und sollen nach einem Jahr über ihre Ergebnisse berichten. Ein Jahr später: Der Bauer: Es ist mir gelungen, eine Kuh zu züchten, die 5% weniger frisst und dabei 10% mehr Milch gibt. Der Physiker: Ich habe ein Institut gegründet und jetzt arbeiten zwei Doktoranden und fünf Diplomanden zusammen mit mir daran, den Mechanismus der Milchproduktion bei Kühen von Grund auf zu untersuchen. Bitte stellen sie mir daher Forschungsgelder für die nächsten fünf Jahre bereit. Der Mathematiker: Ich habe das Problem maximaler Milchproduktion bei minimaler Fütterung gelöst — für die sphärisch-symmetrische Kuh.
  19. Eine Gruppe von Forschern hat eine Methode entwickelt, Fachwissen in Tablettenform zu bringen. Ein Student geht daraufhin in die Apotheke und fragt, welche Sorten von Wissenspillen vorrätig sind. Der Apotheker zeigt ihm eine Tablette und sagt: „Hier ist eine Pille für Kenntnisse in englischer Literatur.“ Der Student nimmt die Pille, um die Wirkungskraft auszuprobieren und weiß sofort alles über englische Literatur. „Das ist ja toll! Was haben Sie sonst noch?“, fragt der Student. „Nun, wir bieten Tabletten für Kunstgeschichte, Biologie und Weltgeschichte.“, antwortet der Apotheker. Der Student nimmt je eine, schluckt sie und weiß nun alles über diese Themen. Da ihm das aber noch nicht reicht, fragt er: „Haben Sie auch Mathematikpillen?“, worauf der Apotheker „Einen Moment bitte!“ antwortet, nach hinten in irgendein Hinterzimmer geht und mit einer BigMac-großen Tablette wiederkommt, die er vor den verdutzten Studenten auf den Tresen legt. „Und für Mathekenntnisse muss ich dieses Riesenteil schlucken???“ fragt erstaunt der Student. Die Antwort: „Nun, Mathematik war schon immer äußerst schwer zu schlucken!“
  20. Ein Mathematiker (M) und ein Ingenieur (Ing.) hören den Vortrag eines Physikers über Kaluza-Klein-Theorien, die physikalische Prozesse in 11, 12 und noch mehr Dimensionen beinhalten. Der M sitzt ruhig da und genießt offensichtlich den Vortrag, während der Ing. kaum noch etwas versteht und äußerst genervt und verwirrt aussieht. Am Ende hat der Ing. fürchterliche Kopfschmerzen, der Mathematiker aber schwärmt von dem wundervollen Vortrag. Ing.: „Wie können Sie diesen Kram bloß verstehen?“ M: „Ich stelle es mir einfach bildlich vor!“ Ing.: „Aber WIE können Sie sich etwas vorstellen, was im 11-dimensionalen Raum vor sich geht?!?“ M: „Ganz einfach! Erst stelle ich es mir im N-dimensionalen Raum vor, und dann lasse ich N gegen 11 gehen.“
  21. Was haben ein Mathematiker und ein Physiker gemeinsam? Beide sind dumm – mit Ausnahme des Mathematikers.
  22. Aufbau eines Kriminalromans, entworfen von einem Mathematiker
    Kapitel I Die Entstehung des babylonischen Rechtssystems.
    Kapitel II Die Verfassung der Vereinigten Staaten
    Kapitel III Die Organisationsstruktur des Polizei-Ministeriums
    Kapitel IV Elemente der Gerichtspraxis
    Kapitel V Theorie der Fingerabdrücke

    Kapitel XXX (letzte Seite) Die Leiche
    (Die Lösung bleibt dem Leser überlassen)
    Auflage: 0 Exemplare
  23. „Die Ehe des Professors soll sehr unglücklich sein, habe ich gehört!“ „Wundert mich nicht. Er ist Mathematiker, und sie unberechenbar.“
  24. Ein Physiker, ein Informatiker, ein „normaler“ Mathematiker und ein Topologe werden jeweils in einen Raum gesperrt. Sie bekommen genügend Essen in Dosen, jedoch keinen öffner. Nach einer Woche werden die Zellen aufgeschlossen. Im Raum des Physikers sind alle Wände mit Formeln beschrieben, die Dosen sind ein wenig verformt, aber offen und er lebt. In der Zelle des Informatikers sind die Wände mit seltsamen Rechnungen total beschmiert, die Dosen sind absolut zerstört. Er ist guter Dinge und lebt. Dann wird die Unterkunft des Mathematikers aufgeschlossen. Auch hier sind die Wände voll von Gleichungen. Die Dosen sind allerdings unberührt, und der Mathematiker ist tot. Die oberste Zeile an einer Wand lautet: „Angenommen, die Dosen seien offen.“ Als letztes öffnen sie dann den Raum des Topologen. Dort ist die Tafel ebenfalls über und über mit Formeln übersäht, die Dose steht in der Mitte des Raumes, nur der Topologe fehlt. Da hören sie ein Klopfen. Einer nimmt einen Dosenöffner und öffnet die Dose. Krabbelt der Topologe raus: „Verdammt, Vorzeichenfehler.“
  25. Zwei Mathematiker in einer Bar: Einer sagt zum anderen, dass der Durchschnittsbürger nur wenig Ahnung von Mathematik hat. Der zweite ist damit nicht einverstanden und meint, dass doch ein gewisses Grundwissen vorhanden ist. Als der erste mal kurz austreten muss, ruft der zweite die blonde Kellnerin, und meint, dass er sie in ein paar Minuten, wenn sein Freund zurück ist, etwas fragrn wird, und sie möge doch bitte auf diese Frage mit \’ein Drittel x hoch drei\‘ antworten. Etwas unsicher bejaht die Kellnerin und wiederholt im Weggehen mehrmals: „Ein Drittel x hoch drei.“ Der Freund kommt zurück und der andere meint: – „Ich werd Dir mal zeigen, dass die meisten Menschen doch was von Mathematik verstehen. Ich frag jetzt die blonde Kellnerin da, was das Integral von x zum Quadrat ist.“ Der zweite lacht bloß und ist einverstanden. Also wird die Kellnerin gerufen und gefragt, was das Integral von x zum Quadrat sei. Diese antwortet: „Ein Drittel x hoch drei.“ Und im Weggehen dreht sie sich noch mal um und meint: „Plus c.“
  26. Ein Mathematiker will seinen neuesten Beweis als Bild aufhängen. Leider ist keiner da, der den Nagel in die Wand haut. Also nimmt er Nagel und Hammer und hält den Nagel mit dem Kopf zur Wand. Gerade, als er zuschlagen will, schaut er nochmal genau hin – uns stutzt. Er überlegt und überlegt. Nach fünf Minuten hat er\’s: „Das ist ein Nagel für die gegenüberliegende Wand!“
  27. Ein Mann ist mit einer Mathematikerin verheiratet. Er kommt nach Hause, schenkt seiner Frau einen großen Strauß Rosen und sagt: „Ich liebe Dich!“. Sie nimmt die Rosen, haut sie ihm um die Ohren, gibt ihm einen Tritt und wirft ihn aus der Wohnung. Was hat er falsch gemacht? Er hätte sagen müssen: „Ich liebe Dich und nur Dich!“
  28. Es gibt drei Arten von Mathematikern. 1. Solche, die zählen können 2. Solche, die nicht zählen können.
  29. Ein Politiker, der einen Flug antreten muss, erkundigt sich bei einem Mathematiker, wie hoch die Wahrscheinlichkeit ist, dass eine Bombe im Flugzeug ist. Der Mathematiker rechnet eine Woche lang und verkündet dann: „Die Wahrscheinlichkeit ist ein Zehntausendstel!“ Dem Politiker ist das noch zu hoch, und er fragt den Mathematiker, ob es nicht eine Methode gibt, die Wahrscheinlichkeit zu senken. Der Mathematiker verschwindet wieder für eine Woche und hat dann die Lösung. Er sagt: „Nehmen sie doch selbst eine Bombe mit an Bord. Die Wahrscheinlichkeit, dass zwei Bomben an Bord sind, ist dann das Produkt: 1/10000*1/10000 = eins zu Hundert Millionen. Damit können sie beruhigt fliegen!“
    oder so:
    „Herr Feig, warum nehmen Sie immer einen Flug früher?“ „Naja, manchmal stürzen Flugzeuge ab…“
    „Ja und weiter?…“ „Mal angenommen, eins von einer Million stürzt ab, und das wär jetzt grad meins gewesen, dann bin ich gerettet. Aber dass ich ausgerechnet in eins umsteige, was abstürzt, ist völlig unwahrscheinlich.“
  30. Ein Gespräch an der Bar, ein Mann(M) ein Fremder(F): M: „Sie sind Logiker??? Was ist denn das??“ F: „O.k. ich erklärs: Hast du ein Aquarium? M: „Ja …“ F: „Dann sind da auch bestimmt Fische drinnen!“ M: „Ja …“ F: „Wenn da Fische drinnen sind, dann magst du bestimmt auch Tiere.“ M: „Ja …“ F: „Wenn du Tiere magst, dann magst du auch Kinder.“ M: „Jaaa …“ F: „Wenn du Kinder magst, dann hast du bestimmt welche …“ M: „Ja!“ F: „Wenn du Kinder hast, dann hast du auch eine Frau.“ M: „Ja…“ F: „Wenn du eine Frau hast, dann liebst du Frauen“ M: „Jaaa…“ F: „Wenn du Frauen liebst, dann liebst du keine Männer!“ M: „logisch!“ F: „Wenn du keine Männer liebst, dann bist du nicht schwul!“ M: „stimmt, WAHNSINN!“ Der Fremde geht und ein Freund kommt … M: „Du, ich muss dir was erzählen : Ich hab grade einen Logiker getroffen!“ Freund: „Einen WAS?“ M: „Einen Logiker. Ich erklärs dir – hast du ein Aquarium?“ F: „Nein…“ M: „Schwule Sau!“
  31. 2 Leute gehen in ein leeres Haus, eine Weile später kommen 3 wieder heraus. Was sagt der Mathematiker? „Wenn jetzt noch einer \’reingeht, ist das Haus wieder leer.“ Was sagt der Theologe? „Ein Wunder! Ein Wunder!“ Was sagt der Physiker? „Da muss wohl einer \’reingetunnelt sein.“ Was sagt der Biologe? „Die haben sich wohl vermehrt?“ Was sagt die Hebamme? „Ist bei uns im Kreissaal immer so.“
  32. Stelle ein paar Personen die Frage: „Was ist 2*2“, und Du wirst folgende Antworten erhalten: Der Ingenieur zückt seinen Taschenrechner, rechnet ein bißchen und meint schließlich: „3,999999999“ Der Physiker: „In der Größenordnung von 1*10^1“ Der Mathematiker wird sich einen Tag in seine Stube verziehen und dann freudestrahlend mit einen dicken Bündel Papier ankommen und behaupten: „Das Problem ist lösbar!“ Dann zieht er sich wieder zurück und kommt nach einer Woche mit folgender Nachricht wieder: „Und es ist im Körper der reellen Zahlen sogar EINDEUTIG lösbar!“ Der Logiker: „Bitte definiere 2*2 präziser.“ Der Hacker bricht in den NASA-Supercomputer ein und läßt den rechnen. Der Psychiater: „Weiß ich nicht, aber gut, das wir darüber geredet haben…“ Der Buchhalter wird zunächst alle Türen und Fenster schließen, sich vorsichtig umsehen und fragen: „Was für eine Antwort wollen Sie hören?“ Der Jurist: „4, aber ich weiß nicht, ob wir vor Gericht damit durchkommen.“ Der Politiker: „Ich verstehe ihre Frage nicht…“ Die angehenden Chemiker kommen nach 4 Wochen mit folgendem Ergebnis: „Wir sind sicher, dass für dieses mathematische Problem keine Lösung existiert. Es läßt sich nicht auf den Dreisatz zurückführen“
  33. Ein Arzt, ein Rechtsanwalt und ein Mathematiker diskutieren darüber, was besser sei: Eine Freundin zu haben oder verheiratet zu sein. Der Arzt: Es ist besser verheiratet zu sein, um ein Gefühl der inneren Sicherheit zu haben. Das senkt den Blutdruck und ist somit gut für die Gesundheit! Der Anwalt: Es ist besser eine Freundin zu haben. Wenn man verheiratet ist und sie die Scheidung will, bringt das nur unnötige Schwierigkeiten! Der Mathematiker: Das beste ist, man hat beides! Denn wenn die Frau denkt, man sei bei der Freundin und die Freundin meint, man wäre bei der Frau, hat man genug Zeit für Mathematik.
  34. Ein Physiker und ein Mathematiker stehen vor dem Problem, einen Eimer Wasser über dem Feuer warm zu machen. Physiker: nimmt den Eimer und hängt ihn über das Feuer Mathematiker: nimmt den Eimer und hängt ihn über das Feuer Jetzt wird es schwieriger: Der Wassereimer wird an eine andere Stelle gestellt. Physiker: nimmt den Eimer und hängt ihn über das Feuer Mathematiker: nimmt Eimer und stellt ihn an die alte Stelle zurück. Nun hat er das Problem auf ein bekanntes zurückgeführt.
  35. Ein Mathematiker und ein Ingenieur bewerben sich um eine Stelle. Der Arbeitgeber will ihre Praxistauglichkeit testen und gibt dem Ingenieur eine Aufgabe: Er soll in die Küche gehen und ein Würstchen braten. Der Ingenieur geht in die Küche und brät ein Würstchen. Daraufhin bekommt der Mathematiker dieselbe Aufgabe, auch er löst sie einwandfrei. Nun erschwert der Arbeitgeber die Versuchsbedingungen: Er lässt den Kühlschrank in den Keller stellen. Wieder bekommt der Ingenieur die Aufgabe, ein Würstchen zu braten. Er geht zunächst in die Küche, findet aber den Kühlschrank nicht. Er durchsucht das ganze Haus und findet schließlich den Kühlschrank im Keller. Er macht ihn auf, nimmt ein Würstchen, geht in die Küche, geht zum Herd und brät das Würstchen. Aufgabe gelöst. Nun bekommt der Mathematiker dieselbe Aufgabe. Auch er geht in die Küche, findet aber keinen Kühlschrank. Er durchsucht das Haus und findet im Keller den Kühlschrank. Nun schnappt er sich den Kühlschrank und schleppt ihn die Treppe hoch in die Küche. So hat er das neue Problem auf ein bekanntes zurückgeführt!
  36. Ein Mathematiker, ein Physiker und ein Ingenieur bekommen jeweils 12 Stäbe und ein 100m langen Draht, und sollen damit ein möglichst großes Gebiet abstecken. Der Ingenieur steckt sehr uneffektiv mal hier und mal da einen Stab in die Erde. Der Physiker überlegt und meint, er würde mit einem gleichseitigen 12-Eck die größte Fläche abstecken können. (Hat er eigentlich auch Recht). Der Mathematiker nimmt die Stäbe, wickelt den Draht um sich und sagt: „Ich bin außen!“
  37. Wie fängt ein Mathematiker einen Löwen? Zuerst definiert er, was es heißt, einen Löwen gefangen zu haben. Definition: Ein Löwe ist gefangen, wenn er durch ein Gitter von mir getrennt ist. Dann setzt sich der Mathematiker einfach in einen Käfig und hat laut Definition den Löwen gefangen.
  38. Ist es grün und schlängelt sich, dann ist es Biologie. Wenn es stinkt, dann ist es Chemie. Wenn es nicht funktioniert, ist es Physik. Wenn man es nicht versteht, ist es Mathematik. Wenn es unlogisch ist, dann kann es entweder ökonomie oder Psychologie sein.
  39. Ein Ingenieur denkt, dass Gleichungen eine Annäherung an die Realität sind. Ein Physiker denkt, dass die Realität eine Annäherung an die Gleichungen ist. Einem Mathematiker ist es egal.
  40. Warum verwechseln Mathematiker Weihnachten und Halloween? Weil Oct 31 = Dec 25
  41. Eine Gruppe von Ingenieuren und eine Gruppe von Mathematikern fahren mit dem Zug zu einer Tagung. Jeder der Ingenieure hat seine eigene Fahrkarte aber die ganze Gruppe von Mathematikern hat nur eine einzige Karte. Plötzlich ruft einer der Mathematiker „Der Schaffner kommt !“, worauf sich alle Mathematiker in eine der Toiletten zwängen. Der Schaffner kommt, kontrolliert die Ingenieure, sieht, dass das WC besetzt ist und klopft an die Tür : „Die Fahrkarte bitte !“. Einer der Mathematiker schiebt die Fahrkarte unter der Tür durch und der Schaffner zieht zufrieden wieder ab. Auf der Rückfahrt beschließen die Ingenieure, denselben Trick anzuwenden und sie kaufen nur eine Karte für die ganze Gruppe. Sie sind sehr verwundert als sie merken, dass die Mathematiker diesmal überhaupt keine Fahrkarte haben… Wieder ruft einer der Mathematiker „Der Schaffner kommt !“. Sofort stürzen die Ingenieure auf das eine WC, die Mathematiker machen sich etwas gemächlicher auf den Weg zum anderen. Bevor der letzte Mathematiker die Toilette betritt, klopft er bei den Ingenieuren an: „Fahrkarte bitte!“ Und die Moral von der Geschicht? Ingenieure wenden die Methoden der Mathematiker an, ohne sie wirklich zu verstehen.
  42. Ein Physikstudent, ein Mathematikstudent und ein Medizinstudent bekommen von ihren Professoren jeweils ein Telefonbuch vorgelegt. Der Physikstudent : „Ich kann aus diesen Messergebnissen nicht auf den Versuch schließen und damit ist das Ergebnis zu ungenau und wertlos !“ Der Mathematikstudent: „Diese Nummern lassen sich nicht als mathematische Reihe zusammenfassen, damit sind sie per Definition Definitionen und ohne Zusammenhang sind diese Definitionen wertlos.“ Der Medizinstudent schaut den Professor nur müde an und fragt: „Bis wann soll ich die können?“
  43. Ein Mathematiker und ein Physiker nehmen an einem psychologischen Experiment teil. Zuerst wird der Mathematik auf einen Stuhl in einem groß, leeren Raum gesetzt. Man stellt ein Bett mit einer wunderschönen, nackten Frau in die gegenüberliegende Ecke, und der Psychologe erklärt dem Mathematiker. „Es ist Dir nicht erlaubt Dich von diesem Stuhl zu erheben. Alle fünf Minuten werde ich wieder kommen und die Entfernung zwischen diesem Bett und Deinem Stuhl halbieren.“ Der Mathematiker starrt den Psychologen mit entsetztem Gesicht an. „Es ist ja wohl klar, dass ich das Bett nie erreichen werde. Das werde ich mir sicher nicht antun.“ Er steht auf und sucht das Weite. Nachdem der Psychologe ein paar Notizen in seine Akten gemacht hat, holt er den Physiker und erklärt diesem die Situation. Sofort strahlt dieser über das ganze Gesicht und setzt sich freudig auf den Stuhl. Verwundert fragt ihn der Psychologe „Ist Dir nicht klar, dass Du das Bett nie erreichen wirst?“ Der Physiker lächelt und erwidert „Natürlich, aber ich werde nahe genug für alle praktischen Dinge kommen.“
  44. Ein Ingenieur und ein Physiker stehen am Fahnenmast der Uni, als ein Mathematikprofessor vorbeikommt. Er fragt: „Was machen Sie denn hier?“ „Wir haben den Auftrag bekommen, die Höhe der Fahnenstange zu ermitteln“, antwortet der Physiker, „und wir überlegen gerade, mit welchen Formeln man sie berechnen kann, aber irgendwie kriegen wir das nicht raus!“ Der Ingenieur ergänzt: „Und ich habe versucht, das Maßband nach oben zu werfen, um dann ablesen zu können, wie hoch die Fahnenstange ist, aber auch das hat nicht funktioniert.“ „Moment!“ sagt der Mathematiker. Er zieht die Fahnenstange aus der Halterung, legt sie ins Gras, läßt sich ein Bandmaß geben und stellt fest: „Genau sieben Meter.“ Dann richtet er die Stange wieder auf und geht weiter. „Mathematiker!“ höhnt der Physiker. „Wir reden von der Höhe, und er gibt uns die Länge an.“
  45. Fragt ein Mathematiker den anderen: „Ey, wie hoch ist diese Schranke?“ Der andere klettert rauf, mißt, kommt runter und sagt: „4.32 Meter.“ Sagt der erste: „Bist du doof! Warum hast du nicht gewartet, bis die Schranke runter kommt?“ Sagt der andere: „Nee, Du bist doof, ich wollte ja wissen, wie hoch sie ist, nicht wie breit!“
  46. Ein Jäger schießt auf einen Hasen. Der Hase schlägt einen Haken, und die Kugel fliegt 10 cm links am Hasen vorbei. Der Jäger schießt nochmal. Diesmal fliegt die Kugel 10 cm rechts am Hasen vorbei. Statistisch gesehen ist der Hase tot.
  47. Kennst Du schon den neuesten Statistikerwitz? Wahrscheinlich…
  48. Mitten im mathematischen Vortrag erhebt einer der Anwesenden die Hand und sagt: „Ich habe zu dem, was Sie hier erzählen, ein Gegenbeispiel!“ Darauf der Vortragende: „Egal, ich habe zwei Beweise!“
  49. 97,3 % aller Statistiken sind frei erfunden!
  50. Im Vatikan gibt es zwei Päpste pro Quadratkilometer.
  51. 5 von 4 Leuten haben Probleme mit Mathematik!
    oder:
    4 von 10 Leuten haben keine Ahnung von Statistik! Das sind fast 75 %!
  52. Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  53. Philosophie ist ein Spiel mit Zielen, aber ohne Regeln. Mathematik ist ein Spiel mit Regeln, aber ohne Ziele.
  54. „Die Nummer, die Sie gewählt haben, ist imaginär. Bitte drehen Sie Ihr Telefon um 90 Grad und probieren Sie es erneut!“
  55. Was ist schwarz-weiß und füllt die ganze Ebene? Eine Piano-Kurve.
  56. Frage: Wie oft kann man 7 von 83 abziehen, und was bleibt am Ende übrig? Antwort: Man kann so oft wie man will 7 von 83 abziehen, und es bleibt jedesmal 76 über.
  57. Wußtest Du, dass fast alle Menschen mehr Beine haben als der Durchschnitt?
  58. 87.166253% der Statistiken spielen eine Genauigkeit vor, die durch die angewandte Methode nicht gerechtfertigt wird.
  59. Was antwortet ein Mathematiker, wenn man ihn fragt, ob er das Fenster offen oder geschlossen haben möchte? JA!
  60. Wenn ein Mathematiker ein Fantasy-Buch schreibt – wären die Seitenzahlen dann imaginäre Zahlen?
  61. Die meistgestellten Fragen: Ingenieur: Wie geht das? ökonom: Wie teuer wird das? Mathematiker: Wie kann man das verbessern? Physiker: Möchten Sie dazu Ketchup?
  62. Ein Mathematiker und ein Physiker sind in einem Raum und versuchen eine Dose Bohnen zu öffnen. Der Physiker berechnet genau den Winkel, mit dem er die Dose gegen die Wand werfen muss, damit diese aufplatzt. Er holt aus, die Dose trifft die Wand, prallt ab, trudelt auf den Physiker zu und schmettert ihn zu Boden. Als er wieder aufsteht, sieht er, wie der Mathematiker schon längst seine Bohnen ißt. „Wie hast Du denn das gemacht?!“, fragt er. „Nun, ich habe die Dose einfach als offen definiert!“
  63. Der Dekan an die Fakultät für Physik: „Warum braucht Ihr immer so viel Geld für Labore, teure Ausstattung und so was? Warum könnt Ihr nicht einfach wie die Mathematiker sein? Die brauchen nur Geld für Stifte, Papier und Papierkörbe. Oder besser noch wie die Philosophie-Fakultät – die brauchen nur Geld für Stifte und Papier!“
  64. „Was ist 2 + 2 ?“ Hier die Antwort von Zehntklässlern in den letzten fünf Jahrzehnten: 1957: „Natürlich 4.“ 1967: „Ich glaube vier, aber was zählt, ist die Methode.“ 1977: „Moment, ich befrage mal meinen Taschenrechner.“ 1987: „Moment, ich öffne eben ein Fenster in meinem PC und klicke aufs „Calculator“-Symbol.“ 1997: „Moment, ich suche mal eben die Additionshomepage.“
  65. Mathematiker sind anders als andere Männer. So müssen sie folgende drei Dinge tun, um ein echter Mann zu sein: a) ein Haus bauen (heutzutage reicht auch \’erwerben\‘), b) ein Kind zeugen, c) den Laplace-Operator in Kugelkoordinaten ausrechnen. Angeblich wurde jetzt experimentell nachgewiesen, dass man die Reihenfolge auch invertieren kann.
  66. In Karlsruhe wurde vor kurzem ein Epsilon entdeckt, das ist so klein, wenn man es durch zwei teilt wird es negativ!
  67. Der Mathelehrer sagt: „Die Klasse ist so schlecht in Mathe, dass sicher 90% dieses Jahr durchfallen werden.“ Ein Schüler im Hintergrund: „Aber so viele sind wir doch gar nicht!“
  68. Der Physiker soll erklären, warum es in der Eisenbahn so rumpelt. Er sieht sich die Lok an. Daher kommt es nicht, also kann man die Lok vernachlässigen. In jedem Waggon rumpelt es genauso, (bis auf Zeitverschiebung der Größenordnung dt), das Problem kann also auf einen Waggon reduziert werden. Der Waggon besteht aus Oberund Unterbau, das Rumpeln kommt hörbar von unten. Also kann auch der Oberbau vernachlässigt werden. Der Unterbau besteht aus Achsen und Rädern. Man kann nun annehmen, dass die Achsen gut geschmiert sind und damit für das Problem nicht relevant sind. Die Räder können mit guter mathematischer Genauigkeit als Kreise beschrieben werden. Kreisflächeninhalt ist Pi*r*r. Pi ist eine Konstante, die rumpelt nicht. Mit großer Wahrscheinlichkeit ist auch r inzwischen konstant (Stichwort thermische Ausdehnung). Was bleibt übrig? Das Quadrat! Und dass ein Quadrat rumpelt, ist doch klar!
  69. „Die Summe der Quadrate an den Katheten ist gleich dem Quadrat an der Hypotenuse.“ „Aha. Das Dreieck über der Hypothese ist also gleich dem Dreieck über dem einen Katheter plus dem Dreieck über dem anderen Katheder.“ „Na das stimmt ja schon fast. Aber wie wär’s mit: Das Dreieck an der Kathode könnte rein hypothetisch summen, wenn man die Quadrate vergleicht.“
  70. „Ich muss meinem Sohn den Pythagoras erklären, bekomme ihn aber nicht mehr zusammen.“ „Das ist verständlich, denn der Kerl ist schon einige Jahre tot. Ich persönlich würde übrigens nicht einmal versuchen, ihn wieder zusammenzubekommen. Könnte ärger geben…“
  71. Was sind 10 Physiker in Salzsäure? Ein gelöstes Problem!
  72. Treffen sich zwei Matrizen. Sagt die eine: „Komm wir gehen in den Wald und machen A hoch minus 1.“ Sagt die andere: „Mensch, bist Du invers!“
  73. „Was ist denn mit Deiner süssen kleinen Freundin, der Mathematikerin?“ „Die habe ich verlassen .. ich rufe sie an – da erzählt sie, dass sie im Bett liegt und sich mit 3 Unbekannten rumplagt…“
  74. Vor Jahren hielt ich eine Anfängervorlesung und begann, wie es sich gehört, mit Logik. Zunächst erklärte ich, was man unter einer „Aussage“ versteht: Eine Aussage ist ein Text, dessen Inhalt entweder wahr oder falsch ist. Als Beispiel nannte ich den Satz: Karl ist krank. In diesem Augenblick fiel mir siedendheiss ein, dass ich unbedingt einen lebenden Menschen namens „Karl“ brauchte, auf den sich der Satz bezog. Andernfalls konnte man den Satz weder als wahr noch als falsch bezeichnen, d.h. er war gar keine Aussage. Um den Schaden schnell wieder gut zu machen, fragte ich in den Saal: Ist jemand unter Ihnen, der Karl heisst? Sekundenlange Stille! Dann eine Stimme aus dem Hintergrund: Der ist krank!
  75. Ein Mathematiker und ein Bauingenieur sollen die Statik eines vierbeinigen Tisches berechnen. Was macht der Bauingenieur? Er schaut in seinen Baukalender, nimmt seinen Taschenrechner und rechnet das Ergebnis aus. Was macht der Mathematiker? Er berechnet zuerst die Statik eines einbeinigen Tisches und danach die Statik für einen Tisch mit n+1 Beinen, wenn die eines n-beinigen Tisches bekannt ist. Dann wendet er diese Formel dreimal auf sein erstes Ergebnis an.
  76. Physiker-Induktion: „Beweis, dass 60 durch alle Zahlen teilbar ist“ geht wie folgt: Man nehme Stichproben, als da wären 60/1, 60/2, 60/3, 60/4, 60/5, 60/6 …toll, klappt ganz gut, Abstände größer: 60/10, 60/12, 60/15…toll, ein Versuch noch: 60/30…..klappt ! Klasse, Beweis gelungen – wie die Versuchsreihe zeigt.
  77. Dieses Jahr gibt es sogar einen Nobelpreis für Mathematik. Er wurde eingeführt, um die Entdeckung von Peter Petersen, einem Mathematiker aus Ostfriesland, gebührend würdigen zu können. Petersen entdeckte eine neue ganze Zahl. Sie heißt SACHT und liegt genau zwischen sieben und acht.
  78. Was ist ein Polarbär? Ein rechteckiger Bär nach einer Koordinatentransformation.
  79. Ein Unteroffizier erklärt den Offiziersschülern: „Stellen Sie sich vor, n Panzer kommen bei uns an. Nein, n ist nicht genug, sagen wir mal, k Panzer…“
  80. Mündliche Prüfung, Stochastik. Rollen: (P)rüfer, (S)tudi… P: Fangen wir mal mit einer einfachen Frage an. Wie groß ist die Wahrscheinlichkeit, mit einem Würfel bei einem Wurf eine Sechs zu würfeln? (ist im übrigen ein sechstel, wer\’s nicht so hat mit der Stochastik) S: Die ist eins? P: Wie bitte? S: Na eins! P: Würfeln Sie mal! (gibt ihm einen Würfel) S: (würfelt – wird ne 6) P: (leicht verdutzt) Nochmal! S: (würfelt, noch eine sechs) P: (kriegt schon das Grübeln) Würfeln sie nochmal! S: (würfelt – schon wieder ne 6! Ist schon verdammt unwahrscheinlich, nur jeder 216te Fall kriegt das hin im Durchschnitt) P: Sie können gehen. Bestanden, eins.
  81. Warum ist ein Informatiker besser als ein Mathematiker? Dank dem binären Zahlensystem kann er mit den Fingern weiter rechnen!
  82. Ein Physiker, ein Mathematiker und ein Ingenieur bekommen die Aufgabe gestellt, herauszufinden wieviel 1+1 ist. Als erster versucht sich der Physiker. Er zieht sich in sein Labor zurück und stöpselt aufwendige Apparaturen zusammen. Nach doch schon zwei Monaten kommt er zurück und sagt: „Also genau habe ichs nicht rausgefunden. Aber das Ergebnis liegt irgenwo zwischen 1,9 und 2,1.“ Naja, das ist ja schon ganz gut. Aber als nächster macht sich der Mathematiker an die Arbeit. Er rennt in seinen Raum, wälzt tonnenweise Fachliteratur und stellt aufwendige Gleichungssysteme auf. Nach zwei Wochen verkündet er schliesslich sein Ergebnis : „Die gesuchte Zahl liegt im Intervall von 1,99 bis 2,01.“ Ja, schon besser. Aber jetzt ist der Ingenieur an der Reihe. Er geht ins Nebenzimmer und kommt schon nach 2 Minuten zurück. „Das Ergebnis lautet 2.“ Die beiden anderen sind komplett von den Socken und fragen den Ing., wie er denn so schnell auf das Ergebnis gekommen ist. Darauf antwortet der freudestrahlend: „Ist doch ganz einfach ! Ich hab im Tabellenbuch nachgesehen !“
  83. Warum sind Äpfel und Birnen auch Abbildungen? Sie haben Kerne.
  84. Kommt der Nullvektor zum Arzt: „Hilfe, ich bin linear abhängig!“
  85. Was ist der Lieblingsfilm eines jeden Mathematikers? Das Schweigen der Lemma.
  86. Treffen sich zwei Geraden. Sagt die eine: „Beim nächsten Mal gibst du einen aus.“
  87. Frau Meier will ihrer Nachbarin zeigen, wie toll ihr Sohn schon rechnen kann: F. M.: „Fritz, was ist drei mal vier?“ Fritz: „Zehn?“ F. M.: „Sehen Sie, nur um eins verrechnet!“
  88. Wieviel ist drei mal sieben? GANZ feiner Sand! Und was ist vier mal sechs ? Anstrengend…
  89. Prof.: „Der Briefträger läuft 12 km/h und der Dackel 16 km/h, die Entfernung beträgt 50m. Wann überholt der Dackel den Briefträger? Lösen sie das Problem zeichnerisch.“
    Studi: „Ich kann aber keinen Dackel zeichnen…“.
  90. Der Prof fragt nach einem anzuwendenden mathematischen Verfahren – keiner meldet sich. Stimme aus der hinteren Reihe: „Ich kaufe ein ‚E‘ „…
  91. Treffen sich 2 Mathematiker oder waren es 3?
  92. Welches Wort schreiben alle Mathematiker falsch? „falsch“
  93. Was ist Pi im Quadrat? Moderne Kunst vielleicht?
  94. Fragt die Lehrerin in der 5. Klasse: „Welche Zahlen von 1 bis 10 kann man durch 2 teilen?“ „Alle“ antwortet die Tochter eines Mathematiklehrers.
  95. „Die Negation einer falschen Aussage ergibt immer eine wahre Aussage!“ behauptet ein Mathematikprofessor. „Falsch“ meint ein Student. „Begründen Sie das bitte!“ verlangt der Professor. „Der Satz: „Dieser Satz enthält sechs Wörter“ ist falsch, seine Negation: „Dieser Satz enthält nicht sechs Wörter“ ist aber auch falsch!“ begründet der Student.
  96. Ein Zahlentheoretiker sitzt ganz verzweifelt über der Reihe b = 1 – 1/3 + 1/5 – 1/7 + 1/11 – 1/13 + … Denn er will wissen ob b rational ist oder nicht. Da kommen ein Physiker und ein Numeriker vorbei und wollen sich das Problem mal ansehen: Der Physiker probiert: 1 – 1/3 = 0.67 , 1 – 1/3 + 1/5 = 0.87
    Dann meint er: der Mittelwert ist 0.77 also ungefähr 7/9, also ist b rational. Der Numeriker meint: Unsinn! Wenn sie schon runden, dann müssen sie wenigstens eine Fehlerabschätzung machen! Nach einer flüchtigen Betrachtung der Reihe meint er: naja, b = Pi/4, also nach Lindemann sogar transzendent.
  97. O.B.d.A. heißt eigentlich „ohne Beschränkung der Allgemeinheit“. Hier einige alternative Interpretationen:
    • Ohne Bedeutung für die Allgemeinheit
    • Ohne Bedenken des Autors
    • Ohne Begründung der Annahme
    • Ohne Berücksichtigung der Ausnahmen
    • Ohne Berücksichtigung der Anfängerstudenten.
    • Offensichtlich bedingt durch Alkohol
    • Ohne Berücksichtigung der Aufgabenstellung
  98. Wie kann man einen extrovertierten Mathematiker von einem introvertierten unterscheiden? Der extrovertierte Mathematiker schaut auf Deine Füße, wenn er mit Dir spricht.
  99. Ein Physiker, ein Mathematiker und ein Wirtschaftswissenschaftler werden vor die Aufgabe gestellt, die Höhe eines Kirchturms zu ermitteln. Wie machen sie es?
    • Der Physiker natürlich mit einem Stein und der Stoppuhr,
    • Der Mathematiker berechnet die Höhe, indem er die Strahlensätze mit Hilfe seines Daumens anwendet.
    • Der Wirtschaftswissenschaftler gibt dem Pastor 50 Mark für die Antwort.
  100. Ein Physiker, ein Ingenieur und ein Mathematiker machen ihren ersten Fallschirmabsprung. Vorher erklärt ihnen ihr Instrukteur nochmals ganz genau was sie zu tun haben: Rausspringen, bis 3 zählen und die Reissleine ziehen. Der Physiker springt. Ihm ist aber bis 3 zählen viel zu ungenau und zu primitiv. Er berechnet vielmehr aus seiner Höhe und Fallgeschwindigkeit den genauen Punkt an dem er die Reisleine ziehen muss, um gerade noch weich zu landen. Er zieht die Leine und kommt optimal auf. Der Ingenieur als praktisch veranlagter Mensch denkt sich: Bis 3 zählen ist viel zu unsicher und damit zu gefährlich … er springt und zieht sofort die Reissleine. Bei ihm dauert es zwar etwas länger aber auch er landet unbeschadet. Die beiden sehen den Mathematiker aus dem Flugzeug springen. Dieser fällt … und fällt … und fällt … Kein Fallschirm öffnet sich und schliesslich schlägt er auf dem Boden auf. Zum Glück landet er in einem Heuhaufen. Physiker und Ingenieur rennen entsetzt zum Heuhaufen und als sie ihn ausgraben hören sie ihn sagen: „daraus folgt aufgrund vollständiger Induktion : 3 „
  101. Ein Mathematiker, ein Physiker und ein Philosoph stehen auf dem Dach eines brennenden Hochhauses. Die einzige Möglichkeit den Flammen zu entkommen besteht in einem Sprung in den kleinen Pool vor dem Hochhaus. Der Philosoph meint : Wenn es einen Gott gibt wird er mir schon helfen. Er springt und verfehlt den Pool um Längen. Der Physiker nimmt Taschenrechner und Notizblock, rechnet eine Weile, nimmt Anlauf und springt genau in die Mitte vom Pool. Auch der Mathematiker rechnet eine Weile mit Taschenrechner und Notizblock. Als er fertig is t nimmt er Anlauf, springt und fliegt nach oben. Was war passiert ? Vorzeichenfehler!
  102. Mathematische Beschreibung eines Tisches: 2 Fälle: 1. Tisch mit 1 Bein 2. Tisch mit oo vielen Beinen und Interpolieren.
  103. w.z.b.w. := was zu bezweifeln wäre.
  104. Der Lehrer fragt: „Marion, wieviel ist vier und vier? “ Marion: „Acht.“ „Richtig, zur Belohnung bekommst du acht Bonbons von mir.“ „Wenn ich das gewusst hätte“, entgegnet Marion, „hätte ich hundert gesagt!“
  105. 150 angehende Mathematiker sitzen in der Mathevorlesung. Der Prof will mal was angewandtes machen, schreibt „10-5“ an die Tafel und holt sich einen nach vorne, um das zu lösen. Der Studi ueberlegt lange und meint: „6 !“ Der Prof schüttelt nur den Kopf über soviel Dummheit und will gerade zu einer Standpauke ansetzen, doch das Auditorium ruft: „Gib ihm noch ne Chance, gib ihm noch ne Chance!“ Darauf der Prof: „Ok, Du hast noch einen Versuch. Ich geb Dir auch nen Tip: es ist weniger als 6 !“ Der Studi denkt und denkt, und schliesslich meint er: „4 !“ Wieder ruft das Auditorium: „Gib ihm noch ne Chance, gib ihm noch ne Chance!“ Der Prof hofft auf ein Wunder und sagt: „Ok, aller guten Dinge sind drei. Ich will Dir noch einen Tip geben: das Ergebnis liegt zwischen 4 und 6.“ Der Studi zermartert sich das Gehirn, schliesslich sagt er: „5 !“ Daraufhin das Auditorium: „Gib ihm noch ne Chance, gib ihm noch ne Chance!“
  106. Ein Mathematiklehrer steht vor der Klasse und erklärt: „Es gibt keine grössere und keine kleinere Hälfte, …aber warum erzähl ich euch das überhaupt, die grössere Hälfte von euch versteht das ja doch nicht“
  107. F: Was ist höhere Mathematik? A: Wenn man morgens aufwacht und die Wurzel aus einer Unbekannten zieht!
  108. Fragt ein Deutscher auf einem Mathematiker-Kongress eine Französin: „Voulez-vous Cauchy avec moi?“
  109. Was ist nahrhaft und kommutiert? Eine abelsche Suppe!
  110. Treffen sich zwei Geraden im Unendlichen. Meint die eine zur anderen: „Wenn wir uns das nächste mal treffen geb ich einen aus.“
  111. …und dann war da noch der Statistiker, der in einem Fluss ertrank, der im Durchschnitt nur 10 cm tief war.
  112. „Auf den Lehrer ist kein Verlaß: Gestern hat er gesagt 2 und 3 ist 5, heute meint er: eins und vier sind fünf“.
  113. Der Mathematiker ist ein Hersteller von Schemata.
  114. „Der schlimmste Tick ist der Mathema-Tick“
  115. „Der Versuch, den richtigen Partner für Liebe und Leben zu finden, läuft auf das gleiche hinaus, wie völlig ohne Mathematik zum Mond fliegen zu wollen.“
  116. „Die Berechnung der Einkommensteuer ist selbst für mich zu hoch. Das ist für einen Mathematiker zu schwierig, dazu muss man Philosoph sein.“
  117. „Die fortschreitende Mathematik hat den Vorteil, dass man sich genauer irren kann“
  118. Dreieck: eine nur in der Mathematik harmlose Konstruktion.
  119. „Ein Mathematiker ist ein Mensch, der einen ihm vorgetragenen Gedanken nicht nur sofort begreift, sondern auch erkennt, auf welchem Denkfehler er beruht.“
  120. Welches Tier kann addieren? Ein Oktoplus.
  121. Wer sagt 8tung!, wenn er heiße Suppen ser4t? Der Kellner, der Mathematik studiert hat.
  122. Wir sind alle Nichtschwimmer in der mathematischen Pfütze.
  123. Wussten Sie schon, dass 3 x 7 nicht nur 21, sondern auch ein wichtiger Arbeitsvorgang beim Goldwaschen ist?
  124. Wussten Sie schon, dass die meisten Hasen nicht nur das kleine Einmaleins, sondern auch das Wurzelziehen beherrschen?
  125. Wie kann man ein Dreieck in einen Strich transformieren? ……. rasieren.
  126. Im Raum der stetigen Funktionen findet ein Tanzball statt. der Tanzfläche tanzen Cosinus und Sinus auf und ab, und die Polynome bilden einen Ring. Nur die Exponentialfunktion steht den ganzen Abend alleine herum. Aus Mitleid geht die Identität irgendwann zu ihr hin und sagt: „Mensch, integrier dich doch einfach mal !“ „Schon versucht!“, antwortet die Exponentialfunktion, „Das hat aber auch nichts geändert!“
  127. Ein 54 jähriger Buchhalter hinterlässt eines Freitags seiner Frau den folgenden Brief: Hallo Gattin (so pflegte er sie zu nennen), ich bin 54, und zu der Zeit, wenn Du diesen Brief liest, werde ich im Ritz mit meiner 18 jährigen Sekretärin sein. Als er im Hotel ankam, wartete folgender Brief auf ihn: Hallo Gatte (so pflegte sie ihn zu nennen), ich bin auch 54 und zu der Zeit, wo Du diesen Brief erhältst, werde ich im Hilton mit meinem 18 jährigen, gutaussehenden und potenten Liebhaber sein. Als Buchhalter sollte Dir klar sein, dass 18 viel öfters in 54 passt, als 54 in 18.
  128. Wenn Null sehr groß ist, ist es fast so viel, wie ein bisschen Eins.
  129. Ein Mathematiker, ein Physiker und ein Maschinenbauer sollen das Volumen einer kleinen roten Gummiballs herausbekommen. Der Mathematiker mißt den Durchmesser und rechnet dann das Volumen aus. Der Physiker taucht den Ball in einen Eimer voll Wasser und schaut nach was er für eine Wasserverdrängung hat. Und der Maschinenbauer guckt in der „DIN für kleine rote Gummibälle“ nach !!!
  130. Was sagt ein Gleichungssystem zu seinen besoffenen Variablen? – Ich schmeiss euch gleich alle raus! „
  131. Ein Mathelehrer trifft einen früheren Schüler, wie dieser gerade aus einem edlen Auto mit Chauffeur aussteigt. Er wundert sich: „Sie haben es ja anscheinend ganz schön zu was gebracht, obwohl Sie im Rechnen nie eine besondere Leuchte waren.“ „Ja wissen Sie,“ meint der ehemalige Schüler,“ ich kaufe T-Shirts für 7 DM und verkaufe sie für 12 DM wieder. Von diesen 5 Prozent läßt sich’s gut leben.“
  132. Lehrer : Die Mathearbeit ist ganz schlecht ausgefallen, 50% sind durchgefallen. Stimme aus der Klasse : so viele sind wir doch gar nicht !
  133. Mathematiker sterben nicht, sie verlieren nur einige ihrer Funktionen!
  134. Was schenkt ein Mathematiker seiner Frau zum Hochzeitstag? – Einen Polynomring in einer Intervallschachtelung verpackt und dazu natürlich eine Markov-Kette mit Stein
  135. Eine alte preußische Anekdote:
    Ein neuer und eifriger Mathematiklehrer an einer Kadettenanstalt erkühnte sich, einen Offiziersschüler aufzufordern, den Satz des Pythagoras zu beweisen.
    Er erhielt prompt zur Antwort: „Bei uns wird nicht bewiesen, bei uns wird aufs Wort geglaubt!“
  136. Willst du dich verzehnfachen, verhundertfachen, vertausendfachen? Dann suche dir Nullen als Anhänger!
  137. Jede natürliche Zahl ist interessant. Denn angenommen, es gäbe eine uninteressante natürliche Zahl. Dann gäbe es auch eine kleinste uninteressante Zahl: Dies macht diese Zahl aber wirklich interessant! Also ist dies doch eine interessante Zahl. Der Widerspruch zeigt: Es gibt keine uninteressante Zahl.
  138. Satz: Mathematiker sind konvergent. Beweis: Mathematiker sind monoton und beschränkt. q. e. d.
  139. Der zerstreute Professor zu seinem Assistenten: „Wo steckt denn mein Bleistift?“ – „Hinter Ihrem Ohr, Herr Professor!“ – Ungehalten entgegnet dieser: „Immer diese ungenauen Antworten! Hinter welchem Ohr denn?!“
  140. Frage: Wo stellt sich jemand im Zimmer hin, wenn es kalt ist? Antwort: In eine Ecke. Da sind 90°.
  141. Behauptung: Ein Krokodil ist länger als breit. Beweis:
    Lemma 1: Ein Krokodil ist länger als es grün ist.
    Man betrachte ein Krokodil. Es ist oben lang und unten lang, aber nur oben grün. Also ist ein Krokodil länger als es grün ist. Lemma 2: Ein Krokodil ist grüner als breit.
    Man betrachte wieder ein Krokodil. Es ist grün entlang Länge und Breite, aber nur breit entlang der Breite. Also ist ein Krokodil grüner als breit.
    Aus Lemma 1 und 2 folgt: Das Krokodil ist länger als breit.
  142. „Wieviel ist fünf mal fünf, Sandra?“ – „Fünf mal fünf ist fünfundzwanzig.“ – „Recht gut, Sandra.“ – „Wieso recht gut? Besser geht’s nicht!“
  143. Mathe mangelhaft. Der Vater will es ganz genau wissen: „Moni! Wieviele Rechenaufgaben hast Du heute falsch gemacht?“ – „Eine, Papa!“ – „Großartig! Und wieviele sind Euch gestellt worden?“ – „Fünfzehn!“ – „Die anderen vierzehn hast Du alle richtig?“ – „Nein, Papa, die habe ich gar nicht erst angefangen.“
  144. Der Mathelehrer steht vor der Tafel, auf der die Funktionen f1(x)=0 und f2(x)=1/x gemalt sind. Er erklärt: „Sie treffen sich im Unendlichen.“ Darauf eine Schülerin: „Wie romantisch!“
  145. Original von Prof. Dr. Nolte, Mathematikprof. TH Darmstadt: „Irrtümlicherweise nahm man lange Jahre an, die Erde sei eine Scheibe. Heute weiß man ganz genau, daß sie ein Kreis ist…“
  146. Vor Gericht bestand der Mathematiker darauf, dass er an derUnfallstelle mit einer Lampe, die er eine Minute hin und herschwenkte, Signale gegeben habe. Er stand dazu auf und demonstrierte,wie er es gemacht hatte. Das Gericht glaubte seine Geschichte und die Klage wurde abgewiesen. „Herzlichen Glückwunsch,“ gratulierte der Verteidiger, als es vorbei war. „Sie waren im Zeugenstand sehr überzeugend.“ „Danke schön,“ antwortete der Mathematiker, „aber der Staatsanwalthat mir ganz schön Angst gemacht.“ „Wie das?“ fragte der Anwalt. „Ich hatte Angst, dass er mich fragt, ob die Lampe eingeschaltet war!“
  147. Q: What do you get if you add two apples and three apples?
    A: A high school math problem!
  148. Das Leben ist komplex: es hat sowohl reale als auch imaginäre Komponenten.
  149. Ein Investmentfirma möchte einen Mathematiker einstellen. Nach den ersten Bewerbungsgesprächen bleiben drei potentielle Bewerber übrig, ein reiner Mathematiker, einer der praktische Mathematik studiert hat und ein Finanzmathematiker. Alle drei werden nach ihren Wunschgehältern gefragt.
    Der reine Mathematiker: „Wäre 30.000€ zu viel?“
    Der praktische Mathematiker: „Ich denke 60.000€ wäre in Ordnung.“
    Der Finanzmathematiker: „Wie wärs mit 300.000€?“
    Der Personaler ist verwundert: „Ist Ihnen klar, dass wir einen Diplommathematiker haben, der bereit ist die selbe Arbeit für ein Zehntel von dem zu machen was sie verlangen?“
    „Nun, ich dachte an 135.000€ für mich, 135.000€ für sie und 30.000€ für den Mathematiker der die Arbeit machen wird.“
  150. There is no logical foundation of mathematics, and Gödel has proved it!
  151. Why was six afraid of seven? Because 7 8 9.
  152. Mathematik ist wie Liebe – eine simple Idee, die ganz schön kompliziert werden kann.
  153. Q: What is the value of the contour integral around Western Europe?
    A: Zero, all the Poles are in Eastern Europe.
  154. Norbert Wienerwas a prototype of an „absent-minded professor“. These anecdotes (collected by Howard Eves, a math historian) are told about him: He went to a conference and parked his car in the big lot. When the conference was over, he went to the lot but forgot where he parked his car. He even forgot was his car looked like. So he waited until all the other cars were driven away, then took the car that was left.When he and his family moved to a new house a few blocks away, his wife gave him written directions on how to reach it, since she knew he was absent-minded. But when he was leaving his office at the end of the day, he couldn’t remember where he put her note, and he couldn’t remember where the new house was. So he drove to his old neighborhood instead. He saw a young child and asked her, „Little girl, can you tell me where the Wieners moved?“ „Yes, Daddy,“ came the reply, „Mommy said you’d probably be here, so she sent me to show you the way home“.
  155. Jeder zweite Schüler kann keine Bruchrechnung; ach, ich glaube, es sind noch viel mehr, mindestens jeder dritte oder sogar jeder vierte.

No enclosing instance of type InnerClassExample is accessible.


sun-java-logo

Die Fehlermeldung No enclosing instance of type InnerClassExample is accessible. Must qualify the allocation with an enclosing instance of type InnerClassExample (e.g. x.new A() where x is an instance of InnerClassExample). bekommt man immer dann, wenn man eine Klasse instantieren möchte, die als nicht statische innere Klasse definiert wurde. Wie zum Beispiel hier:

public class InnerClassExample
{
    private static void aFunction()
    {
        InnerClass privateClass = new InnerClass();
    }

    private class InnerClass {}
}

Die Ursache ist, dass InnerClass nicht static definiert wurde. Wenn man InnerClass static macht funktionierts wie man das erwarten würde. Ich behaupte einfach mal, dass man in 95,3% der Fälle auch wirklich eine statische innere Klasse haben will, man kann das static also einfach dazuschreiben.

Und so siehts dann aus:

public class InnerClassExample
{
    private static void aFunction()
    {
        InnerClass privateClass = new InnerClass();
    }

    private static class InnerClass {}
}

Hintergrund: Innere Klassen sind an ihre äußeren Klassen gebunden. So ist es möglich von der inneren Klasse auf Member der äußeren zuzugreifen. Damit das funktioniert muss klar sein von welcher Instanz der Member gelesen werden soll. Daher braucht es eine eins-zu-eins Beziehung zwischen äußerer und innerer Klasse. Diese Beziehung ist gegeben, wenn die innere Klasse in einer nicht statischen Methode erzeugt wird. Will man aber die innere Klasse aus einer statischen Methode, oder von einer anderen Klasse aus erzeugen, dann weiss Java nicht zu welcher Instanz der äußeren Klasse die Innere gehört.

Man hat also eigentlich mehrere Möglichkeiten:

1. Man macht die innere Klasse statisch. Dann kann man nicht mehr auf Member der äußeren Klasse zugreifen, aber man kann die Innere überall erzeugen.

2. Man zieht die innere Klasse in eine eigene Java Datei raus. Hat im Prinzip die gleichen Nachteile wie 1.

3. Man erzeugt eine extra Instanz der äußeren Klasse und benutzt deren new Operator. Das sieht dann so aus:

new InnerClassExample().new InnerClass();

Jep, das sieht etwas gewöhnungsbedürftig aus und ich hab das bislang noch nie in Code von erfahrenen Java-Programmierern gesehen.

4. Eine Variante von 3. ist, wenn man bereits eine Instanz von der äußeren Klasse hat, dann kann man die auch nehmen, z.B. so:

outclassInstance.new InnerClass();

Hab ich noch nie in der freien Natur gesehen. (Und das obwohl die Fehlermeldung genau diese Lösung vorschlägt.)

5. Man sieht ein, dass man eine innere Klasse nur innerhalb der äußeren Klasse benutzen sollte. Also macht man die Innere private (oder wenigstens protected) und baut seinen Code so um, dass er ohne die innere Klasse auskommt.


Erstelle eine Website wie diese mit WordPress.com
Jetzt starten