04.01.07

Logitech-Z10-Hacking

Logitech hat mit den Z-10 ein Paar Lautsprecher mit erstaunlicher Klang- und Verarbeitungsqualität herausgebracht. Ich war davon so begeistert, dass ich mir spontan ein Paar als günstige Monitor zugelegt habe.

Leider hat sich Logitech entschlossen, zunächst keine Mac OS X-Unterstützung für die Lautsprecher anzubieten. Die Standard-USB-Audio-Funktionen sind zwar auf jeden Fall verfügbar, aber das schicke Display sowie die Sondertasten bleiben so ungenutzt. Nach einem Blogeintrag von Marc Liyanage hatte ich mir schon Hoffnung auf eine baldige Mac-Unterstützung gemacht, dass es aber so schnell und einfach geht, hätte ich nicht gedacht: Gestern hat Marc ein Logitech LCD-Tool veröffentlicht. Siehe dazu auch seinen Blog-Eintrag sowie ein interessantes Interview.

Das geniale an Marcs Tool ist, dass er eine Plugin-Architektur gleich von Anfang mit eingeplant hat. Über HTML und JavaScript lassen sich eigene, beliebige Anzeigen programmieren -- allerdings natürlich nur in schwarz/weiß (beziehungsweise schwarz/gelb)

Ich habe das gleich mal ausprobiert und ein Applet zur Anzeige von Wetterdaten von Yahoo! programmiert. Es funktioniert schon ganz gut, wenngleich es auch noch einige Kanten hat. Die verschiedenen Displays lassen sich mit den Knöpfen 1 bis 4 einstellen. Es gibt sogar einen Doppelklick-Modus, der die zugehörige Yahoo!-Wetterseite bzw. die Homepage des Applets im Browser öffnet.

Mir fallen schon ganz viele Ideen für nützliche Plugins ein…

Verfasst von crenz um 07:56 | Kommentare (4) | TrackBack

13.12.06

PHP wird sicherer (?)

I have realised that any attempt to improve the security of PHP from the inside is futile.

Stefan Esser, "Retired from security@php.net"

Für viele kann PHP genau das, was sie brauchen. Ich selbst aber kann eine gewisse Schadenfreude nicht verbergen. Aus verschiedensten Gründen habe ich eine starke Abneigung gegen PHP.

Verfasst von crenz um 08:54 | Kommentare (0) | TrackBack

15.09.06

Entstehung einer Skriptsprache

Lambda the ultimate erwähnt einen interessanten Artikel über die Geschichte der in Mac OS eingebetteten Programmiersprache AppleScript. Ich war schon immer davon fasziniert, wie leicht verstehbar die Sprache ist für Leute, die nichts über Programmieren wissen.

Verfasst von crenz um 07:21 | Kommentare (0) | TrackBack

30.05.06

Web 2.0

Web 1.0 was about owning, Web 2.0 is about sharing

Habe gerade eine schöne Liste gefunden, die die Unterschiede zwischen Web 1.0 und Web 2.0 darstellt.

Verfasst von crenz um 09:50 | Kommentare (1) | TrackBack

07.04.06

DLL Hell

Wieder was Technisches zwischendurch... Microsoft hat die unter Windows schon immer nervige DLL hell auf ein neues Level gebracht: dependent side-by-side assemblies. Eigentlich ein ganz interessanter Ansatz, mit dem Anwendungen spezifizieren können, welche Version einer Bibliothek sie benötigen. Leider ging das hier in einem konkreten Beispiel gehörig schief: Eine Applikation wollte eine mit Visual Studio 2005 Express Edition gebaute DLL verwenden. Beim Laden erscheint dann allerdings eine Fehlermeldung, dass MSVCR80D.DLL (bzw. MSVCR80.DLL für Release-Versionen) nicht gefunden werden kann. Wagt man es, die genannten DLLs aus dem SxS-Verzeichnis umzukopieren, erhält man den Fehler R6034. Die einzig vernünftige Lösung ist, eine MeinProgramm.exe.manifest-Datei anzulegen, mit folgendem Inhalt:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

Verfasst von crenz um 10:57 | Kommentare (2) | TrackBack

12.02.06

Multiple monitor desktop madness

Wie findet man unter Microsoft Windows heraus, wie groß der Desktop ist? Richtig, man frägt das Desktop Window:

OSHwnd getDesktopWindow
    getWindowRect: (rect := OSRect new).

Man könnte jetzt erwarten, dass das bei einem Dual-Monitor auch funktioniert. Tut es aber nicht. Stattdessen muss man den Program Manager fragen, der seit Windows 95 ein Schattendasein führt:

(OSHwnd findWindow: 'Progman' lpszWindow: 'Program Manager')
    getWindowRect: (rect := OSRect new)

An manchen Tagen möchten man den Leuten, die sowas verbrochen haben, gerne eindringlich die eigene Meinung kundtun...

Seufz.

Verfasst von crenz um 23:11 | Kommentare (0) | TrackBack

24.01.06

Debugging

In Wulfs Blog gefunden: Der allererste Computer-Bug.

Verfasst von crenz um 22:38 | Kommentare (0) | TrackBack

24.09.05

Pugs unter Mac OS X 10.4 in 22 einfachen Schritten zum Laufen bringen

Ich fand es nicht ganz leicht, Pugs auf meinem PowerBook zum Laufen zu bringen. Daher habe ich hier mal eine Installationsanleitung aufgeschrieben. Wenigstens bei mir hat's so funktioniert. Diese Anleitung bezieht sich auf GHC 6.4.1, hs-plugins auf dem Stand vom 24.9.2005, parrot 0.2.3 und Pugs 6.2.9. Denke daran, die angegebenen Pfade falls nötig anzupassen. Der Rest der Anleitung ist auf Englisch.

Install parrot

This will enable parrot support in Pugs. Plus, who doesn't want a parrot?

Install DarwinPorts

DarwinPorts is needed to install GHC

Install GHC

The Glasgow Haskell Compiler is needed to compile Pugs

Install darcs

Darcs is a revision control system needed to retrieve hs-plugins

Install hs-plugins

This is a GHC plugin that is needed for Pugs' parrot support

Install Pugs

Et voilà!

$ pugs -e 'say "Hello, World!"'
Hello, World!

Verfasst von crenz um 09:51 | Kommentare (1) | TrackBack

08.05.05

A History of the GUI

Auf ars technica ist ein interessanter Artikel zur Geschichte der grafischen Oberflächen erschienen. Das folgende Zitat fand ich sehr anregend (Hervorhebung von mir):

Douglas Englebart completed his degree in electrical engineering in 1948 and settled down in a nice job at the NACA Institute (the forerunner of NASA). However, one day while driving to work he had an epiphany: he realized that his real calling as an engineer was not to work on small projects that might only benefit a few people. Instead, he wanted to work on something that would benefit all of humanity.

Verfasst von crenz um 23:47 | TrackBack