So when a DOS user saved the file “PRN.TXT”, the output appeared on the printer.
Quelle: The tale of “aux.c”
Samstag, 28. Februar 2009
So when a DOS user saved the file “PRN.TXT”, the output appeared on the printer.
Quelle: The tale of “aux.c”
Samstag, 28. Februar 2009
Aus aktuellem Anlass (Toner leer) habe ich mir die Mühe genommen, die Kenndaten über meinen getreuen Schwarzweiss-Laserdrucker HP Laserjet 1300 zu aktualisieren. Die ersten Findings wurden im Dezember 2006 veröffentlicht.
Donnerstag, 26. Februar 2009
Auf der Arbeit ging nach der Installation der neuesten Druckertreiber für einen Xerox Phaser 6300DN unter Mac OS X 10.4.11 gar nichts mehr: Druckaufträge wurden zwar CUPS übergeben und das Druckericon verschwand auch prompt wieder aus dem Dock. Doch der Netzwerkdrucker spuckte nichts aus!
Nachdem ich das Problem auf einem dritten Mac mit demselben Betriebssystem reproduziert hatte, begann das Debugging. Von einem Mitarbeiter wusste ich bereits, dass Druckaufträge a) von Mac OS X 10.5-Computern und diesem Treiber problemlos gedruckt wurden sowie b) Druckaufträge mit dem Generic Postscript Driver unter Mac OS X 10.4.11 auch funktionierten. Das Problem konnte also schlüssig auf einen fehlerhaften Treiber von Xerox, der Mutter aller Kopierer und Drucker, eingeschränkt werden.
Nachdem ich in /etc/cupsd.conf
LogLevel debug
gesetzt und den Mac-Druckserver neu gestartet hatte, fanden sich in Console.app in der Datei /var/log/cups/error_log weiterführende Informationen:
I [23/Feb/2009:14:48:26 +0100] Adding start banner page "none" to job 519. I [23/Feb/2009:14:48:26 +0100] Adding end banner page "none" to job 519. I [23/Feb/2009:14:48:26 +0100] Job 519 queued on 'Xerox_Phaser_6300' by 'mario'. I [23/Feb/2009:14:48:26 +0100] Started filter /usr/libexec/cups/filter/cgpdftops (PID 1322) for job 519. I [23/Feb/2009:14:48:26 +0100] Started filter /usr/libexec/cups/filter/pstops (PID 1323) for job 519. I [23/Feb/2009:14:48:26 +0100] Started filter /Library/Printers/Xerox/PDEs/pstophaserps (PID 1324) for job 519. I [23/Feb/2009:14:48:26 +0100] Started backend /usr/libexec/cups/backend/socket (PID 1325) for job 519. E [23/Feb/2009:14:48:26 +0100] PID 1324 stopped with status 2! I [23/Feb/2009:14:48:26 +0100] Hint: Try setting the LogLevel to "debug" to find out more.
Als ich mich zusätzlich an localhost:631/printers/ wandte und auf den entsprechenden Drucker klickte, sah ich auch dort die ähnliche Meldung
Description: Xerox Phaser 6300 Location: Printer State: idle, accepting jobs. "The process "pstophaserps" stopped unexpectedly with status 2" Device URI: socket://10.0.0.1/?bidi
Hmmm, was zum Teufel?
Mit dieser konkreten Fehlermeldung bewaffnet meldete ich mich bei der Xerox-Supporthotline. Nachdem ich wie ein depperter mit der dort eingesetzten Spracherkennung gewrestelt hatte (der Begriff „Technische Hilfe“ sowie die Seriennummer mussten klar und deutlich ausgesprochen werden, damit sie die Spracherkennungssoftware entschlüsseln konnte), wurde ich von einer Person „beraten“, die ich leider sehr schlecht verstand. Xerox sollte unverzüglich eine genügende Menge Geld in die Headsets und Telefonleitungen ihres Callcenters investieren … Zu allem Unglück nuschelte die Person am anderen Ende auch noch.
Ich erklärte dem „1st Level Supporter“ mein Problem und wies auf die klare Fehlermeldung hin. Leider interessierte er sich nicht sonderlich dafür. Wichtiger fand er, dass mein Arbeitgeber keinen Wartungsvertrag mit Xerox besässe (seit wann hat ein Wartungsvertrag Einfluss auf einen korrekt funktionierenden Treiber!? Dieses Problem trifft alle Kunden, weshalb der Hersteller bedacht sein sollte, solche Hinweise dankbar entgegenzunehmen). Immerhin war er so freundlich und hielt Rücksprache mit seinen „Kollegen“. Leider schienen die 2nd Leveller bereits beim Feierabendbier zu sein, weshalb er mich bat, am nächsten Tag erneut anzurufen. Bis dann hätte er sich bei ihnen über die Fehlerursache erkundigt.
Heute nun, einen Tag später als geplant, fand ich Zeit, den Support anzurufen. Ich hatte zwar eine andere Person am Draht, musste mich aber wieder mit der vorgeschalteten Spracherkennung messen. Der darauf freundlich grüssende Hotline-Mitarbeiter sprach komisches Deutsch in ein Headset, das höchstens für ein Drittweltland getaugt hätte.
Diesem Herr durfte ich erneut die ganze Geschichte erzählen – und auch dieser Herr schien sich stur an sein Script zu halten, anstelle sich dankend auf meine superbe Fehlermeldung einzugehen. Wieder bemerkte er den fehlenden Wartungsvertrag, doch auch er hielt dann Rücksprache mit den „Software-Leuten“.
Da er mir immerhin aufmerksam zugehört hatte, als ich ihm erzählte, dass der Generic Poscript Driver funktionierte, kam er schlussendlich mit einem für Xerox klar unwürdigen Vorschlag zurück: Ich solle doch einfach die Xerox-PPD benutzen, um den Generic Postscript Driver damit zu überschreiben … Kopfschüttelnd bedankte ich mich für die ausserordentliche Hilfe und hängte den Hörer auf die Gabel.
Auf mich allein gestellt tauchte ich tiefer in die Dateistruktur von Mac OS X ab auf der Suche nach den PPDs. Hilfreich war How Mac OS X Searches for and Chooses PPD Files, welches die von Mac OS X verwendeten Ordner für Druckertreiber explizit angab:
Ein
$ find . -name pstophaserps
in diesen Ordnern führte kein Binary pstophaserps zutage, das – gemäss meiner Übersetzung des Dateinamens – Postscript zu Phaser-tauglichen Postscript umwandelt.
Immerhin fand ich das PPD des Xerox Phaser 6300DN, öffnete dieses in einem Text-Editor und fand rasch die Zeile
*cupsFilter: "application/vnd.cups-postscript 0 /Library/Printers/Xerox/PDEs/pstophaserps"
Dieses olle Binary hätte als in /Library/Printers/Xerox/PDEs/ liegen müssen – tat es aber nicht. Ein Augenschein vor Ort liess mir ein Lichtlein aufgehen: Im Ordner fand sich ein Binary namens pstoxeroxps! Waren die Treiberentwickler wirklich so unfähig …
… ja! Nachdem ich einen symbolischen Link erstellt hatte
$ cd /Library/Printers/Xerox/PDEs/ $ sudo ln -s pstoxeroxps pstophaserps
und einen weiteren Druckauftrag ausführte, ratterte es endlich im Drucker, und mein Dokument wurde gedruckt.
Danke, Xerox, für die gute Arbeit!
Tags: Druck, PC-Support
Labels: IT
Montag, 5. Januar 2009
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!)
Samstag, 20. Dezember 2008
Okey, letzteres nicht ganz, ich habe etwas geflunkert:
„I’ll just get straight to the point. You’ve been affected by the layoffs.“
Before I’d even finished the call, I twittered (to my private account):
„Wow. I just got fired.“
Quelle: kewlchops: Not quite what I had in mind.
Die virtuelle Realität nimmt Überhand.
Immerhin kann ich jetzt die Facebook Profil-Fotos meiner Kollegen mit Apples AddressBook.app synchronisieren:
Tags: Beziehung, Facebook, Twitter
Labels: Arbeit, Gesellschaft, IT
Freitag, 19. Dezember 2008
[…] all these two hour lunches over a bottle or two of great wine and general unwillingness to do whatever it takes to compete and win is the reason why all the big public Internet companies are U.S. based. And those European startups that do manage to break through cultural and tax hurdles and find success are quickly gobbled up by those U.S. companies. Skype (acquired by eBay) and MySQL (acquired by Sun) are recent examples.
Quelle: Joie De Vivre: The Europeans Are Out To Lunch
Nun ja … Arrington mag sicherlich recht haben, dass wir Europäer dank unseren vorzüglichen Sozialversicherungen und Umverteilungsmechanismen (auch?) bezüglich Internet-Startups nicht in die Gänge kommen. Wie es rauskommt, wenn man den Amis alles nachmacht, sieht man ja exemplarisch im Bankensektor: Nach den Jahren mit Milliardenprofiten wurde der Wagen innert eines Jahres gehörig an die Wand gefahren. Daraus resultierte nicht nur Totalschaden, die Wand ist auch gleich noch eingestürzt …
Man beachte: Wenn Skype und MySQL die einzigen Argumente sind, mit der Arrington auftrumpfen kann, fällt seine Hypothese arg in sich zusammen. Ich kann mich jedenfalls nicht erinnern, dass die Mutterkonzerne eBay und Sun in den letzten Wochen und Monaten positive Nachrichten produziert haben. Von „erfolgreichen“ Unternehmen möchte ich bei diesen zwei Platzhirschen nun wirklich nicht sprechen.
Man kann es auch anders rum drehen: Obwohl sich die lieben Amis abrackern wie die Affen, bringen sie es nicht auf den grünen Zweig. Eine enorme Staats- und Privatverschuldung, unzählige Working Poors, die Ghettoisierung der Unterschicht, eine marode Infrastruktur – nicht gerade Dinge, mit denen man derzeit im Ausland gut punkten kann.
Tags: Europa
Labels: Gesellschaft, IT, USA, Web
Donnerstag, 18. Dezember 2008
I could either sign on as a Microsoft employee or quit and go GitHub full time. At 29 years old, I was the oldest of the three GitHubbers, and had accumulated a proportionally larger amount of debt and monthly expenditure.
Quelle: How I Turned Down $300,000 from Microsoft to go Full-Time on GitHub
29-jährig und verschuldet- trotz 100%-Job in der IT-Branche? Das schafft man nur in Amerika …
Tags: Web-Entwicklung
Labels: Arbeit, Gesellschaft, IT, USA, Wirtschaft
Dienstag, 16. Dezember 2008
Im Grunde handelt es sich beim Rabatt-Spiel des PostShops (aka „Speedfingerzzz“ – der Name könnte von Mäschu erfunden worden sein) um eine der besten Spielideen der letzten Monate – wenn die Leute das Spiel denn auch spielen könnten. Seit gestern Abend erhalte ich im Flash-Game die Fehlermeldung „Fehler: Netzwerkverbindung unterbrochen“ zu Gesicht und kann mich nicht einmal im ersten Level mit den anderen Spielern messen.
Dank der Aktivitäts-Anzeige von Safari wird schnell klar, wo es harzt: Gewisse URLs werden von Safari mit einer roten Fehlermeldung internal server error gekennzeichnet. Öffnet man die URL mit Doppelklick, kommt es noch besser: Microsoft wirft einem einen XML-Fehler an den Kopf:
error on line 2 at column 60: Space required after the Public Identifier
Schaut man sich den Quelltext des ausgelieferten Dokuments an, wird plötzlich alles klar: Microsoft am Werk!
ASP 500-100 Fehlermeldung auf post-speedfinger.mxm.ch
Fehlertyp:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
The transaction log for database ’spi_wordmaster‘ is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases
/_core/functions/game.asp, line 99Querystring:
random=1229460234988&op=startBrowsertyp:
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; en) AppleWebKit/525.26.2 (KHTML, like Gecko) Version/3.2 Safari/525.26.12Seite:
GET /_service/level.aspZeit:
Dienstag, 16. Dezember 2008, 21:49:59SessionID:
1002476129Referer:
Quelle: post-speedfinger.mxm.ch/_service/level.asp
Haaaaaalloooooo, ist bei Maxomedia jemand zu Hause? Was lernen wir daraus: Auch Klickibunti RDBMS aus Redmond sollten mit der gehörigen Sorgfalt unterhalten werden …
Tags: Games, Post, Web-Entwicklung
Labels: IT, Web
Montag, 15. Dezember 2008
While people typically think of programmers as coders, whose main talent lies in writing the arcane syntax of programming languages. I think that their main talent lies in their ability to analyze, troubleshoot, and solve problems. Code is just the physical manifestation that culminates the thought process of the programmer.
Quelle: Eliminating the Programmer » “Hello World” – The SlickEdit Developer Blog
Tags: Programmierung
Labels: IT
Samstag, 13. Dezember 2008
Gestern Freitag führte ich auf der Zugfahrt von Bern nach Zürich ein Gespräch mit einem Bekannten. Unser Thema: Content Management Systeme. Genauer: CMS, die mit PHP programmiert werden. Dabei stellte er folgende These in den Raum:
Es gibt heute keine brauchbaren CMS auf Basis von PHP/MySQL
Nach einigen Schrecksekunden löste ich meine Totenstarre – und musste ihm beipflichten. Auf Anhieb kamen mir drei auf PHP basierende CMS in den Sinn – und alle fand ich Müll:
Ein vielversprechendes, noch zu evaluierendes PHP-CMS ist mir vor einiger Zeit über den Weg gelaufen:
MODx – CMS and PHP Application Framework
Hoffen wir, dass deren Entwickler aus den gröbsten Fehlern gelernt haben.
Tags: Web-Entwicklung
Labels: IT, Web