Sonntag, 26. Juni 2011

B7 2011

And yet again I am coming home from a great Blood Bowl tournament, the famous B7 near Stuttgart/Germany. As usual the organization was great and the schedule was adhered to pretty much. Plus, as always, there were over 30 stadiums you could play in.

We arrived on Friday afternoon after a smooth ride and did enjoy a cheap and tasty barbeque as well as a couple of board games. Apart from my 6 games of Blood Bowl I also got to see some old buddies again some of which I had not seen for a few years. But now for the tournament itself.

  • TV 1.100.000 GP
  • CRP + Experimental Races
  • 1 Skill before each game
  • Resurrection
  • No skill stacking
  • Only regular skills
  • Scoring system 4/2/1/0
My team (Dark Elf):
  • 2 x Witch Elf
  • 3 x Blitzer
  • 1 x Runner
  • 5 x Lineman
  • 3 x Reroll
Game 1: Prince Moranion (Dark Elf)

When I saw the initial draw I was pretty happy since this promised to be a great start for this tournament. We played a few times already and this guy is not only a veteran and pro player but also a very funny opponent to play against. We played a few times already and the games are usually tight with good positional plays plus a lot of trash talking from both sides. His setup was a bit different from mine, instead of the third reroll he upgraded one lineman to a blitzer and a second one to an assasin. I took leader on my runner while he took block on one of the witch elfs.
I got the first offence and started to pulk forward on the right wing but somehow I just got no real leverage to crack open the defence. Instead the opposition got to my runner with the ball and while the dump off failed the runner went down. Luckily the blitzing witch elf went down while trying to get to the ball. So I had to to go for a rather desperate move and put my witch elf into the end zone and managed to pass the ball to her. So i went 1-0 up but with still a few turns left in this half.
With that much time left and being a few people down I was not able to stop the equalizer so it was 1-1 at half time.
In the second half I was pretty much with my back to the wall while the Prince's players pounded my defence into the ground and set up a comfortable stalling cage with their complete team just before my endzone and the blockless witch elf holding the ball. I went in for the kill and put up as much pressure as I could but still my opponent refused to score after shaking of my pinning attempts. With not much else to do I sent in the kamikaze blitzer, 3+ 4+ 1 dice block on the blockless witch elf -> POW!!! Knockdown into the end zone, ball scatters out, throw in to the sideline, next throw in only 4 squares towards the LoS and the ball bounces into the hands of another blitzer that was pinned by an opposing player. He dodge out and ran for the hills while the few players left from my team tries to cover him as good as possible. My opponent only managed to tag the ball carrier with his assasin but I was able to get a lineman next to him so my blitzer could smack the assasin while moving towards the endzone and completely out of reach. Final result 2-1.

All in all this was great game where I had the lucky break in the end and feeling a little sorry for my opponent who played a great game and once again proofed to be a great sport even when being robbed in the last turns.

Game 2: Orkboss (Dark Elf)

Same team as before with the same line up, I took block on my first witch elf giving me the same skill set as my opponent. This match is summed up pretty quick, I had a good run of my block and cas dice killing his two skilled players within 4 turns. In the middle of the second half my opponent pretty much stopped trying to defend or anything due to a huge frustration wave caused by lack of players. I definitly had the better dice by far in this game but truth to be told my opponent gave me way too many blocks especially in the first turns even on his AV7 guys allowing me to take positional advantage and thus increasing pressure. So in the end I won 5-0.

Game 3: Flix (Dark Elf)

Again Dark Elves, again with the same skill selection as me, leader and 2 times block on the witch elves. The line up was similar to the opponents before but instead of an assasin he used a lineman and 2 fan factor. Flix and I have a pretty long history in Blood Bowl, mainly from online games, where he usually kicks my ass due to his excellent coaching skills but also his ability to pull out the crazy dice when needed, so I knew this one will get ugly but also with a high trash talk ratio. This time the dice where on my side, I caused 4 casualties where he did almost no damage to my team. In the middle of the second half his luck came back for a while and he managed to know the ball loose two times with a lot of dodges and 1 dice blocks. But fortunately I was always able to recover it and so I got my third win that day with another 2-1.

Game 4: Sputnik (Wood Elf)

Finally not Dark Elves, YAY!! Sputnik and I had not played for quite some time but again I knew this would a hard one and still more trash talk. Even though he rarely plays nowadays he is still a very good coach using a very good team, so I had to be careful. He got 2 war dancers, 2 catcher, 1 thrower and 7 linemen plus 2 rerolls. As skills he had leader on the thrower, frenzy and strip ball on the wardancers and block on a catcher, where i took dodge on a bltzer. I got the ball and started to grind forward but at some point the wardancers came to close for my taste so I chickened out and scored, giving him 4 turns for the equalizer. I think this was a mistake but hindsight is 20/20 as you know. Even though I got a Blitz! I could not put enough pressure on him to keep him from scoring. In the second half he first kept his thrower with the ball deep in his back field while catchers and wardancer terrorized my half of the pitch. After I sent a player after his thrower he went forward and put the ball into a 3 man side line cage. Since I was down in numbers I saw my only chance to try an early break. So I pinned the corner guards and had a blitzer dodge into the cage on a 4+ knocking down the thrower but unfortunatly catching the bounce while being trapped. So in the next turn he went out and the ball got thrown back to his endzone. After some more back and forth he was able to take advantage of his superior numbers and movement and sealed his 2-1 win.

Game 5: Hellraiser (Wood Elf)

Another Woodie and another trash talker that  had not played against in a  while. As usual he brought his tree, a thrower and 3 catchers but only 11 players in total. His skills were leader on the thrower, tackle on a wardancer and block on all catchers, while I went for another boring dodge blitzer. The kick of roll put me into defence but after a failed pass and some daft dodging I was able to steal the ball. From this point onwards the game went back and forth where the ball first almost got to my opponents endzone than back into the middle of my half and yet again back to my opponents side where i was finally able to score. This game was loaded with good dice rolls for me and some crucial turn overs on my opponent's side so I got to score a second time on my offence. But fighting hard the wood elves where finally able to score a touchdown elf style with some nice ball handling. Final result 2-1, once again.

Game 6: p4m (Skaven)

The race changed but the trash talking did stay. p4m and I only played once on tabletop at the B7 2007 but had quite a few online games and as far as I remember I usually lose against him. He had a rat ogre, 2 vermins, 4 gutter runners, 1 thrower and 12 players in total with 2 rerolls. As skills he chose juggernaut for the big guy, guard for the vermins as well as 2 times block and once wrestle on gutter runners and again I took dodge on a blitzer. The game started ugly, with a crowd push due to quick snap combined with an aggressive rat offence plus a maybe too passive defence on my side. After a while I had 2 linemen and a witch in my KO box while I put two gutter runners into my opponent's. But still I found no good way to the ball. So after a few turns I had to resort to desperate meassures once again. Another time a bliter made a 3+ 4+ dodge to POW the thrower with the ball and a lucky bounce gave me the shot for a pass. After the use of my reroll for a dodge the pass to my blitzer succeded who ran for his live crossing the LoS. The counter blitz against him resultet in a push and he was pinned by a vermin and a gutter runner. I was able to pin both so my blitzer could push the vermin with his blitz and run further to the endzone. Again a gutter runner tagged him but this time the vermin was not able to reach him by failing a go for it after makeing his 4+ and 3+ dodges. So I got a 2 dice blitz on the little rat and scored 1-0, UFF!!

But in the second half the tide turned yet again, I was down on players had a few turns that did not go that well plus a perfect defence to start with. So I lost the ball two times and both resulting in skaven touchdowns even though I tried to put up a fight and even got into the middle of the rats half. But in the end I just stood no chance and lost 1-2.

All in all I had a lot of high class games with some dice going my way and some not and this was again an excellent tournament that everyone should try to attend. My overall result was 4/0/2 putting me on the 10th place out of 70+ coaches which is kind of okay I guess for my first tournament with Dark Elves.

But now.. time for bed..

Donnerstag, 23. Juni 2011

Yet another way how Weblogic wasted my time..

A while ago I had some trouble with a Weblogic 10.0MP1 installation at my work place.I decided to post this here so that one day maybe it might help someone else facing the same problem.

At my workplace the operation guys provide a script to start a Weblogic instance which we have to use to get the instance configured properly.At one day I had to restart our test environment cluster due to an out of memory error. But for some reason the start script just hung without returning and the process list did not show a spawned java process, no errors, no log entries, nothing.

The start script was the same that was used on integration and production environments (hard link) which where still starting properly so the error could not have been there. To get some more information I started reading the script and added some debugging statements in a local copy of it. After a while I found the reason why the script hung. The java process just exited after being executed with a smooth exit code of 0. Meanwhile the script was listening to the log file in a loop waiting for either a success or an error message, since neither did get printed (no logs, see above) the readline call just blocked for I/O and would sit there until the end of days.

So now the question was why did the Weblogic server just shut down with a success return code and without any kind of error or log messages. Adding all kinds of debug flags to the start command did not change a thing. So it looked like a dead end, even more after searching the web for quite some time did not reveal any hits about this problem.

At this point I was pretty stumped and only saw one last chance to dig deeper into this, messing with the java code itself. I decompiled the Weblogic main class server.Weblogic and had a look at the code.At first I wanted to extend the class and override all methods to add debug statements and then delegate to the super class, but to my great joy the class is final. Using a delegate pattern was also of no use because as soon as I would delegate the first call to the original class the control would have never come back to me, so I decided to add plenty of printlns to the decompiled code, compiled it again and then used the new class to start the server.

Pretty soon I found the root cause of my problems: A bloody NullPointerException!!! Thrown by the classpath initialization routine. Now one would ask: "Why is a NPE not logged? Why did it set an error return code??" Weeeeeellll.. because the return value in that main routine is initially set to 0 and the whole block catches all Exceptions but only prints a statement if it was an AccessControlException. So for all other exceptions the routine just returns quitely and the return value is never changed. HOORAAYYY!!! Thank you Bea/Oracle.. ONCE MORE!! You nimrods!! Another stupid unnecessary bug caused by crap coding style every rookie java developer would be put against the wall for.

But this was not the end of it, I still had to figure out how that NPE got caused and more important how to fix it. The stacktrace did show that the Exception occured while the domain's lib folder was scanned. This folder can be used to put jar files there that should be added to the servers classpath which is rather convinient. When looking into the directory I saw the only jar we added there but also a directory containing the extracted contents of the jar file. After deleting the directory the server started up again.. UFFF!!

The directory got created by one of my colleagues who needed to know what the exact version of the jar file was and so had to look it up in the manifest. For some reason he was not able to deleted it afterwards, so he left it there to check back later. Can't really blame him for that, I would probably have done the same. Noone in our team would have suspected that this would cause such problems.

I spent the better part of a day fixing this problem, time that is now lost and that I have to make up for to keep our project on time. And so my hatred towards Weblogic raises yet again...

Ansteckende Dummheit

In meinem ersten Beitrag muss ich mir einfach etwas von der Seele schreiben was mir schon seit langer Zeit immer wieder die Sprache verschlägt.

Rolltreppen sind ja schon seit geraumer Zeit Teil des modernen Stadtbildes in Deutschland, besonders als Teil des öffentlichen Personennahverkehrs. Und auch die modernere Variante mit wechselnder Laufrichtung ist heutzutage auch keine Neuheit mehr. Von daher sollte man denken, dass Menschen die diese Treppen tagtäglich benutzen zumindest ein minimales Grundverständnis dafür haben wie die Dinger funktionieren!!

Der Vollständigkeit halber hier mal der grobe Ablauf:

  1. Die Rolltreppe steht still und es leuchtet an beiden Enden das Symbol für "Laufrichtung wechselt" (rotes Dreieck mit zwei gegenläufige Pfeilen)
  2. Eine Person tritt auf den Sensor am oberen Ende der Treppe
  3. Die Treppe beginnt zu laufen, von oben nach unten. Oben leuchtet nun zusätzlich das blaue Feld mit dem weißen Pfeil um zu zeigen, dass die Treppe von dieser Seite aus betreten werden kann. Unten leuchtet das Einbahnstraßensymbol um zu zeigen, dass man jetzt NICHT drauftreten sollte.
  4. Die Person verlässt die Treppe am unteren Ende wieder
  5. Nach wenigen Sekunden (vmtl. 2-3) hält die Treppe wieder an und es leuchten nur noch die Symbole für "wechselnde Laufrichtung"
Ist ja alles in allem nicht sooooo kompliziert, der Ablauf ist sehr simpel und es ist eigentlich klar, dass man ihn von außen nicht weiter beeinflussen kann. Tja, manche Leute sehen das offensichtlich anders. Zumindest ist das die einzige Erklärung die mir einfällt für das folgende Phänomen.

Immer häufiger beobachte ich wie Leute z.B. am unteren Ende einer Rolltreppe warten während diese gerade nach unten fährt und sobald die letzte Person von der Treppe gegangen ist, fängt einer der Wartenden an auf das blaue Pfeilsymbol zu drücken. Manchmal nur einmal, oft aber auch mehrmals hintereinander. Sobald dann die Treppe anhält schreiten diese Drücker dann auf die Treppe wobei sie in ihrem Gesicht einen Ausdruck der Zufriedenheit und Genugtuuung haben, als wollten sie sagen: "Ich habe diese Rolltreppe angehalten, ich ganz alleine!"

Und das sieht man immer öfter, immer wieder und man sieht dabei auch immer wieder die gleichen Leute. Andereseits habe ich auch schon beobachtet wie solche Drücker weiter hinten in der Warteschlange standen und ganz vorne so Leute wie ich, die einfach warten. Und es fällt den Drückern dabei offensichtlich überhaupt nicht auf, dass die Wartezeit ohne drücken genausolang ist als wenn sie sich den Finger an der Symbolleiste fast abbrechen.

Im Gegenteil, die Menge der Drücker wird immer mehr und wenn man es wagt an der Rolltreppe nicht zu drücken während die hinter einem stehen, dann kann man sich da ziemlich fiese Blicke einfangen.

Ich frage mich immer wieder was in den Köpfen von solchen Leuten vorgeht. Denken die, die Treppe würde immer weiter und weiter fahren wenn sie nicht auf den "Knopf" drücken? Und das die ganzen Male bei denen die Treppe so anhielt nur Zufälle waren? Glauben die Leute vielleicht auch, dass die Treppe einfach umdrehen würde wenn man nur oft genug auf den "Knopf" drückt während noch Leute drauf sind?

Das Ganze ist natürlich nichts dramatisches aber ein typisches Beispiel für die weiter fortschreitende und sich immer weiter ausbreitende Verdummung der Menschheit. Anstatt einmal richtig nachzudenken wird einfach irgendein Schwachsinn nachgemacht. Wenn Ihr das nicht glaubt, dann zählt mal alle paar Monate die Anzahl der Drücker die Ihr pro Woche seht und ich bin mir sicher es werden nicht weniger werden...