Entries for March, 2005

I guess this post has been a long time coming - my IRL friends [yes, I do have a few IRL friends!] have heard this gripe time and time enough.

I don't like Google. At all.(Long entry ahead)

So now you know.

Posted by roy on February 28, 2005 at 06:29 PM in Web Development | 19 Comments

Happy birthday to Alice!. The big 2-4 for her! :o Go wish her a happy bday!

. . .

I've updated the moods metadata. Apparently the month of February was the month for being "thankful." Cool.

. . .

There's a petition by a poor soul for me to open up more features to free users. You know where I stand on the issues.

. . .

Speaking of which, paid users, if you haven't done so already, turn ON hit logging from here. I'm working on completely revamping the whole hit logging system so it doesn't suck ass. So let it start grabbing data ... :)

Currently listening to: Keane - Sunshine
Currently feeling: shocked
Posted by roy on March 1, 2005 at 02:09 AM in Ramblings, Tabulas | 4 Comments

Today was a good night ... I just went through the third round of interviews for a job [!!!!!!], I got to catch up with some old friends at Alice's birthday dinner, and I played good poker.

Avoid this poker stories!!!!!(HOOOOooooooooo)

It was a good night.

Currently listening to: Keane - Somewhere Only We Know
Currently feeling: satisfied
Posted by roy on March 2, 2005 at 02:08 AM in Poker | 1 Comments

Do you remember those "Choose Your Adventure"-type stories? Well, let's TRY ONE that's based on REAL LIFE EVENTS!!!

It is 430am. You are exhausted, but you are also starving. Deciding that placating the rumbling of your stomach is the only way you'll get to sleep tonight, you meander downstairs in search of food, much like our ancestors in the Stone Ages used to do.

While foraging, like our ancestors, you discover a Japanese Bean Cake pastry. This is quite a treat - it is red bean covered with this doughy cake-y that is absolutely SCRUMPTIOUS. You, Caveman Grog, are excited with this find.

You quickly run back to your cave [upstairs] where the halogen lighting reveals a potential problem: the white cake dough is spotted with green dots. At first, you dismiss the green dots as being part of the cake, but then the "smart" part of your brain realizes ... "this may be mold." You debate whether red bean cake can "seep" to the outer edges of cake into a green dot.

You are really really hungry. The choice is this:

  • Do you eat the red-bean cake, convincing yourself that the moldy spots are probably just red bean? (Turn to page 96)
  • Or do you not eat the red bean cake? (Turn to page 104)

Do not dismiss this post as simple foolishness! The solutions we reach as a group can be appled to broader philosophical questions useful to the male species when entering university: "Is the pizza eatable? What parameters do we use to decide whether food that's been left out can be eaten without dire consequence? Is it worth starving for?" These are questions of great import.

Posted by roy on March 2, 2005 at 02:43 AM in Foolishness | 21 Comments

Is there a free easy way of animated GIFs? No trial versions, no "huge" downloadable programs. Just something simple is required. I have a bunch of frames that I want to animate, but ImageMagick won't work for me. Much thanks, all.

Edit: Daynah linked to this program which works quite nice. Thanks!

Posted by roy on March 2, 2005 at 03:02 PM in Ramblings | 2 Comments

I've gotten the question "Has Tabulas been exploited?" twice over the past week. So an entry on Tabulas security weaknesses and holes.

The short answer is that Tabulas has not been the target of any software exploits. There were a few issues during the first iteration of Tabulas where users coming from the same IP address would magically find themselves logged in as somebody else, but that problem seemed related to people coming from behind the same NAT [which at the time made no sense because Tabulas wasn't checking based on IPs - browser weirdness?] but was quickly resolved. I'm pretty vigilant against SQL injections and allowing any type of user input, so the standard methods of hijacking php scripts shouldn't occur in Tabulas.

Sal e-mailed me a few weeks ago bringing to my attention that Tabulas users were all vulnerable to a XSS exploit.

The Tabulas templating engine, being completely open-ended, allows users to input Javascript. In theory, someone could write Javascript that pretends that it's the input form of your control panel and send you to your control panel. The e-mail quoted from Sal: (My comments are bolded.)

Hi Roy,

Got bored tonight, thought I might have a bit of fun with my Tabulas account. Was thinking of ways I could play around with any logged in Tabulas user tame enough to view my site. Thought of a few good ones too, :/

Heres a couple of examples.

In simple forms, things like this put in templates could force a new friend

<iframe src="http://my.tabulas.com/friends.php?action=add& friendname=USERNAME" style="display: none"></iframe>

This is why your 'add a friends' feature now requires another step. This was also the tipping point in removing any control panel triggers through the GET method; everything is POST now.

...or you could helpfully post an entry for your Tabulas visitor

<div style="display: none">
<body onload="document.forms.forceEntry.submit()">
<form method="post" action="http://my.tabulas.com/post.php?action" name="entryForm" id="forceEntry">
<input type="hidden" name="title" value="I use Viagra" />
<textarea name="entryText"><a href="http://viagra.com/">Viagra</a></textarea>

BAD ROY! BAD!!!!!!

So the problem basically boils down to the problem of, "How do I verify that users are coming in through the control panel as opposed to maliciously-scripted JS?"

The solution was surprisingly simple; Tabulas now stores a table of data which I've simply called "Post Keys." Everytime you visit a page in the control panel, Tabulas stores [in the system, you'll never see these post keys] a randomly generated md5-hashed value [md5 wasn't entirely necessary, but I like having alphanumeric characters of consistent length]. Everytime there's a form input field, Tabulas creates a field: <input type="hidden" value="ce6351e1e14483ed2301d9edaf5d04b6 />. Tabulas then ensures that this post key value is the same one that was assigned. If not, it kicks you out to the login page (Which is why some of you get errors).

If you use multiple Tabulas browser windows when posting entries [which is a UI issue, but I just don't have the time to build an elegant solution for posting pictures to your entries, I usually open at least two windows when posting pictures and posting an entry at the same time], the problem comes up where the post key that was generated for your entry page is no longer value. Unfortunately I've basically had to assume that you wouldn't visit more than 10 pages between actions.. Tabulas stores the past 10 post key values and compares between all of them.

All pages of any import in your control panel now have the post key value, so Tabulas is [for now] safe from any XSS exploits coming from what Sal mentioned.

Much thanks to Sal for pointing this out.

Posted by roy on March 3, 2005 at 06:19 AM in Web Development, Tabulas | 5 Comments

I am now employed full-time at a start-up doing stuff that's really natural of my skillset. Unfortunately I can't talk more about this, but I highly suggest those of you not reading this through Tabulas log-in to get the friends-only version. It doesn't have any juicy details, but more personal reflections on this job that I just decided to err on the side of caution with. I'll be using friends-only a lot more now ;)

In any case, the most excellent news is that I am continued to allowed to work on Tabulas because the guys are really awesome about this. Unfortunately, developments will go slower than they are going now, but the since most of the hard work is done ... I don't figure this will be any problem.

The biggest change for this whole situation is mostly a mindset change for me - I no longer have to rely on Tabulas for money. Excellent! I'll quit pestering users to upgrade to paid accounts - which are actually going to be renamed 'patron accounts.'

In my mind, Tabulas is kind of like a glorified geek/art toy ... and those who financially support it are patrons. I don't view Tabulas as a business where people are obligated to pay - they should if they want to - and if they do, they get cool new features. They are patrons.

In any case, things are good. I'm employed and I can continue to work on Tabulas :) This is great news for AM too; I can buy a separate DB server for AM stuff....

Posted by roy on March 3, 2005 at 02:56 PM in Personal | 21 Comments

College students, please help my friend out. She needs 250 people to fill out this short survey. I'm assuming you need to be at least in college or graduated for this survey to be valid.

Please do me a personal favor and complete it... no one gets anything out of it at all [except her, she needs it for a class], but if you do... know that I send you a virtual e-kiss. :-*

Once you've completed the survey [it only takes 5-10 minutes!] send it over to hhwang - at - email - dot - unc - edu.

Posted by roy on March 4, 2005 at 12:18 PM in Ramblings | 2 Comments

For quite some time now, Lillia had been hyping Five Guys, a burger joint that recently opened in Southpoint. I think one of the dangers in any movie or food hype is that you'll build it up TOO much in your mind; the product may end up being a huge letdown.

So, to be quite honest, I didn't try to believe the hype. I mean, how good could a restaurant in a food court be? But yesterday I woke up at the crack of noon to pick up Alice and Lillia so we could *finally* go to Five Guys [Being quite busy people, we've been planning this "trip" for weeks!].

Walking into the food court at Southpoint [aptly named "Fork in the Road" for its wide variety of similar eating establishments ... there is the Japanese Ichiban with its teriyaki chicken, Chao Cajun with its bourbon chicken, and Max Orient with its ?? chicken, _all_which_are_the_same; what's up with that?], I immediately noticed a long line at Five Guys.

As we all know, long lines are indicative of a pleasurable experience, so this was definitely a favorable omen. I patiently stood in line while the worker from the next door Chao Cajun peddled her "Bourbon" chicken. While waiting in line, I decided that a Bacon Cheeseburger was the perfect breakfast to start the day....

... ten minutes later, I'm sitting down with Alice and Lillia. The great thing about Five Guys is you get to see them grill your burger and make it. And unlike other estabilshments, the meats they use are *really* *frickin* *good*. The "hamburger" comes with two patties, while their "little hamburgers" comes with only one pattie.

Let me just say ... this burger lived up to its hype. And more. It was amazingly good. So good, I have devoted an entire entry just to this glorious little hamburger. I woke up today craving some more Five Guys .... but I can't go today.

If you live in the RDU area, you *must* try out Five Guys. I can no longer eat burgers from Wendy's because my standards for burgers have been raised so much higher. I do believe I will be making plenty of trips out to Southpoint in the upcoming weeks ... damn these high gas prices.

Posted by roy on March 5, 2005 at 02:10 PM in Ramblings | 7 Comments

Jon has written an excellent post which poses the question: "Private blogging....does it make sense? Are there any other solutions out there? Is blogging even so important and so entrenched as part of the digital horizon that we need to discuss this?" I suggest you read the post in its entirety before reading my responses to his post below.

(long post)


So yes, given the fact that most users on the Internet do not want to use blogs for grassroots journalism or for any real "useful" purpose besides "writing about their lives," privacy levels are absolutely necessary. A lot of people of people wish simply to share with a limited audience, and not to share with absolute strangers. The mentality that Jon's friend shared ['it's my blog and don't you dare read it or comment on it you f*ing asshole'] is mostly the failure of blogging services in allowing the user easy privacy level access - this person brought ideas that seemed reasonable from the real world and tried to apply them to the web - sadly most web tools are still in their infancy and could not handle these requests.

Until web tools learn to deal with these users' very reasonable request for greater privacy control, blogging will continue to only be accessible to a very small subset of users [teenagers with nothing to hide and semi-professional amateur bloggers].

And if you're thinking this is a bad thing [keeping "average Joe" users out of the blogosphere], this is misguided thinking. Technology must be democratized so *every* can use them and benefit from them.

Posted by roy on March 6, 2005 at 02:13 AM in Web Development | 13 Comments

Girls get such better service at restaurants than guys. I simply did not comprehend this fact until I was hanging out with a large group of girls and noticed service was really good. For example, the sushi chef at Kanki's didn't put "snow" [just fried stuff] on top of one of the rolls ... so he made a whole fresh roll.

A few days later, at Five Guys ... Lillia and I were waiting for our food ... and the server guy smiled at Lillia and was like "I gave you a large fries." [She had ordered a 'regular' fries] HELLO? I HAVE NEVER GOTTEN AN "UPGRADE" ON FREE FOOD. EVER!

Never EVER has something like that happened to me. I can barely get an apology out of servers when they're really late with my order ... much less get replacement food.

When it comes to the food services industry, girls have it all.

. . .

I've been testing out podcasting [audio blogging]. My first two messages on Slapcast have been entirely stupid. But not even funny stupid. I have one free message left. So here I offer you the ability to make an ass out of myself.

Post below what you want me to say on the podcast. I'll try to link in all the phrases into one podcast and then post it. Keep it PG-13, cause I know Yush is just dying to suggest something scandalous like "I LIKE TO TOSS SALADS."

Currently listening to: Beck - Where it's at
Currently feeling: jealous
Posted by roy on March 7, 2005 at 02:03 AM in Ramblings | 8 Comments

Given the fact that I have so many enemies on Tabulas, you should be surprised that I am writing this post.

I know that this whole blogging thing is on some subconscious level all a big deception. I choose to only write about things which seem interesting, and I almost always exaggerate the stories to make the nothings seem like something. As Chris once said: "The nothing in your life is so much more interesting than the nothing in my life."

And of course, with the ability to selective choose which pictures of myself to post online, I have made sure that only the most flattering pictures go up on the Internet so I can e-impress all the ladies [ladies, are you impressed?]

Before you ask, yes this post is going to serve a purpose beyond me posting pictures of myself everywhere.

I wish to discuss with you one of my weaknesses. Much like Clarke Kent, I have a kryptonite as well. This kryptonite... is tree sperm.

Yes, allergy season is coming my way. Before attending Carolina, I lived in a blissful allergy-free world. But that was before I was assigned to Hinton James dorm. While living 3 glorious years in HoJo, I developed rather severe allergies. But the moment I moved out ... THEY WERE GONE!

Today was an extraordinarily beautiful day, so I left my window open. But I should of known better. While working on the new editor for Tabulas ... I felt that itch ... and the runny nose... and then the inevitable sneeze.


Currently feeling: silly
Posted by roy on March 8, 2005 at 02:15 AM in Foolishness | 11 Comments

There's going to be an EXCITING new feature-ette to Tabulas soon; I've been working on it hardcore the last day or so. It's an old feature that was taken out because of lack of support ... but I've found a new open source package that works wonderfully!

I was doing work on the smilies engine [still a LOT of work to be done there if I ever want to let people upload their own smilies] and noticed that the trigger word for this smiley face: irate was UNC. I guess I really wasn't happy with UNC when I wrote Tabulas...

The trigger words are pretty funny - I kind of added the smilies feature as a last-minute request during the early development stage; I would look at the picture and then use the first word that came to mind. Some of these are only humorous if you know me and the people in real life...

tonylee This was named after Tony Lee, who is obviously Mr. Cool

droolie This was named after "Drools" Choi, who has long since departed this area [she got married!]. The joke was that she was the sweet ol' mountain girl from rural NC... except she was Korean.

Named after my then-girlfriend.

I could not pass this naming this one after my Mom - she's a damn good chef. Momma's cooking ... #1! [What's funny is that everyone thinks their mom is the best cook. But my mom can beat up any of your moms ... so eat it.]

This was named after Hansub (aka "Soob"). The joke here is that Soob used to have an attitude and had a dirty mouth. We just like to make fun of Soob [the one on the right is him].

I'm a narcissistic ass. This is named after me because I am never seen without a hat.

Named after jennhlin. I was chatting with her when I was naming these, and she demanded I label the prettiest emoticon after her. So I did.

Named after Yush cause I can kick his ass any day of the week! I AM THE ALPHA MALE!!!!!!!

Trigger word: girls. 'Nuff said.

Trigger word: dukies. How can I not take a potshot at Duke University? Paying $35K+/year for an education you can get for $10K/year on the other end of Tobacco Road? Come on...

Trigger word: boys. Cause we're so innocent like that... until evil girls come and corrupt us! Hahaha.

Named after Alice. Cause it's just her.

Named after Lillia. If you know her, this one is a great fit.

Posted by roy on March 8, 2005 at 04:09 PM in Tabulas | 15 Comments

Well, you should notice a new text editor input box.

This is the result of about a day of hacking the EXCELLENT TinyMCE source files. I'm really surprised how advanced these tools have gotten - I remember when I first implemented this WYSIWYG editor into Tabulas 1.0, there were just a whole slew of problems which lead to the demiseof the feature.

But with time comes progress.

In any case, I'm a bit nervous about this whole feature because I feel like it's going to lock out users from posting to their Tabulas account. Or that the feature is going to somehow gain artificial intelligence and take over Tabulas.

No, honestly ... I'm just scared because I'm throwing into production a hacked modification of an open source project without fully understanding a lot of the coding behind the text box.

In any case, everything should still work. Let me know if something isn't working :)

. . .

Next up: much much better hit logging data. The data's already looking a lot better. Jeez louise I have a lot of referral spam. I need to fix this problem.

Currently listening to: Led Zeppelin - Stairway to Heaven
Currently feeling: stressed
Posted by roy on March 9, 2005 at 03:36 AM in Tabulas | 9 Comments

The Get Up Kids are breaking up.

Currently listening to: The Get Up Kids - Holiday
Posted by roy on March 9, 2005 at 02:32 PM in Music | 2 Comments

Thanks to Jinshil.

Posted by roy on March 9, 2005 at 10:31 PM in Foolishness | 4 Comments

As you will notice, I did some funky formatting with this entry [RSS readers will *not* get the full effect; I highly recommend your read the entry normally. Anton Zuiker showed this Atlantic Monthly article that formatted an entire article in the manner below at the Chapel Hill Bloggers Meetup yesterday; I immediately realized that this would be perfect for my journal and wanted to give it a get-go. So I wrote this whole convoluted entry just so I can add in those little snippets. Lame.

. . .

Anti-hero sounds so much cooler than hero.

Our anti-hero wakes up to the the whirring of manly powertools. Oh yes, today is the day where the second floor of our anti-hero's abode is being renovated. In an effort to boost the possible selling price of said abode, the upstairs is being stripped of carpet and being replaced with hardwood floor. Our anti-hero wakes up at the ungodly hour of 330pm and begins his daily routine.

As opposed to me naturally assuming that they are "Mexican," as other jerks might do.

Avoiding the three Latin American workers, our anti-hero makes his way downstairs. Three minutes and 23 seconds later our anti-hero is speeding away in his muscle car to pick up a copy of the highly-recommended book The Soul of a New Machine by Tracy Kidder which has an ISBN number of 0316491977 [autolink THIS, Google!]. Unfortunately, Barnes and Noble does not have said book, and our anti-hero is informed by the cute girl [aren't all girls that work at Barnes inherently kind of cute? No?] that the closest book is "probably in Raleigh." Taken aback [BARNES HAS NEVER FAILED BEFORE!], our anti-hero begrudgingly goes to Borders Bookstores, where they have two copies of said book. Our anti-hero returns back to Barnes to take advantage of their "high-speed wireless Internet;" wireless at home has been disconnected while renovations are being completed.

As a side note, I am starting to really hate e-mail. It's so outdated and the signal-to-noise ratio of quality e-mails are diminishing. Furthermore, anyone who is of any import in my life knows to IM or cell me... what purpose does e-mail serve to me? Alas. To be chained to this confounded computer...

While there, our anti-hero runs into two friends. Our anti-hero pays an extortionate amount of money to connect to the Internet [not really, I just like to exaggerate] where he finds out he now has ANOTHER e-mail address to check! Yes, the new company our anti-hero has worked for has granted our anti-hero with yet another e-mail address to check! YAY!!!!!!! After spending an hour and a half doing some work and reading The Wisdom of Crowds with an ISBN number of 0385503865, our anti-hero is confronted by a ridiculously cute 4-year old named "Turner." Turner is an unabashedly gregarious four-year old who enjoys gadgets. Turner tells our anti-hero that his tablet PC is "pretty cool" but his cell phone is much cooler [I have the shittiest Motorala EVER]. The anti-hero asks the willing four-year old for an autograph on the tablet PC. After writing a "T," the cute four-year old admits that he has not yet learned how to write the rest of his name. Our anti-hero sees through the lame excuse and is about to engage in a EPIC BATTLE with the four-year old when the mother of the four-year old returns and leaves with him. She is a wise woman for interceding at the moment - perhaps her "motheradar" indicated trouble for her adorable son. Our anti-hero returns home... where is confronted with the first challenge of the day.

Jose, one of the Latin American workers, was a bit too enthusiastic with his powersaw [what man isn't?!] and managed to slice the cord of the power adapter for the wireless router in half. The anti-hero drives over to RadioShack to purchase a new power adapter. Our anti-hero, in typical male fashion, heads directly to the power adapter section, selects the proper product with the right ampage and voltage, and heads to the cash register. No frolicking around with electronics today. He is a man on a mission. The register rings up the total [$17 and change] and wishes our anti-hero a good day. As our anti-hero leaves, the man at the register reluctantly calls out to our anti-hero, not four steps away from the door. Freedom was so close.

What could be the problem? Does the dark gangsta image of our anti-hero make the cashier suspicious that our anti-hero could be swindling the Radio Shack of some electronics? Did our anti-hero leave something behind? Is there a "kick me" sign on the back of our anti-hero?"

"Hey dude, I saw you drive a Ford Taurus. I'm thinking of buying a 2001 Ford Taurus [he points to the burgundy-colored Ford Taurus outside the store], and I wanted to know what your opinions are on the Ford Taurus."

The author must admit here that the cashier was somewhat lacking in the raw sexuality department, but this can be worked on once the Ford Taurus is acquired.

Our anti-hero is taken aback. FINALLY SOMEONE TO SHARE THE LOVE AND JOYS OF THE FORD TAURUS! Our anti-hero immediately goes off on a spiel about the benefits of a Ford Taurus and the raw sexuality drivers of Ford Taurus' exude. Two minutes and 33 seconds later, our cashier quips: "Yeah, that's what I thought. All the other Ford Taurus owners I've talked to have said it really is a great economical car."

Feeling empowered at helping his fellow man, our anti-hero returns home and plugs in the power adapter to the wireless router.

Our anti-hero's heightened sense of smell immediately notices a burning smell. Suddenly the router goes POP!

Like lightening, our anti-hero lunges at the power cord and immediately removes the power to the router, lest the router blow up the house. His selfless acts have saved the lives of approximately 4,292 people.

Our anti-hero sees that the capacitor of the router exploded. Furious at the gods for meddling in his life, our anti-hero goes to his local Best Buy to purchase a new router. He is confronted with three choices:

  • A Belkin router ($69.99 - $60.00 MIR)
  • A Netgear ($69.99 - $40.00 MIR)
  • A Linksys ($89.99 - $40.00 MIR)

Actually, by statues I really mean dinner.

Our anti-hero returns home with the cheapest product and sets up the wireless once again. The crowds rejoice at the return of the glorious Intarweb and offer to build huge statues in his glory.

So how was your day?

Posted by roy on March 10, 2005 at 06:04 PM in Foolishness | 11 Comments

Jeez, I go and pig out at Waffle House just ONCE at 330am and I break out like CRAZY.

It's so bad that I actually have a pimple on my butt cheek. And it hurts everytime I sit on it.

Damn you, two scrambled eggs, bacon, grits, waffles, and triple hashbrowns. Damn you!

Currently listening to: Jackson Browne - Somebody's Baby
Currently feeling: annoyed
Posted by roy on March 13, 2005 at 12:13 AM in Ramblings | 12 Comments

Developing an API [or more accurately, 'protocol'] for Tabulas has been an ongoing frustration of mine for the past few months. Everytime I feel the inspiration to finally delve into developing a proper XML-RPC API for Tabulas, I run into some huge problem and I give up. But today I told myself that I would *finally* sit through and complete the API, even if it kills me!

But what is an API? It stands for application programming interface. An API is a method of allowing the innards of Tabulas to be accessible to any programmer. For example, a programmer could write a program that would make a request to a special Tabulas URL, and Tabulas would spit back the data in a specially formatted manner.

The crossposting feature for Tabulas makes use of Livejournal and Blogger APIs which allow Tabulas to send those "Post Entry" requests to those services.

APIs are how other websites can access your site. APIs are also how other developers can make client-side programs work with your services. Livejournal has a great client called Semagic which allows you to pretty much access your LJ account from a desktop application.

An overview of the current APIs available:

  • Blogger API - Very rudimentary, but also incredibly common
  • metaWeblog API - An expansion of the Blogger API
  • Livejournal API - Very specific to Livejournal features
  • Atom API - A new "built from the ground up" awesome API that's supposed to do everything ... except it's not officially 'stable.'
  • Movable Type also has their own API, but it was of no interest to me, as all the ones above seemed to do everything already

So what am I to do? There are so many competing standards! Unfortunately, I'm going to follow convention and follow programs that are already built for specific APIs - meaning I paid extra attention to the Blogger API and the Livejournal API. By supporting the LJ API, Tabulas users could (in theory) use Semagic to update their Tabulas. And I really like Semagic. A lot.

But before I even begin with that, I decided implementation of the Blogger API would be easier. So I downloaded a copy of w.bloggar, which is a popular Win32 client that works with a ton of XML-RPC APIs.

One problem with w.bloggar is the formatting of each entry - it uses the standard "mark up your own HTML" instead of using a WYSIWYG editor. That seems to really defeat the purpose of downloading a client to begin with. Maybe once I get a Mac, I can try and see how well ecto works.

But progress goes slowly. I'm starting to slowly get a grasp of how XML-RPC works. Hopefully by sometime later this week, I'll have the API working so you guys can download a client and not have to use a browser to update your site [har har].

I should also get to work on that confounded post via e-mail feature.

So much to do, so little time.

Update at 452 AM: I've added support for the basic Blogger API XML-RPC calls: blogger.getUsersBlogs, blogger.getUserInfo, blogger.getPost, blogger.getRecentPosts, blogger.newPost, blogger.editPost and blogger.deletePost.

If you're really adventurous, go download w.bloggar, and set-up a "Custom" blog tool with the host of api.tabulas.com and path of /xmlrpc/. Use your Tabulas username/password to use this feature.

Note: none of the templating features on w.bloggar will work.

Currently listening to: The Killers - Somebody Told Me
Currently feeling: stressed
Posted by roy on March 14, 2005 at 01:36 AM in Tabulas | 6 Comments

I can't believe I lost this auction! World domination would have been MINE!

. . .

well somebody told me that you had a boyfriend / that looked like a girlfriend / that i had in february of last year / it's not confidential / i've got potential

If they had an Olympic sport for listening to the same song on repeat, I would win it hands down. Nobody can beat me when it comes to listening to songs on loop.

. . .

It's Spring Break!!!! TIME TO GET BUCKWILD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (and by buckwild, I mean get started at my job)

Posted by roy on March 14, 2005 at 11:52 PM in Ramblings | 3 Comments

harold the bear

Posted by roy on March 15, 2005 at 08:40 AM in Tabulas | 6 Comments

Tabulas turns two today. It's really weird to look back when I first started - I had such small aspirations ... initially Tabulas was just for me and my friends. There was an unlimited quota on everything, just because I figured it wouldn't ever take off.

In a sense, it did take off. Two years later, I sit here with roughly 57474 registered accounts (a lot less which are actually active, but such is life in the blogosphere). I have met some really interesting people and have received many compliments (which I guess are really awesome).

Tabulas has had its ups and downs. There are incredible highs (when I stumble across blogs which are well written and take advantage of the toolset) and incredible lows (reference the launch of Tabulas 2.0).

Tabulas 2.0 was supposed to be a move towards a more "professional" product which I would feel comfortable charging for. But you know the truth? I don't really feel more comfortable now. I think Tabulas is an excellent platform for many different groups of people, but I just don't want to commercialize it. There's a certain charm to a site that's still maintained by one developer, and the pressures of having to comform to business models is something I'm loathe to now do.

In any case, I've been pretty relaxed about Tabulas - not having to develop for the sole purpose of making $$$ freed me up to develop cool new features (Tabulas Radio, Tabulas XML-RPC Protocol) which aren't really keys to financial success. But to be honest, I'm very tired.

The toll of working on 2.0 then facing a huge code refactoring of the control panel to be more extensible (for foreign languages) while developing new features has me simply fatigued. There's always a never-ending list of "to-do" things in my mind, and it will never be solved. The perfection of Tabulas, as much as I want to achieve this in my mind, will never ever be reached. It's just too big and too widely used to implement huge changes to the UI or features.

So I'll be largely stepping away from developing for Tabulas now - no new features, no code refactoring, no new developments. I am imposing at least a 3-month hiatus where I will refuse to think about Tabulas code. Short of any glaring security holes or huge bug reports, I will no longer develop another line of code for Tabulas. Hopefully the 3 months away will give me a chance to get a fresh set of legs or get a better idea of what to do.

At this point with Tabulas, I am entirely happy to take a 3-month vacation; there is also a good chance this 3-month vacation will be extended indefinitely. But for now, I'm going to take a 3-month vacation.

However, given the relative incompleteness of several features, I've made one final update to the Tabulas to-do list. I will complete these tasks as fast as possible and then begin my "vacation."

This does not mean I am abandoning this blog or no longer helping with tech support - I expect I'll be dropping by the forum to answer questions and continue to support people. Any problems by paid members will still be answered promptly (I will probably provide an e-mail address for support).

In essence, nothing new will be developed for Tabulas for 3 months. That's the only change. :)

But what does this mean? It means I get more time to pursue some of my other interests - I really want to get Audiomatch back up - the backend work by Neeraj really deserves a fitting front-end. Plus I miss not being able to see what songs I've been listening to :)

I have also found a new project to work on - this is a site that hasn't been developed on the web yet, but promises to be incredibly useful to a very small subset of the population. My goal here (again) is to create a totally kickass user experience. This will be my personal art project - tying in elegant code, simplistic design, intuitive UI tools, and a cool idea into one cool website.

To be honest, I was surprised that I got so hyped up for this project - my work for Tabulas has mostly been lacking this excitement. I guess that's when I really realized that I needed a break ...

And of course, I'll also be spending a lot of time at my new job :) It's the second day, but they're jumping me straight into development. I've slept in two 4-hour segments since Sunday morning, but I'm still really hyped for all this work. As I get more comfortable with the company and what they do (and they get more comfortable), I'll write more about it. For now, given the sensitive nature of their business, I'll keep my trap shut.

So, Happy Birthday, Tabulas! Thanks to everybody who has used it - I hope you continue to use it extensively and tell all your friends about it. Maybe when I come back to development in 3 months it will be flowering and I'll have great new ideas for features to develop :)

Posted by roy on March 15, 2005 at 09:07 PM in Personal, Tabulas | 15 Comments

Just demoing Tabulas from Tyler's Tap in Carrboro. L)

Update: So today at the Chapel Hill Bloggers Meetup I got to demo Tabulas to the crowd. Of course, Google's supercomputers must of cached my "Why I Don't Like Google" post because they gave me directions to Southern Village and not to Tyler's Tavern so I was a bit late. YOU CAN'T FOIL ME, GOOGLE!

In any case, I'm not much of a public speaker, so I was incredibly relieved that I had do to do a minimum of structured 'presentation' and spent most of the time on questions/answers (and the tangents that naturally occur).

I think I got most of what I wanted to say out there, so that's a relief ... but much thanks to those who knew exactly what I was trying to say and were able to phrase things more elegantly. Sometimes I get stuck in technospeak and forget how to explain every simple concepts.

Much thanks to Anton for not only giving me time today but tirelessly being the organizer of this group of bloggers:)

Posted by roy on March 16, 2005 at 04:43 PM in Ramblings | 9 Comments

Malcom Gladwell wrote a book called The Tipping Point which is based around the idea that social phenomena do not occur gradually, but "tip" over at a certain point ... the broader interpretation of this is: "small groups can achieve big things!" (assuming you have the right group of people.

This discussion came up in yesterday's demo of Tabulas. Everyone (including myself) was quite interested in how the community grew - from which people did Tabulas grow from?

I've always maintained that Daynah, Lauryn, and dodozhang21 were the initial "tipping point" for Tabulas that led to a huge surge of users. For the most part, this is true... but there was a dark horse for the #1 spot! Someone I've NEVER known about! Quite interesting...

Tabulas has been storing referer data since user #800 (actually the loss of the early adopters really hurts me!), so I decided to take a break from work yesterday night and generate a quick and dirty analyzation of the data.

This report will not hold up to any real test of statistical integrity; this is more of a broad stroke more than anything.

The data was currently mapped user (Abe) -> referer (Ben) (referer being the person who referred user to Tabulas; in this case, Ben referred Abe). Now, if Abe then went and referred Caleb to the site, Ben would be accredited for TWO referrals. He referred Abe, and Abe referred Caleb.

And so on and so on.

Click to view the data.

The data is quite interesting. The most interesting part? The top 100 users [0.17%] referred a 3903 out of 19600 possible referrals [19.91%]). 0.17% referred 19.91%!

Posted by roy on March 17, 2005 at 04:21 PM in Tabulas | 7 Comments
Posted by roy on March 18, 2005 at 08:49 AM in Ramblings | 3 Comments

Light posting until this forsaken tournament is out of the way.

Carolina is looking real good (that would be an understatement). It's just like last year, except we're not being stupid and losing easy games. What's surprised me is that our 2nd team is not looking horribly bad either. I worry that after this year a lot of our players might leave - Sean May is looking way too good in the tournament to pass up lottery ... Felton could probably use another year (but might pull a Duhon and get ranked lower if he has a mediocre year)... McCants has a lot of hype about him and I'm not sure how much he can improve. And if this year's draft is weak, Marvin Williams might pull a Deng and get drafted in the 1st round (20pts, 15 boards today??? damn!)

I look forward to seeing NC State in the Elite Eight. Secretly, I'm really happy for the Pack. I think they've gotten a lot of negative publicity cause of Julius Hodge, but as I told Bert - when Julius Hodge comes to play, NC State is a contender.

Go Georgia Tech and Duke!

Posted by roy on March 20, 2005 at 02:49 PM in Ramblings | 6 Comments

The past few months have been incredibly trying. Dealing with family troubles, financial difficulties, finding a job (sorta), grappling with the growing pains of Tabulas ... it's all finally starting to resolve nicely, but it's all very disconcerting.

I've been doing a lot of talking about "growing up" with close friends, and the conclusions I reach are not very promising. I think the worst part was when I realized that I actually said the phrase: "Man, I really want to get a good mortgage so I can invest in my future. They make the best long-term investments, you know."

WHAT?! When did THIS shift happen?

The truth of the matter is that I've reached the stability that I was looking for, but now I really don't like it that much. I like things to be in a state of upheaval - having such a limited upside is killing my spirit.

Maybe I'm just too young to appreciate the stability. Maybe I'm at the stage where chaos is a good thing, and not a bad thing.

Posted by roy on March 21, 2005 at 03:13 PM in Personal | 5 Comments

Read this entry, then scroll down and read the comment posted at March 22, 2005 08:47 AM.

It makes my blood boil. Someone's grief is not the time to push your bullshit political comments.

Posted by roy on March 22, 2005 at 09:54 AM in Ramblings | 9 Comments

For some time I've really wanted to get a Polaroid instant camera. There's something so gratifying about hearing that click-whirr and seeing the picture form before your eyes.

I've also been itching to get back into the groove of taking pictures. I vowed that the next time I shoot with SLR would be on a digital Canon SLR (unfortunately this costs $$$$). The perfect transition camera until I get a digital SLR is obviously an outdated 1980s camera.

I got this camera for three main reasons:

  • There's a small photography project I've been itching to do, and it requires a Polaroid.
  • It teaches good composition skills
  • There's something inherently romantic about the Polaroids. These things were light-years ahead ... instant photography! In color! Plus just the instant gratification along with the "look" of each Polaroid... notice how when people want to create photogalleries online that look "retro," they use the framing for Polaroids:)

I rely too heavily on the rule of thirds; I think composing pictures in a square is a more difficult task which might teach me better composition. Plus there just seems to be too much of a reliance on "more expensive gadgetry" when it comes to photography. Hopefully I can brush up on my skills using this camera... and maybe I'll even get adventurous enough to buy the original SX-70.

Who knows. But I love this camera already. (too bad film is $30 for 20 prints!)

Pictures of my camera:

Closed camera

Opened camera

Remember, no matter WHAT Outkast tells you, Don't shake it, shake it, shake it like Polaroid pppeeecttttuuurree.

Currently listening to: DJ Format - We Know Something
Currently feeling: nostalgic
Posted by roy on March 23, 2005 at 12:31 PM in Photography | 4 Comments

I can't believe I was humiliated.

I found out the work screenname of Jennifer (jennhlin this smiley was named after her) and created a similar one to mess around with her. I thought I was being so clever and giggled myself to sleep on many occassions.

Well, in any case, I confessed the prank to her. And boy, I should of never done that.

A little while later, we were chatting about Drools, and how I hadn't talked to her in close to a year (I'm horrible at keeping in touch with people). I should of never trusted her, but Jennifer told me that Droolie was two months pregnant! I got so excited for her, but also felt sad that I hadn't kept in touch. Jennifer said that I should e-mail her immediately cause Droolie was probably sad that I never sent her a congratulatory e-mail. So I quickly fired one off, and then...


I felt a certain uneasiness in the bowels of my SOUL (yes, my SOUL). Like the moment when you pay a shady Korean merchant $50 for a suit you've been haggling down from $100 ... only to see the merchant's eyes light up... I felt something was wrong.

Then it hit me. Droolie wasn't pregnant. I had just sent a congratulatory e-mail FOR NOTHING. Imagine not hearing from a friend for close to a year, then receiving a congratulatory e-mail for being pregnant ... when you're not.

Oh god, I couldn't believe it. How could I be so gullible??? HOW? HOW COULD A SIMPLE CHINESE GIRL TRICK ME?!?!? THE MASTER OF THE INTARWEB?!?!?!?

I'm going to get her SO bad.

Posted by roy on March 23, 2005 at 12:55 PM in Foolishness | 9 Comments

A fair warning to those of you don't like my poker posts; just skip this post. (Some analysis of Tuesday night game plays)

Posted by roy on March 23, 2005 at 10:34 PM in Poker | 5 Comments

A bit frustrated at work. Things are disorganized, and I'm not entirely sure what I'm supposed to be doing, so naturally I'm trying to do everything. Next week things should get a bit more organized and give me more direction, so I'm looking forward to that.

Of course, I'm not much of a coder, but I've been learning a bit so it's been a grand experience. My first code submission was a "400-line monstrosity that doesn't require code obfuscation." Hahahahaha. Oops. In my defense, it was 400 lines because I used a ton of functions, trying to break the logic down and there's a lot of comments and debugging. Plus I had to implement functionality to allow for different test cases. Once the final spec for the feature is released, I should be able to cut down the code some.

Some of the work I've been trying to do is the whole reason why Ajax has become so popular. In essence, it's a hack to get around the fact that http is stateless. It's a lot of work ...hey the results are worth it.

. . .

Saw a link on Justin's site for transparent screens ... and of course I just *had* to do it for my tablet PC. So I rpesent to you, my transparent tablet PC:

Posted by roy on March 24, 2005 at 04:16 PM in Web Development, Foolishness | 4 Comments

moonie the gentleman

Moonie the Gentleman... on Moonie the Gentleman...

This picture was taken with multiple polaroid pictures; I took a picture, waited for it to develop, then had Moonie hold the picture up, then took another picture. In all, there 4 pictures. I took this with the camera I purchased a few days ago.

I'm not entirely happy with the outcome and will reshoot this sequence (Moonie willing) with a tripod. It was a good first pass, though. Still learning a lot about this camera.

Posted by roy on March 25, 2005 at 01:14 AM in Photography | 11 Comments

I've always found the little theme song they play during the iPod shufle commercials to be simply infectious. When no one is looking, I oftentimes find myself dancing around the imaginary arrows that fly around my room. So I finally decided to download the track so I could dance along with the music; maybe if I learned the whole commercial I could really impress some ladies on the dance floor.

A cursory search of the Intarweb using Google returned the song name "Jerk It Out" by Caesar's Palace. Quite an interesting song title. Let's examine the lyrics:

Caesar's Palace - Jerk It Out

wind me up
put me down
start me off and watch me go
i'll be running circles around you sooner than you know
A little off center
and i'm out of tune
just kickin this can along the avenue
But i'm alright

'cause it's easy once you know how it's done
you can't stop now
it's already begun
you feel it
running through your bones

and you jerk it out
jerk it out

shut up
hush your mouth
can't you hear you talk to loud?
No I can't hear nothing 'cause I got my head up in the clouds
I bite off anything that I can chew
I'm chasing cars up and down the avenue
But that's ok

cause it's easy once you know how it's done
you can't stop now
it's already begun
you feel it
running through your bones

so you jerk it out
jerk it out

I had NO idea such an obscene song was playing on TV!

Posted by roy on March 26, 2005 at 02:38 AM in Ramblings, Music | 1 Comments

The last three numbers I've added into my cell phone address book:

  • Chili's (take-out Country Fried Steak!)
  • California Pizza Kitchen (take-out Sicilian pizza!)
  • Pizza Hut (take-out Supreme Pan Pizza!)

I do believe I need to meet some new people.

Currently listening to: Jesse McCartney - Beautiful Soul
Posted by roy on March 27, 2005 at 03:34 PM in Foolishness | 5 Comments

If you thought my life was boring before, the boredom quotient in my life is GOING THROUGH THE ROOF!!!!!!!!

I'm still having a bit of trouble adjusting to this job. Hopefully if I keep grinding away I'll understand my role and be able to perform to my greatest potential. Or something.

In lieu of any real interesting posts, I offer you a link to this great commercial from SBC Yahoo ... just watch. You'll enjoy it. (Especially if you're an Eric Clapton fan!)

To further satiate your desires, I also link to you these other great commercials:

Currently listening to: Chris DeBurgh - Lady in Red
Currently feeling: worried
Posted by roy on March 29, 2005 at 01:19 AM in Ramblings | Add a comment

This is not a poker-related entry, no matter what it seems like. So feel free to read.

The one thing that's great about the poker games is that there's a certain level of honor among the players - we don't cheat and we don't lie. If someone miscalls chips, it's an honest error that's immediately corrected.

I'm a bit of a purist when it comes to these tournaments - I don't believe in deal-making (Ryan offered me a deal last when I was severely outchipped but I turned it down - when I won, I gave him enough of the winnings to make as close to an even split in money between 1st and 2nd). I get a bit peeved when Gibby and Will softplay each other cause they wanna boost each other's chances to getting to the final table, but this is really a gray area. It's just not fighting over, cause they're both okay guys and it's not a huge deal to me.

Tonight a new kid came into play. He isn't a great player, but for some reason he kept making weird calls on the button and winning. The first time was when he caught a gutshot straight (all-in off the turn) against Joe...

One hand, I tried to make a steal with A2o in MP (I had been on a roll so I was playing the rush). In any case, he flat-calls a huge bet on the button with 95o, and Will pushes the rest in. The kid (Steven) flops two pair... and Will catches a gutshot straight with AQ (board is K95J) ... when Steven tries to burn an extra card on the river. Godwin immediately calls him out on it ... and it's a ten. The kid starts bitching about how he didn't burn an extra card (which is total bullshit cause there were three cards next to the community cards). He calls us "cheaters" and starts griping about how he should get his money back, but we stand firm.

In any case, something about that hand unsettled me; the fact that this kid was winning against really bad statistics on the button was bothering me. So I decided to watch most closely when he dealt - I had an inkling earlier that the kid was slowing down a rifle when it got to the top of the deck.

Well, a few rounds later, I caught the kid red-handed. I saw him plainly looking at the top 7 cards (this wasn't even a rifle) ... and then calling a preflop raise from Godwin. I didn't say anything yet, cause I wanted somebody else to catch him as well.

In any case, I busted out a little while later; I went over to the other room and told them about this kid and how he cheats. I told them not to say anything until they caught him red-handed, and they were immediately pissed about it.

My reasoning for this is simple: if I'm the only one who catches him, it becomes my word against his, and the default situation will be to let him play, except he'll know not to cheat. What I want is for everybody else to catch him so there's no doubt in anybody's mind ... then he gets kicked out of our tournament and gets blacklisted at all our other games.

Well, a few hours later, Godwin IMs me and tells me the story.

Apparently the other guys confronted after they had seen him do it a couple of times ... and he got very angry and started bitching about how we were all cheating against him. What the?! Apparently Aaron ran after him for some fisticuffs action, but the other guys restrained him. Honestly, I thought that he would get his ass kicked or something.

But yeah, I don't understand this. Why would you cheat at a friendly poker game? The point of the game is to hone your skills - why would you sully your reputation and ruin the game for everybody by cheating?

Honestly, I just feel bad for the kid. It's really really really sad to have to cheat at cards ... it's a good representation on how he views life - he tries to take the shortcut to get the edge. It's pathetic.

Terrence hasn't signed on yet, but I'm waiting for him to sign on to hear the story from him...

. . .

This entry is already paying social dividends:

ABAlex: wow, finally a poker story worth reading
ABAlex: all you need is more cheating assholes to write about
ABAlex: ;-)

. . .

Terrence has his version up.

Posted by roy on March 30, 2005 at 01:41 AM in Poker | 12 Comments

Wow, I never knew my personal domain got so cluttered. Years and years of just throwing content together ... made it one huge mess. I spent a few hours today sorting through the thing; I redid the HTML so it was CSS/XHTML 1.0 valid ... and started to reorganize all the content within the site. I decided against redesigning the site because I love the layout so much.

This is the main directory listing of the main domain. Wow. It's trashed with all sorts of random junk.

Hopefully by weekend's end, I'll have cleaned up roykim.net to a point that's really presentable.

I did a quick disk check on roykim.net, and it has over 4GB worth of stuff. A lot of it is stuff I've no longer linked, but there's a ton of great movie files, funny clips, the whole Calvin and Hobbes archives (yeah, that link ... I privately mirrored it).

And guess what? Only people I like will get access to all 4GB of stuff! It's just a matter of reorganizing all the stuff... I also think I'm going to touch up my summer 2002 gallery a bit. Just the HTML, although I've been itching to rescan all the slides for some time now. If only I had time...

. . .

Another thing to look forward to is the relaunch of Audiomatch.net. Yeah, it's been a long time coming ... but I've just started to get into the groove of getting back to work on this awesome project. The backend is all done - it's just a matter of getting all the frontend stuff working once again (redesign, etc.).

Audiomatch.net, for those of you "not in the know", is a website that lets you install a plugin to your Winamp ... then all your music playing gets tracked. A list of your "recently" listened songs becomes displayed so people can see what you've been listening to. It also generates a cool little image like *Hmay*:

Neeraj has worked on the hard part of the site by testing a hypothesis we had about listening habits that should yield artists that are similar to the ones you listen to. So it's basically a music tracking/music suggestion site. I also want to throw in some kick-ass lyrics management (remember my old project, singitwith.us?), and we have the making for a great site.

Another cool little project which yields absolutely no financial incentives ... but damn it's cool.

The new Audiomatch is exciting because I'm developing complete protocols (APIs) to let you access the innards of Audiomatch.net; there are also "push" protocols; anytime you send data to AM, it will also let you resend that data to another site. I wrote a quick and dirty PHP script that receives that data and stores it in my roykim.net DB; I'm using a quick PHP scriptlet to display my "most" recent songs as well!

It's kind of funny that the busier I get, the more I get done. I think it's cause my body goes into a higher gear and my productivity just remains at a higher level.

. . .

Don't think that I've forgotten about Tabulas. Anton was gracious enough to open his home to a Triangle Bloggers Meetup, and a lot of people (some G-boro people as well!) showed up ... I had to duck out early due to prior engagements, but the whole meeting really got me thinking about a lot of stuff. I'm starting to remember why I started to develop Tabulas in the first place. I'm getting revitalized with the whole blogging thing, and I think Tabulas will start to reflect my philosophies more closely.

I still plan on taking time off from development for Tabulas to focus on AM and my other small side project. I have been taking notes on how to improve Tabulas for the masses. So I guess there is now an official Tabulas 3.0 in the works (which will be yet another rewrite of the backend to support some of the more advanced features I want to build into the site.

But, honestly, it's seeing the launch of Yahoo! 360 "social networking" site that's really gearing me back towards Tabulas development. I'm not sure whether what they're doing is the "beta jitters," but this whole invitation-only scheme is ridiculous, and the whole concept of "closing" so much stuff off is really missing the point of building social networking sites. All social networking tools should be as transparent as possible. A lot of these social networking tools are facing inwards, when their goal should be to face outwards.

Oh, the ramblings of a 3am moron. I'll write more coherent stuff over the next few days as I slowly get some of these small side projects out the door.

. . .

Besides work, nothing interesting is happening. Still no girl. But Cupid be willing, that'll change sometime... I think. If only I can trick a girl into liking me ... muhahahaha

Posted by roy on March 31, 2005 at 01:16 AM in Web Development, Tabulas | 6 Comments

Oh my goodness. Yesterday's South Park was absolutely hilarious. The episode starts off with Sony's PSP madness than delves into this whole other story that plays on the whole Terri Schiavo ordeal. As always, Trey and Matt offer great humor and insight into the situation.

I absolutely loved the episode for the completely random soundbytes. There were angels cursing, using the Lord's name in vain, angels sniffing markers ... and the ending is absolutely fitting for anyone who has spent way too much time playing a video game.

I've uploaded the episode for downloading consumption (143 megs).

Some quotes from the episode that I just died laughing from:

Protester: "You bureacrats have no right to play God and take that tube out!"
Angel: "No, no, you see, they were playing God when they put the feeding tube in."

Angel Michael: "We are outnumbered and in need of someone who can singlehandly bring the dark army down. Basically, Kenny ... you are Keanu Reeves."
Angel Spy: "Satan, Satan! God has mocked thee once again!
Satan: My spy!
Angel Spy: God has find a way to defeat your army!
Satan: Impossible, how!
Angel Spy: A young man ... basically.. he's like a Keanu Reeves.
Satan: Oh, Jesus Christ!
Satan's Advisor (A rip-off of that advisor in LotR or the Emperor from Star Wars, can't tell): My Lord, we must attack now (Hisses)
Satan: What's the point, they have a Keanu Reeves now!

Advisor: "No, my Lord! Keep your army marching, my Lord! I will get the feeding tube put back in."
Satan: "How?"
Advisor: "I will do what we always do... use the Republicans."

Posted by roy on March 31, 2005 at 03:29 PM in Ramblings | 7 Comments

Terrence started off his most recent post with this quote:

I believe very strongly that one of the most important things a man possesses is his honor. There is a certain way to do things in life. A code to live by, if you will. It includes, but is not necessarily limited to, the following: don't lie, don't cheat, don't steal, be loyal, and have respect towards women. I feel that if you were to follow those simple tenets, you would be considered a good, honorable man.

There are reports that the main WordPress.org website was caught spamming. Google gives each site a value called a 'PageRank' that indicates how "important" it is on the web. A site with a high PageRank linking to another site can boost the value of the other site on Google searches. In any case, since every default installation of WordPress links back to the main WordPress website, the PageRank of Wordpress.org went up to an astounding 8.

With this great PageRank, the project manager of WordPress decided to create hidden links to 120,000 pages on the WordPress.org website which then linked to websites trying to sell stupid crap.

The project manager was paid for rendering these services. In essence, he whored out the high PageRank on wordpress.org which was generated in good faith for money. This is wrong.

"This isn't spamming"

I'm quite surprised by people who say this isn't spamming or that it isn't wrong. One of the Wordpress people wrote that this isn't spamming. He then uses a parochial definition of spam that basically boils down to "nobody actually had to deal with the mess."

So an analogy ... if a chemical company is polluting in the remote wilderness where nobody lives, is that still not a harmful thing?

Google enforces the spirit of the law. When you create a LINK to something, there is some implicit trust. I link to Terrence and Yush because I trust them not to write stupid crap that inflames the masses. I also want Google to know that Roy knows these people. Linking is the most critical part of making the web work (which was why there was this whole hubbub about Autolinking). When you do something stupid like hiding divs with links to bullshit articles, you are undermining the spirit of the Web.

When people linked back to WordPress from their default installation, they proudly wanted to show that they appreciated the project. They did not want the Googlejuice to be used for money.

It's all about the money, stupid

I run Tabulas pretty much on my spare time and money. I do not make money off of it - Google AdSense nets me roughly $220 a month, and there are roughly $500 in server fees. I don't mind paying the difference when paid (patron) accounts on Tabulas don't cover the fees - a cursory glance at any random Tabulas account makes me feel warm and fuzzy inside.

Sure, I bitch about the lack of support for free services and the unrealistic expectations from time to time, but that does not change the fact that I violate the trust of my users when I whore out the site.

If Matt needed funds, he should of asked for a donation drive. Or he should of appealed to the community. Why engage in shady tactics which are so clearly wrong for money? It makes me very skeptical that he's doing it for the community, but rather for some other monetary purposes.

Act like a big man

I run Tabulas. I feel that this has taught me a lot about the way I'm expected to carry myself. Tabulas only exists because of the implicit trust between the users of Tabulas and myself. They trust me not to resell their e-mail address or go looking through the databases at their private entries. There have been times I have wanted to delete people's accounts, but I've never done that.

Tabulas defines my life, but my life does not define Tabulas. Tabulas is very much owned by all the users as much as I own it. In essence, it has outgrown me to a certain extent.

Matt acted like Wordpress was his. He decided at his discretion that engaging in shady tactics for money was OK. The ends do not justify the means here. Once you give something to a community, it is no longer 'yours.' It is theirs as well.

We all make mistakes

This is in no way a personal attack on Matt or anything Wordpress-affiliated, but I just feel the need to speak out on this subject. We all mistakes from time to time, but the fact that a mistake of this level was commited really sullies the reputation of the project.

I've commited many mistakes in my life when it comes to Tabulas, and I've learned from them all. Hopefully Matt learns from this mistake as well.

To anyone who is keeping up with this issue, it may seem like I'm jumping on the "hate mob" bandwagon, but I really am not. When 6A launched their new pricing structure, I was supportive. When LiveJournal was bought out by 6A, I was happy for them. When Yahoo! bought Flickr, I was happy for them.

The free web is a two-way street

I know that running these sites is very time-consuming. It's even tougher when you don't make money on it, and all you get are complaints or "questions" through your personal e-mail or blog. A lot of people simply do not realize how much work it is to run these sites; this is why I am quite dissappointed when I see negative reactions whenever sites get bought out. Do you really think Brad from LJ or the Flickr team would sell out their babies just to make millions of dollars? They sold them because that's what they thought was good for the project. The users would not support them, so they had to become a part of a corporate machine so the machine would support them.

I have had plenty nights where I've contemplated just throwing Tabulas on eBay and ridding myself of the burdens. Cash in my chips and move on with my life. But I don't.

If you are a free user of any free service, please consider sending financial support to your favorite website. Don't misconstrue this as an attempt to get more people paying for Tabulas. But a fundmamental misunderstanding that many web users have is that running these sites is somehow paid off by advertising. They are not. And the reason why sites end up getting shut down, bought out, or completely commercialized is because people are too selfish to donate a few dollars to their favorite sites. You realize a site with 10,000 active users could pay off all server fees (roughly) with a $2 donation from each user... once a year? But everyone thinks "somebody else will do it" which causes the problems.


What Matt did with WordPress.org was flat-out wrong. He engaged in tactics that go against the "spirit of the law" of the web (ironic that he writes a semantic web project yet he goes around trying to butcher up the value of a link). However, I know that what he did wasn't out of entire selfishness; a lot of it has to do with the fact that he probably doesn't get any financial support from the users of WordPress.org. I just wish he didn't engage in shady tactics to achieve those ends.

Not all web developers are out there to make a quick buck. We work because we believe in our sites. Don't leave us high and dry, users.

Posted by roy on March 31, 2005 at 04:18 PM in Tabulas | 9 Comments
« 2005/02 · 2005/04 »