Skip to main content


Showing posts from 2010

SVox PicoTTS (from Android) is available on Ubuntu 10.10

Another repost. This pos, form acassis is special for my quest to Voice Picking with freesoftware. More resources on SVox can be found at Open Hand Set Alliance

acassis: "Finally SVox PicoTTS (from Android) is available on Ubuntu 10.10.To install it execute:$ sudo apt-get install libttspico-utils
To test execute it:$ pico2wave -w /tmp/test.wav 'Hello World'
$ aplay /tmp/test.wav

GPU Processing and Password Cracking

GPU Processing and Password Cracking: "
Recently, research students at Georgia Tech released a report outlining the dangers that GPUs pose to the current state of password security. There are a number of ways to crack a password, all with their different pros and cons, but when it comes down to it, the limiting factor in all of these methods is processing complexity. The more operations that need to be run, the longer it takes, and the less useful each tool is for cracking passwords. In the past, most recommendations for password security revolved around making sure your password wasn’t something predictable, such as “password” or your birthday. With today’s (and tomorrows) GPUs, this may no longer be enough.

Although the article never mentions them by name, the newest tools in password cracking are based around two tools, nVidia’s CUDA and AMD’s Stream SDKs. These tools allow programs to be written in C that can be broken up and utilize the parallel nature of the hardware that is …

Open source substituto para o LabView

Open source substituto para o LabView: "Ha algum tempo recebemos na empresa onde trabalho a visita de um representante da National Instruments que demonstrou varias placas e o LabView para utilizar como ferramentas para diagnostico e testes de placas na nossa linha de producao.
Na epoca eu comecei a imaginar algumas solucoes open source para fazer as mesmas funcoes da solucao apresentada pela NI, uma vez que a nossa empresa preferiu nao comprar a solucao deles.
Hoje resolvi documentar as quais software e placa eu utilizarei para implementar uma solucao equivalte ao da NI:

- Scilab:

- Comedi:



Another home-built laser projector

From my Google Reader:
Another home-built laser projector: "
[Jarrod] sent us a link to this home-built laser projector after seeing a different projector that we featured yesterday. This system is fundamentally different. [ChaN], who finished the project several years ago, didn’t use a loudspeaker to move the mirrors, but instead build his own closed-loop Galvanometers. Two of these are controlled by an ATmega64 to produce incredibly clean and accurate vector images. It’s not just the images that are impressive, his hardware is laid-out with skill and forethought that make hiding it in a case a sacrilege.

Quickstart: SSH Public Key Infrastructure

The following quickstart was copied from

By Jim Weller

The purpose of this document is to quickly step you through using
passwordless authentication to connect to servers using the SSH2
protocol. This document is unique in that it unifies all the clients
and servers under a single identity. This document is very coarse
and expects that you'll follow along with the videos and only
use the notes as a supplement.


Commercial SSH client version 3.2 or higher installed.

Commercial SSH Accession agent

PuTTY SSH2 Client Suite
OpenSSH environment. Cygwin shown here, but Linux, Mac X, BSD, Solaris and many others apply

Video Guides

Generating your public and private keys
Commercial SSH client to Commercial SSH Server
Commercial SSH client to OpenSSH Server
PuTTY client to Commercial SSH Server
PuTTY client to OpenSSH Server

Free Open Source Parametric 3D CAD on Linux

The folks looking for a free and open source option for a Parametric 3D CAD have theirs choice now. HeeksCAD is a parametric 3D CAD, based on the open source modeler OpenCascade.
Actually it is for Linux and Windwos. It uses WX Widgets as its widget set.
The HeeksCAD site lacks on screenshots, as long as they are keeping a good work on the software... (let the community provides the screenshots ;-)
Googling a little we can found a good discussion in a forum at (it is in French)
From the forum discussion above, I had extracted the following shots:

I had already used the Salome (another OpenCascade based tool), but the CAD it provides where more for geometry design for finite element pre and post processing. Diferent from Salome, HeeksCAD has much more functionalities from CADs like Pro/Engineer and SolidWorks.
I have around 8 years of experience in Pro/Engineer and 5 years using SolidWorks, I had no difficult to start modeling …

uSleep on windows (win32)

I am facing a terrible issue regarding timing on windows.

Googling arround, I've found those infos:
Using QueryPerformanceCounter and QueryPerformanceFrequency APIs in Dev-C++
QueryPerformanceCounter() vs. GetTickCount()
How to time a block of code
And Results of some quick research on timing in Win32
With that I'm trying to write something like a uSleep function for windows:


voiduSleep(int waitTime){
__int64 time1 = 0, time2 = 0, sysFreq = 0;

QueryPerformanceCounter((LARGE_INTEGER *)&time1);
QueryPerformanceFrequency((LARGE_INTEGER *)&freq);
QueryPerformanceCounter((LARGE_INTEGER *)&time2);

// }while((((time2-time1)*1.0)/sysFreq)<waitTime);
}while( (time2-time1) <waitTime);

There is also already a nanosleep…

Low cost microcontrolling

I had a terrible issue at work today. We certainly have to give up from a windows controlled device, depending on time critical software to use a cheap and easy to find microcontroller.
Making a couple of phone calls to local electronics shops, draws me to one single option. Microchip's PIC 16F family.
So, let's go to PIC world: (Programming the PIC16F84 with LINUX) The PIC16F84 is easily found at any electronics shops in my town. It costs around R$ 15,00 (fifteen reais), local brazilian currency, which is around US$ 8.45.
Programming PIC’s in Linux using C with SDCC

Intro to Programming PIC Microcontrollers in Linux (PonyProg - GLP Serial devices programmer) (sdcc for PIC HowTo)
There is a good Spanish site about PIC projects at

Some free/open tools for hobbies

[Open source PCB routing] MUCS-PCB - The University of Manchester School Of Computer Science PCB design software

Ladder Logic for PIC and AVR

SketchFlat: 2d CAD, with Constraints

SOLVESPACE -- parametric 3d CAD
And for autorouting on kicad, there is the closed source freerouting

[SIGGRAPH 2009]Build Your Own 3D Scanner: Optical Triangulation for Beginners

Pseudo 3D game


Teaching Internship - Lab Class

Tonight was my first lab class at my teaching internship.

We were preparing the undergrad students to make their final work for this class.
At this class professor introduced the "objloader" to them. For them to use it to open wavefront obj files for their animation work.
Professor also talked about the Accutrans3d.

The old Pro/Engineer also saves wavefront obj files.

Done - with Catull type face

(Done with inkscape, following the tutorial cited on a previous post.) Goostavo

CAD Tutorials

The Mechanical Engineering Department from the Carnigie Mellon University has placed some good tutorials on how to use the PTC Pro/Engineer CAD software.

It is an excellent material and is based on Pro/Engineer Wildfire 3, the last one with a Linux version.

It also includes Sheet Metal and Surfaces design and Finite Element Analisys using the Pro/Mechanica module.

Google Logo to Goostavo

I was looking for a way to make a colored logo likes Google's to use for my kid's name.
Here is a simple tutorial on how to make the colored 3D effect with inkscape.
If I had the Catull type face, used by Google, it would be very cool to write my son's name (Gustavo) as Goostavo ;-) (done at May 13, 2010)

Catull Type face
(tutorial done with Catull, results at "Done - with Catull type face")

Kicad - crossplatform suite of programs for EDA

Working in a place where people do projects on electronics using different platforms (windows and linux) certainly leads us to look for some tool which enables us to exchange our schematics and layouts through all this platforms. There is where Kicad came to help us.

And, to help us to use it, here is a short tutorial on how to do simple things with Kicad: Tutorials for KiCad - A Free Open Source Schematic and PCB Layout EditorKiCad Overview and Schematic TutorialGoing from Schematic to PCB Layout in KiCad (using Cvpcb)Making New Components and Modules (Footprints) in KiCad:Designing PCBs in Kicad and PcbNew:PS.: Other interesting link on GNU/Linux and Electronics: And on electronics:

Convert Scanned PDF Documents to Text without having to wait for google bots

Working supporting old scientific hardware sometimes brings me some challenges. Usually, the manuals are only on paper and when there is a digital version it was digitized (scanned) .

Googling a little, came to me an article which relies on waiting for the google to index your files and OCR them. But there is an open source alternative.
Looking a little further, I did find another two articles at and at, on which I've found the tesseract-ocr. So to solve my issue, I had to first convert my PDF file to a bunch of TIF images, and so OCR them with tesseract. This way:
gs -dNOPAUSE -sDEVICE=tiffgray -r300x300 -sOutputFile=page%03d.tif -- 1850_operators_manual.pdf
ls -1 *.tif | cut -d e -f 2 | while read line ; do tesseract "page"$line "page"$line -l eng; done
Hope this helps somebody...

Recursively Adding files to CVS

I'm still running a couple of projects which rely on CVS for version control. But adding more folders recursively is very painful. So I use this line as many times as there still being files/folders to be added.
cvs update -R -P -d | grep "?" | cut -d " " -f 2 | while read line ; do cvs add $line ; done

New boy in town...

My son (Gustavo) was born last Saturday (April 10th 2010), with 2.790kg (6.15 pounds) and 48cm (1.57 feet).
Here is a picture to share the most amazing moment in my life.

Emacs Regular Expressions

I do use GNU Emacs for almost every text file related thing. Functions like search, replace, cut, paste, etc are all quickly mastered. But, then I've faced a different situation. I had to replace a string, repeat some numbers and put another string. The answer: regular expressions.

Emacs has a regular expression replace function. To access it, just type: "Ctrl + Alt + Shift + 5" (too much keys huh... ?) And it asks what should be searched. In my case, in which I wanted to capture the regex match, I did type \([0-9][0-9][0-9]\) to locate a 3 digit numbers and capture them. Then I typed enter and did tell Emacs what it should put in those numbers place: ID=\1; mv \1 ./safebox/\1
And enter again and ! to replace all. That is it.