Random thoughts
This page contains the latest entries thave I've published in my personal weblog. It discusses random bits related to my life, software development, my studies and such. The RSS for this feed is available from http://blogs.gnome.org/, as is the complete history.
PowerPoint Remote for your iPhone
First, a short introduction to how this all came about. Lately, I’ve been interested in iPhone applications. The one thing that Apple did really well (after some initial crack) is to deliver a SDK and ecosystem to extend the iPhone with all the crap that you could come up with. Most of them are games, I don’t really play games, but some of them are quite useful.
For example, consider that with minimal effort, you could write applications to make your iPhone act as:
- a USB data stick
- a remote control for tv, audio or computer
- a notepad
This all comes in addition to basic features that all already exist:
- calendar
- portable e-mail
- SMS, IM, social networks
Suddenly the very thought of carrying 20 items with you to office every day feels really tragic. Don’t get me started about all these devices that are lingering around at home in the living room. How many remote controls do you have? You can probably imagine that I would love the Blackberry a lot, too.
For my studies, I use PowerPoint. A lot. Imagine my excitement when I found that several applications existed to use your iPhone as a remote control for PowerPoint, such as iClickr and iPresenter. Both failed in the usability department, especially when compared to Apple’s Keynote iPhone Remote application, and therefore I decided that I would have to write my own. I present you: iPhone PowerPoint Remote (more screenshots available by clicking the link).
- swipe and tap your finger to switch between slides
- drag your finger to show an on-screen (in your actually running slideshow) arrow pointer
- hold-and-drag your finger to make colored annotations

The application is available in the Apple iTunes store, and requires a small piece of software to run on your host Mac, available here.
(Posted at Fri, 22 May 2009 20:41:06 +0000 - Comments)
Married

Li-Ling & me in City Hall, New York
I tend to announce things late - but better late than never. I got married ~4 weeks ago, at least speaking in civil terms. We celebrated with lunch in Boqueria, drinks in Felix and dinner in Nobu. A true great celebration for an even greater event. The “celebration ceremony” for family & friends will be later this year.
(Posted at Thu, 21 May 2009 17:07:12 +0000 - Comments)
Authentication over a network
I’m in the process of writing a pair of applications that allows two hosts to interact. The idea is that one application (the “server”) would run on any desktop computer, propagated by Bonjour/Zeroconf (?), and the other application would run on a cell phone (iPhone, Android).
How, then, do you authenticate the cell phone? A question as simple as this has kept me busy for three straight days and I can’t find a good answer to it. Ideally, the service would be installed as a package (on OSX) and there should be no user interaction at that stage, and the service would continually be available through launchd (like inetd). Authentication-driven authorization is needed because other users would be able to maliciously connect to the service while you don’t want them to. That, then, gives us two goals:
- When the user itself is requesting authorization, it should be as easy as possible on both the desktop and server side
- When a malicious users is requesting authorization, then the authentication mechanism should automatically reject the connection, without any interaction on the desktop. I might at this point be writing an important document and would not want to be disturbed with silly dialogs saying “would you like to authenticate this user”.
So how do you implement authentication over a network that meets both of these requirements?
- I am considering using the password of the currently logged-in user on the Mac as key for authentication. However, I have yet to find a way to actually check a password for validity in Mac OS X. Its security model (rightly so) places actual authentication in a process separate than the running application (securityd and Security Agent), which means that I can’t do my own version of that. Of course, the password would be sent encryptedly over the network.
- I could use a separate password, but then the desktop-service would require configuration, which sucks.
- Bluetooth pairing-style authentication/authorization involves actual interaction, violating condition (2) above.
- You could pop up a dialog on the desktop asking the currently logged in user if it’s OK for the iPhone to connect, but that again sucks for the reason given in condition (2).
Dear lazyweb, any ideas?
(Posted at Sat, 11 Apr 2009 18:50:20 +0000 - Comments)
FFmpeg and the Google Summer of Code
Are you proficient in C, interested in highly technical problems and do you want to learn more about multimedia and free software while earning $4500? Apply as a student for one of the FFmpeg projects in the Summer of Code program, sponsored by Google! Over the past years, this has resulted in highly popular and succesful projects such as the VC-1/Windows Media Video 9 decoder and the Realvideo-3/4 decoder, which are now used in multimedia applications all around the world.
Are you ready to be the free software world’s next multimedia-hero?
(Posted at Thu, 19 Mar 2009 18:30:35 +0000 - Comments)
FFmpeg release
The rocking guys at FFmpeg have just released version 0.5, the first release in eons! Congratulations!
You don’t know what FFmpeg is? Go read about it on Wikipedia. For most people, FFmpeg is what provides the horsepowers to their media applications, in the form of codec and format implementations, and as such it acts as a critical cornerstone of better-PR’ed projects such as GStreamer, Mplayer, Xine or VLC.
(Posted at Tue, 10 Mar 2009 01:04:26 +0000 - Comments)