mtrack: a software development tracker + wiki
updated 27th January @ 23:12 EDT
[Updated to add IRC and Google Groups links]
I don't know if it's just me, or whether everyone in software development finds issue tracking software frustrating and/or broken in some way. They're all either way too complicated to set up, configure or use (the Bugzilla's or the Jira's), or have annoying "features" (such as Trac's you-lose-your-edits-if-someone-else-changed-something).
We've been using Trac at Message Systems for several years now and have been enjoying its pragmatic approach of keeping the interface simple but expressive; just enough structure to be helpful but not too much that it intrudes. We've added/modified a couple of plug-ins to it to help track time and draw some graphs, but it has otherwise served us well.
However, we've got a couple of projects that have started to converge and overlap and it's frustrating to visit the two different portals to interact and stay on top of things. As we scale up our development teams even further (we continue to have bigger and bigger plans!) this will prove to be more widely frustrating.
Jumpstarting PDO
updated 25th October 2009 @ 13:35 EDT
Lukas is making another attempt at jumpstarting PDO development. I welcome this effort, and will do what I can to help fill in details and make suggestions. Unfortunately, I'm just way too busy with work to be able to commit to more than that.
I also wanted to share some of my thoughts on why PDO has been in a holding pattern for a while, so that more people are aware of it and can work to avoid repeating the same mistakes.
The first thing to note is that the guts of PDO were hard to develop. The PHP script facing API sounds simple enough, but the underlying libraries for each different databases work in different ways, and it was and is a challenge to build PDO in such a way that it can work in the most efficient way.
The second thing, which is really a follow-on from the first, is that the database libraries are complex and nuanced. Some are relatively simple (especially SQLite and MySQL) and others are complex in divergent ways (ODBC and Oracle). Making a great PDO necessitates having experts in each of those APIs and databases around as contributors, both for the core implementation and for unit tests.
EvilDesk now on BitBucket
I've opened up the code behind EvilDesk, my Windows Shell replacement, and made it available on BitBucket under the terms of the GPLv2.
Enjoy!
CouchShare now on BitBucket
updated 7th June 2009 @ 22:56 EDT
A few of my friends and associates may have heard me talk about the media server I've been running in my basement; I used to automatically transfer content from my tivo to a hard-disk in my basement so that I had more space for recordings on the tivo. Since most of the recordings that I want to keep are now available via Hulu, I haven't had much call to use it in the last 6 months.
So, what is CouchShare? It's a UPnP server that can share content from folder to an XBox 360 on your network.
It's written in PHP (and requires a tiny PHP extension to enable multicast support) and is written using the eventing framework that is part of the Alexandria codebase.
I wrote the code back in 2007 and it has served me well for a couple of years; it felt like it was about time I got off my backside and shared it with the world.
toshiba hotkeys on solaris
updated 7th June 2009 @ 21:13 EDT
Update: moved code to http://bitbucket.org/wez/toshutils/
Friday evening I sat down and wrote my first piece of solaris kernel code and an associated user-space application that activates the brightness up/down hotkeys for the LCD on my Toshiba Satellite M30.
I implemented a tosh_hci driver that can perform Toshiba Hardware Configuration Interface traps via an ioctl(2). This driver is really simple; the hardest part being the intel assembly needed to perform the trap (technically an inb instruction, not a trap).
The userspace code is a really slimmed down version of the code that I previously made available in my patch to the linux acpid. It currently only handles the LCD brightness keys because none of the features that the other hotkeys are supposed to invoke are currently supported by solaris/opensolaris.
Dead laptop disk == more linux hacking
updated 7th June 2009 @ 21:09 EDT
Update2: moved code to http://bitbucket.org/wez/toshkey/overview/
Update acpid now handles the brightness controls, displays the battery status in the ps list and emits power warnings once you're down to 15 minutes of power. I've also added a little non-root acpid client that will allow you to run your own stuff in response to hotkey events.
I suffered a dead (nearly; it's on its way out) laptop disk almost a week ago, and have been clawing my way back to normality.
As a side effect, I now own a Toshiba Satellite M30, which apparently has slightly more linux friendly hardware than my other Satellite (the one that's having issues).
Whirlwhind review of php|tek 09
updated 24th May 2009 @ 03:03 EDT
It's been a simultaneously long and fast week for me. I flew into Chicago last Sunday, ready for the PHP core developers meeting that we had planned for the Monday and Tuesday. My journey went like a charm; perfect timing had me parked at the airport, immediately on the shuttle bus to the terminal, straight through security and to my gate just in time to start boarding. The only minor hiccough was in finding the shuttle from Chicago to the hotel; it was extremely poorly sign-posted.
Anyway, I got to the hotel and ran into the British contingent of the conference, and we eventually found our way to a Mexican restaurant not far from the hotel, and then to the bar across several lanes of traffic from the hotel, where a fair quantity of alcohol was consumed by all.
The next day we headed downtown to the Microsoft offices for day 1 of the core developer meeting, where a number of internals issues around PHP 6 were discussed. This was a very productive session, and we earned the drinks that followed at the Map Room, although I opted out of the bulk of those and headed back to the hotel (yes, I'm getting old)
Tuesday was day 2 of the core developer meeting, and thankfully was held in the conference hotel; the journey downtown took the better part of an hour and I was glad to skip it. The agenda for this day was to look primarily at what we could clean up in the code for PHP 6 and whether we might need to introduce a PHP 5.4 to aid in that transition.
Getting IT Done
updated 23rd May 2009 @ 18:54 EDT
The slides from my "Getting IT Done" session at php|tek can be found on slideshare.net; Enjoy!
PS: I would be grateful if you were there and could rate the talk on joind.in
Seven Things
updated 3rd January 2009 @ 00:41 EDT
I'm usually no big fan of chain letters (it's the "or-else" part that I object to), but this current 7-things-tag going around is pretty benign, and I think it's a great way to get some insight into the people you're reading. Thanks to Elizabeth Smith for tagging me.
Anyway, here's some facts about me that you may not know:
- I have 6 siblings: 1.5 brothers and 2 sisters.
- I used to live in Spain and crossed the border to Gibraltar twice daily getting to and from school.
- I taught myself 6502 machine code on the C64 when I was 10. 'C' had to wait until I finally got my own Amiga at the age of 17; by that time it was already obsolete, but I'd dreamed of it for so long. The biggest barrier for learning 'C' for me was the sheer quantity of bad Intuition code examples floating around on Fish Disks and Aminet.
- I studied Electronic Systems Engineering at The University of York, where I discovered my first Unix system (IRIX) and had to retake my first year exam as a result of spending too much time in the "Spod Pit" (a room filled with Indigo workstations). In retrospect, that "inappropriate" use of time was instrumental in shaping my career.
- I once rolled into a 9 a.m. computer lab assessment with my partner wearing tuxedos after partying all night at a graduation ball. The lab supervisor said "let's assess you first, as you look like you've got places to go". (We aced that assessment; preparation was key).
- I've moved home on average about once every 2.5 years of my life, making my time in the USA one of the longer periods in one spot.
- I've been told that I have a distinctive look, which is probably largely due to my long hair. In the late 80's, early 90's, I used to have a flat top. Then I discovered Guns'n'Roses and Metallica and haven't worn my hair short since.
As for chaining, in no particularly significant order:
Impressions of the Amazon Kindle
updated 22nd October 2008 @ 00:03 EDT
I treated myself to a Kindle a couple of months ago, and I'm pleased to say that I've been enjoying it a lot. I've read just over a half-dozen books on it so far; some at home and some while traveling.
At first, the page turning buttons are a little frustrating because it is very easy to accidentally press them. This is something you train yourself not to do in pretty short order.
The screen is very clear and easy to read, and has a configurable font size to cater for the eagle eyed through to the bleary eyed. There's no back light, so you need to provide your own illumination, just as you would for a regular dead-tree book.
Wanted: Senior Backend Web Engineer
updated 11th September 2008 @ 13:26 EDT
I'm looking for a senior-level engineer to help extend the web-based dashboards for our messaging infrastructure platform.
This position reports directly to me.
While we don't face the traditional scale-to-the-world types of problems in our web UI, we do face some difficult UI and data scalability challenges.
If you're interested, please contact me via jobs@messagesystems.com.
Looking for a Trainer
updated 29th August 2008 @ 23:48 EDT
We at Message Systems are looking for someone to fill the position of "Technical Trainer / Curriculum Developer".
This position designs, develops and delivers online and in-person instructor led trainings on the Message Systems products and services for a variety of audiences including customers, partners and internal staff. You will design courses and instructional material for everything ranging from short informational quick-starts to multi-day workshops.
The audience for these training programs will primarily be mid-senior level Unix administrators, messaging anti-abuse operations staff, systems architects and other technical staff engaged in designing and maintaining corporate and carrier messaging infrastructure.
This is a full-time position based in Columbia, MD.
Would you like to work
with me?
I have positions open for server/infrastructure software development (C) and QA.
