Home and End keys Fixed on OS X Firefox

Praise be…intrepid OS X user Jim Mendenhall has fixed the behavior of the Home and End keys for the OS X version of Firefox.

A C# "Hello, World!" for Carbon

I’ve started work on a MacOS X port for my (up-and-coming) simulator. I fooled around with Cocoa# for a while, but it didn’t fit into my cross-platform architecture particularly well. I opted for Carbon instead. I didn’t find any existing .NET bindings for Carbon, but since my needs are so narrow I just rolled my own. What follows, in case it is useful to someone else, is a "Hello, World!" Carbon application written in C#. It includes bindings for all of the Carbon types and methods it uses, just build and run.

Cannot find assembly 'nunit.framework.dll'

When Mono installs the system assemblies, it puts them into a GAC at /usr/lib/mono/gac. It also creates a symlink to each assembly at /usr/lib/mono/2.0 (I’m using gmcs here). When you list a system assembly as a reference, Mono looks in the latter directory, finds the symlink into the GAC, and links against it. All is well.

Unfortunately, the NUnit assemblies don’t follow this protocol.

Getting Things Done With Google

Update: I have updated the article in response to the (excellent) comments. In particular, I have added several screenshots and more information on how I get information into Google Notebook.

I've been using David Allen's Getting Things Done for a few years now and I can't recommend it highly enough. I get more done in less time. I spend much less time and energy figuring out what I need to do next. It has freed up mental cycles and allowed me to start focusing on bigger goals. And it makes me look good at work, where I have sailed through major crunches without breaking a sweat on more than one occasion.

If you haven't read the book this article might not make much sense. You really ought to go get the book -- it is inexpensive and will pay for itself in no time at all!

I've tried several different methods and applications for managing my action lists and projects, with various degrees of success. I spent the last year using paper (the Hipster PDA) for my action lists, with project information stored on the computer. Now I am entirely online -- on Google to be specific -- and I only carry paper for capturing new items.

Drupal On SourceForge

Drupal is a scary-powerful open source content management system. It is a great tool for running community projects such as…oh, let me think…open source software, yeah that’s a good one. The best place for hosting open source projects is SourceForge, but they’ve got all kinds of crazy hosting rules, regulations, and flaming hoops to jump through. I ran the gauntlet and got it working, read on for the blow by blow.

Drupal + Subversion = 403 Forbidden

I just set up a new development server, hosting both Drupal and Subversion. Everything seemed to be working fine until I tried to add a new file to the Subversion repository, at which point I got a “403 Forbidden” error. I guessed that the problem was Drupal’s .htaccess file and it was, but I had assumed it would be a mod_rewrite rule, and it wasn’t. The culprit actually ended being this line:

ModRewrite on Ubuntu

I just spent way too long trying to get “Clean URLs” to work in Drupal. Let me spare you the pain.

Subversion, Ho!

My development server is now up and running, whoop! The next big step is to install Subversion and create a web-accessible repository. If you aren’t familiar with it, Subversion is a top-notch, free revision control system. You put documents into it and it keeps track of every change you make. If you screw something up, or accidentally delete something, Subversion can help you get it back. This is not just a programmer’s thing, it works great for office documents and art assets too. I have a personal Subversion repository on my home PC and I put everything in there. Read on for the blow-by-blow.

Home Server: Setting up LAMP

I am configuring a new server on old hardware to use for Subversion, issue tracking, and content management among other things. I’m using the tag server to chronicle my adventures.

To get started I am going to need a LAMP stack, where LAMP stands for Linux, Apache, MySQL, and PHP. These foundation products enable a whole range of web-enabled services, including the three I am currently interested in: Subversion, Mantis, and Drupal. Read on for the nitty-gritty.

Bootstrapping: A Home Server

I was already in the process of repurposing an old laptop to use as a music station down in the basement. Now I am going to take that same box and turn it into my development server. Not that it matters much, but the box is a fairly old (six years?) Dell Inspiron 8000 laptop: 700MHz Celeron, 256M RAM, 10G HDD, ATI Mobility M4 video. And one of the nicest keyboards I’ve ever used; shame that they phased it out. Anyway, a pretty low-tech box but perfectly sufficient for my purposes. I figure that for starters I will need at least: