Thursday, December 31, 2009

Which OS for Wii (embedded PowerPC) homebrew project?

Googling about for an open source OS that would work for a Wii (embedded PowerPC 740/750 work alike) homebrew project and I’ve narrowed my choices down two categories: a real-time OS or an embedded Linux based OS.

While I’m more comfortable with the toolchains and feature sets provided by a “full blown” embedded Linux, BlueCat Linux for example, I like the configurability and architectural layering philosophy of eCos, while RTEMS has cool points for being used in space projects.

My main concerns with eCos are: it does not have a USB stack (only USB Slave code is included); no Bluetooth stack; and does not appear to support dynamic loadable libraries.  Probably, need to just go check out the GameCube/Wii Linux scene.

Using mixed toolchain – GNU build system with Visual C/C++ compilers

I’ve been searching for an automated way to use the GNU build system to build autoconf based GNU libraries like libiconv using Visual C/C++ compilers instead of GCC.  The end goal is to create Windows DLLs that I can integrate into Visual C/C++ projects.

Found two alternatives that I want to check out: simacros from Systems in Motion; and parity by Markus Duft and Michael Haubenwallner.  The two have a similar goal and similar approach.  Both include source to shim/proxy software that translates GNU GCC command line options into Visual C/C++ command line options; and both require modified autotools. 

A big difference is that simacros uses cygwin for it’s execution environment and parity is designed for the Windows Subsystem for UNIX-based Applications (SUA).  Another difference is ease of access.  Parity is readily available as a stand alone SourceForge project.  I found simacros is a bit difficult to extract out of the various web links and downloads at the Coin3d website. 

Based on initial code spelunking and the ease of getting to the parity source code I’m leaning toward porting parity to cygwin.

Tuesday, December 29, 2009

DVD Flick – easy way to make simple video DVDs

DVD Flick is a straight forward way to make simple video DVDs from all the random AVI clips I collected over the holiday.  Now I can haunt everyone with DVDs of family Christmas videos.  Source available at SourceForge project page

Monday, December 28, 2009

How does your development language of choice rank? develops rankings for various  development language.  At the moment my interpretation is the c, c++, and Java trifecta still dominates.

You can see some more subjective ratings of various languages at the Hammer Principle.

The TIOBE Programming Community Index also ranks languages by counting hits on search engines. (April 2012)

Sunday, December 27, 2009

No more Qtopia

Apparently, Qtopia was killed off in late 2008, re-released as Qt Extended, then dropped by Nokia/Trolltech early 2009.  Finally, source was “liberated” by a fork as Qt Extended Improved.  I was considering it for the GUI layer of an embedded PowerPC project with an Embedded Linux (or maybe eCos) substrate.

Tuesday, December 22, 2009

Scratch Programming Language for Learning/Play

During some early morning googling to see if anyone had started a port of Java as Wii homebrew I came across ScratchDescribed as: “Scratch is a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.” 

EnvMan Windows Environment Variable Editor

I wanted a convenient way to edit Environment Variables on a Windows box.   Some googling brought me to EnvMan at SourceForge. Worked for me.  YMMV.

Monday, October 5, 2009

eBook library managers - eLibrary and calibre

If you’re collection of electronic books is growing unmanageable you might want to check out eLibrary or calibre.

My favorite feature of eLibrary is source file renaming after it downloads the book information.  The program is Windows only at this time and is focused on library management and reading on the computer. 

Another option is calibre.  Calibre is also an open source project hosted on  Calibre supports file format conversion for several popular ebook readers as well as a built-in ebook reader. 

Friday, October 2, 2009

Install TAP for Wippien on Vista x64

I wanted to try out Wippien on 64-bit Vista.  Had to download the 64-bit TAP driver then run the “hdwwiz.exe” to manually install the TAP driver.

Add TAP-Win32

Add TAP-Win32-2

Unfortunately, Wippien didn't work out the way I hoped it would. Still looking for a VPN solution that I can run on my home network for remote access. Probably will need to look at using a hardware solution like a VPN concentrator.

Monday, September 28, 2009

Multi-core/Many-core OS research

The Barrelfish Operating System is research effort addressing how to build OS for multi-core/many-core and heterogeneous core computers. AMD also has some related many-core publications.

Sunday, July 19, 2009

Windows Vista on Acer Aspire One (A-150)

Windows XP on my wife’s Acer Aspire One finally died an ungraceful malware induced death and instead of re-installing I figured I’d give Vista a chance.  First step was to get an external USB DVD drive.   I booted a 32-bit Vista SP1 DVD from an ASUS DR-08D1S-U and the basic install went without a hitch. 

Next the adventure of locating drivers.  Out of the box Vista SP1 did not support the wireless NIC, onboard NIC, video, or sound.  Not a big surprise.  Unfortunately, Acer does not provide Vista drivers. 

The first thing I usually try in the situation is the onboard NIC.  It was listed as a “Realtek RTL8101 Family PCI-E Fast Ethernet NIC (NDIS 6.0)”.  At the time of this post a driver is available from the Realtek driver download site.  Followed the menus shown to get to PCI Express Software.

Realtek Menu

  The driver that worked for me was version 6.225 dated 2009/7/17 in the file named

Realtek Drivers

After installing the onboard NIC is listed as “Realtek PCIe FE Family Controller”.

Since I had a wired connection to the network I activated Vista and started Windows Update.  Let that chug away downloading and installing for an hour or so.  After all the updates the onboard wireless NIC, sound and video are working.

Sunday, June 21, 2009

Porting fracplanet to Qt4 (actually Qt3Support)

I decided to try a quick hack-and-slash port of fracplanet to a more recent version of Qt.  Since I’m using a windows box I installed the Qt SDK for Windows.  Also, downloaded and installed the version of MinGW from trolltech as part of the install.  I installed Qt to C:\Devel\Qt\4.5.1 and MinGW to C:\Devel\Qt\MinGW
First step ran qt3to4 on, then qmake VERSION_NUMBER=0.4, and make.  I’m missing dependencies like boost so I didn’t expect this to get very far.  It didn’t.
First problem was the VERSION_NUMBER=0.4.  At line 32 in control_about.cpp their isn’t a automatic conversion from QChar to double.  So next I did qmake VERSION_NUMBER=1, and make.
Got to line 55 of control_about.cpp and had to change it to:
Did make again and now the boost problem.  Since this was supposed to be a quick hack-and-slash I didn’t bother building boost. Found and  installed Boost-1.34.1-mingw.exe into C:\Devel\Boost-1.34.1 and added the following directives to
LIBS += -lboost_program_options-mt
INCLUDEPATH += C:\Devel\Boost-1.34.1\include
LIBPATH += C:\Devel\Boost-1.34.1\lib
LIBPATH += C:\Devel\MinGW\lib
Then redid qmake VERSION_NUMBER=1, and make.
Next problem was a mission qhbuttongroup.h in control_render.h at line 27.  Appears that the qhbuttongroup was rolled into qbuttongroup at some point. qt3to4 didn’t pick this one up so I mannually changed qhbuttongroup.h to q3buttongroup.h.  Same in control_terrain.h.
Copied usage_text.h out of a previous build with cygwin to get around figuring out how to actually build the documentation.
Changed  line 113 in fracplanet_main.cpp to
Added the following before the use of glDrawRangeElements in triangle_mesh_viewer_display.cpp
glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)wglGetProcAddress("glDrawRangeElements");

Then redid qmake VERSION_NUMBER=1, and make.  And the end result… A working copy of fracplanet built against Qt 4 compiled with MingW. 
image image
OK, technically it’s still Qt 3 since it uses Qt3Support.  Also, has to be run from the command line at the moment.  Might fix it up and package it later.

Building fracplanet with cygwin

Took a whack at building fracplanet with cygwin on a Windows box yesterday afternoon.  It was too hot outside to mow the lawn.

Some things that I had to do to get it built:

  • Edit the file so it could find the installed version of boost.  I added the following:

LIBS += -lboost_program_options-gcc-mt
INCLUDEPATH += /usr/include/boost-1_33_1

  • Edit the line 103 in /usr/include/boost-1_33_1/boost/random/mersenne_twister.hpp to


instead of


  • Had to go back and install libglut for cygwin.

After that the program compiled and linked.

I ended up using Xming instead of the X server bundled with cygwin.  Of course I had to make sure to start Xming before bash and set the display by hand (export DISPLAY=localhost:0.0).


Here is my first planet.

image image

And here it is rendered by POV-Ray for Windows.


MSN Web Messenger

Started playing with the Ubuntu Netbook Remix on an Acer Aspire One and “needed” a quick way to get on Live without using a native linux client.  After a bit of searching came across the MSN Web Messenger.

Monday, May 25, 2009

Homeworld source

Just came across the WikiPedia page for Commercial video games with freely available source code
and noticed that Homeworld is on the list. It's a classic that I used to play.

SDL oriented source is available with restrictions through HomeworldSDL and a Windows SDL version is available here.

Friday, March 20, 2009

Team Mediaportal and dynamic IP

At the moment the computer I'm running Team Mediaportal on gets a new dynamic IP every couple of days so the Mediaportal looses track of the TV Service.

My hack to get around this is to manually stop the TVService; update the SQL table with the server information with the computers current IP; then manually start the TVService.

Monday, March 2, 2009

OpenLayers and Google Maps

Here is my attempt at using the Google Maps API through OpenLayers as presented at

Unfortunately, that didn't work as planned so on to the next hack...

Team Mediaportal and Schedules Direct plugin

Picked up a Hauppauge WinTV-HVR-1600 card at Circuit City. Since they were "discounting" for their going out of business sale with tax it was the same price as most online vendors. I plan on eventually building a MythTV box but for the moment I'm using it under Windows XP using Team Mediaportal with a Schedules Direct plugin. The plugin that worked for me can be found here.

Sunday, March 1, 2009

Places I've been...

States I've visited in the USA

create your own personalized map of the USA

Countries I've visited

create your own visited country map

OpenWRT supported 802.11n routers

The OpenWRT project is making strides on recent 802.11n capable routers based on AtherosA9100 chip sets.

As mentioned on Slashdot some of the less expensive routers that use that chip set:
  • Planex (PCI) MZK-W04NU, 32MB RAM and 8MB flash, USB port, 10/100 Ethernet
  • Trendnet TEW-652BRP, 32MB RAM and 4MB flash, 10/100 Ethernet
  • Trendnet TEW-632BRP, 32MB RAM and 4MB flash, 10/100 Ethernet
  • D-Link DIR-615 revision C1 (ONLY!), 32MB of RAM and 4MB flash, 10/100 Ethernet
  • TP-Link TL-WR941N WR941ND, 32MB RAM and 4MB flash, 10/100 Ethernet
Could use these for some interesting projects. Maybe a Kismet Drone (or see here)? Or how about a WiFi robot that implements SRV-1 Control Protocol ?

The Planex MZK-W04NU looks especially interesting since it has a USB connection. It's current status is discussed on the OpenWRT Forums.

Thursday, February 19, 2009

Flickr tool to detect astronomical things of interest

A neat Flickr tool to detect astronomical things of interest in photos. Blogged about by others here. This is just darn cool. See here for some pictures.

Saturday, February 14, 2009

Dying Freeagent Xtreme 1.5 TB External

Picked up a Seagate Freagent Xtreme 1.5 TB External at BestBuy last week. What a piece of dung. It lasted 7 days before it died. Not sure if I'll be able to recover the photos I copied over to it. If you see one of these on sale run away. It's not worth the headache.

Fortunately, it appears that only the USB connection died on the external case. I was able to recover my data by using the Firewire connection. Didn't have a chance to try the eSATA connection since I'm away from home but my faith in this thing is very low. Back to BestBuy it goes!

Wednesday, January 7, 2009

Windows Live Writer

I’m temporarily stuck using only a Window’s box so I thought I’d try out Windows Live Writer to see if it plays nice with blogspot.

Seems to work OK.

Monday, January 5, 2009

Gnash and Protocol Reverse Engineering

Techniques used by Rob Savoye to reverse engineer RTMP for Gnash will be presented at FOSDEM.