The obsolete computer parts sarcophagus (or coffee table if you prefer)

IMG_3609
A close up of the finished table with its lighting on.

I’ll admit I’m a bit of a hoarder when it comes to computer parts. Over the years, I have collected a fair amount of equipment with the hope than one day, some of it might come handy. Well, a GeForce 3 from 2002 is not like wood scraps or loose electric cables, the more time passes, the more it becomes useless. Standards evolve and with them connectivity; there is just no way this type of video card will fit in a modern computer (now that everyone uses laptops too). I have had a need for small servers for some projects and an old PII with linux on it would have made a perfect candidate, but then again, the power consumption of those machines are just not worth it. A small embedded computer or shared hosting would pay itself back in no time.

One day, I came across this project through Make and thought it would be a perfect way to give purpose to all that junk, especially that like the inventor of the first table, some of it was from my first machines and while it was now devoid of computational value, still retained sentimentality. Electronic circuits have a mesmerizing power for the knowledgeable and the profane likewise. While staring at an A7N8X for hours will not give the non-engineers any further understanding on how bits are turned into pretty pictures on a monitor, it could nonetheless spark educative discussions on the general role that it plays into this process and at least help dissipate the “black box” effect of modern personal computers. So I proceeded to file the link in my ideas folder, knowing I was then lacking the woodworking skills and tools required for this type of project, and at the time not really thinking I would ever come to have my own computerpartscoffeetable.

A CAD plan of the table. Save a few millimeters, the end result is the exact same.

Coming back from some time in Europe and having only worked with my brain for over a year (except for this project), the time felt right for a physical challenge. Drawing inspiration from this other computer parts table, I opened FreeCAD, got drawing and in an evening came up with a design of my own: something less imposing, with more modern lines, all without sacrificing the “sarcophagus” effect.

This is not a how-to so I will spare the building details but for those that are interested, feel free to download the CAD file, leave a comment or write me. Basically, the table is build around a frame of particle board which also serves as the bed for the parts. At both ends of the frame are two dark walnut glue-ups with some chamfering all finished with several coats danish oil. Frankly I was not expecting the end-result to be so stunning, the images do not do it justice. The panes of glass fit in a grove carved in the leg members and with the top glass being 10mm (3/8), this makes one solid and stiff piece of furniture. It takes two fully gown men to move it around.

The table is lit up from two led strips at a 45 degree so they can illuminate both the top and their respective side. Powering the strip is the actual only functional circuit of the whole display: a switching power supply I built for the occasion (also something that had been sitting on a shelf for a couple of years).

Money-wise, the project was a bit on the expensive side. I did maximize reuse and recycling, but as every woodworker will confirm, precious wood will cost you, in fact a lot more that what is normally found in hardware stores. Add to the total the price of thick custom cut glass panels and the addition is somewhere around 400$. A coffee table at Ikea is a tenth of that price, but the commonalities ends with function: there is nothing like the quality, craftsmanship, the beauty of a solid piece of wood furniture.

Since I am travelling again and did the finishing touches the day before my departure, I cannot provide a picture with a few happy people around some empties. For now, it is quietly sitting in my workshop under a protective blanket, patiently awaiting my return for merry moments with friends or a lazy coffee the Sunday morning after.

OD3D: a software oscilloscope for 3-dimensional visualization of signals

Project

OD3D stands for the french « Oscilloscope Digital 3 Dimensions » which means Digital 3D Oscilloscope. It was me and my partner’s 4th year university project. Simply put, it’s a completely functional computer based oscilloscope that works on three axes instead of two. This permits more complex visualization of waveforms, especially in the historical mode, where you can see what the signal looked like many samples ago. Any way, If you want to better understand what it does more than a classical oscilloscope, I urge you to look at the video above and the screenshots below.

It was developed under the course of a year mostly during our free time. Even if it did not ranked very well compared to other projects (try to match the bling factor of a motion-sensing automated gun-turret …), we had plans to continue its development until life took us somewhere else (and made us switch to Unix based OSes). Sadly, it sat on our hard drives for more than four years before we decided that it would be a shame to let so much work rot to obsolescence so we decided to release the whole source under a Creative Commons Attribution 3.0 license so someone can hopefully use it in another project or draw inspiration from it.

The goal of this project was to offer greater possibilities in signal visualization, build a complete, powerful and versatile software oscilloscope suite and more generally explore something new. Someone told us it could have interesting applications in conjunction with sonars (3D waterfall display) and we almost go it to act as a semiconductor curve tracer (Id vs Vds vs Vgs).

Short architectural descriptions

The whole project is actually made of two programs, the oscilloscope itself and the generic 3D engine.

We did not get as far as commenting the whole thing. In fact, there are almost no comments at all in the code but if you actually follow the logic and understand the pipeline architecture, you should have no problem figuring out how the oscilloscope part of it works. As for the 3D engine, I suggest you start with checking the demo that comes with it. Furthermore, it is not completely debugged, so you should expect it to crash pretty often.

 Oscilloscope

During the actual implementation of the oscilloscope, we tried to abstract things as much as possible in order to make the project extensible. For now, it can only use sound cards or a virtual signal generator as an input, but it would not be too hard to use a USB device (another thing we were working on) or some other custom solution. This also holds true for all the modules that sit in between the source input driver and the actual display (trigger and resolution filter), where the architecture enables you to easily build and integrate one of your own (like a spectrum analyzer or a data logger). The whole thing becomes an oscilloscope when you order and connect those modules in a specific manner: Input->Trigger->Display.

Many Inputs can connect to the same display or many displays can be connected to the same input. There are no limits on the number of channels or displays; you can go as far as your hardware resources will permit you. Back in 2008 when we presented it, we ran it on an Athlon 800 with 256MB of RAM and a GF2 MX400 to show that it was not very taxing on resources. If you want more technical information, go take a look at the specificities section.

3D engine

The 3D engine (named Motr3D) was developed as a standalone solution as opposed to being totally integrated in the oscilloscope, this means that it can be used for other stuff, like in the demo that comes in its executable folders, where we recreated a the solar system. As opposed to the oscilloscope, which is pretty functional, the 3D engine is very primitive and will not get you beyond displaying and moving polygons and basic shapes around. From the start, it was programmed to be as abstract from graphics API as possible (it uses Direct3D but it could be implemented with OpenGL), be fully object oriented and have a runtime architecture like a tree, where every 3D object (even the camera) is part of a tree and inherits from a common type. Even if the project consisted of an oscilloscope, the 3D engine is the part we are most proud of because it was both very challenging (80% of the programming time) and by far the most fun we had programming something. If you want more technical information, scroll down to the specificities section.

Specificities

Oscilloscope

  • Supports as many channels as your hardware will permit.
  • Supports as many displays as your hardware will permit.
  • Abstracted pipeline architecture for modularity.
  • Can work with any type of input, but only sound cards or a virtual signal generator are implemented.
  • Programmed in C# for the Microsoft .NET framework 2.0.
  • Has been tested on Windows 2000/XP/Vista.

3D engine

  • Fully object oriented in architecture.
  • Supports many primitives (cube, line, spheres, etc.)
  • Programmed in C# for the Microsoft .NET framework 2.0.
  • Works with Direct3D (managed) but can be made to work with OpenGL.
  • Has been tested on Windows 2000/XP/Vista.

Source: OD3D.zip

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Screenshots

Up/Down to/from Scandinavia : reflections

Ready to leave!
Ready to leave!

Now that this journey of 7331 kms is over, a bit of reflection is imposed. If I had only one phrase to resume this whole experience, I would describe it as hard but rewarding. Somewhat like hiking (serious hiking, not a simple afternoon in the wild), where some parts are definatly hard, some are really boring and in the moment you are very often not enjoying yourself so much but once it is all over, you are proud of having taken it from beginning to end and feel a greater individual. After all, it is through difficulty that we grow the most.

Me

Solitude was also hard at times. I am fine by myself, I do not get anxious when there is no one around but some things are just so much better when you get to share them with others that I would rather have company than not. Most often I would not fall short of people to discuss with at hostels but on a few occasions, my attempts at engaging conversations were infructuous and wish I would have had a friend with me to spend the night out with. I never had anyone with me during the day and while I do prefer the company of a friend, it is the evenings that I always find the most lonely. That is for cities but on the motorcycle, the noise and the concentration required make it a lonely adventure. However, when you are riding in group, you always have people to discuss the route and the sights with on a break or for that matter, just about anything that will take your mind away from your aching back and behind.

One thing that kept bugging me all along the trip was that I was not spending enough time at any given place. I kept reminding myself that this voyage was mostly about motorcycling and the road but everytime I met other people at hostels I could not help but feeling like I was being a very poor tourist for not taking the time to discover a place and it’s culture. Nonetheless, I got a good glimpse at many countries and while I will not have enough of my life to visit each of them in depth (the world is a MASSIVE place), I will certainly go back to some of them but probably not on a bike. People travelling alone were very common and while travelling, you make friends very easily because the mood is just right for it: everyone is actually in the same shoes. Spending only two days in a city was not enough for that and would only get me to the acquaintance level of friendship, thereby exacerbating the solitude issue.

Despite the rapid pace and the solitude, this journey never fell short of the virtues of travelling. It was enlightening, demanding, got me far away from my homely comfort for a certain amount of time and most importantly, gave me the opportunity to interact with new people. As outlined before, it was different than normal backpacking but it also had much in common.

This is certainly something I will do again in the future. Road trips are an awesome way of travelling (while gas is still affordable). The next one will most likely not happen on a motorcycle but if I manage to convince any of my relatives into taking it as a hobby, there might be a chance.

Motorcycling

The physical exertion of riding a motorcycle all day was not as bad as I had expected it. First off because I knew what to expect as I had done long distance rides before undertaking this trip and second for the reason that those little aches dit not get much worse with distance and time. After and hour, I have basically reach my quota of biking for a day. My behind is chaffing, my back is aching and my legs are tingling and depending on the weather, I am cold and my fingers are numb. With the exception of low temperature, all those little discomforts will not get worse and a good one hour break for lunch would pretty much reset the clock. However, I am abstracting the fatigue caused by long-distance driving but be it a car, a plane or a motorcycle, it is inevitable.

I have only good comments about the motorcycle. It held up very nice and never showed any sign of serious wear or imminent break down. From beginning to end I had complete faith that it would take me to end of my trip. The fact that it was only a 125 got me into some pretty tight situations but that is not the motorcycle’s fault, most of the time, it was sufficient. With regards to comfort I cannot really tell because I have not rode that many machines, but the Varadero being bigger that all other 125, having a greater carrying capacity and bigger saddle certainly helped into making this voyage more pleasurable. It got me where I need to go so really I cannot complain and I got the bite so I will definitively get another bike and it will certainly be more powerful that this one. This is not a goodbye because I get to keep it for another few months and plan on doing many other trips (to Valencia, Spain for instance) with it but when the time will come where I need to sell it, I’ll be sad.

Rankings

Best time in cities:

  1. Berlin
  2. Tallinn
  3. Helsinki

Most beautiful cities:

  1. Warsaw
  2. Nuremberg
  3. Brussels

Best roads:

  1. Germany
  2. Finland
  3. Sweden

Best country

  1. Finland
  2. Germany
  3. Denmark

Worst moments:

  1. Being in the middle of Lithuania soaked to the bone and shivering with cold with still 450 kms to go.
  2. Dropping my motorcycle in the middle of nowhere in Sweden.
  3. Riding with massive crosswinds on a road full of trucks in Poland.

Down from Scandinavia : stage 18 (final)

Lyon, France -> Toulouse, France
432 km dep: 09:10 arr: 17:30
Date: 17/08/2012
Weather: sunny


View Larger Map

A road bordered by planes in southern France.
A road bordered by planes in southern France.

The final day of riding! I forgot to set my alarm clock so I ended up leaving later than planned. The Causses, limestone plateaus that are found in this region make for really interesting driving and a beautiful scenery. As I left thos plateaux and came down towards southern France, the weather got insanely hot. In one village where I stopped for buying a couple of bottles a wine the temperature was 40C. When you are wearing a padded jacket, an helmet and long pants it is not long before you start cooking. The air was so hot that opening my visor for just a minute would start dessicating my mouth lips and nose. Luckily, a lot of the roads in southern France are bordered with massive Oriental planes that will create a a natural green roof for kilometers and kilometers. Sadly, those trees are also very prone to fungal infections and the French government is cutting down an increasing number of them each year so it will not be too long before the roads become exposed again.

Unlike other days, I wanted to arrive home as soon as possible rather than take my time and enjoy the way. I may event have costed me one or two fines because I am pretty sure I got flashed by a few radars. There is a possibility that I will escape it because those radars that I saw were front facing and unlike cars, motorcycle do not have a license plate on the front.

I made it in no time to Toulouse and was greeted with an apéritif on the banks of the Garonne, a most welcome change from a diet of mostly sandwiches, pasta and cheap fast food meals.

DONE!

Down from Scandinavia : stage 17

Strasbourg (Obenheim), France -> Lyon, France
486 km dep: 07:30 arr: 17:45
Date: 16/08/2012
Weather: cloudy then sunny


View Larger Map

The village in Alsace I slept in was named Obenheim and around this area, pretty much every one of them ends in “heim” with some very weird names like Boofzheim or Ichtratzheim. Almost beats that place named Szczuczyn (give me a vowel…) in Poland. I left early without saying goodbye to my hosts but left a thank you note with two beers.

While looking at the map, I realized that I could cross through Switzerland. It was a small detour but just for the principle, I decided to head for Basel and then make my way back to France in the Swiss country side. That plan fell short as soon as I reached the border. Sadly, Switzerland is not part of the Schengen zone so they still have border control but what made me turn around was the 40 Euros they were asking for entry.

For the most part, the road was interesting as I was in a semi-moutaneous area and spent quite a bit of time following a river in a valley. On getting closer to Lyon, I found myself back on a French nationale which is nothing really interesting altough it sure beats the roads in Poland.

On reaching Lyon, I headed directly for the city center, walked around a while, had a beer and then left. Apart from being in a valley at the confluent of two rivers, which makes for an impressive cityscape, I am certain that Lyon has a lot to offer in terms of sights but the city being so big, I could not find any worth mentionning. I left early in order to find a good camping spot and I am very glad I did because the region is so very populous that I had to ride about 100 kms to finally be in the wilderness. The number of kilometers displayed in the post’s header does not include it as it is the distance between two objectives but if you add the two up I drove close to 600 kms today. Since it was on tomorrow’s route, it is distance I will not have to cover.

I am glad this trip is nearing its end, not that I do not enjoy anymore, but I feel I have had enough motorcycling and solitude for a while.

I had a cat for lunch today...
I had a cat for lunch today...