Microstrips are cool

29.11.2005 19:35

The PCB Trace Impedance Calculator is incredibly useful, even if you aren't into microwave circuits and transmission lines.

For example: I was worried that the guard ring and ground plate I made around the lines leading from quartz crystal to the CPU on my keylogger PCB will significantly affect the capacitance from these lines to the ground. So I've entered the correct geometry into the calculator and it returned that the parasitic capacitance to ground is around 2pF/inch. Since these lines are around an inch long the parasitic capacitance is well within the tolerance limits (Atmel says that the capacitance to ground must be 30pF± 10pF) and I can be sure the oscillator will work fine.

Posted by Tomaž | Categories: Analog | Comments »

Keylogger project, 6

28.11.2005 19:59

Almost finished with PCB design. Here's a nice composite picture of my current draft.

Schematic editing and capture done with XCircuit, board design with PCB and pretty picture with GIMP.

Posted by Tomaž | Categories: Digital | Comments »

Interesting article

24.11.2005 23:16

Reflections on Trusting Trust by Ken Thompson, one of the original authors of Unix, shows in a very nice way how you can't trust any binary if you can't trust the compiler that was used to compile it.

I think the part about the concept of a "learning" program is worth reading alone. I knew compilers are usually compiled by themselves (take GCC for example - it seems that the basic sign that a compiler is actually usable is that it can compile itself), but I never looked at this practice from the view point presented in the article.

Posted by Tomaž | Categories: Code | Comments »


23.11.2005 21:43

I was planning to add a search function to tablix.org for some time. Specially the mailing list archive got so large that it is very time consuming to find posts about a specific subject.

All free search engines I found on the net resembled Google and other general internet search engines, which is not what I want. These search engines use a web crawler to index data on the web page which isn't very efficient if you want to index a trusted and a well known web site. Also simple web crawlers are bad because 1) They index all text (including menus, etc.) on web pages, not only content 2) They don't have any idea what exactly are they indexing. If you get a search hit, you have to check it manually if it is a news article, a mailing list post or a page in the documentation.

On the other hand, desktop searches, like Beagle are much more advanced - they use plugins to recognize and properly index each type of file on the filesystem. So I tried to make a web search engine that would be as flexible as that. It must use plugins to properly index mailing list archives, wiki pages, Nanoblogger posts, articles, Doxygen reference, etc. I used this Beagle mockup from Beagle UI Hackfest as a guide.

The result: Nanobeagle.

It's written in Perl, uses Swish-e indexing engine and it's not yet very stable. It currently has three indexing plugins: Hypermail archives, Nanoblogger news and Nanoblogger static articles. Icons are from the gnome-icon-theme part of the GNOME CVS repository.

Posted by Tomaž | Categories: Code | Comments »

What happen?

22.11.2005 22:23

We get snow.

Posted by Tomaž | Categories: Life | Comments »

The world looks awful...

20.11.2005 12:44

...if looked at through the Internet Explorer 3.0 on Windows 95.

It seems google.com is just about the only page that still renders correctly with this browser.

I guess this computer is also safe from worms and viruses these days. I'm sure any self-respecting malware needs at least Windows 98.

Posted by Tomaž | Categories: Life | Comments »

Two words

15.11.2005 17:40

Make backups

Posted by Tomaž | Categories: Life | Comments »

Have I mentioned

12.11.2005 23:37

how much I love to play with Povray and Inkscape?

Idea for this image was shamelessly stolen from this very nice GNOME splash screen by Stephan Aleman.

Posted by Tomaž | Categories: Ideas | Comments »

Visiting an IC fab

10.11.2005 14:40

Today I had the opportunity to visit my Faculty's integrated circuit fabrication line. It was quite fascinating although not exactly what I expected

My first reaction was that it looks like a set for an 80s science fiction movies. They are using some quite old technology - the line was originally meant for a 5μm process, but thy gradually upgraded it and today they can manage everything up to around 1μm. Green monochrome monitors, big clicky keyboards, 5.25" floppy disks, blinking lights, large racks of equipment, people in protective suits, low vibrating hum everywhere...

There were of course a few objects that quite obviously didn't fit there. First a modern washing machine with a box of detergent (?! - probably for washing protective suits, forgot to ask, but it was like seeing a ghost). Then there was a single modern PC (running Windows XP) - Excel was running when I saw it so it probably isn't running anything critical.

The whole process isn't as automated as I first thought. Silicon wafers are transferred by hand between various furnaces and machines. Etching is also done by hand as far as I could see. In temperature controlled baths and with carefully controlled chemicals but they still put the wafers in and out by hand.

Also I expected I wouldn't be allowed in the actual rooms where the fabrication takes place. I was told that those places need to be kept very clean and that anyone entering the room can bring dust particles. But in the end I only had to put on a protective coat and that was it.

Posted by Tomaž | Categories: Life | Comments »


07.11.2005 19:38

Hint: sending spam to a lot of free software authors and maintainers is not a good way to start a new open source community web site. Words like "15% referral bonus" on the second line in my opinion further reduce the number of people that will actually read past the first paragraph.

It's perfectly plausible of course that they really wish to support open source software with this move like they say in that email. But the mere fact that they are advertising their site by sending spam greatly reduces their credibility. If the people behind makezero.com are really involved in open source movement they should know that their target audience won't take spam lightly.

I'm just getting too many emails from people that are offering to "help me make a little money", not to mention helping me "grow my distribution". If it weren't for the words "open source" I'm sure this one would end in the "Junk" folder like the others.

Posted by Tomaž | Categories: Life | Comments »

Keylogger project, 5

05.11.2005 21:58


The software part of the keylogger is now almost finished. The only part that is missing is the serial EEPROM driver for which I need to make a new prototype board that has the actual EEPROM chip on it. I can't add it to the current board because the EEPROM is in a SMD package that can't be soldered to the breadboard.

It took me two days to debug the software for the transparent logging mode, but now it is working without problems. As far as I can tell it isn't detectable from software. The Linux kernel will still report that an ordinary AT keyboard is attached to it and the LEDs on the keyboard work as usual.

A simple menu is accessible by entering a correct (configurable) sequence of 8 keystrokes. Alphanumeric keys and also modifier keys like ALT and CONTROL can be used in this password, because the key logger saves it as sequence of raw scan codes. Of course all sorts of weird things happen if you activate the menu when some application other than a simple text editor has the keyboard focus. Because the keylogger has no way of getting feedback from the computer it will blindly type the menu text for example in a Firefox window which will then interpret the keystrokes as keyboard shortcuts and you will end with a messed up browser.

The bad news is that all this fancy code takes around 1800 bytes of code memory. This leaves only 200 bytes for the EEPROM driver and playback code, which most likely won't be enough. I guess it's time to look for a bigger 8051 compatible microcontroller. AT89C4051 looks promising since it's pin and code compatible with AT89C2051 I'm using now. I just hope I can get it in Slovenia for a reasonable price.

Posted by Tomaž | Categories: Digital | Comments »