Wez Furlong I am Wez Furlong, Chief Software Architect at Message Systems. We're responsible for building an awesome Messaging Platform.

I'm also a PHP Core developer and OpenSource contributor, residing in Maryland, USA with Juliette, Xander and Lily. (read more)

Subscribe. (circulation 928)
Comments. (circulation 8)

Search powered by Google

mtrack: now with OpenID and reCaptcha support

14th February @ 15:01 EDT
updated 14th February @ 15:16 EDT

Some of the feedback and questions that I've gotten about mtrack were around making it easier to deploy and use in an open or public facing environment.

To that end, I've added support of OpenID authentication and bot detection via reCaptcha.

To enable these features is quite simple; for OpenID, add the following lines to your config.ini file:

[plugins]
MTrackAuth_OpenID =

continue reading …

by Wez Furlong in .

mtrack: a software development tracker + wiki

21st January @ 11:12 EDT
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.

continue reading …

by Wez Furlong in .

Jumpstarting PDO

25th October 2009 @ 13:32 EDT
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.

continue reading …

by Wez Furlong in .

EvilDesk now on BitBucket

8th June 2009 @ 00:00 EDT

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!

http://bitbucket.org/wez/evildesk/

by Wez Furlong in .

CouchShare now on BitBucket

7th June 2009 @ 22:55 EDT
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.

continue reading …

by Wez Furlong in .

toshiba hotkeys on solaris

22nd August 2005 @ 00:52 EDT
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.

continue reading …

Dead laptop disk == more linux hacking

21st June 2004 @ 11:16 EDT
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).

continue reading …

by Wez Furlong in .

Whirlwhind review of php|tek 09

24th May 2009 @ 03:03 EDT
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.

continue reading …

by Wez Furlong in .

Getting IT Done

20th May 2009 @ 18:15 EDT
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

by Wez Furlong in .

Seven Things

2nd January 2009 @ 23:56 EDT
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:

  1. I have 6 siblings: 1.5 brothers and 2 sisters.
  2. I used to live in Spain and crossed the border to Gibraltar twice daily getting to and from school.
  3. 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.
  4. 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.
  5. 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).
  6. 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.
  7. 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:

continue reading …

by Wez Furlong in .

Impressions of the Amazon Kindle

22nd October 2008 @ 00:02 EDT
updated 22nd October 2008 @ 00:03 EDT
Technorati Tags:

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.

continue reading …

by Wez Furlong in .

Wanted: Senior Backend Web Engineer

11th September 2008 @ 12:33 EDT
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.

continue reading …

by Wez Furlong in .

Would you like to work with me?
I have positions open for server/infrastructure software development (C) and QA.

Ohloh profile for wez