User Tools

Site Tools



I both write and use a lot of desktop applications. I have several ongoing Windows projects that will probably never be fully completed. I might release the source of what I've done so far. We'll see.

You can always find my public projects at, which houses my git repos.

Articles in this section

      • ColdFusion: Browser identification in web applicationsplugin-autotooltip__default plugin-autotooltip_bigColdFusion: Browser identification in web applications

        I’m really, annoyingly, obsessively anal about browser compatibility in web design. Even if you’re convinced that none of your users will ever touch Opera, there’s no reason to not make sure your site is usable in Opera…or Lynx, or IE 5.5, or anything else.
      • Internet Explorer and images as form input controlsplugin-autotooltip__default plugin-autotooltip_bigInternet Explorer and images as form input controls

        I like to provide clear visual or textual cues for an application. In the admin interface for one of my apps, I provide a pretty easy way of rejecting or accepting form submissions for a class – a red “X” to reject, and a green checkmark to accept. In order to pass these actions to the ColdFusion page on the server side and rely on
      • Coldfusion 8 and Microsoft SQL 2005 : @@IDENTITYplugin-autotooltip__default plugin-autotooltip_bigColdfusion 8 and Microsoft SQL 2005 : @@IDENTITY

        There’s a handy little query you can run in SQL to retrieve the identity (primary key) value of a record you just created. So, you can do something like this:

        INSERT INTO People ( Name ) VALUES ( 'Joe' ); SELECT @@IDENTITY AS NewName;

        cfm index
      • ColdFusion: Generating and parsing RSS feedsplugin-autotooltip__default plugin-autotooltip_bigColdFusion: Generating and parsing RSS feeds

        One of my current projects at work has an RSS requirement. I’m redesigning the university’s policies website. My customers are concerned that other departments at Purdue have previously copied the content of a policy and placed it on a different site, which is problematic when policies are revised, superseded, or retired.
      • ColdFusion: Encrypting sensitive data in URL stringsplugin-autotooltip__default plugin-autotooltip_bigColdFusion: Encrypting sensitive data in URL strings

        On one of my current projects, I’ve found myself in need of passing sensitive data through a URL string. I could use an individual form for each link and pass it via POST, but I wanted to see what I might be able to do by way of encrypting the data. Turns out it’s quite easy.
      • JavaScript: Dynamic Form Element Namesplugin-autotooltip__default plugin-autotooltip_bigJavaScript: Dynamic Form Element Names

        Purdue, like a lot of enterprise-level organizations, uses LDAP to manage certain things. One of the advantages to LDAP is that it can provide information about users on a domain. Our organization uses some globally-accessible ColdFusion functions to quickly get user information based on user ID data.
      • TLA3000: Authenticating to Microsoft services with vanilla JavaScriptplugin-autotooltip__default plugin-autotooltip_bigTLA3000: Authenticating to Microsoft services with vanilla JavaScript

        One of my current projects is focused on improving the developer experience when it comes to getting up and running with the numerous cool things possible with Microsoft Azure.
      • PHP: Browser identificationplugin-autotooltip__default plugin-autotooltip_bigPHP: Browser identification

        Not too long ago, I wrote a short tutorial on using ColdFusion to identify the user’s browser and add extra browser-specific CSS files. Today, I found myself in need of similar functionality for PHP. The code isn’t quite the same – PHP doesn’t have a direct clone of CF’s contains decision operator; you have to use the
      • PHP: Dynamically generating images from textplugin-autotooltip__default plugin-autotooltip_bigPHP: Dynamically generating images from text

        If you’ve visited my site more than once, you might start to notice that the silly little tagline next to the logo in my header changes, in both content and appearance.

        This is accomplished by way of a fancy little bit of PHP. The image generation uses the GD library (with FreeType support), and the fonts are all TrueType.
        • Guest post: Checking user permissions on a Windows networkplugin-autotooltip__default plugin-autotooltip_bigGuest post: Checking user permissions on a Windows network

          Recently I needed to find out which folders a certain person was able to access on our Windows network. Apparently, this was extremely easy in Novell. Since it isn’t 1995 anymore, I tried to find a way to do this on the Internet. I couldn’t, so I set about making my own.
      • PowerShellplugin-autotooltip__default plugin-autotooltip_bigPowerShell

        PowerShell is Microsoft's interactive scripting engine, allowing you to create powerful scripts for many purposes. PowerShell can easily import and use any .NET library or type, making it very powerful for automation and sophisticated processing of dirty inputs, such as badly-formatted text.
    • Linode and sendmailplugin-autotooltip__default plugin-autotooltip_bigLinode and sendmail

      I would not have figured out all this if it hadn’t been for someone on the #linode channel with the patience to walk me through the steps.

      At any rate, when I moved abettergeek from Dreamhost to Linode, mail quit working in the forums. PHP has a built in linux index
    • Linux: Installing SSH2 for PHP5plugin-autotooltip__default plugin-autotooltip_bigLinux: Installing SSH2 for PHP5

      apt-get install libssh2-php apache2ctl -k graceful

      I just installed WordPress 2.7 today. Boy, is it exciting! The entire interface is different, and things can be accomplished much more quickly.

      One of the neat features is the ability to add and remove plugins from the web interface. Unfortunately, WordPress only works with FTP and FTPS (FTP over SSL) by default. I don’t have an FTP server installed on my Linode, so I decided to see if I could use SSH ins…
    • BetterTouchToolplugin-autotooltip__default plugin-autotooltip_bigBetterTouchTool

      Official websiteOfficial download This is a paid application to enable customizing the behavior of all your Apple input devices (remotes, keyboards, mice, touchpads, etc.) It's definitely worth the money for a lifetime license. Older versions that don't support current macos index
    • Hyperswitchplugin-autotooltip__default plugin-autotooltip_bigHyperswitch

      Official websiteOfficial download[A Better Geek mirror] This allows Cmd+Tab to behave like Window Alt+Tab, meaning you can switch between open windows as opposed to open applications. This particular behavior of the OS X and MacOS app switcher has never made sense to me, and I've always used third-party applications to fix it. Hyperswitch complains about being an expired trial every time it launches (i.e. when you reboot), but if you let it check for updates, it will let you use it a…
    • TotalFinderplugin-autotooltip__default plugin-autotooltip_bigTotalFinder

      TotalFinder is a Finder extension that adds some very nice features to the Finder. Apple finally introduced tabs, but they're kludgy and fat. TotalFinder slims down the Finder chrome so it's not so bulky, along with adding features like context menu file cut/copy/paste and dual pane mode, which is
    • Adobe Creative Suite 5 Folder Iconsplugin-autotooltip__default plugin-autotooltip_bigAdobe Creative Suite 5 Folder Icons

      I recently won a copy of Adobe Creative Suite 5 Design Premium…only to find out that there is no custom folder icon in OS X for containing all the different applications that are part of the suite. I decided to make my own icons, and they turned out so well that I’m releasing them here for the world to use – there are different icons depending on which suite you own (or which icon you prefer). Enjoy!
    • OS X : VNC from the command lineplugin-autotooltip__default plugin-autotooltip_bigOS X : VNC from the command line

      Since OS X 10.4 (Tiger), Apple has provided a remote desktop capability integrated into the operating system. However, unlike Windows (which uses a proprietary protocol called RDP), Apple chose to use the VNC protocol for their remote desktop server and client.
      • Fixing Firefox Quantum: Auto-hiding toolbarsplugin-autotooltip__default plugin-autotooltip_bigFixing Firefox Quantum: Auto-hiding toolbars


        I strongly advise against continuing to use Firefox in any capacity. It isn't secure and will not keep your online account passwords secure.

        With Firefox axing native browser plugins, there are a lot of things I can’t do in the browser anymore. Hiding the toolbars is one of those annoying things that the great gods of Firefox’s dev team have deemed an unnecessary and frivolous feature.
    • Maximizing Windows: Better screenshots with Greenshotplugin-autotooltip__default plugin-autotooltip_bigMaximizing Windows: Better screenshots with Greenshot

      Every once in awhile, I like to peruse Sourceforge for new, interesting open-source applications. I was looking for a good screenshot application several months ago, when I was working on writing help documentation on a project at my job. I’ve since found out that the help documentation software, Adobe RoboHelp, includes a very nice screenshot manager called RoboScreenShot. This application, however, is not free, and I’m always interested in…
    •’s Windows Gadgetplugin-autotooltip__default’s Windows Gadget

      I rather like, which has recently been migrating to a new site, I buy stuff online a lot (mostly eBay these days), and having a single place to track everything is awesome, especially since I can get email alerts and the like.win32 index
    • Microsoft PowerToys for Windows XPplugin-autotooltip__default plugin-autotooltip_bigMicrosoft PowerToys for Windows XP

      This is a small collection of tools and utilities that were released by Microsoft in the era of Windows 9x and XP. They are mirrored here. The descriptions are also mirrored from Microsoft's page, which is now only available through

      Alt-Tab Replacement
    • VMWare – Installing a virtual machine on a physical disk in Windows 7plugin-autotooltip__default plugin-autotooltip_bigVMWare – Installing a virtual machine on a physical disk in Windows 7

      We recently started working on an old Unisys Aquanta EN (which is a rebranded Acer AcerNote Pro 950cx) for the lulz. However, since the thing won’t boot off any external disks and we have no internal floppy or CD-ROM module for it, it turned out that getting an operating system onto it wasn’t so easy. After several hours of fiddling with USB sleds and other possible solutions, we gave up on doing it directly to the hardware.…
    • Setup a webcam stream in ten minutesplugin-autotooltip__default plugin-autotooltip_bigSetup a webcam stream in ten minutes

      I have friends all over the world. Once in awhile, I make use of the various webcams I own and do a little video chatting. Getting video chat to work well will be for another day – something I learned recently, however, was how to setup a live stream on a webpage. It was surprisingly easy, and works in both Windows Vista and Windows XP.win32 index
    • X-Mouse Button Control (XMBC)plugin-autotooltip__default plugin-autotooltip_bigX-Mouse Button Control (XMBC)

      This is a very simple mouse button remapping application that uses a win32 mouse API that has been included in Windows since XP. It's a relatively limited application as a result, but it does what it says on the tin very efficiently.