Praktikum bei der agentes AG

19
Johannes Siegner Praktikum bei der als Software-Entwickler 1

Transcript of Praktikum bei der agentes AG

Page 1: Praktikum bei der agentes AG

Johannes Siegner

Praktikum bei der

als Software-Entwickler

1

Page 2: Praktikum bei der agentes AG

Vorwort

Nun, lange wurde es von mir erwartet – lange wurde es geplant und dann war es soweit – mein Praktikum stand an.Mein erstes „Praktikum“ (den Boys-Day) verbrachte ich in der Grundschule Hessisch Lichtenau – gut, es war ganz interessant, aber doch nicht die Berufsrichtung, die ich längerfristig einschlagen würde.Deswegen habe ich mich dazu entschieden mein erstes „richtiges“ Praktikum in einer Firma zu verbringen, die das herstellt was mich schon seit Jahren fasziniert – Software.Es ist schon erstaunlich, dass eine Aneinanderreihung von Nullen und Einsen einen Haufen aus Silizium und Metallen dazu veranlasst auf einer Röhre aus Bleiglas mit Hilfe eines Kathodenstrahles Bilder, Filme, Zahlen und allerlei andere Sachen darzustellen und dabei noch mit dem Benutzer zu interagieren.Die meisten Menschen nutzen ihren Computer ohne sich bewusst zu sein, was genau in ihm abläuft, aber gerade durch das Praktikum wurde mir ein Einblick in das gewährt, was einen Computer dazu veranlasst aus Myarden von Nullen und Einsen eine für den Menschen verständliche Welt zu schaffen.Doch freilich muss man bedenken, dass eine Maschine wie der Computer keine eigene Empfindungen darüber macht, was man mit ihm macht – er macht es einfach!Und damit sind wir schon beim Thema Programmierung. Der Kunst die den Computer dazu zu bringen, dass er genau das macht, was der Benutzer von ihm verlangt.Ich hoffe nun, dass mein Computer das macht was ich von ihm verlange (und zwar diesen Praktikumsbericht aufzunehmen, speichern und auszudrucken) aber da ich zuversichtlich bin, dass dies gelingen wird wünsche ich dem Leser viel Spaß beim Lesen dieses Berichtes.

2

Page 3: Praktikum bei der agentes AG

Inhaltsverzeichnis

Seite 1 ....................................................................... TitelseiteSeite 2 ........................................................................ VorwortSeite 3 ........................................................................ InhaltsverzeichnisSeite 4 ........................................................................ Aufbau des BerichtesSeite 5 ........................................................................ ProjekteSeite 6 ........................................................................ ProjekteSeite 7 ......................................................................... BerichtSeite 8 ......................................................................... BerichtSeite 9 ......................................................................... BerichtSeite 10 ....................................................................... BerichtSeite 11 ....................................................................... BerichtSeite 12 ....................................................................... BerichtSeite 13 ....................................................................... BerichtSeite 14 ....................................................................... BerichtSeite 15 ....................................................................... BerichtSeite 16 ....................................................................... BerichtSeite 17........................................................................ BerichtSeite 18 ....................................................................... Mein EindruckSeite 19 ........................................................................ Nachwort

3

Page 4: Praktikum bei der agentes AG

Zum Aufbau des Berichtes

Da mein Praktikum eine große Vielfalt an ein Eindrücken bat und ich in einer sehr fortschrittlichen Betrieb gearbeitet habe, habe ich mir lange überlegt wie ich meinen Bericht aufbauen sollte.Ich bin schließlich zu dem Schluss gekommen, dass nach einem kleinen Vorwort und dieser Erklärung eine kleine Übersicht über die Projekte erfolgen wird, die ich an der Arbeit durchgeführt hatte – detailliertere Informationen wird es dann in den einzelnen Tagesberichten geben. Abgerundet wird das ganze von einem Essay in dem ich beschreibe, wie das Praktikum auf mich gewirkt hatte und was ich dabei gelernt habe.

4

Page 5: Praktikum bei der agentes AG

Projekte

Triangle Calc

Zur Auffrischung meiner Programmierkenntnisse habe ich in der Programmiersprache PHP eine kleine interaktive Webanwendung geschrieben, die den Flächeninhalt von Dreiecken berechnen kann.Link: http://www.triangle-calc.tk

5

Page 6: Praktikum bei der agentes AG

Robocode

Einen sehr spannenden Teil meines Praktikums bildete Robocode. Dies ist ein Programmierspiel in dem man in der Programmiersprache Java Roboter programmiert die man dann miteinander kämpfen lassen kann – eine sehr kreative und fesselnde Art der Programmierung.

Mac OS X x86

Mac OS X – das wahrlich geniale Betriebssystem von Apple war bisher nur auf Apple-Hardware lauffähig.Doch einige kluge Programmierer und Hacker haben es tatsächlich

6

Page 7: Praktikum bei der agentes AG

geschafft es auf normalen PCs zu installieren – Wenn die das können, warum kann ich das dann nicht auch? Ein spannender Ausflug in die Computerwelt.

Praktikumsbericht

Montag, 10. März

Früh am Montag aufgestanden ging es auch schon zum Praktikum. Der Vater meines Klassenkameraden Patrick nahm Patrick und mich mit zur Arbeit, so dass wir dort in den Beruf des Software-Entwicklers schnuppern konnte.Die Firma findet sich in Kassel – im Industriepark in der obersten Etage eines Gebäudes in der Otto-Hahn-Straße. Allgemein machte der Betrieb auf mich einen guten Eindruck, es war alles in Blau, Grau und Weiß (den Firmenfarben) gehalten und wirkte sehr seriös.Zuallererst wurden uns die verschiedenen Abteilungen und Personen vorgestellt – alle waren sehr freundlich und ich konnte in den Büros liebevolle Details wie einen retuschierten Ausdruck eines Vorgesetzen oder die Bestellkarten des Pizzaservices finden.Am Eingang des Betriebs befand sich ein Fingerabdruckscanner um den Angestellten den Zutritt zu gewähren und Unbefugten zu verwehren. Damit Patrick und ich auch selber eintreten konnten wurden uns die Fingerabdrücke abgenommen – wenn das so einfach wäre!Bei Patrick ging dies ohne jedes Problem – aber bei mir konnte der Fingerabdruckscanner einfach kein Muster erfassen.Dies ist sehr verwunderlich, denn laut Aussage des Mitarbeiters, welcher mir den Fingerabdruck abnahm gab es bisher bei keiner Person Probleme bei der Abnahme der Fingerabdrücke mit dem verwendeten System, dessen Entwicklung 50.000 Euro kostete.Schließlich schlug mir ein Mitarbeiter vor, dass ich mir einen Beruf in einer Branche suchen soll in der Fingerabdrücke zu hinterlassen nicht erwünscht ist (Bankräuber, etc. ... ) – interessant, dass man beim Praktikum gleich

7

Page 8: Praktikum bei der agentes AG

Anregungen für andere Berufe bekommt!Danach folgte noch ein kleiner Einstieg in die Programmiersprache Java – welcher auch sehr interessant war, aber da ich selber gewisse Abneigungen gegen Java habe und die Firma zum Großteil in Java entwickelt kam es zu kleinen Meinungsverschiedenheiten. Ansonsten war der erste Tag sehr gelungen und spannend.

Dienstag, 11. März

Und schon war auch schon Dienstag und mein zweiter Praktikumstag stand an. Angekommen in der Firma führte Patrick seinen Finger über den Fingerabdruckscanner und die Tür ging auf – ein Ansporn für mich das auch endlich hin zu bekommen.Also ging ich wieder in den IT-Bereich und habe mir dort wieder meinen Fingerabdruck abnehmen lassen – nach einer halben Stunde vergeblichen Scannens habe ich es aufgegeben und bin schließlich wieder zurück in das Büro gegangen. Dort habe ich den Auftrag bekommen ein Programm zur Berechnung des Flächeninhalts eines Dreiecks zu schreiben. Da ich gerade sehr im Web 2.0 Fieber war, habe ich auch sogleich eine Anwendung in der Internetprogrammiersprache PHP mit komplett durgestyltem Interface geschrieben, die es einem ermöglicht eben jene Aufgabe sehr stilvoll durchzuführen.Der Programmcode dazu ist eigentlich sehr einfach:

<html><script language="javascript" type="text/javascript" src="http://quickribbon.com/ribbon/2008/03/8c63c07d127473cb1fcb962f7e2e6062.js"></script><noscript><a href="http://quickribbon.com/">Quickribbon</a></noscript><style type="text/css">font-family:Lucida Grande;a:link {color:white; text-decoration:none}a:visited {color:white; text-decoration:none}a:active {color:white; text-decoration:none}a:hover {color:white; text-decoration:underline}</style><head><TITLE>triangle calc - the mathematical online-revolution</TITLE></head><body style="background-color : #00056d; color : #ffffff; margin-bottom : 15px;"><center><IMG src="triangle.gif" width="800" height="300" align="middle" border="0"></center><?php if(isset($_POST['hoehe'])&&isset($_POST['grundseite'])) {

if(is_numeric($_POST['hoehe'])&&is_numeric($_POST['grundseite'])) { $flaeche = (($_POST['hoehe']*$_POST['grundseite'])/2);

?> <center style="font-family:Arial; color : #ffffff; font-size : 60px;"><?php echo "$flaeche cm"; ?> &sup2;</center>

<br><br><br>

8

Page 9: Praktikum bei der agentes AG

<br><br><br><?php}

else {?><center style="font-family:Lucida Grande; color : #ffffff; font-size : 40px;"><IMG src="error.png" width="100" height="100" align="left" border="0"> Fehler: Nicht-numerischer String im Eingabefeld</center><br><br><br><br><br><br><?php

}}else {

?> <center style="font-family:Lucida Grande; color : #ffffff; font-size : 40px;">Bitte gebe die Werte ein. <br> <form action="index.php" method="post">

H&ouml;he: <input type="text" name="hoehe"> cm <br> Basis:<input type="text" name="grundseite"> cm<br>

<INPUT TYPE="IMAGE" SRC="button.png" ALT="Submit button"></form></center> <?php

} ?><center style="font-family:Lucida Grande; font-size: 17"> <a href="index.php">home</a> | <a href="about.html">about</a> | <a href="contact.html">contact</a></center> </center></body></html>

Das ganze sieht auf den ersten Blick zwar sehr kompliziert aus, aber das rührt daher, dass die Ausgaben auch gleich noch durchgestylet und formatiert ausgegeben werden – ohne diese Formatierungen würde der Code um einiges sauberer aussehen.Nun, was macht dieses Programm? Es fragt den Benutzer nach 2 Variablen, einmal der Höhe des Dreiecks und einmal nach der Grundfläche. Dies passiert in folgendem Codeabschnitt.

<center style="font-family:Lucida Grande; color : #ffffff; font-size : 40px;">Bitte gebe die Werte ein. <br> <form action="index.php" method="post">

H&ouml;he: <input type="text" name="hoehe"> cm <br> Basis:<input type="text" name="grundseite"> cm<br>

<INPUT TYPE="IMAGE" SRC="button.png" ALT="Submit button"></form></center>

Dort wird die Variable von HTML abgefragt und sogleich an das Programm geschickt. Das Programm überprüft ob die Felder gefüllt sind (falls nicht

9

Page 10: Praktikum bei der agentes AG

wird ein Fehler angezeigt) und wenn sie tatsächlich gefüllt sind wir mit

$flaeche = (($_POST['hoehe']*$_POST['grundseite'])/2);

Der Flächeninhalt berechnet und danach gleich mit HTML formatiert ausgegeben.

Natürlich wird diese sehr grobe Erklärung einen nicht alle Funktionsweisen des Programmes erklären können, aber sie bietet finde ich eine schöne Erklärung was das Programm bewirkt. Selber ausprobieren kann man das Programm unter http://www.triangle-calc.tk.Nach dieser kleinen Programmierarbeit wurde mir auch gleich die erste richtige Aufgabe der Firma gegeben. Ich sollte aus einer maschinenlesbaren Version eines Datenbankaufbaus eine für den Menschen lesbare Version herstellen.

So in etwa sah die Maschinenform aus.

CREATE TABLE `message` ( `id` int(15) NOT NULL auto_increment, `von` text collate latin1_general_ci NOT NULL, `fuer` text collate latin1_general_ci NOT NULL, `zeit` varchar(11) collate latin1_general_ci NOT NULL default '', `titel` text collate latin1_general_ci NOT NULL, `text` text collate latin1_general_ci NOT NULL, `zustand` char(1) collate latin1_general_ci NOT NULL default '0', KEY `id` (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

Daraus eine für den Menschen lesbare Tabelle zu erstellen ist eigentlich keine Herausforderung – aber es ist sehr zeitintensiv. Da ich ohnehin bald Feierabend hatte, habe ich einige Recherchen dazu betrieben, wie man den ganzen Vorgang beschleunigen kann, welche ich doch wegen Ende des Arbeitstages nicht fertig führen konnte.

Mittwoch, 12. März

Tags darauf ging es im Büro gleich an die Recherche – ich habe herausgefunden, dass man mit dem bekannten Datenbanktool phpmyadmin Datenbanken schnell und einfach in menschenlesbarer Form exportieren kann – also ein bisschen den Datenbankcode angepasst, in das Programm

10

Page 11: Praktikum bei der agentes AG

als eine neue Datenbank ausgeführt und exportiert – schon hatte ich die Arbeit, die von Hand ca. 2 Stunden gedauert hätte mich Recherche-Zeit in 30 Minuten gelöst. Und dabei habe ich einen wichtigen Grundsatz aus der Software-Entwicklung angewandt. Bevor man selber das Rad neu erfindet soll man schauen ob es nicht schon ein ähnliches Programm gibt und dies seinen Wünschen anpasst. Dies ist ein großes Pro für Open Source Software, bei der es einem erlaubt ist, das Programm seinen eigenen Bedürfnissen her anzupassen und weiterzuverteilen. Das ist bei proprietärer Software, wie zum Beispiel Microsoft Windows nicht möglich und sogar verboten. Ein weiterer Grund auf Linux umzusteigen.Im Übrigen, kann man hier eine kleine Impression aus dem Ergebnis meiner Arbeit bestaunen:

Nachdem dieser sehr spaßvolle Teil durchgeführt wurde, kam ich auch schon zu den etwas unangenehmeren Teilen der Arbeit.

11

Page 12: Praktikum bei der agentes AG

Ich musste mit Lotus Notes arbeiten – dem, meiner Meinung (und auch der Meinung einiger Mitarbeiter) schlechtesten Datenbankprogramm aller Zeiten.Ich musste diverse Kundendaten eingeben und überprüfen, eine sehr langweilige und monotone Aufgabe, deren weitere Erwähnung nicht das Papier und die Tinte wert ist.Danach kam wieder ein spannender Teil, es ging um Robocode!In Robocode kann man auf spielerische Weise seine Programmierkenntnisse anwenden und einen Robotor programmieren, der dann gegen andere Roboter kämpft – eine wahrhaftig geniale Idee. Man muss es einfach einmal selbst gespielt haben um zu verstehen, was es heißt Robocode gespielt zu haben.Doch ohne Programmierkenntnisse kann man Robocode leider vergessen. Aber trotz alldem werde ich einen kleinen Programmcode eines Roboters hier einfügen, nur einmal zu Illustrationszwecken.

package js;import robocode.*;//import java.awt.Color;

/** * Spinner - a robot by (your name here) */public class Spinner extends Robot{

/** * run: Spinner's default behavior */public void run() {

// After trying out your robot, try uncommenting the import at the top,// and the next line://setColors(Color.red,Color.blue,Color.green);while(true) {

// Replace the next 4 lines with any behavior you would liketurnGunRight(360);fire(1);turnGunRight(360);fire(1);

}}

/** * onScannedRobot: What to do when you see another robot */public void onScannedRobot(ScannedRobotEvent e) {

fire(1);turnLeft(20);ahead(50);

}

/** * onHitByBullet: What to do when you're hit by a bullet */public void onHitByBullet(HitByBulletEvent e) {

turnLeft(90 - e.getBearing());ahead(200);

}

12

Page 13: Praktikum bei der agentes AG

}

Dieser Roboter hat eigentlich keine besonderen Fähigkeiten außer sinnlos herumzufahren und ins Leere zu schießen, aber trotz allem ist der Programmcode einfach schön anzusehen. Eine Erklärung eben jenes würde den Umfang dieses Berichtes jedoch um ein vielfaches sprengen, deswegen werde ich es bei dem Programmcode belassen.Den weiteren Tag verbrachten Patrick und ich damit, dass wir uns Roboter bauten, die dann gegeneinander kämpften.

Donnerstag, 13. März

Am heutigen Tag stand etwas besonderes an – ein Brownbag. Ein Brownbag ist eine Zusammenkunft, auf der ein Thema besprochen wird. Eigentlich ja nichts besonders, aber auf einem Brownbag wird dabei Essen verzehrt. Daher rührt auch der Name. „brown bag“ sind die Tüten in denen sich die Angestellten ihr Essen mitgebracht haben. Und dieser Ausdruck hat sich bewährt und ist nun ein Standardausdruck im Businessbereich.Also hatten wir ein Brownbag – es ging darum, dass die Firma auf Microsoft Office 2007 umgestellt hat und dazu eine kleine Einführung gewährleistet wurde.Dies war schon sehr interessant, besonders haben die vielen Fotoeffekte von Office begeistert – die eigentlich einzige sinnvolle Neuigkeit, aber dafür soviel Geld ausgeben? Na ja, ich musste das ja nicht entscheiden.Es gab Pizza zum Essen und schon alleine deswegen hatte sich der Besuch des Brownbags gelohnt.Danach ließen wir den Tag entspannt mit einer kleinen Robocode-Programmier-Session ausklingen.

Freitag, 14. März

Und schon war fast die gesamte Hälfte meines Praktikums vorbei.

13

Page 14: Praktikum bei der agentes AG

Ich habe den Tag damit verbracht mit Lotus Notes einige Kundendaten zu pflegen und neu einzuschreiben – eine wie schon weiter oben beschrieben sehr monotone Arbeit, aber es musste nun einmal gemacht werden. Ansonsten war Freitag sehr ereignislos und ich erwartete das Wochenende.

Montag, 17. März

Neue Woche, neuer Anfang! Wir fingen mit einem neuen Thema an und haben etwas mit Excel gearbeitet, eine sehr schöne Arbeit. Dabei habe ich ein hochinteressantes Diagramm über die Beziehungen an unsere Schule erstellt, tatsächlich ist die Hälfte aller Schüler solo!

Ansonsten wurde man als Praktikant wiedereinmal mit Lotus Notes malträtiert und mir nichts dir nichts war der Tag auch schon wieder vorbei.

Dienstag, 18. März

14

Page 15: Praktikum bei der agentes AG

Von Lotus Notes genug geärgert entschloss ich mich zu einer kreativen Arbeit: Mac OS X auf einem herkömmlichen Notebook zu installieren. Das DVD-Image lag vor und ich habe einen virtuellen PC erstellt und versucht Mac OS X zu starten – nun: es startete tatsächlich, allerdings stürzte es nach 3 Sekunden ab und gab eine Fehlermeldung aus, dass eine bestimmte Prozessor-Erweiterung, genannt PAE auf meinem System nicht verfügbar ist. Das darf doch nicht wahr sein!Etwas recherchiert und verschiedene Leute gefragt – dann hatte ich die Lösung: Ich musste PAE im Bios aktivieren.Das habe ich auch gemacht – aber der Erfolg war mich immer noch nicht verbucht, da der Linuxkernel des Hostsystems keine PAE-Unterstützung hatte – und auf neuinstallieren hatte ich nun wirklich keine Lust.Jedoch wie das immer so ist verging bei der ganzen Frickelarbeit die Zeit wie im Flug und wiedereinmal war ein Tag vorbei.

Mittwoch, 19. März

Am Mittwoch stand zu allererst eine Führung durch den Server-Raum an: Eine sehr spannende Sache!Die Firma verfügt über ca. 15 Server, die alle einen Höllenlärm machen und dafür sorgen, dass alle Daten da bleiben wo sie sind und alles so läuft wie es soll. Im Serverraum stand eine USV, also eine Art große Batterie, die bei Stromausfall ansprang und alle (!) 15 Server für 30 Minuten (!) am Leben erhielt. Dabei war sie gerade mal so groß wie ein normales Tower-Gehäuse. Das Teil sollte man nicht anfassen, wollte man nicht an einem Stromschlag sterben!Danach wurde uns noch die Klimatisierung und die Software der Server gezeigt – ein sehr durchdachtes System.Sollte einer der Server ein Problem haben, so bekommt eine Fachkraft in der IT automatisch per Instant-Messenger eine Nachricht und per Webinterface kann man sämtliche Server überwachen – ein wirklich faszinierendes System!Danach ging mein Projekt Mac OS X auf normalem PC auch schon weiter.

15

Page 16: Praktikum bei der agentes AG

Ich habe mir einen DVD-Rohling besorgt und das OS X Image darauf gebrannt und versucht davon zu booten – leider konnte ich mein DVD-Laufwerk nicht dazu bewegen von der DVD zu booten.Nach einigen Basteleien habe ich es tatsächlich hinbekommen von der DVD zu booten, aber er konnte dann nicht mehr auf die Daten zugreifen.Also etwas recherchiert – Aha! Ich soll ein USB-Laufwerk nehmen. Zuhause ausprobiert – und tatsächlich – er bootete. Ich habe ihn booten lassen und war dann einmal kurz draußen spazieren, als ich wieder kam hatte sich rein gar nichts getan.Etwas weiter nachgeschaut – er konnte aus irgendeinem Grund nicht die USB-Treiber laden – Na Wunderbar!Verzweifelt legte ich mich ins Bett. Ich hasse es, wenn etwas nicht so funktioniert, wie ich will!

Donnerstag, 20. März

Und dann war auch schon der letzte Tag des Praktikums. Zuallererst bat ich die Jungs aus der IT mir ein bootfähiges DVD-Laufwerk zu leihen und dann ging es auch schon an die Arbeit.Ich musste die Daten von großen Banken in eine Datenbank eintragen – eine schon etwas interessantere Arbeit, weil ich die Bankdaten erst einmal recherchieren musste – und weil die meisten Banken die ich eintragen sollte schon längst in der Datenbank eingetragen waren.Danach erhielt ich mein DVD-Laufwerk und startete Mac OS X, was ohne jede Probleme funktionierte. Beim ersten Installationsversuch war die DVD dreckig und nicht lesbar. Also reinigen und neu installieren.Der 2. Versuch verlief sehr erfolgreich, aber das Mac OS X wollte nicht starten – warum das so war habe ich im Internet gefunden: es befand sich ein Leerzeichen in der Bezeichnung der Bootpartition. Also nochmal neu formatiert und installiert.In der Zwischenzeit war ich Mittag essen und dann kam ich wieder in lauter Vorfreude auf mein Mac OS X. Es startete – stürzte ab und startete neu!

16

Page 17: Praktikum bei der agentes AG

Mein Notebook hatte sich in einen sehr teuren Briefbeschwerer mit Apple-Bootscreen verwandelt!Spätesten sah ich ein, dass Mac OS X auf einen Mac gehört – und nicht auf einen PC. Ich installierte Linux auf dem Notebook und alles war wieder beim alten.Danach wurden wir noch von diversen Angestellen und Vorgesetzen verabschiedet und das Praktikum war vorbei.

17

Page 18: Praktikum bei der agentes AG

Mein Eindruck

Um es kurz zu fassen: Es war einfach nur genial!Ich hatte eine Menge Spaß, habe eine Menge netter Leute kennengelernt und auch so einiges dazu gelernt.Der Beruf des Software-Entwicklers ist auf jeden Fall eine von mir bevorzugte Berufsgruppe, man muss auf kreative Weise Probleme lösen – was sogar sehr Spaß machen kann und auch der Verdienst ist nicht schlecht.Ich habe im Praktikum eine Menge über den Beruf, oder auch die Berufswelt erfahren, habe erfahren, was es wirklich heißt „Feierabend zu haben“ und „früh zur Arbeit zu müssen“.Es war eine schöne Erfahrung – und ganz ehrlich: Ich würde lieber bei agentes arbeiten als in die Schule zu gehen.Ich kann jedem der sich für den Bereich Informatik interessiert ein Praktikum bei der agentes AG empfehlen – es ist wirklich interessant!Obwohl es auf den ersten Blick langweilig klingt, dass die agentes AG Banksoftware entwickelt – es ist abwechslungsreich und macht Spaß!

18

Page 19: Praktikum bei der agentes AG

Nachwort

Nun, dass war mein Praktikumsbericht.Ich hoffe er war gut lesbar und hat dem Leser einige Anregungen gebracht – ich hoffe gerade zu, dass er sich auf die Robocode-Seite stürzt und sich ein Robocode-Tutorial durchliest und zu programmieren beginnt, um auch einmal dieses Gefühl erlebt zu haben.

In diesem Sinne ...

Happy Coding ;)

Johannes Siegner, 13. April 2008

19