… otherwise known as,
Premature Male-Pattern Baldness
Alex Bosworth’s Weblog: Ajax and XSLT in Web Development
I especially like Google’s choice to be agnostic about namespaces, as XML namespaces make me want to tear my hair out.
I tell ya… I was this >< close to taking this piece and dissecting it into billion little “Itsy-Bitsy, Teenie-Weenie, Here’s A Phreakin’ Clue For Freebie” pieces… (and there are about 15 places that, in fact, made me want to rip out my own hair! Just not for the same reasons. [hint: XML NAMESPACES ARE MIND NUMBINGLY EASY TO UNDERSTAND!!!]
That said, here’s why I chose not to:
I’ve been running into a lot of barriers with JavaScript when it comes to speed. JavaScript is just slow, and even modern processors (or my now obsolete PowerBook) start to choke very quickly under heavy load, resulting in a poor user experience, or worse, appearing to stall the browser completely.
It’s FANTASTIC to see that folks that just so happen to share their basic genetic profile with Adam Bosworth, and as such are going to garner both attention and immediatte respect, are coming out and stating what should be PAINFULLY obvious to anyone who’s been around this industry long enough to understand that building production applications on top of ANY system that doesn’t at VERY LEAST pre-compile to byte-code with debug symbols is just a bad idea all-together… read-eval-print loop (REPL) is GREAT for development, but if we were to expect the folks using our applications to simply accept “just how wonderful a REPL-based life truly is”, Liberal Arts and Computer Science would be one-in-the-same in our modern-day curricula. {in fact, one might argue that they ARE one in the same… then again… ;)]
This might be an area that the XSLT processors in browsers can assist, as seen in Johnvey’s del.icio.us director.[2] Filtering in XSLT has the potential to sidestep a lot of the Javascript speed barriers, although unfortunately a significant minority of browsers don’t have that much support for XSLT.
Okay, I LOVE the general message here… but um… ummmm…. hmmmm…. how should I put this??? …
Hmmm… [”BREATHE M.! BREEEAAATTHEE DAMN IT!!!”]
Please hold…
[HoldMusic(”Lawrence Welk’s Greatest ‘Elevator Music From Hell’ Hits”):Start]
[DEEP BREATH] and
[RELEASE] and…
[HoldMusic(”Lawrence Welk’s Greatest ‘Elevator Music From Hell’ Hits”):Stop]
Okay, we’re back…
Firstly, how ’bout a HUGE round of applause for Lawrence Welk and ALL of…
Oh wait, I’m sorry… What I meant was,
“How ’bout a swift kick-in-the-a$$ to whomever it was that decided
– “Let’s get an orchestra to play songs that should have never made it on to vinyl in the first place, and yet because it’s our ‘users’ priviledge to be in OUR good graces in the first place, everyone should simply smile and accept the fact that its not THEIR choice, and instead OURS, what music they get the priviledge of listening to in the first place, only when WE say THEY can…
Oh, and only on the devices WE say they can listen to them on as well… YEEHA!” —
and thought “hey, that’s a great idea!”
Okay then, now where were we…
Oh yes… firstly,
“Filtering in XSLT has the potential to sidestep a lot of the Javascript speed barriers”
Sometimes its so obvious its painful, huh?
Yeah…
Alright then… next up,
“a significant minority of browsers don’t have that much support for XSLT.”
Ummm…. “a significant minority of browsers”?
“a significant minority of browsers”??
“a significant minority of browsers”???!!!
[”BREEEEEEEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATTHEE DAMN IT, BREEEEEEEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATTHEE!!!”]
[HoldMusic(”Lawrence Welk’s Greatest ‘Elevator Music From Hell’ Hits”):Start]
Ahhh, HELLL NO!!!! THATS IT…
[DEEP BREATH] and
[RELEASE] and…
[DEEP BREATH] and
[DEEP BREATH] and
[DEEP BREATH] and
[DEEP BREATH] and
[”Not so fast or your’e going to hyperventilate and pass out”] and
[DEEP BREATH] and
[RELEASE] and…
[RELEASE] and…
[HoldMusic:Error(”System can not loc;
[SYSTEM:CRASH(REASON(”There seems to be some sort of foot or somethin’ lodged in the side of me.”)] and…
[RELEASE] and…
[RELEASE] and…
[RELEASE] and…
[DEEP BREATH:SIGH(:type(”relief”))] and…
Okay then, I feel better…
Alright, with that now in the past, how about I just leave at this,
That’s like the most twisted, back-a$$wards way to promote “Google’s choice to be agnostic about namespaces” as there is nothing thats MORE wrong with Google’s AJAXSLT project than its current “agnostic” approach to XML Namespace support as part of the Javascript XPath engine portion of this project.
That said, I can understand how using the term “significant minority” can be *somewhat* justifiably used in the current snapshot of browser-based XSLT support, but before Opera’s recent “browsers-that-still-matter” resurgance they were the only browser left that didn’t provide an implementation of XSLT, and while I understand the need for and am EXTREMELY grateful that Google decided to create the AJAXSLT project, using the term “significant minority” at this stage of the game???
Well, I’ll just keep my mouth to the <Oxygen /> tank for a bit longer… how’s that for compromise ;) :D
Enjoy your Sudden [But Shouldn’t Have Been] Realization That “You Mean I Can Replace ALL Of This Javascript Code With One XSLT Instruction Element and Function and I Could Have Been Doing This In 97% of ALL Browsers In Use For The Last Four Years???!!! …. DAMN IT!!!!!!!!!!”-enhanced Day! :)
—
<xml:namespaces level-of-diffuculty=”EASY, EASY, EASY!”> : What makes them difficult is not XML Namespaces in and of themselves, its the fact that by only embracing enough of XML Namespaces to get your XML to properly transform without spending a few minutes reading a Jeni Tennison XML Namespaces tutorial forces you to learn bad “over-thinking” habits.</xml:namespaces>
[PLEASE NOTE: Please don’t post any “technically using the XML namespace is…”-type comments or I will “Technically” beat your silly little Virtual Smart A$$ ;) (smile and know that your Momma still loves you despite your “Itsy-Bitsy Teenie-Weenie ‘M. Just Kicked My A$$’, That Meanie!” whining self. :D]
—
[2] - I took the liberty to hack the link and point instead to the same project listed in the “Code of the Day” section of this blog]
—
[DISCLAIMER: Please insert whatever text you feel necessary to feel like all of this above was only meant in good fun. I promise, it was. :)]
—
[ORIGINAL POST]


Visit Surgery Big Boob Mafia