Tigraine

Daniel Hoelbling-Inzko talks about programming

Frohe Weihnachten!

Ha! Habe ich doch noch was gefunden um den Placeholder zu ersetzen. Hier ein sehr lustiges Video von Jeff Dunham mit "Achmed The Dead Terrorist" zu Weihnachten:

Allies & Axis

Axis & Allies Revised Weihnachtsferien beginnen und wie jedes mal trudeln so schön langsam die ganzen Exil-Studenten wieder in Klagenfurt ein.

Wie immer startet damit natürlich auch die Brettspiele Saison :). Da die Meute aber auch noch anspruchsvoll ist wurde es immer schwerer ein halbwegs gutes Brettspiel zu finden das auch gespielt wurde.

Auch wenn sehr schöne Spiele wie: Shogun, World of Warcraft, Risiko und Siedler von Catan zur Auswahl stehen. So richtig konnte keines davon überzeugen in letzter Zeit.

Nachschub musste her, also habe ich wieder mal beim Spielehändler meines Vertrauens nachgeschaut und habe ein neues Prunkstück für meine Sammlung gefunden:

Axis & Allies

Wer sich für Strategiespiele interessiert und genug hat vom alten Risiko-Glücksspiel wird in A&A eine absolut geniale Simulation finden. Das Spiel bietet alles, von liebevoll gestalteten Spielfiguren bis hin zu genialer Balance. Keine der 2 Fraktionen ist eindeutig im Vorteil, keine ist eindeutig im Nachteil. Sieg oder Niederlage entscheidet sich fast ausschließlich durch strategische Finesse, ohne dabei den Faktor Glück vollständig zu eliminieren und somit die Spannung in den Kämpfen aufrechtzuerhalten.

Worum es geht? Die Welt im Jahre 1942: Die Achsenmächte auf dem Höhepunkt ihrer Macht. Russland schwer in Bedrängnis durch ein starkes Deutschland im Westen und Japan im Osten. Amerika steht kurz vor dem Kriegseintritt und England kämpft an mehreren Fronten um das Kolonial-Reich vor den Achsenmächten zu verteidigen. Und das ist auch schon die Handlung. Alliierte kämpfen gegen die Achsenmächte. Die Seite die zuerst eine gewisse Anzahl an Sieges-Städten erobert hat und hält gewinnt das Spiel.

Warum das ganze soviel Spaß macht? Ganz einfach, im Gegensatz zu Risiko beginnen die Fraktionen an fixen Startpositionen mit festgelegten Start-Einheiten und unterschiedlicher Wirtschaft. Dadurch ergibt dass sich jedes Volk grundlegend anders spielt und auch extrem viele taktische Möglichkeiten gegeben sind.

Wiederstand ist zwecklos

DSC01389 Ich muss mir selbst zugute halten dass ich es immerhin 2 Monate lang ausgehalten habe.
Und obwohl ich schonmal festgestellt habe dass ich ihn eigentlich nicht brauche hab ich mir doch einen 24" Widescreen von HP gekauft!

Und auch wenn meine Kamera das nicht richtig einfangen kann, sobald man sich daran gewöhnt hat sind 24" eine absolute Wohltat.

Get your labels in place!

While surfing the web I sometimes think that people don't really know or use the <label> tag in XHTML.

Obviously, <label> isn't well known and it's usefulness is limited. But whenever I have to click a combo-button directly I remind myself to not forget that label next time I do something similar!

Here an example:

Option1Option2
Try selecting Option2 by clicking on it's text instead of trying to give a headshot to that small bullet in front of it :).

And here labels come in. By using <label for="<ElementId>">Text</label> you can link the control (Everything, Textboxes, Checkboxes etc) to your description text.

Obviously this als helps search engines to not mix up Form data with real content on your page!

C# Talk

Now and then I delve through some Java tutorials or Java applications for my studies. And everytime I do so I immediately lack the getter/setter language features of C#.

To make myself clear (to non-C# Developers). Java has either Public or Private properties, but no way to add validation Logic etc to those. It is usually considered bad coding technique to expose instance variables outside of the class so almost everything has to be accessed through functions. So to expose a integer variable called State you would have to create something similar to this:

get_set_Java 

It works and once you're used to it you will create setter/getter methods in your sleep. But, when pulling up your IntelliSense (ok, you don't have that in Java, but you know what I mean) on that class you will be somewhat overwhelmed by get/set functions :).

So, how did C# handle this? They borrowed a bit from Delphi and C# and created properties with get/set blocks (nothing new). So our code from above would look like:

get_set_C

The great thing: Intellisense gets easier, you have something clearly marked as property not as function (that's used to access a property). Usability for your API has just increased :).

But, despite the awesomeness of this function (already in the .NET Framework since 1.0) in .NET 3.5 they managed to improve this feature a bit. How? Imagine all those cases where you don't have any validator logic on your properties, you just want a simple public field in your class. In older Frameworks you'd have to create get/set Blocks for this Field although you don't want any logic there (exposing Instance-Variables is stupid no matter how you do it).

So, 3.5 Introduced this:

get_set_35

Great, we came down to 1 line of code, and what happened? .NET creates the private instance-variable automatically and handles the simple get/set stuff for us. When we decide we need validation or something in the get/set blocks we can just come back and expand those blocks without having to change any code outside the class (it was a get/set property all the time)

Pirates of the Burning Sea - Sony hats nicht drauf

Seit World of Warcraft hat eigentlich kein MMORPG mehr wirklich meinen Horizont gestreift. Zweifellos waren es auch nicht viele die ernsthaft versucht haben gegen das 10 Millionen Spieler Bollwerk von Blizzard anzurennen.

Lange Zeit warens eigentlich nur die alten bekannten: EQ2, FFX, EVE und DAoC die da neben WoW noch existierten. Und das Teils mit verschwindenden Marktanteilen je älter WoW wurde. Klar, die Publisher haben WoW nicht die Stirn bieten können und viele ihrer geplanten MMO Titel eingestampft (wie Midgard von Microsoft).

Nun, das ist mittlerweile wohl vorbei. Neue MMO Ankündigungen häufen sich und schicken sich an WoW abzulösen (was meiner Meinung nach nicht klappen wird). Aber neben all den echt aussichtsreichen Titeln wie Age of Conan, Warhammer Age of Reckoning etc versuchts dann Sony Online Entertainment (Everquest) auch nochmal mit "Pirates of the Burning Sea"

Pirates of the Burning Sea Und SOE hat nun auch eine Open Beta gelauncht. Der Link fiel mir zufällig in die Hände und ich hab mir natürlich sofort einen Beta Key geholt.

Und ab hier wirds peinlich. Im Jahr 2007 sieht die Beta Announcement Page mit den lächerlichen Renderfiguren einfach nur schlecht aus (Vergleiche AoC). Aber über ein paar Grafische Schnitzer kann man hinwegsehen oder? Sonst wäre keiner auf meiner Seite.. Absolut lächerlich macht sich Sony die Verteilung der Beta nicht selbst übernimmt sondern jedes in jedem Land eine Portalseite wie z.B. onlinewelten.de den Signup Prozess und die Downloads bereitstellt. Wirklich peinlich ist es dann wenn der Österreich Link zu Gamers.at führt wo von einer Open Beta noch keiner was gehört hat! Natürlich bin ich dann auf den Germany Mirror ausgewichen wo onlinewelten.de wenigstens eine kleine Seite dazu online gestellt hat (welche aber nicht direkt Verlinkt ist von der offiziellen Seite). Und jetzt kommts. Seitdem sauge ich 5 Dateien mit jeweils 1 GB per HTTP Download mit jeweils Geschwindigkeiten zwischen 10 und 50 Kb/s. Wenn man da an den WoW Downloader denkt der die Dateien per Bittorrent herunterlädt fühlt man sich fast in die Steinzeit versetzt.

Geforce 8400GS: Mein PC im Wachkoma

Asus 8400 GSDie Geschichte beginnt damit dass meine EVGA Geforce 7950 GT unter Windows Vista Probleme mit dem Treiber hatte die auch der EVGA Support sich nicht erklären konnte. Also wurde ich instruiert die Grafikkarte einzuschicken.

Glücklicherweise hat mir ein ehemaliger Arbeitskollege eine Geforce 8400 GS geborgt sodass ich nicht ganz ohne PC sein muss.

Frohne Mutes habe ich also die Geforce 8 in den PC geschraubt und eigentlich damit gerechnet dass (weils ja ne 8er ist) der PC genausogut laufen sollte wie vorher. Wenn nicht besser. Eigentlich hatte ich mir sogar bessere Performance als mit der Geforce 7 erhofft.

Weit gefehlt! Erster Schock: Compiz ruckelt!. Zuerst hab ichs auf den Treiber unter Linux geschoben, kann ja sein dass es da irgendwelche Probleme gibt. Aber unter Windows wars genauso. Trotz neuester Forceware Treiber läuft Aero nicht so richtig rund..

Also kontrollierte Testumgebung gestartet: World of Warcraft 2.3 ohne Addons. Und da hats mich dann aus den Latschen gehauen. WoW, das wohl anspruchsloseste Spiel das ich neben Baldurs Gate 2 und Warcraft 3 im Regal stehen habe RUCKELT!. WoW kann ich auf meinem alten Computer (3,5 Ghz AMD 64, 1 GB Ram, Geforce 6800) mit allen Details auf maximum perfekt spielen. Aber auf meinem Core Duro E6600 mit 3 GB Ram und der GF 8400GS ruckelt das Spiel auf low details! Das kanns doch irgendwie nicht sein oder?

Also hab ich nachgeforscht und bin einen Grafikkartenvergleich von Hardware-Infos gestoßen. Und als ich zum ersten mal mit den technischen Eckdaten der Grafikkarte Bekanntschaft machte wurde mir einiges klar. Die Karte ist mit 64 Bit angebunden, und der GPU und Speicher Takt sind auch absolut sub-optimal.

Dann erschließt sich einem aber auch gleich mal der Sinn und Zweck der Karte. Zum spielen ist sie nämlich eindeutig nicht gedacht, da eignet sich wohl eine Geforce 3 besser. Dafür kann die 8400GS aber mit DirectX 10 und Unified Shader aufwarten und eignet sich für Windows Vista Aero eigentlich hervorragend. Die Karte ist so niedrig getaktet dass es von Asus sogar eine Variante mit passiver Kühlung gibt, also ideal für einen Multimedia oder Office PC. Und das zum fast unschlagbaren Preis von 39€.

So, ich werde jetzt mal den Support bei EVGA anklingeln und fragen wann ich wieder eine richtige Grafikkarte besitzen werde

My Photography business

Projects

dynamic css for .NET

Archives

more