YUI3 is Sizzling Hot

Great news for YUI3: Matt Sweeney, a YUI Developer, has integrated the Sizzle JavaScript Selector Library in a branch of the YUI3 code-base on GitHub. There has been interest from the community about this integration for quite some time. I personally was hoping for Sizzle adoption into YUI3; this now appears to be the case.

Using the Selector utility in YUI2 I would find myself hitting bugs and roadblocks where my expectations weren’t matching the outcomes. I’ve felt since first using the selector engine in YUI that it didn’t compare in speed, robustness, or completeness to jQuery’s. With the Sizzle project, there’s a narrow focus and distinct vision: To make the best damn selector engine. Since a selector engine is an essential component to any modern JavaScript library, why not make one really good one for all libraries to use? That’s the route the Sizzle project has taken.

Once Sweeney’s branch is merged into the YUI3 Master Head, I’ll be doing a git pull and give it some exercise.

Using Bazaar On a Mac

Bazaar has become a tool I’m using all the time. Using Bazaar as a version control system means using a command line interface. I haven’t found a feature-rich Bazaar GUI tool like the ones that exist for Subversion. I feel alright with using a command line interface for executing commands; but it is frustrating to edit text, review diffs, and manage merges in a command line environment. It just sucks! I want something better: a work-flow that keeps me productive, and an appropriate interface for the task at hand. Specifically, I want my version control system to be integrated with my Mac and the existing tools I use; I want to be able to:

  • Manage my files and folders using Finder
  • Write commit messages, view diffs, and manager merges in TextWrangler

Continue reading ‘Using Bazaar On a Mac’

Public Bazaar VCS Repository

Bazaar is my prefered and default version control system. While searching for a replacement to Subversion it was clear that a distributed VCS was the way to go. This lead me to comparing Git, Mercurial, and Bazaar; ultimately choosing Bazaar for having a company backing it, great documentation, and easy transition from Subversion.

I tend to think that open source code I write falls into two categories: full projects, and everything else (examples, snippets, module). When the code I’m writing is turning into something I plan to release as an open source project, then I’ll release it on Google Code. For small chunks of code, especially code to supplement a post here, I’ve been releasing it to the files directory here.

Bazaar is built to work over standard protocols including HTTP; making it perfect to enhance a browsable directory on my server as a public ready-only Bazaar repository. This is precisely what I did with the /files directory; each sub-directory in /files is a bzr branch.

Feel free to bzr branch any branchs in my http://925html.com/files/ repository.

$ mkdir 925html
$ cd 925html/
$ bzr branch http://925html.com/files/branch_name

Browser Testing IE On a Mac

For the past couple of years I’ve been trying to get a reasonable setup for testing Internet Explorer on my Mac. With the recent release of IE 8 RC1, I thought it might be a good time to revisit my browser testing setup.

I use an Apple Macbook (the black one) with OS X 10.5 and 4GB of RAM as my sole machine. With my Mac I should be able create a reasonable setup to test all major web browsers. I’m less interested in testing all OS and browser combinations simply because that seems unreasonable for most projects.

Operating System and Browser Testing Combinations

The following is the list of OS and browser combinations I want to be able to test; each OS has browsers listed in the order of which I care most about supporting:

  • OS X 10.5
    • Firefox 3
    • Safari 3
  • Windows XP
    • IE 7
    • IE 8
    • Firefox 3
    • IE 6
    • Firefox 2

Developing on a Mac, I’m always running things in OS X 10.5 / Firefox 3, making the combination always supported. I will also occasionally checkout how Safari 3 is doing while developing, although it’s usually fine.

When in browser testing mode (not developing new features) I’ll run through the Windows XP / Firefox 3 and Windows XP / Firefox 2 combinations; mainly to checkout how the font-renderings are holding up in Windows.

Then comes IE testing. I start with IE 7 which I find not too difficult to get working, usually just have to fix the hasLayout issues. With IE 8 coming into the mix soon I’m going to start testing it; hoping that it will be even easier to get working than IE 7. JavaScript frameworks like YUI are pushing hard to support IE 8; which is great as the CSS support in IE 8 seems to be much better than in IE 7. Of course the hardest of all to get working, IE 6; some projects need to support it no matter what, others can just not worry about it (like my personal web page).

I feel that I’ve found a testing setup that will allow me to carry out my browser testing process much easier than I could in the past.

Continue reading ‘Browser Testing IE On a Mac’

YUI Opens Up

There’s been some changes with the Yahoo! User Interface library (YUI) project to make it more open. Contributing to YUI in the past was an odd burdenson process as the public-facing YUI project on SourceForge was essentially a proxy to an internal project at Yahoo!.

Over the past month many changes have come to the YUI project that are more than just code:

Continue reading ‘YUI Opens Up’

Amazon EC2 Web Console

This is great! What I’ve been waiting for from Amazon Web Services; Manage Amazon EC2 With New Web-Based AWS Management Console.

My initial reactions are very positive when using the AWS Management Console, the app is clean, stable, easy to use, and useful. I really disliked using the ElasticFox plugin to Firefox and held off on paying the $66 for a Jollat license while anticipating a useful take on GUI AWS management from Amazon.

The app appears to be written on a heavy usage of YUI which is great; YUI is my JavaScript library of choice. The developers of the AWS Management Console have done a great job creating an Ajax GUI that’s using the full power of the YUI library.

I’ve been following Amazon EC2 for quite some time but haven’t decided to start really working with it until, well, this week. Essentially my experience has been frustrating using ElasticFox for a day and rewarding and educational using the AWS Management Console last night.

I look forward to the S3 and SimpleDB components to the Management Console, I suspect I’ll have the same great experience with them too. :-)

Thanks Amazon and the dev team who made the Amazon EC2 Web Console!

Using Google’s Ajax APIs

To put it simply, Google’s Ajax APIs are cool and useful! I love checking out the Google Code site and seeing new APIs listed, just shows they’re really put a lot of effort into this area of their business.

Google has their different APIs categorized, one of these categories is Ajax, I wanted to write about these APIs in particular as they have real-world uses that can get off the ground quickly.

Continue reading ‘Using Google’s Ajax APIs’

Layout Flexibility – Still A Requirement?

Is having a flexible layout required anymore?

It is second nature for me to command + while testing out my XHTML and CSS to make sure the text scales nicely and the layout is flexible to wider and longer content. Firefox 3 has been my default browser since it’s been out of beta and I still increase the text-size to check if my layout is adapting correctly. Doing this in Firefox 3 has a different effect then what I am used to and I’m constantly reminded, “Oh yeah, Firefox now does that full-page-zoom thing”.

On a recent project I was working to get an Adobe Fireworks design “sliced” into XHTML and CSS; this time I remembered about the Firefox 3 full-page-zoom. Thinking about what Firefox 3 does, I also remember that IE7 does something similar but not as well as Firefox. Now launching Safari 3.1…, ready, set, command + …aww bummer, just normal text-resizing.

So which browsers are doing the full-page-zoom and which are doing just text-resizing?

Continue reading ‘Layout Flexibility – Still A Requirement?’

Don’t Sell Your Small Giant

Successful web-based small businesses that generate profits are precious. If you are one of these, stay one of these. There is no requirement that web start-ups, when successful, have to be sold to publicly-traded [large] companies. The reason your small web company is successful and profitable is you; your awesome products/services and customer support exist because of you. Losing you would be destructive to your what your company does and is known for.

Slicehost is an awesome VPS hosting company; they’re a small web business offering support which is second to none. I use Slicehost and they’re the only hosting company I would recommend (I’ve used my fair share of hosting companies over the years).

Guess what just happened; Rackspace, a publicly-traded hosting company, has acquired Slicehost. Now I’m a little worried…

Continue reading ‘Don’t Sell Your Small Giant’

Non-Blocking Google Analytics Integration

Google Analytics has become the default web-analytics provider being a powerful, free, and easy to use service offered by a well-known reputable company. Aside from being pretty great; using Google Analytics on your website/webapp still means it is third-party integration. Third-party integrations tend lack control on the side of the client or user, Google Analytics is no exception here.

I’ve developed a method of integrating Google Analytics which allows the user/client to regain control over the loading and execution while not blocking other JavaScript code on the page from executing. This method requires either YUI or jQuery to be present but can be adapted to work with other JavaScript libraries.

Continue reading ‘Non-Blocking Google Analytics Integration’