Wez Furlong

I'm an experienced software engineer and entrepreneur. A lot of what I've built over the years is Open Source. If you've ever browsed the web or received an email there's a strong chance that my software was involved. You can learn more about me over here. I offer Mentoring services!

Find me on @wez@fosstodon.org.

Blowing out some cobwebs

It's been a long time since I last wrote anything new here, so long in fact, that BitBucket killed their Mercurial product which was hosting a number of my Open Source projets, Google killed their analytics product (and migrated it to something else that I don't care to adopt), and my hair has turned mostly silver!

It's long overdue for a bit of a dusting out of cobwebs, and I fancied a bit of a change from my normal weekend activities, so I sat down to do that this weekend.

For some time now, dependabot has been nagging me about some ruby ecosystem security issue or other as a result of this site being based on Jekyll, and I desired to never see such a thing again. So, as part of dusting things off, I migrated over to Material for MkDocs.

What's changed? Not too much really; I've updated some of the information about me and my projects and added a more recent photo. The fanciest part of this update is that there is now a Dark Mode!

Does this mean you're going to start blogging more regularly than once a decade!?

I'm not sure. If there's something you'd like me to talk about here, @-me on fosstodon and let's see.


A couple of days ago we announced Watchman on the Facebook Engineering blog.

Watchman watches files and records information about them as they change. You can arrange to trigger build or test steps in response to changes in matching files, but the main the reason that we built it was so that we can instantaneously query file status for a set of files.

Watchman maintains a view of the filesystem that is kept in sync using kernel filesystem notification facilities. This view is indexed so that we can quickly return information about the watched portions of the filesystem and also query the set of files that changed since a given point in time.

Diet + Weight loss

This year one of the changes I made was around my eating and exercise habits. I managed to lose 30lbs in just under 3 months. I wanted to share how I did this because it seemed much easier than I thought it would be.

My Facebook Adventure Continues

I'd promised a couple of folks back in Maryland that I'd keep updating this blog to let them know what I'm getting up to. I'm a little overdue on this, but it does mean that I get to write a more substantial update. (I post much more frequent but smaller updates on my Facebook timeline!)

As I write this entry, Juliette, Xander and our two dogs are having their final sleep in our house in Maryland. It's taken a bit longer than I'd hoped, but in the morning we'll be reunited and can really get this new life going.

My Facebook Adventure

Earlier this year I made a difficult choice: to leave Message Systems and join Facebook.

I moved countries to work with OmniTI/Message Systems back in 2004, and I've worked with the team for almost 8 years, seen things grow from a couple of engineers and a sales guy to a company with multiple offices in the USA, Europe and Asia/Pacific. In my time with the company I've learned a lot about many things, worked hard with some great people and had good times.

So why leave? It was time to try something new. My day-to-day had settled into a fairly repetitive and steady pattern and there wasn't a huge amount going on in the neighborhood where I lived; rural Maryland isn't exactly a hotbed of activity! Add to that the oppressive humidity in the summer and the snow in the winter, I felt like I was never really all that comfortable getting out of the house.

So it was time to try something new, and the time was right to give Facebook a shot.

Ideas of March

This time last year, Chris wrote about blogging and how Twitter has reduced the quality of online discussions by shifting the focus from longer form discussions to shorter tweets. He was hoping that he could foster something of a blog revival, and did for a while.

This year Chris is hoping for more of the same, and invited a number of folks to join in to see if we can get some more momentum going.

I personally prefer reading blogs to reading things on Twitter:

  • I like being able to focus on things for more than a few words at a time, and find the broken/abbreviated form of English that texting and twitter encourage to be borderline disrespectful towards the reader--if you've got something worthy to say, take the time to say it properly!
  • I can more easily find and subscribe to writers of content that I like.
  • I can read the content on my time-frame, rather than being compelled to watch the twitter stream to catch what's going on.
  • I can more easily search and find the things I'm looking for.

I also like to blog, but have found it difficult to make time to turn out content of the quality that I prefer. I hope to change that this year, and blog some more. I'd also like to see you blog more too.

Node.js - First Impressions

I've spent some of my personal time over this past week looking into Node.js. I'll be up-front in stating that my efforts have not been particularly broad, but I have gone reasonably deep into the parts that I looked at.

I've been building evented systems for more than a decade, mostly in the "C" language, so Node is particularly interesting to me; it blends an evented I/O model with the Javascript language in such a way that it doesn't feel like a continual struggle.

To get a feel for Node, I decided to look at what it would take to get some kind of mtrack implementation running on Node; don't get too excited, I didn't finish anything worthy of public scrutiny.

For the purposes of the experiment I selected Riak for the data storage solution; it has a compelling mixture of document storage, full-text searching, secondary indices and map-reduce facilities.

Two Factor SSH on Joyent SmartMachines

After reading this scary blog entry about domain hijacking I've been a bit concerned about brute forcing of credentials and have been turning on the two-factor authentication facilities that folks like Google provide for my gmail and personal domains.

I've just found out about Duo Security, a service that allows you to add two-factor authentication to your SSH server, Juniper VPN and even Wordpress blogs. Their service is free for up to 10 users and they start charging when you pass that threshold.

Read on to find out how to set it up.