04.01.07

Hacking your Logitech Z-10

With the Z-10, Logitech has created a pair of speakers with an astonishing sound quality and finish. I was so taken aback that I spontaneously bought a pair as affordable monitors.

Unfortunaltey, Logitech decided to not offer Mac OS X support for now. The standard USB audio functions are of course available, but the spiffy display and special keys cannot be used that way. After reading a blog entry by Marc Liyanage I already hoped for a Mac software to be available soon, but I wouldn't have thought that it will be available that fast: Yesterday, Marc released a Logitech LCD toolblog entry as well as an interesting interview.

Ingeniously enough, Marc decided to build in a plugin architecture right from the start. Using HTML and JavaScript, it is possible to create your own displays – obviously only in black and white (or rather black and yellow).

I had to try this out, so I created an applet to show Yahoo! weather data. It works rather well, even though it still has a few rough edges. The different displays can be switched using the buttons 1 to 4. The applet even features a double-click mode that opens the Yahoo! weather page or the applet's homepage in the browser.

I think I still have quite a few ideas for useful plugins…

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

13.12.06

PHP about to become more secure (?)

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

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

For many, PHP does exactly what they want. I, however, have to admit I feel a certain schadenfreude. There are various reasons that make me strongly dislike PHP.

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

15.09.06

The creation of a scripting language

Lambda the ultimate mentions an interesting article on the history of the AppleScript language embedded into Mac OS. I've always been fascinated by how easily understood it is by people who don't know programming.

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

I just found a nice list that shows the differences between Web 1.0 and Web 2.0.

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

07.04.06

DLL Hell

Some more technical content in-between... Microsoft has brought the well-known and well-hated DLL hell to a new level: dependent side-by-side assemblies. It is actually an interesting way to let applications specify the versions of libraries that they need. However, that went rather wrong with a concrete application I was dealing with: Our application wants to use a DLL built using Visual Studio 2005 Express Edition. When loading the DLL, a message appears that MSVCR80D.DLL (MSVCR80.DLL for release versions) cannot be found. When copying the DLLs from the SxS directory into the Windows directory, you get error R6034. The only solution I found is to create a file MyApplication.exe.manifest, with the following contents:

<?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

How do you find out on Microsoft WIndows how big your desktop is? Just ask the desktop window:

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

One might expect this to work with dual monitors as well, of course. It doesn't. Instead of asking the desktop window, you have to dig out the program manager from the shadows it's been condemned to ever since Windwos 95:

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

This is one of those days where I'd want to give the person responsible for that a vivid impression of what I think of it.

Sigh.

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

24.01.06

Debugging

Via Wulf's blog: The first computer bug ever.

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

24.09.05

How to install Pugs on Mac OS X 10.4 in 22 easy steps

I found it not really straightforward to get Pugs up and running on my PowerBook, so I thought I'd share some installation instructions that worked for me. These instructions refer to GHC 6.4.1, hs-plugins as of 2005-09-24, parrot 0.2.3 and Pugs 6.2.9. Make sure you adapt the paths mentioned as needed.

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 (0) | TrackBack

08.05.05

A History of the GUI

There's an article on GUI history on ars technica. It's a nice read. It has this interesting quote that intrigued me (my emphasis):

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