Last week I discovered Microsoft OneNote 2007, and I am (honestly) impressed. Actually, the first time I ever heard of OneNote was when I read the FAQ of InkSeine.
Here’s part of the product description:
Office OneNote 2007 is a digital notebook that provides people one place to gather their notes and information, powerful search to find what they are looking for quickly, and easy-to-use shared notebooks so that they can manage information overload and work together more effectively.
I have been using a combination of Gmail, Google Calendar, Google Docs, Google Notebook and del.icio.us to organize (and capture) information (partially inspired by this setup). The big problem here was synchronization. I ended up copying URLs to Google Notebook since I would never be confronted with them again if I stored them in del.icio.us. There were no explicit links between meetings, documents, and other resources (e.g. websites or short notes in notebooks). I would add gadgets for each of these apps to my iGoogle page to keep an overview. Although I could cope with this setup, it was not ideal. Gmail and Google Calendar are great services which I still love to use, but for quick notes and jotting down ideas I often resorted to paper notes.
Although OneNote is not perfect either, combined with a laptop (or tablet PC) it has the potential to eliminate most paper note taking. To get a good overview of what’s possible with OneNote, have a look at these resources:
A lot of people have been impressed with OneNote and have blogged about it.
Here are a few of OneNote’s features that I like:
- text search in images and audio
- audio and video recording with synchronized notes
- shared notebooks
- embedding any file as a printout
- screen clippings
- the ability to write and draw anywhere on a page
- tags (e.g. todo, important, question, etc.)
- calculator support
- inking support (if only I had a tablet PC)
Here’s an example of how I used OneNote to summarize an intuitive explanation of Bayesian Reasoning by Eliezer Yudkowsky:
I just released version 0.1 of PydgetRFID, the Python interface to the Phidgets Inc. RFID kit I blogged about earlier. It’s free software (licensed under the GPL). It wraps libphidgets with ctypes to talk to the hardware.
The software is now more polished and additionally provides a D-Bus service that allows other applications (written in any language with D-Bus bindings) to use the hardware. Currently this means you can connect to the hardware from Python, Ruby, .NET, C, C++, Perl and Pascal!
This DBUS service allows to start and stop reading, and emits a signal whenever a different tag (including the nil value) is read. I modified the original PyGTK GUI to use this daemon for communicating with the hardware. Furthermore, I improved the HAL support so that plugging the device in and out is detected. Unfortunately, the daemon cannot yet handle this though. That’s for a next release
Here is the GUI (which you probably remember from the last post). Nil values are now colored red:
And this a screenshot showing the communication between the daemon and the GUI logged with dbus-monitor:
More information can be found at the PydgetRFID homepage.
I had some fun writing a Python wrapper around libphidgets for an RFID reader we had lying around here. To do so, I used ctypes (“apparantly”::http://ailab.ch/pipermail/libphidgets-discuss/2006-February/000442.html the Python bindings for libphidgets were broken). To check for a connected RFID reader, I interfaced with hal through dbus. Afterwards I created a simple GUI for the device with PyGTK.
Here is the result:
I experienced some weird permissions problems though. The device could only be opened with root privileges. Takis helped me step through libphidgets to see if there was a bug in it. In the end, we solved it by changing the
/etc/udev/rules.d/permissions.rules file (in my case it was called
40-permissions.rules). I’m not sure if there are any security problems with this though.
I changed these lines:
# USB devices (usbfs replacement)
# USB devices (usbfs replacement)
SUBSYSTEM=="usb_device", GROUP="plugdev", MODE="0664"
I will probably put the code online when I have some spare time (and after I cleaned it up a bit).