What a Fucking Great Sign!

Het Australische dorpje Fucking heeft het helemaal gehad met Engelstalige toeristen die telkens de “Welcome to Fucking” borden als souvenir mee naar huis proberen te nemen, en gooit een nieuw wapen in de strijd: Betongewapende borden.

What a Fucking Great Sign! Image by Ananova

Zeg nu zelf: wie wil er nu niet zo’n bord aan de muur van z’n studentenkamer hebben ;)

Nu is het wachten op de eerste slimme handelaar die een winkeltje start waar je replica’s van Fucking’s borden kunt kopen.

Mac OS X Bluetooth Send File made easy

I’ve been looking for hours for an easy way to send files from my Powerbook to my cellphone directly from the finder (using OBEX push for those who care).
The default way to do this, is to go to the bluetooth icon in the Mac OS X menu bar, open its menu, choose “Send File…” and pick the files that need to be sent from the open dialog that pops up. Quite frankly, that just sucks. When I want to send a file, I want to look it up using Finder, just as I would do with any other file, and not via a crappy file open dialog that only remembers the last location I used to send a file.
I had already found out that it is possible to drag a file from the finder to the Bluetooth Send File open dialog, but then it would only open its containing directory, and you’d have to find and select the file again by hand. I had at least expected some kind of contextual menu for “Send this file using Bluetooth” or something, but no such thing existed.
Until I stumbled upon something today: a Finder key shortcut!
Yes, that’s right. It is possible to send files directly from finder. Just select one, and hit command + shift + B on your keyboard. The Send File dialog pops up, and asks for the device, and then it’s done.
Unfortunately, this only works for a single file. Selecting multiple files completely breaks the shortkey (e.g. it won’t do anything, nor give any feedback).
Let’s hope Apple fixes this (as far as I know undocumented) feature, because I think it’s really kind of useful :)

What a week

Pfoeh, ik ben al een paar uur geleden uit een warme Duitse Intercity gerold, maar ik voel me nog steeds als een zweterige plakkerige bal vuil.
Voorlopig zijn mijn bed en de douche mijn beste vrienden. Die foto’s komen later wel ;)

Vakantie!

Jahaa, het is zo ver, ik ga lekker een weekje op vakantie en aangezien ik te lui ben geweest om een plugin als wp-ketai-mail te installeren, gaan jullie een weekje niets van mij te horen krijgen.
Eigenlijk maar goed ook. Hebben jullie ook een weekje vakantie ;)
Tot over een week!

Missing Sync – Bluetooth troubles

About a week ago, I got myself a new toy running Windows Mobile 2003. Since Microsoft decided the current standards in PIM synchronisation weren’t good enough for them, and came up with the ActiveSync protocol stack which, of course, is only available for Microsoft Windows, I had to go out and buy a software product to get this done on my Mac. I chose Markspace’s Missing Sync.
I had a lot of trouble getting bluetooth synchronisation to work. I paired my phone with my Mac, and hit “connect via Bluetooth” in the PDA’s ActiveSync utility, but then it would just say “Opening Port” and hang there forever. On my Mac, I could see the device get connected, but that was just about it. Catting and echoing to the device (/dev/cu.Bluetooth-PDA-Sync or /dev/tty.Bluetooth-PDA-Sync by default) gave me all sorts of unexpected results, but it certainly made clear the Bluetooth Serial connection was working as it should, and the problem was with Missing Sync not being able to open the serial device.
Luckily, one of the great things about paying for your software, is being eligible to technical support, which is exactly what I did: mail them! Thanks to Pete from Markspace, I now have working bluetooth synchronisation with my PocketPC, and I’m going to tell you exactly how I did it.
Add a Bluetooth Bond on your PDA
First of all, make sure you have paired your PDA or phone with your mac. In my experience, it is a good idea to have your phone initiate the pairing (or “bonding” as Microsoft calls it), not the Mac. To do this, go to the “settings” panel on your PDA, and select the “Connections” tab, which will contain an item named ” Bluetooth”. This Bluetooth utility will allow you to turn on Bluetooth (which is proably a good idea, if you are planning to use it), and search for new devices. To do this, click “New…” in the “Devices” tab, and select your Mac from the list of devices it shows after scanning. Be sure to answer “yes” to any questions about serial ports. Of course you should have Bluetooth enabled and set to Discoverable on your Mac, in order for this to work.
I like testing the Bluetooth connection by sending so called OBEX push transfers, since they don’t require Active Sync, Missing Sync or any other third party program to work on either the phone or the Mac. Microsoft calls this “beaming” a file over Bluetooth, and you can do it from any file context menu in the “file explorer” (tap and hold to have it pop up). If this works, the Bluetooth connection is OK, and you should be able to move on to the next part: getting Active Sync to work.
This should be really easy, but in my case it was not. As I said, opening ActiveSync and clicking “connect via Bluetooth” just left me with a stranded sync, so that didn’t get me anywhere. Apparently, Bluetooth synchronisation in Missing Sync 2.0 is a bit broken, and they fixed a lot of the bugs in their latest internal builds, which are not available for the public yet. If you experience these problems, don’t spend hours and hours trying to get it to work without first mailing Markspace’s support requesting a beta!Active Sync after it\'s connected successfully. Not to a Windows PC as it says though ;)
Next thing you want to do, is turn off any Bluetooth serial ports that can (and will) confuse Missing Sync. Go to the Mac OS X Bluetooth System Preferences window, and make sure “Bluetotooth-PDA-sync” is the only Bluetooth Serial port, and it is set to RS-232. To be sure, you can temporarily disable the other two services as well. In my experience, it is a good idea to reboot after doing this, to ensure there is no stuck process still locking your serial device, causing all kinds of trouble.
After rebooting, open Missing Sync, and turn on its log window from the Window->log menu. Make sure you enable the “Show more details in log” option in its preferences window, since it allows to spot problems a lot easier. Open a Bluetooth Preferences window as well, and look at the “Devices” tab.
Mac OS X Bluetooth Ports Dialog
With all set, open ActiveSync on your PDA, and click the “tools->Connect via bluetooth” option. You should see your PDA get connected in the Mac OS X Bluetooth window, as the device name gets bold. If all is well, you should now begin to see Missing Sync get connected to your phone. A successfull log looks somewhat like this:

8/5/05 23:14:07  Monitor:  Starting Monitor 2.0.1b1 (98) on Mac OS X 10.4.2
8/5/05 23:14:08  Monitor:  bt: Starting
8/5/05 23:14:08  Monitor:  bt: BSD path: /dev/cu.Bluetooth-PDA-Sync
8/5/05 23:14:08  Monitor:  bt: MyOpenSerialPort succeeded :9
8/5/05 23:14:09  Monitor:  Timer called to setup asyncdProxy
8/5/05 23:14:09  Monitor:  We have a root asyncdProxy
8/5/05 23:14:09  Monitor:  ascynd server is running
8/5/05 23:14:09  Monitor:  Communicating with ascynd
8/5/05 23:14:09  Monitor:  Serving Monitor for UI
8/5/05 23:14:09  Monitor:  Serving Monitor
8/5/05 23:14:11  Monitor:  USBToTTY starting
8/5/05 23:14:48  MSUI:  Found plugin: /Library/Application Support/...
8/5/05 23:14:48  MSUI:  Found plugin: /Library/Application Support/...
8/5/05 23:14:48  MSUI:  Found plugin: /Library/Application Support/...
8/5/05 23:14:48  MSUI:  Found plugin: /Library/Application Support/...
8/5/05 23:14:48  MSUI:  setMonCallback
8/5/05 23:15:36  Monitor:  bt: data: CLIENT
8/5/05 23:15:36  Monitor:  Connection status from 0 to 150
8/5/05 23:15:36  Monitor:  bt: Device initialized successfully.
8/5/05 23:15:36  Monitor:  bt: About to make connection
8/5/05 23:15:36  Monitor:  Connection status from 150 to 175
8/5/05 23:15:36  Monitor:  bt: forked pppd with pid: 231
8/5/05 23:15:36  Monitor:  bt: activate check for sharing
8/5/05 23:15:37  Monitor:  Firewall setup: 5
8/5/05 23:15:37  Monitor:  Connection status from 175 to 200
8/5/05 23:15:37  Monitor:  bt: Thread creation succeeded
8/5/05 23:15:37  Monitor:  bt: Thread creation succeeded
8/5/05 23:15:41  Monitor:  Connection status from 200 to 300
8/5/05 23:15:46  Monitor:  PPP connection expiration in 10 seconds
8/5/05 23:15:46  Monitor:  PPP connecton from 192.168.206.206: enabled
8/5/05 23:15:46  Monitor:  Connection status from 300 to 400
8/5/05 23:15:46  Listener:  Socket connecting
8/5/05 23:15:46  Monitor:  forgetDevice  rraServer:0
8/5/05 23:15:46  Monitor:  setAsyncCallback
8/5/05 23:15:46  Listener:  asyncdserver setConnectedMonitor
8/5/05 23:15:46  Listener:  Socket successfully connected from 192.168.206.206 1025.
8/5/05 23:15:46  Listener:  Received challenge
8/5/05 23:15:46  Monitor:  needPassword
8/5/05 23:15:46  MSUI:  Found password in keychain
8/5/05 23:15:46  Listener:  reading header
8/5/05 23:15:46  Listener:  reading deviceName
8/5/05 23:15:46  Listener:  reading deviceClass
8/5/05 23:15:46  Listener:  reading deviceHardware
8/5/05 23:15:46  Listener:  waiting for device to provide password
8/5/05 23:15:51  Listener:  Password was correct!
8/5/05 23:15:52  Listener:  Device Connecting: name "dawuss" class "PocketPC" hw "PM10A"
8/5/05 23:15:52  Listener:  owner "Michel Jansen" ip "192.168.206.206"
8/5/05 23:15:52  Monitor:  Connection status from 400 to 500
8/5/05 23:15:52  MSUI:  deviceName: dawuss device: PM10A ipAddress 192.168.206.206 vid:0x0000 pid:0x0000
8/5/05 23:15:52  Listener:  Connection state 0...1
8/5/05 23:15:52  Listener:  Connection state 1...2
8/5/05 23:15:52  Listener:  Connection state 2...3
8/5/05 23:15:55  Listener:  Connection state 3...4
8/5/05 23:15:59  Listener:  Connection state 4...5
8/5/05 23:16:03  Listener:  Connection state 5...6
8/5/05 23:16:03  MSUI:  connect
8/5/05 23:16:04  MSUI:  DLL found on device, testing it
8/5/05 23:16:04  MSUI:  Found version 1.28 on device
8/5/05 23:16:06  MSUI:  Send ConnectedMessageToPlugins
8/5/05 23:16:07  Monitor:  Waiting for connections on port 5678.
8/5/05 23:16:07  MSUI:  setting title
8/5/05 23:16:07  MSUI:  Address Book: initialize
8/5/05 23:16:07  MSUI:  iCal: initialize
8/5/05 23:16:07  MSUI:  TimeSync: initialize
8/5/05 23:16:08  MSUI:  asking for card info
8/5/05 23:16:09  MSUI:  CardInfo: {
    cards = (
        {free = 513015808; name = "\Storage Card"; total = 24; }, 
        {free = 7967744; name = "\Storage"; total = 24; }
    ); 
    name = dawuss; 
}
8/5/05 23:16:09  MSUI:  About to launch webdav
8/5/05 23:16:09  webdav:  listening on 49176
8/5/05 23:16:10  MSUI:  TimeSync: setStatusString string=idle
8/5/05 23:16:11  MSUI:  newURL = http://localhost:49176/dawuss
8/5/05 23:16:11  MSUI:  escapedString = http://localhost:49176/dawuss
8/5/05 23:16:14  MSUI:  Volume mounted
8/5/05 23:16:14  MSUI:  End of mount

If nothing happens in Missing Syncs log window at all, it probably can’t open your bluetooth serial device. Try opening it with a Terminal application such as ZTerm or minicom, or try catting your Bluetooth serial device. In ZTerm it will be called “Bluetooth-PDA-Sync”, and its device will look something like /dev/cu.Bluetooth-PDA-Sync. If that works, the port was probably blocked, and a reboot might help. In any case, it’s a good idea to contact Markspace about this, because it just shouldn’t happen.

If you forgot to delete any stray Bluetooth serial devices, you might see something like this:

8/5/05 22:43:41  Monitor:  Starting Monitor 2.0.1b1 (98) on Mac OS X 10.4.2
8/5/05 22:43:42  Monitor:  bt: Starting
8/5/05 22:43:43  Monitor:  bt: BSD path: /dev/cu.Bluetooth-Serial
8/5/05 22:43:43  Monitor:  bt: Error opening serial port /dev/cu.Bluetooth-Serial - Resource busy(16).
8/5/05 22:43:43  Monitor:  Timer called to setup asyncdProxy
8/5/05 22:43:43  Monitor:  We have a root asyncdProxy
8/5/05 22:43:43  Monitor:  ascynd server is running
8/5/05 22:43:43  Monitor:  Communicating with ascynd
8/5/05 22:43:43  Monitor:  Serving Monitor for UI
8/5/05 22:43:43  Monitor:  Serving Monitor
8/5/05 22:43:44  Monitor:  bt: BSD path: /dev/cu.Bluetooth-Serial
8/5/05 22:43:44  Monitor:  bt: Error opening serial port /dev/cu.Bluetooth-Serial - Resource busy(16).
8/5/05 22:43:45  Monitor:  bt: BSD path: /dev/cu.Bluetooth-Serial
8/5/05 22:43:45  Monitor:  bt: Error opening serial port /dev/cu.Bluetooth-Serial - Resource busy(16).
8/5/05 22:43:45  Monitor:  USBToTTY starting
8/5/05 22:43:46  Monitor:  bt: BSD path: /dev/cu.Bluetooth-Serial
8/5/05 22:43:46  Monitor:  bt: Error opening serial port /dev/cu.Bluetooth-Serial - Resource busy(16).

Delete the device from the Bluetooth Sharing tab, and try again.

If you get repeating “too many missed pings” errors like this:

8/6/05 00:25:44  Monitor:  PPP connection expiration in 9 seconds
8/6/05 00:25:44  Monitor:  PPP connecton from 192.168.206.206: enabled
8/6/05 00:25:44  Monitor:  Connection status from 300 to 400
8/6/05 00:25:44  Listener:  Socket connecting
8/6/05 00:25:44  Monitor:  forgetDevice  rraServer:0
8/6/05 00:25:44  Monitor:  setAsyncCallback
8/6/05 00:25:44  Listener:  asyncdserver setConnectedMonitor
8/6/05 00:25:44  Listener:  Socket successfully connected from 192.168.206.206 1039.
8/6/05 00:25:44  Listener:  missed too many pings
8/6/05 00:25:44  Listener:  In cancel
8/6/05 00:25:44  Monitor:  forgetDevice  rraServer:0
8/6/05 00:25:44  MSUI:  disconnect
8/6/05 00:25:44  Listener:  asyncdserver setConnectedMonitor clear
8/6/05 00:25:45  Monitor:  asyncd sent allowConnections: 1
8/6/05 00:25:45  Listener:  Reset
8/6/05 00:25:45  Monitor:  bt: finished relaying 0
8/6/05 00:25:45  Monitor:  Reseting firewall: 5 (0x00000005)
8/6/05 00:25:45  Monitor:  bt: deactivate check for sharing
8/6/05 00:25:45  Monitor:  bt: killing pppd: pid 426
8/6/05 00:25:48  Monitor:  bt: MyCloseSerialPort succeeded :9
8/6/05 00:25:48  Monitor:  bt: BSD path: /dev/cu.Bluetooth-PDA-Sync
8/6/05 00:25:49  Listener:  missed too many pings
8/6/05 00:25:49  Listener:  In cancel
8/6/05 00:25:49  Listener:  asyncdserver setConnectedMonitor clear

the daemon Missing Sync uses to connect to the PDA might be broken. To restart it, issue the following commands from the command line (using Terminal, iTerm or some other app).

ps -aux | grep Sync

Will print a list of processes used for synchronisation. Kill them all by entering

kill X

where X is replaced by the app’s process ID (the first number from the left).
Upon relaunching Missing Sync, it will restart the nessecary daemons automatically. Wait a few minutes before doing so though: any broken processes still keeping the serial device occupied will time out and stop causing problems.

If none of this works: contact Markspace’s tech support. Maybe they have found any new solutions I haven’t come up with yet. Please let me know if you find one yourself!

Apple goes double: 2-button mice

After the switch from SCSI to IDE, Mac OS 9 to Unix based Mac OS X and PowerPC to Intel, Apple finally switched to two-button mice today. Introducing… The Mighty Mouse!
Don’t get me wrong, I think it’s not a bad thing at all. More is not always better, but for us button freaks, it sure is this time, because face it: Apple’s one-button philosophy was already compromised by “ctrl-click” context menu’s. Apple simply realised this, and introduced a two-button mouse of their own and, while they were at it, added a nice two dimensional scroll wheel. I won’t go into details on the hardware itself: It’s just basically an Apple mouse, which makes it different and unique (go see for yourself!).
What’s much more interesting, is what this extra button could mean for the future of the Mac OS. Having only one button kept Apple sharp. Everything should work for users with only one button, so naturally only the extra’s (ambiguous context menu’s anyone?) came with the second button. That motivation is now gone.
How will Apple’s intuïtive drag & drop do with two buttons? Will they add functionality for copy/move switching to the second button like they do now with the control, command and option buttons? Will we get Windows-style context menu’s as a mandatory way to get things done? I can’t wait to find out :)
Meanwhile, at least we have the scroll wheel.

Written on a Mac, with the “publish” button clicked by a – now old-skool – Mac mouse

Cock & Balls – It’s just wrong

De goodies blijven vandaag maar binnen stromen! Deze is echter wel heel bijzonder: Een authentiek Cock&Balls T-shirt.
Cock&Balls is een relatief nieuw merk, dat is opgericht door iemand uit het kleine dorpje Ledeacker, dicht bij mijn geboortedorp, en het is het levende bewijs dat je met voldoende moeite en inzet wel degelijk iets van de grond kunt krijgen. Zelfs je eigen kledingmerk!
En vandaag kreeg ik dus mijn exemplaar binnen. Het mooiste vind ik nog wel dat het geheel komt in een handgeschreven enveloppe. De laatste keer dat ik zo persoonlijk ben behandeld door een bedrijfje, was toen de directeur van DVForge me een mailtje stuurde als reactie op een vraag over hun BlueTooth Trackball.
Aan het factuurnummer te zien ben ik nummer 9 met zo’n T-shirt sinds de officiële lancering van het merk. Laten we hopen dat ik niet de laatste ben :)