My Wife, The Bag Lady

Today I want to brag on my wife a bit.

Kathy is great at trying to meet the needs of people she meets. One group which has always tugged at her heartstrings is the homeless. Austin has a large homeless population, and we’re up that way often enough that we encounter them regularly. On our anniversary weekend, we spent Sunday morning at the Church Under the Bridge, a worship service cosponsored by a group of local churches for the benefit of the street people of that city.

The most common encounter we have with these folks is at traffic lights, where one will often be holding up a cardboard sign, ranging from the plaintive (“On the road, my dog needs food”) to the tongue-in-cheek (“Why lie? I need a beer.”). Of course, we have all of the usual concerns about handing out cash to people we don’t know. We have done so at times, but it’s always been with a measure of unease, not knowing whether that money will help or ultimately fuel some destructive downward spiral.

It was with these concerns in mind that Kathy hit on a brilliant idea: why not have the essentials for life packed up and ready to go whenever someone asks? She brainstormed, planned, visited the dollar store, talked with others, and soon had her first batch of large plastic bags filled with water bottles, nonperishable foods, shampoo, washcloths, hand sanitizer, soap, and often a small New Testament. We stashed these in the van, ready for our next stoplight encounter.

Now, when we come to a halt and spot someone in need, there’s a mad scramble to find a bag and to hand it over before the light turns green. The recipients have been almost universally excited to receive the bundles, and it’s been great fun to actually be able to help in such a tangible, immediate way.

As time has gone on, she’s started making larger batches of these bags, not only for us to carry around, but also for other interested people to have available. She’s distributed them to others in our church, to family members, and to a variety of friends. She’s had a couple of bag-making parties at the house, where the attendees will work together to assemble 100 bags in a couple hours. And she’s assembled and organized donations from a variety of sources, as well as found the cheapest and best places to get all of these essentials.

And now she has discovered Bags of Grace, an organization up in Austin with a similar mission, run by a dynamic woman named Rita with whom she shared a lunch and great conversation recently. I expect they’ll be meeting up more in the future to share strategies and combine efforts.

So if you’re interested in supporting some of “the least of these” in our society and want to help assemble or distribute these bags, give Kathy a call. She’ll be glad you did, and so will some people you’ve only ever met at a stoplight.

On My Mind: Tech, Crisis Response, Maps, Crowd-Sourcing

I’ve been having some interesting talks with my friend Ben Mengden lately. He graduated with a Geography degree, has been delving into architecture over the past few years, and is really interested in the developing world and how those disciplines can be applied there. I have a deeply rooted interest in computing, the Internet, and how new technology can be applied to and change our lives for the better. Lately, our fields of study have started overlapping in some really interesting ways.

I love Wikipedia. As Clay Shirky discusses in his fascinating book Here Comes Everybody, sites like Wikipedia harness the power of tens of thousands of people willing to spend 5 minutes to improve something. There aren’t many people who will write an exhaustive article on a subject. There are, however, plenty of people who will be happy to add a sentence or two, contribute a photo, or exercise their pedantic tendencies and fix a bit of grammar. As a result, Wikipedia, while not academically authoritative, has a body of knowledge that is vast, immensely useful, surprisingly well-referenced, and pretty much unprecedented in human history.

Thus I was delighted to discover OpenStreetMap, an effort to bring that same community information-building ethos to mapping. After having been locked into the fixed, licensed data that MapQuest, Google Maps and Yahoo Maps provided, it was pretty amazing to be able to whack the “Edit” button and add speed limit data to my street, to remove roads and points of interest that weren’t accurate, and to make a note of the various playgrounds around town. When my wife and I went to Switzerland last year, we were able to load up our GPS with free OpenStreetMap data before we left, saving us a substantial sum.

But better than that, OpenStreetMap has been enabling people around the world to share geographic data in unprecedented ways. When the recent devastating earthquake struck Haiti, crisis response teams were able to collaborate with government agencies, volunteer translators and mapmakers around the world by using OpenStreetMap and other crowd-sourced crisis response systems like Ushahidi as clearinghouses for information on survivors, refugee camps, water supplies, road conditions, and more. (See this video for more details, or this one for details on how you can help map roads.)

In addition, Ben has been exploring Architecture for Humanity, a humanitarian organization dedicated to providing professional architectural design services to folks in need. They have created the Open Architecture Network, a service dedicated to open source architecture that allows architects and designers to share their plans and designs in CAD form over the Internet. Thus, builders helping to rebuild regions devastated by natural disasters now have access to a wealth of professionally designed building plans, and can even have custom plans created by an architect far from the site of the crisis. And get this: efforts are well underway to create gigantic 3D printers that can take plans and build a house from them automatically under computer control in a couple of days.

My wife laughs at my because I drive around with our GPS on even when I know where I’m going. “It makes me feel like I’m living in the Science Fiction future,” I tell her. But even more than having a robot voice tell me where to turn, being able to reach out across the Internet and help people half a world away makes me really excited to be living in this era of technological wonders.

The African Children’s Choir

Last night, Kathy and I took the kiddos to see a performance of the African Children’s Choir. As a big fan of African choral music, I was really excited to get to hear this group, even though I didn’t know much more about them than their name. I was not disappointed.

The 30-strong choir, made up of kids aged seven to eleven years, charged enthusiastically on to the stage amid drumming, whoops and ululations, tearing right into a number of well-choreographed songs. The musical arrangements were straightforward, but the kids’ enthusiasm, dancing and excellent singing made for an absolutely terrific time.

It turns out the Choir isn’t primarily about these performances, but is in fact a Christian aid organization which uses the musical tours to raise funds for their work back in Africa. Most of the children performing had lost one or both parents to war or disease and were terribly vulnerable before the African Children’s Choir took them in. While the choir we saw was comparatively small, there are hundreds of kids in Uganda,  Sudan, Rwanda, Kenya, Ghana and South Africa that the organization supports and cares for.

Midway through the program, each of the children said hello to the crowd and said a little about what he or she wanted to be on reaching adulthood. Aspirations ranged from bus driver to singer to President (a goal that got a predictably warm response from the crowd a day after President Obama’s inauguration). This recitation of dreams was especially poignant given that for most, simply living to adulthood would have been unexpected if it weren’t for the work of the choir. (We compared notes among our group afterward, and there was barely a dry eye during this section of the program.)

The Choir received three standing ovations by the time they wrapped up for the evening with one of the more rousing renderings of “This Little Light of Mine” that I’ve ever heard. So go see them if you can (they’re bouncing between San Antonio and Austin for the next few days), or support them in some other way. You won’t regret it.

Extreme Financial Management: Why Budgets Suck

There is a school of software engineering broadly referred to as “agile programming.” The basic distinguishing features of agile programming is that it is responsive to changing needs and gets as much done with as little extra overhead as possible. Advocates of this style are fond of saying “do the simplest thing that could possibly work” — a philosophy that I have found valuable far beyond the bounds of programming work. Applying this sort of thinking to my personal financial management has streamlined the process I use for managing money dramatically, and has resulted in some principles I thought worth writing up.

Note: this isn’t a comprehensive financial management plan. It’s just a high-level summary of some of the things I’ve found helpful and which deviate a bit from the common wisdom. You should take the time to understand the common wisdom before fooling with any of this stuff.


The first stage in any software development project is to get some idea of what goal you’re trying to reach. In my case, my financial goals are pretty straightforward:

Guard Against Identity Theft
People swipe credit card numbers. The faster we can catch that sort of thing, the less trouble it is to sort out.
Pay Bills on Time
Obviously, it’s important to pay bills on time, as companies tend to charge usurious fees or disconnect your iron lung if you’re late.
Be able to itemize deductions at the end of the year
I have a lot of deductible expenses throughout the year, and end up paying a good deal less in taxes if I itemize.
Save for retirement (and other stuff)
I don’t want to have to work forever. This is my get-rich-slowly scheme.
Know how much I can spend
If I spend more than I have, I go into debt. Debt is expensive and demoralizing, and best avoided whenever possible.
Spend as little time as possible messing about with money
While I think it’s terrifically important to handle money well, it’s also terrifically uninteresting, and I would rather spend my time doing any number of other things.

In the spirit of “the simplest thing that could possibly work”, I try to throw out anything from my financial management practices that doesn’t directly serve one of these goals.

Design & Implementation

With a clear idea of what we’re trying to accomplish, it’s time to figure out how to reach those goals:

Goal: Guard Against Identity Theft

There are two aspects to this: preventing it to begin with (which I’ll call “prophylactic”, because it sounds racy) and detecting it quickly if it occurs to help minimize the damage done.

The prophylactic side of it is the stuff you’ve probably heard before. Use good passwords. Cover the keypad on the ATM when you get money. Don’t give any personal information to anyone who calls you on the phone, even if they claim to be from a legitimate organization. Don’t sign up for strange contests on the Internet.

But in addition to the precautions, you need to know quickly if someone’s using your credit card or sucking money out of your bank account. You can review your statements each month, but that means that someone could be bilking you for a long time before you notice. Plus it’s a hassle to go through a whole month of transactions which are no longer fresh in your memory.

I use Yodlee, a free, online financial management service that aggregates information from all the banks, credit cards, and brokers I use. (There are several other good services as well: Wesabe and Mint are two of my other favorites.) By simply clicking the “Transactions” button each Saturday morning, I can review all the transactions in all of my accounts over the past week at a glance. Even better, I can configure Yodlee to text me if it sees any transactions above $500 or that look suspicious according to other guidelines I set up. It’s easy to check for odd activity, because the transactions are fresh in my memory, and there’s only a week of them to look at.

The best aspect of this approach? It only takes about 5 minutes per week — often less.

Goal: Pay Bills on Time

Paying bills is one of my least favorite things to do. Fortunately, there are a few things that make it a lot easier than it used to be.

Lots of vendors, like cable companies, phone companies, and city utilities provide an electronic bill pay service. The advantage to these is that they’re convenient, you know that your bills will be paid on time, and they’re free. The disadvantage is that they require you to essentially give those vendors the keys to your bank account, you don’t have direct control over when those bills will be paid, and if your balance runs low or you decide to switch banks, things can get very messy.

Another alternative that I particularly like is my bank’s online bill pay service. Most banks offer this now for free, since it’s much less costly for them to process electronic funds transfers than it is to process little pieces of paper. (They’ll fall back to generating actual checks when necessary.) With this option, paying bills is as quick as filling in a small form on their website. (If it’s someone you’ve paid before, you need only enter the amount in the appropriate field.) You retain control of when your bills are paid, and if you change banks or have difficulty with the vendor, there are fewer pitfalls. The downside is that most of these services need 3-7 days lead time to pay a bill, which can make timing a bit tight at times.

Whichever of these you use, take advantage of the automation options they offer! For bills that are the same amount each month, you shouldn’t even have to think about them — just set it up once, and let the recurring payment option take care of it for you in the future. Since I’ve switched to using electronic bill pay services and automated the predictable charges, paying bills only take a few minutes a week and I no longer have to buy stamps.

Goal: Be Able to Itemize Deductions

In order to be able to itemize your deductions, you need to be able to find all your business expenses, educational expenses, healthcare expenses, charitable gifts, etc. If your records are on paper, this is an enormous pain. However, if all your transactions are already going through Yodlee or a similar service, it becomes an easy matter, when you do your weekly check for unauthorized transactions, to categorize these transactions appropriately. Some services will recognize transactions of a particular type and tag them automatically for you, saving you even more time. Having correctly categorized data makes it fast and easy to generate reports at year’s end with all your deductions listed.

Another handy trick is to establish multiple accounts and to use an appropriate one when you spend money. We have an account dedicated to charity; whenever we give money away, we draw it from that account, making it even easier to recognize those expenditures when the Tax Man comes knocking.

Time cost: another 5 minutes or so a week to tag transactions, but with hours, frustration, and dollars saved at the end of the year when filing taxes.

Goal: Save for Retirement (and Other Stuff)

The easiest way to save for retirement is to have the money scraped off your paycheck before you ever see it. If your employer offers a 401K, automatic deductions should be easy to set up. (Also, if your employer offers matching funds for your 401K contributions, do whatever you need to do to max that out. It’s free money, folks!)

If you don’t have a 401K through your employer, it’s easy enough to set up an automatic draft to suck the money out of your checking account and into an IRA automatically. Again here, automation is your friend — the less you have to think about doing the right thing, the more likely you are to actually do it. And remember to set aside a minimum of 10%, more if you’re starting late. It’s tough to do, but is much easier than eating cat food when you’re 70.

Where to invest that money? As a lazy investor who still wants good returns, I’m a big fan of index funds. These are designed to match the performance of the Dow Industrials, the S&P 500, or another stock market index. Because there are few decisions to be made in managing those funds, their management fees tend to be very low, and they outperform about 90% of the mutual funds out there. If you lack time or inclination to research funds (or even if you don’t), these are a great way to go.

Groovy sidenote: by investing regularly, you take advantage of something called “dollar cost averaging”. Here’s how it works: Let’s say that AAPL shares cost $4 in March and $6 in April, so the average price for them is $5 over that two month span. Now, if you bought $120 worth of Apple stock each month, you would have bought 30 shares in march and 20 shares in April. Your total cost for the 50 shares you now own is $240, or $4.80 per share — $0.20 less than the average price over that time period. By buying regularly, you automatically get a bargain. Cool, eh?

Automatic withdrawls are also a good way to save for expensive purchases, like vacations or cars — just have your bank automatically put that money aside into another account automatically whenever your paycheck comes in. You don’t have to think about it, and it earns interest while you ignore it.

Weekly effort to save for retirement: none whatsoever.

Know How Much I Can Spend

This is where I part company with a lot of financial management folks.

The common wisdom is to figure out how much you spend on various things through your week — coffee, eating out, groceries, entertainment — and to track those individually. If you’re out of grocery money, then you either wait on groceries, or pull money out of another area.

This is both inflexible and an economy-sized pain in the butt.

My approach? Figure out how much money you have left for the month after putting aside savings, paying bills, paying down debt, insurance, etc. We have a tiny little one-page spreadsheet we use for this. (If you don’t know how much a given bill will be from month to month, be pessimistic. It’s much better to find you have more money than you need than not enough.) Take that monthly number and divide it by 4. (Or 4 1/3, if you’re precise: 52 weeks ÷ 12 months.) Then get that much money out of the bank in cash at the beginning of the week. When you run out of money, stop buying stuff until the next week.

The beauty of this approach is that it’s drop-dead easy to see how you’re doing on your spending. You’re never surprised to find when your debit card statement comes that you spent twice as much as you thought. If you run out of money during the week, it’s never that long to wait until your next “payday”. (Also, if you’re a privacy nut, the government can’t tell where you’re buying the tinfoil for your beanies if you pay cash.) You can spend more on groceries this week, and then go nuts on buying action figures next week, without it adding to your money management workload.

(An important side note: it’s vital to have an emergency fund of two-three months of your salary. This allows you the flexibility to pay to have your car repaired when it explodes without hurling you into debt. Establishing this is a good first priority if you’re just getting your financial house in order.)

Spend as Little Time as Possible Messing with Money

The most interesting thing about this approach is what I don’t do any longer. Among these:

  • I don’t reconcile statements when they come in. Because I’m already checking that the bank records look OK when I do my weekly check for suspicious transactions, there’s no longer a need to pore over every bank statement. This theoretically opens the door for the bank to take a few dollars extra from my account without me noticing. But in the past, every time I spent hours figuring out why my balance sheets were off, it turned out to be my fault, so this is a risk I’ll happily take in exchange for getting all that time back.
  • I don’t review many transactions. Because I buy most stuff during the week with cash, the number of transactions is far fewer than when I was using a debit card for everything.
  • I don’t obsessively categorize my records. I love charts and graphs as much as (ok a lot more than) the next guy, but making them was the only benefit I got out of tagging and categorizing all my spending. Now I just tag the stuff I think I can claim a deduction for, and leave the rest pretty much alone. If I decide I need more exhaustive data, it’s not hard to go back and add the necessary categories, but it hasn’t seemed worth the effort yet.
  • I don’t spend much time dealing with money. My weekly bill-paying sessions take about 25% of the time they used to, and I’m convinced that my money is being handled at least as wisely.
  • I don’t stress about it when I buy something. I know how much money I’ve got, because I can see it in my wallet. If I stop spending when I’m out of money, I know that my finances are in order.


Though it’s taken a long time for me to get to this point, this approach has made dealing with finances for a family of six much less of a time-consuming hassle than it has ever been before. I’ve gotten back a chunk of my Saturdays, and my family is doing well with our financial goals. It doesn’t take much green-eyeshade work, and is easy to adjust as conditions change. I hope that some of the ideas here will benefit some of you, and help you save you both effort and worry.

Questions and comments are welcome!

OLPC, Microsoft, and Intel

The Times Online has a really interesting article up on the One Laptop Per Child initiative and Microsoft’s and Intel’s responses to it. It’s a great read, and provides an interesting window into some of the skulduggery that the corporations engaged in when threatened by the vision of a cheap laptop for the developing world.

At the World Economic Forum in Davos in January 2005, Nicholas Negroponte, supreme prophet of digital connectivity, revealed a strange tent-like object. It was designed to change the world and to cost $100. It was a solar-powered laptop. Millions would be distributed to children in the developing world, bringing them connection, education, enlightenment and freedom of information. The great, the good, the rich and the technocrats nodded in solemn approval.

And then some of them tried to kill it.

Make Software? Make Money? Help Cure Cancer

My friend and occasional boss Seth Dillingham is gearing up again for the Pan-Massachusetts Challenge, an annual bicycle ride fund raiser that benefits the Dana-Farber Institute, a research organization that battles cancer.

Part of Seth’s fund raising each year includes a big Macintosh software auction, for which he’s now collecting donations. If you make Mac software and wouldn’t mind donating a few licenses to a very worthy cause, give him a hand! If you don’t create software, you can still support his efforts in other ways. Please do what you can to help!

Some Reading For The Summer

Here are a couple of books I’ve quite enjoyed recently:

  • Irresistible Revolution: Living as an Ordinary Radical: Shane Claiborne, the author of this book, is an interesting cat. He’s passionately devoted to the idea of living according to Jesus’ teachings in the New Testament, especially with regard to the poor and disenfranchised. I particularly enjoyed his accounts of time serving alongside Mother Teresa and as a peace emissary in Iraq. He also is engaged in some of the intentional community stuff that I get worked up about from time to time, and so found a particularly receptive audience in me. Stimulating and well worth the time, even if you don’t agree with Shane’s conclusions.
  • Little Brother: Cory Doctorow’s latest, in which a teenage boy runs afoul of the Department of Homeland Security and, after being released from a secret detention facility, decides to try to take the DHS down using a variety of interesting technology and tricks and teaching the reader about them along the way. A very-near-future dystopian novel in the vein of 1984 or Brave New World, I found it very compelling reading. One of the great things about Doctorow’s work is that he makes it available under a Creative Commons license, which means you can download and read his book for free! [Exercise for the reader: compare Doctorow’s insistence here that privacy is vital to a free society with David Brin’s insistence that privacy is a lost cause and visibility should be embraced instead in The Transparent Society.]

Do you have any recent favorites? Post them in comments! I’d love some good summer reading.

Archimedes: A Big Enough Lever

This morning on the way to work, I was thinking about the critics of the One Laptop per Child program. Lots of people maintain that, rather than sending a $100 laptop to kids in third-world countries, we would do far better to send them $100 in food. And to a degree, I think they’re right — laptops are of no use to a child who is starving. However, there’s a crucial difference in the sort of help these two options provide: food is finite, and will be used up, past which it provides no ongoing benefits (except perhaps a bit of fertilizer). A laptop has ongoing utility and can ideally open up altogether new opportunities for the person who is connected to the global community through it.

In The End of Poverty, Jeffrey Sachs demonstrates that people can climb the ladder out of poverty once they’re on it, but often need help to reach that first rung. (Reading this book is what made me a big fan of microlending in general, and later Kiva in particular: it’s an excellent way to help people to get their foot on the first rung of the economic ladder and to pull themselves out of the morass.) So how could the availability of the Internet and initiatives like OLPC help to achieve that end? Or, put another way, how can the XO laptop be worth more than $100 to the people who receive it?

It can turn them into programmers who can be paid for their work.

The idea would be a central service — let’s call it Archimedes — which would consolidate requests for discrete bits of code and allow programmers to complete those requests for a cash reward. The requests would include standards for completion and what the client is willing to pay for it. The system would be designed to make the transaction as friction-free, lightweight, and unambiguous as possible so that doing small-scale contracts would be easy.

Here’s what it might look like from the client’s side:

  • Let’s say I’m working on Bibliofile, my application for tracking what books I’ve read. I decide that I want to add a new statistics page that shows monthly trends in my reading, but that writing SQL queries has never been my thing. I could do the research, learn how to do what I want, and write it up myself, but that’s for chumps! I’m an Archimedes client!
  • Because I know what I want this section of code to do, I write the necessary unit tests using the standard testing frameworks. I also add a specially-formatted comment in my code that indicates that I’m putting it out for contract, how much I’m willing to pay for the work, and any other special directives (such as “only make this available to programmers who have completed 5 or more jobs already” or “If nobody has completed this contract within a day, increase the price by $5 every 24 hours until it’s finished.”). Then I check it in to my source code repository.
  • I’ve already configured Archimedes to keep an eye on my repository, so it notices my special comment and automatically creates a new request for work on the site which can be seen by any programmers on the site looking for work. They can look at the language, the task, and the amount being offered, and decide whether they want to work on it. If they do, they can check out the change from the DMZ — a special source code repository that duplicates information from my repository.
  • If the programmer has completed the task and has all the unit tests passing, he checks his code into the DMZ. Archimedes then builds it and verifies that the unit tests are passing. If so, it sends me an email with a link to the code diffs in the DMZ. I can look at the code and verify that it’s not just feeding the tests the values they expect or adding a back door to my program. If it passes muster, I click the “Accept” button.
  • When the submission is accepted, several things happen: the programmer is paid the amount that I offered; the submission is merged from the DMZ into my code base; both the programmer and I receive a reputation point to show that we’ve completed a transaction in an agreeable manner.

I think the use of automated acceptance tests and the ability to generate requests for work without leaving one’s usual development environment would help to make this an attractive prospect for developers who want to extend their reach. (This seems very much in line with the Four Hour Work Week way of doing things.) And the ability to take on programming tasks with little ramp-up or commitment for pay would make this an attractive prospect for programmers, especially those who are time-rich but cash-poor.

There are lots of details and refinements possible, but I think the basic idea has some good potential. What do you think, sirs?

Two Heroes

Two people that I have found myself looking up to lately:

  • There’s an 91 year old woman who volunteers at the Hays County Food Bank. While I will likely consider it a fairly major accomplishment to keep my nose hair well groomed and those darn kids off my lawn when I’m that age, she’s out there mixing it up with college-aged volunteers, schlepping around 30 pound boxes of food with the best of them. I am in awe of this beautiful, leathery lady.
  • Yahoo posted a piece on Jonathan Coulton, who quit his job as a software engineer at age 36 to write and perform music. I already loved his songs, and now I love his story, though I’d best be careful not to read too many articles of this sort lest I be tempted to go do something downright irresponsible. Be sure to catch the video.

Thanks for the inspiration, folks.

Give One, Get One Starts Today

Just a reminder: The One Laptop Per Child initiative starts its Give One, Get One promotion today.

The deal again is this: you plunk down $400, which pays for two XO laptops. One goes to a child in a developing country, one goes to the child in your life (who might be you)!

This promotion only is available for two weeks, so if you have interest in helping and/or interest in the XO Laptop, donate now!