Here is another (quite hilarious) attempt in explaining how CPU’s compare to GPU’s in computation.

Note that this does not in any way reflect real world performance ūüėČ


Google Cardboard and the casual Android phone

A while ago I was attending the “Virtual Reality & 360¬į contentbeleving” event in AB Brussels, main subject: new ways of consuming media content through virtual reality and augmented reality. I applause the AB for having this kind of events, VR is very probable finally going to break through after multiple failures and it’s going to bring new ways in which we consume media. For¬†example 360¬į video, imagine going to the cinema and be able to see the latest dinosaur film with a full 360¬į view. You hear crackling leaves at the left of you, you look left and what’s there… just a bird! But now suddenly a dinosaur jumps up in front on your right side so you quickly look right and get scared like hell. Film makers can use these abilities ¬†in their storytelling, even more than they can do now with 3D cinema and surround sound. Every one who has been following the current new hype in VR can certainly name a lot more use cases, and for this it was not a bad idea to attend the AB event because some of the speakers shared their ideas on how they see VR fit into commercial usage aside of the traditional gaming experience.

What was even more interesting is that we could actually test one of the scenario’s/use cases: visiting New York on the back of a small motorcycle with a 360¬į view. This was my second VR experience, where the first one was using some Oculus Rift def kit, now we were being set in VR using the Samsung Gear VR (Innovators Edition). I have no idea what kind of phone was used inside the Samsung Gear VR (it uses a Samsung smartphone), but what I found partly disturbing is that I noticed rather quickly that I was looking at a screen instead of really having the immersive feeling that VR is promoted with nowadays. There was also the talk about using Google’s Cardboard in combination with any kind of smartphone, and with the costs down to only a few euros there was no real argument to not give it a shot.


Cardboard us noting more that a folded paper box, some cheap lenses and ¬†tape to hold it all together. All hardware is inside the phone. And while they claim that using the Cardboard is now already available to the masses, it is a far cry from what Oculus Rift and others will be able to provide us. if your phone is not of the newest kind, probable the screen resolution will be so low that your looking at pixels instead of images. Furthermore you’re probable also missing a sensor (or two?) which will make your head mounted display rather useless in ways of experiencing 360¬į content. Okay, there are Google Cardboard videos on Youtube, but that about the best you can get out of a regular smartphone which is not of the newest breed. All together: I think we’re trying really hard to make it work, but we’re not there yet and I’m really eager to see how the consumer market models are going to work out when they hit the market early 2016. Time will tell!

Add mono runtime to “Open With” menu in Ubuntu 14.04

After installing the mono package and monodevelop IDE you may want to easily execute your mono executable. If you have wine installed, executables may be executed through Wine, or maybe Ubuntu is opening your application with some other sort default application like the file archiver… And then you right-click the application¬†but mono is not in the “Open with” menu… Here is how we can add the mono runtime to the file right-click “Open with” menu!

  • Navigate to /usr/share/applications. Create the monoRuntime.desktop file:
    sudo touch monoRuntime.desktop
  • Edit the file:
    sudo vim monoRuntime.desktop
  • Enter following content and save+exit vim:
    [Desktop Entry]
    Name=Mono Runtime
    GenericName=.Net Runtime
    Comment=Execute .NET applications
    Exec=mono %F
    X-GNOME-Bugzilla-Product=Mono runtime

Now go to your executable, right-click it and see the mono runtime application option appear:


Self Synchronizing Wifi Clock, V2

Since my last encounter¬†with a self synchronizing wifi clock I ended up learning how to implement my own display driver. Unfortunately the display died on me when testing it on a new power supply (which appeared to be malfunctioning afterwards) and so I have been thinking of porting my code to use the Adafruit 2.8″ display.¬†¬†Pretty much most of the functionality remains from what I’ve made before, the most interesting thing I wanted to add¬†this time was making use of the resistive touch screen. I could easily made a basic GUI to adjust settings and so on, but by some unknown reason I can’t get the touch positioning to work reliable on the Due board. Though it does function on Uno, Uno does not offer the needed program space (I’m at 40~50k). So, all together there is not much to it, but here is what I ended up with:

Next, I’ll check if there is the possibility to hook it up to Raspberry Pi and control it using NodeJS. Enjoy the holidays, see you in 2015!

Vectra-C swirl valves (more Vectra-C troubles)

Another few months go by, another thing gets broken. From all cars I’ve owned there has been none so troublesome as the Vectra-C, this time a swirl valve problem appeared. But first, how I came to diagnose this failure…
Some time ago I noticed that going high on¬†revs and then setting the car in neutral gave me intake air leak fault messages. They disappeared again by their own after some minutes driving. Some time later this behavior no longer happened, but introducing new troubles: performance loss and lots of black smoke when tapping the gas. The performance loss could best be described as when you step down the gas pedal, the car would unevenly produce power, then hold back, then produce power again, then hold back again, etc…. and all this in the single event of going from 1500rpm tp 3500rpm. By opening the hood my eyes more or less by accident fell on the swirl valves control bar just laying loose, uncoupled from the swirl valves. Aha!

As I mentioned before, the intake manifold comes with swirl valves which allows to have more swirl in the intake air whenever there is a low amount of air entering the engine. Adding more swirl adds to improve burning the fuel and to lower the emissions. Whenever the engine load goes upwards there is however a higher need of air and then you want as much air inside the engine as needed. In this case there is no longer a need to add more swirl. Now take a look at how this effect is accomplished inside the Vectra-C intake manifold:


On the far right side intake air enters the intake manifold. This air is a combination of compressed air coming from the turbo and exhaust gas re-entering the engine through the EGR system. Both streams of air get mixed inside the intake manifold and is next distributed to each engine cylinder. On the picture above you may notice 8 instead of 4 exhaust holes, and this because we have 2 exhaust holes per cylinder. One of them describes a direct path to the engine cylinder, the other one a more indirect path which makes sure a certain amount of swirl is added to the intake air. The swirl valves are placed inside the more direct pathway and will either block air (when more swirled is needed at low engine load) or allow air to travel through (when a high airflow is needed at high engine load). Also seen in the picture is how each valve is connected to each other by a control bar, so moving only one valve will move all 4. Valve 3 starting from left (when you stand in front of the car facing the engine) is the one which actually is controlled by an actuator. The actuator on its turn is controlled by the ECU. A lot of good information can also be found here

As I said earlier, the control bar on my car had come loose, the ball joints had worn out. There was also a lot of carbon around some of the valve ball joints indicating that some carbon from the EGR system has also build up against the swirl valves.

2014-10-25 12.38.06

I checked the functioning of each valve by moving the ball joints with a screwdriver and there seem to be no issue with them. However, because I’m already at 230k+ km I wanted to have a look inside the manifold to check its state. Is there not too much carbon build up against the valves causing the valves to malfunction and trowing errors codes like the one I saw earlier? So I began working my way down to the point where I could eventually remove the intake manifold. However…! There is so much stuff placed around the intake manifold that you have to remove first: oil seperator, EGR valve, common rail, coolant pipes (yes you have to drain¬†the engine coolant), vacuum lines, air hoses, vacuum box, fuel pump, … And is far as I could see, you also have to remove the toothed belt. That’s not really a trivial task if you ask me. Because I didn’t want to do anything wrong with removing the toothed belt I aborted the plan of removing the intake manifold. The toothed belt needs a replacement anyway in some months from now and so there is still a chance to replace the intake manifold. For now I replaced everything and just glued the ball joints to the control bar and so far it seem to function as expected:

Fingers crossed for how long it holds… Notice (I found it afterwards) that there is also a good description from Opel/Vauxhall TIS that leads you through the entire process of replacing the intake manifold: here.

Make a Raspbian SD card for Raspberry Pi under Ubuntu, the easy way

Fast & easy way to setup the Raspbian OS for Raspberry PI.

  1.  Get a 4Gb or higher SD card
  2. Download Raspbian: here
  3. Insert your SD card in your Ubuntu 14.04 system and open the Disks tools (“schijven” in Dutch)

    Schermafdruk van 2014-07-19 20:17:54

  4. Select your SD Card, next go to the upper right corner and click the ‘More Actions’ button. Next select the ‘Restore Disk Image…” menu option.

    Schermafdruk van 2014-07-19 20:20:10

  5. The menu underneath appears, now select your downloaded image file (unzip it first if it’s zipped):

    Schermafdruk van 2014-07-19 20:20:39

  6. You can ignore the message that tells you that your disk image is smaller than the target device, upon first usage you’ll get the menu option to adjust the disk to the total size of the SD card. Press ‘Start restoring…’ and wait for the process to finish.

That’s it, enjoy your Raspbian Pi ¬†setup!

Vectra C, another tale of misfiring injector 3

My recent change of ¬†job to a company nearby, on cycling distance,¬†caused the Vectra to be a lot less used. But that did not hold back for causing more problems. First there was an ice storm (in the f****** middle of the summer!!!) destroying the roof, hood, front left light, and front window, and than 2 days later there was suddenly this problem with injector 3. The actually problem goes like this: the engine sound is different, you hear it doesn’t run like it should, and when you drive the car it shakes and stutters and it has no power at all. Almost like driving a tractor. I took it to the garage for a readout and there they told me “injector 3 problem”. Costs to fix it: approx. ‚ā¨ 450 for a new injector not counting the administration costs and loan of the mechanic…

O Deus

Googling around however revealed that the injector problem is actually very common for the Vectra C. Actually, it’s always injector 3 that goes first! The tale goes that because of poor ventilation on injector 3 and the process of it heating up / cooling down causes the connector to not be so tight anymore which on its own turn causes a bad contact with the injector itself. And we all know what happens when you run current through connectors that do not connect so good anymore… Here is a picture that shows you the straight¬†difference between¬†connectors 2 and 3:

2014-06-14 11.57.41

As you can see, there is a lot more dirt around connector 3 which is on the right side (always start counting connectors/injectors from left to right). To fix it I removed the pink plastic cover surrounding the electric contacts of the connector and next take a screwdriver and press the contacts at both sides together so that they tighten again around the electric contacts inside the injector plug. Probable a short term solution as the problem will most¬†probable return very soon already, but it’s a one minute job so it is okay to get you back on the road again. On Ebay you can find injector wiring remedy kits nowadays for ¬£ 15, not so bad compared to the ‚ā¨ 450+ that my car dealer first told me to pay for installing a new injector (which is not faulty at all). Vectra C injector fault remedy kit:


And this brings me again to the question: why is it so hard to display fault codes on the f****** display of the car? Reading out the car is ‚ā¨ 25 for a 2 minute job, smells like easy money…