As I’ve gotten older, Thanksgiving Day has become one of my favorite holidays as there’s a simplicity in the day that I’ve really grown to appreciate.

The center point of the day can easily be summed up as “a day to pause and to remember the good things in our lives”. This creed easily crosses any divide humans have declared, not belonging to any race or religion, amplifying what we have in common, which is being humans connected to one another, whether by blood or by chance.

This is also the one day of the year where cynicism disappears, thank god. You’re allowed to express genuine and outward emotion to people around you, and these little gestures of appreciation get no sideways looks, as, sadly, they might on any other day.

Consumerism hasn’t managed to make any major inroads into this holiday. It’s hard to sell things to people where the day is fundamentally about intangible things like family and friendships. I love Christmas, with its anticipation of gift giving, and I love Valentine’s Day (though I try to shower excessive attention on my wife on more than just one day of the year), but TV and magazines have convinced us that these holidays are best expressed with money spent. Thanksgiving has escaped relatively unscathed.

Unlike New Year’s and its list of resolutions that people make and break, I have no problems reading lists of what others are thankful for, as I undeniably, and thankfully, find it difficult to enumerate everything good that I have.

So here’s my short list of things and people I’m thankful for, and in no particular order.

  • I’m thankful that I’m still able to call and talk to both my parents and my brother on the phone whenever I like (barring time zone differences) and we’re still excited to catch up with one another. I sometimes take that for granted but I know it won’t always be the case and today I get to remember that.
  • I’m thankful for Meghan’s fantastic in-laws, who are absolute pleasures to be around and have been nothing but kind towards us.
  • I’m thankful for relatively smooth arc of my life, and that it seems to be still trending upwards. I’m working my dream job in one of the best cities on Earth, and though some days are better than others, I have to pinch myself occasionally that I’m working daily on something that millions of people, including myself, love.
  • I’m thankful for my incredible co-workers, past and present, that are so gracious with their patience in teaching me to not only to be a better engineer, but a better professional. I’m thankful that Simon took a chance on my resume, flew me out, and changed the course of my life more than most people have. Specifically, I’m thankful for what Neil, Trevor, Dunstan, Henry, Bogan, Eric, Timmy, Pancakes and Bert have taught me about loving what you work on, and have proved to me, once again, that some of your best friends can come from your place of work.
  • Lastly, I’m incredibly thankful for Meghan, who continually makes me attempt to be a better person. For reasons I still don’t understand, she decided to marry me, and then follow me across the country, and put up with my curmudgeonly ways, and I’m thankful that I have my best friend accompanying me along these journeys.

So, today, I’m going to enjoy the company of good friends and I hope you can do the same. It’s nice to pause and think of how good we all have it.


Nobody puts tarsnap in a corner

I woke up this morning around 7:30 with my laptop (a Lenovo R61i running ArchLinux) not feeling quite as snappy as usual. After viewing top, I saw where my nightly backup to tarsnap was still running, which kicks off via cron. This script usually takes 5 minutes, tops.

My first feeling was that it was probably the couple of gigabytes of email that I backed up from Gmail yesterday, though even with the extra bits, my outbound bandwidth should have been able to allow that go through much faster than 4+ hours.

So I attached to the running tarsnap process with strace, just to see what it was doing. I saw lots of selects, receives, and sends, so it appeared to be sending things across the network, which was good.

Seeing the network activity, even though it was behaving properly, set off alarms. A bunch of new files to backup wasn't the only thing I changed yesterday: I had also switched out my Linksys WRT54GL's router firmware with Tomato, mainly due to its extensive Quality-of-Service settings.

We've got a few streaming media devices around the house and I wanted to give them priority (based on MAC, static IP, network interface, etc).

Another nice thing about Tomato is that comes with graphs. I love graphs, and Tomato gives you bandwidth graphs, broken down by timerange and NIC.

Pulling up the graph verified that I had a block of outbound traffic start at 3am, but it was never rising above 30kbps. It was being capped.

So I went back to the QoS interface and sure enough there was a class of traffic labeled “lowest” for “Bulk Traffic” (which matched any TCP/UDP packets heading out to a port 1024 or above) and it was being capped at 30kbps. While fiddling with the inbound limits in the QoS admin, I completely glazed over the outbound limit defaults. (Also, this is why I'm not a network operator.)

Since this is the only outbound traffic of any significance through this router, and I run it at night to not interfere, I just disabled all outbound limits.

Here's the 24-hour bandwidth graph after turning the outbound limits off:

The green is outbound traffic, being capped for several hours, and then spiking and then quickly finishing.

So Tomato is awesome but is evil in that way that only computers can be, which is by doing exactly what you tell them to do.

A Sunday Story: 2011-11-20

This week was another busy week, with the Wine Country trip on Monday and Tuesday with a mad rush back to San Francisco Wednesday morning, and then countless meetings the rest of the week. I've written quite a bit about the trip but I'm not really pleased with the tone of it, so I may just rewrite it straight.

Sutro Tower through the window
I didn't shoot many pictures this week, but this was my favorite out of the ones I did.

Saturday had big initial plans, but they devolved into just us just laying around, as Meghan has been pulling crazy hours dealing with baking and a day of rest was needed. I spent most of Saturday night figuring out how to make my Linux laptop not suspend when I closed the lid. This was about all the fiddling with technology I could stomach this weekend.

Today was nice, though. I met up with Neil and we went to Molotov in the Lower Haight and half-watched the Niners game, went across the street to Rosemunde's to grab a sausage and then a final beer at Toronado. Later that night, Meghan and I met up with Dunstan, Trevor, and Camille at Hobson's Choice for a drink, and then ate at Burger Urge (yep, that's the real name…).

I read a few of David Foster Wallace's short stories and essays this week, which partly knocked me off finishing the Wine Country post. Though I'll never be able to write like him, I do take some solace in that no one else will be able to either. I did pick up Frank Conroy's memoir “Stop-Time” as David Foster Wallace mentioned in one of those stories that it was one of the books that made him want to become a writer — I'm really enjoying it so far.

Photos from our Trip to Wine Country

Meghan and I went to Napa Valley with her parents this Monday and Tuesday, staying at a vineyard and visiting several wineries for special tastings.

It was one of those special trips where we received VIP status everywhere we went, which I'm not used to, but it was fun. The trip also culminated with dinner at the French Laundry last night which was incredible.

I'm going to try to write a few more words about the trip, but today was a hard hit back to the reality of the work week, with meetings, meetings, and meetings, so I'm hitting the sack early tonight. I just wanted to get these photos up before I did.

These are all from my Ricoh GR III and I haven't shot with a digital camera (besides my phone) in several months so it was interesting trying to tell my eyes and fingers to do the right thing. This was also the first time I've ever shot in RAW, so I also had to do some minimal post-processing.

A Sunday Story: 2011-11-13

Writing, drinking
Hello Bridge
Time for some basketball

Our friend Sara visited us from Chicago for a few days and it was really nice to catch up and show a new visitor around the city for a bit. Meghan took Thursday off so they were able to wander the city and get some shopping in. On Saturday, before she flew off, we made our normal bike route through Golden Gate Park, showing her the ocean and the bison.

This was a nice reprieve from the numerous, intense meetings I had work this week.

UNC played its first basketball game of the season from the deck of the USS Carl Vinson, bobbing around in the ocean outside of San Diego. To partake in this event, I and a few other UNC alumni met at Jillian's in SOMA. The good guys won and I rode my bike back in the rain.

After having dinner at with Meghan's folks last night at Thai Idea, we went to Richard and Katherine's engagement party at the SimpleGeo offices, where I got to catch up with a quite a few good folks, drink some whiskey, and eat some s'mores.

This morning we went on a bike ride with Meghan's parents, out to the ocean and back, and said hello to the bison again.

After the bike ride, I cycled back out and went down to Dolores Park to meet up with Eric and Bogan, where I carefully wrapped three bottles of Stone Pale Ale in aluminum foil to keep them cool. It was good hanging out with those guys, enjoying the crowd and the last bit of warmth from the day.

Tomorrow, I'm heading up to wine country for a couple of days, culminating in dinner at The French Laundry, which I'm giddily excited about.

After shooting tons of Instagram photos over the past few weeks, I decided to drag my Minolta 35mm out that I haven't shot with in forever. I also shot a few this weekend with my little Ricoh point-and-shoot.

Bogan and Oscar

Things I've been thinking about:

  • Flickr
  • Christmas in New York City
  • Aaron and his parallel-flickr
  • Building a thing that spits out a random post from the archives of a few choice blogs
  • Hand-written letters
  • How much beer I've drank recently

Fewer Features Is A Feature

I saw where Linux Mint released their newest version today and one of their changes was switching the default search engine to DuckDuckGo. The little blurb describing DuckDuckGo was this:

It doesn't show different results depending on who's making the search, it doesn't track or record user information, it provides you with optmized results and it's built on and contributes to Open Source.

The engineer side of my brain immediately said, “Well, not doing per-user search results and not tracking users is EASIER to build! That's awesome that he's getting away with building less and tauting that as a good thing.”

People usually positively correlate the number of things you can click and look at with how “good” a product is. Microsoft traditionally has always had a problem with this, and a lot of other enterprise software does this as well, usually so they can just check off a feature request checkbox, with not considering how these features impact why people use the product in the first place.

One piece of software I use where they are proud of, or at least point a finger to, the features they don't have is Pinboard, where it has routinely called itself the “anti-social bookmarking service”, due to its lack of a full-fledged social network in the Facebook sense of the word.

The current feature set of Pinboard is exactly what I want. It keeps my bookmarks, lets me see a few friend's bookmarks with no automated discovery so there's not the add-everyone-you-ever-met problem like most other social networking sites, and then just gets out of the way. I don't need anything else and anymore things to click and look at would negatively impact the things I do need it for.

I'm sure these social features are easily in the realm of Maciej's technical ability, but developing a social anything, involves things likes privacy levels, explore of some sort, content and comment recommendations, and each of these has its own scaling problems, not just in hardware and software, but in community support and abuse prevention. I'd rather Maciej's time be spent making the current features better and attracting new users so he can make a good living and keep the service running.

Not having Feature X that every other product in your class has could absolutely be a defining feature. If a feature is not in your wheelhouse, for every user that finds it useful, there's at least one other user that finds it bothersome, or at least in the way of using your product's main focus.

I wish more of the services and products I used would be more strict about what they build and apply laser-like focus on that what their product is. I'd rather use many, small sharp tools than a few, large dull ones.

Cleaning Things

So one of our friends is coming to stay with us for the rest of the week.

I usually love house guests, and am equally looking forward to this one as well, probably more so as she's one of Meghan and mine's oldest (in duration, not age) friends. She was a bridesmaid during our wedding and her husband (who unfortunately has to work) was a groomsman on my side. We like these people.

So in preparation of this particular guest, Meghan and I have spent the past two nights cleaning. And not the “dust the major surfaces, stuff the dishwasher, and put dirty clothes in the vicinity of the hamper”, but Cleaning.

I've swept, dusted, mopped, dabbed, scrubbed, rearranged, sorted, and soaked. Things were cleaned.

All clean!

We've had a box of stuff — just things that don't have a place for and that we don't want — that's been shoved in a corner forever so I did that SF thing, and donated them to our sidewalk. We've had good luck with this donation process before and feel optimistic about this one as well. Some of that stuff was nice, and nice stuff disappears (sometimes whether or not you'd like it to).

There's something uplifting and mind-altering about a clean house. I don't want to touch anything, which makes getting dressed in the morning interesting.

These are my Happy Places

The Unplanned Bank Transfer Day Participant

So my Wells Fargo Visa credit card expires at the end of the month and I've been getting the notifications from various services that I've set up for automatic payments that it's time to update, so I called Wells Fargo to see if they have shipped my new card, and if not, if they would mind sending that along.

The agent on the phone, after I explained my situation, told me that Wells Fargo had mailed me my card last year, which I had never received. She told me that they would need to immediately close my account while they shipped me a new card.

To me, this wasn't a good thing. I still have all these services that are expecting that card to be alive so I try to explain that I would need to move these services over to another card if that was the case. She refused to not cancel my account, citing company policy.

I tried to reason with her if that if the card had been mailed to me over 12 months ago, and since there had been no activity on that card and I had never activated it, it was probably lost. I told her then that I wasn't reporting it missing and that I'd just like to my card expire, at which point, I'd be perfectly willing to let my account be disabled while the new card was being shipped, since it was effectively dead anyway.

I was placed on hold while she spoke to her supervisor and when she came back, I was informed that she had canceled my account, just like that.

So, now, I don't have a valid credit card hooked up to all these various services (and I can't look them up on the Wells Fargo site, as they actually disable your viewing of the account, since it's canceled and all).

She then told me that I'd be able to get my replacement card in 7-10 business days, but that she could rush it to me for $16. I asked if this small fee could be waived, due to the fact that I've been a model bank citizen, holding a good chunk of my savings in their bank and paying off my credit card statement in full every month, for over a decade. She refused.

So I told her that she could send it normal delivery and that I would be closing it as soon as my account reopens.

After we hung up, I then spent the next few minutes setting up a new account at the San Francisco Fire Credit Union. They offer the normal checking account services (with no fees) and have a Visa Platinum card (also, with no fees) as well as the nice feature of ATM fee refunds, which I have been using Charles Schwab up to this point.

Friends at work have been discussing the Bank Transfer Day for awhile, and a few have made good and moved their funds to local credit unions (if they hadn't already). I hadn't thought about switching, though I've had difficulties with Wachovia/Wells Fargo in the past, but this was my limit.

So Wells Fargo was willing to lose a customer that had significant chunks of money stored away over the matter of $16. Sixteen bucks is not much, value-wise, but it shows the true priorities of at least one big bank.