Archive for April, 2009

Kubuntu 9.04 antesten

Ich bin zwar mit meiner jetzigen OpenSuSE Installation recht zufrieden, dennoch wage ich ab un zu ein paar Seitenblicke auf andere (Linux-)Betriebsysteme. Dieses mal fiel der Blick auf (K)Ubuntu in der Version 9.04 oder auch als Jaunty Jackalope bekannt, was so viel wie “unbeschwerter Wolpertinger” heißt. (Wie die Ubuntu-Entwickler immer nur auf diese merkwürdigen Namen kommen?)

Zuerst habe ich mir das neue Betriebsystem auf einer Live CD angeschaut. Die KDE Umgebung ist schon beim Start ein echter Augenschmaus und die bläuliche Färbung der Systemleiste lässt durchaus Ähnlichkeiten mit der von Windows 7 zu. Im Gegensatz zur Live-Version von OpenSuSE 11.1, arbeitete das Kubuntu-System etwas flotter und blieb auch beim Starten der Installationsroutine nicht hängen. Selbiges trat bei mir während der Installation von OpenSuSE 11.1 öfters auf. Da ich mich noch gut an den problematischen Einstieg mit OpenSuSE 11.1 erinnern kann, habe ich Kubuntu zum Herumspielen auf eine zweite Festplatte installiert und den Bootloader GRUB so eingestellt, dass ich Kubuntu bei Bedarf beim Systemstart auswählen kann.

Das Ganze dient eigentlich dem Zweck, um festzustellen, ob ich Kubuntu auch als mein tägliches Arbeitsbetriebsystem nutzen könnte. Die reine Benutzung von der Live CD reicht da meist nicht aus, weil oftmals nicht die gesamte Hardware erkannt wird. Und Einstellungen, wie sie in .config-Dateien enthalten sind, lassen sich eben nur auf einem installiertem System vornehmen. Zusätzlich entfällt das Gerödel des DVD/CD-Rom Laufwerkes, was mir dezent ein wenig auf die Nerven gegangen ist.

Momentan kämpfe ich noch ein wenig mit der Installation meines WLAN-USB Sticks, den ich für kurze Zeit zum Blinken der LED überreden konnte. Allerdings bekam ich keine Verbindung zu meinem Router hin. Auch der erste Anlauf den Ndiswrapper in Version 1.53 zu kompilieren, schlug zunächst fehl, obwohl die Pakete für den Kernel Source sowie die für den Kompiliervorgang installiert waren. Stattdessen mockierte sich make darüber, dass an eine Funktion nicht genügend Parameter übergeben und Datentypen nicht zueinander passen würden. Der Versuch mit der aktuellen Version 1.54 gelang jedoch ohne “Zwischenfälle”.

Bisher macht Kubuntu 9.04 einen guten Eindruck auf mich. Die Installation geht wesentlich einfacher über die Bühne als die von OpenSuSE. Ungewöhnlich fand ich zunächst, dass der Account für den root-User nicht eingerichtet ist. Ansonsten komme ich mit meiner bisherigen Linux-Erfahrung ganz gut zurecht

Ich vs. Siron (1)

Ja, ich wollte mal ein wenig über meine “Erlebnisse” mit dieser Programmiersprache schreiben. (Hab es vor einigen Beiträgen versprochen.) Als Beispiel wird ein Übungsprogramm aus meinem Praktikum herhalten müssen – privat schreibe ich ja momentan an einem C-Programm und daher weniger in Siron.

Aufgabe war in etwa diese hier:

  1. Schreibe zunächst die Daten aus der Datei autos2 von Männern (diese gehören zu CLUB = M) und Frauen (CLUB = F) auf zwei getrennte Dateien. Das Dateiformat ist CSV
  2. Dann gib nach beiden Dateien getrennt den gesamten Umsatz, die gesamten Kosten und den Gesamtgewinn aus.

Erster Teil der Aufgabe: Null Problemo. Beim zweiten Teil wurde es schon etwas kniffliger. Als geübte Java- bzw. C-Programmiererin hätte ich mir da entsprechende Funktionen gebastelt und diese aufgerufen. Aber was tun, wenn man nicht weiß, wie die entsprechende Syntax für Siron heißt? Also in der umfangreichen Hilfe querlesen, in der Hoffnung, dass man sowas Vertrautes wie function (Pascal, PHP), sub (BASIC, Fortran?) oder defun (Common Lisp, Scheme) findet. Aber das war ein Satz mit X.

Und das habe ich geschrieben (keine Angst, ich erkläre es auch und das nette Syntaxhighlightning ist ein kleiner Service von mir):

*% — Datensaetze getrennt nach einem Kriterium
*% in 2 verschiedene Dateien schreiben

MERKE (CSV_SEPARATOR = ‘#’, CSV_DECIMALPOINT = ‘.’,
CSV_TEXTMARKER = ‘”‘)
HOLE autos2
WENN club = ‘F’
DANN
SCHREIBE AUF ausgf CSV (AUTOS2SATZ)
SONST
SCHREIBE AUF
ausgm CSV (AUTOS2SATZ)
ENDE-WENN
ENDE

Was macht hier Siron eigentlich? Zuerst definiere ich mir mit MERKE die in Siron bekannten “Variablen” für CSV Dateien neu. Sprich, Siron soll ein paar andere Trennzeichen verwenden. Die HOLE-Anweisung liest die gesamten Datensätze aus der, im Siron-System bekannten Datei, autos2. Mit Hilfe des Unterscheidungsmerkmals club (dieses befindet sich in der Datei) werden die Datensätze getrennt auf die Dateien ausgf und ausgm geschrieben.

Continue reading ‘Ich vs. Siron (1)’

Kein Glück bei Tonbeller

Auch nach dem viel versprechenden Praktikum in der bensheimer Firma, gab es für mich kein nachträgliches Osterei in Form eines Jobs als Softwareentwickler. Allerdings ist es dem Entscheider schwer gefallen mich abzulehnen, da ich mich im Praktikum von meiner besten Seite gezeigt habe.

Dafür möchte er aber gerne bei einem nächsten Vorstellungsgespräch als Referenz für mich dienen, was ich richtig toll finde. Immerhin war es eine tolle Zeit, die ich dort verbracht habe. Und falls alle Stricke reißen sollten, dürfte ich gerne ein längeres Praktikum bei Tonbeller machen. (Was dann sicherlich auch lohnender wäre, da man dann Zeit für ein richtiges Projekt hätte.)

Gestern, als der Anruf mit der Absage kam, war ich ziemlich enttäuscht über diesen Verlauf. Denn mir ist mein damaliger Kontaktpartner, der zu gleich auch mein Betreuer war, ein wenig ans Herz gewachsen.

:cry:

Weiter zittern

Ich befinde mich zur Zeit in einem Moment der Anspannung. Es steht quasi 50/50, dass ich bei TONBELLER den Job als Entwickler bekomme bzw. ihn nicht bekomme. Ich habe stets das Handy in meiner Nähe, falls der entscheidende Anruf kommt.

Aber irgendwie habe ich auch Angst davor. Im Praktikum habe ich alles gegeben, was ich konnte. Und ich kann bei Leibe keinen groben Patzer auf meiner Seite feststellen, den ich mir im Praktikum geleistet haben könnte. Am ersten Tag hätte ich mir gewünscht, dass ich mit Siron etwas besser klar gekommen wäre, aber das war das aller erste Mal in Siron.

Das ist mal wieder einer dieser typischen Situationen, in denen man einfach nichts machen kann, außer abwarten und hoffen.

Schon morgens, wenn ich aufstehe, fange ich an daran zu denken. Selbst auf meine kleine Lektüre, die ich zum Zeitvertreib für unterwegs zur Verfügung habe, lenkt mich nicht ganz ab.

Abschluss meines Praktikums

Jetzt, wo ich schon ein paar Stunden wieder zu Hause bin, macht mich das Ende dieses Tages (08.04.2009) ein wenig wehmütig. Drei tolle Tage mit viel Abwechslung im schönen Bensheim sind zu Ende gegangen. :cry: Ich habe während des Praktikums bei TONBELLER viel und vor allem Siron gelernt.

Ich habe ein paar Impressionen per Handy eingefangen, die ich euch natürlich nicht vorenthalten möchte. Die Bilder sind mal mehr, mal weniger gut gelungen wegen der unterschiedlichen Lichtverhältnisse.

Bensheim bei Sonnenschein

Bensheim bei Sonnenschein

Continue reading ‘Abschluss meines Praktikums’

1. Tag – Praktikum

Siron und ich

Heute war ich in Sachen Praktikum wieder in Bensheim unterwegs. Heute war auch das erste Mal, dass ich in der Programmiersprache Siron “tätig” werden durfte. Um es vorne weg zu sagen: Siron ist wede C noch Java!

Das fällt schon auf, wenn man sich die übrigens deutschsprachigen Konstrukte, die Pedants z.B. für if … else oder int zahl = 5 bilden, anschaut. Ok, das ist Syntax, in die man intuitiv leicht rein kommt, aber für jemand, der wie ich vorher überwiegend in Java und in C programmiert hat, erscheinen gewisse Konzepte und Eigenheiten als etwas gewöhnungsbedürftig.

Daher habe ich mich bei einer relativ einfachen Aufgabe (“Finde den größten bzw. kleinsten Wert aus einer Folge”) vom Feinsten geärgert, weil ich aus dem Kopf in fünf Minuten einen C oder Java Quelltext hätte schreiben können, ohne dabei sonderlich nachzudenken. Nun ging das aber in Siron nicht wie in C oder Java. Denn in Siron gibt es sowas wie implizite Schleifen. (Spätestens jetzt hat wohl der geneigte Leser Probleme meinen Ausführungen zu folgen :-P ) Ok, ich versuche diesen Begriff einigermaßen verständlich zu erklären:

Implizite Schleife: In Siron gibt es Anweisungen (zum Beispiel die hole – Anweisung, die Datensätze aus einer Datei liest), die so wirken, als hätte man gerade ein Schleifenkonstrukt wie die for- oder while-Schleife hingeschrieben. Nachfolgende Befehle (zum Beispiel für die Bildschirmausgabe) verhalten sich dann so, als stünden sie innerhalb dieser Schleife. Somit schreibt die Ausgaberoutine den jeweiligen Wert, der gerade im Verlauf der impliziten Schleife erzeugt wurde, auf den Bildschirm.

Ein Kabel, das verbindet

Ah ja, das ist auch noch eine schöne Anekdote: zum Üben von Siron, durfte ich auf einem hp Notebook programmieren. Allerdings war der Akku soweit erschöpft, dass ein Kabel her musste. Na gut, dann kann ich ja programmieren bis ultimo, dachte ich mir so. Denkste! Wenig später kam dann der Chef meines Praktikumsbetreuers und sagte mit sehr netter Stimme: “Ich muss Ihnen jetzt mal den Saft klauen.” – “Der Akku reicht etwa für eine Stunde und fünzehn Minuten. Der Computer wird sich schon beschweren, wenn er wieder Strom braucht”, antwortete ich. Als der verfügbare Strom immer geringer wurde, musste das Kabel vom Laptop meines Betreuers als Ersatz dienen. Glücklicherweise waren alle drei Benutzten Laptops von hp, sodass das mit dem Kabel kein Problem war.

Wenn ein tragbarer Computer drohte leer zu werden, musste man sich vom jeweiligen Kollegen eins borgen. Irgendwann ist es dann doch passiert: mitten im Programmieren, schaltete sich mein hp Notebook ab. Ein unfreiwilliges “Ende im Gelände” könnte man sagen. Zum Glück tauchte wenig später ein passendes Kabel auf und nach einem Reboot von Windows XP Professional ging es auch gleich weiter.