Archiv ‘Linux’

Sonntag, 5. April 2009

Digg für Kommandozeilen-Befehle

Eine Schatztruhe für all diejenigen Leute da draussen, die sich hin und wieder auf einer Linux-Kommandozeile bewegen:

Command-line-fu

Tags: ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 4. April 2009

Bye bye, Openmoko

He said in his speech that the company had to delay the development of the new Smartphone GTA03 in favor of an other product. Later in a face to face interview he said that almost half of the people working for the company were leaving or had to leave.

Quelle: read this » Blog Archive » Interview Sean Moss-Pultz

Ich bin ein grosser Verfechter von Linux und sonstiger Open-Source-Software. Doch leider verwundert es mich kein bisschen, dass die Realisierung eines Open-Source-Mobiltelefons anscheinend vor grossen Schwierigkeiten steht. Als wäre das nicht abzusehen gewesen … Verschiedene Gründe tragen meiner Meinung nach dazu bei:

  • Hardware-Entwicklung verschlingt viel Geld. Linux konnte sich nur den heutigen Marktanteil ergattern, weil es auf die billig herzustellende und vielerorts vorhandene x86er-Plattform zurückgriff – gefördert, das muss man einfach anerkennen, durch den Erzrivalen Microsoft und sein Windows-Ökosystem. Wenn schon Firmen mit Millionenbudgets wie Samsung, LG, Nokia, Sony Ericsson, Motorola massive Probleme haben und deren R&D-Abteilungen gegenüber dem Platzhirschen mit Apfel-Logo äusserst blass aussehen, wie soll es dann ein Linux-Büdchen mit ein paar wenigen Almosen schaffen, „the next big thing“ zu veröffentlichen?
  • Im Schatten des iPhones. Wie soll man Entwickler wie auch Kunden für ein Gerät interessieren, dass sich zuerst aus dem gigantischen Schlagschatten des iPhones herausboxen muss?
  • Geek only = geek only. Von Geeks, für Geeks. Die einzigen Personen, die dieses Gerät mir gegenüber in den letzten Monaten erwähnt haben, sind bis auf die letzte Stammzelle OSS-Anhänger. In den Augen von auf den Boden gebliebenen Personen haftet solchen Leuten (leider) oftmals das Image eines Spinners an.
  • It’s the Interface, stupid! Schön und gut, wenn ich per SSH auf mein Mobiltelefon zugreifen kann. Doch was bringt’s? Für den Endbenutzer ist die möglichst einfache Bedienung des Gerätes das A&O. Leider bin ich immer noch der Meinung, dass Linux im Vergleich zu Apple und Microsoft massive Schwächen im graphischen Benutzerinterface hat. Das iPhone hat hier einen meilenweiten Vorsprung als alles andere auf dem Markt erhältliche. Multitouch hätte meiner Meinung nach nie von der Open-Source-Hardware-Community entwickelt werden können …

Tags: , , ,
Labels: Apple, Linux

2 Kommentare | neuen Kommentar verfassen

Sonntag, 15. März 2009

Batch convert color images for OCR

Vor langer, langer Zeit war ich in der Schweizerischen Nationalbibliothek und habe dort mit meiner Digitalkamera Seiten aus alten Büchern photographiert. Obwohl ich dies ohne Blitz tat, herrschte im Lesesaal alsbald helle Aufregung – denn ich hatte soeben gegen die Benutzungsordnung verstossen. Glücklicherweise musste ich die Bilddaten aber nicht von der Speicherkarte löschen, wurde aber freundlich und bestimmt gemahnt, das nie wieder zu tun …

Mittlerweile habe ich endlich Zeit gefunden, die Bilddaten zu sortieren und zu beschriften. Dummerweise war der Foto-Termin bereits derart lange her, dass ich schlicht vergessen hatte, aus welchem Buch ich digitale Kopien gemacht hatte. Mittlerweile ist es mir wieder in den Sinn gekommen:

main.bib

hauser1925

Geschichte der Hagelversicherung in der Schweiz
P. Hauser
 
 
 
(1925)

Doch gut, was bringen mir die Photographien, wenn ich diese nicht in einem schicken PDF-Dokument zusammenfasse und die Texterkennung darüber laufen lasse? Genau: Nichts.

Deshalb hiess es, die je ca. 3MB wiegenden farbenfrohen JPEGs in monochrome Bitmaps umzuwandeln. Nach einigem Googlen war ich mit Hilfe des ausführlichen Artikels ImageMagick v6 Examples — Color Quantization and Dithering im Stande, folgendes Shell-Script zu schreiben, welches mit ImageMagick die gewünschte Batch-Conversion durchführt:

#!/bin/sh

for i in *.jpg;
do
        echo "Converting $i"
        convert "$i" +dither -colors 2 -colorspace gray -normalize "$i-mono.gif"
        echo "Conversion finished"
done

exit 0

Anschliessend öffnete ich den Adobe Acrobat 7, wählte File > Create PDF… > From Multiple Files…, wählte die GIF-Dateien aus und liess mir ein PDF daraus erstellen.

Tags: , ,
Labels: Linux

1 Kommentar | neuen Kommentar verfassen

Montag, 23. Februar 2009

Mit Cacti SNMP-fähige Netzwerkdrucker abfragen

Auf der Arbeit verwende ich cacti nicht nur, um Kennwerte von Linux-, Mac OS X- und Windows-Servern abzufragen und zu speichern (Prozessorauslastung, Festplattenplatz etc.), sondern frage damit auch SNMP-fähige Drucker ab.

Meistens handelt es sich dabei um netzwerkfähige HP (Color) Laserjets, doch auch Drucker anderer Hersteller liefern per SNMP die drei grundlegenden Parameter Page Count und Page Output. Wenn man Glück hat, kann per SNMP sogar der Tonerstand graphisch ausgewertet werden.

Die dafür nötigen Templates habe ich aus verschiedenen Quellen zusammengestibitzt und veröffentliche diese in diesem Blog-Artikel als ZIP-Datei:

cacti-snmp-printer-templates.zip

Die Templates importiert man über die cacti-Administrationsoberfläche unter dem Menupunkt Import Templates. Anschliessend erfasst man die Hosts und weist diesen die Templates dann manuell zu, oder baut sich ein Host Template bestehend aus den drei Templates zusammen.

Tags: , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Freitag, 20. Februar 2009

Pseudo-Arrays in MS-DOS Batch-Dateien

Natürlich gibt es so etwas auch in der Microsoft-Welt, ist aber bedeutend hässlicher als bei bash & Co:

FOR /F "tokens=1,2,3,4 delims=|" %%G IN ("eins|zwei|drei|vier") DO @echo Werte: %%G %%H %%I %%K

Wer die Werte nicht aus einem String, sondern aus einer Datei auslesen möchte, passt den Befehl leicht an:

FOR /F "tokens=1 delims=;" %%G IN (datei.txt) DO @echo Wert: %%G

Via: FOR /F

Tags: , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Montag, 5. Januar 2009

snmpd 5.4 unter Debian geschwätzig machen

Obwohl ich hier bereits in verschiedensten Artikeln lusche Sicherheitsvorkehrungen angeprangert habe, halte ich es bei SNMP genau so: Hauptsache offen wie ein Scheuenentor. Das Protokoll ist derart kompliziert, dass ich beim Debugging nicht Zeit verlieren möchte.

Auf Servern, die ich mit cacti überwachen möchte, installiere ich normalerweise folgende snmpd.conf:

sysLocation Raum 1
sysContact Mario Aeby 
#
rocommunity public 192.168.0.1
#rocommunity public 192.168.0.0/24
#
includeAllDisks
#
proc
load

Auf einem Debian-System mit snmpd 5.4.1~dfsg-12 wollte obige Konfiguration aber nicht und spuckte drei Fehlermeldungen aus (zu finden in /var/log/daemon.log):

Jan  5 16:26:42 snmpd[13111]: /etc/snmp/snmpd.conf: line 7: Error: Blank line following includeAllDisks token.
Jan  5 16:26:42 snmpd[13111]: /etc/snmp/snmpd.conf: line 9: Error: Blank line following proc token.
Jan  5 16:26:42 snmpd[13111]: /etc/snmp/snmpd.conf: line 10: Error: Blank line following load token.

Die für snmpd 5.4 überarbeitete Version der Konfiguration sah deshalb folgendermassen aus:

sysLocation Raum 1
sysContact Mario Aeby 
#
rocommunity public 192.168.0.1
#rocommunity public 192.168.0.0/24
#
includeAllDisks 10%
#
load 1

Doch damit war nicht genug – snmpwalk wollte partout nur bei einem Testlauf von localhost Werte liefern.

Ein Blick in die Prozessliste machte schliesslich das Übel rasch erkennbar:

13491 ?        S      0:01 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1

127.0.0.1 wies snmpd an, nur auf dem lo-Interface zu lauschen.

Ich öffnete snmpds Ohren, indem ich die Datei /etc/default/snmpd anpasste und dort die Zeichenkette 127.0.0.1 entfernte.

(Falls jemand eine schönere Umgehungsmöglichkeit kennt, soll er diese als Kommentar posten. Danke!)

Tags:
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 11. Dezember 2008

Perl 5 sucks!

Heute gerade erlebt:

For example, to install a module from the CPAN, you must first answer several questions to configure the CPAN client. Then, you download a package, which runs a small program, which generates a Makefile, which configures, builds, tests, and installs the module — if everything went correctly.

Quelle: Five Features Perl 5 Needs Now – O’Reilly Broadcast

Ich wollte mir App::Ack installieren. Zuerst versuchte ich es als normaler User, was aber (wohl wegen den Berechtigungen) nicht geklappt hat. Der Fragekatalog wurde durchgespult, viele Module heruntergeladen und irgendwo unter den vorbeiflimmernden Zeilen gab es dann irgendwann einmal eine Fehlermeldung, die ich natürlich übersehen habe.

Die Installation via sudo klappte leider auch nicht viel besser – vorerst jedenfalls. Auch hier lief irgendein Test schief und Ack wurde nicht installiert. Zwar war anhand der Fehlermeldung erkennbar, dass etwas schief gelaufen war – wie das Problem zu beheben sei, erfuhr ich aber nicht. Es ist dem Zufall zuzuschreiben, dass ich im Anschluss einige als „optional“ bezeichnete Test-Pakete installieren liess – und plötzlich war ack unter /usr/bin/ vorhanden. Heureka.

Was Perl braucht? Ein apt-get install ack – fertig. Obwohl ich Perl nicht gut genug kenne, denke ich, dass CPAN das Spiegelbild seiner Benutzer und seiner Programmierer ist: Umständlich, kompliziert, technikbesessen. Und somit für Endbenutzer wie mich nicht geeignet.

Tags: ,
Labels: IT, Linux

Keine Kommentare | neuen Kommentar verfassen

Samstag, 22. November 2008

wget, find und Bash ausgereizt

Um eine lokale Kopie der auf Terrific messages on girls’ T-shirt geposteten Photos zu erstellen, musste zwei Hürden übersprungen werden:

wget

$ wget --page-requisites "http://35mm.instantfundas.com/2008/11/terrific-messages-on-girls-t-shirt.html"

holte nur diejenigen Dateien, die auf dem lokalen Server abgelegt waren. Da die Photos bei ggpht.com gehostet wurden, kamen sie beim ersten Versuch nicht mit. Abhilfe schaffte folgender Befehl:

$ wget --span-hosts --page-requisites "http://35mm.instantfundas.com/2008/11/terrific-messages-on-girls-t-shirt.html"

find

Da ich vergessen hatte, wget mit der Option -nd („no directories“) aufzurufen, waren die Bilder nun über unzählige Ordner verstreut. Hier half find:

$ find . -name *tshirt* -exec mv '{}' '/Users/mario/Desktop/backup/' ';'

for-Schleife mit Bash

Sogleich folgte das nächste Problem: Die Dateinamen der Bilder waren nicht brauchbar: girls-tshirt (3)_thumb[1].jpg?imgmax=800 Mit Doppelklick wurde nicht automatisch Apples Preview geladen. Was nun? Bash hilft:

$ for i in *jpg*; do mv $i $i.jpg; done;

Ein einziges Bild wurde nicht umbenannt, weil es im PNG-Format daherkam. Hier war ich zu faul und benannte es von Hand um …

Tags:
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 19. November 2008

Mit cURL Serien von Dateien herunterladen

Nichts leichter als das:

$ curl "http://www.eMeidi.com/downloads/[1-15].jpg" -o image_#1.jpg

In diesem Fall geht der Downloader davon aus, dass im Ordner downloads auf meinem Server folgende Dateien liegen:

http://www.eMeidi.com/downloads/1.jpg
http://www.eMeidi.com/downloads/2.jpg
http://www.eMeidi.com/downloads/3.jpg
...
http://www.eMeidi.com/downloads/15.jpg

Indem man eine Range angibt (in eckigen Klammern, „von bis“), berechnet cURL diese URLs eigenhändig und versucht diese anschliessend herunterzuladen. Damit die Dateien auf der Festplatte gespeichert werden, muss dies mit dem Schalter -o kundgetan werden. Da eine Range eingesetzt wird, dient #1 als Platzhalter. In unserem Beispiel liegen nach dem Batch-Download folgende Dateien im Verzeichnis:

image_1.jpg
image_2.jpg
image_3.jpg
...
image_15.jpg

Labels: IT, Linux, Web

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 12. November 2008

Ubuntu Terminal wird weiss angezeigt


Ubuntu: Terminal Visibility Troubles
Originally uploaded by emeidi

Nach einem Upgrade meines „Media Center“-PCs (einem hundsnormalen Dell, Desktop-Modell mit Pentium III-CPU) auf Ubuntu 8.04 wurde beim Aufruf des Terminals nur eine weisse Fläche angezeigt (vgl. den Screenshot rechts, den ich einem anderen unglücklichen Ubuntu-Benutzer entliehen habe).

Das Problem konnte schlussendlich gelöst werden, in dem ich der xorg.conf folgenden Befehl beifügte:

Option "AddARGBGLXVisuals" "True"

Via: Problem: no window borders and white terminal with desktop effects.

Tags:
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen