• Jonna and I spent a relaxing four days in Vegas, and then a good deal of today getting our pictures up to our Flickr accounts. Each of us took a camera on this vacation. There’s a bigger post coming, but hey - I’m on vacation. Here are the links: Ron’s Photos and Jonna’s Photos. (0)

“Pinot Evil” Wine Bottle Label

Tagged with: , ,

Slow Blogging Days

Its been really slow up here lately and its been bugging me. The problem is, I’m generating a ton of content but most if it is for work. Things have been extremely busy and by the time I get home and open up Ecto to get a blog post done, I’m just tapped out.

The good thing is that I feel like I’m getting a lot of things done lately. We are on a really big documentation kick (or at least I am) on the wiki front these days and using the wiki even for basic project management, which is working out really good for us. There’s no better time to create technical documentation for something your working on than while your doing it, and having a documentation wiki winds up being really useful when you approach using it during a project rather than after the fact.

I’ve also been reading Working Effectively with Legacy Code by Michael Feathers. I found out about this book when we had Mr. Feathers come in and give a 3 day workshop on refactoring and test driven development, an area I’m really pushing my team to focus on this year. I’ve been doing a little coding these days and applying some of the techniques in this book and, for me, its made all the difference in the world. I definitely recommend the book highly.

So the bottom line is, I am producing a ton of content and feeling relatively productive these days, you just can’t see it on the blog right now. As the weather warms up and work lets up a bit in the next few weeks (or months), I hope to get back to regular postings - because even for me the daily bookmarks aren’t working.

I’ve been a tad stressed out, so I’m going to be taking a few days away from “computer stuff” (starting tomorrow). It’ll be kinda nice to not have a keyboard in front of me for a bit.

Related posts

Tagged with: ,

links for 2007-03-23

Tagged with:

links for 2007-03-21

Tagged with:

links for 2007-03-20

Related posts

Tagged with:

Breathing Room

Photo by rbieber

My recent upgrade to an 80G iPod gives me way more breathing room than I had with the 20G, and I can finally carry family photos around to boot!

Related posts

Tagged with: , , , , ,

links for 2007-03-18

Tagged with:

links for 2007-03-13

Related posts

Tagged with:

Building Scalable Web Sites by Cal Henderson

I have about three books that I am reading on and off but have been unable to focus on any of them for any length of time. Tom The Architect mentioned a book to me a few months ago called Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications by Cal Henderson, engineering manager for the Flickr photo service, a service that I have used extensively since being turned on to it by, you guessed it, Tom The Architect.

This was the first book in a long time that I couldn’t put down, mainly because everything in the book is geared towards teaching you about how to create really, really, big web sites and the issues involved in scaling them. It was also quite intriguing because the book covers tools you use all of the time, like PHP and MySQL that are hard to find really good books about how they scale.

Cal covers a lot of material in this book, from layering your web application architecture, to creating an environment for developers to work in, which includes source control, issue tracking, coding standards and the like. This section was quite encouraging to me, as we have implemented almost everything that Cal mentions in the book (sometimes its nice to get some external validation). Cal then goes on to talk about internationalization and localization, data integrity and security, using email as an alternate entrance into your application, and how to build remote services.

All of this was great, but the next few chapters I found really valuable. Cal talks about identifying bottlenecks in your web application, scaling applications such as MySQL (where he covers quite a few replication strategies) and scaling storage. He also covers measurements, statistics and monitoring. Finally, Cal talks about adding API’s into your application to support mobile applications, web services, etc.

Cal references quite a few tools that are freely available in these discussions - tools that I didn’t even know were out there, that you can use to simplify your monitoring environment. I was most intrigued with the Spread Toolkit, a self described “a unified message bus for distributed applications” that allows you to unify logging across your applications. Anyone who has tried to debug an issue on a site that has more than one box would appreciate knowing about this tool.

This is the first book that I’ve read in a long time, technology wise, that hit the sweet spot between talking about real issues that I have been facing and possible solutions. I highly recommend grabbing this book and in the very least just keeping it on your book shelf for future reference. This is one thats going to be a constant companion for me in the coming months.

Related posts

Tagged with: , , , , ,

links for 2007-03-08

  • “Spread is an open source toolkit that provides a high performance messaging service that is resilient to faults across local and wide area networks.” - got this from Cal Hendersens excellent book Building Scaleable Web Sites
  • mod_log_spread is a patch to Apache’s mod_log_config, which provides an interface for spread to multicast access logs. It utilizes the group communication toolkit Spread, developed at Johns Hopkins University’s Center for Networking and Distributed System
  • memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

Related posts

Tagged with: , ,

  • Check out this awesome video posted on the 37 signals web site last Tuesday. I’ve always enjoyed Tarantinos dialog, but this adds a whole other dimension to it. (0)

links for 2007-03-07

Related posts

Tagged with:

links for 2007-03-06

Related posts

Tagged with:

links for 2007-03-05

Related posts

Tagged with:

links for 2007-03-03

Related posts

Tagged with:

The Shoemakers Son Always Goes Barefoot

The other night the ignition switch on the furnace went out in the house. I watched as Jonna spent a ton of time searching for the contact information for the guy who came out the last time we had a problem. It took quite a while to find the information, but finally she found it. When she got a hold of him, he started asking questions about a blinking light on the furnace. We had no idea what he was talking about, but I did remember he gave us information last time he was here - I just couldn’t remember what it was.

Yesterday as I was driving to work, I was reflecting on the activities of the night before. Why did we not have this information available when we needed it? Where could we put it so that if something happened again, we could have it readily available? How can we take these kinds of notes effortlessly and ensure that we know where we put them?

Then a stark realization hit me. We’ve already solved this problem - at work.

In early 2004, at the urging of one of my direct reports, we installed wiki software at the office to solve just this problem. All of our information was scattered around network drives, none of it really searchable. Doug was very into Python at the time so we chose ZWiki, a wiki package that runs on the Zope application server. We used that for about 1 1/2 years until we finally bit the bullet and moved to MediaWiki, where our information repository lives today.

We actually have quite a knowledge base going there now, everything from detailed process information, to configuration information, to even some projects that are being managed on the platform, with detailed information about all of the issues encountered, configuration information, and the like. It has become a one stop shop for all information related to our environment.

And I’ve been the primary champion since it was installed.

This was when, as I was sitting in the car pondering this, that the title of this post came to me. The old adage is true. There are so many problems that we solve in our daily business lives that never get resolved in our personal lives, and vice versa. Its amazing to me that while we’ve done so much at work to centralize the information in our department (while decentralizing the authoring so that if something is found to be wrong it can be corrected) that I never thought to apply this at home to keep all of our information straight here. Instead, Jonna spends countless amounts of time searching through kitchen drawers for information on service providers and I sit trying to remember that one valuable piece of information that the furnace guy absolutely needs so that he can arrive and fix the part, rather than wasting trips to and from our house to first diagnose the problem, then go get the parts to fix it.

So, I’ve spent this morning getting MediaWiki running here at the Labs. Hopefully, I can motivate the family to use it as we have motivated our employees to use it at work to keep all of our important information centralized and updated. Its a simple thing to set up, but can be rather difficult to socialize. Luckily, we only have 5 people here, so the socialization might be a tad bit easier to do.

How many things do you struggle with at home that have been solved for years at work? Maybe you even had a hand in solving them, but the solution never seeped into your life outside of work?

This was a major “AHA” moment for me this week and I’d love to hear about other people who might have similar stories.

Related posts

Tagged with: , ,