Kategorie ‘Code’

Unter Macintoshjüngern-Anwendern gibt es seit Wochen nur ein Thema: die neue Version des Betriebssystems, 10.6, offizieller Codename Snow Leopard, sollte diesen Herbst erscheinen.

Es ist dann doch etwas schneller gegangen als gedacht (ja, das kommt auch in der EDV manchmal vor) — seit dem 28. August kann man das System käuflich erwerben.

Spätestens jetzt können Nichtmacianer aufhören zu lesen; alle anderen mag vielleicht interessieren, daß Apple die neue Version ganz freimütig mit 0 new features vorgestellt hat — um dann einzuschränken, eines gebe es doch: die Unterstützung von Microsoft Exchange nämlich. Wer in einem größeren Unternehmen arbeitet, mag sich darob dankbar gen Cupertino verneigen; den Privatanwender dürfte das aber weniger interessieren.

Was ist also neu am neuen System? Alles soll irgendwie etwas schneller, schlanker, flüssiger geworden sein, liest man allerorten. Wer etwas fundierterer Informationen bedarf, dem sei der sehr ausführliche Artikel von Ars Technica ans Herz gelegt. Zugegeben, das war jetzt sehr viel Vorrede, nur um einen Link unterzubringen. Darum bringe ich jetzt noch den letzten Tip an, sich von den ersten zweieinhalb Seiten des Artikels (im ganzen sind es dreiundzwanzig!) nicht täuschen zu lassen — sie sind bei weitem der Teil mit dem wenigsten Inhalt.

Und nun bin ich still, damit ihr in Ruhe lesen könnt.

Kein Kommentar

Today, I learned something new about CSS: You cannot use :before inline. Come to think of it, that should have been clear. After all, inline styles are valid for exactly one element — namely the element with the style option. But since :before is a pseudo-element, it does not have an HTML tag, so you cannot define an inline style for it.

I had tried something like this:

<div style=":before {content: url(xyz.png)}" >Text</div>

This is, of course, rubbish. Inline-styles lack elements as well as curly braces. I have solved the problem at hand slightly differently, though, so at long last this blog has category icons.

Kein Kommentardeutsch

Mit iTunes kann man Musik hören. Ob das Programm nun gut oder schlecht ist, darüber kann man sicher streiten; ich finde es jedenfalls ganz praktisch.

Weil heute alles irgendwie vernetzt sein muß, erlaubt auch iTunes es, auf die Musiksammlungen anderer Rechner zuzugreifen. Dummerweise kann man Titel nur hören, aber nicht herunterladen — technisch ist das ziemlicher Quark, aber da haben wohl die Rechteinhaber gedrängelt. Und noch etwas geht nicht: wenn andere Leute auf meine Bibliothek zugreifen, kann ich zwar sehen, wie viele; aber nicht, wer.

Ein kurzer Besuch bei der Suchmaschine meines Vertrauens[1] läßt mich jedoch wissen: wo die Applikation sich sperrt, hilft das Betriebssystem weiter. Bei Juretta finde ich einen netten Aufruf des Tools lsof, der meine Neugier befriedigt:

lsof -r 2 -n -P -F n -c iTunes -a -i TCP@`hostname`:3689

Leider bin ich noch nicht zum Testen gekommen, und der Eintrag von Stefan ist immerhin fast vier Jahre alt. Außerdem geht das so natürlich nur auf dem Mac, weil Windows lsof nicht kennt. Wer mag, kann sich ja eines der Windows-Tools daraufhin ansehen. Ein mögliches Problem: unter Unix ist fast alles eine Datei, auch Netzwerkverbindungen. Unter Windows mag das anders aussehen.

[1] Aus Prinzip ist das nicht Google — die haben mir ein bißchen zu viel Marktmacht.

[Edit: Artikel vergessen]

4 Kommentare

Heute habe ich den ganzen Vormittag damit zugebracht, nach einem Konfigurationsfehler zu suchen: ich wollte einige Benutzer aus einem Server aussperren. Dazu habe ich Pluggable Authentication Modules (kurz: pam) verwendet. Mit pam kann man tolle Sachen machen, zum Beispiel den Login nur von bestimmten Rechnern aus zulassen, oder nur zu bestimmten Uhrzeiten, oder nach einem Haufen sonstiger Kriterien gehen. Das, was ich wollte, ist viel einfacher: ein Benutzer darf rein, alle anderen müssen draußen bleiben.

Nur: es klappte nicht. Egal, wie ich an der Konfiguration gedreht habe, das System hat immer alle reingelassen. Nach der Mittagspause bin ich dann über diesen Satz in der Dokumentation von rlogin gestolpert:

The login process is an instance of the login(1) program, invoked with the -f option if authentication has succeeded.  If automatic authentication fails, the user is prompted to log in as if on a standard terminal line.

Im Klartext: zuerst werden die ausgefuchstesten Bedingungen überprüft; wenn die sagen: komm rein, dann bist du drin. Wenn die aber sagen: du nicht, dann darfst du dein Paßwort eingeben und bis trotzdem drin. Na toll.

Wer denkt sich denn soetwas aus?

Kein Kommentar

I cannot even tell how long this has upset me: if my web browser does not know the address I want to go to, it simply slaps a www in front and a .com at the end. To me, that is a typical case of “well intended”. I hate it when my computer tries to be more intelligent than me. It doesn’t work.

Some time ago,  however, I stumblede upon the solution: this is a feature called domain guessing, and you can switch it off! I had already looked in vain in every nook of the preferences dialog, of course — instead, you have to type about:config into the URL bar, then set the entry browser.fixup.alternate.enabled to false.

Simple, really.

Kein Kommentardeutsch

Es war einmal eine Zeit, in der für jeden neuen Computer alle Programme neu geschrieben werden mußten. Die Menschen kannten es nicht anders, und so erfanden sie tagein, tagaus das Rad neu. Doch dann kam Dennis und sagte: wäre es nicht schön, wenn wir dem Computer einfach erklären könnten, was die Programme tun sollen? Dann könnte der Computer das Programm selber schreiben; und wenn wir einen neuen bauen, dann geben wir ihm einfach die gleiche Erklärung, und er baut sich das Programm so, wie er mag.

So hat Dennis die Programmiersprache C erfunden. Außerdem hat er noch einen guten Teil von Unix erfunden, aber das ist eine andere Geschichte. Ein paar Jahre später hat Bjarne C++ erfunden. C++ ist ein bißchen seltsam: einerseits ist es ein einfaches Werkzeug für Leute, die sich beim Arbeiten die Hände dreckig machen (low level, sagt der Programmierer), wie C es ist: so etwas wie ein Hammer oder eine Zange; andererseits bringt es eine Menge fortschrittliches Zeugs mit: wie ein Industrieroboter vielleicht.

Kein Wunder, daß es da Ungereimtheiten gibt. Wer sich mit C++ auskennt, der findet bei yosefk eine sehr unterhaltsame Zusammenstellung dieser Ungereimtheiten.

[Edit: Typo]

Kein Kommentar

Mit Computern, so sagt man, kann man die seltsamsten Dinge erleben.

Ich finde es zum Beispiel seltsam, daß sich manche Programme nicht auf Festplatten, die zwischen Groß- und Kleinschreibung unterscheiden können, installieren lassen. Seltsam vor allem dann, wenn es sich nicht um Produkte irgendeines Sharewareprogrammierers handelt, sondern um eine Weltfirma (jedenfalls für Softwareverhältnisse) mit 3 Milliarden Dollar Jahresumsatz.

Deshalb habe ich den halben Sonntag mit dem vergeblichen Versuch verbracht, meiner Festplatte die groß-kleine Intelligenz abzugewöhnen, ohne danach alle Programme und sämtliche Daten von Hand wieder aufspielen zu müssen. Ein guter Teil des Montags ging dann dafür drauf, auf einer zweiten Partition ein zweites Betriebssystem zu installieren. Jedesmal neu booten zu müssen, nur um Photoshop zu starten, ist allerdings auch nicht so toll. Also werde ich mich wohl über die Feiertage mal mit Aryas Beitrag auseinandersetzen: durch Umbenennen von gut 60 Dateien kriegt man zumindest CS3 ans Laufen. Vielleicht klappt das ja auch mit CS4.

Kein Kommentar

Heute habe ich mich von der besten Eule der Welt mit Süßig- und Zärtlichkeiten verwöhnen lassen und außerdem ein bißchen an meinem Theme geschraubt. Immerhin sind jetzt zwei Punkte aus meiner Bugliste abgearbeitet: Zum einen steht der letzte Blogeintrag der Seite jetzt nicht mehr über die Fußzeile hinaus; zum anderen sind die einzelnen Einträge in den Archiv-Ansichten (nach Datum, Tag oder Kategorie) nicht mehr wild durcheinandergewürfelt.

Dabei habe ich auch gleich ein paar Sachen gelernt, zum Beispiel welche Dateien WordPress benutzt, um die Archiv-Ansicht darzustellen; oder auch, daß eine floating box, die man per position: relative nach unten verschiebt, die umschließende Box nicht vergrößert, sondern lustig nach unten herausragt. Ich habe keine Ahnung, ob das ein Problem meines Browsers ist (dann besteht es aber in Safari/Webkit und Camino/Gecko), oder ob das tatsächlich so gedacht ist. Ich habe es dann so gelöst, daß ich die verschobene Box per margin entsprechend der Verschiebung vergrößert habe:


#meinebox {
float: left;
position: relative;
top: 200px;
margin-bottom: 200px;
}

Kein Kommentar

Zur Abwechslung gibt es jetzt mal eine kurze Notiz eher technischer Natur: Der eine oder andere mag daran interessiert sein, Fotos mit Informationen über den Aufnahmeort zu versehen — also Geotagging zu betreiben. Das mag der Wiederauffindbarkeit der eigenen Aufnahmen dienen, oder aber der Erhöhung der Informationsdichte im Web 2.0 (Flickr z.B. unterstützt Geotags).

Das Prinzip ist recht einfach: die Koordinaten, die man sich aus einer Karte (Papier oder online), oder aber mittels eines Navigationsgerätes besorgt, werden in Exif-Tags in der Bilddatei gespeichert. Im Prinzip benötigt man also nur ein beliebiges Programm, das Exif-Tags bearbeiten kann. Alternativ kann man die Bilder auch bei Flickr auf der Landkarte plazieren.

Allerdings ist diese Vorgehensweise (oder Workflow, wie das heutzutage heißt) auf die Dauer ziemlich arbeitsaufwendig. Viel einfacher wird die Sache, wenn man während der Fotoaufnahmen einen GPS-Empfänger mitlaufen läßt. Dann braucht man nur noch ein Programm, das anhand der Aufnahmezeitpunkte den Bildern Positionen zuordnet und die Geotags setzt.

Die Suche nach einen solchen Programm gestaltet sich natürlich etwas schwieriger, wenn man einerseits ein Nischenbetriebssystem verwendet und andererseits kommerzielle Software weitgehend meidet. Nachdem mich die Internetrecherche zu etlichen Programmen geführt hat, die für das falsche Betriebssystem geschrieben wurden, instabil liefen oder Geld kosteten, bin ich letztlich doch noch fündig geworden: mytracks von Dirk Stichling tut ziemlich genau das, was ich will; außerdem ist es unter der GPL veröffentlicht: man bekommt zu dem Programm auch den Quelltext und kann, falls nötig, selber schrauben.

1 Kommentar

Das schöne an Suchmaschinen ist ja, daß man leicht und schnell Dinge finden kann, die man bisher nicht kannte. Allerdings gibt es dann wiederum Dinge, von denen man vielleicht gar nicht möchte, daß sie gefunden werden.

Wie David vom Anti-Spam Blog berichtet (siehe auch hier), war es bei einem Mobilfunk-Betreiber möglich, private MMS über das Internet einzusehen, ohne daß man sich dazu hätte einloggen müssen. Es gibt sogar eine einfache Google-Suche, um solche MMS zu finden.

Bei Slashdot kann man jetzt lesen, daß diverse andere Anbieter ähnliche Probleme hatten. Immerhin scheinen sie schnell reagiert und den Zugriff unterbunden zu haben.

Kein Kommentar