Entries for May, 2005

596.6 miles and 48 hours later, I'm back. Tons of pictures (and a few movies) forthcoming.

Happy birthday to Jinshil!

. . .

I'll upload this picture really quickly before passing out - apparently I'm now fated to die a horrible death, but fortunately my cell phone was out of service all weekend so Samara couldn't reach me.

Posted by roy on May 1, 2005 at 01:35 PM in Ramblings | 2 Comments

While cooking lunch at the mountains on Saturday, we noticed a pink and yellow moth on the screen door!

I'm not a huge fan of moths, but this thing had such amazingly vivid colors. I remember reading in high school that moths were highly adaptable, but these moths stuck out like a sore thumb in the deciduous forests of North Carolina - is there any evolutionary benefit to being bright pink and yellow in a largely green environment?

A bit of research turned up the name of this moth: the Rosy Maple Moth (Dryocampa rubicunda). Better pictures are here

Posted by roy on May 1, 2005 at 09:25 PM in Ramblings | 7 Comments

I actually had a dream about podcasting last night. And I don't listen (with any regularity) to any podcasts.

. . .

Want to hear something really weird? Last night, I had an odd dream where Yush and I dropped off his car at the 54 lot... as soon as he dropped it off and got into my car, this fat lady in purple spandex started running after us saying, "I'm tired of y'all parking here!" Yush laughed at her and we drove off; as we left, the lady put on a cop's hat and issued Yush a ticket.

Guess what? Yush got a ticket in the 54 lot (this is a visitor's lot, so they don't normally ticket!!!!) last night...

Very odd.

Posted by roy on May 4, 2005 at 09:05 AM in Ramblings, Dreams | 4 Comments

I would write a long rant about why this is incredibly wrong, but Jeff Jarvis addresses the main issues already.

Disclaimer: I'm not a fan of Google.

. . .

Proof that Bush fixed the facts regarding Iraq: commentary, the proof, and the response.

Currently listening to: Keane - We Might as Well Be Strangers
Currently feeling: worried
Posted by roy on May 5, 2005 at 10:59 PM in Ramblings | 1 Comments

The rich are hiding 11.5 trillion in tax havens.

Several conservative organizations are opposing the Tax Justice Network's call to eliminate these tax havens. The Center For Freedom and Prosperity, for example, sees these tax havens as "an escape hatch for overburdened taxpayers," and calls for more "tax competition."

I'm amused by the fact that people seem to think that payiing taxes is an optional task and that somehow it's moderated by the free market. It's not. It's your responsibility as a citizen of a nation-state to pay taxes. Ridiculous.

. . .

I'm very skeptical to link this ... but I will link the South Park skit of "The Aristocrats" joke. Supposedly the Aristocrats joke is an old joke that comedians have used among themselves to test their comedic skills.

I will link to the joke with these caveats:

  • This is not safe for work
  • It is highly offensive - I mean, highly offensive
  • Even if you "get it," it may not be funny

I was dying of laughter everytime I kept watching it...

The Aristocrats South Park video

. . .

This reminds me of a joke I heard a long time ago and has achieved a "cult" status due to its peculiar punchline (which some people don't get). The joke involves a slight British accent (it helps if you say the joke out loud).

Two climbers are scaling up a mountain the Scottish Highlands. While climbing the mountain, they run into an eagle's nest. One of the climbers, never seeing a live eagle before, gets quite excited. Well, as they're climbing up closer to the eagle's nest, the climbers slip and fall to their deaths. As their mortal souls leave their bodes for heaven, they pass by the same eagles as they rise up. As they rose up to the same eagles, one of them says ,"Ah, eagles!" But the eagles, being polite, said nothing.
Posted by roy on May 7, 2005 at 10:18 PM in Ramblings, Foolishness | 2 Comments

I was faced with the problem of uploading 200+ images from our mountain trip a little while ago. Unfortunately Tabulas only had supposed 5 images per upload, which is wayyyy too small. I had recently discovered that Windows XP has an API for upload images to websites so I started hacking away at it last week. Well, I got it to finally work last night and today I uploaded all 200+ images from the mountain trip using the API.

This is pretty sweet; all you do is select the images you want to publish from Windows XP, click the "Publish to Web" wizard, fill in your login information, and watch as the thing uploads all your images to your site! No more 5 images at a time!

It amuses me that only out of laziness do I ever get around to getting stuff done for Tabulas. Sigh. And in order to make screenshots for this how-to, I had to upload a cute puppies and kitten album to my gallery. Fun.

(Read more for instructions)

Test it out and let me know how you like it. I think I'll expand this to allow you to also upload radio and media files.

Posted by roy on May 8, 2005 at 09:32 PM in Tabulas | 5 Comments

So our program triggers an event (an action) when someone mouses over a link. This conversation ensued today:

Boss 1: So can when someone types, can we automatically close it?
Boss 2: Well, why would they ever need to type if their mouse is hovering over this link?
Boss 1: I had my mouse over a link and then tried to use FireFox's Search to find text; except it was covered by the box
Boss 2: Well then move your fucking mouse.
Posted by roy on May 9, 2005 at 09:43 AM in Foolishness | 1 Comments

It's been roughly two years since I learned how to play poker. Through the games at Carolina, I've only viewed one person as my poker equal, and that's Terrence. We have the most divergent playing styles one could imagine: I'm loose and talkative while Terrence prefers the stoic, tight style.

This past semester, Terrence and I combined for a total of five 1st place finishes in the twelve Stacy Poker Tour games. That's a pretty solid showing, given the fact that our average number of people per week was roughly 18. Terrence and I have made strong showings in our Thursday games as well ... and now we finally get our heads-up game.

Tonight, Terrence and I will battle heads-up in what is, to me, the most important poker game of the year. There is money and pride on the line, but in the end, I really don't think it'll matter since we have both consistently proven our skills throughout the past two years.

We have decided on a freezeout format with $20,000 in chips with blinds at $100/$200 (100xBB, deep stacks!). We'll progress blinds up every 20 minutes, and at the end, we will have one winner who can forever claim that he beat the other player heads-up.

Shufle up and deal!

Posted by roy on May 10, 2005 at 02:51 PM in Poker | 2 Comments

Warning: There are a few discrepancies between my post and Terrence's rendition. The cards are usually right on (except that last hand - I swear I had A2 because I remember distinctly saying "deuce me, one time"), but the chip values may be different. When in doubt, I would trust him. I tend to not remember the exact chip values, but rather % of pot. So trust his numbers.

By chris baek's request, I have entitled this entry after the best song ever.

Tonight's heads-up match with Terrence lived up to its billing. I've never had spend so much thought and skill in playing against an opponent. I must first commend Terrence on playing incredibly well and defeating me.

Most heads-up matches I've played are usual grinding matches - the poker books don't tell you that in heads-up, the discrepancy in positions isn't as evident as in a full table - there are advantages to playing both positions heads-up. Given the fact that you will miss the flop most of the time and the range of starting hands that people open with are greater, it's far more advantageous to be the first to bluff into a pot.

In any case, the game started off with Terrence on the button. He limped, and I saw 77 and decided to make a raise.

I decided that given the blind structures, winning medium-sized early pots was really an unnecessary task; it'd be far more advantageous to use the early blind levels to set the tone for the evening - I must of raised at least 2/3 of the early pots and I won a lot of early pots. Not that it really matters.

If you set the tone early heads-up that you will be the aggressor, many players will tighten up and "wait" for the best spot. Unfortunately in heads-up action, these hands are quite rare and an experienced player can fold the second best hand. So I like to use the early levels to push around; if a bluff gets called, that's fine. If it doesn't, I set the tone and put the other player on the defensive. This was my plan.

I could sense that Terrence was getting a bit fed-up with the constant raising, so I was always on the lookout to bust him. I picked up a beautiful hand in the BB after Terrence limped in ... AA. I made roughly a 4xBB bet, and Terrence flat-called. The flop came 997, which was about the most gorgeous flop I could ask for with aces. Unless he was holding a nine, he would need runner-runner to defeat me (or one card if he was holding pockets). I made a pretty standard bet (1600), and he flat-called it. There were two spades on the board at this time, and in my mind there was a real possibility that he held spades. Turn came a king. I decided to overbet this pot and pick up maximum value; if Terrence lost this pot, I'd have him almost 3:1 in chips. I bet 3200 and Terrence flat-called again. At this point, I was reasoning that maybe he was holding something like T8 of spades or maybe pockets higher than nines but less than kings.

River came a non-spade king. I bet 2000 (?) and he raised 4000 more. I went deep into the tank.

My original read was some sort of drawing hand; there was no way he made his hand on the flop or turn based on the betting patterns. In my mind, there were only a few hands I could narrow him down to:

  1. Missed spade/straight draw: There was enough in the pot that the 4000 bet would make me fold almost any pockets if this was a bluff.
  2. King-high: I actually gave this one about 5 seconds of thought and discounted it - I didn't think Terrence would call with king-high on that type of flop; the best move would be reraise on the flop with position; why would you let me draw with a hand I've been raising with? Flat-calling it would be a poor play (or so I thought at the time) so I didn't think Terrence had a king
  3. Unless Terrence had a King-rag spade draw and hit a runner runner boat. This was a possibility in my mind, but given the fact that I've been playing super aggressive, I would think that Terrence would raise on the turn to win a ~8000 pot with top pair and an awesome drawing hand.
  4. Pocket pairs TT - QQ (if he has KK, so be it). This is actually not a horrible board to be holding TT - QQ against me in this situation. Most of the time I'll have been betting the way down with a draw or ace-high and a strong reraise from TT - QQ can make me lay down this hand. This is what I thought was the highest probability hand Terrence was holding.

In any case, I had a really bad feeling about this hand, so I made a crying call down the river and he flipped up K8 (no spades, I believe). I was stunned. A king-high call on the flop!

I was a bit stunned because this completely threw me off the range of hands I expected from Terrence. In retrospect, I'm torn whether this is a good +EV move or not - if he misread me as being weak, then it works well. But why not raise with the king on the turn? He's hit Kings and Nines; if he has me beat with something like AQ, he's letting me draw to the river with an ace; I could easily be drawing for spades or a straight. Most often times a flat-call here will mean I put a strong bet on the river if a scare card hits.

In any case, I got down to roughly 4,000 chips (we started with 20K). I was playing loose and fast (people who clamp up when they get short stacked should realize this is the worst way to play). When you're short-stacked, you should be ASKING the big stack to gamble with you - the big stack can wait for the premium hand - you better push.

A few hands after I got stunned by the K8, I picked up A5. Terrence had limped and I pushed all-in for ~4K. He instacalled and I knew I was in trouble. I thought he had AA - I had never seen Terrence call so fast. He showed QQ, but we both knew the ace was coming - our epic showdown would not end so quickly. I spiked the ace on the turn and doubled up.

Through aggressive short-stack play, I actually got the chip lead. One of the first big hands that got me on a roll was a raise by me on the button with 83o. Terrence limp called it. The flop came 977, and Terrence seemed strong here. I checked it down on the flop, then gave him another check on the turn. By the river, I had position on him and could sense major weakness; he might have been holding ace-high or some weak pockets preflop (to which that is a gorgeous flop); but the turn and river were two more high cards ... I made a standard value bet into the pot (~1/2, I believe) which he thought for a second and announced, "Man, I can't beat anything here except a bluff" and folded his sixes. I showed him my eight high ... we both got a good laugh out of that one.

Constantly playing aggressive, I later picked up 24o in the BB. I called for a low flop and saw a flop of 773, two spades. Given the fact that Terrence simply limped, I figured a nice solid bet on the flop might get him to lay down overcards. I made a bet, and he called. It was pretty obvious that Terrence was drawing on the spades; given the fact that I'm short-stacked, Terrence is not going to make a play with overcards, and he knows that I'm pot commited to make a move (I had roughly ~7K by the turn). I was debating whether to push on the turn when the turn blanked out, but I felt it would seem too suspicious; Terrence might put me on a seven, which would give him enough outs to make a river call... so I decided to make another value bet on the turn; if the river blanked out with no spade, I would push all-in and shut him down on the river.

Unfortunately, the river came an ace of clubs. The flush missed, but now Terrence had hit his ace of spades. I only had about 6K in chips left at this point - a push all-in might induce a crying call by Terrence given the pot size, so I decided once again to make a value bet into the pot and hope Terrence woudl give me credit for the 3 and fold. In my mind, the pot was too big to simply check it down, while the 3K difference in chips (3K vs. 6K) wasn't going to make a huge difference in a heads-up game.

Unfortunately, I got a crying call from Terrence who won it. What's amusing is the moment I made that bet, Terrence grimaced and said "That's not the card I wanted to see..." to which I simply relied, "Yeah, the ace of spades is a bitch to play here."

One of the more interesting plays was when Terrence came raising on my BB; I saw 79cc and paid to see a flop. I had roughly 5 or 6K in chips before this hand ... the flop came K85 with two clubs. Terrence checked, and I was more than happy to take a free card off as the short-stack. The river came an offsuit 6, giving me the nuts. I made a bet of roughly 1600 chips to which Terrence quickly called. At this point, I was thinking that Terrence was quite strong - I felt he might have AK or maybe even a set! In any case, Terrence thought about the bet for a little while and then said, "Man, this is a tough call because I know you'll move all-in on the river." When he said that, I immediately responded, "You know what? I'll do that" and went all-in blind. This look on his face was mild amusement as he said "I'm drawing." I tried to figure out what exactly he was drawing with to a raise; I imagined the only hand that could make that play would be 77, which was drawing dead to me.

In any case, the river came a 3 of clubs, which filled my flush. Unfortunately, this card was trouble for Terrence. He knows my penchant for bluffing on a draw-filled board; I miscalculated the strength of Terrence's hand and overbet my hand; if I had known before pushing all-in blind that he was relatively weak, I would have probably value-bet that river a bit more.

In any case, I offered him a peek at one of my cards for free before making his decision - I figured that regardless of which card he picked, it really wouldn't change the situation - I hadn't paired the board at all and all I had were drawing cards - I was hoping that Terrence was holding a king or something like QQ, JJ (although it was fairly obvious he held 77) and would give me a call against an exposed 9 or 7 of clubs.

Unfortunately for me, Terrence made the laydown right there.

Well, the ending was not as dramatic as I wished it had been - I got incredibly short-stacked (2xBB) and had to move with A2 against his AT and busted.

All in all, the game was truly a difficult and fun heads-up match. Terrence played very well, making the proper laydowns and making the right calls. Kudos, sir.

And that marks the last big college poker game I'll ever play. Quite sad, isn't it?

Posted by roy on May 11, 2005 at 01:06 AM in Poker | 1 Comments

Kris linked this page to me from scout.com; I'm quoting it in its entirety if you don't have an account:

The '93 and '05 Carolina Basketball Squads

Both teams lost two games in the conference. The '93 team lost their two games at Wake Forest and at Duke. This year's team lost...at Wake Forest and at Duke. Both teams suffered an early nonconference loss, with the '93 squad falling to Michigan and this year's team dropping the opener to Santa Clara. Both teams won the ACC regular season title with a 14-2 record and exited the ACC Tournament at the hands of Georgia Tech--77-75 in 1993 and 78-75 this year. The 1993 team was perfect at home, lost two games on the road, and lost two games on neutral courts. This year's team is perfect at home, lost two games on the road, and lost two games on neutral courts. Both teams took trips to Hawaii during the nonconference portion of the schedule--the 1993 squad played in the Rainbow Classic, whereas this year it was the Maui Invitational.

Eight players averaged double figure minutes for the 1993 team (Eric Montross, Derrick Phelps, Henrik Rodl, Pat Sullivan, Donald Williams, Kevin Salvadori, Brian Reese, and George Lynch), which was led in scoring by a center from the state of Indiana (Eric Montross, 15.8 points per game). This year's team has eight players averaging double figure minutes and is led in scoring by a center from the state of Indiana (Sean May, 16.5 points per game). Both teams include a senior forward who would be acknowledged by the players as the leader of the team (in 1993 it was George Lynch, who scored 14.7 points per game, this year it's Jawad Williams at 14.1 points per game). Outside shooters from the state of North Carolina play a major role on both teams (Donald Williams, from Garner, in 1993, and Rashad McCants, from Asheville, in 2005). A player with the last name of Williams wore jersey number 21 on both teams (Donald in 1993, Jawad in 2005) and backup point guards on both teams wore number 11 (Scott Cherry in 1993, Quentin Thomas in 2005). The lowest scorer among the regular 1993 starters? Henrik Rodl, number 5 (he started 26 games, Donald Williams started only 14). The lowest scorer among the 2005 starters? Jackie Manuel, number 5.

The 1993 team started NCAA play in the state of North Carolina (Winston-Salem) on March 18 and 20. This year's team begins NCAA play in the state of North Carolina (Charlotte) on March 18 and, when they win that game, March 20.

Cool stuff.

Posted by roy on May 11, 2005 at 07:20 AM in Ramblings | Add a comment
Posted by roy on May 11, 2005 at 11:23 PM in Web Development | 3 Comments

Does anybody else enjoy the random high-intensity summer thunderstorms? Although the skies are clear in the morn, one can feel the heaviness in the air ... and finally when the skies darken at 5pm and you hear the rumbling thunder... I love it.

Currently listening to: Hilary Duff - Come Clean
Posted by roy on May 12, 2005 at 02:26 PM in Personal | 7 Comments

The Edgar Winter cover of "Dying to Live" by Johnny Lang rocks.

You know I've heard it said theres beauty in distortion
By some people who withdraw to find their head
And they say there is humor in misfortune
No, I wonder if they'll laugh when I am dead

Why am I fighting to live
If I'm just living to fight
Why am I trying to see
When there aint nothing in sight
Why am I trying to give
When noone gives me a try
Why am I dying to live
If I'm just living to die

You know some people say that values are subjective
But theyre just speaking words
That someone else has said
And so they live and fight and kill with no objective
Sometimes its hard to tell the living from the dead

You know I used to weave
My words into confusion
And so I hope you'll understand me
When I'm through
You know I used to live my life as an illusion
But reality wil make my dream come true

So I'll keep fighting to live
Till theres no reason to fight
And I'll keep trying to see
Until the end is in sight
You know I'm trying to give
So come on
Give me a try
You know I'm dying to live
Until I'm ready to die

Currently listening to: Johnny Lang - Dying to Live
Posted by roy on May 12, 2005 at 09:58 PM in Music | 1 Comments

Through the Blog Together site I found news that the Town of Chapel Hill had won a web "extreme makeover" from a Kansas company called Civic Plus.

This is a completely free deal for the Town of Chapel Hill; when I first read the news, I thought that was pretty cool cause the current Chapel Hill website really stinks.

But after visiting Civic Plus, reading the thread on Orange Politics and notes from Paul Jones, and skimming over the Chapel Hill memorandum that is serving as the general plan for the new site, I would have to think this "extreme makeover" solution isn't really a solution at all.

In my short experience and based on the general vibe I'm getting from the memorandum (and the general atmosphere of Chapel Hill and Carrboro) I have to wonder how Civic Plus is going to solve any of the problems from the existing site.

Here are the issues as I see them:

  • On the frontend, can Civic Plus provide a clean, standards-compliant design? Their own website is not HTML 4.01 compliant. On aesthetics, Civic Plus fails horribly (although this is not a huge issue).
  • An even larger concern beyond standards is whether Civic Plus can provide a usability-oriented site. Given the wide demographic of users that an e-government site must be accessible to, the site must be very easy to use. This is a tangential concern, since it's been my experience that standards-oriented designers/developers also are usually strong proponents of usable design
  • TownOfChapelHill.org's primary internal concern is archiving all its datas. It looks like they'll be giving a lot of thought on how to store the data - this system will be used for decades to come and must be flexible and stable enough to last the test of time. Ideally the system and architecture designed for the site will last decades (and will make overhauls in the future as trivial as possible). Can Civic Plus support the new storage methods of the documents? Given the scope of the project, I would think that designing the system around the data would be much preferable than hacking the data around an existing system.
  • This is somewhat trivial - but I was not happy to see .aspx as the extention to filenames in Civic Plus. My friends know I'm a Microsoft fanboy, but any system that uses .aspx gets a minus in my book (although the Mono project is making developing these projects on a Linux platform much easier). I would think that a progressive town like Chapel Hill would support open-source platforms - come on, use LAMP!

If the true goal of TownOfChapelHill.org is to become a greater internet force, allowing citizens to participate more in e-governance, and to have a system that will last decades... I really can't see how this Civic Plus deal will benefit the town of Chapel Hill. If anything, this will limit the scope of what can and cannot be done ("Can we have this awesome feature?" "No - Civic Plus doesn't support it).

Bite the bullet, tap into the talented pool of developers in this area, and develop a truly standards-compliant, user-oriented system that embraces open-source platforms and doesn't compromise any cool e-governance features for the sake of fitting the mold of an existing system.

In my opinion, this deal with Civic Plus is only going to distract the people in charge of the TownOfChapelHill.org website to fit into the mold of Civic Plus when their concerns should be elsewhere. Two years free? Seems like two years wasted to me.

Posted by roy on May 12, 2005 at 11:01 PM in Web Development | 1 Comments

I planned on taking tonight easy and get some early rest - I've been really struggling to make meaning out of everything happening in life right now. However, plans changed when I got a call around 11 from friends urging me to come out to a bar with them. I decided a change of scenery might be good, so I headed over there.

After some drinking, I headed out a bit early to clear my head and wait for everyone to wind down. I got a good 45 minutes of alone time in the north quad of the Carolina campus where I mused about my current predicament(s).

It's so tough to finding meaning in my life. I slave away for hours a day in front of a computer - for what? Assuming the company I work becomes one of the 5% that survives past year 5, what have I accomplished with my life? Even Tabulas which has been my pride and joy doesn't seem to measure up very well in my mind as a noble project. It's all a matter of perception.

It strikes me that I've been so passive in my life. One of my personal faults that I'm cognizant of and have been trying so hard to fix is my sense of entitlement. No one is entitled to anything in this world - every day I have to remind myself that I am one of the lucky people in this world to live with a roof over my head in a loving family with supportive friends getting paid in doing something I truly enjoy (for the time being).

This sense of entitlement leads to a complacency - I am ashamed to say that most of my "great" life achievements were almost never initiated by me. The skills I picked up in grade school were all my parents' doing. My freelance designing that I did throughout high school and college was the result of someone approaching me on eLance with the offer. My biggest web design job that led to enough money for me in going to Vietnam and Korea ... I only got that cause the VP of that company proactively searched out web design firms in NC and I was the first to respond back. My one relationship with a girl I cared deeply about was initiated by her, although I liked her. She had to sit my ass down and say "Look, you like me, I like you, let's do something about it." My job was the result of Konrad name-dropping me to the current Director of Operations.

I'm too happy to sit back and enjoy the fruits of my life, and honestly I feel ashamed for a lot of it. There are so many people who would kill for the opportunities I've had, yet I continue to squander many opportunites and live in a world where I foolishly assume that I am #1.

It has got to stop.

Already my arrogance and close-mindedness in meeting new people have led to the biggest regret of the past few years - (those of you who were lucky enough to read my "Dear Jane Doe" post a while ago will know what I'm talking about - don't bother searching for it anymore, I've made it private). Tonight I felt a rush of emotions as I realized how little I've felt I've accomplished so far. The muse in my life has lit a spark under my ass, and now I feel like I need to do something.

It's almost like I'm just living to die (yes, I'm still listening to that song). What's the purpose of that?

How different would my life be if I had just made the effort months ago?

My advice to everybody: Don't be afraid to take your shots. With new opportunites, with new people, with anything. Don't be conservative. Otherwise you may find yourself online at 4am screaming out into the void of cyberspace, hoping to find an answer.

Posted by roy on May 14, 2005 at 12:56 AM in Personal | 10 Comments

Today was UNC's commencement. Thousands of parents and students enjoyed the balmy 80 degree weather to celebrate the completion of a four year university degree.

I, of course, was not at the commencement. I was in my bed enjoying an amazing dream (which oddly started off with me downloading a TV series through Bittorrent; the dream then put me as the main character as I led a rogue band of human survivors [Earth had been attacked apparently] in search of a new home. It was kind of like "The Land Before Time")

Congrats to the class of '05!

Posted by roy on May 15, 2005 at 02:26 PM in Ramblings, Dreams | Add a comment

Although I'm surrounded by friends, I've never felt more alone in my life.

Posted by roy on May 16, 2005 at 12:35 AM in Personal | 5 Comments

Someone tell me who the hot guys on the bottom right are!

Posted by roy on May 16, 2005 at 02:26 PM in Ramblings | 5 Comments
Posted by roy on May 16, 2005 at 10:59 PM in Ramblings | 2 Comments

Why is it that possible entry topics pop up after I've been struggling to sleep for an hour and a half and I can just feel sleep coming over me? Perhaps I need to keep a notepad next to my bed so I can take quick notes and write the entries in the morning. But honestly that never works for me; unless I write the entry right as I'm thinking about it, laziness usually wins and the entry never gets posted (or gets thrown into the dreaded 'drafts' folder, never to see the light of day). C'est la vie.

I heard news that FeedBurner was bought out by NewsGator.

Somehow my mind wandered onto a tangent about the growth of the web. I'm sure anyone reading this journal is well-aware that my primary passion in life is the web. The power of information has always fueled human society and the Internet is simply the next (really really cost efficient) implementation of the Gutenberg press.

The past few years has seen an explosion (literally a Big Bang!) of standards and specs. Before our very own eyes, we've seen RSS become the de-facto standard for content publishing (and also the Atom proposal). To anyone doubting the value of standards, I think simply looking at services like Bloglines and toolkits like Ajax show how much value standards and specifications can add to the web.

So why do people continue to screw with RSS? I cannot STAND summarized RSS feeds and advertisements in RSS feeds.

Specifications are implied social contracts between developers. RSS is a format for pushing content, not for pushing advertisements or simply serving as a notifier for when a site is updated.

The value of the web is not in pretty webdesigns but in the ability to consume information at efficient levels. I think people who give the argument "I offer summarized feeds so people read the content as it was meant to be read - through my design" have an incredibly parochial view of the web. The browser will not remain the only method of consuming content from the web. (Someday) the United States will offer true wifi access via cell phones. Not to mention whatever cool new technologies future generations come up with.

This is a small point, but I also cannot stand advertisements in RSS feeds. Now, I understand the need to commercialize and monetize that content - I don't dispute that many content providers add a lot of value to the web, and they need to be able to support themselves financially.

It's a tough issue that I think really will depend on where you stand. If you stand as a developer, RSS feeds break the social contract of RSS - that the content enclosed is the data that is requested - advertisements are NOT a part of an entry. (As a side note, I also cannot STAND those f'ing technorati tags that people add to their entries so they'll show up in technorati - way to add noise to the web!). As someone who runs a webproject, I understand the need to monetize the content - it's better that the site "sells out" rather than being non-existent. Things can always be worse, right?

Man this was a poorly written entry. I had a conclusion I was going to reach, but the point has been lost after toggling my Winamp playlist.

Currently listening to: Phusion - Love Insanity
Posted by roy on May 17, 2005 at 12:41 AM in Web Development | 6 Comments

Tabulas has been dying a slow death. The mySQL database server (1.3Ghz Celeron w/ 512MB RAM) cannot handle the large amount of data (~1.8GB) as well as the amount of traffic that Tabulas requires. Unfortunately, Tabulas has been crashing a lot because of this.

One of the tables got corrupted today, so I took the mySQL database down for some table repairs - it took about 20 minutes, but I think the database is good to go for at least another week.

A lot of the problems are the result of my lack of experience in proper database design - my latest work on the next generation of Tabulas will use a whole new database schema (which will consequently mean that Tabulas will have to be down for about a day whenever I make the switch) which will *hopefully* speed things up.

But eventually I'll need to throw hardware at this problem. So is a new database server looming in Tabulas' horizon? I sure hope so.

Just a general update, I guess, to let everyone know that Tabulas isn't dead. I've been working on backend stuff (rewriting the core libraries). Once I get all this backend stuff hacked out, I can start going through on the new featureset.

Posted by roy on May 17, 2005 at 11:53 PM in Tabulas | 10 Comments

I saw Revenge of the Sith. Here are some awesome spoilers:

  • Anakin ends up in a BLACK suit!!!!!
  • Anakin has TWO babies; one girl Leia and one boy Luke

Hope I didn't ruin anything for anybody.

The movie met my expectations, but I only think this happened because of the compressed storyline. Seriously, this movie had enough plot for two separate movies (but would suck more since Lucas would feel the need to give ridiculous characters like Jar Jar Binks some lines). When the movie started slowing down and Lucas tried to make the movie "emotional" (love crap between Anakin and Padme), the dialogue got laughably bad (really. the audience laughed at how horrible the lines were).

In any case, action-wise, very good movie. Lucas did a good job of transitioning between EP III to EP IV.

Gosh, I wonder what happens in the next episode!!!!!!

Posted by roy on May 19, 2005 at 10:48 PM in Ramblings | 10 Comments

I am nerdier than 64% of all people. Are you nerdier? Click here to find out!

Told you guys I'm not nerdy.

I had a fun time taking an IQ test. Patterns are quite interesting.

Posted by roy on May 21, 2005 at 12:42 PM in Ramblings | 4 Comments

I can't stop listening to The Game ft. 50 Cent's "Hate it or Love It" (just like justin!). Anyways, I was doing my pretend-rapping in the chorus when the hype levels of the furious lyrics (well, 50 cent's raps technically) caused the light bulb in my torchier lamp to BURST.

word, yo. i spit lyrics that can bust lightbulbs.

Currently listening to: The Game ft. 50 Cent - Love it or Hate It
Posted by roy on May 21, 2005 at 02:48 PM in Foolishness, Music | 3 Comments

This is simply... freaky scary. The pervasiveness of technology... I just don't know what to say.

First, read the top entry in this xanga blog. Nothing out of the ordinary. Now read this.

Never before have been we been able to know exactly what a stranger is doing at a given time... just the fact that this is captured in eternity ... so ... man. Just go read it.

Posted by roy on May 22, 2005 at 12:30 AM in Ramblings | 11 Comments

A heartfelt post by Lawrence Lessig which clearly demonstrate the downsides of being the public leading figure for a movement.

It's lonely on top ... but the impact he's making is immeasurable; his talks, his books, and his blog have influenced the way I view intellecutal property and have made me more aware of the IP struggle in today's society.

One always sacrifices for the many.

. . .

Yesterday I went to Barnes and Noble after Nasty Nate recommended "Freakonomics by Steven D. Levitt and Stephen J. Dubner. Let me just say that from the moment I got home, I opened up the book and couldn't put it down. I finished the book three hours later, and my head was spinning from all the cool little tidbits.

The book makes suggestions about around society that is backed up with data. Think about it like a blogger who actually takes the time to research his points (ZING!). Levitt is an economist who writes about all sorts of topics - he writes about the economics of gangs (why do gang members still live with their moms?) as well the factors that contribute to a falling crime rate.

One of the most interesting chapters in Freakonomics was the impact of legalized abortions on the falling crime rate. Levitt has postulated in a paper that the real reason crime rates fell so drastically in the early 90s was the legalization of abortion in 1973; suddenly kids that would have been born into families that did not want them (according to Levitt, unwanted children that are born tend to be be at greater risk of becoming criminals) were not being born. I haven't looked at the data, but the evidence he presents (in the book the evidence is light) is very intriguing - he clearly distinguished between causation and correlation in this case by showing that states with earlier legalized abortion dates showed a drop in crime before those that adopted legalized abortion later. I wonder how this matches against world data?

In any case, I highly recommend going over to your local Barnes and reading over a few chapters of the book. If you live in Chapel Hill, give me a holler and I can loan you my copy.

I've now moved onto Albert Camus' "The Stranger," which for some odd reason, I've never read.

Currently listening to: Goo Goo Dolls - Black Balloon
Currently reading: Albert Camus - The Stranger
Currently feeling: nerdy
Posted by roy on May 22, 2005 at 11:24 AM in Ramblings | 2 Comments

Unfortunately, work doesn't give me too much time (or energy) to hack some Tabulas stuff out. I made a concerted effort to stay in this weekend (at the risk of totally burning out doing webdev, but I think reading helped to balance that out) and learn some more Javascript DOM stuff and mess around with XML over JS (aka Ajax aka DHTML aka blahblahblah) to start developing a toolset that will allow me to build the next generation control panel for Tabulas.

The first "more-than-proof-of-concept-but-not-quite-development-ready" pages involve gallery management.

(All example links require you to be logged into Tabulas and have some images in albums in your gallery).

The first gallery management tool allows you to edit image filenames and descriptions from within the page without having to refresh the page data. Simply click the image name or description, and a input box will show up instead of the text; put in your description/title and hit 'save' and it'll save it without reloading the page! Sweet!

The next gallery management tool is an image-sorting tool. The current method of setting the order of images in an album is the most retarded methodology ever. The new sorting tool actually generates the images, and you can DRAG them in the order you want them to be in your album; then you hit save. And best of all - no flash or anything! It's all DOM!

(The sorting tool is built from tool-man.org, which is a lovely set of MIT licensed JS classes that do all the hard lifting for you in the sorting!)

Open-source rules. Share ... and the world benefits! :)

You can't see it, but my-test.tabulas.com is using a completely rewritten backend.

Posted by roy on May 22, 2005 at 10:20 PM in Web Development, Tabulas | 2 Comments

Stereophonics - Maybe Tomorrow (MP3 Download)

I've been down and
I'm wondering why
These little black clouds
Keep walking around
With me
With me

It wastes time
And I'd rather be high
Think I'll walk me outside
And buy a rainbow smile
But be free
They're all free

So maybe tomorrow
I'll find my way home
So maybe tomorrow
I'll find my way home
I look around at a beautiful life
Been the upperside of down
Been the inside of out
But we breathe
We breathe

I wanna breeze and an open mind
I wanna swim in the ocean
Wanna take my time for me
All me

So maybe tomorrow
I'll find my way home
So maybe tomorrow
I'll find my way home

There's a certain emptiness in leaving college. I'm not sure whether it's leaving all your friends, leaving the social bubble, or having to come to terms with responsibility that is the cause of this funk.

But suddenly, things are being planned in the long-term. My life is no longer defined by semesters or that short time between exams. I no longer have my weekly Thursday and Tuesday poker games to rub elbows with my buddies ... I now have to deal with the grind of a 9-5 job while figuring out what to do with all my ambition.

I know almost all my friends are dealing with some of these same struggles - it's almost like revisiting freshman year of college where I tried to find my identity. Now I have to do it again.

So maybe, maybe tomorrow ... I'll find my way back home.

Currently listening to: Stereophonics - Maybe Tomorrow
Currently reading: Albert Camus - The Stranger
Currently watching: Scrubs Season 1 on DVD
Currently feeling: stressed
Posted by roy on May 23, 2005 at 11:04 PM in Personal, Music | 4 Comments

Happy birthday to SunJun (today), Yush (tomorrow), Terrence (27th), and Tatsu (28th). Is late August typically a "getting jiggy with it" month or something? Odd.

I need to get out more - the weather has been too nice, and my skin is turning too #ffffff for my tastes.

Posted by roy on May 25, 2005 at 09:37 AM in Foolishness | 7 Comments

I've taken a big step in my personal growth by making a conscientious effort in keeping a tight budget on my spending. For those of you who have hung out with me on a daily basis, you know what a big shift this is for me. Starting Monday, I will keep track of all my spending habits on paper (down to the penny!) and will try to cut back on unnecesary expenditures (e.g. late night Wendy's before i go to sleep every night). Living at home while working has afforded me the wonderful benefit of not having to pay rent - I should really make the most of this situation by saving up as much as I can.

Since last year, I've also begun to enjoy reading books a lot more. I went through a long phase through high school and most of college where I absolutely detested reading books ... but now I'm starting to enjoy it once again (as I did in middle school).

It's been real quiet now that a lot of people have left Chapel Hill. But this has given me more time to work on Tabulas, so I guess I can't complain :)

. . .


Posted by roy on May 26, 2005 at 09:45 PM in Tabulas | 7 Comments

One of the problems with this journal is that oftentimes I'll want to talk pre-emptively about something I might do. Then sometimes I never get around to doing it, so I feel like I've let people down (specifically in regards to Tabulas stuff). I've also read in many journals to underpromise and overdeliver your product. At the risk of overpromising and underdelivering, I've thrown all caution to the wind and will be very actively writing about the new version of Tabulas (official version release is 2.1, which is pretty arbitrary number; maybe I'll change it to 2.71828 before I'm done!). I've decided that unlike Mac, I will name my Tabulas releases after harmless animals (they name their OS X upgrades after cats ... Panther, Tiger, etc.). Tabulas 2.1 (or 2.71828), will be code-named Tokki (Korean for bunny rabbit).

In any case, I'm in the midst of putting down the general control panel framework/architecture. Here are some goals I'm hoping to achieve with the new control panel (these are personal goals).

  • Rewritten XHTML/CSS design:
    The new markup is much cleaner than the existing version. I also have CSS-ified most of the elements on the control panel (for example, the tabs will be text and be created with CSS). The markup must be very lean; right no sans content it's coming up at around 2 KB of markup! Even better, the new design is LIQUID! I've never been a big fan of liquid designs, but recently I've decided that a site like the control panel requires a functional design - if people have higher resolutions, they should get more real estate on the app! (Why did it take me so long to come to this conclusion? I think I just used to be lazy... it's so much easier to make fixed width layouts)
  • CSS organization:
    I keep running into problems (both at work and with Tabulas) where the CSS just gets unmanageable. Both on a class-level ("Did I already write a class to handle this type of padding?" and "What the heck does *this* class do?!) and on an inheritance level. To that end, I've been making sure that I'm handling inheritance properly ... I've also been writing very specific classes so there's no overlap (e.g. #left .quickEntries p { } as opposed to what I might have done earlier (.quickEntries p {}). It's leading to a lot extra markup, but getting a sense of the document tree in the CSS is invaluable. I'm also using more descriptive class names.
  • HTML Markup generation
    This really shows how anal I am but the markup generated by the backend must be formatted nicely so that when you view the source, it's pretty. This is perhaps the most ridiculous thing, since it really doesn't matter what it looks like ... but it really matters a lot to me. If you view the existing output of any Tabulas page (like mine, you'll notice the entries are being formatted nicely. I like clean markup.
  • Future language extensibility
    I'm handling output messages and stuff in a separate language file, so that in the future if anyone is willing to translate one of those language files, people can immediately use a different language for their control panel. Usability, baby!
  • Clean file organization on the server
    Again, I'm overly detail-oriented. I need the FTP to look pretty. CSS files need to be in /2.1/css/. JS needs to be in /2.1/jscripts/. Images need to be in /2.1/images/. Logic files? /functions/. Not a single end-user will care, but when I log-in via FTP, I don't like messy folders.
  • Proper use of GET/POST
    I'm going to be using a lot of Ajax-type stuff in Tabulas, but there will be fallbacks to GET and POST driven events. I was also incorrectly using GET in the previous versions of Tabulas; GET should not trigger an event!
  • Better user-driven options for control panel
    Some users like certain features. Others don't. There should be more than one way to display items. I'm taking advantage of sessions in PHP ... you will be able to customize a LOT more your Tabulas experience (and Tabulas will remember it!)

This is not, by any means, an inclusive list. This is what I've been working on over the past few days - as I continue to develop Tabulas, I'm sure you'll see more posts about ridiculous small goals... cause to me, the ridiculous small details makes or breaks a site.

Here's to details!

Posted by roy on May 26, 2005 at 10:15 PM in Tabulas | 4 Comments

I just finished reading a very interesting interview from Norwegian metal musician Varg Vikernes, who was found guilty of murdering his bandmate back in 1993. His thoughts on life are quite interesting - I don't agree with a lot of what he says, but I can definitely see his point of view on some issues.

Edit: Before people misconstrue this post as me supporting his ideas, it's not. He has some very valid points on a few issues, and then some that I think are completely wrong. But to me, the conviction of his beliefs is fascinating. I always love reading about completely varied viewpoints (although they usually clash with mine) because it always leads me to reconsider my own position on things.

Posted by roy on May 30, 2005 at 04:10 PM in Ramblings | 6 Comments

People, learn to use your GODDAMN blinkers. It pisses me off to NO end when I'm at an stop-sign intersection in a 35-zone, trying to turn right, when a moron comes from the left and doesn't signal. I sometimes wonder if people are simply self-centered, they don't know any better, or they lack the dexterity to hit that little knob up or down. Or don't you love it when you're on a 2-lane 35mph road, and the moron in front of you abruptly hits his brakes to make a left without signalling, causing you to almost hit his or her ass?

Also, it is North Carolina law to burn your headlights while using your wipers. I don't care if it's 3pm and you don't think it's time to quite yet burn your headlights: IT IS THE LAW.

Bad driving is one of the few things that really piss me off. Not to say that I'm a good driver, but I try to remain aware at all times and do the right thing as often as possible.

Posted by roy on May 31, 2005 at 01:10 PM in Ramblings | 4 Comments
« 2005/04 · 2005/06 »