Laser + Webcam = 3D… maybe!
22 February 2008So here the new project i'm planning to work on: a 3D scanner!
Since a picture is worth a thousand words, lets start with them:


What I think is pretty simple (maybe too simple): the distance between the y axis and the edge of the object where the laser is beaming on, can be calculated using the delta value and some sines and cosines!

I'm not much of a math guy, but this sounds really easy!
x=delta/sin 60
Waaaaait… this may actually work!!!!
Oh and i've made some huge progress with my realtime webcam tracking program!
here's an example tracking my external harddrive blue led:
![]()
Microsoft Scripting Guys failed at Perl… big time
2 February 2008So don't get me wrong, I'm still a great MS fan and everything… but come on… they could have tested their script before publishing it!
the failure: (source microsoft.com)
ppm install failed the ppd does not provide code to install for this platform
11 January 2008So you just installed the brand new activeperl 5.10 and now you're having the "ppm install failed the ppd does not provide code to install for this platform" issue when you're trying to install a new package via ppm?
The solution is quite easy: uninstall and reinstall the latest "legacy" version (ActivePerl 5.8.8.822) which is fully functional and you'll have more luck installing those packages!
Of course you won't have those fancy new features like say(), given() {when(){…}…}, etc but still it'll work like a 5.8.x does!!!
The easiest, fastest, and most effective way to detect defective pixels on your LCD screen
26 December 2007
Defective pixels are uncool, and you usually find them when it's to late to give your damn LCD screen back… here's the solution to find them in no time!
Read the rest of this entry »
Vbscript CGI (No… not ASP)
15 November 2007Yesterday, I don't know how, but while doing nothing I suddenly got the best idea ever: Using vbscript scripts with apache… and guess what… after some coding/debugging hours, it actually works like a charm!
Read the rest of this entry »
Patching Smokeping for Windows so you don't have to.
14 October 2007I'm releasing this today, but it's still in beta (Everything that used to work with my old 2.0.8 patch works with that version, but not all new features have been tested yet)
What you'll need:
-Perl (latest version if you can)
-A web server (wamp is good, but others should work fine as well)
What the script will do and what it won't:
it will: download smokeping, rrdtool, and fping, help you configure smokeping (owner, mail, etc), patch what's needed to be patched, install a new feature that is not included in smokeping's official package (zoom in/out with pageup|pagedown)
it won't: install/configure your webserver, install perl, add targets in your configuration file
what's working and what's untested yet:
working: everything that used to work with the 2.0.8 version, Ajax based ineractive graph zooming (+ my exclusive zoom with pageup/pagedown feature), Multi Target Graphs, using drives different than "c:"
not tested yet: Master/Slave setup for multi source smokeping deployments.
How to configure wamp, or apache:
edit httpd.conf (C:\wamp\Apache2\conf\httpd.conf with wamp)
change: ScriptAlias /cgi-bin/ "C:/wamp/Apache2/cgi-bin/" into ScriptAlias /cgi-bin/ "c:/wamp/cgi/" *
change: <Directory "C:/wamp/Apache2/cgi-bin/"> into <Directory "c:/wamp/cgi"> *
(* you don't _have_ to do that, and of course you can change every paths, you just have to provide every paths to the install script)
create a folder in your www root folder (c:\wamp\www if you're runing wamp) and name it "simg"
The install script will ask you the www root folder and the image folder
WWW root folder [Default: C:\wamp\www] (must already exist)
image folder from C:\wamp\www [Default: simg]
that's it! if something is not self explanatory enough, or if you have questions feel free to leave a comment
for testing, and autostart take a look at steps 7,8, and 10 here http://dev.pulsed.net/wp/?p=3
Download the Smokeping Installer for Windows, unzip it and launch "install n patch.pl"
Latest smokeping version (2.2.4) working under Windows
1 October 2007Almost available (meaning it works on my computer, but I lack time to finish it completely)
I'm working on an install thingy to make your life easier (instead of a DIY tutorial), and I think that I'm going to make a diff patch too.
New stuff (in smokeping 2.2.4):
- "Ajax based ineractive graph zooming.", and it works (see above) :-)
- "Multi Target Graphs" (not tried yet)
- "Master/Slave setup for multi source smokeping deployments" (doesn't work under windows [for now] since the fping version I'm using doesn't support source address setting (-S))
Useless Dichotomic Morse to Human converter
17 August 2007I'm using the binary decision tree approach to convert Morse Code to "Human"
Here's a part of the tree (not complete)

Lets decipher "— · —":
First mark is a dash -> next level and right node
Second mark is a dot -> next level and left node
Third mark is a dash -> next level and right node
"— · —" = K
use strict;my @morse_table = qw(E T I A N M S U R W D K G O H V F Ü L Ä P J B X C Y Z Q Ö CH 5 4 S 3 É ^ Ð 2 ^ È + ^ Þ À J 1 6 = / ^ Ç ^ H ^ 7 ^ G Ñ 8 ^ 9 0 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ? _ ^ ^ ^ ^ " ^ ^ . ^ ^ ^ ^ @ ^ ^ ^ ' ^ ^ - ^ ^ ^ ^ ^ ^ ^ ^ ; ! ^ \( ^ ^ ^ ^ ^ , ^ ^ ^ ^ : ^ ^ ^ ^ ^ ^ ^ );my $index;while(<>){chomp;for(split / +/){$index=0;for(split //){if($_ eq "." or $_ eq "·"){$index=($index+1)*2-1;}elsif($_ eq "-" or $_ eq "—"){$index=($index+1)*2;}else{print " ";$index=0;}}print @morse_table[$index-1] if $index>0;$index=0;}print $/;}
Download this code: morse.pl
Cours de MOCA B2 [RCP106] (Modélisation, optimisation, complexité et algorithmes)
10 July 2007Voilà le cours de MOCA B2 de cette année (CNAM/CAMOS de Metz) format pdf
640 Leds display [Project update]
8 July 2007Finally i had enough free time to work on the PCB layer, here's the first version (unverified for now)
click to view the whole layout
Since I can't etch something >300mm, I have to split each board in two parts.
So we have the logic boards (74×4094, and uln2803) on the top, and the "matrices" boards (with the led matrices) on the bottom.
The power board (with the mosfets), and the controller board (with the µC) are still in dev.

