Soapbox for our furry friends.In a previous post, I mentioned something I really feel strongly about — pet adoption. If you’re looking for a pet, adoption is absolutely your best bet. Many of the animals in shelters are in perfect health, have sparkling personalities, and want nothing more than to be loved and cared for in a real home. There are an incredible variety of breeds, ages, and personality types (such as energetic, laid-back, or curious). Usually they’re in a shelter for reasons that have nothing to do with them Believe it or not, I just saw a beautiful lab mix dog last weekend, “Blackie,” who was turned out by his family. They quite literally threw Blackie out of the house. This sweet dog, though older, is housebroken and in good health (though with diminished sight since he’s getting on a bit). Thankfully these people’s neighbors rescued him and brought him to the shelter where he’d have a chance at a good life with a new family. That’s a pretty awful story in my book. I don’t know the family that threw out this lovely dog, but even if they were under a hardship, they could have simply brought him to a shelter themselves. Instead they basically abandoned him to the elements, which is even more terrible given how unusually cold it’s been here for the last month. I really hope Blackie can find a new family. Our dog, Dixie, ended up in a shelter through terrible misfortune. Her owner died, and there was no one to take care of her so she ended up at the Orange County Humane Society (here’s their official web site). When I first met Dixie, she had been in the shelter for three months and I’m sure she was despondent, in her own doggie way about the way her quality of life had diminished. (I know the shelter volunteers are wonderful, caring people who do their best to provide for the dogs and cats that end up there, but there’s only so much they can do with a small budget and many unfortunate animals to care for.) It was obvious that Dixie was a good match for us. She had a lot of spark and personality even though she was a little “down in the dumps” from being in the shelter so long. She was gentle and basked in attention, and when my family came to the shelter display to meet her, it was clear she was good with the kids too. We were definitely taken with this wonderful dog and wanted to give her a permanent home. She was fully vaccinated, tested, spayed, and microchipped* when we got her, and she’s great with the kids, loves attention and play, is bubbly and effusive, and just an all-around fantastic dog. I still can’t figure out how we lucked out with such a wonderful dog — and why Dixie had been in the shelter for so long, over three months, without being adopted! But I think a big part of it is there are so many people who don’t understand just how many beautiful, loving animals are in shelters waiting for a family to love and care for them. Seriously, there are a lot of them! And with so many wonderful animals in need of a “forever family,” it makes absolutely no sense to me to buy a “new” pet. Sure, I’ll freely admit that Dixie’s and Blackie’s stories really touch a sympathetic nerve. But I’ve always thought that we as a society should not be encouraging the sales or breeding of “new” animals when there are so many abandoned or unfortunate pets out there who need homes. Personally, I think buying “new” animals supports a system that encourages the attitude that domestic animals are disposable. It makes it convenient for us to forget the hundreds of thousands of pets in need who want nothing more than someone to love and care for them. Completely putting aside the emotional appeal of taking in an unfortunate pet, and just looking at a practical aspect like finances, it’s even more incredible that people will pay outrageous amounts of money for bred animals, when an equally wonderful or even superior pet from a shelter is so inexpensive. For example, Dixie cost us something like $200 to adopt from the Humane Society. She was already spayed, tested, and so on — all costs that we saved by adopting this loving girl into our home. Of course, just because a pet is previously owned doesn’t mean they come to you with no work required on your part — you still have to be a good owner. But they do have memory and can re-adjust quickly, and a lot more easily than training a young animal from scratch. For instance, during her three month stay in the shelter, Dixie had forgotten a good deal of her housebreaking training. (If you were forced to stay in a tiny prison cell for a long time, and were only allowed use of a separate bathroom facility once a day or less, you’d probably be a little off-kilter in your toilet habits, too.) So there were a couple weeks after we got her where we had to make a special effort to re-housebreak her. But it was certainly no harder than what anyone would have to do with a “new” puppy; in fact, it was a lot easier because Dixie quickly adjusted, remembering that there are some behaviors a dog should save for outside. OK, I know I’ve rattled on here a bit, but I really feel strongly about this subject. I hope if you’re considering buying a pet you’ll visit the shelters in your area. In fact, you don’t even have to go anywhere. You can use online search systems like Petfinder to find a compatible critter that’s waiting for someone just like you. It’s practically a guarantee that if you look, you’ll find a wonderful companion who will give you years of unconditional love. By the way… if you look at the OCHS web page, you’ll find Dixie on their “Furry Tails” page, which features pets who’ve found their forever homes and families. * A lot of pets have subcutaneous microchips, implanted relatively painlessly by a veterinarian. If a pet is lost and picked up by a shelter or animal control, they can be returned to their owners, or at least their records can be located to more effectively find them a new home. |
Presents for everyone!Even though I’m on vacation, I had some fun catching up with some geeky Fedora work, like handling bugs and package maintenance over the last few days. It only took me a few minutes at a time to do something useful for (hopefully) many other users. Along the way I was helped by other contributors, like Kevin Fenzi, who did a package review for me, or bug reporters who tested a package update. Among the things I got done:
Some of these things had been on my “to-do” list for a few weeks, but I didn’t have time for them during busy workdays. Since my evenings and weekends have been pretty full this was a great opportunity to scratch some of these things off my list. I also got to work more on my PulseCaster project, although I haven’t yet made the sweeping interface changes that I’d like for the next version. I also bought the pulsecaster.org domain for it, in the hopes that will spur me to work even more on it over the next few months. I fixed a couple workflow issues in the interface and was able to remove a little code with some “create on demand” dialogs rather than putting them in the Glade file. I’m still hung up on needing some additional and more complicated Python pieces, like querying the volume level of a source or sink so I can introduce a VU-meter like control as part of the interface changes. But in the meantime, I’ve started to get much better and faster at implementing ideas in PyGTK. I’m not sure my coding style is as good as it should be, but my understanding of concepts has gotten fairly good, so I can translate PyGTK API docs into the ability to do something. I gave a couple conference speeches over the past year on PyGTK that I hoped would give other people in similar shoes — people who can write scripts but aren’t familiar with GUI programming — a primer that allows them to “cross the bridge” into exciting new territory. Lest my family oriented friends think I’ve been shirking my domestic obligations, or failing to use my PTO to rest and rejuvenate, I also did a lot of relaxing personal and family things over the last few days. Some of these things were responsibilities even if they were fun, or a nice change from work or geeky stuff. The funny thing is, most days since I went on PTO I’ve been getting up at about 7:00 or 7:30am so as not to waste the whole morning. For me that’s at least somewhat a luxury, since I normally get up at 6:00am for work. Here’s some of the things that extra time allowed me to get done, even if I threw in an hour or two of work on geek stuff each day:
I also got to do some completely selfish leisure stuff, like trying the new Sam Adams Infinium (I give it a 90 on the beverage scale), playing our new piano and some guitar, and hanging out with our dog Dixie — the world’s greatest pound puppy! Speaking of pound puppies, a quick step up onto the soapbox here: If you are looking for a pet this holiday season, or whenever, please adopt one from a local shelter. I’ll write more about this in another post later, but I wanted to throw that plug in here in case you’re one of the numerous people who might get a pet during or after the holidays. We did a little share of unhappiness thrown into vacation, though. First, my ’00 Accord ended up needing a new transmission, which is going to be rather expensive. However, we’re very fortunate to be able to handle it without any real financial discomfort. Not everyone these days is as lucky, so I try not to take that for granted. My brilliant and dedicated colleagues and coworkers at Red Hat have made that sort of security possible, and I’m very thankful for all their hard work! This vacation time in part allows me to hit the ground running in 2011, so I can continue to do likewise by them. The other disappointment is that my mom took ill yesterday, and is feeling really crummy today. That means she and her hubby won’t be coming to Christmas Eve dinner this year as they usually do. Eleya has put together a really scrumptious menu for us, and certainly we’ll still enjoy it, but it’s too bad it’ll just be us, with no company to share it with. But then again, we’re really fortunate to have each other and a bountiful meal to celebrate the holiday — and tomorrow we get to visit my sister where we’ll see the rest of the family. Anyway, that’s a big update on all my doings of late. Wherever you are, and however you choose to celebrate the season, I hope you have a fantastic time and that you get to spend it with friends and loved ones. |
Is your heart fonder?That’s the longest break I’ve ever taken from blogging: 36 days without a post. At first I was just too busy for a week. Then as time went on, I had more and more things I was thinking about blogging — the pile of ideas kept getting bigger. Finally the sheer size of the pile and number of possible choices became overwhelming. I was a victim of too many choices. I decided to break the stalemate by putting aside all of the ideas and starting with one new one, which is to talk about the tools I use to be more efficient and productive at work. What I use might not be right for everyone, but perhaps you’ll see some idea here that can help you with your job or your hobby, and be happier with your effectiveness. I was inspired by John Poelstra’s recent post on The Drug of Distraction to write about this subject. Email is the lifeblood of most information-oriented jobs now, and especially one revolving around open source or a globally dispersed company. Both of these characteristics are part of life at Red Hat, of course! It’s really important to have a way of dealing with email that makes your work more efficient. For me that comes down to two major considerations. There are others, of course, but they’re not quite as important as getting these two right. That’s my email client, and filtering. First is your email client. For a long time I was a relatively happy user of Evolution, the GNOME personal information manager that helps you manage email, calendar, tasks, and addresses. It’s a robust, full-featured program and I still think it’s a wonderful piece of work even if it has its issues. And honestly, what software doesn’t? However, what I found was that there were a couple of factors that were causing me to lose a lot of time in reading and processing email. By “processing,” I mean performing whatever task is appropriate for a specific piece of email. That might mean deletion, or it might mean responding immediately, or something in between. Evolution allowed me to have several windows open at once where I could be drafting many different emails. I could make a start, then put the compose window aside to work on something else, or process another more important email before finishing. And for me, that turned out to be a drawback. It encouraged a lack of focus on what I was doing, so that by the end of the day I had a bunch of unfinished responses — and the concomitant feeling that I was a failure because I wasn’t getting the responses out. I was letting my tool usage affect not only my output, but the way I felt about my performance! (You could of course say that the fault here was mine, not my email application. After all, why can’t I just focus better? And that would be a perfectly fair assessment. However, to change very deeply ingrained behavior takes a lot of time and effort, which I felt I could better spend simply doing work. And it’s probably arguable that changing my behavioral reaction to a windowed environment to optimize for how I deal with email at work wouldn’t necessarily be a net benefit in the general case of my overall computer usage. In any case, I don’t want this to come off as an indictment of Evolution, which I think is a great piece of software.) Another factor that was hampering me was the way I was accessing my email through the client — IMAP in this case. Each time I wanted to read or reply to email, I was hitting the network. I have a great broadband connection at home using Cox Cable — around 10-12 Mbps downstream and something like 2 Mbps upstream. But even so, latency delays (seek and retrieval) on the server is more of a concern than transmission time, and there was a delay of seconds every time I accessed email. And with hundreds of email messages a day I was looking at — after filtering those I didn’t need to read — I was wasting a lot of time. With 500 email messages and, say, 3 seconds per email on a good network day between retrieval and response (this is a conservative estimate), I was losing 25 minutes a day assuming response time was good. Over the course of a week, that’s over two hours! Two tools helped me wrangle my email to the point where I could reclaim every bit of those two hours and more. First was the Mutt email client, which is a text-based email reader. Like most text based programs, it has a bunch of keystrokes that you have to learn if you want to use it quickly. It took me about three days of use to get really accustomed to its interface, and most of two weeks to optimize my configuration. But once that was finished, I had conquered the focus problem in dealing with a GUI-based, windowing email client. I was responding to an email in a terminal as a single foreground operation, and when I was finished with my response, I would send it to return to the mail reader. Not seeing other email messages waiting for me (or arriving) as I composed helped me focus on the task at hand, finish it quickly, and return to processing other mail if needed. The second tool — or rather a combination of tools — that helped me immensely was offlineimap, for syncing email to local storage, and postfix for sending out email from my local system. Using this toolset meant that my network delays were a thing of the past. Recalling email from its stored location is instantaneous, and when I send an email, the response from the server is instantaneous as well. The email gets sent out as a background operation and if anything untoward occurs I get notified as with any other email service. The other major benefit of offlineimap is like other integrated clients in that it gives me a choice of when to sync my mail. I can either run the synchronization as a periodic background process, or as a one-time operation. I’ve come to greatly prefer doing this as a one-time operation because it keeps me from “riding my Inbox” all day. Nothing will kill true productivity faster than being on email all day, waiting for that next “important” message to arrive. Instead, I try to check email only a few times each day: (1) all mail in the morning after completing any other critical work; (2) important folders only, right before lunch; (3) important folders only, as an afternoon break and limited to no more than a specific time like 10 minutes; and (4) (optional) remaining mail before I leave for the day. This type of routine has helped me restrict my email processing time per day to a very reasonable amount of time — leaving me more time for work requiring heavy focus, deep thought, in-person contact, and/or dedicated writing or composition. The second consideration for email was filtering. Server side filters are the most effective in my opinion, because among other benefits they don’t rely on me having the same local configuration wherever I’m retrieving or processing email. I have a lot of filters in place both with my GMail account and my internal Red Hat email, to sort each list separately, and prioritize specific kinds of mail such as those that come directly to me from specific people (like my manager). These filters help me prioritize my email work, so that I don’t end up spending an amount of time on each list proportional to its list traffic. Certain lists, and of course my direct Inbox, are more important to me, and I handle those first. If I’m pressed for time I can defer all the rest. In addition my Mutt email client helps with this process because I have a routine to elevate specific mailboxes to the top of the list through which I cycle. I also practice judicious use of functions such as “mark thread as read,” avoiding spending too much time on discussions that don’t require my attention or input. Every six months or so I also make a practice of archiving old mail so that my mailbox searches, which usually are focused on the recent past, stay fast. More generally, using this combination of tools and routine helped me conquer an internal focus problem as well as an external latency problem. Again, while my choices may not be right for everyone, they really helped me. |









