Eine interessante kleine Aufgabenstellung: ein Skript hat versehentlich tausende von Dateien mit einer verkehrten Extension generiert. Alle Dateien heissen .jpgjpg statt einfach nur .jpg. Gestandene Shell-Benutzer reparieren sowas natürlich mit einem formschönen Einzeiler. Das ist einfach, und eigentlich lohnt es sich nicht da lange drüber nachzudenken. Es sei denn man kommt auf die Idee, das zeitlich zu optimieren…

Im konkreten Fall — es geht um etwa 6000 Dateien — dauert die Optimierung länger als das was an Laufzeitgewinn rauskommt. Wenn wir also schon keine Zeit gewinnen, dann wenigstens Erkenntnis. :-)

Also, mein erster Ansatz ist es intuitiv, alle Dateien zu suchen, für jede Datei den neuen Namen festzulegen und dann umzubenennen. Machen wir eine Trockenübung bei laufender Stopuhr:

Das führt zu einer Laufzeit von erstaunlichen 21,443 Sekunden!

Halbwegs moderne Shells wie die Bash beherrschen Stringmanipulation, dazu muss man nicht zwingend auf sed zurückgreifen. Im TLDP steht wie es geht, so finde ich dort unter ‚Substring Removal‘ den richtigen Ansatz:

Das drückt die Zeit für die gleichen Testdaten schon auf 0,811 Sekunden. Soweit ich weiss haben wir uns damit zwar einen Bashismus eingehandelt, aber das ist heutzutage vielleicht schon egal.

Wenn wir aber schon Kompatibilität aufgeben können wir — schliesslich sind wir in einer hochmodernen Zsh — gleich in die Vollen gehen:

Ich habe noch nie rekursives Globbing (die zsh-lovers-Manpage hat mir verraten wie das geht) benutzt, aber nach nur 0,165 Sekunden war klar: es funktioniert. :-)

Oh, da man hier auch denken könnte dass das Betriebssystem den Dateibaum cached: nein, das ist nicht so. Wenn ich die Einzeiler mehrfach absetze, auch in anderen Reihenfolgen, kommen immer wieder vergleichbare Ergebnisse raus.

Da die effizienteste Methode auch gleichzeitig die am schnellsten zu tippende ist denke ich, dass die — wenn ich auswendig gewusst hätte wie das geht — in jeder Hinsicht die erste Wahl gewesen wäre. Aber ich kenne mich: wenn ich das ein paar Tage nicht benutze muss ich erst wieder recherchieren. Und dann falle ich doch wieder auf das bewährte sed zurück…

Ich habe beim Relaunch der Schatenseite einige Beiträge aus dem alten Typo3-CMS übernommen. Da die Inhalte vermutlich nicht mehr allzu aktuell sind, sie aber doch nicht ganz verloren gehen sollen, habe ich sie chronologisch halbwegs korrekt in den Blog kopiert.

Vielleicht interessiert es ja wen, hier ist eine Liste:

Ein paar andere Texte der alten Schatenseite konnte ich nicht einsortieren, da sie älter sind als der Blog. Die werden dann einfach demnächst neu veröffentlicht.

Ein letzter Blick zurück

Ein letzter Blick zurück

Bis vorhin lief die Schatenseite — also die eigentliche Homepage — mit dem Content Management System Typo3. Ich habe das vor etwa zwölf Jahren eingerichtet, und ich bin immer noch überzeugt davon dass man damit tolle Seiten bauen kann. Leider erfordert die Pflege einer Typo3-Seite mehr Engagement als ich zur Zeit zu investieren bereit bin. Abgesehen davon war Typo3 immer schon einige Nummern zu groß für diese Seite, aber das war mir eigentlich schon damals während der Installation klar. :-D

Meinen Blog betreibe ich seit 2004, und eigentlich passen die meisten Sachen die ich schreibe eh besser in dieses Format. So können auch alte Projekte in Ruhe ‚rausfaden‘, ohne dass ich sie offline nehmen muss. Also habe ich den Blog auf die Hauptseite verschoben. Einige Teile der alten Homepage wollte ich auch nicht verlieren, also habe ich die Inhalte in den Blog übernommen. Dabei habe ich versucht, alles chronologisch korrekt einzusortieren, Artikel die ich 2006 auf die Schatenseite geschrieben habe erscheinen also hier im Blog auch in 2006. Auf der Startseite habe ich jetzt einen Beitrag angeheftet in dem ich auf die interessantesten Projekte verweise.

Vor Ewigkeiten habe ich mal einen weisen Satz gehört, leider weiss ich nicht mehr von wem:

Wichtige URLs ändern sich nicht.

Ich habe versucht, das bei diesem Neustart zu berücksichtigen. So sollten einerseits die wichtigsten URLs der alten Typo3-Seite zu den entsprechenden Beiträgen im Blog weiterleiten. Und andererseits sind unter der alten Blog-Subdomain Weiterleitungen auf die Hauptseite. Im Wesentlichen sollten also alle Links und Feeds noch sinnvoll funktionieren. Wer mich verlinkt hat, und insbesondere wer den Feed abonniert hat mag vielleicht mal die URL überprüfen. Bis auf weiteres werde ich die Weiterleitungen installiert lassen, aber wer weiss was die Zukunft bringt…

Noch eine Neuerung habe ich direkt mit einfliessen lassen: Teile der alten Homepage hatte ich auch schon in — mein gebrochenes — Englisch übersetzt. Das will ich in Zukunft noch ausbauen, also betreibe ich auch den Blog jetzt zweisprachig. Nicht für alle Beiträge, allerdings. Mir gefällt wie WordPress das in Verbindung mit dem Polylang-Plugin handhabt. Ich kann mir selbst überlegen was ich übersetzen möchte, und wer nur des englischen mächtig kann sich eine vollständig angelsächsische Seite ansehen.

Ich würde mich freuen zu erfahren was Ihr über den Umbau denkt. Insbesondere natürlich, wenn irgendwas noch nicht ganz funktioniert. Sieht die Seite bei Euch OK aus? Funktionieren die Feeds noch?

Kaputtes THL5000 und Ersatzdisplay

Kaputtes THL5000 und Ersatzdisplay

Vor ein paar Tagen ist mir erstmalig ein Telefon so hart auf den Boden gefallen dass die Scheibe gebrochen ist. Oft lasse ich die Dinger eh nicht fallen, aber bislang hatte ich Glück. Diesmal nicht.

Getroffen hat es mein chinesisches THL5000. Gekauft habe ich das Ding vor etwa einem halben Jahr. Neu für 180 Euro, mit Lieferung aus Deutschland. Kurz zum Gerät: es ist — wie der Preis nahelegt — nicht das luxuriöseste Gerät am Markt. Es hat auch gravierende Schwächen. Für mich ist es zum Beispiel nervig dass das GPS nur für eine ganz grobe Abschätzung der Situation taugt. Autonavigation macht damit definitiv keinen Spaß, dazu benutze ich einen separaten GPS-Empfänger der per Bluetooth mit dem Handy spricht. Und dass es kein Android 5 gibt ist auch nicht schön.

Andererseits gibt es aber auch Lichtblicke: eine Reihe unterschiedlicher ROMs aus denen man aussuchen kann, eine anständige Ausstattung, zwei SIM- und ein SD-Slot, und vor allem: ein 5000MAh-Akku! Und auch nach einem halben Jahr zweifele ich nicht daran dass das Ding wirklich die volle Leistung bringt. Nach einem Tag normaler Benutzung habe ich den Akku oft noch bei 70%, das war ich von meinem Nexus 4 nicht mehr gewohnt… Oh, und die Abkürzung THL steht für Technology Happy Life, das darf man auch nicht außen vor lassen. :-)

Wie auch immer: es ist runtergefallen. Scheibe kaputt, Touch ging nicht mehr. Ein schneller Vergleich hat ergeben dass mich kein aktuelles Handy so sehr fasziniert dass ich vom THL wechseln wollen würde. Also musste ein Ersatzteil her. Dummerweise ist das nicht billig. Digitizer und LCD sind eine Einheit, dass das Ding Full HD anzeigt macht es nicht preiswerter. So ruft der Hersteller knapp 80 Euro auf, mit Schnellversand waren es dann etwa 95 Euro. Drei Tage musste ich warten, dann war die Post aus Hong Kong da. Ich hatte darum gebeten dass mir auch passende Kleber eingepackt werden, wie man auf dem Bild sieht waren die auch dabei. Sehr guter Service!

Erfolg -- und das Werkzeug

Erfolg — und das Werkzeug

Dank einer wirklich guten Anleitung auf chinamobiles.org war der Einbau kein Problem. Ich habe mir da vorher Sorgen gemacht, da ich sowas noch nie gemacht habe. Zu unrecht, wie sich rausgestellt hat. Nach knapp 90 Minuten Gefummel sah das Handy aus wie neu, und: es funktioniert sogar wieder. :-D

Außer dem Werkzeug das auf dem Foto zu sehen ist habe ich nur einen Föhn gebraucht, um den alten Kleber etwas zur Nachgiebigkeit zu überreden. Ich frage mich jetzt zwar ob der Wechsel bei diesem Modell einfacher ist als bei anderen, oder schwieriger. Aber auf jeden Fall werde ich in Zukunft weniger Angst davor haben so ein Ding selbst zu zerlegen. Gut so.

Heute hat mich nach einer Führung in einem Museum eine ältere Dame angesprochen:

„Darf ich Sie mal was persönliches fragen? Sind Sie beruflich im Bereich der IT tätig?“
„Äh… Ja?“
„Hab ich mir gedacht. Mein Sohn auch, und der sieht ganz ähnlich aus wie sie. Ich weiß nicht wie ich das beschreiben soll… Praktisch das Gegenteil von einem Banker.“

Ich habe das als Kompliment aufgefasst und mich artig bedankt. :-D

Ich trage Heute ein T-Shirt mit einem albernen Aufdruck mit Bezug auf Schrödingers Katze (sowas). Die Tochter — sechs Jahre alt — will wissen was da steht. Natürlich gebe ich mein bestes das zu erklären. Erst warum die Buchstaben so merkwürdig aussehen, dann dass es darum geht etwas sehr schwer vorstellbares zu beschreiben, und dass sich ein Herr Schrödinger diesen Vergleich mit der Katze ausgedacht hat, bei dem man nicht weiß ob die Katze tot ist oder lebendig.

Sie: „Gibt es das schon lange?“
Ich: „Klar, das ist schon fast 100 Jahre her dass der sich das ausgedacht hat.“
Sie: „Dann ist die Katze schon lange tot. So alt wird keine Katze.“

Vielleicht wird sie keine Quantenphysikerin, aber klar denken kann sie… :-D

Fertig und eingebaut

Fertig und eingebaut

Vor ein paar Tagen habe ich eine nebulöse Ankündigung gemacht, nach der ich mir unverhältnismäßig viel Arbeit mit einer Tür gemacht habe. Und dass ich die Tür hier noch vorstellen würde. Also: da ist sie. :-)

Tja. Eine Tür halt. Was ist das besondere daran?

Vor ein paar Jahren habe ich durch eine günstige Gelegenheit einen ganzen Stapel Holzbalken bekommen. Das dürfte Fichte sein, die Balken sind etwa 2,5 Meter lang und haben ein Profil von 10x12cm. Ungefähr. Die Balken haben mal als Verpackungsmaterial gedient. Dementsprechend sind sie ungehobelt, und viele haben Druck- und Bruchstellen. Ich habe mir ein paar schöne rausgesucht und daraus diese Tür gebaut. Alles was an dieser Tür aus Holz ist stammt aus diesen Balken. Es wäre deutlich (!) weniger Arbeit gewesen einfach passendes Holz zu kaufen. Ich wollte aber wissen ob ich aus den Balken eine vorzeigbare Tür machen kann…

Die Tür verschließt einen Nebenkeller. Der Eingang ist nur etwa 1,60 Meter hoch, eine Tür von der Stange hätte also eh nicht gepasst. Vor etwa 25 Jahren ist da eine Tür angepasst und eingebaut worden. Der hat aber der Zahn der Zeit gehörig zugesetzt, und nachdem die nur noch an einer Angel hing musste sie weichen.

Für den Rahmen der Tür brauchte ich Material in etwa 4cm Stärke. Dafür aber breiter als die 12cm der Balken. Ich habe die also erstmal gehobelt, längs aufgeschnitten, mit ein paar Lamellos verleimt und abschliessend nochmal gehobelt. So bin ich an dicke und breite Bretter gekommen. Die habe ich dann mit Nuten und Federn versehen um sie stabil ineinander leimen zu können.

Ähnlich habe ich für die inneren Platten dünnere Brettchen aus den Balken gesägt, in unterschiedlichen Breiten. An die Kanten jeweils eine Fase gehobelt, und das ganze zu einer großen Platte verleimt. Daraus habe ich dann die Füllungen geschnitten. Im Rahmen hatte ich eine Nut vorgesehen, so konnte ich die Füllungen einsetzen ohne sie verleimen zu müssen — Holz arbeitet…

In das obere Fach habe ich ein Fenster eingepasst. In dem Keller ist eine Lampe, und ich will im Vorbeigehen bemerken können wenn ich vergessen habe sie auszuschalten. Das Profil für den Rahmen habe ich natürlich auch wieder aus den Balken gesägt.

Die Füllungen habe ich vorm Verleimen mit einer wetterbeständigen klaren Farbe gestrichen, die Rahmen hinterher mit einer Holzschutzfarbe die sich auch an anderen Stellen auf dem Hof findet. Nach dem Verleimen habe ich die Tür in die Zarge eingepasst, die Aufhängung und das Schloss eingebaut und das Fenster befestigt. Um am Boden etwas beständiger zu sein habe ich die untere Kante noch mit einem Alublech umfasst.

Alles in allem war das eine Menge Arbeit. Aber zum einen ist das Ergebnis besser geworden als ich es erwartet hätte, zum zweiten habe ich für etwa 30 Euro (Schloss, Blech und Klinke musste ich kaufen, letztere ist Gusseisen aus einem Antik-Shop) wieder eine ordentliche Tür am Keller, und nicht zuletzt hat mir das Projekt die Gelegenheit gegeben mal ausgiebig mit meinen ganzen Maschinen zu spielen — Tischkreissäge, Bandsäge, Hobelmaschine… :-D

€1,46 pro M

€1,46 pro M

Manchmal ist eBay echt schlau. Die wissen dass mich beim Kauf von Klebeband der Preis pro Meter interessiert. Also Euro pro Meter, oder kurz €/m.

Aber eBay rechnet nicht mit dem — namhaften — Hersteller 3M. So kommt es, dass 25m Klebeband für €4,38 dann doch €1,46/m kosten… oder korrekter: €1,46/M… :-D

Die Sicherheitsabfrage

Die Sicherheitsabfrage

Bei der Arbeit nutze ich Microsoft Outlook Web Access um Mails zu verschicken. Ich weiß: schön ist das nicht (es wird gelegentlich auch liebevoll Outlook Crap Access genannt), aber es gibt schlimmeres. Mittlerweile ist es so brauchbar dass ich keinen Fat Client mehr nutze um Mails zu bearbeiten.

Was mich aber immer etwas genervt hat ist, dass mailto-Links auf Webseiten nicht so richtig funktionieren wollten. Also Links mit denen sich normalerweise direkt ein Mailclient öffnen sollte. Mit externen Anwendungen geht das. Natürlich. Auch mit den voreingestellten Google- und Yahoo-Webanwendungen. Für OWA musste ich eine Weile suchen. Mittlerweile geht es, und vielleicht hilft das ja jemandem:

Man melde sich bei Web Access an. Auf diesem Tab (!) gebe man folgendes in die URL-Zeile ein:

Natürlich mit dem richtigen Servernamen. Achtung bei Copy&Paste: Firefox optimiert — vermutlich aus Sicherheitsgründen — das vorangestellte ‚javascript:‘ weg. Wenn man das nicht manuell nachträgt bekommt man nur eine Fehlermeldung.

Wenn es funktioniert sieht man am oberen Rand des Fensters eine Sicherheitsabfrage. Hier muss man bestätigen dass der Handler tatsächlich eingerichtet werden soll. Fertig. :-)

Was jetzt noch schön wäre: wenn mailto-Links autmatisch in einem neuen Fenster oder in einem neuen Tab geöffnet würden. Aber das steht wohl auf einem anderen Blatt…