Ryan Kanno: The diary of an Enginerd in Hawaii

Everything you’ve ever thought, but never had the balls to say.

2006 Archives

Google Checkout is a piece of crap.

I learned a thing or two about a business’ core competencies in my Business 660 Strategy course last semester. I can definitely say that Google Checkout is not one of them. Having been a Google-fan since day one, I really, really struggled to write this blog… but the truth must be told.

Google Checkout is a piece of crap.

You’d think that having a market capitalization of 145 billlllioooooooon dollars might warrant some half-decent software, but apparently, this is living proof that there is absolutely no direct correlation between the two (maybe proof of an inverse one).

Having been suckered by their ploy to gain market share (using Google Checkout meant another $10 off my purchase price), on December 7th, I decided to purchase a TMX Tickle Me Elmo doll from ToysRUs.com. Having purchased the item, I received a confirmation email in my Gmail account indicating that my purchase was “In Progress“.

A few days passed and the purchase status hadn’t changed. I called ToysRUs customer care, and they immediately recognized that Google hadn’t sent the order to them - hence, the invalid order number and static progress indicator. They indicated they would shoot an email off to Googs to see what the problem was. Satisfied with their answer, I sat and waited for an email from Google, aka recognizing how they fu$#ed up.

Three days later, and not surprisingly, nothing.

I decided to call ToysRUs once again, and their system indicated that an email had been sent to Google requesting the status of my order. I find it completely ironic that the ToysRUs back office software was more accurate than Google’s! Unable to even remotely contact a real person at Google (I know, I know, enginerds have no personality), I asked ToysRUs if they would still honor the Tickle Me Elmo price. Unfortunately, at this point, the toy was sold out.

So here I am, waiting for my order status to get out of “In Progress” without any hope of fulfilling my order, and worst of all, nobody at Google can tell me what happened. Actually, they probably could, but they just don’t have a customer presence to tell me what the f happened. I’m not sure who thought it would be a brilliant move to unleash untested software for the holiday season, but I can tell you I’m sticking to Paypal.

I honestly thought that maybe, just maybe, it was a server glitch and I was one of the unlucky few affected. But performing a simple search (using Google), you can find similar experiences like here, here, here, here, and here - for starters. I could probably spend all night aggregating these links.

Not to mention, as the last article points out, they now have my damn credit card, and I have nothing to show for it. I’m not sure if it’s because they have their hands in too many pots, but it might be that time to analyze and see what pots are actually worth stirring.

Tagged: , , , , , , , .


Dreamhost + Subversion + Post-Commit Tutorial

Update

According to Jeff, Dreamhost has disabled setuid for home directories - which they probably should’ve done years ago. :) As a side note, some other alternatives include the following:

In any case, I’ve since moved half my sites to WebFaction so if you know of a solution, post it in the comments and I’ll write a new blog post about it. :)


Since Dreamhost has integrated Subversion into their services, I finally decided to take the leap and move my local repository to my hosted account. After all, I was tired of always having to remember to transfer my updated files via scp. With my repository moved over to Dreamhost, I figured I would take advantage of Subversion’s post-commit hooks to automagically update my live beta site.

After reading a myriad of solutions (like here and here ), I found the Dreamhost wiki entry the most helpful. So without further adieu, here’s a small, quick and dirty tutorial on how to automagically get post-commit working with Subversion on your Dreamhost account.

The setup

The very first thing you need to do is create a directory on your Dreamhost account to checkout the source files to (I’m assuming you’ve already created your Subversion repository, have checked files into it, and are ssh’ed into your Dreamhost account.). In my situation, I created a subdomain in Dreamhost called beta.localkinegrinds.com. Dreamhost automatically creates a directory named beta.localkinegrinds.com within the root of the admin account. I cd’ed into that directory and issued the following command:

svn co PATH_TO_FILES_IN_REPOSITORY . --username USERNAME --password PASSWORD

Once checked out, I switched into my Subversion repository directory; it was named svn in the root of my admin account. From there, I went into my named repository, and then into the ‘hooks’ directory.

Here’s where all the fun begins!

First, I created a script called ‘post-commit.script’ that looked like the following:

#!/bin/sh
/usr/bin/svn up PATH_TO_DIR --username SVN_USERNAME --password PASSWORD

I exited my text editor, then issued the following command:

chmod +x post-commit.script

From reading all the forums, the main issue with the post-commit hooks is that svnserve will run the hooks as the Apache user; in Dreamhost’s case, the dhapache user. Thus, we have the following options as described here. We can:

  1. Run password-less sudo (which we don’t have access to on Dreamhost)
  2. Change the group permissions (which we don’t have access to on Dreamhost)
  3. Checkout the files as the dhapache user from a post-commit hook, then change it to update as described here (which I thought was a pain in the rear, not to mention having the directory be world writeable)
  4. Compile a small C program with its setuid bit set

Being the programmer that I am, I chose the last option. Basically, as Wikipedia describes, “when a binary executable file has been given the setuid attribute, normal users on the system can execute this file and gain the privileges of the user who owns the file (commonly root) within the created process.” This means that even though the Apache user will run the post-commit hook, it’ll assume the privileges of the user who owns the file (my account) and be able to execute the post-commit.script file we just created!

Neat!

So… taking a look at the Dreamhost wiki, I created the following c program named post-commit.c

#define PATH_TO_POST_COMMIT_SCRIPT "/PATH/TO/POST_COMMIT.SCRIPT"
#include <sys/types.h>
#include <unistd.h>
main( ac, av ) char **av;
{
  execv( PATH_TO_POST_COMMIT_SCRIPT, av );
}

I then issued the following command to compile the program into a binary called post-commit:

gcc -o post-commit post-commit.c

And then to set the setuid bit on the post-commit file:

chmod 4755 post-commit


Voila!

Assuming you set all the correct paths, on a commit to your Subversion repository - your live site will be updated!

As a side note, most of the sites previously mentioned didn’t have any troubleshooting tips. Here’s a few that I ran into along the way:

  1. Always test the scripts out first, ie, execute them from the command line and make sure they are doing what you want them to.
  2. Apparently, according to the Subversion book, “Subversion repository executes hook scripts with an empty environment.” This is something good to know.
  3. If everything was done right, and it’s still not working, try to update your checked out Subversion directory. Sometimes you need to clean up before any other updates can occur. That problem took me a whole half-an-hour to figure out. :)

In any case, if done correctly, you’ll be on your way to a better development environment!

Tagged: , , , , , .


One semester down, only 2 more to go.

Ever since my fiasco with the University of Hawai`i MBA program administration (which btw, has *never* been resolved), I’ve avoided from blogging about what a great (or lack thereof) education I’ve been receiving. I want to avoid denigratory remarks about the program because though I’ve previously bashed both the administration and educational quality of the program, I have made quite a few friends that I do hope to keep in touch with. And though I’ve *really* considered taking a few computer science classes and getting them paid for with tax payer money, I’ve decided against trying to show the administration how ridiculous and narrow-focused their policies are. (See previously referenced blog).

In any case, I digress.

The original intention for writing this blog was to rave about my Business 660 Strategy class with Professor Ito. Though I found Ito a bit quirky in his methods, strict in his grading, and peculiar with his humor - I must admit, I learned quite a bit from his course this semester. I can honestly say that this is the first time in the entire program (aside from Business 610) where I felt not only intellectually stimulated, but I actually felt that I received my money’s worth in educational value.

That’s how good the class was.

Having never had a discussion led via the Socratic method, the first few classes were an eye-opening experience. Every class would require preparation and well thought-out arguments to Harvard Business cases. Whether we focused on market responsiveness, mergers and acquisitions, or strategic policies, I really felt compelled to listen to each and every argument posed by my peers and the discussion led by the professor. From the drudgery of previous classes, this experience was refreshing and invigorating.

One semester down, two more to go.

Tagged: , , , , , , .


Fallout

“Fallout”

*Spoiler Warning*: Plot and ending details about the latest Heroes episode.

Considering how disappointed I was with the last two episodes, “6 Months Ago” and “Homecoming“, to be perfectly honest, my expectations weren’t too high.

Thank goodness for low expectations!

I was pleasantly surprised since this week’s episode only quarter-sucked.

Some of my weekly thoughts:

  1. I really, really enjoy the Sylar storyline, especially how Mr. Bennett implies there are many more Sylar’s out there, i.e. reminds me of Highlander - “there can be only one.” Yet, how in the world did Sylar grab Eden through the glass? My co-workers think it was because Haitian dude wasn’t there… which brings me to my next point…
  2. I’m lost at what “Playa” Haitian’s (as Ed calls him) powers are. Some co-workers and I have come to a conclusion on a few of his powers including 1) mind eraser 2) brain static inducer and 3) sleepy hand waver. I can’t figure out *how* Sylar activated his power in the cell - just doesn’t make sense.
  3. Apparently, Peter not only has the power to absorb, but the power of vision, ie his brother and the accident, speaking with Sylar, and himself as the bomb. Why the hell is he getting sick… and why in the world is *he* the bomb?
  4. I like the fact that Mr. Bennett is working for someone. There’s something always intriguing about the ‘mystery voice over the telephone.’ Not to mention, “Playa” Haitian has his own agenda. I love how the writers alluded to the fact that mind erasing the Bennett’s had occurred many times and though it wasn’t something new, but this time would be different. Why!@#$?
  5. I’ve commented on the Jessica/Nikki story in my last blog and based on this episode, I still strongly feel that this storyline is weak and needs to be taken care of - . In a perfectly Darwinian world, this plot line would’ve been dead episodes ago.
  6. Hiro and a T-Rex. C’mon… can’t they do better than that? “I better find that sword.” Where the hell are they going with that?
  7. What happened to the Suresh storyline?

So my personal feelings on the episode… not bad. It only half-sucked. Ok, a quarter-sucked. They answered a lot of questions, but opened up a whole new bag of worms. I’m suckered. I guess the only option we have now is to wait for next year…

Tagged: , .


I’m scarred for life…

It’s official, I’m scarred for life.

Thanks Bill.

They say you can tell a lot about a person by their inbox. After coming home from a hard day’s work, I turn on my computer, open up my emails and what do I find?

  1. Britney spread eagle; here, here, here… and damn, too many to list. (NSFW - To save you some time, check this link out.)
  2. A “home video” of Dustin Diamond, aka Screech. You can read a review about it. And if you’re really ballsy, there are tons of clips all over the net, like here.

*Disclaimer* - I am not responsible for any repercussions or side effects that result of you clicking on any of the aforementioned links. Let me repeat, they are not safe for work.

I don’t know what Britney is thinking, but first K-Fed, then Paris, and now this. I’m wondering how her publicist is gonna spin this latest episode. Maybe she just needs some couch jumping on Oprah to turn her career back around. And as for Mr. Diamond… I mean, if you’re gonna make this type of video, at least (no offense) be hot like these two. All I know is that I’m not sure what I’ve done to people in this life or my past life, but I really, really need to burn my eyes out.

Tagged: , , , , .


Powered by Wordpress. Stalk me.