The Sweet Spot
On software, engineering leadership, and anything shiny.

Quad Core and the Nerd

My apartmentmate Mike just upgraded his computer to an Intel Core 2 Quad-core processor. Once he got it up and running, he opened up Task Manager and summoned me over to gaze at the beauty of four CPU utilization graphs, one for each core. We had to fight the urge to beat our chests and make low, guttural grunts.

Welcome to 2008, may he who has the most cores win.

Today's Geek Hijinks

Morning: Woke up and attempted to mount a Samba file share under Ubuntu.

My Gutsy server in the living room is getting a second life as a backup file server. I need to mount it in my filesystem so I can rsync certain directories on my desktop over to the server.

mount -t //my_server_ip/share_folder /media/mount_folder

Alas! I couldn’t get write access into the mount point! At first I thought this was a chmod problem, so I added myself as the mount_folder owner.

sudo chown username mount_folder/

To no avail. So then I attempted to use the “permit all” chmod sledgehammer:

sudo chmod 777 mount_folder/

Argh! STILL no good!

So then I went back to the drawing board and did some investigating. I could, 50% of the time, gain write access to child subfolders on the Samba share via GNOME Nautilus interface (smb://my_server_ip). Weird! Was this a Samba config problem? I didn’t have the cajones to find out.

As a last-ditch attempt, I tried to modify my fstab file to mount the Samba share (I read somewhere that the uid and gid option flags give you the win). Side note: you can find your username’s uid and gid numbers from the /etc/passwd file.

# TEMPORARY SAMBA SHARE FROM LIVINGROOM SERVER

# @author Andrew

//my_server_ip/archive /media/archive smbfs noauto,rw,uid=1000,gid=1000 0 0

Still no good! Arghs! At this point, I gave up and simply SFTP-ed in to dump my files. Admitting defeat is a sad, sad thing.

Afternoon: Designed some logo comps for a Web company.

Logo I started on.

I’m working under contract from Ryan Waliany. This site should be doing some cool things. Unfortunately, I can’t reveal too much. All this to say that I’ve taken a long hiatus from design and I really miss it.

Late Afternoon: Set up Google Apps for g9labs.com

I gave in to the hype, and began setting up a Google Apps For Your Domain (GFYD) account for this g9labs site, primarily so I can hook into the awesome GMail interface instead of being chained to the Thunderbird client.

This was a multi-step process of:

  1. **Verifying ownership of your domain. **Google has you modify a CNAME entry on your domain so they can ping it to check that it’s changed. I marched happily over to the Dreamhost panel where I found the DNS page for g9labs.com. There I added a CNAME value of googlexxxxxxxxx (a unique value given to you) and set its CNAME value to “google.com”.

  2. While Google takes 48 hours to verify you’ve done the right steps, you can go ahead and **modify the MX records for your domain **so mail gets sent on over to Google instead of your Dreamhost server. This was easily set in the Dreamhost panel under Mail » MX Records. You change your MX records to Google’s special MX server, and you’re on your way!

  3. I’m waiting for verification to go through, then I’ll talk about how to get IMAP for GFYD working.

Noam Chomsky is The Man

Why?

The man is a respected thinker, theorist and activist. I’ve had several Mass Communications classes devote a couple of sections to his thoughts about mass media and its effect in forming dissent and complacency in the masses.

The man took a period of his life in the 50’s devoted to formalizing computer languages (he is by profession, a linguist). We just went over Chomsky normal form in my CS164 (compilers) course–a recursive method for generating languages from a set of rules.

My CS and humanities world collide, but this man has done it way before. How stunning. Noam Chomsky is The Man.

(Disclaimer: I don’t agree with very many of his views, but the purpose of this post is to point out that Mr. Chomsky is a man who’s pretty much Done It All).

A new blog is coming!

I’m forking this blog in two: a design/development blog and a personal blog.

I’ll be keeping blog.g9labs.com as my technical blog: if you stay with me here, you’ll find me muse about design, code and entrepreneurship as I come across it in my studies and in my work.

If you care about the nitty-gritty of my personal life, follow me at blog.andrewhao.com. There I’ll post more introspective posts on my personal life. You might find photos of adventures I take with my friends, or you might be surprised with the occasional story or poem or song. RSS readers: you might want to add the new feed.

Xanga readers: you’ll be reading most of my content from my personal blog. You’ll probably miss most of the content at my technical blog (but you’re welcome over any time!)

You’ll see new layouts come up in the months to come, but please be patient. I’m way stoked to get this up and running.

Wordpress Bughunt

I spent a good four hours today digging through Wordpress code, trying to get our Cal Christian Fellowship Web site back up.

The problem: the page seemed to freeze when loading page content. The request would time out, leaving a half-loaded page sans content. I dug into the theme at first, trying to track down which function call could have barfed. I tracked it into the apply_filters() call in the the post.

Wordpress uses a filtering system to manage content. This lets us add filters over all kinds of content. I realize that the problem was stemming from the Text Control plugin, where something had barfed!

I disabled the plugin and voila! We were good to go again.

Since we only really used Textile markup on the CCF site, I just re-enabled the default Textile plugin and we were back in business.

I don’t know for the life of me what went wrong over the weekend in the Text Control plugin, but I don’t have the cajones or the time to dig through server logs, et. al. and find out.

Geeking out like nobody’s business,

-Andrew