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:

Continue reading “Rendering Text in WebGL”

Is Windows 7 based on MS DOS?

Yesterday I copied an InstallAware Project on the Jenkins continuous integration server. The copy always failed to build while the original succeeded. They were really the same at this point, so WTF!!!

In the InstallAware forum I found out that the path name was getting too long. Well, yes, the name of the copied jenkins project was slightly longer and thus the resulting path had some more characters.

In the installaware forum they say that Windows still has a limit of 256 character for absolute paths. According to Wikipedia, the limitation doesn’t come from the filesystem. So it must be somewhere in the OS. Now, Microsoft told us that WindowsNT which Windows7 is based on, was no longer based on MS DOS. Were they lying? I mean, this is a 64 bit operating system with limitations from its 16 bit pre-pre-pre-pre-predecessor….

A co worker ran into the same limitation lately when trying to copy a folder structure from linux to Windows.

Helicopter flight around the Jungfrau

For my last birthday I got a helicopter flight, and now I wanted to make that flight before the gift certificate expires.Takeoff was in Gstegwiler near Interlaken, from where we slowly ascended passing the Männlichen to the Eiger north face. The ascend was with a constant 4 m/s climb rate, and I was not too impressed, as I flew around this area a couple of times with the paraglider. When we hovered in front of the north wall, I remembered how such a helicopter pushed me away from the wall some seven years ago. Paragliders have priority, as we’re less manouverable. It was strange for me to approach the wall head on, and then just hover. With regular aircraft that need the forward velocity (such as a paraglider) you can’t do that. When we climbed higher it got more interesting. Lots of new terrain. We saw some very interestingly built refuges. And of course the famous Jungfrau Joch from a new perspective. Also the glaciers towards the Wallis were very impressive. We flew very close to some rock walls and some glaciers. As we left the glaciers and descended along Mürren and Wengen, it felt like routine again as I’ve seen this landscape from the air a couple of times before.

.

The livetracking didn’t work so well.

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…

Accepting BitCoin

As of today, we accept BitCoin as payment method for our tandem flights at paraeasy.ch

BitCoin is a decentralized online currency. It was in the news lately. While banks and politicians made it sound bad, it’s actually a great experiment. True, it has some shortcomings, but these shouldn’t bother us for the next couple of years.

If you want to learn more about BitCoin, check out these podcasts:

http://chaosradio.ccc.de/cr169.html

http://linuxoutlaws.com/podcast/215

http://chaosradio.ccc.de/cre182.html

http://www.weusecoins.com/

Propagate deletion of C++ Objects

Last year, I spent some time rewriting internals of how groups are handled in our CAD software. Before that, groups were just to help with the selection of elements that belong together. The grouping was only one level deep, and the elements were organized flat on the document. All the calling functions had to uptate the relationships in the pointers and containers which were publicly available. This was a constant source of bugs and completely unsuitable for nested symbols that we wanted to import.

Continue reading “Propagate deletion of C++ Objects”

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. Continue reading “RepRap Mendel Part1”

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. Continue reading “Why I gave up on voip (for now)”