September 2006

Album Cover: Echoes, Silence, Patience and Grace

"Time will turn us into statues, eventually."
Foo Fighters / Statues

Pink for October

September 30, 2006 9:24 PM

Just in time for the month of October (my favorite month of the year, by the way) to roll in on the east coast, I've thrown the greys and blues to the wind and gone Pink for October.

I first heard about the Pink for October event a month ago via Jonathan Snook's site. I quickly added a B-Side and made a mental note (i.e. added a reminder to Google Calendar) to try and convert my very dark site to a more feminine set of pinks to help bring attention to the fact that October is National Breast Cancer Awareness Month.

After a couple of hours of modifying my CSS, whipping up some images (including the big one of the flower that I took in our backyard when we lived in the University District) and listening to the Huskies take it to the Arizona Wildcats (you know, to offset all the pink stuff), I've got a new design up that actually turned out pretty decent, if you ask me.

But this isn't about football, flowers or style sheets, it's about raising breast cancer awareness...so here are some resources:

Oh, and if you're reading this in a news reader, you're missing out. Come bask in the pink glory.

Web Design | Post Comments | View Comments (5) | Permalink

Minor Yet Major

September 29, 2006 8:52 PM

This will be quick 'cause I've got a pizza on the way, but I had to write about some feature addtions the Bloglines team made to their news reader service this week, especially since I know I've got a few readers who also use the service.

As noted at their blog, they've made it so the left-hand pane with the list of feeds no longer refreshes (and subsequently scrolls back to the top) when you mark items as unread or use the "keep as new" feature. In addition, they've made some very minor aesthetic changes that somehow make a world of difference in terms of how the design feels. When you click on a feed title, it gets highlighted in a pleasant but unobtrusive grey so it's easy to see what you're currently reading as you scroll down the right-hand reading pane.

In addition to, and somewhat tied-in with their minor aesthetic tweaks, they've integrated some Ajax to make the category unread counts update on-the-fly and flash yellow so you notice the change as it occurs. They've also shortened the interval between checks for new posts across all your subscriptions, and even flash a little indicator at the bottom-left of the screen to let you know how many new items were picked up. This is a sexy little feature addition that goes a long way in terms of the feel of their application overall. I'll ignore the fact that it's a tad stressful to see new items being added as you're trying to bring the total unread count down ;)

I've had my qualms with Bloglines in the past, but the minor changes they made this week have gone a long way in getting them back on my good side. Maybe I'm just a sucker for good design and enhanced usability, but whatever the reason, I have to tip my hat.

Web Design | Post Comments | View Comments (4) | Permalink

Cookie Crunch

September 23, 2006 11:21 PM

One of the disadvantages of rolling your own CMS and not jumping on the WordPress (or other similar available platform) bandwagon is that you more often than not have to get your hands dirty, even when attempting to handle the most trivial things.

Tonight's addition to my blog was a good example of this. I decided to be nice to repeat offenders like Ryan, Sean and Ian and remember their personal information (name, email and website) so the next time they decide to repeat offend, they don't have to do as much work.

Unfortunately, for every action there is an equal and opposite reaction. In saving the work for them, I ended up having to do a bunch of my own. I can't complain, though, because I learned a little bit about JavaScript in the process and finally found a good excuse for installing and using FireBug, which I've heard so many good things about.

I started off by trying to figure out whose blog I visit on a regular basis that remembers my information and most likely isn't powered by WordPress on the backend. The first one that came to mind was Jonathan Snook's, and sure enough he had more than enough JavaScript for me to learn from (read: steal and hack). He had an old cookie getter/setter script from WebReference.com that I was able to use pretty much wholesale, with the exception of minor changes to reflect my domain name.

Past that, though, things started to get very interesting. Because Jonathan is a JavaScript guru, he's made use of several JavaScript libraries like mootools and Prototype to pull off many of the cooler dynamic features of his blog's frontend (check out what he calls fixed comments for an example). However, because I don't need to do anything fancier than setting/getting cookies, I had to take the time to really trace through his code and understand what some of the "convenience" functions of those libraries actually do.

Eventually, after a lot of trial-and-error and familiar debugging in a language I'm not used to being able to debug, I customized the script enough to store personal information in a cookie and fetch it the next time a repeat offender drops by my site (given they allow JavaScript, cookies and other delicious treats).

If you spot anything abnormal, please be sure to let me know. Or, if it works swimmingly, let me know that too. You'll be doing yourself a long-term favor at the same time! :)

Web Development | Post Comments | View Comments (10) | Permalink

Let 'Em Do What They Do

September 21, 2006 1:28 AM

As usual, Jonathan Snook has provided a great tip for dealing with block elements in his post, Top CSS Tips:

My rule of thumb is, if I set a width, I don't set margin or padding. Likewise, if I'm setting a margin or padding, I don't set a width. Dealing with the box model can be such a pain, especially if you're dealing with percentages. Therefore, I set the width on the containers and then set margin and padding on the elements within them. Everything usually turns out swimmingly.

Based on my own experience with the box model (which has been well documented), this is very sound advice.

Web Design | Post Comments | View Comments (4) | Permalink

Beach Chair

September 17, 2006 11:05 AM

What do you get when you mix a little Jay-Z with some of Coldplay's Chris Martin, and then sprinkle a little Dr. Dre on top?

"Beach Chair." And I can't wait to hear it.

Music | Post Comments | View Comments (0) | Permalink

Somewhat Productive

September 17, 2006 12:56 AM

Usually my girlfriend and I don't get out much on the weekend 'cause we're introverts (and proud of it). However, it is nice to feel at least somewhat productive sometimes. I managed to get quite a few things done today:

  1. Watched part of the first quarter of the Huskies game
  2. Left to go eat lunch at Red Robin, where I caught a majority of the second quarter of the game, as well as the end of the Oregon upset of Oklahoma (which should have gone to OU but didn't due to bad officiating)
  3. Picked up Audioslave's new album, Daz Dillinger's new album, "So So Gangsta," and The Last Kiss soundtrack at Best Buy
  4. Ate banana ice cream with hot fudge from Cold Stone Creamery
  5. Picked up a toy and some pet food at PetSmart
  6. Came home and watched about ten more minutes of the Huskies game before falling asleep on the couch
  7. Woke up around 9pm and watched the rest of the game (2-1 baby!)
  8. Shaved (one of my least favorite things to do in the whole world)
  9. Learned to play Death Cab For Cutie's "I Will Follow You Into The Dark" on guitar

After I post this, I'm off to watch the U.S. women's national soccer team's game that I missed on Wednesday, but managed to TiVo. Oh, and work on a document that I need to have done for work by Monday.

Then tomorrow, it's off to a long overdue haircut before heading to Qwest Field to watch my Seahawks take on the Cardinals. Let's hope I get one of those dual win (Huskies/Seahawks) weekends that I've been missing for so long.

Oh, and one more thing: it should be noted that this is the first post in a new category here at my blog, "Personal." One small step in the right direction.

Personal | Post Comments | View Comments (1) | Permalink

Where I'm Failing

September 13, 2006 12:15 AM

I thought a bit tonight about where I'm failing when it comes to blogging:

  • I'm not taking advantage of the "journal" aspect of blogging. My blog entries are very often focused on current events or specific topics, but very rarely give any kind of history as to my personal life or the events going on within it. I would like to be able to look back on my blog in the future and tie memories to dates, even if only roughly (i.e. to the week or month).
  • I'm not innovating. So many people blog nowadays that a blog has become a "platform." One of the main reasons I chose to develop my own personal CMS was so that I wasn't tied to the feature set of any particular online blogging system or open source package. I wanted to have the freedom to try new things, as boneheaded as they might be, and rely on the feedback of my readers to determine if they are at all useful (Arcanius Style Recent Comments was a good example of this). I need to start pushing the envelope and trying new things.
  • I need to be better about "blogging outreach." In the past I did things like Random Blog that featured bloggers I wouldn't normally connect with in my everyday blogging routine. That in turn brought those bloggers to my site to check things out. On the flipside of that, I need to be more vocal and comment on others' blogs to bring those bloggers (and their readers) to my site.

That's about all I can think of for now, but I'm sure there are more. Just trying to keep myself honest...

Blogging | Post Comments | View Comments (4) | Permalink

Five Years Later

September 11, 2006 9:46 PM

American Flag

Miscellaneous | Post Comments | View Comments (2) | Permalink

Near-Life Experience

September 10, 2006 8:12 AM

I was very proud of the way my Washington Huskies played against Oklahoma yesterday...especially in the first half. Kenny James' 54 yard run into the endzone on the very first offensive play, sweet spin move included, reminded me of the legendary Husky runningbacks of old. The Huskies' other runningback, Louis Rankin, piled on 112 yards on the day, adding to the team's total of 204 rushing yards (against a team that was ranked 4th in the nation last year in rush defense, mind you).

Although there were obvious weak points and we didn't win the game, I don't think there is anyone that predicted UW would put up the numbers or the fight they did against the Sooners. Isaiah Stanback showed me a poise that he didn't have last year, and Ty Willingham gained a little respect in my eyes.

Even with the loss, this game proved to me that there's no way the Huskies are going to have another 2-9 season like last year. It also showed me that those nuggets over in Pullman better be ready to throw down come November 18th.

Sports | Post Comments | View Comments (1) | Permalink

A New Breed of Uproar

September 08, 2006 10:56 PM

I've been reading all of the Facebook coverage lately on sites such as Digg, TechCrunch, Scobleizer, etc., and the more I think about it, the more interesting it gets.

First off, I think it's extremely interesting that a free site that offers a central location for a very focused (albeit large) group of people can be completely controlled by its user base. When you really think about it, Facebook is a service like Digg, Flickr, YouTube or MySpace that, at the end of the day, has a right to implement whatever features it wants, throw ads up anywhere it wants in whatever fashion it pleases, and to dictate the user experience in any way it deems appropriate. The whole idea of user-generated content kind of throws this on its face, though. Because users are so heavily invested in these sites, they can seriously create an upheaval if things don't go their way.

In reality, any company that serves to gain from the acceptance of its user base will bend to the will of the majority in most cases to ensure that the user base grows, or at the very least maintains its size. No company that relies on users for revenue or the very perpetuation of their product or service would throw its users' needs to the wind completely, but it seems like in this day and age of user-generated content, the potential for doing so has declined immensely.

The other interesting aspect of what has gone down is that a simple change to a web page has literally lead to what many, many news sites and blogs are calling a "revolt." The most notable example of this was mentioned on Slashdot earlier today:

A Reuters article mentions that Facebook user Igor Hiller, 17, a freshman at University of California, Santa Barbara is organizing a real-world demonstration next Monday at Facebook's downtown Palo Alto headquarters.

So let me get this straight. With all the nonsense that is going on in our country and our world right now, it took a few web page tweaks to get people (most notably, high school and college students) up-in-arms? The aforementioned Reuters article contains the following quote from Igor Hiller:

This is the first thing I have gotten really passionate about, where I wanted to make a stir.

It might be unfair to pinpoint this one particular 17 year old, or to make a sweeping generalization in saying that there aren't people up-in-arms about the war in Iraq or domestic issues here at home, but I still can't help but shake my head when I read about some of this stuff.

Maybe I'm just getting old...

Miscellaneous | Post Comments | View Comments (3) | Permalink

Multiple-Value Returns in JavaScript

September 04, 2006 3:29 PM

Jonathan Snook posted today about the Firefox 2 Beta being available, and among the few things he listed as being new in the release were multiple-value returns in JavaScript.

One of the things I've always liked about Perl was having the ability to do things like the following:

sub getLatLon
{
 my ($address) = @_;
 my $lat = getLatitude($address);
 my $lon = getLongitude($address);
 return ($lat, $lon);
}

With a function like that, you could call my ($lat, $lon) = getLatLon(); at any time to get a coordinate pair. Since the logical pairing makes sense, there's no need for two separate functions and you end up writing less code.

The implementation in JavaScript would be pretty similar, but here it is just for the sake of completion:

function getLatLon(address)
{
 var lat = getLatitude(address);
 var lon = getLongitude(address);
 return [lat, lon];
}

Now I don't do nearly enough JavaScript coding to really merit me getting too excited about this new addition to the language (at least as it is supported by Firefox), but it's nice to know I'll have the option if the need ever presents itself in the future.

Programming | Post Comments | View Comments (6) | Permalink

From Bloglines to del.icio.us

September 02, 2006 7:17 PM

While I'm still on the subject of del.icio.us, I should point out that I've dumped a whole bunch of links into my del.icio.us account today.

I've been a Bloglines user and evangelist for quite a while now, but after reading the following in the Bloglines News feed a couple weeks ago, I realized I can no longer trust Bloglines to retain any kind of history for me:

Bloglines recently experienced software difficulties that affect a small number of members who use some of our advanced features. For example, you may have saved some articles by clicking on "Keep as New" and found that it doesn’t link back to the saved posts. We have isolated the issue in a system that manages the data for Bloglines blogs and clippings (resulting in the interruption of those features as well for a few users) and our engineers are working to resolve this problem.

The unfortunate truth is, I happen to be part of that "small number of members." I have relied on the "Keep as New" feature ever since it was called "Save," over two years ago. And keep in mind that this isn't the first time Bloglines has let me down with this feature. My patience has finally run out, so I've moved all the links I had asked Bloglines to keep as new over to del.icio.us in hopes that my data will be safer there.

What makes things worse is the side pane in Bloglines reminds me of all the "kept as new" posts they lost. Next to Digg I see (98), which reminds me that 98 entries I had asked Bloglines to hold on to for me are gone and may never come back.

I understand that Bloglines is growing and even the best companies have bad days, but dataloss is a bad thing. It hurts trust, and trust is a hard thing to regain on the web. At least my trust is.

Blogging | Post Comments | View Comments (1) | Permalink

Avinoo

September 02, 2006 5:50 PM

Earlier this year I started work on a web project. It was centered around the fact that I tend to send many emails out to friends, family and the like that contain nothing more than a link and, sometimes, a short description or introduction. My idea was to create a simple web application, similar to del.icio.us, that would allow friends to send links to each other via the service, and to subscribe to those incoming links and optional descriptions or introductions via web feeds.

Rather than typical web feeds, which are generated by one person or logical group and distributed to many readers, feeds generated by my service would be generated by many people and subscribed to typically by a single person or logical group. The idea was simple and basic, but made a whole lot of sense to me. I liked the idea of having my very own web feed that all my friends, family and even blog readers could post links to.

I decided to call the service "Avinoo" and quickly came up with a sleek and simple design. I filled out some content to describe the service and set up various forms for signing up, logging in, sending links to friends, etc. Then the work stalled for a while as I got sucked in by my real job. Then, fate came along and did what it always seems to do. I was visiting del.icio.us, the very site that had inspired my new creation, and I saw a link at the top of the page that said "links for you." The new feature, which is described here, does pretty much exactly what I intended to do with Avinoo. The only real difference? del.icio.us has traction that I couldn't dream about competing with.

Oh well. I'm already working on a new idea at this point. Let's hope I can get something out before someone bigger and better gets to it.

In the meantime, if you come across any links you think I'd be interested in reading, feel free to tag them as for:bernzilla when you add them to del.icio.us.

Web Development | Post Comments | View Comments (3) | Permalink