Kong is King at the Movies

Standard

If you haven’t seen it yet, go see King Kong. It is a tribute to old-school captivating movies that take you away into a different world. A remake of the famous classic was a big feat, and although we’ve all seen remakes done before (and poorly, at that) I think this remake was really something special.

What made me happy was to see a fresh and seamless use of today’s special effects. Jackson was able to integrate some cutting-edge graphics without spoiling the realism or flow of the story.

I think the use of these effects was responsible and well done, because I often see today’s directors choosing to scenes just for the effects instead of using effects to improve an already great scene.

The characters are palpable, and are built well over the course of the movie, which is about 3 hours. Yes, three hours. A bit long, you might say, but if you stop and look back at all the truly great classics, they are all longer than 90, even 120 minutes.

It’s probably because the theatrical epic needs to have substance. It is a journey that should take you out of your world for longer than just 90 minutes. It’s a movie that is long, but doesn’t seem long, and when it is over you are a little sad that your journey has ended.

Overall, King Kong was a tribute to the epics — great movies like Citizen Kane, The Godfather, Casablanca — because it has brought back imagination to the big screen that has recently been suffering a complete lack of ingenuity in the wake of rapid special effects advancements.

I’d like to see more movies coming out like this one. It reminded me of how far our imagination can take us, and that’s something we should always appreciate and cherish.

A giant ape has feelings too. It takes a great director to show it.

College Basketball Doesn’t Measure Up to the NBA

Standard

The NBA is the best basketball league in the world. It’s primetime, best-of-show, extreme, nail-biting, you name it. It tries to make basketball what it was supposed to be: exciting.

You might disagree. You might enjoy little league, high school or college games more for some reason. But not me. Give me a good NBA game and I’m happy. Here some reasons why:

  • Arguably the best overall athletes in professional sports. NBA players are tall, quick, strong and intelligent (most of them — on the court anyway).
  • Traditional rivalries. They go way back, I guess you get this in college, too. But come on – Lakers vs. Celtics? Bulls vs. Pistons? That is what legends are made of.
  • One-on-one battles between great players. Defensive matchups between a great defender and great offensive talent are often seen on a nightly basis. It is hard to have these marquee matchups when you’re playing a box-and-one or 2-3 zone.
  • No boring zone defense. Defenders have to be better at one-on-one assignments, and have to be smarter during rotations. Teams have to be smarter about who they commit to, and they pay a price for overloading and picking on one particular player.
  • Shorter shot clocks. Seriuosly, 35 seconds to run a play? The NFL has twice the players on each team and it only takes them 25.
  • No three-point shooting contests. No zone means players get guarded on the perimeter more closely. Teams don’t play four-courners and end up chucking threes all game because the defense is plugging the lane.
  • Three-pointers are actually worth three points. Instead of the traditional 20-foot 3-point line that was introducted in 1961 by the American Basketball League (ABA), the NBA now has a 22 foot perimeter. Because of the 2-foot increase, the shot is a low-enough percentage that it is used as an additional weapon, not the main focus of today’s offenses. In contrast, college games are typically decided at the 3-point line because of its relative closeness. For example, Illinois hoisted over 40 3-point attempts in the 2005 NCAA Finals.
  • Post-up moves? Hook shots? Pick and rolls? Three reasons why college basketball lacks some of the fundamentals. Zone defenses put a strangle hold on all three.
  • Better refs. They make more money, they are professionals, and they miss less calls.
  • Better coaching. Plays, defensive and offensive, that have been proven at the college level or elsewhere in the NBA to be effective. No standing around looking listless. The troops have a more capable general.

Now don’t get me wrong. A great college game is as good as a great NBA game. But what I won’t agree with is saying that _overall_ college basketball is way better than NBA. That’s bullshit. In my mind there is no comparison. March Madness, yes, I think it is awesome — but the fact remains — there is definitely a lot of shitty basketball being played every week around the country, and it’s pretty sad.

Here are some reasons why people hate the NBA:

  • Illegal defense? You don’t even understand the whole point of it. First off, illegal defense no longer exists, and hasn’t for over 4 years. The NBA board realized that the rule was hurting basketball and it was rescinded at the beginning of the ’01-’02 season. The only standing rule that regulates defenses is the defensive 3-second rule that prevents defenders from sitting in the paint for longer than 3 seconds when they are not guarding an opponent. The violation is hardly ever called.
  • Egos, which don’t really matter to me when it comes to great basketball. So the guy is a punkass? So what, sometimes a baller just schools your honor student. Get over it and tell them to practice more.
  • Over-hyped? What isn’t?
  • Other rules and regulations? You probably haven’t read the rulebook, so this probably isn’t a good point for you.

Why college games tend to piss me off:

  • It sucks having to watch inexperienced players make mistakes I wouldn’t make. Some college players are just that dumb.
  • I don’t like watching guys who made the team “just because they were tall”.
  • I hate watching a good team suffer because they have a first-time crappy coach who doesn’t know what a pick is, or doesn’t know how to run a defense that is anything but a 3-2 zone.
  • Defenses cheat. They sit back, don’t guard the three, and most of the time rely on the fact that college players can’t shoot threes very well, which leads us to…
  • Three point contests. Sooner or later a team realizes the other team is sitting back, and they give it to their best shooters and just chuck threes all game instead of trying to play basketball. Or, they lack the ability to play real basketball and are satisfied with throwing up 40 3-point attempts.
  • Flukes. In the round of 64, believe it or not, sometimes the best team doesn’t win. The NBA playoffs keep flukes from happening. There are no cinderellas, just great teams who deserve a championship.

You know, in the end, it’s about the game. I personally don’t give a shit about who likes what, and I don’t necessarily believe that the NBA is better in all aspects. I think it’s more fun to watch, and that’s my opinion. Just don’t count out the NBA when you don’t really understand what it’s about or fully recognize the difference between the two leagues.

Overall, though, give me a good ball game that is well played and I don’t care about where the line is, who is coaching, or what silly rules there are. I’m happy, because all things aside, on most nights, the best team usually does win.

Rulebooks are interesting to read. More people should try it sometime.

AMO Year-end Summary

Standard

During the Firefox Summit, there was a lot of healthy discussion regarding the immediate future of addons.mozilla.org (AMO). We came up with a solid plan and timeline for top-priority items. The general idea is:

  • Split public and admin pages into two separate appliations.
  • Re-use core libraries, store them in a separate place in CVS.
  • After the rewritten public site is re-launched in January, start development on admin CRUD pages and inremental rewrite of all developer tools.
  • Profit! (just kidding)

random picture

The topics covered in the AMO breakout session ranged from standing problems, project overview, and additional resources needed to improve progress. I think it was a valuable discussion. Mostly I was happy that people recognized the importance of AMO. I left the room with a much better feeling about the future of the project (and also the knowledge that I need to work on my public speaking skills).

That said, I’d like to talk about why AMO is actually so important, because I don’t think everyone truly understands how vital it is to Firefox and Thunderbird, and consequently the entire Mozilla Foundation and Corporation.

It comes down to feature coverage, really. Most projects can hit 70-80% of the core feature requests. Firefox or Thunderbird don’t differ from this norm — Mozilla as an organization can only get so much done until they have to make the decision on where to draw the line for the next release. At some point project managers have to say, “Ok, these features are the most important and they will be what we focus on. These other ones will be slated for the next release, or whenever we get to it.”

And it’s not something unique to Mozilla — it happens everyday in projects across the world. The key, though, is managing what happens to the other 20-30% of the features. You might want to read a Wired article passed to me by Scott Kveton called The Long Tail — it explains the concept in more detail.

Successful projects today realize the value in developing for the developer — empowering the community to improve the application on their own. And I think that so far we have hit the tip of the iceberg in terms of getting a return on the ingenuity and open-mindedness of the general community.

We are already seeing a trend in more popular projects like Flickr or Google Maps where these services kick ass and deliver some awesome features just out-of-the-box, but what makes these apps _really_ special is their APIs. It’s also what makes Firefox and Thunderbird so special.

Coming down the pipe we are starting to see uses of these APIs that are mind blowing. With Katrina we saw an interesting use of the Google Maps API to report area status updates in Louisiana. On AMO we have seen some awesome extensions that have actually been integrated into 1.5 because they were so, “Duh, we should have done that from the beginning”.

For Mozilla, AMO is the playground for the determined user to do their thing and get exactly what they want to get out of their web browser or email client. It covers the extra 20-30% and best of all it benefits the product, the community, and the world (yeah, melodramatic, I know) by improving an already sound base of features.

Over the past year I’ve developed an appreciation for the importance of AMO. I’ve learned about its challenges, all the players involved, and hopefully we’ve come up with a solid plan for 2006. I’d like to see us provide a better tool for the community to develop, submit and distrubute great ideas. With that in place, Firefox and Thunderbird will continue to have a community-centric family of extensions that sets them apart from all competitors.

Oooh. Shiny.

Web 2.0 Has its Consequences

Standard

When people want to find information, they don’t care how well it’s packaged. They care more about:

  • Is it easy to find?
  • Is it accurate?
  • Is it simple to read?

Web 2.0 is a buzzword that almost makes me want to vomit. What gets me is the complete lack of understanding and responsibility when it comes to reinventing the usability model of a web interface. By “usability” I mean “things that people expect from a web site”.

Technologies such as Flash or JavaScript can compeltely alter web site behavior through manipulation of the DOM. I typically approach these technologies as only necessary when you have extra time to create value-added user experiences. This means that if you stripped these items out, the site should still be understandable and would work for anybody using a modern browser that supported HTML standards.

Web 2.0 is completely misunderstood on two fronts:

  • It’s not just AJAX. Get over AJAX.
  • It’s more than Flock, Flickr, Gmail or Google maps.

Myth #1 is that if you plug AJAX into your site you are Web 2.0 and you will be greeted in outer space by 72 virgins, etc. Please give me a break already. Most people misuse AJAX, because they don’t take responsibility for recreating the usability model of Web 1.0 (or whatever you want to call it) and create asynchronous pages that have no context.

Case in point — say you are on your homepage and you use an AJAX operation to request data for the current page. You decide suddenly that you messed up your page and you want to go back. Well, most of the time, there is no back. Because your browser isn’t aware of the change in state.

To be fair, it could be, but most browsers aren’t. I’m not sure if they should be. The fact of the matter is that people became used to a standard for viewing web pages and that is endangered by the media buzz surrounding Web 2.0.

And shame on the media — and their followers. Again, they have blown things out of proportion and have left caution to the wind. The Web 2.0 ideology truly surrounds a user-centric approach to information sharing versus a server-centric or website-centric approach. It’s a new way of thinking that puts the user at the center of the internet universe.

This doesn’t doesn’t equate to riddling web pages with unnecessary scripting that takes advantage of The Next Best Thing just because Slashdot had some bullshit article about why it was cool.

Myth #2 is that using AJAX can easily make your site this wonderfully dynamic web application. People don’t realize that Gmail and Google maps are very complex, and they go through painstaking lengths to reinvent the common web interface using JavaScript. All of their efforts are put into preserving familiarity and client state. Normal operations and functions of a web browser are reinvented. Imagine having to reimplement:

  • A back button.
  • The address bar.
  • A forward button.
  • A refresh button.

Arguably, you may not successfully be able to reimplement all of these with today’s browsers in a “Web 2.0″ application. Still worth it? Maybe. It depends on what your users need. Oh yes — the users.

Overall, Web 2.0 is mostly about making better use of standards that do exist (which, ironically, is almost what AJAX is — although it’s not treated as such). It’s about creating sites that make sense, use less words, and utilize existing technologies to their fullest potential.

In the end, I’m not saying AJAX is bad — it has great uses. Flash and other plug-ins also have their place amont the web elite. But as far as Web 2.0 goes, the best thing you could probably do is assume responsibility for what the hell you are doing and truly consider the best experience for your users.

Oddly enough, it doesn’t always mean overcomplicating things. Most of the time it means cutting down on the fluff and just delivering the goods. If anything, it’s shortening the path between any user and what they need.

All the fancy Flash and JavaScript in the world can’t make up for shitty content.

The Value of Face-time

Standard

At some point I inevitably hit a wall and need to bounce ideas off someone. IRC and other forms of chat work great. I can ping someone and get a quick answer, or at least get a RTFM or RTFW.

blank face with a question mark

Often times, though, the quick answer or linkification doesn’t make things abundantly clear, and the solution to my problem is still rather fuzzy — and not the good fuzzy — the bad fuzzy, like hangover fuzzy.

So Google doesn’t hold the answer, or at least not in a form I can understand. The server guys who know everything have no idea wtf I’m talking about, so I’m stuck. What I need is a whiteboard, pens of different colors, and a 12-step program from someone in the project who knows what the hell is going on.

It’s a part of working with a team. You learn and build off of your teammates for certain things, and you help them grow in other areas as well. It’s complimenting strengths and weaknesses that can make the whole greater than its parts. The whiteboard discussions, and the shorter pen-and-paper talks can remove the bad fuzziness and replace it with clarity.

In addition to providing a solution, these discussions (usually, anyway) form great relationships between team members and can help open new paths of communication. They can also lead to healthy tangets and the inevitable brainstorming that follows.

In a way, all this sounds like what friends might do. Sounds great, right? Well, hold on. I have a point here somewhere…

Whiteboard or pen-and-paper discussions don’t always happen for people who work together on open source projects. They take place in cyberspace, and assume many forms, but don’t ever match up to face-time. As a result, I believe projects can really suffer without face-to-face interaction between contributors.

So we are left with technology to fill the gaps between us. The first problem with this is the waiting — five, ten minutes — maybe hours, maybe days. In the meantime our problem ferments and makes us dream code or leads us to beer as an escape (yay!). The problem isn’t solved right away, if ever, and progress hiccups.

The second problem is more about human interaction. You simply can’t build rich and complex relationships between people through IRC, newsgroups, AIM or emails. Sooner or later you have to take the extra step to meet these IRC handles, emails or nicknames and place a face on them. Why? Because great projects are fueled by great face-to-face relationships.

This brings us to what I’m doing right now. All of my current projects are done remotely in collaboration with people who are mostly in a different time zone and sometimes on a different continent. December has been an eye-opening month for me because I’ve gained an appreciation for how many people are actually out there.

Over time you start to get used to the email or IRC buzz. Names are all over the place, and sometimes you lose touch with the “who” and concentrate more on the “what” and “when”. So having the chance to visit Mountain View and meet almost everyone I’ve talked to about anything regarding Mozilla and heading over to Tucson to meet the Kuali team has meant a lot to me.

It’s more than the warm fuzzy (the good fuzzy) feeling I get from meeting everyone in person and hang out for a bit after work. The positive vibe is also reflected in terms of productivity. We get that chance to voice our concerns and know that everyone is listening. We get time to sit in front of the whiteboard and hammer things out. We take wild tangents, have great discussions, get pissed, laugh it off, come up with a plan or solution, and feel great. And oh yeah – we all get a chance to listen a lot, too. :)

My second week on the road is quickly coming to an end. When I get back home I will have driven a total of 2200 miles and flown for 600 miles. Getting to meet everyone, listen and learn from them, and work on building a plan for the future of our projects was well worth the trip.

You can’t send a human being through a wire.

Me? Happy? Yeah.

Standard

At times I am Rob Gordon, speaking into the camera at every pivotal point trying to make sense of it all. Except I guess the camera is in my head — some Freudian messed-up camera pointing at myself as I watch this idiot fumble through life’s tribulations and pitfalls. Maybe you understand what I mean, maybe not.

Either way, after the last few months, the red light is on but I have nothing to say. Instead I just sit here and smile.

Sometimes you just have to wait and see where life takes you.

Mozilla in Da House

Standard

mozilla on the billboard

At the Firefox Summit, most of us headed out for a San Jose Sharks hockey game that Thursday night. Just so happened we saw a Mozilla welcome message on the billboard. The game was against the Florida Panthers, and it must have been a sign — the Sharks won 6-2.

Big Words Don’t Belong in Tech

Standard

Some of you are pretty smart. So you understand the difference between simple and complicated, right? So why complicate things for the sake of complication?
just say no to big words

My Dad used to say that habit is a five-letter word that can dictate your life. Indeed, it does — especially in technical professions. It’s why most things are almost impossible to describe to the layman. Poor layman, nobody remembers to fill him in. Or is it a layperson? You get the point.

Imagine spending 50+ hours a week speaking in latin medical terms, Java acronyms or Linux system jargon. Now imagine turning around and telling a 5th grader what you did at work that week. Not so easy, is it?

You’re used to your dialect. It’s burned into your head. But that doesn’t mean you can’t escape it in order to reach the middle ground with people who aren’t up to their necks in the same sort of shit you always find yourself in.

Pull yourself out of the muck for a while and remember how to speak like a normal person. Leave out the big words, particularly in technical discussions that don’t have room for a thesaurus or world almanac. Use simple metaphors. Explain things using real-world examples.

People don’t need to hear your completely misplaced word-of-the-day exercises in order to understand your point. And if you can’t explain it in simple terms, then maybe you don’t understand what you’re trying to explain after all?

Eschew obfuscation, assface.

Pulling Things Together

Standard

Firefox 1.5 was released along with many changes to back-end services many people outside the developer community aren’t aware of. So instead of blogging about changes in this release I thought I’d take some time to stop and take a look at what went on with web services that support it.

Addons

Safe to say, without the great work of the Mozilla sysadmin team the release wouldn’t have gone very well. polvi and justdave worked very hard throughout the release to make sure everything stayed afloat — and I think we all owe them a debt of gratitude for their excellent work.

Seeing the overwhelming traffic to addons.mozilla.org (AMO) was pretty cool — until it started to bring down the application. :) But not to worry, Dave and Alex were able to add more LVS nodes to the mix and the site is running well at this point.

On the marketing side of things, Rebron and Beltzner managed to work out the new look for AMO. They did a great job organizing content geared towards the correct audience, and I think the new look and content really hits the spot as far as addressing our main userbase — non-technical users who want to get things done!

We did manage, however, to hit MozDev pretty hard (just overall, not just from AMO). Thanks to shaver for helping us fix the search-engine page and relieve some of the pressure on MozDev.

AUS

On the AUS side of things, Chase has continued his dominance over the impossible by pushing out the new builds using the now cumbersome Bouncer 1.0 interface (one-at-a-time — more on this later) while managing to fix AUS problems caused by the disk issue on stage in the last week of November. I think we all owe Chase a bottle of port, or maybe at least a Guinness and a pat on the back.

Bouncer

Bouncer handled things pretty well during the release. So well, in fact, that Netcraft wrote an article on its performance. I thought that was pretty cool.

That said, Bouncer still needs a lot of love. Lars and I finally hashed out some of the blockers for Bouncer 2.0 and we should be able to help Chase out by providing the upload utility for adding multiple builds via a sum file. It’ll save him a lot of time before releases.

We also plan on releasing Bouncer (finally) to the public and opening it up for improvements. A community site is also in the works, once we have time to do it (weekend project!).

One of the cooler things I saw was Lars writing a conversion script to sync up the Bouncer 2.0 dev database with the Bouncer 1.0 production database in about 20 minutes. Lars, you’re a madman.

So… anyway…

It was an eventful week. The release was a success, and I was reminded of a few things that makes it all worth it:

  • A focused community can accomplish so much in a short period of time
  • Firefox is huge
  • There are so many more opportunities to make things even better

So thanks to everyone who played a part in this release. It was once again a tremendous experience.

The whole is greater than the sum of its lesser parts.