Spaß

goldenpoo

Linux und ich

4

Linux und ich, wir beide haben eine schwierige Beziehung. Wir verstehen uns nicht besonders gut, aber wir kommen zur Not miteinander aus, wenn es sich nicht vermeiden lässt. Ich kann den Linux-Desktop bedienen, wenn ich muss, und ich bin auch in der Unix-Shell nicht völlig hilflos, auch wenn ich die Konsolenbefehle meistens trotzdem immer wieder nachlesen muss. Ich empfinde oft eine gewisse prinzipielle Sympathie für Linux, aber ich habe auch Vorbehalte und in mancher Hinsicht wiederum sogar eine Abneigung. Schon im Jahr 2000 begann ich mich grundsätzlich für Linux zu interessieren. Im Juli 2003 besuchte ich sogar den LinuxTag in Karlsruhe und hörte mir einige Vorträge an. Ich wollte mich informieren. Meine ersten eigenen Gehversuche in der Linux-Welt machte ich dann tatsächlich erst im Jahr 2005 mit SUSE Linux in einer virtuellen Maschine.

Ich wollte eigentlich gar nicht viel machen, nur einen Apache Webserver installieren, dann darin eine OTRS-Installation laufen lassen. Nur so zum Spaß und zum Testen. Ich rechnete bereits fest damit, dass nichts funktionieren würde, und so ging die Installation von Apache wie erwartet total in die Hose. Jeder Fliegenschiss unter Linux musste umständlich über die Konsole gemacht werden, der Linux-Desktop war vermutlich nur als Gag dabei, um Windows-Nutzer zu trollen. Meine Arbeit bestand hauptsächlich darin, kryptische Fehlermeldungen aus der Shell bei Google einzutippen, im Internet nach einer Lösung zu suchen, daraus wiederum kryptische Befehle in die Shell einzutippen, und das dann jeweils für die nächsten 200 Fehlermeldungen. Da werden reihenweise Pfade nicht gefunden, irgendwelche Pakete fehlen, die Zeichenkodierung ist falsch, Dateien können nicht gelesen werden, Berechtigungen sind falsch gesetzt, der Mond steht nicht im richtigen Verhältnis zur Sonne, man kennt das ja. Schöne, gemütliche Linux-Welt.

Schon im Jahr 2008 startete ich einen erneuten Versuch, mich endlich so richtig mit Linux anzufreunden, die Chancen standen besser denn je: Linux war offenbar so richtig ausgereift und benutzerfreundlich geworden. Linux ist die Zukunft, wie könnte ich dem Betriebssystem da eine zweite Chance verweigern? Ich glaube ich installierte Fedora oder Debian oder sowas. Ich konnte tatsächlich schon recht viel mit dem Desktop arbeiten, da störte es mich auch nicht, dass die Soundtreiber für das Notebook unter Linux nicht funktionierten. Es sah schließlich alles so schön aus. Ich wollte einen Compiler für C++ ausprobieren und versuchte nach einer Internet-Anleitung über die Konsole (wie denn auch sonst?) den GCC zu installieren. Die Installation war mir nach anfänglichen Problemen irgendwann geglückt. Dummerweise wusste ich leider nicht, wohin der Compiler eigentlich installiert worden war oder auf welchen Namen er hörte. Die Installation über die Konsole kommt einem doch sehr spartanisch vor, wenn man die bunten Windows-Installer gewohnt ist, die brav nach dem Pfad fragen. Ich kratzte mich hilflos am Kopf während ich versuchte, aus dem Linux-Dateisystem schlau zu werden. Wo ist Laufwerk C? „etc“? „opt“? „var“? Hilfe, wie kann ich Dateien suchen?

Okay, ich hätte mich schlauer anstellen können, aber es macht einfach keinen Spaß, sich wie der größte Anfänger zu fühlen, und Linux gab mir genau dieses unangenehme Gefühl. Und so verschwand Linux wieder von meinem Notebook. Dennoch verwarf ich meinen ursprünglichen Plan nie, es irgendwann doch einmal ganz ernsthaft zu versuchen, wenn die Zeit reif ist. Aber dazu müsste Linux mir schon noch ein ganzes Stück entgegenkommen.

Januar 2016: Microsoft gibt sich seit Monaten mit der aktuell noch kostenfreien Spyware Windows 10 alle Mühe, mir den Spaß an Windows endgültig zu verderben. Ein Wechsel zu Windows 10 kommt für mich derzeit aus mehreren Gründen überhaupt nicht in Frage. Es ist also der perfekte Zeitpunkt, einen Blick auf eine aktuelle Linux-Distribution zu werfen, die zudem besonders anfänger- und umsteigerfreundlich zu sein scheint: Ubuntu. Schon vor Monaten habe ich mich bei echten Linux-Fans unter meinen Arbeitskollegen informiert und mich beraten lassen. Ubuntu sei so wundervoll, sehr benutzerfreundlich und wirklich extrem leicht zu bedienen. Die Probleme der Vergangenheit sind alle längst behoben, sogar die Treiberunterstützung wurde deutlich verbessert. Prima, dann ist ja alles klar.

Ich installierte mir also Ubuntu 15.10 in Virtualbox:

ubuntu

Oh, ja, in der Tat sehr wundervoll. Ubuntu lässt sich nicht starten. Schon kurz nach der Installation ist meine Abenteuerreise beendet, der Zeichensalat auf dem Bildschirm sah jedenfalls nicht nach dem Betriebssystem aus, das ich haben wollte. Ich musste wohl irgendetwas falsch gemacht haben. Sogleich wurde die VM gelöscht, neu angelegt und Ubuntu nochmals installiert. Diesmal aber richtig und mit doppelt soviel Konzentration bei den Details.

Nachdem auch die zweite Installation zu meinem Entsetzen scheinbar missglückt war und Ubuntu sich partout nicht starten ließ, beschloss ich entgegen meiner eigentlichen Vorsätze die Fehlermeldung wie gewohnt bei Google einzutippen. Dadurch fand ich tatsächlich heraus, dass ich die Bootreihenfolge der Laufwerke ändern musste, so dass die VM zuerst von der Festplatte startet (obwohl keine DVD im Laufwerk ist). Für aussagekräftigere Fehlermeldungen ist in der Linux-Community offenbar auch kein Geld da. Es ist mir schleierhaft, wie ich aus dem hingerotzten Output erkennen soll, dass die Bootreihenfolge falsch ist oder warum sie falsch ist. „I/O Error“, „Unable to read page“, „squashfs_read_data failed to read block“, „SQUASHFS error“, alles klar, das hilft mir natürlich weiter. Auch hätte ich doch von Geburt an wissen müssen, dass „dev sr0“ das DVD-Laufwerk ist. Aha.

Ubuntu fängt also wieder GENAU so an, wie ich Linux seit vielen Jahren kenne und hasse: Ich muss jedes Mal nach Fehlermeldungen googlen, um das Betriebssystem halbwegs nutzen zu können. Egal wie ich es anfange, endet es irgendwie immer damit, dass ich Fehlermeldungen in eine Suchmaschine eintippe um jemanden zu finden, der irgendwo die Lösung gepostet hat. Wieso geht das bei Linux nicht anders? Ich kann es mir absolut nicht erklären. Ich will das nicht, ich habe darauf keine Lust. Ich versuche es vielleicht in 4 Jahren nochmal. Merci, dass es dich gibt, Windows 7.

Spaß

Steam-Hürdenlauf für ein Gratisspiel

2

Eine wirklich wahre Geschichte, die für meinen Geschmack mal wieder ausreichend dumm ist, dass ich sie der Weltöffentlichkeit nicht vorenthalten möchte. „Amnesia – The Dark Descent“ gab es Mitte der Woche bei Steam geschenkt. Die DRM-freie-Version des Gruselspiels bei GOG wäre mir einhundert Mal lieber gewesen als die accountgebundene Steamschrott-Fassung. Aber einem geschenkten Gaul usw., ihr kennt das ja. Jedenfalls wurde die Aktion nur mäßig deutlich bekanntgemacht, außerdem war ich relativ viel beschäftigt, und natürlich galt die Aktion mal wieder nur für einen wirklich sehr knappen Zeitraum. Ich erfuhr erst am Mittwoch im Büro davon, nur ein paar Stunden bevor es zu spät gewesen wäre.

Erschrocken rechnete ich mir aus, dass ich nicht mehr rechtzeitig zuhause sein würde, da ich ausgerechnet am selben Abend einem Firmenevent beiwohnen würde. Ich wäre mindestens zwei Stunden zu spät dran. Das war mal wieder typisch für Steam, dass sie sich den denkbar ungünstigsten Zeitpunkt dafür aussuchen würden, nur um mir mal wieder eins reinzuwürgen. Aber ich hatte noch ein Ass im Ärmel: Ich kannte glücklicherweise meine Steam-Zugangsdaten auswendig. Also nur flott bei Steam eingeloggt, um mir das begehrte Spiel einzuheimsen, das dauert keine 30 Sekunden. Leider hatte mein geringes Glück mich schon nach den ersten paar Mausklicks wieder verlassen, denn den verdammten Steamguard hatte ich völlig vergessen. Der Browser mit dem ich mich einloggen wollte, war ihm höchst suspekt, ich müsste diesen erst über eine E-Mail verifizieren. Verdammte Scheiße, Steamguard, entspann‘ dich mal! Ich will doch nur das blöde Spiel in meinen Warenkorb legen!

So klickte ich wild herum, in der Hoffnung, dass ich mich doch noch irgendwie einloggen könnte. Ich versuchte sogar, das Spiel zu installieren ohne eingeloggt zu sein, aber ich wurde mehrmals zum selben Login-Bildschirm weitergeleitet, mit der immergleichen blöden Steamguard-Meldung, die mir den letzten Nerv raubte. Ich suchte verzweifelt den „Spiel meinem Account hinzufügen ohne mich einzuloggen“-Button, den es doch genau für solche Fälle geben musste, denn welcher Hacker würde mir denn bitte irgendwelche Spiele in meinen Account legen wollen. Meine Gehirnwindungen rotierten beim Versuch, mich an das Passwort für den bei Steam hinterlegten E-Mail-Account zu erinnern, doch da war nichts zu machen. Der Steamguard entschloss sich, mir das tolle Horrorspiel vorzuenthalten. Würde es tatsächlich so enden?

Schon bald spielte ich mit dem Gedanken, direkt nach Feierabend nachhause zu fahren, und mich für den Firmenevent entschuldigen zu lassen. Aber eigentlich wäre das ja schon irgendwie armselig, mich von einem Spiel für eine handvoll Euro so kontrollieren zu lassen. Andererseits hätte ich vielleicht schnell nachhause fahren, das Spiel kurzerhand in meinen Account klicken und danach direkt wieder ins Geschäft zurückkehren können. Zeitlich machbar, aber wenn ich die zusätzliche Fahrstrecke in Euro umrechnete, wäre das Gratisspiel am Ende gar keins mehr, also völlig sinnlos.

Ein letzter Notnagel fiel mir ein: Für den fraglichen E-Mail-Account kannte ich das Passwort nicht, aber ich hatte via Smartphone Zugang zu dem anderen E-Mail-Account, der beim erstgenannten E-Mail-Anbieter zur Sicherheit hinterlegt ist. Ich musste nun dort auf „Ich habe mein Passwort vergessen“ klicken, damit ich mit dem Smartphone dann die Passwortänderung freigeben konnte, damit ich mich wiederum beim ersten E-Mail-Account einloggen konnte, damit ich eine der zwei Dutzend Anfragen von Steamguard bestätigen konnte, damit ich mich bei Steam einloggen konnte, damit ich endlich das Spiel aktivieren konnte. Klingt voll scheiße. Ist auch so. Und das alles nur, weil Steamguard ein blödes Arschloch ist.

Ja, ich weiß, Steamguard lässt sich auf eigenes Risiko abschalten, wenn man denn möchte, dass einem die gesamte Steam-Library abhanden kommt. Aber das hat mir an dem Tag natürlich überhaupt nichts genützt, weil er da noch aktiviert war, und das lässt sich ohne Zugang nicht ändern. Für die Zukunft kann ich es mir dann mal überlegen. Jedenfalls hat die Geschichte diesmal ein Happy End, und das ist für mich bei Steam eher selten der Fall. Außerdem habe ich ein neues Passwort für meinen E-Mail-Account.

Spaß

Feierabend los, Hirn aus, Kofferraum zu

0

Das war ja wieder einmal eine Glanzleistung in meinem Leben, die ich gestern vollbrachte. Kunststück, sowas gelingt mir schließlich mit links. Wenn schon, dann richtig. Nach einem anstrengenden Arbeitstag das Notebook in die Notebooktasche gepackt, den Rucksack geschultert, und dann möglichst schnell ab ins Beinahe-Wochenende (mit dem folgenden Feiertag), genau das war mein Plan. Die dünne Sommerjacke hatte ich trotz warmer Temperaturen kurz vorher noch schnell angezogen, weil ich sie bis zum Auto nicht auch noch in der Hand tragen wollte. Vollbepackt kam ich auf dem Parkplatz beim Auto an, erleichtert warf ich Notebooktasche, Rucksack und die Jacke in den Kofferraum. Heckklappe zu, es kann endlich losgehen. Mein anschließender Griff zur rechten Jackentasche um die Autoschlüssel herauszuholen, war nicht unbedingt die intelligenteste Aktion des Tages, und leider auch nicht von Erfolg gekrönt.

Große Augen machte ich vermutlich, als ich da in meinem Elend auf dem Parkplatz stand, nicht wissend was eigentlich gerade vor sich ging. Aus Verzweiflung vergewisserte ich mich mit einem Handgriff davon, dass die verriegelte Heckklappe sich nicht doch noch auf magische Weise von mir öffnen ließ, und auch die beiden Türgriffe waren wenig beeindruckt von meinen traurigen Öffnungsversuchen. Mein gemütlicher Feierabend? Gestrichen. In diesem Augenblick ärgerte ich mich über soviel Blödheit, war aber gleichzeitig froh darüber, dass ich nicht auch noch die Hausschlüssel oder den Geldbeutel in der Jacke gelassen hatte. Einen Zweitschlüssel fürs Auto habe ich, und der liegt zuhause. Also musste ich wohl erstmal mit der Bahn nachhause fahren, und dann im Laufe des Tages wieder zurück. Ich wollte mich gerade zu Fuß auf den Weg zum Bahnhof machen, als mir ein zufällig in der Nähe befindlicher Kollege eine Mitfahrgelegenheit in meine Richtung anbot.

Vier Stunden später war ich nebst Auto wieder zuhause. Der sechs Kilometer lange Spaziergang – geschenkt, doch leider war ich nach zwei Jahren Unabhängigkeit auch deutlich mehr mit der Bahn unterwegs als ich wollte. Für den freundschaftlichen Ticketpreis von nur 5,50 Euro durfte ich in einem völlig überfüllten Zug Platz … äh, Stehplatz nehmen. Im Service waren wie gewohnt 10 Minuten Verspätung inbegriffen, sowie ständiges unergründliches minutenlanges Anhalten mitten auf der Strecke mit den immergleichen lahmen Entschuldigungs-Durchsagen, die niemand mehr hören kann. 50 Minuten war ich unterwegs für eine nach Fahrplan etwa 30-minütige Fahrt. Immerhin: Seit ich in den vergangenen Wochen wieder verstärkt in Erwägung zog, es doch mal wieder mit der Bahn zu versuchen, bin ich nun hoffentlich endgültig geheilt. Der schlimmste Autobahnstau kann nicht so schlimm sein, dass man eine Bahnfahrt ernsthaft als willkommene Alternative betrachten könnte. Die Bahn macht nicht mobil, sondern krank.

Wenn die Hirn-Aus-Kofferraum-Zu-Aktion also zumindest für diese eine Erkenntnis gut war, war sie vielleicht sogar dringend nötig. Aber nach der vierstündigen Odyssee war der Tag für mich natürlich gelaufen, der frühe Feierabend im Endeffekt völlig für die Katz. In Zukunft werde ich mit Sicherheit erst einmal alle Jacken- und Hosentascheninhalte abklopfen, bevor ich irgendwelche Türen schließe.

Spaß

Die geldgeilen Mächte von Blizzard

0

Gerade kam per Spam-Mail dieses wahnsinnig verlockende Sonderangebot von Blizzard für ihre inzwischen angestaubten Spiele rein. Wer würde da nicht sofort zugreifen wollen, mal abgesehen von mir.

Hallo Vincent,

die Mächte der Hölle wüten in der Welt von Sanktuario! Stürze dich in den Kampf gegen die teuflischen Diener des Obersten Übels Diablo und dem Engel des Todes Malthael! Spare 50 % beim Kauf der PC/Mac-Versionen von Diablo III und der Erweiterung Reaper of Souls. Aber warte nicht zu lange, denn dieses Angebot endet bereits am 6. Oktober!

Hallo Blizzard,

danke, aber nein danke. Die Mächte der Hölle können meinetwegen sonstwo wüten, am wahrscheinlichsten sogar in eurem Oberstübchen. Meldet euch bitte erst wieder bei mir, wenn ihr mir ernstgemeinte Angebote machen wollt, und euren Always-Online-Rotz und eure ranzigen Spieleerweiterungen nicht mehr für Wucherpreise verkauft. Bis dahin stürze ich mich lieber in den Kampf gegen was Sinnvolleres. Eure schmierigen zeitbegrenzten Müllangebote könnt ihr euch sonstwohin stecken!

Java

Kleines Quellcode-Gruselkabinett II

14

Weil es so lustig war und ich neues Material gesammelt habe, denke ich, dass es an der Zeit ist, das Quellcode-Gruselkabinett mit einem zweiten Artikel fortzusetzen, womöglich zu beenden. Der (nicht näher definierte) Praktikant aus dem ersten Teil hat wieder zugeschlagen und hocheffizienten und extrem sinnvollen Java-Code produziert. Diese Glanzleistung moderner Softwareentwicklerkunst wollte ich denjenigen meiner Leser, die über Programmierkenntnisse (und Englischkenntnisse) verfügen, auf keinen Fall vorenthalten. Wer von Programmieren überhaupt nichts versteht, der wird an diesem Artikel wie gewohnt leider nichts finden können.

Der Praktikant ist offenbar ein großer Fan davon, toString() auf String-Objekten aufzurufen, vielleicht erhofft er sich dadurch noch stärkere Typsicherheit mit Netz und doppeltem Boden oder sowas. Jedenfalls Code wie der obige begegnet mir leider immer häufiger. Solchen Murks mache ich bei Sichtung auch sofort wieder raus.

Ebenfalls ein ständiger Begleiter in seinem Code: Die Angst, dass eine neu (=leer) angelegte Collection vielleicht doch nicht so leer ist, wie sie vorgibt zu sein. Anders kann ich mir nicht erklären, wieso der Praktikant gleich nach dem Erstellen einer leeren Collection diese leert. Womöglich hat er sich hierbei etwas gedacht, ist aber völlig unnützer Code. Ein damit sehr verwandtes Problem ist das folgende:

Aus der API-Dokumentation der oberen Methode: „The Calendar returned is based on the current time in the default time zone with the default locale.„. Der Knackpunkt ist, dass das zurückgegebene Kalender-Objekt immer bereits mit der gegenwärtigen Uhrzeit initialisiert ist. Hier (zur Sicherheit oder aus Unkenntnis) nochmals Uhrzeit und Datum zu setzen und dafür extra ein neues Date-Objekt zu erstellen, ist kompletter Unfug. Überhaupt: Wieso geht er davon aus, dass der parameterlose Konstruktor von Date() die aktuelle Uhrzeit liefert, aber bei Calendar soll selbiges System nicht funktionieren? Nett auch die Wahl des Variablennamens „actCal“ für den Kalender. Er dachte wohl, „actual calendar“ sei eine brauchbare Übersetzung für das, was er ausdrückten wollte. Ich lese da aber irgendwie immer nur „Aktkalender“.

Auch so ein Codekonstrukt, worüber man diskutieren sollte: die Getter-Methode für private Konstanten. Wieso nicht gleich die Konstante als public deklarieren, dann kann man sich das Rumgeeiere sparen. Bei Konstanten durchaus sinnvoll. Aber als verwandtes Problem sei angemerkt, dass der Praktikant zum Beispiel ganz gerne auch mal simple Getter-Methoden innerhalb derselben Klasse aufruft, in der sie definiert werden – anstelle der sichtbaren Variable. Kapselung schön und gut, aber damit ist doch eigentlich Kapselung von der Außenwelt gemeint. Das scheint jemand nicht so richtig verstanden zu haben.

Namenskonventionen für Methoden sind auch so ein Problem für den Praktikanten. Der Name der Methode sagt leider nichts darüber aus, was der Rückgabetyp sein könnte. Im Fall von „componentParser“ ist noch nicht einmal eine Tätigkeit erkennbar. Da meldet die als Frage formulierte Methode „isActive“ eine komplexe Hashmap zurück, und die etwas umständlich benannte Methode „getTheParsedSysInfoComp“ liefert nicht etwa „die kompletten Systeminformationen“ zurück, sondern einen Wahrheitswert – was auch immer dieser aussagen soll. Immer wieder lustig mitanzusehen sind Methodennamen, die erkennen lassen, dass sich dabei wohl jemand beim Ausdenken einen abbrechen musste, etwa „isLoadTimeFromOneSystemOverTime“.

Englisch scheint ohnehin nicht so seine ultimative Stärke zu sein, vor allem wenn die (netterweise konsequent, wenn auch unnötigerweise) im Englischen gehaltenen Kommentarzeilen nur so vor Denglisch triefen. Da wird aus „Pfade herausfiltern“ schonmal „filter the path outside“, oder das weibliche Possessivpronomen „her“ wird auf Systeme und _ihre_ Eigenschaften angewandt. Wenn man kein Englisch kann, sollte man vielleicht nicht unbedingt versuchen, alles immer englisch schreiben zu wollen, oder zumindest mal ein paar Vokabeln nachschlagen, bevor man in die Tasten haut.

nach oben