2009-04-09
CSS Naked Day!
As is good tradition on this day of the year, I have cleared out my style sheet. Enjoy the early ‘90ies look!
14:17
[/netz]
css_naked_2009
Google
Trackback
Tags:
CSS naked day
2009-04-02
April, April!
Meine alljährliche Sammlung von 1.-April-Scherzen:
- Slashdot: IE8.1 supports Firefox plugins, rendering engine
- Opera: Introducing Opera face gestures
- The Register: eBay put Skype on iPhone ‘to boost price of NSA backdoor’
- Python: BDFL Retirement
- Ubuntu: To rewrite the Linux kernel using Mono
- Brack.ch: Chipdrive LRPA-01-CH Biometrics Changer
Und noch dies:
Die neue Rechtschreibereform. Endlich sinnvoll!
Wieder steht eine neue Rechtschreibereform vor der Tür. Nachdem die letzte gescheitert ist und seither jeder so schreibt, wie er will, kommt nun ein absolut gesunder und durchdachter Neuansatz von Seiten der Dudenherausgebern auf den Markt (Erstausgabe vom April 2009 / in der Abteilung Grammatik für Alle! Seite 15). Wir zitieren:
1. alles wird kleingeschrieben! auch nach einem punkt. viele grafiker haben es vorgemacht und sind bereits vor jahren als vorreiter der neuen dudenreform zur kleinschreibung übergegangen. die meisten grafiker behandeln texte sowieso gerne als grauwerte! aber seit man auch nach punkten kleinschreiben kann, ist die fehlerquote bei erstklässlern enorm gesunken.
2. dehnungen und schärfungen werden entdehnt und entschärft! diese gotesgnädige masname eliminirt bereits in der grundschule di gröste felerursache überhaupt, den den sin der konsonantenverdopelung hat onehin nimand kapirt.
3. reduktion auf das wesentliche: v und ph werden durch f ersezt! z durch s und sch wird verkürzt auf s. dadurch wird das alfabet um swei buchstaben redusirt. das sreiben mit sreibmasinen fereinfacht sich enorm, damit so wertfole und vor allen dingen ausländise arbeitskräfte der wirtsaft als angelernte sugefürt werden könen, für ale sweiser, deutse und östereicher, di di snauze fol fon arbeit haben.
10:58
[/allgemein]
_1_april_2009
Google
Trackback
Tags:
april
aprilfools
2009-04-01
How to create an empty Git branch
(Source: Empty Branches)
Create a new symbolic reference:
git symbolic-ref HEAD refs/heads/<newbranch>
Empty the index:
git rm --cached -r .
Empty the working copy (watch out!):
rm -r * .gitignore
Commit the empty branch:
git commit --allow-empty -m'initial empty branch'
Because .gitignore is under Git control, this file can have different content depending on the current branch, so if you have e.g. your project’s homepage in a branch of your source repository, the website’s .gitignore can be different than the one from the source branch.
09:08
[/software]
git_empty_branch
Google
Trackback
Tags:
dvcs
git
branch
bvg@six-card-solutions.com
Hey Bärni, ich wünsche dir einen guten Start bei deinem neuen Brötchengeber!
08:58
[/allgemein]
bvg_six
Google
Trackback
Tags:
bvg
3w
job
2008-12-12
Google Zeitgeist
I think these lists, while interesting, are at least inaccurate. Google should remove the obvious domain names from the lists. Most people don’t know the difference between the Google search box and the browser’s URL entry field.
13:16
[/netz]
google_zeitgeist
Google
Trackback
Tags:
google
zeitgeist
2008-12-06
A quote from Tim Bray
We visited some people at one of the exchanges, and I walked away from that with my mind boggling at their traffic levels, and the number of rows they think it’s reasonable to write into a database in 6½ hours.
— Tim Bray
13:21
[/software]
timbray_quote
Google
Trackback
Tags:
exchange
database
ongoing
2008-11-11
A quote from Ian Hickson
On our way back the TSA told me I couldn’t keep my apple juice. I asked if I could drink it first. They said only if I went back outside. I asked if they meant that my apple juice was a danger in the security area but safe outside, and they confirmed that that was the case.
14:56
[/allgemein]
quote_ian_hickson
Google
Trackback
Tags:
tsa
stupidity
apple juice
2008-04-01
April, April!
Wieder einmal eine kleine Sammlung von 1.-April-Scherzen:
- Linux Journal: Introducing BeOS Journal
- Google Australien: Web-Suche in der Zukunft: gDay™ with MATE™
- symlink: ADSL wird (fast) kostenlos (wen kümmerts? Ich habe seit acht Jahren Kabel und bin sehr zufrieden)
- Astronomy Picture of the Day: New Space Station Robot Asks to be Called “Dextre the Magnificent”
12:19
[/allgemein]
_1_april_2008
Google
Trackback
Tags:
april
aprilfools
2007-11-25
BSOD*: nicht einmal das Fernsehen ist davor sicher!

Das aktuelle Bild auf unserem Lokalfernsehen!
22:18
[/software/windows]
loly
Google
Trackback
Tags:
loly
windows
bsod
2007-09-23
Swisscom: Infrastruktur und Dienste trennen!
Um ein von Fredy Künzler begonnenes Thema wieder aufzugreifen: Offenbar funktionert es eben doch!
Viviane Reding, the EU media commissioner, this week cited the decision to split the networks and services division of BT of the UK as a potential template for [European] former state-run telecoms operators… BT agreed in 2005 with national regulator Ofcom to create an independent unit responsible for giving rivals access to its networks. The division, which BT still owns, is obliged to treat competitors on the same basis as its own services.
— Financial Times (leider hinter einem Paywall verschwunden), via isen.blog
Als Folge dieses Entscheids können Bewohner von England zwischen über 50 ISPs auswhlen und sich denjenigen aussuchen, der ihre Bedürfnisse am besten abdeckt.
13:46
[/netz]
swisscom_auftrennen
Google
Trackback
Tags:
isp
swisscom
adsl
deregulation
privatisation
2007-08-26
Using the Midnight commander mc(1) in a screen(1) session
Just a quick note for those people whose function keys don’t work when they
use the GNU Midnight commander inside a
screen session: issuing export TERM=xterm
before starting @mc@ helps!
Maybe this problem is related to my SSH client PuTTY, but setting TERM fixes it.
22:36
[/software/debian]
mc_f_keys_in_screen
Google
Trackback
Tags:
screen
midnight commander
mc
2007-08-03
3b, 3r und zwei andere Geeks an der Assembly 2007
Ein paar Kollegen unseres geekinfo-Kollektivs sind dieses Jahr also tatsächlich nach Helsinki an die Assembly gefahren!
Laufende Updates gibts auf 3bs Blog, die Bilder sind hier.
19:56
[/software]
assembly2007
Google
Trackback
Tags:
assembly2007
3b
bvg
3r
rik
claudio
scheidegger
2007-08-02
Jonas Gabriel Julmy
Herzliche Gratulationen und Alles Gute an Julmys zur Geburt ihres Sohnes! Eva wurde nochmals Gotti…
2007-07-16
Hochzeitstag #19!
Heute besuchten Eva und ich das Jungfraujoch.
Am bisher heissesten Tag des Jahres 2007 war es auf über 3500 Metern immer noch 3 °C “warm”.
Wir haben die Zweisamkeit und das geniale Wetter sehr genossen.
PS: Danke an die GVB für die verbilligten Billete…
23:26 [/familie] hochzeitstag_19 Google Trackback
2007-07-12
Abgabe auf Musik-Playern? WTF?
Jetzt haben es also die Suisa und Konsorten geschafft, dass auf DAPs(Digital Audio Player) Steuern erhoben werden. Betroffen sind Flash-Player, Geräte mit Harddisk sowie Video-Recorder mit HD. Die Gebühr soll zwischen CHF 30 und 90 kosten, je nach Kapazität.
Damit bezahlt man jetzt also drei Mal Urheberrechtsgebühren: beim Kauf von bespielten CDs, beim Kauf von Leer-CDs (die werden ja alle für illegal kopierte Musik verwendet, nicht wahr), sowie eben beim Kauf von Abspielgeräten. Wenn das ganze Geld mindestens den Künstlern verteilt würde, aber die Studios schöpfen ja den grössten Teil in die eigene Kasse ab…
Und das alles ausgerechnet am Fair-Use Day!
00:16
[/medien]
suisa_mp3_tax
Google
Trackback
Tags:
suisa,
mp3,
tax
2007-05-01
GPS-Koordinaten in EXIF-Infos nachführen
Angeregt durch ein Mail von Alexander Klein und einen Artikel in der aktuellsten c’t 10/2007 will ich jetzt doch noch erklären, wie die GPS-Positionen aus meinem ersten Artikel von der Karte in die Bilder gelangen.
In der Karten-Seite befindet sich ein HTML-Formular, das die Eingabe von Breite und Länge erlaubt:
<form method="post" action="exifupd.php">
<input type="hidden" name="image" value="<?php echo $image ?>" />
<label for="lat">Latitude:</label>
<input type="text" id="lat" name="lat" /><br />
<label for="lon">Longitude:</label>
<input type="text" id="lon" name="lon" /><br />
<button type="submit">Update</button>
</form>
Die Werte im Formular werden per JavaScript im onclick() Event der Karte
gesetzt:
GEvent.addListener(gMap, 'click', function(obj, pos) {
document.getElementById('lat').value = pos.lat();
document.getElementById('lon').value = pos.lng();
});
exifupd.php setzt die Koordinaten
via ein Python-Skript ins Bild hinein. Die relevante Zeile des Update-Skripts
ist diese:
exec("sudo -u me /home/me/bin/gpstag '{$_POST['lat']}' '{$_POST['lon']}' '{$_SERVER['DOCUMENT_ROOT']}{$_POST['image']}'", $result, $rc);
Der Python-Skript gpstag benötigt seinerseits exiv2, ein Kommandozeilen-Tool zum Bearbeiten von EXIF-Infos.
Diese zwei Zeilen in /etc/sudoers ermöglichen sudo, dass www-data,
der User, als der mein Webserver läuft, in meinem Namen das Programm gpstag
ausführen darf:
# Apache may update GPS data in images www-data ALL = (me) NOPASSWD: /home/me/bin/gpstag
Das Bearbeiten von sudoers erfordert root-Rechte und sollte immer mit dem
Befehl visudo geschehen.
Als letztes wird der Update-Skript noch mit einem Eintrag in .htaccess
passwortgeschützt:
# Password protection for GPS updates
<Files exifupd.php>
AuthType Basic
AuthName "GPS Update"
AuthUserFile /home/me/lib/htpasswd/php
Require valid-user
</Files>
Wie man ein Passwort-File bereitstellt, ist unter man htpasswd nachzulesen.
20:27
[/software/php]
exif_gps_update
Google
Trackback
Tags:
gps
exif
jpeg
google maps
php
python
2007-04-06
Neues RAM und Harddisk im Server
Kürzlich konnte ich in einem alten Server-Rack zwei SIMMs ausbauen, die verdächtig nach PC-133 aussahen, das in meinem Server verwendet wird (ich weiss, das ist ja uralt, aber unter Linux hat Hardware ca. die doppelte Lebensdauer als unter anderen OSen). Item, die 128 MB, die der Server hatte, wurden in letzter Zeit ein wenig knapp, und so hoffte ich, dass die neuen SIMMs ein wenig grösser wären, und in der Tat hat mein Server jetzt 512 MB RAM (merci Jonas, eine Spende fürs Kino folgt)!
Da ich die (kleine!) Kiste gerade offen hatte, habe ich ihr auch gerade eine
neue 80er-HD verpasst. Die alte 40 GB-Scheibe läuft jetzt doch seit über vier
Jahren non-stop, und hat auch bereits Lesefehler produziert. Bei der Gelegenheit
wollte ich auch die Partitionen optimieren, d.h. keine eigenen Partitionen mehr
für /boot und /usr, nur noch für root, /home und /var (obwohl, wie
3w richtig bemerkt, die Zeiten wohl vorbei sind, als
man mal kurz mit einem zu grossen Logfile die Partition zum Überlaufen brachte,
zumindest auf einem Home-Server).
Also die neue Platte als IDE-Slave angehängt, partitioniert, formatiert und mit
cp -r die Dateien kopiert. Ich weiss, es gibt noch rsync, aber ich behaupte
jetzt einfach, dass ein cp alleweil schneller ist, wenn im Ziel noch keine
Dateien vorhanden sind.
Das erste Problem stellte sich (wie bereits das letzte Mal, als ich eine HD in
einem Linux-System ersetzte), als ich lilo beibringen sollte, sich auf /dev/hdb
zu installieren, aber so, dass beim nächsten Booten alles stimmen würde, wenn
ab der neuen Platte gestartet würde, die dann ja /dev/hda hiesse. Nach einigem
RTFM erledigte aber ein lilo -v -r /mnt diese Aufgabe.
Jetzt noch /etc/fstab angepasst, und alles ist in Butter?!?
Leider nicht, denn ich erhielt früh im Boot-Vorgang die kryptische Fehlermeldung
/usr/lib/yaird/exec/run_init: opening console: No such file or directory.
Unterdessen war 01:20, und ich beschloss, darüber zu schlafen. Die alte Platte
startete unterdessen nämlich auch nicht mehr, irgendwie hatte ich sie mit
meinen lilo Experimenten dauerhaft vom Booten abgehalten :-(
Heute Abend suchte ich im Internet (den Laptop direkt ins Kabelmodem gesteckt;
zum Glück lief auch dort ein sicheres Betriebssystem!)
nach dieser Meldung und fand schnell Verweise auf yaird, “Yet another initrd generator”.
initrd? Das waren doch diese Files, die man dem Kernel mitgeben musste, damit
der seine ersten paar Module fand, mit Hilfe derer er dann ab HD weiterbooten
konnte? Vor Jahren hatte ich in den Kernel-Sourcen gelesen, dass das Format
seit 2.6 dasjenige von cpio sei, aber file initrd.img-2.6.28-4-486 sagte
mir, das sei eine gzip-Datei. Also ausgepackt, und jetzt hatte ich tatsächlich
ein cpio-Archiv vor mir. Nach noch mehr RTFM und einem finalen cpio -i <../initrd
hatte ich den ausgepackten initrd vor mir.
Schliesslich fand ich im Script init zwei Referenzen auf meine alte Root-Partition
/dev/hda6, die jetzt eben /dev/hda1 war. Nachdem ich alles wieder verpackt und
gezippt hatte, startete mein System wieder ohne Probleme!
Fazit:
- Never change a running system!
liloist gefährlich, vielleicht sollte ich aufgrubumsteigen?- Bei HD-Wechseln in Zukunft nicht gleichzeitig die Partitionierung ändern
- Zum Glück wurden für die initrd Standard-Tools verwendet
01:41
[/hardware]
neue_hd
Google
Trackback
Tags:
hd
ram
initrd
yaird
cpio
debian
2007-04-02
Fotos von der CD-Taufe
Andreas Hurni war an der CD-Taufe dabei und hat einige Bilder gemacht, darunter auch eines von “yours truly”!
23:34
[/musik]
cd_taufe_fotos
Google
Trackback
Tags:
livingg
andreas hurni
hubi
bbolli
2007-03-22
CD-Taufe «10 little songs»
Morgen abend präsentiert die Band ihre zweite CD!
Alle sind herzlich eingeladen…
23:13
[/musik]
cd_taufe_10_little_songs
Google
Trackback
Tags:
livingg
2007-02-06
UTF-8? UTF-8!
Warnung: In den nächsten Tagen könnte meine Homepage Probleme mit der Darstellung
von Umlauten haben; ich bin dabei, das Filesystem von ISO-8859-1 auf UTF-8 umzustellen.
Bei der Shell ist das bereits geschehen; jetzt ist noch ~/public_html dran…
17:02
[/software/blog]
utf8_ahead
Google
Trackback
Tags:
unicode
utf-8
iso-8859-1