Category: Projects

  • Running debian on a nas dongle [updated]

    I used a nas dongle from ARP for a while to share an USB harddisk, and I always wondered about what’s inside. It’s a nifty little device that works reasonably well. It needed a reboot from time to time, and it had some issues with the filesystem. Because of the FAT filesystem it couldn’t store large files, but what I missed most was ssh. Not ssh itself, but scp, sftp and rsync. I knew that without further information it would be impossible to add these. But so far I couldn’t find out anything on the internet. Then somehow I found a blog post with a device that looked similar from the outside but was sold more like a hacker device. So I went to figure out if it’s the same. It looked similar from the inside as well. So, it is probably really a bifferboard. The pins for the serial console matched, which was even more proof…

    The boot messages with the stock firmware look like this:  $ minicom -b 115200 -D /dev/ttyUSB0

    (more…)

  • Refurbishing our VW Bus camper van

    Refurbishing our beloved VW Bus camper van that served us so well on our great adventure in south america was long over due. After lots of offers and some setbacks, it’s finally going to happen before the rust wins.

    Last week, I spent two days tearing everything appart.Removing bumpers, windows, lights, mirrors, trims, bike and kayak carrier, fridge… Scratching on every bit of rust I could spot.

    Now the pro’s will handle the rust and give it a new paint. And in two weekt, I will put everything back together. Here are some Pics of how it looks at the moment:
    VW Bus torn appart

  • Rendering Text in WebGL

    Just like OpenGL and most rendering engines that I know of, WebGL has no builtin support for text rendering. And on top of that, I can’t use the approach we use in PointLine at the moment. PointLine gets the outlines for the characters from the Windows GDI. So I was looking for something cross platform.

    Searching on the internet there are two main approaches:

    1. Render the alphabet or the word in question to an image, and then use that image to texture some triangles.
    2. Trace the outlines of the characters and triangulate the polygons.

    Although I prefer the second approach, I found an example of the first that looked simple enough on nehe. It was based on FreeType and for OpenGL.  I started converting it to WebGL, but it was not as easy as it looked. It makes heavy use of display lists which are not available in WebGL.

    So I looked further, and found the FTGL library which is also based on FreeType. It sounded like just what I need, but for OpenGL. So, I extended the library to allow me to extract the triangles for processing in WebGL. I sent my patch to the FTGL developers and hope for inclusion.

    Meanwhile I can render texts in WebGL with my modified version of FTGL …  of course it’s only so easy to do when using Wt::WGLWidget from the excellent witty library.

    Here is my research prototype which now has text.

    Here are the important parts of how it’s done with the modified libftgl:

    (more…)

  • PointLineWeb research prototype

    Google employees can spend 20% of their working time for their own projects. We at cubx (The CAD development department recently split from BORM) have now something similar. We get to spend every second friday afternoon for some projects of our own. The only restriction is that it has to do with computer graphics.

    I chose a project that I had in mind for almost as long as I have been working for BORM. I wanted to run PointLine as a web service on a linux box. Wit the old core, that was so tightly tied to MFC, this would have been impossible. But the new unfinished core is designed to be platform independent. So, I took it as a base.

    Some three years ago, I looked at vrml and x3d for the 3d in browser part. These standards didn’t have as broad support as I thought. You couldn’t do much without buying proprietary browser plugins. So I never made much progress on that. But then came WebGL. All mayor Browsers support it natively, and on top  of that, my favourite web application framework recently got a WebGl widget.

    So far, my research prototype doesn’t do much, but I already learned a lot that I can also use in my everyday work. I gained a better understanding of rendering pipelines, learned about shaders and ray picking …

    As a side project, I set up a jenkins continous integration server that compiles the project on ubuntu and windows after every commit. Additionally, I learned about CPack, so that the result of the jenkins build is a binary deb package ready to install.

    You can see the web application as it progresses here:

    http://webglcad.ulrichard.ch

    Usually, I would also provide a link to the sources, but this is closed source, sorry…

  • RepRap Mendel Part1

    My wive wanted to give me the first kit for a RepRap Mendel for Christmas. She was really sorry that the kit didn’t make it under the tree, as it was sold out. I was excited about the Project for more than a Year, but it was too expensive to just give it a go. Some of these projects that seem very interesting fade away with the time, or cheaper alternatives apear as it happened with the quadro copter, but the RepRap didn’t go out of my mind. So, Mirella gave me the first kit, and from here, I will build it step by step. (more…)

  • Why I gave up on voip (for now)

    Voip used to be a big hype, but nowdays you don’t hear a lot about it. I thought that was because it gained wide adoption. But maybe not. At least in the company I work, we went back to a regular telephony system after having constant trouble with the voip installation.

    From time to time, I hear or read about Asterisk and Freeswitch. That made me curious for some time now. Also I wanted an alternative to Skype for a variety of reasons: It’s protocol is proprietary. It’s not available on all platforms (e.g. openmoko). On Android, it drains the battery and friends tell me they get constant log-in and out notifications. And finally, the computer has to be on to receiceive calls. (more…)

  • openwireless.ch in Brunnen

    I heard of mesh networks before,  be it from the OneLaptopPerChild or the German Freifunker community. But the recent episode of ChaosRadio about the MeshPotato got me interested enough to give it a try. The meshing community here in Switzerland is organized at openwireless.ch. Sure, I could buy a compatible router and install the provided firmware. But being a true geek I wanted to see how it works on hardware that I already have. So I started with these three devices:

    I wanted to allow access to the internet, but only through an anonymizing service, so I wouldn’t get into trouble if somebody does something illegal over my wire. (more…)

  • Arduino code to interface the MS5607B Intersema barometric pressure sensor through i2c

    It was not quite as easy as I anticipated to interface the MS5607B sensors that I had sitting around for quite some time now. Sure, wiring them up is a lot easier. Although I still don’t like soldering SMD.

    In the end, it worked out, and the code can be downloaded with the links below.

    IntersemaBaro.h

    Variometer.pde

    The bad thing however is that the reduction in program code that I was hoping for didn’t happen. My ChopperRemote project uses an Arduino Bluetooth which has only about 15kB of storage for the programm (sketch). That was not enough to fit in all the communications and sensor readings that I already had plus the MS5607C sensor. The Code to read the sensor used about 7kB alone. So I hoped with the i2c interface that would reduce. Now it didn’t! So I thought for holding the altitude, the Helicopter doesn’t need to know the height in cm. But could use the pressure directly and treat it as if it was linear. Lets see, how that works out…

  • My first Android App

    Yesterday, my first Android App hit the Market. Just search for flightpred and you should find it. It should run on any device running Android 1.5 and above. The App doesn’t do a lot so far. Essentially, it downloads an xml file from the flightpred server and displays the predictions for how many kilometers it thinks are possible to fly in the next three days in some flying sites on the small screen. Later I also want to add a GoogleMapsView with the circles like on the flightpred website.

    I used to develop some small projects and my diploma work in Java some ten years ago. Since then the language progressed noticeably. I especially like the templatized containers. Back in the days, the containers were not type safe and I always had to cast when accessing elements. Also, the lambda’s look good.

  • missing env variables when running from cron

    Today I solved another problem that bugged me for a while. Namely, I wanted to run the free flight prediction runs automatically from cron. When I ran it from the commandline or a script, it worked well, but when I tried to run it directly or through the same script from cron, it always failed with the following message : “critical error : basic_string::_S_construct NULL not valid”

    (more…)