Shiretoko: First Looks

I downloaded the first alpha of Shiretoko, or Firefox 3.1, and I’m delighted to see the text-shadow I have attached to my site name showing up in a Firefox browser.

Not just text-shadow, Mozilla has also added JavaScript query selectors to this release, which means that we can query for all elements of a given class name, such as:

var list = document.querySelectorAll(".elements");

A behavior that we also had with the older, supported, document.getElementsByClassName. However, we couldn’t do the following with getElementsByClassName:

    var first = document.querySelectorAll("div > p:first-child");   
    for (var i = 0; i < first.length; i++)   {    

This code snippet accesses the paragraphs that are directly the first child of any div element, using the CSS selector syntax, and sets the background of each returned element to red. You can see it in action with this simple example containing three div elements, each with three paragraphs, the first of which now has a red background. Well, you can see it with browsers that support querySelectorAll, which are Safari/Webkit, IE8, and now Firefox 3.1a. Opera has also committed to the support of querySelectorAll (as well as rgba, we hope).

Of course, I can do something like this with JavaScript by getting all div elements, and then all paragraphs of all div elements, and then accessing the first of the returned set, but how much simpler, and how my more robust will this process be if this type of functionality is built directly into the browser. Especially since my example is quite simple, but other queries on CSS selectors could be quite complex.

Firefox 3.1a also has support for border images, which means no more nested div elements to achieve specialized borders, which is what’s used in the design of this site. However, support for this CSS3 attribute is limited to Firefox 3.1a and Safari; until support for the option reaches three of my four target browsers, I won’t use it for my site designs.

(I felt comfortable using the text-shadow when only Opera and Safari supported the CSS attribute, because it provides such a nice effect, which degrades beautifully if the attribute isn’t supported.)

Firefox 3.1a also supports the HTML5 Canvas Text API, but I haven’t had a chance to play with the new capability, yet. I had rather hoped that the Mozilla team would add a little SMILe to the browser, but I guess it’s not to be with this browser release. Perhaps our man on the SVG street, Jeff Schiller, can update us on a SMIL timeline for the browser.

Oh, and look: anyone can try the browser and report a bug.


Last of the book and attack of the women

I put the finishing touches to the draft for my current book, and now it begins the technical review process. I don’t want to say it’s my last book, but there is no other on the horizon, as I return to the world of software development and consulting.

First, though, I need to spend time upgrading my own skills. When you write books, you have to let so many new and interesting technologies slide by because you don’t have time to stop, and play. You also end up coding in small pieces, because you’re focusing primarily on book samples, with little time for larger applications. Or that playing, I just mentioned.

I want to spend more time with Drupal, because I’ve only scratched the surface of this application. I am extremely pleased, nay tickled to see Angela Byron from Lullabot win an award for Best Contributor at OSCON for her work with Drupal—affirming that my move to this software was the best move for me. In fact, in sounds like women made significant inroads in the open source community at OSCON this year, aided, in part, I think, because of software communities, such as Drupal, which are decidedly woman friendly environments.

In particular Emma Jane Hogbin’s Form an Orderly Queue, Ladies presentation at OSCON provides details of a dastardly plot to infiltrate women into the ranks of the tech through open source. I love evil plotters, like Dr. Horrible, and evil plots, like women invading open source through innocent seeming applications like Drupal. Drupal and Dojo.



You can stuff your bug

In reply to the IEBlog web post that is asking people to apply for the right to submit a bug:

Why, on earth, when other browser developers provide open and easy to use bug systems, would Microsoft limit itself in this way?

I have a bug in Webkit, five minutes can help me determine if someone had already reported the bug; no more than another five to submit the bug, with test case.

Mozilla created software to make it easy to search on, and submit bugs. Why, I bet even you all could use it.

Opera has a handy, dandy bug form that makes bug submission a snap.

And here is the IE team “If you email us and ask us really nice we may, just may, mind you, deign to let you actually tell us about that bug, which if left in the released product will haunt us until the end of time. If you don’t ask nice, you can stuff your bug.”


The secret of HDTV

Recovered from the Wayback Machine.

Popular Mechanics has an excellent article of the dirty little secret of HDTV: that there are no true standards or specifications in place defining what exactly is “high definition TV”. Because of this, the article’s writer, Glenn Derene, writes, the quality of broadcast we get from providers, varies. Considerably.

For instance, compression techniques can differ, with fast action shows needing more updates than “talking head” shows. Compression can degrade with the faster shows, than the ones that are more “static”, and with fewer moving parts. This explains to me why the news shows are the best looking shows on my HDTV.


Liar, Liar

Scott at Lazycoder writes on his recent job interview experiences.

Certification and licensing should be about setting a base level of competency. You shouldn’t have to ask someone what the difference between a div and a span element is during a phone screen if they are a licensed web developer. You shouldn’t ask a C++ developer to find the memory leak in a given piece of code. What you really want to know are the intangibles. Are they a cowboy coder? Are they continuously trying to improve their skills or are they set in their ways? Will they speak up during a meeting if they see a bottleneck or problem coming or will they just ignore the problem? We, as a group of professionals, need to determine a structure and governing body that will allow us to not wonder if an applicant is lying on their resume, but instead focus on whether or not a person will be a good fit with the rest of the team.

Most tech interviewers haven’t a clue how to interview. Instead, they set up some code, and allow the code to do the interviewing. Worse, they set up the interview in such a way as to make themselves look good, while making the process as difficult and painful as possible for the interviewee. Rather than a co-worker, the interviewer sees the interviewee as a potential competitor, and acts accordingly.

It’s the only field I know of that uses this approach. Most other fields are populated by people who genuinely care about finding the best person for the job.