Entertainment im Hörsaal

Unsere Dozentin demonstriert uns gerade praktisch die binäre Suche:
Sie hat ein Telefonbuch von Dortmund mitgebracht, dort hat ein Student pseudo-zufällig den Namen „Smolarek“ reusgesucht.

Unsere Dozentin hat zunächst festgestellt, dass der Teil mit den Telefonnummern im Telefonbuch von Seite 40 bis Seite 632 geht. Die Mitte davon ist auf Seite 296 (das zu berechnen hat übrigens einige Studis durchaus zum Nachdenken angeregt…). Dort steht ein Herr Kaiser. Wir stellten fest, dass der Zielname Smolarek „größer“ ist als Kaiser, also durfte ein Student das Telefonbuch an dieser Seite in der Mitte durchreißen, wir haben den vorderen Teil weggeschmissen und nur mit dem hinteren Teil mitgemacht.
Also ging es weiter mit dem Bereich 297 bis 632. In der Mitte stand eine Frau Küster. Smolarek ist größer als Küstner, also wieder durchreißen und vorderen Teil wegwerfen.
Rest: 465 bis 632, Mitte: „Prode“; Smolarek ist diesmal kleiner => durchreißen, und diesmal den hinteren Teil wegwerfen.
Rest: 465 bis 568, Mitte: „Stepniak“; Smolarek ist kleiner, hinteren Teil weg.
Rest: 527 bis 568, Mitte: „Schröder“; Smolarek größer, vorderen Teil weg.
Rest: 527 bis 537, Mitte: „Sprack“; Smolareck kleiner, hinteren Teil weg.

Ab hier habe ich irgendwie den Faden verloren… aber das ist nicht nur mir passiert, auch unsere Dozentin hat soeben festgestellt, dass „ö kleiner als o“ ist. Dann hat sie soeben (ja, das ist live-Blogging!) das Mikro fallengelassen und es damit fast kaputtgemacht.
Inzwischen schnipselt sie mit einer Schere an den letzten paar Personen herum.

Fazit der ganzen Aktion: Wir haben eine Person im etwa 300.000 Personen umfassenden Dortmunder Telefonbuch mit genau 20 Vergleichen gefunden (theoretisch hätten 19 Vergleiche gereicht, jedoch hat, wie schon erwähnt die Mittelpunkt-Berechnung teilweise kleinere Probleme dargestellt 😉 ). Der Zeitaufwand für diese gaze Aktion warzwar enorm, der Lerneffekt aber auch – jetzt sollte eigentlich jetzt jeder hier im Hörsaal etwas mit der binären Suche anfangen können.

Spruch von Jan, beim Anblich der Professorin inmitten des Stapels von auseinander geschnittenen / -rissenen Telefonbuchteilen:

Hoffentlich sucht sie privat nicht auf diese Weise die Leute – sonst hätte sie nämlich einen etwas hohen Telefonbuch-Verbrauch.

😀

Leer oder nicht leer, das ist hier die Frage

Jaja, der Frede… hatte er unsere heutige Programmiersession mit folgendem Code doch ein bisschen in die Länge gezogen:[code]public boolean isNonEmpty() { return m_container.isEmpty(); }[/code]Damit hat er uns nur etwa 1 Stunde immer verzweifelter werdende Fehlersuche beschert…

Für alle nicht-Programmierer: Unter „mehr lesen“ gibt’s eine simple Erläuterung…

Zunächst: Was ist eine Funktion in einer Programmiersprache?
Eine Funktion kann man sich im Prinzip wie eine Frage vorstellen, auf die man eine Antwort möchte. Eine Funktion könnte z.B. „runden“ heißen, man übergibt ihr als Parameter eine Zahl und die Funktion „antwortet“, indem sie die Zahl gerundet zurückgibt. Andere Funktionen wären z.B. sqrt (zieht die Wurzel einer Zahl) oder drehe_um, die eine Zeichenkette, die man ihr übergibt umgedreht wieder zurückgibt („Hallo“ => „ollaH“). Funktionen können aber auch ohne Parameter auskommen – zeit z.B., die einfach nur die aktuelle Uhrzeit zurückgibt.

Unsere Funktion hieß „isNonEmpty“, sollte also einfach nur zurückgeben, (ja / nein als Antwort), ob in dem abgefragten Container Elemente vorhanden sind (bevor man z.B. versucht, ein Element zu löschen, ist es für Programmierer immer sinnvoll, erstmal zu prüfen, ob es dieses Element überhaupt gibt).
Frede hat diese Funktion jedoch so geschrieben, dass sie zurückgibt, ob *kein* Element in dem Container vorhanden ist.

Folge: Anstelle einem Code in der Form von „Nur löschen, wenn es ein Element gibt“, haben wir (eher unwissend) einen Code in der Form von „Nur löschen, wenn es keine Elemente gibt“ geschrieben – was zu einem doch eher ungeplanten Verhalten geführt hat. :wand:
Und wir haben wirklich alles mögliche probiert und gemacht, kamen aber nicht auf die Idee, Fredes „triviale“ (Zitat Frede) isNonEmpty()-Funktion zu überprüfen…

Nicht gebloggt!?

Komisch… eigentlich hatte ich heute morgen einen kurzen Beitrag verfasst, der aber irgendwie auf dem Weg zu meinem Server verloren gegangen zu sein scheint?!
Egal. Mit fiel heute morgen in meinen Keyword-Statistiken („Über welche Suchmaschinen und Suchbegriffe sind Leute zu meinem Blog gekommen?“) der Suchbegriff „Dortmund Hauptbahnhof gesperrt“ auf. Ich machte mir Sorgen, wollte ich doch heute mit dem Zug (über Dortmund Hbf) zur Uni fahren.

Der Bahnhof war jedoch nicht gesperrt. Und weitere Suchbegriffe in der Richtung von „bombendrohung bahn dortmund“ implizieren dann auch, dass heute / gestern / in letzter Zeit eine Bombendrohung am Dortmunder Hbf eingegangen war und daher wohl der Bahnhof eine gewissen zeit lang gesperrt war. Davon habe ich heute auf meinem Weg jedoch absolut gar nichts mitbekommen. 😉
Gewisse Parallellen hierzu werden aber doch deutlich. 😉

Platzhalter-Mail

Na, war da etwa jemand zu blöd um seinen Spam-Mail-Generator zu konfigurieren?

%_SUBJ_ENZO
Guten Tag!

Zur Entwicklung von unserem Tatigkeitsbereich starten wir das Personal fur unser Team zusammenzustellen:
[…]
Wenn Sie sich fur diese Stelle interessieren, gehen Sie bitte zu unserer Internetseite: www.%_RND_DOMAIN . Hier konnen Sie mehr Information finden und den Antrag ausfullen.
Also, Sie konnen das Antragsformular ausfullen und uns es per E-Mail schicken: support@%_RND_DOMAIN

Um sich um diese Stelle zu bewerben, schicken Sie bitte Ihren Lebenslauf an: support@%_RND_DOMAIN
[…]
Danke fur Ihre Aufmerksamkeit.
support@%_RND_DOMAIN

:wand: Über die Rechtschreibung / Grammatik will ich erst gar nicht schreiben.

Kamerakurs

Ich habe mich in diesem Semester entschlossen, an dem von meiner Uni kostenlos angebotenen Kamerakurs teilzunehmen. In diesem Kurs werden einem die große Videokamera, die Tontechnik, das Schneiden von Filmen und noch vieles mehr erklärt. Man braucht diesen Kurs unter Anderem, um überhaupt erst die Erlaubnis zu bekommen, sich die große Kamera auszuleihen.

Dabei habe ich heute gemerkt, dass die Faschschaft Informatik wohl die einzige Fachschaft an der Uni Dortmund ist, die eine aktive Film-AG hat – unter den 11 Teilnehmern waren 8 Informatiker…

Keine Lust mehr

Nach der heutigen Schicht an der Tankstelle habe ich jetzt echt keine Lust mehr auf die Tankstelle.

Schon beim etwa dritten Kunden spielte das geliebte TeleCash-Terminal verrückt: Es meldete immer nur „Karte nicht lesbar“ oder „Kartenfehler“ oder sonstiges. Bei *beiden* Kreditkarten des Kunden. Auch Tricks wie ein Reset des Gerätes oder manuelle Betragseingabe haben absolut nicht geholfen. Am Ende hat der Kunde dann ein Pfand hinterlassen und wird wohl morgen dann den Betrag nachzahlen.

Allerdings hat diese ganze Geschichte bestimmt 7 oder 8 Minuten gedauert. 7 oder 8 Minuten, an denen die Tankstelle im Prinzip stillstand. Und ein paar Kunden ein Kunde war dadurch wohl leicht genervt: Erst brüllte er etwas über die halbe Tankstelle hinweg wie:

[patziger Ton]: Hier sind noch mindestens fünf Säulen, die darauf warten, freigeschaltet zu werden! Machen Sie das gefälligst mal!

Ach ne. Das hätte ich jetzt alleine wirklich nicht gemerkt. Danke für diesen Hinweis. :wand: Aber natürlich werde ich jetzt einfach alle noch zu zahlenden Beträge löschen, damit auch alle schnell Tanken können…
Irgendwann ging es dann auch weider weiter und ich hatte genug Kunden zum Kassieren (zu viele, um noch irgendeinen Überblick zu haben, welcher Kunde nun an welcher Zapfsäule stand). Da stand auf einmal mein „Freund“ wieder neben mir:

[noch patzigerer Ton]: Warum ist die 1 denn noch nicht freigeschaltet? Der Kunde, der vor mir an der 1 war, ist schon lange weg. Schalten Sie die gefälligst mal frei!
Hmm… der PC meldet mir die Säule als noch nicht bezahlt – vielleicht steht der Kunde ja noch irgendwo hier in der Schlange.
[und immernoch patzig]: Nein, ganz bestimmt nicht, so eine Sauerei, ich will nicht noch länger warten, etcetera pp.

Und damit verschwand er wieder in Richtung Säule 1. Die übernächste Kundin machte mich dann aber spontan wieder recht happy:

So, *ich* würde jetzt gerne die Säule 1 bezahlen.
Ach, die 1… der Kunde, der gerade hier war, hatte sich beschwert, dass die Säule noch nicht freigeschaltet sei, obwohl der Kunde von der 1 schon lange weg wäre… werde ich ihn gleich erstmal darauf hinweisen müssen. 😀
Das brauchen Sie nicht, das habe ich schon gemacht, als er gerade an mir vorbeigelaufen ist.

Und damit kam auch der Kunde von 1 dazu, zu tanken.

Was ich mich aber doch frage: Gibt es wirklich Menschen, die bei solchen Geschichten *ernsthaft* der Meinung sind, dass aussließlich der Tankwart daran Schuld ist, dass es mal etwas länger dauert? Und dann auch noch (unberechtigt 😀 ) so einen Lärm machen?

Displays

Von den Zeitreise- und Selbsttest-Displays in der S1 hatte ich ja schonmal berichtet. Ich finde Displays in Zügen und Bussen insgesamt wirklich praktisch. Gerade für nicht ortskundige Passagiere, die sich dort einfach informieren können, wie die nächste Haltestelle heißt oder wann welche Anschlusszüge fahren.
Leider scheint die Bahn immer wieder kleinere Probleme mit diesen Displays zu haben. In der Reginalbahn, die mich von Schwerte nach Dartmund bringt, hängen im Türenbereich richtig moderne Farbdisplays, auf denen der Fahrplan dieses Zuges, Umstiegsmöglichkeiten am aktuellen Bahnhof und noch einige Infos mehr anzeigen.
Bis auf das eine Display, welches ich heute entdeckt habe. Dieses meldete nämlich nur:

Operating System not found.

😀