This blog has moved

This blog is now located at http://frouaix.blogspot.com/.
You will be automatically redirected in 30 seconds, or you may click here.

For feed subscribers, please update your feed subscriptions to


OCaml and Cocoa

I have opened up an alpha-quality version of a bridge between Cocoa (Mac OS X API, Objective C version) and Objective Caml. Despite the common "Objective" prefix, this is not a perfect match, far from it.
In its current state, most of Foundation and AppKit is available from OCaml, but callbacks are not yet implemented (hence any GUI app would be pretty much impossible to write).
At this point I'm looking mostly for feedback; naming conventions are subject to change at any time, until I get to something that is palatable.
The next major step is the implementation of callbacks.

The license is new-BSD style, svn and wiki are at: http://code.google.com/p/objective-c-caml-bridge/


The dark business of commercial fundraisers

This commercial fundraiser has been calling us for months, first with a caller id indicating "Courtesy Call", then with blocked caller ID (shows as "PRIVATE"). Since I typically ask them to put our number on their do-not-call-list (which they don't do because fundraisers are allegedly not subject to the direct marketer obligation), they ask for my wife.

The last call, from a certain Bill L, I asked gain "who's calling" after he demanded to talk to my wife. And then he called me a "f*ing idiot" and hung up. I kid you not. This is a fundraiser for charity. On December 23rd.

If anybody reads this while searching for their company name, please, please, do not ever give to their clients. Just peruse the WA site and look at how much money they return to their clients: 13%. This means that they eat 87% of the donations. Look at some of their charity customers. Some numbers are appalling. For comparison, the Red Cross uses 75% of donations to programs, NHF 92%.


Quartz Composer and Mac Dashboard Widget

I've recently been playing with Quartz Composer, a cute (and limited) tool to make 2d/3d animations. My first application using Quartz Composer is a dashboard widget that performs simple searches on Amazon.com. I plan to use the same core of images rotating on a ring in 3D to implement other simple web APIs (e.g. Google Image Search, etc.) soon.

In the mean time, enjoy my widget at scrollring.com


John Doerr on going green

If you liked Al Gore' Inconvenient truth, then you must watch this talk that John Doerr gave a TED in March 2007.


Photosynth and Seadragon

Photosynth and Seadragon are two amazing pieces of technology for visual displays. Photosynth is a collaboration between UW and MSR, while Seadragon was acquired (see bio of the creator, Blaise Aguera y Arcas, here).



There is a business somewhere called CBCS that is violating TCPA and getting away with it. This business, for which I can't get any contact information without disbursing research fees, has been calling my cellphone using automated dialers for weeks. The caller id number is 1-888-547-5354. When I answer the phone, I hear a message saying that someone (Tom, Catherine, or some other first name) wants to contact "John Doe" (name changed to protect that person) and that I need to call back 1-888-547-5354 today.

Note: it is illegal under TCPA to use automated dialing and to use prerecorded voice messages to contact a cellphone number.

I called back a couple of times, trying to get business information so I can attempt a Small Claim litigation. The only information ever given to me over the phone is "CBCS". If I ask more questions, they say "good day to you" and hang up.

Having grown tired of it, I asked them to remove my cellphone number from their system. Hope it will work, because this is annoying.

And, by the way, my cellphone bill records all the calls they made to me, and I have a couple recorded on my voicemail.