Before I discovered what my Bifferboard really is, I almost disposed it, but now It found a new purpose. It’s a networked rfid Terminal for time tracking on our BORM ERP. I use a simple python script on the device because it’s easier to experiment on a device where I would rather not compile too much every time trying something. In fact, this is my first python project appart from looking through some scripts and changing a few lines here and there.
When I stumbled across this blog post, I was sure I have to try this at home. I had some interest in RFID for a while, but the Proxmark was too pricy for me just to play with. So this experiment came just right.
The attiny85’s were difficult to get in Switzerland, so I ordered them from Germany along with an ISP programmer. I think it would also work with other AtTiny’s for example the 45 is available from Conrad. The hex file is just 1.7 kB, so the AtTiny45 should suffice.
I used a nas dongle from ARP for a while to share an USB harddisk, and I always wondered about what’s inside. It’s a nifty little device that works reasonably well. It needed a reboot from time to time, and it had some issues with the filesystem. Because of the FAT filesystem it couldn’t store large files, but what I missed most was ssh. Not ssh itself, but scp, sftp and rsync. I knew that without further information it would be impossible to add these. But so far I couldn’t find out anything on the internet. Then somehow I found a blog post with a device that looked similar from the outside but was sold more like a hacker device. So I went to figure out if it’s the same. It looked similar from the inside as well. So, it is probably really a bifferboard. The pins for the serial console matched, which was even more proof…
The boot messages with the stock firmware look like this: $ minicom -b 115200 -D /dev/ttyUSB0
Just like OpenGL and most rendering engines that I know of, WebGL has no builtin support for text rendering. And on top of that, I can’t use the approach we use in PointLine at the moment. PointLine gets the outlines for the characters from the Windows GDI. So I was looking for something cross platform.
Searching on the internet there are two main approaches:
- Render the alphabet or the word in question to an image, and then use that image to texture some triangles.
- Trace the outlines of the characters and triangulate the polygons.
Although I prefer the second approach, I found an example of the first that looked simple enough on nehe. It was based on FreeType and for OpenGL. I started converting it to WebGL, but it was not as easy as it looked. It makes heavy use of display lists which are not available in WebGL.
So I looked further, and found the FTGL library which is also based on FreeType. It sounded like just what I need, but for OpenGL. So, I extended the library to allow me to extract the triangles for processing in WebGL. I sent my patch to the FTGL developers and hope for inclusion.
Meanwhile I can render texts in WebGL with my modified version of FTGL … of course it’s only so easy to do when using Wt::WGLWidget from the excellent witty library.
Here is my research prototype which now has text.
Here are the important parts of how it’s done with the modified libftgl:
Yesterday I copied an InstallAware Project on the Jenkins continuous integration server. The copy always failed to build while the original succeeded. They were really the same at this point, so WTF!!!
In the InstallAware forum I found out that the path name was getting too long. Well, yes, the name of the copied jenkins project was slightly longer and thus the resulting path had some more characters.
In the installaware forum they say that Windows still has a limit of 256 character for absolute paths. According to Wikipedia, the limitation doesn’t come from the filesystem. So it must be somewhere in the OS. Now, Microsoft told us that WindowsNT which Windows7 is based on, was no longer based on MS DOS. Were they lying? I mean, this is a 64 bit operating system with limitations from its 16 bit pre-pre-pre-pre-predecessor….
A co worker ran into the same limitation lately when trying to copy a folder structure from linux to Windows.
Google employees can spend 20% of their working time for their own projects. We at cubx (The CAD development department recently split from BORM) have now something similar. We get to spend every second friday afternoon for some projects of our own. The only restriction is that it has to do with computer graphics.
I chose a project that I had in mind for almost as long as I have been working for BORM. I wanted to run PointLine as a web service on a linux box. Wit the old core, that was so tightly tied to MFC, this would have been impossible. But the new unfinished core is designed to be platform independent. So, I took it as a base.
Some three years ago, I looked at vrml and x3d for the 3d in browser part. These standards didn’t have as broad support as I thought. You couldn’t do much without buying proprietary browser plugins. So I never made much progress on that. But then came WebGL. All mayor Browsers support it natively, and on top of that, my favourite web application framework recently got a WebGl widget.
So far, my research prototype doesn’t do much, but I already learned a lot that I can also use in my everyday work. I gained a better understanding of rendering pipelines, learned about shaders and ray picking …
As a side project, I set up a jenkins continous integration server that compiles the project on ubuntu and windows after every commit. Additionally, I learned about CPack, so that the result of the jenkins build is a binary deb package ready to install.
You can see the web application as it progresses here:
Usually, I would also provide a link to the sources, but this is closed source, sorry…
BitCoin is a decentralized online currency. It was in the news lately. While banks and politicians made it sound bad, it’s actually a great experiment. True, it has some shortcomings, but these shouldn’t bother us for the next couple of years.
If you want to learn more about BitCoin, check out these podcasts:
At the company I work (BORM), we have an internal web page with the company news. We’re required to log in and check every once in a while.
Now to get notified automatically, wehen some news are to be discovered, I hacked together a PHP script that logs in, downloads and parses the news. It then serves an rss xml file to my feed reader.
In the past I didn’t do a lot of PHP scripting. Only editing some bits and pieces. So this is my biggest endeavor to PHP.
I won’t tell you where the script can be accessed, as the company news requires login. But the script itself is here:
I knew google can read my mind.
For some time now I was looking for something like GoogleEarth for human anatomy. I even thought about asking Google to make something like that.
Now I learned they did just that. They even did it as a showcase for WebGL which is part of the upcoming HTML5 standard.
Have a look at http://bodybrowser.googlelabs.com/
You will need a browser with WebGL support. At the moment the beta versions of Firefox and Chrome are known to work well.