Software

MinGW/MSYS Vista Issues

The MinGW and MSYS environment has a couple of problems under Windows Vista:

First, the install, install-info and patch commands are flagged automatically by Vista as requiring Administrator privileges based simply on their names. Nice. This will cause mysterious permission denied errors during builds. The UAC dialog won't pop up in this case either.

The fix is to add ".manifest" files for each of these commands in the same directory as the command. The manifest file looks something like this:

install.exe.manifest:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86"
     name="install.exe"
     type="win32"/>

  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="asInvoker"
          uiAccess="false"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>

Create and edit one of these for each of the commands above. If you have Cygwin, you can copy them from /cygwin/bin.

The second problem I ran into under Vista is that tar operations on gzipped or bzip2 files will frequently fail with a "child died with signal 13" error. It appears that the MSYS versions of gzip and bzip2 have issues under Vista. I can use the Cygwin versions in their place with no problems. If you're using MSYS to build packages, be careful with having cygwin in your PATH however.

Free Virtual Machines for Windows

I recently had the need for a virtualization solution for Windows to host some Linux-based embedded development tools. Not wanting to shell out big bucks for one of the commercial solutions, I decided to check out some of the free options.

Supporting the Eclipse Project

image

I just donated to the Eclipse Foundation and became a "Friend of Eclipse". I've been using the Eclipse platform for years for a variety of applications both professional and personal. It has certainly paid me, so I thought it was time to give a little back.

ATF, we miss you

One of the reasons I donated was to help support the PDT (PHP Development Tools) and ATF (AJAX Tools Framework) Eclipse projects (although I also use the Java and C/C++ tools pretty heavily too). PDT is rapidly become the standard platform for PHP development and ongoing work on the project has been robust.

The ATF is a great project, but has been a bit resource starved for the past year or so. ATF allows you to integrate with your favorite AJAX toolkit (like Dojo, jQuery or whatever) and then develop and debug Javascript code using the embedded Mozilla XULRunner. It's a very slick way to develop Javascript code without shelling out big bucks for a commercial package. Unfortunately, the last stable build was released nearly a year ago and doesn't run on Ganymede (the current version of Eclipse).

Hopefully, we'll see a new release from the ATF project soon.

D-Bus gotchya

I happened to need to compile some D-Bus code and ran into a compile error:

dbus-example.c:8:23: error: dbus/dbus.h: No such file or directory

I checked to make the D-Bus development headers were installed and they were. A little Googling shows that others commonly run into this as well - the problem is that the D-Bus headers aren't included in the default compiler include path. You you need to explicitly specify them with:

gcc -I /usr/include/dbus-1.0 -I /usr/lib/dbus-1.0/include -ldbus-1 -o dbus-example dbus-example.c

Twitter badge hack: Turn URLs into links

TacoQuest has a cool Twitter badge hack to turn URLs in tweets into links. I modified his hack slightly to just show the URL instead of "link". Logic being that the URL had to fit in the tweet in the first place, so they usually look OK on my badge.

Here is my modified hack (read the TacoQuest post first):

twitters[i].text = twitters[i].text.replace(/(\bhttp:\/\/\S+(\/|\b))/gi,"<a href=\"$1\">$1</a>");

Work-around for IE Twitter badge bug

If you use the HTML/Javascript Twitter badge, you've probably noticed that it has issues under Internet Explorer. It will generally work the first time a user hits the page, but if the next time, the badge will not show a tweet list. Here is a work-around you can use if you have access to your blog's code.