Author Archives: martin

Creating Depth Images with the Kinect Sensor.

Microsoft’s Kinect Sensor is a nice peace of Hardware and considerably cheap for a camera that also provides a 640×480 depth image. Soon after it appeared on the market in November 2010, it was reverse engineered for users to interface it from the computer without the Xbox 360.

Technology Enthusiasts and Roboticists all over the world picked up a Kinect to see what they can do with it. My personal motivation is to improve Perception for my Service Robot. Shortly after the publication of the Kinect Hack, Microsoft and PrimeSense decided to release an official SDK: the OpenNI Framework.

Below are the first Depth Images and User Tracking Images, that I took with the official SDK. 

Stealing your Facebook made easy

Eric Butler published an easy to use Firefox extension which captures session cookies from broadcast media such as public wifi networks. It allows anyone, to collect Facebook, Twitter, Flickr, etc session cookies and do anything with these accounts with just a click.

http://codebutler.com/firesheep

This is scarily easy!

I hope social network providers start implementing end-to-end encryption via https soon. Until then, be careful from where you access your social networks. On the other hand easy identity stealing brings social networking to a new level. 😉

Intel Developer Forum 2010

This year’s Intel Developer Forum from September 13th to 15th was all about Data Center Applications, Cloud Computing, and Embedded Systems. I was happy about the opportunity to present a Poster about my Leonardo Robot Project in the academic track. The conference was accompanied by Intel’s AppUp Elements developer meeting which occurred for the first time this year.

iChem

iChem Logo

iChem

iChem is a case study to bring aquatic chemistry calculations on the iPhone to the classroom. The computational nature of aquatic chemistry lends itself well to the iPhone platform and by providing students with a simple means of performing laborious calculations, the underlying chemistry of the problem being studied can be the primary focus rather than the calculations.

The application features Activity Coefficient, Ionization Fraction and Equilibrium Constant computations. The goal is to provide a user friendly tool for chemistry students, which enables them to quickly solve standard computations on their fingertips. The tool will be made available to the public, soon.

iChem Screenshots

iChem Screenshots

[1] Martin Wojtczyk, Mark A. Nanny, and Chetan T. Goudar. Aquatic Chemistry on the iPhone: Activity Coefficient, Ionization Fraction and Equilibrium Constant determination. In 239th American Chemical Society National Meeting & Exposition, San Francisco, USA, March 2010.

Sync your Motorola C390 with iSync for free

Motorola C390

Recently my SonyEricsson cellphone broke and I wanted to replace it by my Bluetooth enabled Motorola C390. Apple’s iSync is really great to keep your address book and calendar in sync with your cellphone. Unfortunately the C390 is not supported by default. Your Mac can pair with the phone and use it for data connections but iSync does not support it, see [1].

There seem to be some commercial solutions which may help, though I didn’t test one of them, just search the web for iSync and C390 and you will find them.

iSync C390

Luckily I also found this guy’s Howto in a forum about adding Motorola C390 support to iSync for free just by modifying a xml file [2]. However, since I am running Mac OS X 10.4.9, I recognized slight changes in the xml tag names. That’s why I noted the instructions below.

Enabling Motorola C390 for iSync

  • Right click on the iSync Application
  • Show Package Contents
  • Goto Contents/Plugins/ApplePhoneConduit.syncdevice/Contents/ Plugins/PhoneModelsSync.phoneplugin/Contents/ Resources
  • Backup and modify the MetaClasses.plist file to make it look like below in the beginning
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.motorola.C390</key>
    <dict>
        <key>Identification</key>
        <dict>
            <key>com.apple.gmi+gmm</key>
            <string>"Motorola CE, Copyright 2000"+C390</string>
        </dict>
        <key>InheritsFrom</key>
        <array>
            <string>com.motorola.usb-bt.0x22B8/0x4902</string>
        </array>
            <key>Services</key>
        <array>
            <dict>
                <key>ServiceName</key>
                <string>com.apple.model</string>
                <key>ServiceProperties</key>
                <dict>
                    <key>ModelIcon</key>
                    <string>MOTC390.tiff</string>
                    <key>ModelName</key>
                    <string>C390</string>
                </dict>
            </dict>
        </array>
    </dict>
</dict>
  • You will need a tiff file, with the name you entered under ModelIcon, but you can just copy it from another one in the same folder as the MetaClasses.plist file
  • Start iSync
  • Select Devices->Add Device from the menu
  • et voilà, your Motorola C390 should show up as a supported phone

I synced my address book and calendar successfully with it, so I don’t know, why the phone is not supported by default. Anyways, use at your own risk.

Wiimote controls Front Row on a PowerBook

Wiimote

I have this 2005 12″ PowerBook G4 with Mac OS X Tiger 10.4.9 and was jealous of the new MacBooks’ Remote Controls. One day I found a movie on youtube about someone controlling Front Row with a Wiimote. I just didn’t find all the links in one place. Maybe this is of help for you. It should work on other Bluetooth enabled Macintosh computers as well.

1. Get Front Row to work on a Mac without Remote Control

2. Install DarwiinRemote

  • Get DarwiinRemote
  • The key mapping matches the one of Front Row by default, though, you might want to change the Wiimote’s + and – buttons to change volume control as well

Works like a charme.

You can also use the Wiimote with DarwiinRemote to go through your PowerPoint Presentations 🙂

Howto remove the nVidia linux drivers

Issue

Recently it happened to me, that I removed a nVidia 3D accelerated graphics card from my computer which was supported by nVidia’s driver and I wanted to switch back to the integrated graphics chipset which is supported by X.org. However the nVidia driver, which usually comes as a package like NVIDIA-Linux-x86-x.x-xxxx-pkg1.run, has overwritten some libraries and header files so that just changing the driver name in /etc/X11/xorg.conf worked for 2D modes, though OpenGL did not work because some of the X servers lbraries and header files were replaced. Furthermore there was no uninstallation procedure included in the driver package which I had (Version 1.0-7676).

Solution

Luckiliy the nVidia installer left a log of the files which were added or replaced in /var/lib/nvidia/log. You may want to delete the mentioned files manually and reinstall the x.org and mesa packages of your distribution to make sure the OpenGL libraries and headers are restored.

Afterwards the X server should work fine again – 3D including.

xerces-c-src_2_6_0 on Mac OS X Tiger

Issue

When I tried to compile Xerces-C++ Version 2.6.0 from source on Mac OS X Tiger 10.4.2 with gcc-4.0.0 the compiler complained:

MacOSUnicodeConverter.cpp:78: error: 'static' may not be used when defining 
(as opposed to declaring) a static data member
MacOSUnicodeConverter.cpp:84: error: 'static' may not be used when defining 
(as opposed to declaring) a static data member
make[2]: *** [MacOSUnicodeConverter.o] Error 1
make[1]: *** [transcoders] Error 2
make: *** [Util] Error 2

Solution

The solution is easy, just delete the word static in the source code manually and build again or use this patch:

xerces-c-src_2_6_0-tiger.diff

Patch instructions

Download the Xerces-C++ source distribution from [1].

The sources contained in my case version 2.6.0.

Extract sources and apply patch:

tar xzf xerces-c-current.tar.gz
cd xerces-c-src_2_6_0
patch -p1 <../xerces-c-src_2_6_0-tiger.diff

Please make sure that the paths are adjusted to your system. Follow the official build instructions Building Xerces-C++ from the Mac OS X command line at [2] afterwards.