Category Archives: tech

Apple’s “Mighty Mouse”

There is a lot of confusion about Apple’s new Mighty Mouse (which IMO is a crap name). As I’ve got mine today, I thought I’d dispel some of it:

  • It still has a physical micro-switch that is activated when applying force to the top of the mouse.
  • The capacitive sensors only detect which finger is applied, the actual click is initiated by the micro-switch. When both sensors register contact, a primary click is initiated (i.e. for a secondary click, you have to lift your primary finger off the surface).
  • The scroll ball works surprisingly well in spite of its small size; diagonal movement is a bit harder but I think that’s not due to the input mechanism but the way human fingers work. It needs a tiny amount of pressure on the ball to register the scrolling movement; it is possible to physically turn the ball without applying any downward force which results in no reaction. The scroll ball click (which I mapped to “Button 3” to keep Safari’s “Open in New Tab”) also uses the micro-switch for initiating the action but (somehow) is not confused by fingers lying on either contact surface.
  • The squeeze buttons (which function as a single button) are meant to be operated by thumb and pinky and take quite a bit of force to activate (to guard against accidental activation I suppose).
  • The “speaker” (a piezo clicker) is used for feedback when rolling the scroll ball and when activating the squeeze button. This is surprisingly effective.
  • The USB cable is still ridiculously short. This is fine if you have a hub in your keyboard or display, but anything else is a stretch.
  • Update: It seems to use the Agilent ADNS-2051, which is capable of 400 and 800 dpi. A good reference for which mouse uses which chip is here, but it does not include the new Apple mouse yet.

I am still a button short as my previous mouse was a Microsoft IntelliMouse Explorer for Bluetooth 2 which had two thumb buttons which I used for Exposé Show Desktop and All Windows. The old mouse had the problem of disconnecting after a certain idle period (to save power) which lead to problems with the “Sleep” mode of the Mac Mini — it immediately reawakens when it realises that the BT mouse has severed the connection. Then you have to send it to Sleep again. Also, the middle mouse button on the new version of the Microsoft Bluetooth Mouse is difficult to press: The scroll-wheel is continous (i.e. no distinct “notches”) which means you’re more likely to initiate a scroll than pushing the button (which requires a lot more force than before).
Ah yes, I was talking about the new mouse: It looks nice, it’ll have to cleaned more often than the grey / blue / black Microsoft mouse, the lift-left-finger-to-right-click is easier to get used to than I thought, the scroll ball is nifty, and the resolution is higher than the abysmal 400 dpi of the IntelliMouse for Bluetooth, although I don’t know what nominal resolution of the “Mighty Mouse” is.
Looks like a keeper… 😉

HP Calculators (HP48GX, HP49G)

While swapping the extension memory card batteries in my trusty old HP48GX, I managed to erase the main memory as well as the 512KB card in port 2. 🙁
I had honestly forgotten how slow 9600 baud over a serial port really were. So here’s a list of recommended software if you have at least 2 ram-cards (1 for MetaKernel, the other for more libs):

Don’t forget to use AKEYS from ALG48 and to install the MKAddon.

While doing all this, I checked out Power48, an HP48/9 emulator for PalmOS 5 handhelds. It is very nice and runs very well on my Clie UX-50, although the necessary conversion programs for ROMs are only available for Windows. It’s still not as nice having to tap the buttons on-screen compared to just pressing real, physical buttons; but this may be aggravated by the fact that I am emulating an HP49 (so I wouldn’t have to install all the software which is included in the HP 49G ROM anyway) which has a completely different keyboard layout.
The interesting bit about the HP49 is that the last official ROM update is 1.19-6, a beta version. But Bernard Parisse has published the source-code to the CAS (computer algebra system) that he has written for HP (beware the license: you’re not allowed to redistribute the binary!). And this compiles (most easily using Cygwin) to a ready-to-use ROM release with version number 1.24. 😀

Internet in fast.

A fast connection is really nice:
Safari Download Window

I’ve been playing a bit of “God of War” recently and it feels very epic. Still waiting for my “Killer 7” from Play.com (which is taking 9 days now :().
Have also started dabbling a bit in Cocoa (with Aaron Hillegass‘ book). The current plan for applications is something to convert the escaped international names generated by BOMArchiveHelper to proper unicode, maybe port my wavelet image compression code, and for testing out CoreData an anime fansub collection database / management app. Time permitting, of course… 😉

Apple’s Move to x86 vs. Security

I was fairly surprised at Apple’s announcement of their transition from PowerPC processors to using Intel chips, and I am still fairly sceptic about this whole affair. After having watched the keynote, I am seeing things in a slightly more positive light (mostly due to Steve Jobs being an excellent salesman).
Having written assembly for x86 and having read a lot of documentation about PPCs, it very much feels like moving to an inferior architecture with a superior implementation. Suddenly people have to pass arguments over the stack again, they (according to the Universal Binary guide) need to check for MMX, SSE, SSE2, SSE3 and optimise accordingly instead of a nice orthogonal AltiVec unit or no vectorisation. Welcome back to a stack-based FPU with 8 registers, same as the integer core and no more Open Firmware. I at least hope that Apple is going to ensure a certain standard in the Intel CPUs they sell (e.g. x86-64 + SSE3 guaranteed), to avoid even more ugly #ifdefs and code-paths than are already necessary for ensuring a single code-base builds on big- and little endian machines with different ABIs and capabilities.
As far as I am aware, the PowerPC stores the return address in a register, and is thus harder to exploit via buffer overflows. x86s store their return addresses on the stack, which makes them more vulnerable to these types of attacks. Recently, Microsoft has made that a bit harder by storing sentry cookies on the stack and checking them in SP2 for Windows XP and SP1 for Windows 2003 Server, but that is something of a work-around that costs you performance as well as stack-space.
Apple seem to offer the tools to make this transition less grating, but it is work with no immediately obious pay-off in sight. Certainly they are going into this with much more information than any of us have, so we’ll have to wait and see how things play out. I am well aware, that the CPU does not make a Mac; and I will hardly leave Mac OS X behind for any of the alternatives because Intel now gets a share of my money instead of Freescale / IBM.

Computer Solution

Yesterday, I’ve finally received my new computer, a Mac Mini (with an Apple Wireless Keyboard and .Mac for the curious). First thing I did was obviously to take it apart (a little), remove the measly 256mb and replace it with 1gb from DSP. Opening the case is neither terribly easy nor terribly hard as long as you take your time, don’t try to rush things and have the right tool for the job (a sharpened putty knife (plastic ones won’t work as they are too flexible)). That done, I hooked up the Dell 2005FPW display and booted it up. The set up procedure is easy, but I was impressed that it found the Bluetooth mouse and keyboard without me having to connect wired ones to set them up. Also very useful is the Firewire Target-Disk mode to copy all the settings and applications from my iBook.
That left me with about 3 weeks of accumulated data to sift through (external OneTouch II Firewire drive from Maxtor…). The only problem was how to install the iLife’05 applications from the MacMini install DVD on the iBook (which you are obviously not allowed to do ;)). The top-level installer will — correctly — refuse, but inside a hidden directory on the DVD are the installers for the individual applications, which work fine…
Exposé is a bit choppy (probably due to the lack of free video memory at 1680×1050), but overall the system feels a good bit faster than the 12″ iBook, which may be related to the faster CPU (1.42 vs. 1.2 Ghz) or the faster bus-speed (166Mhz vs. 133Mhz).
Oh, and the thing is quiet. The only thing I hear is the external hard-disk and the seeking of the hard-disk of my (passively) cooled server. Pictures:
New MacMini
Apple Wireless Keyboard
Old computer (check the book as size reference)

Computer Trouble

After rebooting twice for seemingly no reason yesterday evening, the PSU of my PC seems to have given up. That put me in some sort of dilemma as I had planned on buying a new machine some-when in the April timeframe, and spending €150 for a new PSU (as I don’t feel entirely comfortable with the really cheap PSUs and a Dual Athlon (2×1800+) with 4 hard-disks, huge RAID5 controller, and a Radeon 9800xt simply needs a lot of juice) just did not appeal for a single month.
I was leaning towards getting either a nForce4 Shuttle w/ an Athlon64 or a Mac mini. These machines couldn’t be more disparate, could they? I realised that I simply don’t need that kind of computing power at home (not to speak of the energy bills) and the Shuttle is not available yet.
I have thus ordered the faster Mac mini, an external drive (which I will now have to back-up separately as I don’t have a RAID anymore) and some more RAM. I still need to get a working PSU for getting all the data off the disks, though.

European Software Patents

Major :(. It looks like the new European Software Patent Directive is here to stay, in spite of plenty of opposition.
I had a feeling something like this may happen (stretch the vocal opposition until demonstrants are tired / confused, meanwhile lobbying enough support for the bill to pass). Getting an absolute 2/3 majority to do anything about it at the 2nd reading in parliament is impossible, so welcome to the brave new world…
Fucking idiots!

Addendum: It may not be as bad as I made it out to be — yet.