Entries for August, 2007

From The Register:

It took no more than five minutes for a controversy to emerge once the Open Source Initiative (OSI) revealed that it had rushed a new attribution-style license through for approval.

The OSI yesterday confirmed that fluffy, Web 2.0 company Socialtext received the go ahead to use its Common Public Attribution License (CPAL) – or badgeware license – with the OSI's blessing. The license stands as significant since it mutes an ongoing battle over the controversial attribution licenses used by the likes of SugarCRM and Centric CRM, which had yet to meet the OSI's "open source" standards. Now, software makers have the all-clear to adapt Socialtext's license to cover their own wares and can go on displaying logos all over the place.

This is absolutely ridiculous. Later on:

President Michael Tiemann has responded to queries about the organization's decision to "rush through" approval for a new badgerware license by saying that the OSI board did its best for "the community."

Thanks for speaking on the behalf of blubbering idiots (obv, we can't think for ourselves, which is why the OSI felt the need to think for us)

The OSI has granted over 60 different types of "open-source" licenses. In what other industry do we take one thing, make 60 iterations of it, and call it the one thing?

Badgeware is not open source. Period. Let's take a look at the common web app stack:

  • Linux
  • Apache
  • mySQL
  • PHP

WOO BOY, that's 4 logos (if they adopted CPAL and masqueraded as "Open Source") I'd have to already use! AND I HAVEN'T EVEN BEGUN STARTING WRITING MY APP!

Hmm ok. A lot of rapid application development involves some frameworks ... so let's say I use some PHP frameworks:

  • Cake (framework)
  • ADOdb (database abstraction)
  • Smarty (templating)

Woo boy, if those were CPAL licensed, I'd get 3 MORE logos! But wait, that's just the PHP layer!!!! What about the UI?!

I'm probably gonna use a JS lib ... let's say I end up using the common combo:

  • Prototype
  • Scriptaculous


Now my app now has 9 logos to show. My web application, in effect, has turned into a goddamn NASCAR racing car.

And (god forbid), somebody were to adopt my awesome application into something else? Oh .. wait for it ... AN EVEN 10 LOGOS HE'LL HAVE TO SHOW! RADICAL!

It just really really pisses me off how people/companies try to take ownership of intellectual property through patents and bullshit licenses.

Developers and companies of America: You're not special. Really. Get over yourselves. Think your application is AWESOME? It's already been done. Think you have a great idea for a site? It's done. Stop trying to get your name plastered all over the place to extend your 15 minutes of fame.

I'm reminded of an AWESOME image from the ever-wonderful Despair.com when you had to give them your email address:

Personally, I'm not a big fan of most open source licenses. I can barely stand GPL ... I really think the WTFPL represents the true spirit of open source. (Speaking of which, I hacked together a really shitty PHP framework for writing your own PHP extensions for Deki Wiki done last week. I'll be releasing it sometime this week under the WTFPL).

K, enough ranting. I'm sure you guys have better things to do.

Posted by roy on August 1, 2007 at 09:08 PM in Web Development | 2 Comments

Thought of the week: I really shot myself in the foot with the way I handle Tabulas' categories. The one-to-many relationship between entries and categories and the fact that categories could potentially have a privacy setting which overrides the individual entries makes accurate pagination difficult... ouch.

(I know the toomuchtabulas journal has been relatively bare as of late and I haven't been fixing control panel bugs, because I'm in the middle of rewriting the display engine which is taking me a lot longer than I anticipated).

Posted by roy on August 4, 2007 at 01:24 PM in Tabulas | 1 Comments

A meme you don't want to miss: "8th Graders need to back off 9th grade guys especially other peoples BF'S.".

The group description:

For all of those 8th graders who think they are entitled to hang out flirt w/ 9th grade guys, and can wheedle themselves into HIGHSCHOOL parties, im sry u r in eighth grade..um soo stop. DONT think we hate you tho

Catch a summary of this meme on IvyGate.

This shit is hilarious.

Posted by roy on August 4, 2007 at 03:19 PM in Ramblings, Foolishness | 2 Comments

"If you could bottle the Bourne Ultimatum into a drink, it'd be illegal."

Two gripes with the Bourne Ultimatum:

  1. It seems ever since Traffic, everybody tries to be all nitty-gritty with their films by introducing the "shaky camera" scene. This is not so noticeable in fast action scenes, but when the scene is two guys talking, and the camera work features close-ups of the faces, PLEASE STOP THE CAMERA FROM SHAKING. It's really REALLY annoying.
  2. I have a bone to pick with the writers of that movie. They obviously stole the whole movie premise from this journal. I mean, the raw sex appeal of the protagonist (*ahem*), the badass fight scenes, the globe-trotting, the omniscience, the skills... HELLO, ARE WE DESCRIBING ROY KIM OR WHAT???????? Seriously, Hollywood writers. I don't mind so much if they still call it the Bourne Ultimatum ... I just think they should preface the movie with a "Based on true events from http://www.tabulas.com/~roy/" ...

Roffles, ok I'll stop. Seriously thought, awesome flick.

Posted by roy on August 7, 2007 at 11:29 AM in Ramblings | 3 Comments

37signals is a pretty cool company. But sometimes, their blog posts irk me like no other. For example:

"Do you have a project in Basecamp that has been running for a year or more and need to know exactly when a message was posted? Now you can. On the permanent/comments page for a message, we're now including the year in the date stamp as per popular request."

You added the YEAR to your timestamps?! WOW!!! Please, write more posts on stuff like this! Hey, how about a blog post about how you guys make peanut butter sandwiches? That'd be great!

Edit: Wow, Jason Fried (or somebody claiming to be him, when will retarded Tabulas ever add OpenID?) responded in my comments. Pretty cool that 37signals listens to the peanut gallery ...

Posted by roy on August 7, 2007 at 04:44 PM in Ramblings | 4 Comments

uncov is so horrendously awesome, it's changing my life. I have started writing a (private) post (which will be public in the near future) uncov-style about the failboat that is Tabulas (and how it's being fixed). It's going to be ggreeaaattt.

. . .

Two cool articles to read:

An interesting response to the second article:

When you are young, hungry, and single, you have

  • huge amounts of free time (more swings at the ball)
  • less to lose (more swings)
  • enthusiasm (more likely to swing)
  • sublimated sex drive (more likely to swing to stand out from your peers).

As you age, you have:

  • less free time, more family demands, larger social networks (less swings)
  • more to lose (public embarrassment in front of an established social circle means you don't want to start anything fresh) (less swings)
  • experience (if you're probably going to miss, why bother swinging) (less swings)
  • fulfilled sex drive (have sex rather than swing)

I find it very interesting how I (sub)consciously try to avoid all the items on the second list to stay hungry.

Posted by roy on August 9, 2007 at 02:57 PM in Tabulas | 3 Comments

Handicapped people sure have nice public bathrooms.

Posted by roy on August 10, 2007 at 04:30 PM in Foolishness | 4 Comments

Wow. I mean, wow. So I decided last night it'd be a good opportunity to continue expanding on my knowledge of optimizing web applications for speed by purchasing a new server. Max is pretty skeptical about what I'm looking to do, but we'll see. In any case, the primary *nix environment we work on at MindTouch is Debian. I guess I've grown pretty accustomed to the ease that is apt-get.

A brief history: My servers have always used some flavor of RedHat (or Fedora). So I used to use up2date (eh, sorta crap), then I got lazy and installed cPanel, which did a lot of that for me. The server I ordered today was CentOS (a Fedora flavor) and BOY, was I lost while I stumbled my way across CentOS. My server company told me Debian would cost $150/hour to install, so I said screw that and ended up getting FreeBSD instead.

Christ, FreeBSD is a pain in the ass, too! Every system seems to have its own little quirks, which is annoying (to say the least). No wonder Linux adoption sucks so bad - you're pretty much stuck on whatever system you work with first, regardless of how crappy it is! It's like the imprinting of birds ...

Rant aside, I'm experimenting with Lighttpd this weekend and its performance against Apache for serving up static content. I don't expect it to be too meaningful, but we'll see.

Posted by roy on August 10, 2007 at 11:11 PM in Ramblings, Web Development | Add a comment

I thought I purchased a Celeron 2.0Ghz, but my FreeBSD box says:

rykorp# grep -i cpu /var/run/dmesg.boot
CPU: Intel(R) Pentium(R) 4 CPU 3.20GHz (3192.02-MHz 686-class CPU) Logical CPUs per core: 2
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs

Did I just win the nerd lottery, or is this the result of some stupid marketing scheme where Celeron info is returned as Pentium?

Posted by roy on August 11, 2007 at 12:38 AM in Ramblings | 4 Comments

Work, work work. Lots of super-exciting stuff happening at MindTouch - the next month or so looks relatively boring, but we've got some exciting stuff happening on the back-burner. Sometimes it amazes me how much work we get done with such a small team.

I know you're tired of hearing about it, but Tabulas stuff: COMING. I've spent the past 3 weeks or so (after work and the weekends) hacking out the new front-page code. None of the code existed three weeks ago, and somehow I managed to cobble together a pretty flexible frontend framework.

Hopefully by this weekend I can deploy it out - it will look exactly the same as the old site, so it won't be an aesthetic change. The biggest change will be: subdomains!

Yes, you'll finally get your http://username.tabulas.com/ goodness! This means that customizable domains are just around the corner.

The URL structure is a lot cleaner, too. Some examples: (The {} denote variables)

  • http://{username}.tabulas.com - obv your site
  • http://{username}.tabulas.com/{year}/{month}/{day}/{entryname}/
  • http://{username}.tabulas.com/gallery/{albumname}/{imagename}/
  • http://{username}.tabulas.com/content/links/

Etc. etc. I pretty much stole the entry URL schema from wordpress - their URLs are so clean it makes me crap my pants. The URLs are all pretty hackable as well - for example, you could do:

http://{username}.tabulas.com/2007/ to get all the entries posted in 2007, or http://{username}.tabulas.com/2007/07/ to get all entries posted July, 2007.

I never understood it, but nobody seems to like the "huge" views that the archives generate here, so all the category/archived views will simply be a list of entry titles and some marginal information about each entry (comments, timestamp, etc.). I have no issues, since it is actually a performance booster.

So yeah, tons of exciting stuff in the pipeline. I know the control panel is neglected (about 50 or so bugs filed), but I gotta focus on one thing at a time.

Posted by roy on August 13, 2007 at 11:12 PM in Tabulas | 6 Comments

From my good friend, Hao:

harbinbear: did you start a new blog, your tabulas entries have been less self loathing than usual

. . .

A point hammered home to me today: when it comes to software, I have difficulty designing architectural components. I have a goal/product/feature-oriented mindset.

This came up because I stayed late today to help out with some new conceptual "feature". It's totally useless right now, but has really cool implications. For those of you who have some notion of computer concepts, we implemented a message bus in Javascript - basically one Javascript component would fire and another would pick it up through a subscribed bus.

Anyways, I didn't really get the concept at first, but I've learned that even though I don't "get it," it's usually enough to follow through with somebody else's passions until I can see the light. So dutifully, I helped out. After hacking away at it for a little bit and understanding a real-life implementation of it, I started to pick up a little more on what was important about it.

. . .

I've noticed that my writing of late has gone down the absolute shitter. My SAT students would be quite amused. So this week's goal: tighten up my writing. I blame emails at work - the constant flow of busy-ness is affecting my ability to concentrate and communicate in a clear, concise manner.

Posted by roy on August 14, 2007 at 08:20 PM in Ramblings | Add a comment

" Atom is not better and users don't care":

Facebook is doing the same thing, and I'm pulling back from endorsing them until they take the religion out of their docs. I won't help propogate the myth that one format is better than the other. Users don't care.

Exactly. Users don't care about the technical underpinnings, they only care about the outcomes. And it's much harder to build cool features with RSS - all the "features" I've seen with RSS (beside the obvious one of syndication) are the same thing: take content from one place to another place. Yeah, that was cool ... like 5 years ago.

RSS works great for the specific purpose it was created: publishing public content. At that point, it doesn't matter. To say Atom is "better" than RSS there is useless. But RSS cannot be extended to do cooler things - we could have never built a whole API for Deki Wiki using RSS (for the record, we didn't use APP, but we *could* have, that's the point here).

If we want to strand users in 2001 for the next ten years, then yes, please adopt RSS and don't push for APP.

But the faster more web apps get on-board the APP protocol (and Atom) as a format, the easier it becomes to write tools to consume those feeds and remix them.

Nobody can claim enough foresight to see what the web is gonna look like 5-6 years from now, so how about we at least set a firm foundation for the future?

It's like when you're deciding to find a place to live: you can take the short-term view to fulfill a need ("I need a place to live") - many places will do just fine. But when you factor in the long-term view ("Will this place appreciate in value? If I start a family will it be a good place?") your needs change dramatically. Hell, it may not even matter, but the fact of the matter is that we leave future generations of web developers more tools and a better foundation if we converge on APP.

. . .

Two thoughts in passing for Tabulas:

  • Would be interesting for every publicly accessible URL to also be an API endpoint.
  • Webservice hooks
Posted by roy on August 15, 2007 at 03:13 PM in Web Development | 3 Comments
karcyr: Is it just me, or is Roy Kim's melancholy infectious? I can honestly swear that I thought of some non-angsty commentaries to write in this space, but the minute I loaded this page I forgot them.

Oops. I'm such a negative nancy.

To combat this, I will post videos of kittens falling asleep!

Yayyyyy kittens + sleep = awesome!

Posted by roy on August 16, 2007 at 12:51 PM in Ramblings | 2 Comments

le sigh. I blame Eddie for forcing me to watch this clip of a Korean variety show ... but I'm glad he did, cause now I've found the new love of my life, Chae Yeon:

(The clip is subtitled, and it's pretty funny - this guy keeps laying on these supercheesy lines on the girl)

Posted by roy on August 17, 2007 at 12:38 AM in Ramblings, Foolishness | 7 Comments

In the spirit of spreading some rock badassery (ala Narzack):

Glam rock + Berlin Philharmonic Orchestra ... rocks ... glamorously!

. . .

Preface: As always, this post is limited to my experiences. I grew up in a upper-middle class neighborhood and went to an excellent college. I can't speak to the truth of people who weren't as blessed as I was when it came to education. Other people who have been exposed to those experiences can speak much better than I.

Time: "our education system has little idea how to cultivate its most promising students"

Besides the usual riffraff about education, I'd like to add a few points:

Personally, I don't think our educational system is as bad as everybody paints it to be. I had many friends who attended "gifted" programs in middle school, but they were no better off when we all combined in high school. When I felt high school was boring, I left for college. There was nothing in our system denying me the ability to apply early, and I managed to pull it off (I skipped my senior year of high school and went to Carolina full-time instead). As a side note, I found college horribly boring and ended up never going to class when I realized the professors taught straight from the books (I would study for a full semester's worth of material the night before the final ... needless to say I graduated with a pretty craptacular GPA)

If the goal of our society is to produce a bunch of scientists and engineers, then speeding "gifted" kids through primary school is beneficial. But looking back, forcing me to interact in middle school with normal kids prepared me for an open-mindedness that I think pushing kids through a 'special' system wouldn't do. Entitlement is incredibly dangerous, and something I see often from graduates from "top" schools (at all levels).

I'm not sure throwing more money at teachers is the right solution. I had a helluva fun time teaching kids in Korea a few years back (granted, it was just for the SAT). The few great teachers I had were passionate and encouraging (Ms. Kuhl from high school, Prof Caddell from college), and I'm not sure throwing more money at teachers really solves that problem. I've seen professors with tenure who are horrible teachers ... at the end of the day, the teacher has to want to be there. One day, when I can get all this start-up/entrepreneurial stuff out of my system, I'd love to go back and teach. Being a mentor is the most rewarding thing I've ever done ... but I'm smart enough to realize that I'm selfish and I need to do all this craziness for myself, first.

Posted by roy on August 17, 2007 at 05:47 PM in Ramblings | 2 Comments

One month ago, I wrote the first line of code for the new Tabulas front-end (if you're keeping count, this is the 3rd rewrite of stuff I've already written since 2.0). About 230KB lines of code later, I wrapped up the first version of the new Tabulas front-end! Amusingly, this was a success because it achieved the exact same outcome as before (so if you go to your new site and go, "Wow, this looks exactly the same!" I've succeeded. How often in life can I say that preserving the status quo is a good thing?)

You can try out the new front-end at http://username.tabulas.net/ (mine is: http://roy.tabulas.net) This is only a temporary holding place until I transition the main www.tabulas.com code to the new stuff. Do not share this URL; you can use it daily to do your friends reading or whatever else, though.

Some changes you'll see:

  • Nested albums (if you're using the new control panel) in gallery (I have 3 nested albums in this album!)
  • Awesomely clean URLs (but all your old URLs will work fine with fancy HTTP 301 redirects so you don't have to lift a finger!)
  • New "links" section which makes searching your links easier
  • Your own subdomain! (domain aliasing coming soon!)
  • Ability to specify comments as HTML (since "<" would break comments)

Some changes you don't see:

  • Completely new backend - I have much more confidence in this code and my ability to maintain it (code maintenance is why I keep falling behind on working on new Tabulas features)
  • Tons of meta-caching - there were a few suspect queries in past versions of Tabulas which worked with large datasets, but now all the queries are guaranteed to work within a smaller dataset, which is a big relief for me

This version is slightly speedier than the old version - I was hoping to get a significant improvement to page speed, but it wasn't to be. You can view the page execution time in the HTML source.

The most expensive query is getting your friends page. My goal was to get that thing down to about 150 milliseconds processing time (in PHP). Mine is currently clocking in the 140ms range prior to caching (once it caches, I get around 50ms).

It's pretty sad it took 4 weeks to get to almost exactly where I was before, but now I have a ton of awesome building blocks in place to continue with my plans for Tabulas.

Posted by roy on August 19, 2007 at 09:36 PM in Web Development, Tabulas | 5 Comments

Aaron "Big Cheese" Fulkerson:

"Wow, Roy. You're really lazy, aren't you?"

The truth is out. Spread the word. I'm lazy.

And because boosting one's ego is necessary from time-to-time:

"For someone who doesn't have CS degree, you sure put a lot of CS majors to shame."
Posted by roy on August 20, 2007 at 03:42 PM in MindTouch | 2 Comments

A month ago, I spent half a day trying to write a simple function. I failed. Today, I came in, and had it done in about 15 minutes with no problems. Weird how that is.

Posted by roy on August 21, 2007 at 05:09 PM in Ramblings | Add a comment

Unfortunately, since my promotion, they won't let me take the title of "Super Astronaut" on the MindTouch blog. They simply changed it to "Dev Lead." This post was written for the MindTouch blog, but I'm also posting it here, since it should be of interest to maybe one of you. Give it a read and let me know your thoughts. In case you're wondering, the whole concept of where we're taking Deki Wiki is exactly where I tried to take Tabulas for Tabulets (remember those?).

. . .

"There's only two industries that refer to their customers as users - the drug industry and the high-tech industry."

It's really no surprise that high-tech companies have long tried to lock-in users into their platforms - incredibly profitable companies have been built this way (The Microsoft of the '90s with its software lock-in; Apple of today with its hardware lock-in).

The recent growth of social Internet sites like YouTube and MySpace are predicated on the concept of information lock-in. Once a member of either YouTube or MySpace contribute information to the site, that data is locked into those sites - there is no way to export the contents of those sites in any meaningful way back to the user. If anything, the second coming of the Internet Gold Rush has seen a boom of sites whose sole purpose is to capture information about its users, with no intent on ever allowing anybody else access to that information. Once users start contributing content to any of these social sites, they become more entrenched due to the difficulty of retrieving their own data - in essence, they become dependent on these sites as content providers.

Why is this important? As we spend more and more time on these sites, gathering value from the personal networks that are created, we are going to want to be able to port our data from one of these information silos to another. Otherwise, we will have to continue to spend time recreating all the relationships on every new site that comes along.

This is the goal of the "Open Web" initiative - to promote the portability of data between information silos on the web. The Open Web initiative shares the same kindred spirit as the open source community - while the OSS community unlocks value in software, the Open Web initiative unlocks value in the data generated from software sprayed across the web.

With the Atom Publishing Protocol going gold, developers are starting to agree on how completely separate pieces of software will transfer information.

A rich API can be a daunting engineering task (We spent 7 months getting our API done for Deki Wiki!). (Un)fortunately, languages such as PHP and Ruby on Rails has allowed non-programmers to participate in the growth of the social software movement. For these hobbyists who lack a deep technical background, a rich API is not necessarily the proper solution.

Micro-formats have been offered as another solution - these basically extend the concepts of XHTML and allow for machine readability. Instead of forcing new features to be built, micro-formats allow for extensibility within the familiar framework of XHTML.

Accessibility and machine-readability go hand-in-hand; the more accessible content is, the easier it is for machines to read it. It's really no surprise that we are just now starting to realize why the web standards movement (for the past 4 years or so) is so important. The adherence to light, semantically rigorous mark-up has laid the groundwork for many of these micro-formats, as well as the explosion of Javascript frameworks which powers many of the rich applications today (Gmail would not have been possible during the first dot.com boom).

I believe the most exciting times for development are just up the road - Facebook was the first good example where tons of people started "getting" it. As more and more people start understanding the value in an API, they'll demand more and more from their software.

As developers, where do we go from here? We already:

  • Give users the tools (open-source)
  • Allow users access to their data generated from these tools (open web)
  • Allow the broadest group of people to use those tools (accessibility)
  • Make it easy to use those tools (rich UI tools derived from disciplined XHTML markup)

The next step has to be allowing those tools to be run on every platform possible, as easy as possible.

At MindTouch, we don't think it's enough to simply provide an API. We want to take things up a notch by offering tools in front of the API.

Our PHP component of Deki Wiki is nothing more than a series of scripts which interface with our API - in theory, it becomes possible to set-up your PHP scripts anywhere and still have access to Deki Wiki's rich functionality.

If there's one thing that projects like Wordpress and phpBB have taught us, is that simple installation, coupled with rich functionality is the Holy Grail of software. Nobody wants to spend hours setting up a server and configuring everything to get a wiki running. Most people want to run through one PHP install script and be done with it.

And that's where we're going. As we continue to move forward with Deki Wiki development, we will continue to rip out functionality from the PHP components and move them into the C# side (don't worry, Deki Wiki is GPL open source, so you can download and run our whole app on Windows XP *or* any Linux distribution with some elbow grease!). This, in essence, turns PHP into nothing more than a piece of software which talks to the API and outputs the data in a pretty, usable format.

Imagine 6 months from now, downloading a small PHP application, uploading it to your server, writing in a few configuration keys, and having a full-featured wiki? No databases to set-up, no NFS or disk storage to set-up, no need to acquisition a whole specific type of server to get the thing running ... just PHP.

How awesome would that be?

Posted by roy on August 21, 2007 at 11:03 PM in Ramblings | 3 Comments

So. I've been trying to eat healthier as of late. My mom's been giving me grief that I moved up to a size 32 waistline (I mean, really, 31 is fine, but I like to take my pants off when I'm at home, so you can understand why I'd want a looser fit when I'm forced to wear pants [damn you, society!]), so I took the criticisms to heart. Less burritos, less southern fried chicken, less In-n-Out and more chicken caesar flatbread chopped salad.

Anyways, my stomach is totally wrecked today. Like, really bad. Like, the worst it's been since I moved here. It ppppaaaiiiinnsss me. What did I have for lunch? Spaghetti at Fillipi's ... that must be it.

Interestingly enough, when Max and I went there yesterday to pick up some food, we overheard a girl complaining to the manager that she found a used band-aid in her water.

. . .

Han Pyun, are you happy that I've stopped writing about work-related posts?

. . .

Mmm... Chae Yeon:

. . .

I don't know what's come over me, but I got a severe case of wanderlust over this past weekend ... but for Korea. I guess watching some of those old Korean videos made me remember what a good time I had in Korea.

I don't particularly know what it is about Korea that leaves such a positive impression in my mind - when I was there the last time, I was teaching high schoolers for at least 9-10 hours a day ... but I really enjoyed it (in retrospect). There's no one thing in my mind that was enjoyable about Korea ... it was just the little things.

Taking the subway. Getting caught in huge crowds while transferring between busy lines. Walking in the crowded markets of Dongdaemoon. Finding little restaurants on the dirty street of Sinchon. Catching a whiff of that wonderful Korean BBQ by Hong-ik university. Eye candy in Apgu. Refreshing boba and pat bing su. Late night deliveries of jja-jaa-myung and jjambbong. Watching the old white-collar guys getting drunk and start hitting on girls that could be young enough to be their daughters. Seeing ahjummas walking around, gossiping. The ever-friendliness of fast-food restaurant workers (they greet you as come into the store ... really). Hearing the #1 pop song every street until it just subconsciously becomes a part of you (Boa's #1 was that song the last time I was there). Kicking yourself on the days when it starts raining and vendors appear out of nowhere to sell you overpriced umbrellas. Trying to overhear the conversation of the gregarious artsy-types coming back from a party on the subway. Wondering if the person walking front of me with the long hair, stylish purse (or murse) is a guy or girl ...

Alas, I miss it . I should go back.

Posted by roy on August 22, 2007 at 09:10 PM in Ramblings | 8 Comments

Context over consistency.

When I first started developing webdesigns and UIs, I was a contractor. That meant I created one template, sliced it down, and delivered. That forced all the sites I designed to follow one basic theme.

It was then when I discovered about server side includes. Do you remember the <!--#include virtual="header.shtml" --> syntax? Huzzah, I could create one template for all my content! But this led to a LOT of uniformity (not a bad thing).

Then I learned about PHP, and I found out even more how I could automate templating - write the template once and it fits in everywhere!

The goal would always be to simplify the templating layer. I would press consistency over context - the same way all the wizards for Windows XP are the same.

Lately, I've been going back to designing and marking down not just the template page, but important view pages as well. This flies in the face of everything I know about maintainability, but I've found that when I do redesigns, I usually trash the whole design and start again anyways, so maintenance be damned. I can't recall a time when I was actually able to do a redesign without touching the markup.

What's interesting is that almost all templating languages I find inside OSS projects (MediaWiki, vBulletin, Wordpress, etc.) are all about promoting consistency over context. Is this implicit laziness towards developing for each view the reason why software is so crappy?

I guess this is no different than the rest of the world - most of us are happy with our mass-produced cars ... but some of us enjoy the craftsmanship of cars built by individual hands.

Of course, what's interesting is that Toyota found a hybrid of mass production and craftsmanship ...

Posted by roy on August 25, 2007 at 12:21 AM in Web Development | Add a comment

Of course, it had to happen. My recent obsession with lighttpd ran into a huge stumbling block. Apparently lighttpd won't serve up the Etag header when you run stuff through mod_compress. Boo. This means you're forced to choose between compressing or caching. That sucks :(

I'm tempted right now to settle for turning off mod_compress, since I'm minifying all the CSS and JS on my static-content server anyways, so the gzip boost isn't entirely necessary (although I'm sure it would still help).

Update: A bit of mucking around and I discovered I *can* have Etag with mod_compress! All I have to do is turn on the compress.cache-dir variable! Yay! (seriously, i'm pretty excited right now ... lame)

Posted by roy on August 25, 2007 at 07:07 PM in Web Development | Add a comment

Corey - "I was playing Wii baseball, and I had just hit a home-run. Meanwhile, a plane was landing, and the fireworks were going off ... and I said to myself, 'this is awesome.'"

(Note: Corey lives on the 13th floor of a building that has a clear view of planes landing into San Diego's airport, as well as the nightly Sea World fireworks show).

Posted by roy on August 25, 2007 at 09:49 PM in Ramblings | Add a comment

forgive me my weakness

Posted by roy on August 28, 2007 at 02:15 PM in Personal | Add a comment

You know, I'm pretty sure all the snarkiness and negative nancy-ish behavior on this journal paints me in a negative light, but in real life, I'm a pretty decent person. I don't find faults in most things (except things that I work on). That said, let me say tell you a little story.

A few nights ago, Woot was having a sale on Zunes for $150. I figured, "Hey, $150 is *just* about what I want to risk on a potential dud ... why not!" I mean, I figured given that I had lost a few months' income on the recent stock market sliding (yay volatile stocks!), I figured dropping $150 on a Microsoft piece of hardware might not be such a bad move.


I never really thought the iTunes was a particularly good piece of software (I still use Winamp), but man ... they blow this Zune piece of crap software out of the WATER.

Here is a short list of things that happen with the Zune software so far:

  1. It froze when it tried to get updates ... the very first time I popped in the CD. Nice.
  2. It was stuck on "Installing Zune software ... 95% done" for close to ten minutes. It wouldn't let me quit, so I was forced to switch computers. Double nice.
  3. It currently asked me to install firmware on the Zune ... "good idea," I thought ... and now it's stuck on "Waiting for device to update..." Meanwhile my Zune is happily just sitting here. Triple nice.

Apparently nobody on the Zune team understood that Microsoft wrote the operating system that is required for this forsaken thing to work, cause they apparently decided to reinvent the wheel by forcing me to use a shitty ripoff of iTunes.

Here's a screenshot of the interface:

No, wait that's the interface! That's the interface crashing! Ooops! My mistake!

Ok, so I just cancelled the firmware update and now I seem to be caught in a weird situation: my Zune reports that it's connected, but the Zune software says I need to "Connect a Zune device." Which one is it big boy? One of you says "No good", the other says "good." This reminds me of the times when 3 people report a bug about Deki Wiki, and Max steadfastly says "Works on my machine!" triumphantly. (hah, kidding! max is awesome!)

Which is it, big boy?

Le sigh.

I can't remember being this frustrated with a piece of hardware and software before. I bought one of the first Rios ever (32 megs, baby!), and I don't remember being as frustrated with getting songs onto it as I feel now.

So even at a discounted price of $150, given that I can't even get music on this goddamn thing, I'd say I just failed at life. Maybe I would have been better off buying some sub-prime mortgage stocks or something (oh wait, I did! HAH!).

My final review: Microsoft Zune: Whatever off my ballz, plz (max coined this phrase when he got annoyed with me today, i think it's super catchy)

Update: I can't even launch Zune the software to sync anything. Which really means this Zune is abso-fucking-lutely useless. Awesome.

This is a great way to inspire confidence.

This is now what my screen looks like when I launch the Zune software (I alt+tabbed out and tried to alt+tab back in):

Posted by roy on August 29, 2007 at 08:41 PM in Ramblings | 9 Comments

notice anything different about your tabulas accounts? yay! after two years of being a huge wimp ("oh god, what if i break something"), i finally said, "screw it" and pushed out all the recent work i've been doing with the new tabulas frontend.

let me know if something's broken with your sites: roy@tabulas.com.

how do you like the new frontpage? each iteration of the home page seems to get simpler and simpler. i was joking with somebody (i think it was yush), that eventually the tabulas home page will have a logo, a brief explanation of the site, a login box, a registration box, and the recently updated tabulas.

i don't really like the text on the home page, i may just replace it with pictures of lolcats or something instead.

to get a list of things that changed, you can read this entry. here's a short bulleted list for you lazy people:

  • subdomains
  • new, clean urls
  • 301 redirects from your old urls to your new urls
  • nested galleries
  • better organization of archives
  • better organization of links
  • comments don't take html by default since so many people try to spread the love with >3 but get broken comments instead
  • performance BOOOOOST

things that are broke: communities.

communities are fundamentally broken. i have some ideas on how to make them not suck, but it basically means killing communities as a supported feature until i figure out how it works.

speaking of which, the long labor day weekend is coming up. that means, i'm going to focus on addressing the 68 issues for the new beta control panel that people have reported. or maybe i'll go on a booze-fuel drug binge (ala lohan!) over the weekend in celebration. sex, drugs and rock-n-roll ahead!

Posted by roy on August 30, 2007 at 09:39 PM in Tabulas | 3 Comments
« 2007/07 · 2007/09 »