• « April 2005 | Main | June 2005 »
  • XSLT:Blog[@author = 'M. David Peterson']/Main: May 2005 Archives
              • May 31, 2005

                A little ECMA XML treat from the Mozilla bunny!

                New Extension Developer Features in Deer Park Alpha 1

                E4X

                The Mozilla JavaScript engine now supports ECMAScript for XML (E4X), a draft ECMA standard that adds native XML datatypes to the language and provides operators for common XML operations.

                Thank you Mozilla Bunny!

                Hey IE7 Bunny... You gotta' ECMA treat for us too? :D

                Posted by m.david at 08:32 AM | TrackBack

                Phalanger : PHP and the .NET Platform? At speeds 2.5x's faster than PHP : 1.7x's PHP + Zend Optimizer? Is finding out really worth a click?

                Apparently so.

                So before I stuck my squeaky clean reputation (shhh! some may not know...) on the line I decided to spend some time playing with and determining for myself that:

                a) It runs using IIS 5.1/6.0 with ASP.NET enabled (and all other scripting languages that do not directly state aspnet_isapi.dll as the executable path for their particular extension are disabled)

                b) It actually passes the "Wow! That seems pretty fast" test.

                [NOTE: In my opinion if it seems like its taking a long time, or furthermore, too much time all together, it does'nt matter what the benchmark states. Life is perceived. Perception is reality. As such, Life is reality and if benchmarks contradict life then what good are they in the first place? To some that means something profound. To others? They're wondering why they answered yes and are now looking for the exit button. Hint: Bottom right corner of the page, just to the left of the, no right of the... You know what... I know its down there somewhere... just keep looking, you'll find it.]

                c) It actually integrates with other CLI-enabled languages, such as C#

                Yes. Yes. And, [wow... thats pretty cool... huh, makes me wonder which language will be the final member of the "CIL = BILL[Me Later]" religion?] therefore, Yes..

                See for yourself...

                [Are you still looking for the exit button? I know it's down there but here, let me make it easier on ya... Click here to exit...]

                Posted by m.david at 07:50 AM | Comments (0) | TrackBack

                May 30, 2005

                Preparations for the Future - Parallel and Functional Programming Paradigms

                MIT OpenCourseWare | Electrical Engineering and Computer Science | 6.827 Multithreaded Parallelism: Languages and Compilers, Fall 2002 | Lecture Notes

                A colleague of mine recently pointed me to this MITOpenCourseware [see above link] as something worthwhile to add to my studies. This particular individual is a highly regarded scientist in his field of study, much of which is squarely focused on Functional programming.

                Enter the world of Parallel programming. We've all heard of it. Some of us may have even studied it a bit and even written a program or two utilizing the some of the patterns specific to the Parallel programming genre. This is FANTASTIC and is something that can not be underestimated for its value.

                Multicore processors are the hot new ticket in the hardware world. It is with these processors that we will be able to take full advantage of the parallel programming techniques suggested in this online-courseware from arguably (I wouldn't argue this, but some might) the most prestigous school of technology in the entire world. At the heart of this courseware is Functional programming, which in many ways can be considered synonimous with Parallel programming due to the great advantages gained by utilizing all that Functional programming brings to the table and coupling this with all that Parallel programming brings to the table.

                If your'e up for the challenge this is something I would take to serious task as a "begin to learn now so that you can be several steps ahead" when these two areas of computational study become the defacto-standards of our everyday programming environments.

                Best of luck!

                Posted by m.david at 07:33 AM | Comments (0) | TrackBack

                XMLWiki.com is now live

                As per my recent post to XML-Dev:

                As mentioned I have setup XMLWiki.com and added the first content addition, covering the MS Support forums, newsgroups, and blogs at http://www.xmlwiki.com/index.php/Support:ms-related.

                As with XSLTWiki.com this is an ad free zone. The only rules as far I am concerned are:

                - Keep things related to XML
                - If, after adding content to the wiki something ends up looking more like an advertisement than general content then replace the content with a "For more information visit ..." link.
                - If you see WikiSpam, delete it.

                With that, this is the XML communities too enjoy, so please, by all means, enjoy :)

                Posted by m.david at 12:53 AM | Comments (0) | TrackBack

                May 26, 2005

                Why didn't I just listen to Elliotte in the first place?

                Have you ever had one of those "moments" when you have literally dug so deep down into your mind to try and solve a problem that you literally have reached the point where there is simply nothing left to search through? I mean, there might be brain matter there but this stuff hasn't been so much as fired up and taken out for a Sunday stroll to the end of the driveway much less a weekday commute to work and back. If my last post seemed a little more off the wall than normal??? this would be the reason why... At least I'm assuming as I just re-read what I wrote and I have myself asking "what in the hell is that kid on?" and I know that I'm not on anything!

                Actually I think I may have been on something... and that something... I think... was that point you reach where you have simply decided that the blank screen staring back at you when it should be filled with colors, shapes, and text-a-plenty could actually be the invisible figure of your computer's gloating face taking in his/her "oh so sweet victory" as it seems that this time around he/she has actually and finally found a way to defeat you... but thats not the worst part. Oh know, it gets worse...

                How? By the fact that by the time you reach the front door with keys in hand and pints of tequila on your mind, having simply blown off the day as completely and totally useless you actually think to yourself:

                "Oh no... Oh no, No, NO! He/She's not going to beat me this time... Oh HELLLLLL NO!!!! Not this time, not now... that's it!!! This time He/She has gone too far!!!!!!!!!!!!!!"

                And you honestly and truly believe those words. Even if for only a fraction of a second, this point is proven by the fact that you have actually turned back towards the office, thrown the keys down so hard there a chance, you think to yourself, you've actually "chipped" the carpet (or possibly the cat 8|) and in a moment of close-but-not-close-enough rage of fury come after your computer thinking physical violence is the only answer.

                Maybe that Tequila's not such a good idea afterall... (although you would be properly taking a cab this time round as if not the cat then whatever it was that took off running with your keys empaled in its side is less than likely to be coming back any time soon... ;)

                You know what sucks? Well, what sucks besides:

                - the purpose behind the content of this entire post thus far...

                - and the fact that you still don't know if it was the cat or not,

                - and if it wasn't, where is the cat?

                - And if not the cat, does that mean that you're now going to have to replace your entire key rings worth of keys given the fact that anything that has just been empaled by a set of what look and feel like a set of steel spikes is less than likely to return AT ALL, much less anytime soon,

                - and if that wasn't the cat then what the hell was in the hallway when you snapped just enough to have reached within 5 feet of the box before you realized "that things plugged into 120 volts, isnt it" and wisely slowed to a stop just in time to avoid gaining any sort of real understanding into just how evil that little bastard can be if He/She wants to.

                - So what now starts to make this list a little less of a bitter pill to swallow is the fact that this time you have at least said this without actually believing He/She's alive and instead using it as a simple way to vent your frustrations.

                - Of course these frustrations seem to take on a whole new feeling of "AAAAHHHHHH!!!" when:

                [and this is where we will bring the "you know what suck's?" question back into play]

                - after two days and at least 3 moments where you were pretty sure you were going to break into tears you find out [via IEBlog, A DAY LATER!!!]:

                Netscape 8 and Internet Explorer's XML Rendering

                We’ve just confirmed an issue that has started to be reported on newsgroups and forums that after installing Netscape 8 the XML rendering capabilities of Internet Explorer no longer work. That means that if you navigate in IE to an XML file such as an RSS feed http://msdn.microsoft.com/xml/rss.xml or an XML file with an XSLT transformation applied then rather than seeing the data you are presented with a blank page.

                Could it get worse?

                You had to ask, didn't you...

                If in and of itself this post has not suggested a level of suckness greater than any other level of suckness you've heard all day thing's take on a whole new level of suckness when you realize that the post you made about Netscape a few days ago that stemmed from a post from Elliotte Rusty Harold in which he states:

                Netscape has released version 8.0.1 of its namesake web browser for Windows. This release is based on Firefox 1.0.4 instead of 1.0.3, Apparently someone at AOL finally got enough a clue pounded into their head to realize that shipping a browser with a known security hole just to meet a deadline and a code freeze wasn't so smart. Any users should upgrade, but most people should probably just use Firefox and forget about Netscape.

                was the only reason you chose to install Netscape in the first place as you were pretty sure this was the "IEFF" (IEFF??? Hmmm... could we somehow contrive deeper meaning with these letters... Hmmm... let me think about that for... you know I'm not going to even think about it that long... No! NO MORE "THINKING"!!!) release and wanted to try it out to see if actually worked to then blog "halellulia's" if it did...

                Why can't I just listen? I mean when you're talking about someone like Elliotte who's going to be right 99.100% of the time why bother with taking him to task when you know the odds your verdict is gettin' overturned anyway are, again, 99.100%?

                That Elliotte Rusty Harold I tell ya... He's a smart one now isn't he...

                Damn it!!!

                Ok, I'm happy again now... its a forced happy but at least I know I can now get some work done... work that is desperately needing completion and has suffered GREATLY because of this little "Tango w/ Timmy" (which is my computer's new name... I figured every living, breathing organism deserved to have a name, right? Why Timmy? To be honest, the state in which my mind was in when that name came into existence is not a part of my brain I plan to "visit again real soon!!" [said with the same enthusiasm and gestures made famous by Chevy Chase in the Vacation series during each visit to the family "funny farm".

                Cousin Vicki
                : I'm going steady, and I French kiss.
                Audrey Griswold: So? Everybody does that.
                Cousin Vicki: Yeah, but Daddy says I'm the best at it.

                You know what should have given this one away. Kurt and I were going to record the first blogxast last night. But in a VERY unlike Kurt manner when the time came to call him he wasn't anywhere to be found. It was early this morning that I finally did hear from him and you could tell that his day/night/day had not gone as smoothly as he had hoped... And yet I still spent time today rewriting the registry... from memory! (my memory, not Timmy's! ;) instead of making the realization that all these problems started just about the time I installed Net'Scrape (sorry, what can I say... I tried... I really did try and was even pretty stoked by the Ctrl + Shift + E capability. In fact thats the exact reason I kept at it as this XML rendering problem only showcased itself, at least in my case anyway, when relying upon a PI to instiate a transform or define which CSS file to use to style the XML with. Javascript invoked transforms seem to work just fine. Hey Emmanuil, you need to be proclaiming to the world that the recent Netscape "XML Fiasco" was chewed on through and spit on out by Sarissa as "She's been hummin' along just fine during all of this..."

                "When you've got nothing else you can count on, you can always count on Sarissa to be there for you when you need her the most." [VARIATION:3] <-- in case you saw the first two variations of this slogan and are now wondering how and when it grew --<.

                I swear, I should ditch this whole computer business and go and write cheezy one liners for commercials or something.... or... then again, hmmmm... maybe not... :D :)

                Enjoy your night :D Oh, and for those who are worried... the Cat's OK... and, in fact, what I had thought was something running out with my keys empaled to its side was the combination of keys and carpet gracefully suspended in Pixar-Perfect syncronized animation that took on a much more animal-like appearance from a left-side perspective when my mind was already in a state that's on no known map this side of Alyeska, Alaska... and I doubt they sell many maps past Alyeska so its a pretty safe assumption that "these were some unchartered and therefore un-mapped territories I was traveling in." While I definitely am one who likes to travel, I don't think I'm going to plan a return trip to this far-off-land any time soon...

                Sure was fun while it lasted though, huh???!!! :D

                Posted by m.david at 03:13 PM | Comments (0) | TrackBack

                Map:This, Map:That, My:Map, Your:Map; Everywhere I look now its Maps(Google), Maps(Yahoo!), and Maps(MSN) - Its seems we've all gone Maps:SlapHappy

                Suddenly everywhere I look I'm finding something related to maps. Simon St. Laurent just yesterday sent me these [one, two] really cool links showcasing maps of the Dryden County Precincts voting tendencies that he rendered using a combination of XSLT 1.0, Excel, Access, and MapServer; I get the impression politics is of great interest to Simon given the fact that the title/subject matter for his personal blog is:

                Living in Dryden


                One Democrat's perspective on life in the Town of Dryden, New York

                That reminds me: Simon, if you read this remind me to tell you about whatever the subject of the reminder to tell you to ask me about during our next conversation... hows that for using the common English language for a near BlowFish Level encryption algorithm... Ok, MD5? MDP? (hah! Oh how clever am I? Damn, you don't have to be rude about it... I got very sensitive feelers you know...

                ...[at least thats what my ex-Girlfriend from a few years back used to tell me... [expletitive deleted out of simple fear... thats it, simple fear].... ooohhh... ummm, maybe I better stop right there before I say something I end up regretting [although I think I may already have... DAMN!] How bout' [spoken in scripted, slow-motion, monotone voice]"Boy do I miss her. She was GREAT. What a mistake I made in letting THAT one go. phew, she was something else." [think that might'uv saved me from having an alert sent out on the "Super-Secret-'He Said What???!!!'" Network that I promise you really does exist? Hmmm... probably not, huh???

                You know, you'd think I'd learn... I've watched it my entire life. With five sisters how could you not know that there was at least SOMETHING going on that could better explain how on earth they could possibly find out all the dirt about ANY GUY, living ANY WHERE, on ANY PLANET, and all within seconds of it happening... it AMAZES me!!! And this after 33 years of watching this Quartz-precision network of "NO WAY!!! He Said What??? Oooohhhhh, I'm going to make him wish he was never born when I get through with him..."; and They would; and He did... Poor bastard... I wish there was something I could have done to help but that network is impossible to beat... even with a fifteen-minute headstart they still somehow would have arrived, inflicted-the-damage, and were NO-WHERE to be found by the time I even had my shoes on and was out the door. You do the math... I'm telling ya, its an unbeatable system so, guys, seriously... don't even try. You won't win. It's a simple fact. I promise you will never, ever, win.

                Ok, now that I have done my duty of warning you I won't feel responsible when I get that email from you stating "M... you were right... How in the hell do they do it???!!!" Just so you know ahead of time what my response will be...

                "\[8|]/"

                Which is a text-stick-figure representation of me doing the "I have no idea, my friend. No idea what-so-ever..." expression with my hands flat across the palm, angled at 45 degrees, and a curl of the upper lip a bit as I add a bit of a shoulder shrug that also sort of raises my eyebrows a bit...

                no-words, just "\[8|]/" which, when properly translated [without the previous cleansing] states: "Dude, I have no fucking clue... They're damn aliens or somethin' (oh crap! I've done it again... I didn't really mean aliens like from outer space, I meant A.L.I.E.N.S. like:

                All
                Lovely
                Inspirational
                Energizing
                No-nonsense
                Sisters
                (if not obvious I've had to talk my way out of this one more than several times before now ;)

                ["Oh, and I did I mention how much I love you?]["Owww!! Damn You!"]
                "Mom, Mark swore!"
                "MARK!!!! Get in here, now!"
                ["Shit. Why does this always happen?"]

                [My life was all about the trauma]
                (BTW... for the correct dramatic touch you have to say Mark like "Mock". English accents seems to lose the "r" sound for some reason or another. At least both my parents English accents seem to.)

                Anyway, back to Simon: :D

                As he mentions there are two new titles from O'Reilly coming out next month related to mapping: Mapping Hacks and Web Mapping Illustrated. Cool! I definitely plan to add both of these to my collection as soon as they become available.

                Of course Google, Yahoo!, etc... etc... etc... have been releasing mapping related products by the fistful. It seems obvious to me that there is a calculated assumption that this particular market is HUGE and worth every penny poured into the development of the various projects. But something tells me we're about to see Yet Another "Yeah, Thats Cool, But Not As Cool As You Might Think" from the latest entry into the world of mapping technologies and related services. Its a lengthy download but if you've got a decent connection the streaming will start within a few seconds and will be done downloading long before you get through all 30+ CAPTIVATING minutes of Robert Scoble and his trusty camera man (or is he the camera man AND the interviewer? I never can tell for sure...)

                Of particular interest pay close attention to the 10 minute marker and the next few minutes after that. I won't spoil the surprise for you but rest assured Google, Yahoo, and the rest of the mapping world are about to be heading back to the labs to try and mimic even a portion of whats about to rock the online world of mapping technolgies and services... Fortunately Google seems to be attracting A LOT of talent as of late and even if they hadn't with Adam Bosworth you kind'a have to wonder if you really need anybody else...

                Yeah, you do... but you have to admit that to have Adam Bosworth on your side you have to feel pretty good about your chances to compete with ANYBODY on ANY PRODUCT, PERIOD. I wonder if Google would let me borrow Adam for say, 90 days or so to help me finish up some of my current workload??? Hey, the worst they can do is say no; well, I guess if REALLY pushed, and pushed, and pushed some more they could get a restraining order but I ain't no damn groupie... Although I will admit that if I was between Tim Bray, Tim Berners-Lee, and Adam Bosworth you might find me screaming like a little girl at a New Kids on the Block, err, Backstreet Boys or whatever other Phreak-Of-A-Bad-Experiment-In-Genetic-Engineering-Gone-
                Worse-Than-Was-Ever-Expected-Or-Even-Considered-Possible Boys Band that happens to be the BigThing at the present time...

                Ummmm... maybe I wouldn't scream like a little girl... Can we just forget that whole last sentence, or just pretend it never happened? Please? Ok, how much? [Every damn dime I make I swear goes to paying off Yet Another Witness Of Something Stupid I Did or Said... I would say live and learn but there are very precious few extra moments in my life so I have to cut it down to one or the other... Obviously I can't learn all that much if I were dead so I choose to live instead... Kind of sad, huh?! Anyway, com'on. How much we talkin'? ;)

                I swear I'm not crazy.... I just like to laugh. And write code. Sometimes the order is reversed but its usually one or the other. :)

                Posted by m.david at 03:34 AM | Comments (0) | TrackBack

                May 25, 2005

                A Bit of Irony | Further reason why I doubt I will ever succumb to Google's AdSense program

                This isn’t meant to suggest that I think others are wrong for participating in the mentioned program… but after reading a recent Tim Bray post in which I completely agreed with his point to then turn and notice some interesting ads that Google decided to serve-up:

                ABitOfIrony.jpg

                [ITEM 2]

                But a few paragraphs in, the science-for-sale dimension starts screaming out from between the lines. It turns out that the research from the some of the people talking up the benefits of moderate sunshine is funded by the Indoor Tanning Association, while on the other side the Sun Safety Alliance (funded in part by Coppertone) is backing the research of the all-sun-is-bad party. Is there anything left that’s not for sale?

                Reading this and then seeing the ads served up simply caused me to wonder even more as to whether or not I could ever participate in this program at any level.

                Again, please don’t assume that I am condemning the use of AdSense… I’m not… I just found this to be both funny and ironic considering the post questioned whether everything in this world was for sale…

                [NOTE: I have a HUGE amount of respect for Tim; without a doubt one of my more favorite people on this planet, and for VERY GOOD reason! As such I really hope I haven’t given the impression that I think this is something bad on his part. I don’t at all. I just found it to be more the reason why I need to consider the fact that as far as I know, I have no control over what Google might place as ad’s other than having a general idea that they will be related to keywords that have the highest keyword-match-to-$value rating such that Google (and subsequently myself as I am assuming that a percentage is paid out as opposed to a flat fee for each click? I really don’t know for sure as I haven’t looked far enough into it) will have the greatest chance of profitability by posting one particular keyword-based ad over another. The problem I have with this is what happens when, like this above graphic represents, the ads that are chosen to be placed against my entry happen to advertise the very product or company that I just took the time to suggest not-such-great-things about? The fact that, for the most part you can bid your way to the top, or at very least the top 4 spots means that after seeing a post I write anybody could then go and bid themselves into the keyword set that Google labeled for this post (just looking at the ads that are currently served should be enough to know where to start bidding.) So what then when someone who deserves to be slammed creates an ad that links to a bunch of lies as a way of trying to defend there position and bids it to the top of the keyword list. Has the post then lots all or even just some of its potential punch?

                Is this a conflict of interest in anybody else’s viewpoint or am I just being over-paranoid about this subject and simply need to not let things like this bother me? My current belief is that I’m not being over-paranoid but I am leaving plenty of room open for the possibility that I might. I guess I could just never post any derogatory remarks…

                Um, can I just say: HELL NO!!!

                That would be like cutting off my right arm and left leg or telling me not to breath… Venting can be a very effective way to get things out of your mind and as such out of the way of keeping you from moving on with your day… And further more this would MOST DEFINITELY give reason for the sell-out attribute to be added to my blog class:

                    [SellOut]
                    public class BlogEntry XSLTBlog : ICorporateSellOut {
                
                        private string entryContent;
                
                        public XSLTBlog() { }
                
                        public AddEntry(string content){
                
                        String[] mostProfitableKeywords = Google.get_MostProfitableKeywords("foo", "bar", true);
                        int i;
                        string keywordIteration = "keywords";
                        for (i = 0; i < mostProfitableKeywords.Length; i++){
                        keywordIteration = keywordIteration + ", " +  mostProfitableKeywords[i];
                        }
                
                        if (HasValue(content) this.entryContent = content;
                        else this.entryContent = 
                                "A bunch of worthless crap," +
                                " don't even bother reading it... instead please" +
                                " select from one of the ads related to the following" +
                                " keywords" + keywordIteration;
                                }
                
                        private bool HasValue(string content){
                            return ValidateValue(content);
                        }
                
                        private bool ValidateValue(string content){
                            Foo fooBar = new Foo();
                            fooBar.Parse(content);
                            return fooBar.DoesThisHaveValue;
                            //I think I'll stop here and I think you probably get the point :)
                        }
                
                    }
                

                BTW…. no I didn’t compile this to ensure it was valid as I know for a fact its not given I would have had to write at very least a stub Google class… Please just accept the fact that its possible the above has some blatantly obvious errors… To be honest I don’t know if it does as I havent even re-read it nor do I care if it does as its not really sample code… If you find an error and this bothers you to the point that you just can’t stand it… by all means, fix it and send it back my way… Otherwise, I’m not changing a damn thing ;) [UPDATE: It wasn’t that difficult in quickly passing over this post again that I did leave out the “class” keyword… This, of course caused me to notice “validateValue” instead of “ValidateValue” and the fact that the string the climaxed the point of writing this foo code in the first place extended past the viewable area, and etc… See this is why I can’t let myself look at it again as then my own tendencies to be bothered by sloppy code set-in and I have to fix it immediatelly or it’ll drive me nutts until I do… I think its a common trait amongst hackers as it seems we all tend to be a little nit picky when it comes to things of this nature…]

                Ok, moving on…

                The one thing I really do need to verify is whether or not you are able to use standard “-keyword(s)” to exclude ads that are of a particular keyword(s). If that were the case then this might be worth reconsideration. Lately I have been putting some serious thought into several possible career morph’s, moving away, a bit at a time, from consulting and contracting and more towards content development (online and offline) as well as producing several daily blogxast’s [Tonight Kurt and I are recording the first installment in the “Life from a different perspective” series I announced a few weeks ago as after a very successful dry run for about an hour and half a few days ago I feel very good about moving things forward. More on this soon….] and apparently my “extra $20 dollars a month” guesstimate from a few weeks back was potentially off by $500 to $3k, depending on whether or not you believe what others have claimed based on total page hits. $20 doesn’t “Woo” me… 3G’s buys a lot of books… And I like books :D As such, 3G’s “Woo“‘s me quite a bit :D

                The other option that I am putting more weight on (but would require more effort… possibly) is simply recommending books and items of interest from Amazon. In fact I created an account and tried out my first link using this account just the other day… This is something I could see as having a lot more legitimate reason for being a part of this blog and as such you will probably slowly begin to see integration of my AmazonID tag into books and products links that I recommend because I have read it and love it or used it and loved it, etc… At least this way I could have somewhat of a non-guilty conscience, right? Again, maybe I’m just over-paranoid about the Google Ads thing. If I do decide to implement them I plan to do integrate them in a nice and clean format that doesnt take over anything in regards to focus such that you are not bombarded with stuff that gets in the way of why you stopped by in the first place… content. :)

                I doubt I will say much more on the matter. If you see Google Ads you will know why and if you don’t I will let you draw your own conclusions…

                Cheers :)

                Posted by m.david at 07:51 PM | Comments (0) | TrackBack

                May 23, 2005

                Keep 'em coming DataDirect...

                While I won't promise I will post every little piece you send out to the world for consumption I can suggest that if this is how you plan to promote XQuery and your support for XQuery via tools and processors you may just find yourself a friend again in XSLTBlog...

                For anybody who plans to promote their software technolgies via a newsletter or online e'zine let this example act as a VERY GOOD implementation of how to promote your product the correct way without have to explain yourself or lose face in the community becuase of what seems to be shady business practice.

                Keep 'em coming DD!

                Dear Stylus Studio Friend,

                XQuery! So familiar, yet so coy! While we wait for the formal W3C XQuery
                Recommendation, developers like you keep banging down our door for new
                XQuery tools and components. And so we're especially excited to dedicate
                this special edition of the 'Scoop to announcing DataDirect XQuery (DDXQ)!
                With DDXQ, you can execute XQuery directly against any relational database
                including Oracle, Microsoft SQL Server, and IBM DB2 - and process the
                results from within your Java applications! And the icing on the cake? You
                can build these applications with Stylus Studio today! (Yes, today!) Read
                on and learn more about how you can put XQuery to work accessing relational
                data. And watch your inbox for next month's regularly scheduled edition of
                the Scoop.

                Sincerely,

                Ivan Pedruzzi, Senior Product Architect and the Stylus Studio Team!

                The Stylus Scoop, May 2005

                Table of Contents:

                1) Simplify Relational-XML Data Integration with XQuery
                2) XQJ: The XQuery API for Java
                3) XQuery 101: Everything you ever needed to know about XQuery.
                4) Why I XQuery: How developers are using XQuery in Healthcare.
                5) True Stylus Studio Stories: Why I switched to Stylus Studio


                1) Simplify Relational-XML Data Integration with XQuery

                XQuery is more than just a neat way to query XML - now you can use it to
                query relational databases, join XML and relational data, and simplify XML-
                Relational data integration. A beta release of DataDirect XQuery (DDXQ), a
                Java XQuery component that implements both XQuery and the XQuery API for
                Java (XQJ), is now available for free download. That's right: XQuery has
                arrived on the Java platform! Register and learn more about the DDXQ beta
                program today at: http://www.datadirect.com/products/xquery/xquerybetahome/

                Here are some questions we anticipate you might have about DDXQ (in a word,
                though: yes, it really is all that). If you have one we don't answer, visit
                http://www.datadirect.com/products/xquery/xquery_faq/ for the full DDXQ
                Monty.

                Q: What relational databases can I invoke my XQueries against using
                DataDirect XQuery?
                A: Using DataDirect XQuery, you can execute XQuery expressions against
                Oracle 9i (R1 and R2) and 10g, Microsoft SQL Server 2000, and IBM DB2
                Universal Database (UDB) 8.1 on Windows NT/2000/2003/XP, UNIX, and Linux
                (with more databases coming soon). You can use DDXQ to query XML, too,
                including XML files located on file systems accessed using "http:", "ftp:",
                and "file:" URI schemes, and XML contained in a Java application, such as
                DOM or SAX.

                Q: Why would I use XQuery to query relational data?
                A: So you can get all the benefits of using XML (standards-based
                interoperability and transformability, for starters) and still benefit from
                the high performance that relational databases have to offer. Unless you
                are looking forward to migrating volumes of relational data to XML, that
                is.

                Q: What types of applications use XML and relational data?
                A: Many middleware applications -- complex report generation, Web services
                applications, Web publishing, and others -- need to process relational data
                and XML. These applications, common to enterprises large and small, can all
                be simplified using XQuery. For example, XQuery can be used to access the
                content of messages or to construct new messages to be passed to a Web
                service. In addition, you often need data to process Web Services results.
                XQuery can process SOAP messages and create the XML needed for result
                messages. These are just a few examples of where XQuery can simplify XML
                and relational data integration.

                Q: Where can I learn more about these new XQuery technologies?
                A: Get started on the path to solving the relational-XML integration puzzle
                using the DataDirect XQuery! Register for the beta today at:
                http://www.datadirect.com/products/xquery/xquerybetahome/


                2) XQJ: The XQuery API for Java

                Think of XQJ as the JDBC for XQuery - it provides a standards-based
                interface for accessing databases or XML repositories using XQuery. XQJ
                lets you write portable XQuery data access code using far fewer lines of
                code, and it is the best solution for Java XML-relational data integration.
                In a nutshell, the XQuery API for Java (XQJ) enables a Java application to
                submit XQuery statements to a data source and programmatically iterate
                through the results.

                A new tutorial (and XQJ example) demonstrates how to use XQJ to invoke an
                XQuery expression and how to obtain results from within a Java application.
                It shows how XQJ can be used to perform joins between XML and relational
                sources, query DOM trees, issue prepared XQueries (similar to JDBC's
                prepared statements), and more. The example includes complete, working XQJ
                programs with source code and explanations. This material is available in
                HTML and in a printable PDF format. Check it out at:
                http://www.datadirect.com/developer/xquery/topics/xqj_tutorial/


                3) XQuery 101: Everything you ever needed to know about XQuery

                We're pleased to be able to provide you with an XQuery tutorial that
                includes a technical introduction to XQuery. And this is no puffy marketing
                piece (like the one you're knee-deep in now!) - this tutorial was written
                by Mr. Jonathan Robie, one of the designers of XQuery, and the Program
                Manager for DataDirect XQuery. The tutorial covers advanced XQuery topics
                like the XQuery Data Model, literals, locating and finding nodes, built-in
                and user-defined functions, XQuery types, and more. It's everything you
                ever needed to know about XQuery (but were afraid to ask). The XQuery
                tutorial is also available free, in either HTML or a printable PDF format.
                XQuery has arrived on the Java platform! Isn't it time you learned XQuery?
                Visit us here, and let the learning begin:
                http://www.datadirect.com/developer/xquery/xquery_tutorial/


                4) Why I XQuery: How one developer is using XQuery in healthcare

                Bing Wu is a Lead Software Engineer working in the healthcare sector. In
                this role, Bing is responsible for developing server-side Java Web service
                applications. You can read about how Bing uses XQuery to simplify his work
                here: http://www.stylusstudio.com/xquery/cust_healthcare.html

                (If you'd like to showcase your own XQuery application in The Stylus Scoop,
                drop us a line at stylusstudio@stylusstudio.com.)

                5) True Stylus Studio Stories: Why I switched to Stylus Studio

                Here's what Dr. Michael Kay, editor of the XSLT specification, founder of
                Saxonica, and a world-leading XML guru with just way too many
                qualifications to list in this newsletter, recently said on XML-DEV, a
                popular forum for XML developers: "I find that the easiest way to do ad-hoc
                validation (i.e., not integrated into an application) is to use a tool such
                as Stylus Studio. One of the nice things is that Stylus allows you to
                validate using a range of different processors - if your document is
                invalid, it can be helpful to get the error messages from more than one
                processor. By contrast, XML Spy uses its own schema processor, which is not
                always 100% conformant with the spec." Read the entire thread here:
                http://lists.xml.org/archives/xml-dev/200505/msg00257.html


                Want to learn more about why people are switching to Stylus Studio? Visit
                http://www.stylusstudio.com/switch/! Or take a moment to write and tell us
                why you chose Stylus Studio -- or anything else that's on your mind --
                we'll respond! Drop us a line at stylusstudio@stylusstudio.com

                Posted by m.david at 06:56 PM | Comments (0) | TrackBack

                May 22, 2005

                Someone please tell me what 'Tab Browsing in Internet Explorer' actually means before I spend yet another wasted hour trying to find the answer that doesn't seem to exist... ANYWHERE!

                [UPDATE: Apparently there's and MSN Toolbar team blog (hmm, who knew..) and in this blog there is definitely clarification as to what the advertised Tab browsing feature is all about... Yep, its actually the tab browsing made famous by Firefox so I guess I have to renegotiate my stance to instead state:

                Please don't "announce" a product [UPDATE: oops, this should read "product feature"] as part of a public advertisement until it actually is one. Thanks :D]


                [Original Post]
                Except on this ad on the MSN home page:

                tabbrowsing.JPG

                You may need to click the image to see things more clearly. And if you do you should quite clearly see:

                Tab browsing in Internet Explorer

                as one of the key features. Now I realize that Microsoft has a patent on "Tab browsing" that has nothing to do with UI tabs and everything to do with jumping from one link to the next in document order using the tab and shift + tab to cycle forward or backward through the document's anchor tags. But IE has had that since... 4.0? 5.0? I'm left to guessing but I'm almost positive this feature was available in the same browser that, when installed, placed that *WAY AHEAD OF ITS TIME* channel bar on our desktops that we all thought was cool... for about an hour... at which point we spent another hour trying to figure out how to get it off our desktop.

                Of course in the '96/'97 time frame (IE 4.0 era) we were still getting used to the idea of "Going to a website" and I think it was simply too much overload for us to think of the web "coming to us" via "Push" mechanisms which is how the Channel Definition Format served up via the Channel Bar on the Windows 95 desktop, Handheld PC's (the original WinCE device), Palm-sized PC's (the renamed PalmPC which was how MS and Palm Computing solved what would have been a nasty court battle... this same general form factor then became the Pocket PC which... wait, why am I telling you all this... oh, Channel Bar!) was being marketed. Anybody remember Pointcast? Same idea, without the XML... and A LOT MORE ANNOYING! Of course in the mean time Dave Winer was busy trying to figure this whole medium out which a few years later he did and this is why I am now writing this post... well, this is why I created a blog which, in essence, is the medium but not necessarily the reason for this post. Thats probably enough analyzing for one day, isn't it... anyway :D

                Its funny to me how something so simple as a paradigm shift and terminology usage can be the decisive factor as to whether or not a technology becomes adopted (apparently I simply have to keep analyzing this damn thing to death. Sorry.) If the developers of the Channel Definition Format had stepped backed just a few more feet maybe they would have realized what eventually required the genius of Dave Winer to finally realize (or maybe I should say vocalize?) that it wasn't the technology that was flawed but the way the technology was being "pushed" onto the consumer instead of letting the consumer pull only the pieces that she or he had interest in. Using the "paper delivery" concept as justification disregarded the fact that once the paper boy/girl has delivered the paper its then up to you to pick it up and choose which parts seem interesting enough to read. Back in the day I guess they figured that after they deliver the paper to your doorstep the paper boy/girl would also be required to wait for you to wake up (and ring a bell or something just as annoying if you didn't come and get the paper when they wanted you to) and, while sitting on your lap, turns the pages for you, tells you what you are going to read, and then rings that damn bell again if you lost even the slightest of focus... Come to think of it I'm surprised Pointcast lasted as long as it did.

                And this has what to do with Tab browsing?

                I have no idea... While adding even more text to the "how'd we get here in the first place" heap is something you can never say "ENOUGH! We get it... please stop telling us yet again how we got to where we are... we know... can we please move on"... Um, actually, no you can say that exact statement and be spot on so I will take it upon myself to end this nonsense right now.

                Going back to my plea for help... Can someone please shed some light onto what Tab browsing means in regards to the new MSN Search Toolbar for Internet Explorer? If that's just a "clever" MS marketers attempt to use an 8 year old technologies connection to what most people think about when they hear "Tab browsing" then can I suggest one thing? You're not clever. You're stupid. Furthermore you should be fired for coming up with something so rediculous.

                Then again maybe there is Tab browsing as part of the new Toolbar and I simply am incapable of figuring out how to either turn it on or at very least find ANY other reference to it within the documentation, MSN.com, Microsoft.com, or any other generally related sites. Was this something that was going to be a surprise and then got pulled at the last second but someone forgot to tell the marketing department? If yes, I take back what I said about you being fired. If not, I stand rightly firm and inline with my statement. In fact you should not only be fired but your card key should be turned off before Monday morning even rolls around, your office packed up, and the boxes left just outside the double glass doors of whatever building you used to be in with a "BIG PHAT SIGN" on them that reads:

                "TO WHOMEVER THIS STUFF BELONGS TO... GO AWAY! AND TAKE THIS SHIT WITH YOU IN CASE WHATEVER YOU HAVE IS COMMUNICABLE VIA SOME SORT OF SOMETHING OR OTHER THAT'S RATTLING AROUND INSIDE... BLAAAHHHHH!!!"

                Enjoy your Sunday :D

                Posted by m.david at 08:25 AM | Comments (0) | TrackBack

                So much for the 'Spirit of Open Source'

                Netscape patches 1-day-old browser | CNET News.com

                "If security is important to you, this demonstration should show that browsers that are redistributions of the official Mozilla releases are never going to give you security updates as quickly as Mozilla will itself for its supported products," Goodger wrote."

                Take that same statement, replace browser and Mozilla with CLR and Microsoft/.NET and you've got yourself a statement that every single naysayer and disbeliever of the standardized intentions of MS is salivating for some MS Exec to state so they can pounce on them and say "SEE!!!! I told you they're the Evil Empire!!!"

                [NOTE: The following is the same quote from above with a few words changed here and there to make a point... THIS IS NOT A REAL MS QUOTE]

                "If security is important to you, this demonstration should show that CLR implementations that are re-creations of the official Microsoft .NET releases are never going to give you security updates as quickly as Microsoft will itself for its supported products," some targeted MS Exec wrote."

                Careful Mozilla... you're starting to sound a little proprietary-esque, a little annoyed, and a lot like what you claim as a reason and need to develop the open source Mozilla and now Firefox browsers in the first place.

                I'm not taking you to task, I'm simply suggesting that if your intentions are what you say -- and I don't doubt they are... sounds more to me like you're probably just a bit annoyed by people taking your stuff and calling it their own... understandable, for sure. -- then you simply need to be a little more careful in how you state things. As one who has found (more times than I care to admit) his own words taken to mean something that was never intended I can assure you people will most certainly (and in most cases innocently) take your words and turn them into something quite different if you give them the opportunity to do so... ESPECIALLY when your in the "BigManOnCampus spotlight" like you are now.

                For a well seasoned reporter, PR exec, and/or Spin-Master all that is needed is a few well placed ellipsis teamed with an unfortunate sequence of letters and words that when taken out of context turn you from Angel to Demon in a matter of milliseconds... it sucks to be in that position, I realize. But its where you are so, for what its worth, there you have it. You've done such a fantastic job of creating the worlds best web browser (IE does have you beat as an application development and web-based application hosting environment but your'e catching up and they have the entire Win32 API and .NET platform to work with, something you chose specifically not to target, and for good, sound, security-based reasons so don't read too much into this statement...) and as such it would really suck to see you all demonized in any way, shape or form... and I promise you their are 100's and maybe even 1000's who are watching and waiting on every word you speak to find that golden sound byte that wins them a promotion and you a special spot on the list of celebrity inpatients at Betty Ford. After all you've done you don't deserve that type of treatment (the "slammed in the headlines" treatment as opposed to the Betty Ford variety... lets hope you don't end up needing that! Avoiding sound bytes like the above will certainly lean well into your favor in this regard.)

                Keep up the *GREAT* work!

                Posted by m.david at 01:25 AM | Comments (0) | TrackBack

                May 21, 2005

                via Elliotte Rusty Harold | Um, I think you missed a spot...

                Cafe con Leche XML News and Resources

                Netscape has released version 8.0.1 of its namesake web browser for Windows. This release is based on Firefox 1.0.4 instead of 1.0.3, Apparently someone at AOL finally got enough a clue pounded into their head to realize that shipping a browser with a known security hole just to meet a deadline and a code freeze wasn't so smart. Any users should upgrade, but most people should probably just use Firefox and forget about Netscape.

                Hmmmm.... I'm guessing that maybe Elliotte chose to stick with his Firefox 1.0.4 install and as such missed this little dialog during the setup process:

                NetscapeMeetsIE.GIF

                In case the text is inelligible let me put this into plain text:

                For trusted sites, the Netscape Browser sometimes switches to the Internet Explorer rendering engine to ensure maximum functionality for that site. You can disable this behavior by checking the box below and the browser will always use only the Firefox rendering engine.

                So what you're saying is I now can view content in the same tabbed-based user-interface I've come to love in Firefox and yet when a site has been designed for IE or implements ActiveX Controls that I can't use in Firefox I can just switch to IE inside of the same UI???

                NSandIERenderEngineSwitch.JPG

                [NOTE: Mark my words... Shift + Ctrl + E is the "three finger salute" of the next generation. Oooooh! Thats just BEAUTIFUL!!! :D (you'll see what I mean when you install it... oh so long overdue... THANKYOU NETSCAPE, Mercurial, and Kurt(actually, I don't even know what part Kurt played with this release as he is brand spanking new to this fantastic specimen of a ThinkTank/DevShop filled with more talent (from what I understand) than Yankee Stadium has seen throughout its entire history... if you can compare hackers to baseball players that is) and I have no doubt he knows the right people to give the praise and thanks too... I'd hang out over at his blog as no doubt he will have things to say about this in the not too distant future)]


                Apparently thats exactly what they're saying. Sorry, but this is much more significant than "Any users should upgrade, but most people should probably just use Firefox and forget about Netscape."

                This is something *EXTREMELY* significant and my hat goes off to my good friend Kurt Cagle and his new company Mercurial for putting together something that at *VERY LEAST* deserves a "tool for every webdev's toolbox" recommendation. But this is much more than that as this brings a level of integration to the web browsing world that is flat out astounding when you consider just how much content has been developed for IE that can not be rendered in Firefox and yet how reliant many of us have become on Firefox for a good majority of our web-browsing. I'm sorry, but this deserves a hell of a lot more recognition than "forget about Netscape."! In fact I would go as far as stating the exact opposite with "Welcome back Netscape! Browser war? What browser war? Oh, yeah, that... you'd be surprised what an ink pen and a talented team of lawyers can accomplish when everyones looking the other direction..."

                "Make Netscape, Not War!"? No, definitely not... But "Download Netscape, What War?" might work... Either way, it seems the web is still a frontier with many, Many, MANY uncharted miles of wide open spaces still left to explore... now navigable and explorable via a handy two browser convenience pack.

                Ohhhhh.... theres the sticking point...

                System Requirements

                Operating Systems Windows XP, Windows 2000, Windows 98 SE, ME

                Guess thats probably why the install never occured (I'm assuming that Elliotte is probably either a Mac or Linux guy?) Ok, nevermind... I can see now why this little tidbit was probably missed or skipped over as it doesn't do a whole lot of good for someone who can't install it to spend time learning about all its features...

                But for those like myself who spend their time 50/50 between Linux and Windows or for the remaining 85% of the world who believes that Linux is for Hackers (and consider "Hacker" and "Criminal" as one in the same), Mac for those who believe that upgrading a computer involves clearing the spot where the "old" Mac was and unpacking the box with its replacement model (which is 1/3 the size, weight, and opacity of its predecessor) and Windows to be useful because they know how to use it and thats all that matters... This is something pretty significant.

                Welcome back Netscape! Let's see what happens next...

                Posted by m.david at 07:49 AM | TrackBack

                If any of you doubt the power of the Common Language Infrastructure (CLI) maybe these screencasts might help

                IKVM.NET Weblog - Cross Language Debugging in MonoDevelop

                To ensure I don't get in the way of who posted what first I will simply let Jeroen's post do the "chain of command" talking:

                Lluis Sánchez posted some cool screencasts that demo cross language debugging in MonoDevelop [via Miguel de Icaza].

                Wow and Wow!

                A couple weeks ago I speculated...

                ...that by years end we would see a beta of a Microsoft built Java 1.4/5/6 -> CIL (Common Intermediate Language - > Buy < this book if you don't own it already) compiler. Recent events would lend well to the idea that this may not be that far from reality. But with each release of Jeroen's IKVM.NET project I become more and more convinced that such an effort, while fantastic if it does happen, may not be all that big of a deal if it doesn't. What makes this statement all the more compelling and believable is the announcement of the Harmony project (for those who slept the last two weeks away, Harmony is a J2SE project announced recently by the Apache foundation) and the fact that Jeroen is a part of the core set of developers who have volunteered their services if this project comes into existence. After many inquiries, including one from myself, Jeroen made a May 9th post to help bring a better understanding to what this project is all about and, what seemed to have been "the question of the hour", was this a "start from scratch" project or would there be an effort to merge with the Gnu Classpath project... the latter is the case but I would definitely follow that link to gain more insite. As to why put the effort into a J2SE project when your core interests exist within the .NET framework? I'll leave that for Jeroen to answer himself but it would seem to me that a complete open source J2SE 5 implementation would mean a complete J2SE-based byte-code to CIL conversion via IKVM.NET. Seems as compelling a reason as any tp put forth the effort but please don't mistake my speculation for fact as I am most definitely speculating.

                When you look at the list of .NET-enabled languages and realize just how much more the ECMA-standardized CLI brings to the open standards development world it really makes you wonder why people walk away with the sense that Microsoft is the bad-guy. I don't want to bad mouth Java or Sun because I believe that (especially in a 1.4+ J2SE world) Java is a really powerful language that has been developed by an amazing group of software engineeers. But one-size doesn't fit all, especially when you bring programming paradigms into the picture (e.g. Functional language development, Object-Oriented development, Component-Oriented development, Aspect-Oriented development, etc...) and when you have designed a system in which all of these paradigms and associated languages have the ability run using a Common Language Runtime(CLR) and as such interact with any other language this runtime supports, calling upon its objects, routines, functions, methods, etc.. I simply can't imagine a more perfect programming paradigm and as such, platform in which to build the future of software applications upon.

                Now if the CLI was not standardized and projects such as Mono, dotGnu (Portable.NET), in some regards the OCL Project and others did not exist we would be looking at a situation that is much different, much more proprietary, and as such deserved of every second, third, and fourth "yeah, but..." look the suspicious effort invoked. But we're not. And when you see projects like those showcased in the above screencasts and realize that these are being run on top of a Linux kernel, using open source tools, led by open source luminaries such as Miguel de Icaza, et. Al. you simply can not question the fact that a world build on top of the CLI is pretty fucking cool world!

                At least thats my opinion anyway. ;)

                Posted by m.david at 05:45 AM | Comments (0) | TrackBack

                May 20, 2005

                By 'If' I'm assuming 'If someone comes up with a coherent spec that omits the type info, it could somehow make its way into the 4Suite post 1.0.' to be the condition and the result if the condition is met?

                Copia

                Ok. I'm up to the challenge.

                I think its safe to assume that Uche knows a thing or two about programming. So, in reality, a simple list of features and capabilities that need to be present should be more than sufficient.

                But before I go and spend my time making a feature list of things that must be present I should make sure that by doing so the desired effect would be reached -- that of finding support for XSLT 2.0, or at least a type-less variant of the XSLT 2.0 draft, inside of 4Suite, something I think we all can agree would be absolutely *FANTASTIC* and worthwhile of any effort that might encourage such a development effort.

                But I need to be careful here. What I might think is being helpful might instead be construed as something entirely different and do more damage than it would good. Obviously there are plenty of lists of XSLT 2.0 features out there that could easily be used as a starting point so writing Yet Another XSLT 2.0 Feature List is not something that I think is really going to do much good and could potentially be viewed as something quite different so taking such an approach is really risky and to be quite honest, stupid.

                I could take the "its all simply a matter of preference... for those who like programming using XML, XSLT 2.0 is just what the doctored ordered. For those that don't, give XQuery a try." But that's not ballsy enough. Its too cliche', too passe', too blah... And such a statement disregards the fact that there are a lot more languages, like Python, that do offer a lot to the world of XML developers that in many ways could be considered preferable.

                So what then? How does one take on the task (and not completely waste his time in doing so) of providing a working specification that someone like Uche, in whom a lot of people, including myself, have a lot of respect for, can then take and build support into one of the more powerful open source XML server platforms available.

                This is something that is going to require thought. I think that a well thought through argument in favor of XSLT 2.0 coupled with good sample code could definitely help. So maybe thats where I should start.

                But before I do that (and I think its the right approach) can I suggest one thing? The power of XSLT 2.0 and XQuery starts with XPath 2.0. As much as EXSLT offers the XML developer, XPath 2.0 is not a part of this project. So thats where my weekend project is going to start. Lets rip through the XPath 2.0 specification and get down to the nitty-gritty. What does XPath 2.0 offer the world of XML software development that XPath 1.0 leaves behind? Conditional logic is one piece but theres more than just conditional logic so lets make this the focus and then move forward from there.

                Uche, as mentioned, I have a great deal of respect for you. I think that finding support for XSLT 2.0 from the likes of Fourthought inside of 4Suite.org is something that can not be seen as anything else but a *HUGE* boost to the future of XSLT 2.0. I hope that over the next few days that what I develop can be seen for what it is, that of convincing an influential person such as yourself that developing support for XSLT 2.0 is something very worthwhile. I don't want to make the same mistake that I have in the past of not thinking through my statements and simply publishing what happens to be on my mind at that moment only to discover that I was *COMPLETELY* off-base. Thus, the current caution I have in place to just "pour" my thoughts onto the screen and hope that in-and-of itself this is enough. It wouldn't be. But with the proper time I think I can definitely have at very least a fighting chance. So, I guess we shall see. :)

                Wish me luck everbody! :D

                Posted by m.david at 06:26 PM | Comments (2) | TrackBack

                'If you're not nice to me I'll move over to the dark side' | The creative mind of a child

                In a recent conversation my sister Elizabeth (third from right) had with her 5 year old son he decided that whatever it was she was asking of him just wasn't something he wanted to deal with so in reply he stated:

                If you're not nice to me I'll move over to the dark side!

                With an obvious influence from the latest Star Wars release there's still a level of creativity involved with that statement you simply have to appreciate...

                I have no doubt that the circumstances that led up to this statement and then the follow-up punishment were, in his mind at least, no laughing matter. But any of you who are parents no doubt understand that it was all my sister could do to keep from losing-it-in-laughter as this "time-out" penalty was invoked. Personally I would have been tempted to take him out for ice-cream for coming up with something so creative but I guess thats the difference between Mom's and Dad's... one see's need for punishment when the other see's need for praise. Probably a good thing the Momma ALWAYS has the final say (no, I haven't been influenced at all by my sisters... I have no idea what your'e talking about ;)

                God love the children of this world for helping bring life into perspective... I have no doubt that He does (and was probably laughing at this one as well. :)

                Posted by m.david at 03:05 PM | Comments (0) | TrackBack

                Praise for two new titles on my bookshelf | Beginning RSS and Atom Programming and SVG Essentials

                I just got back from Borders where I picked up a copy of Danny Ayers and Andrew Watt's (who, by the way, deserves some sort of award for coming up with *BY FAR* the most creative domain name/subject usage I've seen in a long time!) new title, "Beginning RSS and Atom Programming." Earlier in the week I received in the mail a copy of "SVG Essentials" by J. David Eisenberg. I just want to quickly give a shout out to all three of these authors for producing two *EXTREMELY* well written titles containing all sorts of fantastic bits of content and reusable code. I spent a good portion of yesterday reading "SVG Essentials" and found it absolutely perfect in regards to covering the ins and out of SVG programming and while I have only spent an hour or so skimming "Beginning RSS and Atom Programming", even with a good deal of development experience using both of these feed formats I have found some nuggets of insight that undoubtedly will find there way into my daily programming routines.

                Cheers to all three of you for a job *REALLY* well done :)

                By the way, in regards to SVG development without a doubt you should look into Kurt Cagle's "SVG Programming: The Graphical Web" which is something I have had for a while, receiving my copy directly from Kurt a while back (thanks Kurt!) and, until a few days ago was the only SVG title on my shelf. Both of these titles have there value and will continue to be well used over the next few months as I become even more familiar with this area of software development.

                Posted by m.david at 10:55 AM | Comments (2) | TrackBack

                May 18, 2005

                Blast from the Past - May 18th, 1980: Where were you?

                Sthelens3.jpg

                As a kid I took to science like a fish to water so to be living in Vancouver, Washington, USA - or about 30 some miles south of Mt. St. Helens - during the 1980 eruption was something of a treat. I remember discovering all of the valuable uses of ash after listening to one of the local T.V. stations list off 20 or so "did you know" items showcasing all of its benefits (we were already aware of the downside items.) Vancouver didn't get hit by ash too hard, but hard enough it required dust masks and it was definitely enough to keep me occupied for weeks on end. I can't remember all of the details but I do remember how happy my parents were that I discovered that ash acted as a great way to clean up the oil stains from the cars in the driveway :)

                Twenty-Five years. I can't believe it has been that long...

                Happy Anniversary Mt. St. Helens! You've kept a lot of us captivated for many, many years, and it seems nothing has really changed :)

                [NOTE: In addition to the above link, for those who havent seen them already I have some arial pics from a while back that you can find here.]

                Posted by m.david at 05:45 AM | Comments (0) | TrackBack

                May 17, 2005

                Credit where credit is due

                I want to quickly point out some follow-up comments left by Eve Maler in regards to my post from yesterday. She specifically points out others at Sun who deserve credit for the work that has brought about the Liberty Alliance support from MS announced on Friday. Please see her comments for more details.

                Does anybody have a pointer that I can point to or know who I can contact to give proper credit to the MS employees responsible for this effort?

                Thanks to everyone who played a part in this! I'm not sure if we will realize immediattely just how significant this effort is but no doubt we will understand over the coming months and into the next year when we suddenly find it a lot easier to access the webs content while maintaining proper security in doing so.

                Cheers to you all :)

                Posted by m.david at 08:02 AM | Comments (0) | TrackBack

                via XML-DEV | ANNOUNCE: DataDirect XQuery Public Beta

                Now this is the kind of announcement from Data Direct I can stand behind:

                As Program Manager of DataDirect XQuery, I'm very happy to announce
                that the public beta of DataDirect XQuery is being released
                today. Java programs routinely exchange data as XML, but store and
                query data using relational databases. DataDirect XQuery is designed
                to let you use XQuery in Java applications using the XQuery API for
                Java, the "JDBC for XQuery". It can query both XML and relational
                sources, and returns XML results as text, DOM, SAX, or
                StAX. DataDirect XQuery is simple, portable, and fast.

                You can apply for the beta program here:

                http://www.datadirect.com/products/xquery/xquerybetahome/

                In the beta, we support the following databases:

                Oracle 9i (R1 and R2) and Oracle 10g

                DB2 Universal Database (UDB) 8.1 on Windows NT, Windows 2000,
                Windows 2003, Windows XP, UNIX, and Linux

                Microsoft SQL Server 2000 (including SP1, SP2, and SP3a)

                The beta is based on the 11 February 2005 Working Draft of XQuery[1]
                and the Early Review Draft of XQJ[2]. The following tutorials are
                helpful for coming to grips with these standards.

                XQuery Tutorial
                http://www.datadirect.com/developer/xquery/xquery_tutorial/index.ssp

                XQJ Tutorial
                http://www.datadirect.com/developer/xquery/topics/xqj_tutorial/index.ssp

                Hope this is of interest!

                Jonathan Robie
                Program Manager, DataDirect XQuery
                www.datadirect.com

                [1] XQuery - 11 February 2005 Working Draft
                http://www.w3.org/TR/2005/WD-xquery-20050211/

                [2] XQuery API for Java (JSR-225)
                http://www.jcp.org/en/jsr/detail?id=225

                Posted by m.david at 03:56 AM | Comments (0) | TrackBack

                May 16, 2005

                Yet One More Thing We Have Eve Maler To Thank For

                05/13/05 - Sun and Microsoft Announce New Identity Specifications and Additional Measures for Product Interoperability

                CEO Steve Ballmer today announced a series of measures to enhance product interoperability, including the development of new specifications that enable Web single sign-on (SSO) between systems that use Liberty and WS-* Web service architectures.

                The very last contract I took at Microsoft was with the Passport team which, I'm assuming, will probably become fairly transparent with the Libery Alliance offerings. I don't know any technical details but I'm guessing that Eve Maler might have some extended information in this regards as its my understanding that she has something to do with Sun's connection with the Liberty Alliance. As such it seems we probably have Yet One More Reason to be thankful to Eve for all that she has done to help bring sanity to the insane world of software development and standards.

                As always, Thanks Eve!

                Posted by m.david at 07:15 AM | Comments (2) | TrackBack

                May 15, 2005

                First real Saxon.NET sample code to play with

                As TechEd and the Saxon.NET Birds of a Feather session quickly approach it seems its time to start pushing hard at both finalization of the bits as well as sample code to help gain some momentum as we begin to get deeper into the year and, while its unknown exactly when, a little but closer to the final XSLT 2.0, XPath 2.0, and XQuery specs, support for which is available for all three in (of course) Saxon and as such Saxon.NET.

                This is just a stopping point for the day on a library which has quite a few satellite libraries that add further extension and functionality that are already well under development and will hopefully be available in the next week or two for further consumption and distribution.

                Couple things to note. I realized the other day that it really made a lot more sense to move away from the ‘org.x2x2x.Xml’ namespace and instead use ‘Saxon.Xml.Xsl’ as the prior[um, that would be latter would’nt it… oops] fits much more in line with what the project is all about and more directly into the .NET namespace naming conventions instead of the Java classpath conventions. Before I go and make any sort of announcement that this is the final name space usage I will need to run things through both DonXML and Dr. Kay. If things change I will certainly let you know. [PLEASE NOTE: To view the code properly please view this post in its normal .html format… I need to fix the issues with the way code doesnt get handled well on the main page but I am almost done with the next redesign so Its probably not going to happen in the state it lives in now… but the new designs is A LOT better so I think it’ll all be good :)]

                Note: the first part of this was commented directly in the code/editor… thus the funky slashes that make things seem abnormal.

                // All code has been developed by M. David Peterson for and as part of the Saxon.NET project // What you do with it is up to you. At present time (May 15th, 2005) this is still // under development with fairly extensive planse as far as just how far we plan to take this // project. But this is a decent start at understanding the ins and outs of developing using // Saxon.NET from a C# perspective.

                // With TechEd the Birds of a Feather session proposed, planned, // promoted, and etc… by DonXML (given the fact that were 3 weeks away from the start) its obviously // time to put some serious development effort such that there is lots to play with at the BOAF. I have // one other major project that I plan to split my time with Saxon.NET development over the next 3 weeks // which should lend well to probably a good 80-100 hours of devtime before the BOAF session which hopefully // should mean both extensive progress with extension projects as well as Saxon#… Lets hope anyway. :)

                // Things to note: // I’ve implemented some of the new functionality provided by the XML-MVP group. In particular I have focused // on XPathNavigatorReader class library for the many nice little touches as well as MAJOR enhancements it has in // regards to pulling some extremely useful features into the XPathDocument arena and as such making it by // far and beyond the definite choice for high powered handling of XML ESPECIALLY in regards to // pipelining as you gain all the speed and realiability of XPathDocument and XPathNavigator with the // cability to gain direct access to the underlying XML for outputting in various regards with ease and // simplicity (which, before this meant basically converting // everything in front of your current Node position to a string for output to a new format and the reloaded into that “version of XML ;)” serilization to then move on to the next item on the list.

                // As many of you undoubtedly know when you’re pipelining XML around // from one process to the next theres an obvious disadvantage that comes from conversion from one format to another // ESPECIALLY when a lot of the times this also means losing your current position within the node-set, that if // wasn’t lost would bring you that much more performance gain. This class brings you this, caching and serialization // benefits and… hmmm… theres seems to be something I’m missing. I guess it’ll give you something to // look forward to finding out for yourselves as without a doubt this is something I plan to use A TON // and would recommend to anybody who does a ton of XML work within .NET to consider the same. This is // some really well thought out and implemented code. My hat goess off to the XML-MVP’s for a job EXTREMELY well done!

                // First file, Saxon.Xml.Xsl.cs (I’ll provide a zip file of all of this at the bottom of the page)

                using System;
                using System.IO;
                using System.Xml;
                using System.Xml.XPath;
                using System.Xml.Serialization;
                using System.Collections.Specialized;
                using Mvp.Xml.Common.XPath;
                using Microsoft.CSharp;
                using System.CodeDom.Compiler;
                using javax.xml.transform;
                using javax.xml.transform.stream;
                using net.sf.saxon;
                
                
                namespace Saxon.Xml.Xsl
                {
                  [Serializable]
                  public class XslTransformer : CSharpCodeProvider
                  {
                    //Transformation data variables
                    private string srcXML;
                    private string srcXSL;
                    private NameValueCollection xslParams;
                
                    //Constructors
                    public XslTransformer(){ }
                
                    public XslTransformer(string srcXML, string srcXSL, NameValueCollection xslParams){
                        this.srcXML = srcXML;
                        this.srcXSL = srcXSL;
                        this.xslParams = xslParams;
                    }
                
                    public void XslParams(NameValueCollection xslParams){
                        this.xslParams = xslParams;
                    }
                
                    public void XmlDoc(string srcXML){
                        this.srcXML = srcXML;
                    }
                
                    public void XslDoc(string srcXSL){
                        this.srcXSL = srcXSL;
                    }
                
                    public XmlReader Transform(){
                
                      StreamSource inputXml_Source = new StreamSource(new java.io.FileInputStream(srcXML));
                      inputXml_Source.setSystemId(srcXML);
                
                      StreamSource inputXsl_Source = new StreamSource(new java.io.FileInputStream(srcXSL));
                      inputXsl_Source.setSystemId(srcXSL);
                
                      StringReader reader = new StringReader(DoTransform(inputXml_Source, inputXsl_Source, xslParams));
                      XPathDocument doc = new XPathDocument(reader);
                      XPathNavigator nav = doc.CreateNavigator();
                      XmlReader XPathReader = new XPathNavigatorReader(nav);
                
                      return XPathReader; 
                    }
                
                    CSharpCodeProvider provider = new CSharpCodeProvider();
                    //ICodeGenerator generator = provider.CreateGenerator();
                
                    protected string DoTransform(StreamSource Xml, StreamSource Xsl, NameValueCollection parameters){
                
                      java.lang.System.setProperty("javax.xml.transform.TransformerFactory", "net.sf.saxon.TransformerFactoryImpl");
                
                      StreamResult outResult = new StreamResult();
                
                      java.io.ByteArrayOutputStream outputXmlResult = new java.io.ByteArrayOutputStream();
                
                      outResult.setOutputStream(outputXmlResult);
                
                      TransformerFactory trans = TransformerFactory.newInstance();
                
                      Transformer transformer = trans.newTransformer(Xsl);
                
                      foreach(string paramName in parameters.AllKeys){
                        string paramValue = parameters.GetValues(paramName)[0];
                        transformer.setParameter(paramName, paramValue);
                        }
                
                      parameters.Clear();
                
                      transformer.transform(Xml, outResult);
                
                      return outputXmlResult.toString();
                
                    }
                  }
                }
                

                // second files test.aspx

                <%@ Page Trace="false" Language="C#" Debug="false"%>
                <%@ Import Namespace="System.Xml" %>
                <%@ Import Namespace="System.Xml.XPath" %>
                <%@ Import Namespace="Saxon.Xml.Xsl" %>
                <%@ Import Namespace="System.Collections.Specialized" %>
                <script runat="server">
                    string xmlSource = "./atom.xml";
                    string xslSource = "./index.xsl";
                    string transform;
                
                    void Page_Load(Object sender, EventArgs e) 
                    {
                        NameValueCollection xslParams = new NameValueCollection();
                
                        xslParams.Add("foo", "test");
                        xslParams.Add("bar", "test two");
                
                        XslTransformer transformer = new XslTransformer();
                        transformer.XmlDoc(Server.MapPath(xmlSource));
                        transformer.XslDoc(Server.MapPath(xslSource));
                        transformer.XslParams(xslParams);
                
                        XmlReader resultDoc = transformer.Transform();
                        buildOutput(resultDoc);
                
                    }
                    void buildOutput (XmlReader resultDoc)
                    {
                        Response.ContentType = "text/xml";
                        XmlTextWriter XWriter = new XmlTextWriter(Response.Output);
                        XWriter.WriteStartDocument();
                        XWriter.Formatting = Formatting.Indented;
                        XWriter.Indentation = 2;
                        String PItext = "type=\"text/css\" href=\"/xsltblog/ie-namespaces.css\"";
                        XWriter.WriteProcessingInstruction("xml-stylesheet", PItext);
                        XWriter.WriteNode(resultDoc, false);
                        XWriter.Flush();
                        XWriter.Close();
                    }
                </script>
                

                The MVP-XML Library can be downloaded here.

                The sample file

                <?xml version="1.0" encoding="UTF-8"?>
                <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
                    <xsl:param name="foo"/>
                    <xsl:param name="bar"/>
                    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
                    <xsl:template match="/">
                        <my:root xmlns:my="http://css.mdptws.com/xsltblog">
                            <my:tag>This is a normal tag</my:tag>
                            <my:tag id="red">MY RED TAG</my:tag>
                            <my:tag id="blue">MY BLUE TAG</my:tag>
                            <my:tag class="bold">This tag has bold text</my:tag>
                            <my:tag class="italics">This tag&#8217;s text is in italics</my:tag>
                            <my:tag><xsl:value-of select="$foo"/>hello</my:tag>
                            <my:tag><xsl:value-of select="$bar"/>hello</my:tag>
                        </my:root>
                    </xsl:template>
                </xsl:stylesheet>
                

                [UPDATE: I just realized you will need to change the namespace in this file back to the namespace Dean uses, or vise-versa, for this sample to work correctly in your browser] The above is a modification of the IE7 CSS Namespace project from Dean Edwards. As I’m not exactly sure what the distribution terms are in regards to this particular piece, while I have no doubt they’re generous I rather both play it safe as well as send as much recognition as possible to Dean for all of his hard work and effort on all of this. You can find the particular files in question here [NOTE: In particular this is the ie-namespaces.htc project half way down the page, the download link is at the bottom] and the directory for all of his projects here.

                By the way, in the ASP.NET sample I just used a random Atom feed that happened to be in the folder I was working in for the source XML as this particular test was focused, for the most part, on getting the little tweaky bugs worked out of implementing a Saxon.NET based transformation and then taking the resulting XML and tie it together within the .NET XML Libraries to be processed further before being output. In particular the issues at hand were:

                a) ensuring the proper mime-type was set via the Response.ContentType as Firefox/Mozilla will not foregive you if its not set to text/xml where as IE seems to set this particular piece aside. I can actually understand why as this is one of those support headache deals where you spend half your support budget on explaining to people why and how to change the ContentType in the Response stream — At some point, especially when you have 95% marketshare you have to let go of some of the things that you know are costing you more time, money, and headaches and in reality more damage is being done to the ideals behind standards by the frustration than could ever be gained back by forcing users into banging theirs and your head against the wall for 6 hours until they finally get it or finally give up and curse your very name for years to come. [1]

                You cant win.

                b) wow, that was off topic. Hmmm… surprising… ;) okay reason 2 for using this as a litmus test (beyond the fact that the effect on the screen kind of has a litmus papers resemblance) was that it was a test in integrating a completely transformed stream from within Saxon.NET, passing it to another process to have an XML declaration and processing instruction added to it such that when it arrived to the end user it would properly render the CSS enhanced XML as opposed to just displaying the text inside of the elements on the screen (as will happen if the right things don’t happen in the right order). This was one a bit more interesting as I spent a good hour or so beating the XML delaration into submission at which point it finally gave in and took its proper position on top of the PI instead of underneath it which, suprisingly, IE was just fine with but Firefox was not.

                Shocking.

                c) the final test that actually would have been true no matter which direction I chose for the development test was finding a smooth transition from transformation to final output to the Response stream. I found the MVP-XML libraries (or rather used them for the first time) and that was plenty to do the trick. It took some playing to get things to go the way they needed to but the MVP’s have done such a great job of providing comments and samples that most of whats there is (in regards to XPathNavigatorReader) a direct copy and paste and for the most part it just worked. I think the only problem I ran into was I had declared the wrong return type which was my own fault so again, hats off to the MVP’s[left hand side, bottom portion of column] for a job well done!

                K, heres the compiled library with the two source files[update:link is fixed and zip now contains C# source where at first I forgot to include it [although it was available to copy and paste of this page so maybe you just did that.] If you downloaded it and found the .cs file missing its there now. Sorry for the hassle!][oops, maybe not… lets see if this one works]. The most recent Saxon.NET bits are from a few days ago and can be downloaded here. As mentioned (and in summary) you will need the MVP-XML Library and the ie-namespaces.htc files from Dean Edwards.

                I plan to go underground for a day or two while I focus some serious time on two projects, Saxon.NET and another you don’t know about so I’ll leave the mystery for another exciting day :)

                If you have questions please leave comments on this blog for now as it will keep things in one place as opposed to spread out between blogs and various project sites that will probably go unnoticed for a few days if as I tend to lose track of things from time to time. Yep, yet another shocker. ;)

                With that, enjoy!

                [1][NOTE: The Response.ContentType is different than the “type” attribute as part of the xml-stylesheet processing-instruction which is also an important value but, in reality, for various reasons I doubt we will ever have need to dig any deeper to find out the details, while there is no official text/xsl mime-type this has been the adopted standard for the most part and it will work in both IE and Mozilla as text/xsl and (I believe… Ill have to verify for sure) text/xml. This is actually a dead mime-type as well as things are now moving towards the application/xml+xsl (hmmm… that may not be the right one either… ill need to verify that as well… its close but there seems like somethings missing) mime type which is definitely progress…]

                Posted by m.david at 06:37 AM | Comments (4) | TrackBack

                May 14, 2005

                An extension to my last post

                In my last post I used the word "worthless" to represent most of what I write. Actually, I shouldn't have used worthless as there are those times in which whatever is on my brain at the time does have value and I don't realize it until I get it out on the screen or onto paper. Sometimes the value can only be seen by me and other times it can be seen by others. To me a blog shouldn't be seen, or better said, mistaken as a newspaper, reporting things that have already passed. Instead it should be seen as more or less an ongoing dialogue of the present. Obviously once the present has passed it takes on the appearance of a typical online article, reporting something that has already happened as opposed to representing something that at the time it was written was happening. None-the-less, its obviously my responsibility to recognize that what is currently happening isn't necessarily something to be seen or heard by everyone as opposed to your responsibility to recognize what is reality and what is foobar.

                The Smartness Density Theory was foobar, not to be seen as production code but rather a representation of something that could represent how you might write something for production code, applying the general principles of the sample code but extending it into something real instead of something foo. The study of group dynamics is something that is very real. Much in the same sense that you don't just copy-and-paste foobar code into your editor, compile it, and call it complete this theory represented some ideas that, while its possible they could be used as a starting point would need an extensive amount of reworking, rethinking, and applying the general ideas into something much more real, something provable, and something beyond just a bunch of senseless mumbo-jumbo. Can foobar code be compiled. Of course! But what good is compiled foobar code? Its just foobar. Thats it. Thats its value. Compiling will help prove the theory that its compilable and therefore could be used as a starting point for something much bigger. But the value starts and stops there which is exactly where the The Smartness Density Theory should stop and start. Do I plan to continue the study of this and come up with something more concrete and reliable. No! It was just blah! Just foo. Just bar. Just junk. Just move on.

                I plan to.

                Posted by m.david at 02:35 AM | Comments (0) | TrackBack

                May 13, 2005

                Hmmm.... I didn't realize people would actually take my comments that seriously

                I guess maybe its my tendency to think and speak without thinking if what I am saying is being construed as serious or just in fun. While speaking in person its a lot easier for others to recognize the difference, writing doesn't necessarily lend well to this ease of distinction, especially when you write like I do (pouring the words onto the screen as they are being thought, in most cases laughing about it and then forgetting that I ever wrote it in the first place.)

                If my previous post was taken by any of you to be my way of presenting an actual theory my most sincere apologies. I don't by any stretch of the imagination believe that what I presented was something that should actually be considered as anything other than a way to laugh at the system we have created for ourselves. While it can sometimes be frustrating to watch I realize that the system is in place for a reason and have no intentions of promoting a campaign to up-end this system.

                I think the problem really stems from my tendency to use writing as a means for getting over coders block, those times when you are trying to develop an applicaton or solve a problem and just can't seem to get things going. For me I used to just open up Photoshop and start playing until I had somehow reworked my brain into finding a way to solve the problem. With the creation of this blog I have added writing to my list of ways to get over coders block. It has always been funny to me when I have shown somebody something I have created in Photoshop and they view it as something that I actually think has value or is interesting to look at. In most cases its complete crap and I have no intention of doing anything but deleting it off my hard drive. The purpose of unblocking the block has been served and I can move on. But I have noticed that its not as easy for others who might see what I create to view it in the same light, and the same has been proven true in my writing. Most, if not all of what I write is literally just a brain dump. A way of clearing my mind and opening up the creative channels. Never in my wildest imaginaton do I envision when I am writing it that it would ever be seen as anything else... but I obviously need to rethink things as it has become painfully obvious that the things I might write about are not viewed in the same light in which I wrote them.

                As frustrating as it can be for me to realize that its just not easy for others to know whats a brain dump and whats actually meant to be completely serious I obviously need to try a lot harder to make sure and not publish things that might be construed by others as something other than just a bunch of worthless thoughts running through my brain at present time. By dumping them I am able to clear way for the stuff of value to make its way through, but I realize now that I shouldn't put this stuff out there, especially when it can potentially offend people that I have no intention whatsoever of offending. Again, my apologies if you are one of these people in which was offended by what I wrote. This was not my intention even in the slightest.

                I think maybe I'll just stick to code for a while.

                Posted by m.david at 02:14 AM | Comments (0) | TrackBack

                May 12, 2005

                The Density of 'Smartness' Theory | What happens when you get too many smart people in the same room at the same time?

                DISCLAIMER: This is in no way a slam against anyone directly or indirectly. In fact this is a very general statement in regards to any committee tasked with any project of any type. And its really quite a simple and complimentary theory at that. While I will be using an example from a recent post from Dr. Kay to XSL-List this is nothing that should be seen as anything other than a random sample of a likely response gathered together by somebody who's speaking from obvious experience (and more than likely frustration in some regards) of working in the committee trenches with a perfect random sampling for this theory.

                The theory is simply this:

                As the density of "smartness" contained in any one committee increases the efficiency of this same committee decreases at an equal and opposite rate.

                Take for example the XQuery Working Group...

                Really smart people have been working on XQuery. And yet technically after what I believe is nearly 4 years there is still no recommended working draft. (sorry guys and girls... at least you get the benefit of all being really smart, right? Please don't hate me :D)

                For further proof on this theory listen to what Dr. Kay had to say in response to a proposal from Dimitre Novatchev that maybe its not too late to get some simple little adjustments to the XSLT 2.0 WD and as such bring things to near perfect completion, at least in regards to a 2.0 release. His response is as follows:

                The debate with memo-function would be about whether it actually has any semantics, or is merely a performance hint. Could a conformant processor ignore it? What is the effect on a "creative" function, one that constructs new nodes each time it is called?

                The debate about environment variables would be whether there is any meaning to the term that's independent of particular computing platforms, and about whether anything we said in this area would have any more substance than saying nothing. If we made a general statement that allowed one implementation to interpret it as meaning operating system variables and another as meaning Java system properties, then we wouldn't have achieved much.

                Need I say more? :)

                I think I've got a solution though. How about for version 3.0 of the XSLT Working Draft (I would use XQuery 2.0 as an example but to be allowed the luxury of being assumed a 2.0 working draft will even ever exist you first need to produce a 1.0 recommended draft... I'm just saying... Ok, I'll shutup ;) we get one REAALLLLLLLLYYYYYYYYYY smart person and lock them away for 2 weeks and whatever she or he (hows that for a politically correct/motivated switch of positions in the normal ordered sequence of gender found in the English language? Think I should run for office??? Yeahhh, ok... ;) comes up with at the end of that 2 weeks we simply call "Recommended" and be done with it.

                Now I realize that someone who is REAALLLLLLLLYYYYYYYYYY smart is more than likely going to have a similar density of smartness to that of the entire preceding committee (ummm... ok, maybe not... but lets just play along and see what happens :) so maybe another level needs to be added to this theory... something to the effect that every additional member added to a commitee brings a smartness density that increases the overall density in geometric proportion instead of a linear progression... so if their smartness density, on a scale from 1 to 10 is say 8.7, then instead of just adding it to the total we instead multiply it by the existing total to then establish the difficulty to get anything accomplished rating. We can then establish the odds of getting anything accomplished by simply inversing the final difficulty rating. So, take for example someone like Dimitre... lets say he has a 9.7 smartness density rating, the odds of coming out in two weeks with a finished specification would be 9.7 to 1. Now you might think those are horrible odds but if you calculate even two people who have a density rating of 9.1 then the odds of accomplishing anything have now risen to 82.81 to 1, obviously not a crew you would want to take with you to Comdex or CES the next go round...

                Actually, come to think of it if you were to put me in a room for two weeks that would give you like 1.5/1 odds of getting a specification in two weeks. Obviously we need to then add a quality of specification factor but with what should be more obvious, with a 1.5 smartness density I'm probably not the right person to be figuring out how to factor this into the overall picture... ;)

                So to conclude, I guess all I'm saying is maybe this is worth thinking about in the spirit of progress? Maybe it takes 5 or 6 two week sessions to tilt the odds in the favor of more possible than not but even 12 weeks would be a pretty spectacular achievement.(Watch how I pull the XQuery advocates back into my favor/clutches...) Think of it this way... if we already had XQuery as part our daily lives (we being the other 45% not already using it on a regular basis that is.. come on, I cant go this long without even one little jab at DD. Something tells me maybe its time to let things be though... how sad... oh, well... who's my next XBitch gonna be... Im watching and waiting... it could be you... ;) how much more efficient would we be in our programming? If we had XQuery two years ago how much further along would we be with other things? I'm guessing a pretty decent clip ;) See, something to think about for sure...

                Now imagine if we had XSLT 2.0 at that same time... the possibility of progress would be astronomical! :D

                Bye! <RUN speed="REAALLLLLLLLYYYYYYYYYY Fast!!!"/>

                Posted by m.david at 09:35 AM | Comments (0) | TrackBack

                Wait, what? You're recommending a competitors product over your own?

                You know what, I wasn't going to say anything on this but I am so disoriented at the moment by the latest twist in the Data Direct saga I'm hoping that maybe someone can give me some clarification as to whats going on over in DD land...

                Recently Elliotte Rusty Harold posted a question to XML-DEV asking about open source XML editor plugins for Eclipse. Arjan Huijzer responded pointing him to the Web Standard Tools project on the Eclipse project site and I responded regarding the latest offerings from IBM. Johnathon Robie, XQuery Evangelist for Data Direct (if not painfully obvious already Data Direct and Sonic, makers of Stylus Studio, are part of the same organization) followed-up with the following that has me scratching my head and yet, then again, I'm all for it...

                oXygen/> has a commercial plugin that I like for this - they've added XQuery support too. We're usuing their Eclipse plugin for DataDirect XQuery, since a lot of people using XQuery in Java programs seem to be using Eclipse. I don't have much experience with any open source plugins for this, sorry.

                Jonathan

                Now I was always raised to eat my own dogfood, but apparently others were raised differently. Right on. Whatever fills your belly and without a doubt they've chosen the best tool to feast on. But I'm still wondering what in the .... you know what, I don't care. If George is now getting the business of a competitor its only because he deserves it so I'll stop wondering and congratulate George on yet another satisfied customer.

                Do I go as far as suggesting that if Data Direct is using Oxygen that maybe users of Stylus should consider the same? You know what... I'm not even going to push that angle because to be honest Stylus is a good tool with, as far as I know, a satisfied customer base. Which adds just that much more to my bewilderment by such a move.

                If I wasn't suspicious I probably wouldn't be making this post so I guess thats why I am. But then again I don't want to take away from the fact that oXygen kicks a$$. So whats a hacker with a hankering for trashing Data Direct to do??? In a way I guess I already have so I assume I must simply be satisfied with this and move on with my day... But... nevermind...

                To be continued???

                Posted by m.david at 03:42 AM | Comments (0) | TrackBack

                May 11, 2005

                via Tim Bray | Uh oh, with Tim Bray onboard many others are bound to follow

                ongoing ? First Skype

                So I just made my first Skype call, from a hallway in Makuhari to Lauren’s cellphone in Vancouver. She was busy, so it was just “Hi, talk again later.” But it worked and it cost me €0.02, which seems pretty fair.

                So I finally broke down and started using Skype about two weeks ago... It took all of 5 minutes to convince me to:

                a) Purchase a SkypeIn #. 30 euros (about $37+ USD) for 12 months worth of dial-in service and voice mail. As far as I know as many people can call me at that number and it doesn't cost me another penny.

                b) Purchased 10 euros (about $12+ USD) worth of SkypeOut credit. I've used it as much as I would my regular telephone over the last 2 weeks and still have 8.36 euros in credit.

                Sound quality? At least a good cellular reception if not better. In most cases A LOT better!

                Give it 5 years for WiMax to have full coverage in a good portion of the US/Europe/Major Asian and Australian Cities/etc... and we've got ourselves a brand new ball game in regards to mobile communications.

                The kicker (in regards to Skype)?

                At least from my perspective is the API. Full application integration via COM/.NET as well as support in beta form for Linux. Abide by the terms of the End Users License Agreement, the Promotion and Distribution Terms and you can build both commercial and non-commercial applications that utilize a majority of the functionality that the Skype application offers. I've played with the API enough to be convinced of just how useful it truly is and have started integration into the ChannelXML project which, while still moving forward, is still not even close to being ready for any sort of release. None-the-less, when it is, it will have full Skype integration as you simply can not ignore the benefits that come from an application that has been downloaded 110+ million times and consistenly has 2-3 million users online at any given moment.

                No doubt this is a space that will receive heavy competition (in regards to dial-in, dial-out capability and integrated voicemail) from the other big players in the instant messenger market (Yahoo!, MSN, AOL, and in some regards, Jabber) in the close to near immediatte future so I can't imagine that Skype is going to be without direct competition for long. But for now, they are most definitely King and marketshare is something that can't be taken for granted. Skype is a fantastic product and if they are able to maintain a "cult" like following they will most definitely be around for quite some time to come. My personal guess is that within 6-12 months we will have a much better feel for just how strong that cult following is and how willing or unwilling the current user base is willing to jump ship for something from another supplier. If within the next 6-12 months Skype can get developers to build enough apps against the API that adds that "critical mass" application integration necessary to "own the application market" and you've got yourself a pretty tough nut to crack...

                Guess we shall see :) The fact that Tim Bray seems to be on board at least enough to blog about it I think says quite a bit in and of itself. If nothing else it sure doesnt hurt ;)

                Posted by m.david at 05:42 PM | Comments (0) | TrackBack

                via Simon St. Laurent | It never ceases to amaze me the interests that hackers have in common

                Living in Dryden: More flying over Dryden

                More flying over Dryden After having a good time taking aerial photos last month, we thought we'd try it again with today's excellent weather. I tried to make sure we got subjects I didn't capture last time, but there are still plenty of places left to capture in the future.

                When I was kid all I could think about was being a pilot. In fact its all I could think about all the way through my Senior year in High School, planning to attend Embry Riddle in Arizona so that I could get both my pilots license and Engineering degree at the same time. I can't really say what it was that caused me to not go this direction, eventually choosing a life of snowboarding (teaching, sponsorship, designer for local Redmond, WA snowboard manufacturer) before growing up and taking a contract position with Microsoft in mid '96. Interesting enough it was the timing of my "growing up" that led me to my 2 week span with the Site Builder Network, tasked to "do something with this", this being CDF, or Channel Definition Format, which as it turns out was the first commercial implementation of XML. As mentioned though SBN was a brief stop over as something much more appealing at the time came my way, that of working for the Windows CE team as a Tech Champ/Evangelist. I would never give up the experience I gained working for the Windows CE OS & Tools group but it was my introduction to the Channel Definition Format at the early, early, early stages of the XML rEvolution that would eventually push me towards an XML focused career.

                But taking all of this aside, I still have that lingering dream inside of me to be a pilot. At this stage I couldn't imagine being anything more than just a recreational pilot as I enjoy my software career WAY TOO MUCH to seek out a career in the commercial sector. Still, I can imagine how much fun it would be to do exactly what it seems Simon is doing, that of finding diverse channels to seek out the things that we can't find elsewhere in our lives/careers. There is something special about flying an airplane. In fact theres something special about just being in one. Maybe its the feeling that man has accomplished something extra spectacular in finding a way to move from the land to the skys. Or maybe is just the exhilaration that comes from being WAY UP HERE and looking WAY DOWN THERE and realizing a sense of freedom that you can't feel when your circumstance is from the opposite perspective. I have no idea really. In fact I doubt its the same reasons for everyone who feels the same way about being in an airplane. The thing I find most amazing about my own feelings on the matter is that as much as I have flown in my life (and I have flown many hundreds of thousands of miles) I still get excited from the rush of the plane taking off and my palms still get a little sweaty when we land. But I love it! And I have a feeling I always will...

                As I infered in the "Quote of the Day" from a bit earlier, its neat when you find people you have things in common with. What amazes me though is just how much hackers have in common. Everything from the music that we listen to to the childhood dreams we all seem to hang on to, even to the pets that we all seem to be drawn too (have a look around and notice how many hackers have pictures of their cats on their blogs or websites.) As different as our backgrounds and upbringings tend to be and yet we all seem to be drawn and driven by nearly the exact same things. It amazes me.

                I would go into the whole photography side of our similarities but thats a topic that deserves a nice long post of its own. So, anyway... Have a look at Simon's posting and his pictorial presentation from recent flying endeavors over his part of the world in the state of New York, USA. Pretty neat stuff! Thanks for sharing Simon :)

                Posted by m.david at 12:13 PM | Comments (0) | TrackBack

                via IEBlog (IE7 Team Blog) | EXTREMELY USEFUL tool for WebDev HTTP debugging

                IEBlog : Internet Explorer 7 User Agent String

                My first suggestion was to use a simple rule in Fiddler to change the outbound User-Agent header:
                static function OnBeforeRequest(oSession:Fiddler.Session){
                    oSession.oRequest["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)";
                }
                

                As it turns out the desired result was not obtained via this little hack but after following the link to learn more about Fiddler I definitely am liking what I'm seeing... Definitely something that will find its way into my standard utility belt, especially with as much client-side development as I have planned for the coming months.

                If you are running Windows and have the .NET 1.1 runtime installed I would definitely give this little gem a try...

                [UPDATE: Heres a tutorial to help get you going with scripting this tool.]

                Posted by m.david at 08:10 AM | TrackBack

                via Oleg Tkachenko | DaveP's pushing for community XSLT-driven Blogging Tool

                Signs on the Sand: Blogging engine running XSLT?

                Dave Pawson investigates if there is enough interest in a community developed web logging system based on XSLT processing and Atom8. He welcomes any feedback. I've been using XSLT-powered online publishing systems such as Docbook Website and definitely see enough potential behind Dave's idea.

                I'm in! DaveP, I'll be in contact via email soon. Anyone else have interest?

                Posted by m.david at 02:37 AM | Comments (0) | TrackBack

                May 09, 2005

                Yet Another Attempt to Cram XQuery Down Your Throat

                PRESS RELEASE XQuery Use Growing: DevX Poll

                I've said it before and, what the hell, I'll say it again... I like XQuery. In fact I use XQuery. I don't plan to use XQuery as my primary or prefered XML-related development language and it seems Data Direct has decided they're not going to be happy unless the software development world becomes completely saturated by XQuery developers who do.

                You think if we all just got together and wrote Data Direct a little note saying "If we tell you we will write some code in XQuery and then follow-up with a statement such as "I have written code in XQuery and its a really useful language" it might get them to shutup??? Doubtful... it would probably have to say something more like "I am and forever will be an XQuery developer. In fact I half wonder if God himself is an XQuery developer as there is no doubt in my mind that this language has its root in the Allmighty himself... I mean look at it... Its Perfect!!! What else could we possibly need other than XQuery. Wow! Wow, Wow, Wow... all I can say is Wow! Sweet Nectar of the Gods... I BELIEVE!!!!"

                Data Direct,,, Let it go... We like XQuery and plan to use it. Can't that be enough?

                Probably not.

                Just because I can't imagine anything else I would rather do I have added some commentary to yesterdays press release. Enjoy!

                BEDFORD, MA -- (MARKET WIRE) -- 05/09/2005 -- Stylus Studio (http://www.stylusstudio.com), the leading provider of XML tools for advanced data integration, today announced the results of a DevX online poll which shows that a majority of software developers currently use or plan to use XQuery technologies. [comment: Oh how I love that phrase "majority of software developers." Lets see what kind of math got us to that magical 51 or more % to qualify this statement as "accurate"] According to the non-scientific poll [comment: so how much did it cost them to pay the lawyer to add that phrase into this... $5k, $10k... Damn, I'm in the wrong business. Can you imagine if I had the ability to bill out 5-10k for every two-and-half words I wrote... I could pay cash to buy out Microsoft, IBM, and Oracle and still have money left over to pick up a sandwich at Subway. Now I realize the quality of the words "non-scientific poll" goes far beyond anything I could ever dream of conjuring up inside this XSLT infected cranium of mine so I best get over the dream and on with my poor unfortunate XSLT-infested life... How depressing... I need some chocolate... [Hey, I grew up with five sisters... what can you expect?]] of [comment: oh, here we go... the numbers!!! This is so exciting... ]302 software developers, 43% said that "We implemented XQuery and it's incredibly useful"; [comment: Thats what they said? Thats it. This is what qualifies 43 of the necessary 51% to state "...a majority of software developers currently use or plan to use XQuery technologies"? Wait! I just noticed something... "XQuery technologies." That lawyer they've got, He/She's a crafty one I tell ya. I wonder if there was a seperate line item for that phrase or if it was just thrown in for free... wait, I'm sorry... we're talking about lawyers... there's probably an "Excessive Usage of Legal Terminology" line item added on top of the "additional two-words" line item. BTW... what qualifies to be an "XQuery technology" anyway? See how clever those lawyers are???!!! I don't think they're being paid enough!] another 16% said that "We'll be using [XQuery] soon, too." [comment: Wow, thats a really powerful statement. If I were an IT decision maker I know where I would be spending my training dollars... Why not just throw in a question like "Have you heard of XQuery?" That should easily be enough too justify the statement "90% of developers have implemented XQuery" based on the idea that by simply checking the box this could technically be seen as a form of implementation. If you rigged the form such that by clicking the box it sent an XMLHTTP request stream over the wire that invoked an XQuery statement you could further enhance such a statement. Hey, implementation is implementation, right? Ahhh, hell... Did I just put ideas into Data Direct's head that I'm going to regret by this time tomorrow? Note: Why only 90%? Anytime you use the letter "X" in a questionaire focused towards developers you have to factor in the fact that 10% of all respondents immediatelly associate "X" with porn and therefore assume you are refering to a porn title... Hey, theres an idea. Buy some B-rate porn title from some fledgling porn producer, re-title it "XQuery", make it freely downloadable, and watch that "Developers who haved used XQuery" meter slam the 99% line quicker than you can say "Free Porn!!!" Speaking to the "99%" phenomenom... Why is it that there is always that 1% of men who simply can't admit they've "fill this in with whichever sexual related poll question you want..."? Liars! all 1% of ya ;)] DevX is the premier online technical information source for application development professionals. [comment: Is it? Huh, who knew. If this statement is true [and I'm not suggesting its not, I just have no idea if it is or if it isn't] that should mean several million developers will spend time reading your e'zine... Several million readers and only 302 of them responded. Where'd ya put the link to the questionaire, on the "About" page? It would seem that "of our millions of readers only 302 of them actually cared enough to answer our questionaire" speaks a lot louder than any results obtained from these 302 readers.]

                "A recent DevX online poll suggests a substantial and growing interest in XQuery technologies among the DevX readership [comment: Somehow "302 readers", "the premier online technical information source for application development professionals", and "substantial and growing interest in XQuery technologies among the DevX readership" don't really line up all that well together. If you consider 302 readers enough of a sampling to qualify "among the DevX readership" as factual then I think you may want to consider a new business model as 302 readers, I'm guessing, is probably not enough to build a profitable online e'zine with. But again, I'm just guessing] of software and IT professionals, even though the XQuery specification itself is still in development," [comment: Oh come on!!! The damn things been under development for almost as long as XSLT and XPath have been a specification. For it to have lasted this long without simply being forgotten about, of course there's interest in XQuery... why do you think people don't already know this???] said Dr. A. Russell Jones, Executive Editor at DevX.com, a Jupitermedia company. "It's also significant because our readers aren't exclusively XML developers [comment: How is that significant? Wait, are you under the impression that its XML developers that the XQuery supporters are targeting??? Do you even understand your own business??? I can assure you that existing XML developers such as myself are not the ones XQuery advocates are going after... they're only a couple hundred thousand of us, if that! The moneys in the other umpteem million developers out there who deal with XML only when and because they absolutely have to. So to make a suggestion that even though your readers are not exclusively XML developers that this fact, in and of itself, helps further substantiate these numbers... Dude, you've got to justify that "Dr." in front of your name with something a little more Dr'ish than this...], but rather come from such diverse technological backgrounds." [comment: Such diverse technical backgrounds as...? Isn't this statement missing some meat??? Where's your degree from??? Hmmmm.... Now I know someone is going to come along and say "well technically this is correct grammar and" hold it... stop right there. You're talking about hackers here. There is a reason why we write code instead of magazine articles. Hell, I'm suprised that half of us don't end our sentences with semi-colons! All I'm asking is to fill in the rest of that sentence with the technological background your readers tend to come from. Am I asking too much here?]

                ---

                Ok, well that was fun... Hope your day starts off with as much fun as mine has!!! :)

                Posted by m.david at 11:24 PM | Comments (0) | TrackBack

                May 08, 2005

                Guess what George got me for an early Christmas present???

                "Yeah were moving on up (moving on up) to the top(moving on up)
                To a deluxe apartment in the skyyyyyyy..."

                Look close.... a little closer... little bit more... there you go... now do you see whats got me singin' the Jeffersons? Ahhh yeahhh...

                Oxygen-meets-Saxon.NET.jpg

                ... Hit it Wheezie!

                "Yeah were moving on up (moving on up) to the top (moving on up)
                We've finally got a piece of the pie..."

                Now I just need to slam out some bugs George has found and solidify our position in the released version as this particular version isn't quite the same version you have... just slightly modified a bit to accomodate the added luxury of native Saxon.NET transformations from within the that breath of fresh air we "in the biz'" so lovingly refer to as oXygen.

                Oh wait, thats whats its actually called, isnt it... and for good reason!!!! Ahhhh.... from up here the fresh air is exhilerating and the view magnificent... :D

                George has more than does his part to help get Saxon.NET integrated within flat out the best XML DevTool on the market... (and getting even better by the minute :)

                Balls in my court now...

                and guess what...

                Just like George, I always play to win ;)

                Question to the rest of the tool vendors out there.... how many of you work this closely with your users, literally giving them a URI with their own name as the folder containing their own custom built version of the software such that they can work out any remaining issues that will then allow their product to be RTM'd as part of the latest release? Any of ya? If you don't you really should, but you'll probably figure that out for yourself 'round about this time next year when George and Sync.Ro Soft take their place as the rightful owner of the XML DevTool market share...

                As always, thanks George!

                Posted by m.david at 02:59 PM | Comments (0) | TrackBack

                Top Five Most Aggravating Things So Far Today

                #5 - Nov 25, 2003 = The last time Erik Meijer made a blog posting

                #4 - The fact that the most recent recorded "progress" for the IceCube (engines and applications) project at Microsoft Research is 2002-06-11 (if you count the date on the license "progress" that is) and between April and May of that same year for the source -- which, by the way, is written in Java. Whats IceCube? Basically "Yet Another Decentralized Version and State Control System" that seems to be a bit stalled at the moment... Actually.... 2002.... Isn't that just about the time Microsoft had to pay Sun a billion cool ones so that they didnt have to write a Java VM anymore which, at the time was basically a death sentence for Java... never quite understood that one but I'm still trying to make sense of women, and this after growing up with five sisters and a mom... yeah, I know, I never will... learned that at a VERY YOUNG AGE!!! Its much like trying to make sense of the "We pay you to not have to support your product and therefore kill it in doing so" ordeal from right around that timeframe. Ummmmm... anyway...

                Lets move on...

                Wait, backup... You know, I think I have my dates off anyway,,, that was more 2000/1'ish... so whats up with the 3 year source gap???!!! HMMMMMMMMMMMMMM...... [UPDATE: Oh, I bet thats when the license expired... my guess is that if you look at the Java source for IceCube it will be right in line with the 1.1.4 drop-off the licensing map brought about by the aformementioned... whateveryacallthat... non-licensing-buy-out-death-sentence (probably a more legal term than that but I think that sounds better. At very least more accurate... :D)

                Ok...

                #3 - An actual download link for the WWMXClientSetup.msi client application WWMX or World Wide Media eXchange project, again at Microsoft Research. Go ahead, you try and find it... Theres even the following tip from yesterday!!! [UPDATE: Ummm... its May now isn't it. Ooops... Ok, how about "the following tip from a month from yesterday!!!"? Not quite the same impact I realize but its probably the best I can do with another fine sampling of my inability to have any real connection with what day, month, year, or century we happen to be in at any given moment.]

                News: April 7, 2005

                WWMX Client Application Tip: If you see a photo that you like, you can comment on it by adding a pop-tag (double-click on the thumbnail and drag a rectangle across a portion of the screen) or send e-mail to the owner by right-clicking on the thumbnail.

                Now before you get all slick and say "Listen here Mdot", (nice, very clever with the whole dot thing,,, original too ;) "what you do is go back to the MS Research Download page and click the heading for the project instead of the link to the project page contained in the explanation paragraph"

                Ok then, if your such a smooth operator their SmartAssDot try it... (of course by the time you read this they will have fixed it, but you can bet your bottomdot dollar that it was broken... for 30 damn minutes I searched and even crawled the site with a spider looking for it... Nothing, nada, zip, zero, AAAAAAAAAAAAAAHHHHHH!!!!

                Don't you people have anything better to do than play with my mind like playdough??? A link, its all I'm asking for.... a link. Is it really that hard to provide a link???!!!

                Ok, I'm over it... [although the whole idea of tieing GPS data into a world wide archive of photos and tagging them is REALLY COOL!!!... Hey flickr... got an idea... (shhhhh, see the previous paragraph[oops] sentence ... don't worry, you cant download the app anyway, so as far as I can tell were just looking at vaporware, not exactly something thats going to hold up in court all that well... dont, worry, I wont tell... unless they pay me... ;)

                [UPDATE: HOLD UP!!!! Just found this(bottom of page):

                Version 1.4.1536.18637 - 3/17/2004 Fixed occaisional assert on login regarding person dots

                If not obvious, let me pinpoint... "Fixed occaisional assert on login regarding person dots"

                Its a personal thing... a bit coded, but I think I get the picture.... Translation: "Fixed occasional ass logging in, regarding specifically those with "dots" as part of their person"

                Can you see a better explanation??? Thats just mean... flat out mean...

                Oh well, flickr's more fun anyway... and they LET me login... HAH! (something tells me I'm not gaining much ground with this one...)

                Ok then... how about...]

                #2 - When did this > MSIL backend for lcc v4.2 < and this > ConferenceXP < show up? I don't remember gettin' no memo??? Whats up with that? My hard earned clicks arent't worth what they used to be? Or is something much deeper and evil... come on, I want names... heads are gonna roll when I -- whats that? -- security? Theyre on their way?? Ahhh... cool, as I was saying "I's gots to rolls"... thanks... BYE for now!!!

                And the #1 most aggravating thing so far today (for me -- not you -- if it were you then the most aggravating thing so far today would obviously be me... but we're focusing on me here... my aggravations, not yours... mine... we cool now? right on... k, back to me and then its ALL ABOUT YOU FOR THE REST OF THE DAY, I PROMISE THERE PEACHES... YOU, YOU, YOU... but for now, me...

                K - This is it, numero uno of the day, and its only 9am....

                #1 - THAT FUCKING EMAIL -- AHHHHHHHHHHHHHHH!!!! WHY AM I AM SO STUPID!!!!!! Can I not figure out how to write an email and.... you know what, If I told you you wouldnt believe,,, well, you probably would believe me come to think of it and furthermore not be the least bit surprised... Thus is the reason its sucks to be me on days like today...

                Ahhhhhh.... DEEP BREATHS (couple valium would be nice too but don't have any handy unfortunately as I gave up the whole black market mexican pharmacy thing years ago... hmmmm, too bad...)

                Anyway, thats my day so far and as you can tell its a REALLY GOOD ONE!!!

                I need some code to mellow me out... wheres my compiler...???

                There you are!!!! :D I can always count on my trusty CSC to be there for me everytime... Now thats commitment...


                MyTrustyCSC.jpg

                Posted by m.david at 02:22 AM | Comments (2) | TrackBack

                May 07, 2005

                via Sean McGrath | If this is to gain approval can I just say that it should be mentally considered shrink wrapped before the first line is even written

                Sean McGrath, CTO, Propylon

                With this list of contributors and the fact that its Apache this is a done deal if it gets the nod of approval:

                We propose that the following people are considered the starting
                participants. This set represents members from across the community,
                this diversity a factor we wish to start with and preserve as we grow.

                These individuals have expressed an interest in participating in the
                architecture and design work. The information in parenthesis
                indicates other community participation or relevant experiences of
                that individual :

                Guy Churchward (individual w/ commercial VM experience)
                Joakim Dahlstedt (individual w/ commercial VM experience)
                Jeroen Frijters (IKVM)
                Geir Magnusson Jr. (Apache)
                Ricardo Morin (individual w/ commercial VM experience)
                Georges Saab (individual w/ commercial VM experience)
                Bruno Souza (SOUJava)
                Davanum Srinivas (Apache)
                Dalibor Topic (Kaffe)
                Tom Tromey (GCJ)
                Weldon Washburn (individual w/ commercial VM experience)
                Mark Wielaard (Classpath)

                and the following individuals have expressed interest in
                participating as committers for the Apache-licensed implementation :

                Jeroen Frijters (IKVM)
                Ben Laurie (Apache)
                Geir Magnusson Jr. (Apache)
                Ricardo Morin (individual w/ commercial VM experience)
                Bruno Souza (SOUJava)
                Davanum Srinivas (Apache)
                Dalibor Topic (Kaffe)
                Tom Tromey (GCJ)
                Weldon Washburn (individual w/ commercial VM experience)

                These individuals will participate as Incubator Mentors :

                Noel Bergman
                Ben Laurie
                Geir Magnusson Jr.
                Stefano Mazzocchi
                Sam Ruby
                Leo Simons
                Davanum Srinivas

                The following Apache Members will be the sponsoring members :

                Noel Bergman
                Jason Hunter
                Ben Laurie
                Ted Leung
                Geir Magnusson Jr.
                Stefano Mazzocchi
                Sam Ruby
                Leo Simons
                Davanum Srinivas

                The following community members support this effort :

                Danese Cooper
                Brian Goetz
                Doug Lea

                ---

                One Word: Damn!!!

                Seventeen Words: Whoever said Java was dead apparently didnt do a very good job of convincing the Apache foundation...

                Eleven more Words (and then thats it, I promise!!!) Welcome back Java... looks like your alive and well after all ;)

                Posted by m.david at 06:56 PM | Comments (0) | TrackBack

                May 06, 2005

                Dear Microsoft Virtual PC Team, If any of you happen to read this, I have a request...

                I got a little more behind with the progress of ChannelXML than I had hoped due to the fact that I had forgot that I had a nephews BDay bash to attend. If there is anything in life I place higher than anything else its family so this will happen from time to time... actually, given that I have twenty-three nieces and nephews, a son, five sisters, a brother, a mom, a dad, and then another 20 some odd cousins to cap things off I'm surprised it doesnt happen more often. Fortunately or unfortunately as the case may be my cousins all live in Australia, otherwise I would literally be bouncing from one BDay bash to the next with very little time for anything else in life. This, of course is beside the point of this posting so lets get back on topic...

                I'm sitting here continuing to move things around, trying to determine the best architecture for both the storage of content within Subversion and the indexing of this content and making it available via XPath/XQuery using the eXist XML database (as well as MSDE, or SQL Server 2005 Express as I guess its now going to be called -- but for the moment I am using eXist until I have finalized the architecture). One of the most important things that needs to be considered in developing this project is security. While it needs to be as easy as possible to allow access to data contained on your system that you consider public, or access to data that requires some sort of security measures, etc... it also needs to be extremely difficult if not (ideally) impossible for anyone to gain access to data that you dont want to be made public. In thinking through how best to do this it occured to me that if I were to install Virtual PC and create a bare bones install of XP Professional with IIS (5.1 is what ships with XP Pro, I think) I could make this my public server as well as a proxy server in which I would use to access the web myself. By doing so I could block all ports on my master XP install except for that in which I would use to access my proxy server and then only allow access to that port via the internal IP (using a DHCP server, probably via an internal router but by any other software means as well.) By then placing all of my public or semi-private information on this VirtualPC instance I have, in essence, created a system in which would be extremely difficult, if not impossible, for anyone to access my master XP install in which I would have all of my private information stored that I did not want to take any chance of the outside world gaining access to.

                Now, I may not have thought this all the way through, but it does seem like this would add one extra layer of security that would make the end-user at *VERY LEAST* feel a bit more confident that the only information that can be seen from the outside world is the information they publish via a "Publish" folder that would be mapped to the virtual XP/IIS instance. If I wanted to publish something to the web, grab the document in which this informatiion is contained, drop it into the publish folder, and *WHAMO*, instant (and secure) publishing made simple.

                The only problem with this idea is that at present time I would have to purchase a copy of VirtualPC at $129 and then purchase another copy of XP to install within this system just so I could get this added level of security. But what if the VirtualPC team were to get together with the WindowsXP team and create a package in which you were limited to just the one virtual install of which the XP team would provide a version of XP completely stripped down to nothing more than just enough to cleanly run a copy of IIS 5.1 -- making this combined package freely downloadable... you would have to, of course, have a verifiable install of XP that was properly licensed to gain access to this download which is something you are already doing with other products so that shouldnt be of any great concern... It would also open up the marketing doors for the Virtual PC team to add an "Expand" button to the system for those who wanted to install yet another instance of an OS. So this could almost be justified, cost-wise, by the extra "marketing" the Virtual PC product team would receive quite easily making this a profitable venture in and of itself. [UPDATE: In reality you wouldnt even have to "create" a version of XP/IIS 5.1 and make it part of the download... just create a script that copies the necessary files from the existing master install to the virtual instance so in essence all that would be required is an addendum to the existing XP license already in place]

                Maybe I'm just thinking way to outloud here. But it just seems like something like this could solve a ton of security problems while also making way for the next generation of decentralized computing apps that are sure to be on their way given that fact that I know I'm not the only person on this planet who is thinking about and building these types of applications.

                For what its worth, there you have it... its your to do with as you please but definitely something that seems worth consideration.

                Posted by m.david at 08:34 PM | Comments (0) | TrackBack

                Kurt Cagle at WWW2005 | He will also be my first guest on 'A Slightly Different Perspective'

                Understanding XML: Blogging W3C Conference

                As Kurt reports in his most recent post to UnderstandingXML.com he will be attending, speaking at, and blogging about the WWW2005 conference next week in Tokyo, something I'm sure I can speak for many in suggesting this is something we are looking forward to.

                In quick addition to this Kurt has agreed to be my first guest on my 'A Slightly Different Perspective' blogxast. We have been trying to coordinate a time in both of our schedules to try and record this before he leaves tomorrow morning for Tokyo. It may happen and if it does it will more than likely mean that he has a few moments before his flight leaves to quickly chat and give us a pre-cursor to the events of the conference. If this doesn't happen then it will be upon his return that we will meet up and record a follow-up to the conference, something that we plan to do no matter if its the first or second recording and subsequent blogxast.

                More on this once I know more...

                Posted by m.david at 04:45 PM | Comments (0) | TrackBack

                Oxygen 6 Beta Now Available

                From the Oxygen Users List earlier today, George Christian Bina announced:

                ---
                [NOTE: Oh, by the way, just to make sure George wasn't try to pull a fast one on us I checked and there are no claims that 55% of developers are now using Oxygen and many of the rest plan to in the next year. Ahhhh.... honesty, pass it on.

                Thats not to say that by this time next year these numbers won't be accurate as without a doubt Oxygen could very easily grab up that much market share. Yes, its that good!]
                ---

                [The Announcement]

                Hello everybody,

                The *best version of <oXygen/> ever* is ready for a first run :). We
                just uploaded a beta build of the new oXygen 6 at the URLs below [1].
                Please give it a try and let us know your feedback.

                The first main new feature is the *schema visual diagram*. Strong points
                are:
                - support for both *XML Schemas* and *Relax NG schemas*
                - side by side source and diagram presentation
                - source and diagram are synchronized in *real time* (no background
                parsing)
                - print and save as image support

                Another important feature is the *diff and merge* support (available
                only from the standalone distributions). It is in fact a *complete diff
                and merge solution featuring
                - 6 diff algorithms (*XML Accurate*, *XML Fast*, *Syntax Aware*,
                *Line* level, *Word* level and *Character* level)
                - both *file and directory* comparison and merging
                - a nice GUI presentation of the diff results with *change guide
                lines* and *synchronized scrolling*
                - support for automatic selection of the diff algorithm
                - the possibility to *go into details* at word or character level on
                the found modifications
                - *editing* any of the documents directly in the diff GUI
                - easy invocation of the diff from the project panel
                and more.

                The third main feature is the import support from a number of external
                data sources like
                - any JDBC enabled database
                - comma, space, tab, semicolon separated text files
                - Excel sheets

                Of course there are a lot of other features, like XML Signature support
                (sign and verify), XML Canonicalization support, the possibility to
                define proxy namespace mappings for the XPath evaluations, support for
                the latest Saxon 8.4 for XSLT 2.0, improvements in the performance and
                in the user interaction and more.

                Enjoy, and do not forget to send us feedback ;) !

                Hmm... I was about to forget that you need a v6 license key to use it,
                you can find it at the end of the message [2]

                [1] installation kits

                Windows (Includes Java VM)
                http://www.oxygenxml.com/InstDataRC60/Windows/VM/oxygen.exe

                Windows
                http://www.oxygenxml.com/InstDataRC60/Windows/NoVM/oxygen.exe

                Mac OS X
                http://www.oxygenxml.com/InstDataRC60/MacOSX/oxygen.tar.gz

                Linux
                http://www.oxygenxml.com/InstDataRC60/Linux/NoVM/oxygen.bin

                All (Linux, Unix,etc.)
                http://www.oxygenxml.com/InstDataRC60/All/oxygen.tar.gz

                Java Web Start distribution
                http://www.oxygenxml.com/InstDataRC60/Javawebstart/oxygenJWS.zip

                Eclipse 3.0 Plugin zip distribution
                http://www.oxygenxml.com/InstDataRC60/Eclipse/com.oxygenxml.editor_5.1.0.zip

                [2] license key

                --- START LICENSE KEY ---

                Registration_Name=oxygen-user-v6-beta

                Company=

                Category=Professional

                Component=XML-Editor, XSLT-Debugger

                Version=6, 6

                Number_of_Licenses=1

                Date=05-05-2005

                Duration=31

                SGN=MCwCFGM0LBedJ73PDzgnqtS2kuB0xR0iAhQXdXzbOrF7tkMGiWjM0HTqpva0tg\=\=

                --- END LICENSE KEY ---

                Best Regards,
                George
                ---------------------------------------------------------------------
                George Cristian Bina
                XML Editor, Schema Editor and XSLT Editor/Debugger
                http://www.oxygenxml.com

                Posted by m.david at 11:56 AM | Comments (0) | TrackBack

                May 05, 2005

                ChannelXML Graphical Framework | Firstlook

                How I ever came to the conclusion I could get all that still needed to be done in the time I stated I have no idea... But's its all good. Each day brings a bit more progress and this particular stage is pretty significant in that this allows me to focus on integration of components that, for the most part, already exist. This is just the *VERY RAW* GUI framework so please resist the "but what about the.." comments. I have had enough coffee already and don't want, need, or really even want to think about having any more ;)

                I've got to pay some attention now to Saxon.NET so I doubt I will have any more of this done today. But you never know.

                Enjoy! :) BTW... I'll explain more a bit later in regards to how this all works and what the hell that "Fireman's Pole" on the left hand side is for... right now I need my morning McDonalds run... Mmmmmmm... I can taste that Bacon, Egg, and Cheese Bagel already :D

                Posted by m.david at 04:10 AM | Comments (0) | TrackBack

                May 04, 2005

                via the Saxon.NET Weblog | New release of IKVM.NET is now available, new Saxon.NET build to soon follow

                Please see my last post to the Saxon.NET weblog for details.

                Posted by m.david at 05:55 PM | Comments (0) | TrackBack

                May 03, 2005

                Of the apparent 140, how many of these were XML MVP's, those who are closest to the XML action and would have the better understanding as to the need and/or effectiveness of this position

                Microsoft MVPs Petition for XQuery Support in Whidbey- ADTmag.com

                As of Monday, the “XQuery for All” campaign had garnered a reported 140 petition signatures from members of Microsoft’s Most Valuable Professionals (MVPS) program.

                Each new day that comes into existence tends to bring more dissapointment my way in consideration to Data Directs latest attempt at gaining attention. The title of this piece is so rediculously misleading I am coming to believe that there are no longer media outlets that report the news and instead sell headlines to the highest bidder. This particular headline attempts to lead the reader into the belief that members of the Microsoft MVP group all got together and decided, on their own accord, to petition Microsoft to re-insert XQuery into the release of the .NET 2.0 platform. We of course know better, but there are a lot of developers out there still reliant on classic media outlets to keep them up-to-date with the latest-and-greatest which means that there are more than likely developers who quickly glanced the headlines, read the title of this piece, and now are of the belief that the MVP developers themselves are going toe-to-toe with Redmond. Standard thought processing of such a headline would more than likely develop into:

                "Wow! If the MVP's themselves are going head-to-head and toe-to-toe with Microsoft over XQuery then they must think its REALLY important!" which would then cause this to be filed away until triggered again at the water cooler which then leads to the statement "I've been reading up on XQuery and its obvious to me that this is the language of the future... Did you know that the MVP program has petitioned Microsoft to put it back into the .NET 2.0 release. Obviously they feel the same way I do..."

                Whether we want to admit it or not this is the way we think, this is how we process those thoughts, and these are the actions these thoughts turn into. Watch your own habits next time you read just the headline of something without reading the article to gain a better understanding. Whether the headline is misleading or completely truthful the experiment will still help show you how easily influenced we are by the headlines. As soon as you find yourself basing a comment or feeling an emotion based on that headline you should immediattely recognize the pattern. Its how we work and why it is so easy for the media to control our markets with stunning precision by simply positioning a headline in such a manner as to suggest whatever it is that they want us to take from it. Its sad, but its the way the world currently runs and it has been built by the habits of the consumers as opposed to the evilness of the media. Its kind of a twisted up mess but every market is ultimatelly controlled by the habits of its consumers so to survive in any given market you've got to give in to your consumers demands. We want it now and we want the dirt. So we get it. Blogging and Bloggers have definitely brought hope to the idea that the almighty dollar/pound/euro/yen/etc... will no longer control all the headlines that reach the consumers but that doesnt change our habits as consumers, and blog headlines can be just as misleading as standard media outlet headlines. In reality it seems that no matter who is providing them or how they are positioned, consumers still want the dirt and they still want it now. As such headlines control our markets no matter which way you twist and turn things so that we might see things from another angle. Another angle, generally speaking, its just another persons opinion, the accuracy as such dependent on too many factors to list but none-the-less, generally unreliable.

                I'm not trying to cast such a dark shadow over things but I am yet to be convinced that a world filled with bloggers will inherently spread more truth than one that is not. It will spread more headlines for sure and as such will go a long ways in causing a lot more opinions to be influenced in a lot more ways. But whether this makes life better or simply just more confusing is yet to be seen.

                On the converse, I personally have a VERY strong belief in the importance of blogging and the areas of our lives blogs will have direct effect on. Over the coming weeks I plan to write and talk a lot more about this, focusing on the areas in which we may not have considered to be at all effected by the power-surge of blogging that has come already and will be coming even stronger over the coming years. I see both good things and bad things that can become of this, but thats how everything is and always has been... with good comes bad, usually split 50-50 right down the middle. So just as everything is now in our world it will be up to us as individuals to choose the good over the bad no matter what it is our technological future holds for us.

                Bringing this back around to the original point. I find it disappointing to see Data Direct utlizing such sleezy and misleading tactics in their marketing campaigns. I find it ironic to think that in their very own marketing pieces Data Direct used a quote from me (there's two in this piece, the first on the list is mine although not attributed and is the one I am refering to at the moment -- you need to follow the link to see the original post to XSL-List(they call it XSL-DEV)) taken from a post to XSL-List in which I take Altova to terms for pushing out misleading information regarding their XSLT 2.0 offerings. Looking back I now can appreciate Dr. Kays follow-up to my tounge lashing in which he simply states "I'm just glad to see that another company is developing support for XSLT 2.0." While I was still annoyed by their claims I did suddenly realize that I was looking at this from the completely wrong angle and instead, as Dr. Kay suggested, should be looking at this from the standpoint that XML-Spy pretty much owns the XML DevTool market and as such offering an XSLT 2.0 engine was only going to help push the specification further out into the hands of the developers. I did feel bad after the fact but theres not a whole lot that can be done once you hit the send key.. the post is well on its way to the list members and then into the archives for which anybody can link to -- much like Data Direct did to help position themselves as the "better" and "more honest" XML tool vendor. But maybe theirs a way I can make up for it now... Altova, feel free to use this in any marketing material you feel like.

                Originally I had thought it was Altova that was evil and Data Direct "SaintXML" sent to save us all from that which was not good, not pure, and not-well-formed. It is now my belief that I was completely wrong and that in fact its more than likely the reverse that is true. Very disappointing Data Direct... Very disappointing.

                Sorry Altova! Guess I need to be a little more careful in the future. I assure you I will.

                Oh, and to answer the question as to how many of these supposed MVP's are XML MVP's. Not even one.

                Posted by m.david at 08:50 PM | Comments (0) | TrackBack

                alphaCOmega.com has come back to life

                After Erik Meijers excellent presentation today I became quite motivated to spend some time on the alphaCOmega.com group blog project. The name should pretty easily give away the focus for those unfamiliar with this project. I was able to get a FlexWiki instance installed and the zone file updated to properly map wiki.alphaCOmega.com to give us a working space that allows anyone with interest to work on this project a lot more freely than through the blog. But I do want to encourage any one with interest in blogging their adventures with the COmega development language to contact me for a blog user account such that we can all begin to benefit from one anothers efforts, creating a centralized content repository in the process. If you would prefer to blog in your own space but have your feed syndicated on the site, please let me know which feed to access and I will get the site properly set-up to handle this. Actually, it would make sense to set-up a planet.alphaCOmega.com as I know of at least 10 or so bloggers actively working with COmega, which is more than enough to justify such an effort. Please let me know if you would like to be syndicated there. I will try and locate as many feeds as I can but if you happen to know of anybody who would fit well into this domain I would definitely appreciate the time a quick ping would save me :)

                Posted by m.david at 10:33 AM | Comments (0) | TrackBack

                Reminder: If this webpage snapshot doesn't look even remotely familiar you may want to hurry up and visit the link following it.

                ErikMeijerRegistration.jpg

                The Erik Meijer presentation is just under 1 hour from now and if, like me, you failed to register before now it seems its not too late. Visit here to get signed up... I just finished the wizard and got a spot so theres a chance you might too. Regarding this (the enrollment): Can we please have "Hacker" added to the official occupation list that most companies seem to use. The closest I could find was "Unofficial IT". What the hell is "Unoffical IT"???!!! If you can somehow justify a slot for this you most certainly can justify one simple word -- "Hacker" -- You could even get creative and put in "Chief Hacking Officer" for those of us who are independent consultants working under an individual LLC. Please? Pretty Please?? Its not really asking all that much is it? Come on, give me a dollar figure... anybody can be bought off... everybody has their price so just give it up and lets get this off the task list for the day.

                While you ponder your asking price, the rest of you who havent already clicked the link above (whats the hold up there hacker boy/girl? How many damn links do you need??? First one too soft or too hard for you??? K, princess, maybe this one will be just right) may want to hurry and register. HURRY!!! (or any of these others as well)

                In the mean time, hey form builder person... I'll just chill and wait for your response. Don't worry, I'm not going anywhere... ;) [UPDATE: While your number crunching, how much to get you to escape your URL's so they don't break my XML? I personally think that one should be thrown in for free, but maybe thats just me...]

                [UPDATE II: You sure this description "This webcast will discuss various advancements in programming languages geared towards simplifying the development of three-tier distributed and data intensive applications. In particular we will concentrate on ways to bridge the impedance mismatches between objects, relation data, and XML and the importance of dynamism in this trend." fits the following Products: "Product: Visual Studio 6.0, Visual Studio"? If so, I know some VB6 programmers who will be singing in chorus of joy when they discover this nice little tidbit of info ;) Actually, based on this I know some VC 4.2 developers who will be overwhelmed to learn of their sudden jolt into the modern CLI world...]

                Posted by m.david at 03:25 AM | Comments (0) | TrackBack

                May 02, 2005

                A Screen Shot! Kinda...

                As you will eventually see the ChannelXML project is broken down into modular XML which no matter how you try to look at it are essentially a combination of list items, each representing either and action that needs to be performed by the processors, data that needs to be output, or the location in which the data contained in the current context node should be woven into another XML module and processed by whichever process or processes this module requires (which can also be determined by both the data type and value of a particular element passed into a processor.) It may sound complicated and I will warn you that if you get queezy when you get any where near anything that looks like recursion, you may want to keep your distance for the first little while until you realize that recursion, when thought of as each individual instruction or even lists of instructions is the easiest programming paradigm on the planet. Its when we let our minds think outside of the granular processing model and instead focus on the grandure of the entire "engine" that tends to be bring grown men and women to a wimpering to whaling breakdown that general requires heavey doses of medication and one or two "Dude, you got issues" stares to help stop the madness... What does this have to due with screenshots? Ummmmmmmmm.... hmmmm... Oh, I remember!!!

                Project modules.

                I hope I don't need to go into any detail as to why using your favorite graphics editing program to first design a web page, module, or entire site is the single most important productivity point to the design, development, and release of a project. Anybody who says anything different is either a liar, a rookie, or both. The other possibility is that you are the non-graphics type of person who could care less about form and function and simply whether or not you can gain access to the data you are desirous of. I know your type... I've worked with you for years, and years, and years and each and every time I hear the justification as to why you think whatever is on your screen qualifies as some obscure version of a web page... well, anyway... at least you can write killer C and C++... :D

                So, moving on into the explanation of this graphic... this is a modular piece of the design for the "On The Air" portion of ChannelXML project, an area designed to gain easy access to the "blogxasts" or "podcasts" (Im not going to force people to use my stupid term just because... I plan to use blogxast, you use what you want to use) that have been published and made available to the system. A simple rating and comment system will ensure the best of breed rise to the top if the stack.

                You can probably guess whos blogxast I used for the sample here, but please don't confuse this fact with vanity and instead with the fact that, so far, I'm the only one even using this system much less publishing to it so I really didn't have a lot of options to work with.

                Please keep in mind this is just a module for a much bigger page composed of many other modules. It seems that no matter how much I prep a client to the fact that this is "only a small portion of this page/project, this only will do this or that or look like this or that" they are absolutely compelled to say "but what about the little whizzy wig thing down at the bottom???!!!" That usually about the time I give them the "I'm going for coffee" look that really means "WHY CANT YOU UNDERSTAND SIMPLE ENGLISH!!!! I need some time to zap you out of my memory..." So, if you have this sudden urge to say "but this doesnt look like a web page... where the..." just stop right there... I'll be grabbing coffee while you ponder that thought... ;)

                One other thing: I have realized that when I felt compelled to announce this project it was more for the concern of looking unoriginal when it did launch and therefore the announcement came like 6 months before I had mentally planned for before reading the Adam Bosworth keynote. I've done 6 month projects in 3 weeks before but it sucks!!! I still plan to get this first phase out ASAP but after that theres no point to push everything else aside just to bring this project to full and total completion. The intention is really to encourage community involvement for both content and code and that is most definitely what I am aiming for just as soon as I can get this to a state in which I wont be bombarded with "but what about..."

                I'm going for more coffee... ;)

                Posted by m.david at 09:45 PM | Comments (0) | TrackBack

                big, Huge, GIGANTIC!!!

                Signs on the Sand: Microsoft licensed Mvp.Xml library

                No comment from me even necessary...

                Posted by m.david at 04:08 AM | Comments (0) | TrackBack

                A quick-look at my new 'blogxast' station

                Things are slowly coming together, the following picture representing the new station in which I just pieced together to act in the capacity of my "blogxast" station where I will be creating, editing, and "blogxasting" my up and coming talk shows which I mentioned as part of the ChannelXML announcement. I actually have three separate shows planned, all with a very different focus, one in which has no real technology focus whatsoever. I'll post more details when things are a bit more solidified as to dates, times, and content for each blogxast.

                BTW... If you are wondering what a "blogxast" is its what I personally believe podcasting should be called. Why?

                The partial reason is I don't really like iPods, they're WAY overpriced for what they offer, and I've always had a dislike for Apple in general. But moving beyond my own personal dislikes blogxasting simply fits better into what is actually taking place and allows room for other types of content besides audio as at the present is what the iPod family offers (excluding iPod photo which, when you look at the size of the screen, it leaves you wondering why even bother.) No doubt they will eventually catch up with the rest of their competitors and provide video and finally begin to offer PVR and on device playback similar to that in which my Archos AV400 is capable of doing. [You can see my Archos in the background of this picture -- A FANTASTIC device that kicks my iPods ass -- yes, I actually own an iPod, used it for 3 days, and replaced its usage with the Archos... best decision I've made in a long time. The iPod is around here somewhere, I think...]

                Anyway, the pic...


                We're gettin' there. :D

                Posted by m.david at 02:35 AM | Comments (0) | TrackBack

                May 01, 2005

                A Hackers Prayer - Version 0.1

                I think this may have been inspired by one too many Chai Tea Latte's (Mmmmm.... my favorite! :D) last night at "THE" local SLC late night coffee house (yes, they actually have coffee houses in Salt Lake City and in fact even have bars!!! ;) where I will go to get as far away from my computer as possible -- separation is an important part of any relationship -- and simply think. This is the result of last nights so called thinking session...

                A Hackers Prayer

                by M. David Peterson

                Originally scribbled into my notebook on May 1st, 2005 between 1 and 2 a.m.

                As I lay my head to sleep

                Yet once again on keyboard keys

                If this time 'round my eyes don't wake

                I pray no one my source will take

                But if they do I guess that cool

                Just make sure I get credit due

                Cuz' in the end what judges me?

                The size of my Subversion tree!

                Posted by m.david at 10:06 PM | Comments (2) | TrackBack

                Only a fool would miss this presentation...

                via Oleg Tkachenko:

                Erik Meijer, one of designers of Haskell98 and C-omega languages will be presenting an interesting webcast at Tuesday, May 03, 2005 10:00 AM (GMT-08:00)

                While it could easily be argued that just 'cause it would take an act of God to keep me from tuning into this presentation that doesn't necessarily mean I'm NOT a fool, missing this presentation most certainly works to this points converse proportion.

                While functional languages tend to be more of my specialized focus, Haskell is still on my list of "must learn" languages, Lisp/Scheme having been more of my functional language focus which, when noticing the similarities, is part of what helped bring my focus to XSLT around the 2001 time frame. Given the fact that Dimitre has based FXSL on the Haskell Prelude it would be an obvious benefit for me to focus a good portion of my study time on Haskell as this would most certainly make me a better FXSL programmer. Without a doubt I plan to do this ASAP! It should be safe to assume that listening in on this webcast of Erik Meijer will probably give me a good base of areas to focus my studies given that, as Oleg points out, Erik was part of the Haskell98 project and is now working on COmega, something I have a HUGE amount of interest in if not already made obvious.

                Posted by m.david at 12:17 PM | Comments (0) | TrackBack

                A great post and a new Quote of the Day

                [UPDATE: I recently receive a pointer to this posting in which the following paragraph makes this situation all the more interesting:

                And by the looks of it, many MVPs already signed. Or have they? Wait a minute. There a quite a few MVPs, and surely I don't know all of them. But the Dutch MVP community is not that large and the Dutch names on the list do not seem familiar. Many of the names (Dutch and otherwise) are not listed in the MVP directory. So what's this. A scam? A form of miscommunication, a computer glitch, misjudgement?

                DataDirect, the 55% fiasco and now this? What on earth are you doing????!!! 2 years ago this might not even be detected and if it was would have difficulty spreading to the masses. We no longer live in that world. Blogging and Bloggers have completely changed the media landscape. You may want to mention this to whichever firm you hired to develop these last two campaigns. Just a suggestion...]

                [original post]

                Oleg has done a great job of commenting on the recent "XQuery For All!" campaign and has presented me an opportunity to extend my "The Day in Pictures" post which some of you may have been scratching your heads as to what on earth I was talking about and where did I find the original picture in the first place.

                Like Oleg states if this had been last October we would be looking at something quite different. But its not as as such I question why the push when it has to be obvious that its simply too late for anything of this nature to have teeth big enough to bite and latch on for dear life with. Why Obvious? ...

                Given the fact that DataDirect/Sonic is in the business of making software they should easily understand how much time and effort goes into making last second changes. There's no such thing as "last second changes" in this business, especially at the very top of the stack, where Microsofts playing field has been mapped out. There are showstoppers and there are product releases. Thats it! You have to choose one or the other (especially at this stage of the game), the prior pushing the release of a product out Yet Another "It is Expected to Release in Quarter 'X' of Year 'Y'" From Now.

                Whether we want to admit it or not (and believe me this is not an easy thing for me to admit!) the XML processing pieces, while vital, are only a small portion of the CLI Foundation Class Libraries. While in our world all we think about is XML there are hundreds of other class libraries that, if questioned as to what XML was, would answer "I'm sorry, but all I understand is CIL, could you be more specific?" Microsoft hasn't taken anything away that previously existed and therefore (I'm guessing) hasn't broken any models that couldn't easily adapt to what was already available, given this is what they were using in the first place. Like XSLT, XQuery is a high level language, not a core piece of the CLI foundation. Take away XQuery and you've pissed off a few of your fans and caused a bit more work for your PR team. Take away System.XML... now you've got architectural problems that effect nearly every piece of the framework that doesn't live within the mscorlib.dll assembly.

                So boiling things down, my question to DataDirect/Stylus is simply: Why now?

                And furthermore: Haven't you been hypin' your own XQuery product, something so great and wonderful that it can be embedded into anything without cause for concern that it may not work as expected? If this is the case, then extend it to work within the .NET framework. Its easy to do. In fact you can see an example of it working right now as part of Saxon.NET (the whole and entire reason for this post), something I have a pretty good understanding of. Obviously I didn't write Saxon and therefore can not claim anything more than the fact that I have hacked a few libraries, added a few bits and pieces, and adjusted the architecture to fit in line with a .NET library as opposed to an executable (separation of the Transform, Query, and Compile classes from the core Saxon package, all of which contain main() methods, Main() speaking in C# terms.) But if its possible to take the resulting compilation of Java Byte-codes, convert them to CIL, develop a run-time that manages the execution of this code and its interaction with the compiled Gnu Classpath project libraries (that have been converted to CIL as well), then shouldnt it be possible to something similar with your implementation? "If there's a will there's a way" but I don't think you need to be told this. So again, Why now? What's really going on behind the scenes that we are unaware of? Is this a marketing ploy to bring attention to the fact that you will be providing support for XQuery on the .NET platform as part of your XQuery offerings?

                I'm all for "Carpe Diem" but it annoys the hell out of me when political campaigns precede marketing campaigns so if this turns out to be the case you will have done a nice job or alienating someone whos happens to be a fan of one of your core profit making products in Stylus Studio. I can't speak for anybody else. But I can speak for myself when I suggest that since I do a majority of my XML devwork in Oxygen anyway and since I haven't pony'd up the 5 Benjamin's n ecessary to license Stylus for the pieces I have found it useful for, at that point (if it turns out that this is a preceding political campaign) I will most certainly NOT be relieving my five little compadre's of their "sit in my bank account" duty to make such an acquisition.

                If, however, I am incorrect in my thought process and in a reasonable amount of time from now it can be seen that this has just been me being a little too "Conspiracy Theory"'ish then I will most certainly follow-up this post with an apology for thinking out loud that there's more to this than meets the eye. But after the "55% of developers are already using XQuery" fiasco I'm taking a "wait and see" approach to this one. So, I guess we'll wait and see.

                Oh, BTW... the new "Quote of the Day" comes from Oleg:

                "Small advice for StylusStudio - one gotta read blogs in this century to be informed early."

                I'll post that now.

                Posted by m.david at 10:50 AM | Comments (0) | TrackBack

          • © 2005 :: <XSLT:Blog/> (xsltblog.com) is a product of M. David Peterson and FunctionalX Consulting. See Licensing Info Below.
          • Except where otherwise noted, this sites content and source code is licensed under the Attribution License from Creative Commons.