Hart Blogs

The image verification code you entered is incorrect.

Darren's Blog

Darren on Jamba In the following postings I share some thoughts and experiences regarding life as a parent, home remodeling, technical tinkering, thoughts on things I've read, and an ever so occaisional rant. :-)

Make up your mind already

I stood in line at the rec center at 5:25am for pre-school registration, behind 5 people who had done their research and knew which class they wanted, and 1 woman who spent 20 minutes at the desk asking questions while the phone rang off the hook and more people lined up.... only to sign her kid up for 2 classes because she just couldn't decide.... then spent a few minutes trying to see if she could get her $50 back if she called back with a final decision later today.... wow... seriously?... sigh. dvh3 did get 1 of the 2 remaining spots in the class we wanted.

Cell Usage: What does it really cost to pick up the phone?

Many of you have heard my reasoning for not having a fancy cell phone. That extra $30-$40 a month for a dataplan just seems outrageous to me. That got me to thinking about my current plan. My wife and I share 500 minutes and pay $0.20 per text for about $54 per month. We never go over our minutes and one rarely would we even break even if we upgraded to an unlimiting texting plan. My service provider would like me to think I pay $54/500 = 0.10 per minute during the Anytime minutes and that all my other calls are "Free". I don't think of my usage that way. I pay $54 dollars a month and a certain number of "communications" for that. Most of those are about 1 minute long, and to make things simple, I'll consider a "Text" to be a 1 minute call. When I calculate the numbers that way, I pay $0.17 per minute or a whopping $0.47 per communication. Armed with this information, I now know that every time I reach for my cell phone I just tossed two quarters at Sprint. (Granted, I tossed them the quarters already, I'm just now getting to use them).

Notes: I deliberately excluded the cost of the cellular device. I don't include my computer in the cost of my home broadband bill, nor the cost of that 40" LCD panel in my cable bill. I'll exclude the cell phone from the monthly cellular service as well.

Git Rebase - The Missing Link

git-logo.png I've taken longer than many to get comfortable with git. I've become very comfortable with quilt and git consistently behaved non-intuitively (for me). A couple months back someone pointed me at "git rebase -i" - the clouds parted, heavenly rays shone down upon me, and all was well once again in the Zion in my head.

With quilt you work with patches, and you really need to have them well defined in your head before you start. You can get away with some lack of planning if your various patches are restricted to distinct files. More often than not for me however, my patch series work on a single file, or maybe two or three. Merging patches in quilt is ... well ... just like merging patches without quilt ... a flurry of filesystem commands and manual merging.

With git, you work with the source, and generate the patches from your changes. The git motto "commit often" is key to success here. I can start a project with only a rough idea of what needs doing and commit small changes along the way. When the project is done, I may have dozens of commits in my local git tree, none of which are functionally complete, and most likely won't even compile. With "git rebase -i" I can rearrange these patches, merge them, annotate them, and generate a series suitable for submission to LKML. Ahhhhh. I git it! Finally.

Getting Thing Done with Remember the Milk

rtm

Todos pile up, balls get dropped, and I search for solutions to managing the chaos. Several years back I found inspiration in David Allen's Getting Things Done (GTD) approach to task management. The simplicity of the various lists and the generic process definition that relied on no specific medium or implementation appealed to my need to customize and make everything my own. GTD seemed perfectly matched to a software application that could manage the various views and relationships of tasks, projects, and contexts. I tried various existing tools, but they each were cumbersome, slow, and unintelligent (forcing me to spend more time in the tool than I was willing to give). I went so far as to program my own, Braindump, which addressed my frustrations. While I accomplished what I had set out to do, the increasingly pervasive presence of smart phones, netbooks, and other internet devices were highlighting the rather crude single-computer usage model of my application. It also suffered from what every other stand-alone task manager suffers: lack of calendar integration.

Among the list of rejected applications years back was Remember the Milk (RTM). While RTM kept things simple and didn't burden the user with a rigid work flow, I felt (at the time) that its extrememly free-form nature would leave too much process enforcement to the user, making it as awkward and cumbersome as its competitors which enforced too much process internally. I was also just not ready to make the leap into the world of "cloud services". After catching a blurb about a new RTM Google Calendar gadget, I decided to give it another shot... and I'm glad I did. I read several other user experiences on using RTM for GTD, one in particular I feel is worthy of citing here as being influential in my approach: Guest Post: Advanced GTD with Remember The Milk by Doug Ireton.

GTD Overview

If you are already familiar with GTD, skip this section. For those of you that haven't been indoctrinated, allow me to present a very brief introduction to the principles of GTD. It's all about freeing your mind from thinking about what you have to do so you can focus on doing it. You need a trusted system to store information so your brain doesn't have to. The process itself is defined by five stages: collect, process, organize, review, and do. These stages are implemented using lists of tasks, or "next actions", and "projects" (work items that encompass more than one task). A key point about next actions is they are immediately actionable. They have no dependency on anything else. During the "do" stage, you should be able to open the next actions list and immediately get to work performing those tasks. Another core mechanism of GTD is the "context". By organizing your next actions by context, such as Calls, Errands, Office, and Home, you can easily see the tasks that you can complete at any given time, based on where you are (by a phone, in the office, driving between work and home, etc.). Lastly, a weekly review is critical to making GTD work. During this review, you review each of your projects and ensure they have a next action so you can make progress on them during the week. Before getting too far into constructing a task management system, I'd recommend reading through GTD.

GTD with RTM

GTD is essentially implemented as a collection of lists. This translates well to Remember the Milk which is just that - a set of user defined lists. RTM also provides some basic properties to list items, such as due date, time estimate, and notes. What makes RTM smarter than a set of paper lists are the tags, locations, and powerful searches. Tags allow you to use short terms to relate tasks to eachother. Locations are intended to allow you to save off the address where a task needs to be completed, which is cute but largely useless IMNSHO, so I'll overload this feature a bit later. RTM provides users with a powerful boolean logic search and the ability to save those searches as custom lists which are automatically updated when your tasks change. Let's see how to put these all together to create a powerful GTD system using RTM!

Core GTD

Let's start with a set of real lists (created via Settings->Lists). I find it useful to separate work and personal lists with "W-" and "P-" respectively.

Inbox and Sent are defined by RTM and cannot be changed. The Inbox works well as a staging ground for thoughts you have that you haven't fully processed yet. You'll work through these during the "Process" and "Organize" stages, converting them into projects and tasks. I use the Personal and Work lists to store all my tasks, currently actionable or not. I use the "na" tag to mark tasks as next actions to distinguish them from tasks that are dependent on something before they can be executed. The two Project lists are used to store an item for every project I'm working on. I tag each project with a short identifier which I also use to tag all the associated tasks so they can be identified by project. Let's look at a project and a couple tasks.

Under the W-Project list I have an item titled "RT Elevator Pitch" tagged with "rt-elevator". I then create a task on the Work list titled "Brainstorm topics" and tag it with "rt-elevator" as well as "na". If I want to see all the tasks for this project, I can click on the project item on the W-Projects list and then click on "rt-elevator" in the Task box on the right. This will open a search for all the items tagged with "rt-elevator".

GTD refers to next actions lists, not task lists. When it's time to get something done, you shouldn't have to wade through all the tasks to find one you can do right now. In the search box, enter "tag:na", this will filter the list to only those tasks which are currently actionable. This doesn't take into account work vs. personal though. To limit it to just actionable work tasks, search for: "list:Work AND tag:na", click on the Save tab and call it "W-Next Actions".

To refine your task list even further, let's take a look at the GTD concept of "Contexts". David Allen suggests the use of the @ (for various reasons) to indicate contexts. This is particularly convenient with RTM as that is the hotkey for specifying location when entering a task. Since I find the locations feature rather useless in its intended form, I overload it as my contexts list. Click on locations and create your GTD contexts list (RTM wants you to specify a map location for each context - pick some place exotic!). For me this list includes: Calls, Errands, Home, and Office. You might add "Computer" ... but if you're reading this that would probably be akin to adding an "awake" context... it just doesn't refine your search very much ;-) Now you can specify a context for each task. To filter by context, search for each of your contexts and save the searches. For example, search for "tag:na AND location:office" and save the search as "@Office". This list will show only those actionable tasks that must be completed at the office! Note that I don't separate Work and Personal lists here. If I'm out running errands I might as well get those for work as well as home done in one go. Same for a batch of phone calls.

Lastly, you'll want a tag and a saved search to keep track of tasks you are waiting on from someone else. I use the tag "wait" for this, and will sometimes include a nickname for the delegate, like "john". Then create Waiting lists, such as "list:Work AND tag:wait" as "W-Waiting".

Calendaring

cal-sidebar Something that has always bothered me about the various advanced task management software that I've used, is the lack of integration with my calendaring. And no, the task add-ons in things like Evolution and Google calendar (and all the others) don't count for reasons that are hopefully obvious by now. RTM provides several very nice services for calendaring. You can get an iCalendar (ics) URL for any of your lists. I add the Personal and Work lists to my Google Calendar and all the tasks with due dates appear on the day they are due. RTM also has two Google Calendar gadgets, one that displays a check icon on each day so you can work with tasks of that day (mostly useless IMO) as well as a very nice sidebar gadget that will display the list of your choosing and group the tasks by due date: Overdue, Today, Tomorrow, Monday, Anytime.

There are some tasks that must be done on a certain day, but not at a particular time. You could just add these to your calendar application, but I find it convenient to keep all my tasks in one place. You don't want to have these tasks show up on your next actions lists until the day they are due. That means you either have to remember to set the na tag the morning of (yeah, not very likely right?) or come up with another mechanism. I tag these items as "cal" and ensure they have a due date. I then augment my next action searches to look for "tag:na OR (tag:cal AND dueBefore:tomorrow)". This way I only see the cal tasks when they're due (and afterwards if I failed to complete them).

Extras

When you complete tasks in RTM, it records the completion date. You can use this in a search as well to generate a weekly (or monthly, etc.) report for your boss. Consider searching for 'list:Work AND completedWithin:"1 week of today"' and saving it as "Weekly Status".

If you can convince your colleagues to setup an RTM account (they don't have to be GTD junkies by the way). You can use the RTM "Send To" feature to delegate tasks. The task will then appear be moved to the Sent list. You may need to adjust your waiting searches to include the Sent folder, and possible tag delegated items with "work" or "personal" as there aren't seprate Sent lists. Personally, I'd rather RTM didn't move my tasks to another list after I send them.

Wrap-up

Remember the Milk provide an incredibly flexible tool for managing tasks. Not only is it highly functional in its own right, but it also integrates brilliantly with services like Google Calendar and Google Gears (for offline use). RTM also provides a minimal mobile web interface (which is well... minimal), but if you're an iPhone or Android user, you can download an RTM application if you're a pro user for a much improved mobile interface. Well worth the $25 a year in my opinion. RTM, almost you convince me to purchase a smart-phone... and a $30-40/month data plan. Almost.

Financial Goals and a Call for References

I've been with my current employer for almost six years. During my first year, I set some five year goals involving promotions, job responsibilities, income, and skills development. Six years later, I have (a bit surprisingly) met all those goals. During that time we have also had two wonderful children, a new-used-car-loan, and a modest remodel. Our position in life has changed considerably and we find ourselves in that awkward place right after a set of accomplishments where we're floating a bit between our accomplishments and our next set of (as of yet undefined) five-year goals.

I've found that despite feeling that the digits representing my annual salary should amount to a comfortable life-style, the ever-increasing costs of materials, insurance, medical coverage, and other services quickly overshadow those now less-impressive digits. The demands of a growing family, such as a larger vehicle, more square footage, increased travel costs, and lots and lots of parental time that in a past life could be used to accomplish money-saving do-it-yourself maintenance on the family home and vehicles, further devalues those pretentious digits.

I've talked with my employer and set another set of ambitious five-year goals. Lou and I are in discussions trying to define realistic five, 10, and longer-term goals. However, the immediate goal is simple - increase income. Googling for things like "grow your income" is worse than searching for a needle in a haystack, the results being so skewed with get-rich-quick scams and other mindless-drivel for the masses. I'd welcome any links to quality personal finance, career management, etc. news sites, blogs, or books those of you that read this far have accumulated. Can I realize this vision of my future in my head as a technical leader and part-time individual contributor - or do I need to explore other career paths...

Linux Conferences and Introspection

I look forward to the Linux conference circuit every year, but only partly for the opportunity to learn something new and "geek out" for a week or two. Each year I find that spending several days surrounded by some very intelligent, very dedicated people leaves me in a pensive mood. I often find myself yearning for a way to be better at what I do, and to be able to do it faster. Today, during a panel session, a panelist described the "iron triangle" as it relates to software development: Cost, Schedule, Quality/Features - pick two, the third will have to be allowed to vary. This concept has also been similarly described by Susan Susanka in her "Not So Big House" series of books and articles, slightly modified to address the architectural process. This led my wife to ask me what my third point of the triangle was. I had time and quality... so what was the third? Quantity is the obvious answer. I struggle with this as I somehow still believe, despite numerous concrete examples in my own experience to the contrary, that I should be able to be a perfect husband and father, a brilliant kernel developer (in numerous subsystems), a domain maintainer, a competent business strategist, a woodworker of unmatched craftsmanship, a capable chef, an intuitive dog trainer, a carpenter, mason, landscaper, architect, interior designer, model of fitness and health, all the while maintaining my quick wit, charisma, and enviable good looks.

On numerous occasions I have received a similar piece of advice from my mentors. "Be the best in your field." "Pick one thing, and do it extremely well." etc. While I'm not willing to give up everything else to become a better kernel developer, perhaps it is time to let the "Quantity" point vary in favor of the "Time" and "Quality" points.

LinuxCon Speaker's Dinner

I'll be presenting on Requeue PI at LinuxCon this week, so I was able to attend the speaker's dinner at Departure this evening. It was a nice venue, rooftop porch with maybe 40-50 people mingling. I'm no mingler, but I met a couple new people and put faces to some names. I'm particularly interested to hear more from Jesper Brouer on 10Gb routing. Jon Corbet, of LWN, was ever-patient with me for being late (OK, late doesn't quite cut it... grossly remiss) with a series of articles on real-time Linux for LWN. It was a good kick-off to the next two weeks of conferences. Open the flood gates and let the information overload begin!

Surprise "Party"

I came home today to a "We Love Daddy" sign on my front door. Devon decided I needed a surprise party - or rather that he needed to throw one for me. It was really wonderful. This evening was the best 4 hours we've spent together as a family in months. There was no whining, no frustrated sighs, it was great. Thanks Mommy and Devon! Abigail was present, but mostly unaffected by the whole thing - but we had some quality snuggles anyway :-)

The Tack Trunk: Underestimation at it's finest.

As those of you who let me clutter your Facebook "Wall" already know, I recently completed a tack trunk for a friend at work. A tack trunk is a horsey box used to carry horsey thingies - boots, brushes, wraps, quilts - but not the saddle (at least not for Alexis who commissioned this piece. After seeing several expensive tack trunks fall apart at the seems (or the hinge, or the plys) she asked me to build her one that would hold up to the abuse common to life in a barn and the back of a pickup trunk. We picked up some plans from Elite Tack Design for the basic dimensions - but that's as far as I followed the plans.

Mary Lou's Blog

100_3871These postings are filled with updates about the Hart household in general. However I mostly focus on my favorite little boy Devon - whom I think is the cutest little boy ever. Oh and baby #2 on the way! So maybe I should call it rantings of a mother's love. :)

Lilypie Expecting a baby Ticker

Moving....

Okay nothing to exciting I'm just trying out a new blog site (that requires less maintenance on Darren's part). So check out Hart on my Sleeve and let me know what you think.

18 weeks and counting....

18 weeksFor those who are wondering what I look like here is a picture. Feeling the baby move and go in on the 16th for our ultrasound. Devon is still hoping for a sister so we'll see.

Happy Thanksgiving!

Thanksgiving is here again. It was quiet one for us here, but we enjoyed our time together as a family. We even skipped out the big food preparation and instead went to Marie Callendar's for their Holiday feast. we ate to much, and Devon had way to much Chocolate Satin pie but it was nice to come home to a clean house and just relax. We hope everyone else had a great day and time to relax and enjoy friends & family, and all of their blessings.

A crazy month

Well I know I am in trouble with my sister for not posting more this last month. It has been a crazy month and while I have had good intentions to post I just didn't ever feel like spend my limited free time posting. So what has happened in the last month, well lets see...

Trip to Mesquite: At the end of October we made the journey to Mesquite (2 hour plane ride & then 1 hour car ride after getting baggage & car rental - dvh3 was an angel!) My oldest nephew Jordan was speaking in church as he prepared to leave on his mission to The Baltic's (Estonia). My 10 year class reunion also happened to be the same weekend so we had lots to keep us busy. Really glad to have gotten to see a few of my old classmates but I must say I enjoyed the family time most of all. dvh3 got to play with his cousins and was following his new best friend Dayton everywhere.

Big Brother....

100_5918100_5919Well for those that don't already know, Devon is going to be a big brother in May. Baby #2 is officially on the way. Mom & Dad are very excited and Devon is also excited to be a big brother. So far he is requesting a little sister so hopefully he won't be disappointed if it ends up being a little brother.

At 12 weeks I am stilling dealing with morning/all day sickness. But it does seem to be getting slightly better. I also find that I am exhausted nearly constantly. Big thanks to Darren for picking up so much of the slack. If anyone is interested you can see the 1st ultrasounds here: # 2.

Meeting Bob the Builder

sspx0189sspx0192sspx0139
The Portland Children's Museum is currently running a "Bob the Builder" exhibit. Devon was very excited to go and luckily got there in time to meet Bob (although once he got up close he wasn't quite as excited.) He had a great time playing with all the different exhibits, especially the water tank - pump blue "water" balls through the tank. He also liked getting to try out all the machines and guess what saying they'd repeat. There was also a "Machine petting" out side where the kids could climb on really construction equipment. Definitely something we need to go back for before it is gone.

Summer Re-cap

100B5722100B5731Okay the weather is starting to turn so I thought I better finally get the blog about of summer. We had a very busy summer this year & relatively short (because the rain didn't stop until late June) but we enjoyed it. Devon took a Sports class through the local Rec. center and loved getting to go play with balls. Soccer balls, t-ball, balloons, basketballs, and one of his favorites bowling. He also took a swimming class which he enjoyed especially the finally day when he got to go down the slide. We also spent a lot of time visiting new parks this summer. You can see many pics from those excursions here: Parks.

We also enjoyed a few days at the coast with friends. We visited Pacific City, OR with our friends the Mauery's and we had a great time. We have known Vernon and Lauren for basic 10 years and 3 kids later we are enjoying getting back to the point where we can have adult conversation. Thanks to Nicole their 5 year old who puts of with Devon (I believe she is his favorite friends) and helped keep the parents informed when the boys started getting tired of each other (Nathan is only 6 months older then Devon but some days that is a BIG age difference!) Even though the beach was a bit windy we had a great time. More pictures posted here: Pacific City, OR. Oh and if your interested in a funny picture of me being attacked by a blanket check out Lauren's blog from our trip - she has some great pictures of the kids too!

IQ Test

Online IQ Test
Free-IQTest.net - Online IQ Test

So our Friend's the Mauery's posted their test scores so I had to try it. Not to bad considering I guessed on a few, I made it into the "Gifted" category. Lots of advertisements trying to get you to sign up for stuff at the end before they give you your score though. You can wade past it all but it takes a while.

Planting Party!

100_5773The front yard landscape project continues on helped along by great friends who willing gave up an entire SUNNY Portland Saturday to work in our front yard last weekend. We were finally ready for plants so I took a trip to a recommended nursery, Farmington Gardens, and had a wonderful time picking out plants. We ended up with over 30 plants that need to planted and as quickly as possible. When the Mauery's offered their help we gladly to them up on the offer. We got to work at 10 am and other then a lunch break pretty much worked through until 5 that evening, but we got all the plants in. The kids were great and played together or watched tv most of the day so we could work. It was amazing how much we got done. Even more amazing was the transformation to the house, plants just add so much.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.
  • You may use [acidfree:xx] tags to display acidfree videos or images inline.
More information about formatting options Captcha Image: you will need to recognize the text in it.
Please type in the letters/numbers that are shown in the image above.