Live Templates for parameters

Sparky tells about a nifty undocumented feature in Delphi 2006: when you write a method call, the editor can put in placeholders for all the parameters, and you can Tab between them and stuff, just like with all the other Live Templates. Looks pretty nifty.

Now, if Borland could just be bothered to ship our copies of Delphi 2006 (now that everyone else has had it for, what, three weeks now?), I could try it out…

The 50-30-20 rule

Marcel introduced me to Steve Pavlina’s blog earlier this month. I’ve added Steve to my Google homepage, and read the posts that look most promising. Steve has some good food for thought, although I kind of doubt he’s going to convince me to go vegan.

Steve’s latest post is about the 50-30-20 rule. I can already tell this is going to spark some good thoughts and discussions between Jennie and me, and possibly at work too. It’s interesting just to think about which things fall into the three categories.

The full article is well worth a read. Go check it out now. I’ll wait. (Besides, the rest of this post won’t make much sense unless you at least know what the categories are.)

So at home, things like paying bills, doing laundry, doing dishes, cleaning the bathroom, etc., are C tasks: 90 days from now, they won’t really matter. We still have to do them or we’ll get in trouble, but they don’t have long-term effects. If all we do from now until retirement is wash dishes, we’re not going to have many happy memories to look back on. Things like watching TV and playing video games are also definitely C tasks.

My blog? Posting depends on the type of post; it’s probably a C most of the time, although I hope some of the OWL and Financial Peace posts fall closer to a B. Deleting comment spam is definitely a C. Working on the hamster (as I did this past weekend) is something that eliminates C tasks, so it’s squarely a B.

What about working on our budget? The exact details of next month’s budget won’t matter 90 days from now, but the effects of having done that budget are substantial; it’s saved our butts every month we’ve done it, because something big always comes up, and we always go back to the budget and find the money. (I still can’t quite believe it, and I don’t know how we do it, but it has worked every month.) It’s certainly been more than 90 days since we started budgeting, and we’re still feeling the effects from that first month. The budget is probably a B task, or even an A. (Hell, if we hadn’t started doing a budget, we’d probably have filed for bankruptcy by now. No joke. So there’s a serious case to be made for counting the budget as an A task.)

Spending time with Jennie could fall into any of the three categories. Eating on the bed and watching TV would be a C, I think. Eating out and talking? B, at least. Going for a walk together? Spending a quiet weekend in a motel somewhere? Again, B, at least; maybe A. Going to FPU class together? Teaching No Matter What to the youth group? Teaching FPU at our church? All A.

And then, what about work? Reading e-mail is a C task. So is the daily stand-up meeting, and probably the weekly planning game; not sure about release planning meetings. What about fixing bugs? Coding new features? Refactoring our existing code base? Writing unit tests? I’d guess those are probably Bs. Yes, unit tests have value for as long as they’re around, but I’m not sure most of them have an individual half-life of more than two years. But there’s plenty of room for debate on that.

I can think of two categories of things I do at work that would definitely fall into the A category. One is working on improving our XP process. Making it work more smoothly. Getting our customers more involved in the process; helping them write acceptance tests. Helping management understand, in more and more depth, how XP is really supposed to work. Pushing back when they want to release every two weeks, even though we don’t have enough automated tests yet, and that kind of schedule doesn’t give adequate time for manual testing. Just in general oiling the gears so that we can get our work done. And, in general, stuff I’m not all that good at, or excited about, doing. But it’s some of the most important work we have to do. Hmm…

And the other category of work A-tasks is, stuff that will help me. Not just my current employer, but me, for my entire career. In my job field, that means learning. Learning better ways to write tests. Learning better ways to factor code. Learning new languages, new toolsets. Taking training classes. Going to BorCon.

One thing Steve doesn’t even talk about is money. How could we apply the 50-30-20 rule to our budget? A tasks, right now, would be things like paying off debt. C tasks would be things like groceries and gas. B tasks seem like the hardest to figure out, but I think things like car maintenance and weatherproofing the downstairs door would fall into this category. We’ll have to look over our budget and start trying to figure out what falls where. It’ll certainly be an interesting way to think about how to spend our Christmas money.

You know, it’s really kind of disturbing to look at things in these terms, and realize that most of what I do is stuff that won’t matter a week from now. But disquiet aside, it’ll be a fun thing to spend some time chewing on.

Build your own graph paper

A friend pointed out a Web site that lets you generate your own graph paper (along with a few other things that aren’t exactly graph paper). You fill out a Web form and it comes back with a customized PDF. You can do grids, grids with heavy lines every inch and medium lines every half inch (configurable, of course), hex paper, dots (grid and hex), asymmetric grids, staves for sheet music, plain old lined paper, and a few other things I’ve never even heard of (tumbling blocks, anyone?). You can also set the number of lines per inch (or centimeter) and the color of the grid lines. And it’s free. Pretty sweet.

Health Questionnaire

My company is hosting a health fair tomorrow morning. I’m signed up for it; good chance to have my hearing tested and get a fifteen-minute massage.

We had company-wide meetings all day today. I get out of the last meeting about 4:45, and back at my desk, there’s a questionnaire waiting for me. I’m supposed to fill this out by tomorrow morning.

The questions on this form are just hilarious. Some high points:

  • At the top of the first page, I’m supposed to fill out the company name, my name, my date of birth, my phone number, etc., with the usual weirdnesses of field sizes. (They give me about a quarter of an inch to write my area code, then an inch to write the prefix. Dudes, these are the same number of digits.) Then, after I fill out this initial block, they’ve got an introduction that says I’m supposed to fill the whole form out in black pen. (If I’d used a black pen to fill out that first section, would I be blogging this?)
  • “No facial hair ( clean shaven) is allowed if a Respiratory Fit Test is scheduled”. Um, it would’ve been nice to have a bit of warning. I don’t even own a razor. And besides, am I even scheduled for a Respiratory Fit Test? Beats me; everyone I would’ve asked had left for the day by the time I’d read that far…
  • Question 15: “Do you currently have any of the following musculoskeletal problems?” One of the checkboxes is, “Climbing a flight of stairs or a ladder carrying more than 25 lbs.” They don’t say anything about having problems carrying stuff up the stairs. No, evidently just carrying stuff amounts to a musculoskeletal problem. Guess I’ve got one every time I get home from the grocery store…
  • “Have you ever had pain when swallowing?” Really. They’re asking if I’ve ever contracted the common cold.
  • “Have you ever used or been exposed to the following chemicals or conditions”. My favorite checkboxes under this heading:
    • Extreme changes in temperature. Dude, I live in the Midwest. We have something here called “winter”. Ever gone outside on a cold day?
    • Fluorides. Yes, I’ve been to the dentist in my life. I’ve even been known to brush my teeth on occasion.
    • Heavy Metals. Sure. Metallica, Ozzy, Skid Row, Def Leppard…
    • Loud Noises. See above.
    • PVC’s. Yes, I’ve been exposed to plumbing pipe. Even bought some at Menard’s.
      And then, the best one of all: they ask if I’ve ever, in my life, used or been exposed to…
    • Plastics.

You can’t make this stuff up.

To top it all off, at the end of this, they have a section saying, “If you filled in the box next to any of the questions, please explain IN DETAIL your responses.”

They give me three lines.

Danny’s departure

Marco Cantù reported some sad news yesterday: Danny Thorpe has left Borland.

(Looks like it’s not just a rumor — John Kaster posted this on the newsgroups, which is enough confirmation for me.)

On the plus side, Danny’s new job is at Google, and it sounds like he’ll mostly be working on the FireFox browser — so we can certainly expect some even better things from FireFox in the future. (There have been rumors of FireFox extensions written in Delphi…)

So long, Danny, and thanks for all the tea leaves. Good luck — and, on a slightly selfish note, I hope we’ll all benefit from your new job as much as we did from your old one.

Month 4

It’s the beginning of December.

Four months ago, Jennie and I were seriously talking about filing for bankruptcy. We had no money in the bank and we were spending more than we made, most of it on debt payments. We didn’t see any other way out.

Then a friend bought us a book, and paid to sign us up for a class.

We got that friend a nice card at Thanksgiving. It seemed the least we could do.

Four months ago, we were talking about bankruptcy. Now, we’ve saved up a $1,000 emergency fund. It took some hard choices, but we did it. We’ve got a budget that works. We’ve even budgeted money (not much, but money) to buy Christmas presents, and we don’t have to worry about not being able to pay the electric bill as a result. We’ve got a few more big bills coming up in the next couple of months, but after that, those credit card balances are going to take a beating like they’ve never seen before.

Our September budget was a disaster, but in October and again in November, it got easier and easier. Jennie works part-time, and her hours vary; and in October, we tried to make the budget work if she only got 20 hours a week, and wound up bumping it up to 25 to make things work at all. Now, with December starting, she’s out sick (ear infection and bronchitis), and her doctor wants her to stay home for a week. But the budget works so well now that, even with the unpaid sick leave, she’ll still make more than we need.

Our priorities have changed. We used to pay the credit cards first, and then worry about where we’d find money for groceries. Saving up an emergency fund was just about unthinkable. Now, we save first. Then we cover necessities — food, gas, mortgage, kitty litter, minor home repairs. Credit cards are last on the list.

And you know what? I think Somebody is telling us we’re doing the right thing. Because now that we’re doing it this way, we always seem to find the money to pay everything. Even though the credit cards are last on the list, we still find the money to pay even them.

And we’re not nearly as scared as we used to be.

I can’t think of a much better way to start the season.

No Matter What: the pitch

I talked to the YAC (our youth group’s leadership committee) tonight about Dave‘s “No Matter What” class. I started by asking if any of them had heard of Dave Ramsey (none had, except for Cheryll), and telling them that he had written several best-selling books and had his own radio show. Then I told them that Dave teaches people about personal finance, and asked if anyone had just fallen asleep upon hearing that. (Only one of the youth raised his hand.)

It went pretty well; I think all the adults on the committee thought it was a great idea, and after a bit of explaining, all the youth said it sounded like it’d be a good class to offer (as long as people could decide whether or not they wanted to take it). Then after YAC, when all the youth showed up for the regular youth-group meeting, Cheryll announced to everyone that we’d be offering this class, and the convincing began anew.

I made some handouts to bring to YAC, and I also brought some visual aids: five hundred-dollar bills, the crispest ones the bank teller could find. Half of our emergency fund: I figured it could survive outside our bank account for long enough to get people’s attention. I got the idea from Dave; he too uses hundreds to illustrate during his classes, and says they’re his most expensive visual aids (grin). They certainly worked at getting people’s attention! (I did have to explain a few times that these were not handouts, but I’d expected that…)

There were a pretty wide variety of reactions to all this stuff, actually. (And if I’d given it much thought, I would’ve expected that from this group.) A few interesting examples…

  • One of the YAC youth was immediately absorbed by the statistics and examples in the handouts I’d made, and later I saw him explaining them to one of the other kids in the youth group. (I admit, I did hand-pick the examples to be pretty compelling.)
  • Another said he thought the class sounded like a good idea, but that he personally wouldn’t be very interested in taking it — but when Cheryll told the entire youth group that we’d be offering this class (and was met with a predictable level of doubt), I noticed that it was this same kid who suggested that I show everyone the visual aids. (I did, and once again, they did get everyone’s attention!)
  • One of the kids in the youth group was pretty skeptical about the class — until I told him (truthfully) that if he took this class, there’s no reason he shouldn’t retire a multimillionaire. His immediate reaction was, “I’m in.”

I don’t know how many people will actually be interested in doing the class when the time comes, but really, it went over better tonight than I’d hoped. Cheryll is going to order the curriculum in the next few weeks, and Jennie and I will probably start teaching this stuff in January (after spending some time reviewing the material and deciding whether we need to tweak anything for this group). Once again, I’ll keep y’all posted on how things go.

Subversion branch

We did a branch in Subversion today.

It was great. We didn’t have to wait around for hours for it to finish. We didn’t have to tell everyone to stay out of VSS until further notice. We didn’t discover that the repository was corrupted and have to run a repair that took all day.

We just did the branch. It took maybe a second or two.

Subversion rocks.