Look at My Kid. My Kid is Amazing.

Tonight I uploaded a lot of new Beanlet stuff.

I added 141 new photos to Flickr, untitled & unsorted. From October 22 through his 1st birthday party on November 14. You can see them here.

I added 15 new videos to YouTube. From September 9 through the party on November 14. You can watch them here.

Things I Needed to Jot Down or Lose Forever

Messing around with SQLite and pysqlite, I compiled some basics & datetime examples.

Erin while nursing the Beanlet: “I don’t know why… but I love this song”. TLC commercial for the midget farmers show & the Jesusfreaks with eight kids.

I realized I was a father when another human being farted directly into my cupped palm mere inches from my face, and I thought it was adorable. Had the diaper not been there, it would have been much less adorable.

Erin scolding me while pointing to Beanlet: “Until you grow boobs… that can produce milk… you are not allowed to wake up our son.”

I roasted a turkey yesterday (my first time) following this recipe; I am embarrassed just linking to it.

On CentOS: “yum install sqlite-devel” is required before attempting to compile pysqlite from source.

To be continued…

Questions I Cannot Answer

Situation: Someone you know (not a close friend) claims to be an artist, but they suck.

That’s the label they adopt. “Artist” is what they write on the “Hi, My Name is…” name tag stickers at mixers. But they suck. They say, “I’m really going to just pull back from everything and get into my shit, man.” They’re really really trying. They wholeheartedly want to be an artist. They truly want to be successful as such. They honestly think they have a chance.

But they fucking suck. It’s not a “but, really, what IS art?” situation. It’s not hippy-dippy “how do you define ART, man?”

It’s universal suck. It’s garbage. In England, it’s rubbish.

Questions: Do you tell them? If so, how?

Situation: A friend expresses political opinions completely obverse to yours in a public forum (okay, it’s on Facebook).

They’re completely batshit insane. You wonder how in the ever-loving-fuck you could associate with someone like this. How could you ever overestimate this person? You thought they were cool and, by default, shared the same world views & opinions as you.

Wrong!

Questions: Do you cut them off like a necrotic appendage? Do you un-friend them on Facebook? Do you shudder silently and rationalize the friendship?

I Really Want a Cigarette

I quit smoking on October 1st. I created a count-up timer to track how long it’s been since I last enjoyed a cigarette.

It’s not one of those fancy counters crafted in the latest JavaScript or AJAX libraries. It’s an 8-line Python script running server-side that gets fed through an app server. This means that the page only updates if you visit it anew, or hit the reload button.

OK, so it sucks.

It’s not all cool and shit. Cut me some fucking slack, I quit smoking for the first (real) time in 20 years.

I’m a bit edgy. It’s only been 10 days.

An Acceptable Double Standard

A couple of weeks ago, I was taken aback after learning the price of a Ralph Lauren one-piece footie thing which Erin bought for the impending Beanlet. She spent $25 on something he’ll wear for maybe 90 days, and it’s not even made from some relatively-exotic material like cashmere or velvet.

It’s fuckin’ velour. Maybe fleece, if I’m lucky.

After a few minutes, I was completely cool with it. I mean, it’s only $25. That’s cheaper than 2 beers apiece at hockey. I just thought it was an absurd amount of money to pay for 1 baby outfit, especially when compared to the $4.99 argyle shit she’s been buying lately.

Then it hit me. I’m a huge fucking hypocrite.

Cuz, y’know, I’d happily shell out $60 for one of these:

Nesting

You may be thinking: “So, what’s been going on at Chez Perez lately?” Then again, you may not have been thinking that. Regardless…

The Beanlet’s arrival is closer to qualifying as “impending” with the passing of each day. As such, there’s been a shitload of stuff happening around the house.

Among them:

1. We got new windows & a sliding glass door in the basement. This involved removal of extant window hardware & decoration… and the ongoing reinstallation of said.

2. We got new granite counter tops in the kitchen. This involved a surprisingly-irrational, 45-minute visit to the local igneous-rock peddler… followed by expedient and professional installation 2 days thereafter.

3. We got new dining room furniture. As unlikely as it may seem (if you know us both)… our individual tastes are satisfied.

4. “We” decided to paint the closet of what will end up being the Beanlet’s room, only after having painted the bald spot left by the removal of wall-mounted shelves in same.

I’m still not done painting. I’m still not done re-hanging window shit.

None of this was my idea. Okay, I’m lying. The new windows were my idea. Either way… the place fucking rocks now.

All the credit goes to Erin.

Afterthought: Somewhat in defense of mothers-to-be: I think this whole “nesting” phenomenon may not necessarily be attributable to “get shit done to make it nice for the baby” as much as “get shit done now, because we won’t have the time after the spawn ruins my body”.

Discuss.

My Programming Philosophy: Not the Last X Percent

When you’re a mediocre programmer (read: me), it’s easy to conjure great ideas because you know their solutions to be possible.

It’s slightly more difficult to implement the main constituent concepts of your idea, but only (and hopefully) because there’s some research and learning involved. Recognizing your skills as mediocre, there’s likely a better way to do things than your current level of knowledge permits. A bit of reading and examination of examples set forth by those less-mediocre than you result in slightly-more-elegant code for your idea.

It may be difficult to stitch together all your elegant concepts into the idea, because you want the implementation of your idea to be elegant, as well. Don’t you?

This is the universally-loathed “Last x Percent”.

If you are unfortunate enough to have developed each of the elegant concepts in isolation, your stitching will involve dealing with myopically-complex data structures, and attempts at creating workable interfaces to them. It will be hellish; you’ll wonder why you opted to do things the way you did. But you’ll be too far into the project to go back and change the basics of the concepts to retain their elegance, yet offer graceful interaction.

Or will you?

The majority of the work you should do after dreaming up a great idea is: Work it through completely, or as completely as you can.

Start by thinking of how you would implement the whole shebang with your current (mediocre, remember?) knowledge and skills. Then, make a list of things you wish existed that would make it easier (tools, definitions, whatever). Next, see if those things already exist; do a moderate amount of homework, but don’t kill yourself. If you can’t find them readily, you already have a concept of what you must do to create them. Perhaps you’ll discover new tools, definitions, whatever that will facilitate making those things on your own.

Either way, you’re making progress.

But there has to be a sweet spot.

As you learn more, your functional knowledge will grow, and how you envisage the path to realizing your elegant idea will change. As every programmer’s painful memories can attest: Scope creep is bad. But it’s worse when it’s self-imposed.

You must consciously determine when you’ve learned enough. You have to be able to cut bait on theory and start typing code that works. Otherwise, you’ll never get it done.

Fulfill your personal need to collect fragments of new knowledge. Feel satisfied that you’ve done enough homework to become a better programmer.

Then do your shit. Make it work.

You can always come back later and repeat the process.

My First Official Craving Sortie

Primary Objective: White cake (not of the pound variety) with white icing. Coconut cake from the frozen dessert section will have to do.

Secondary Objective: Fresh strawberries to compliment Primary Objective.

Tertiary Objective: Fresh cantaloupe. A slightly-less-ripened melon will have to do (I never purchased one before).

Results: “This is exactly… exactly what I wanted!”

Mission Accomplished.

Have I mentioned that Erin is pregnant?