• « February 2006 | Main
  • XSLT:Blog[@author = 'M. David Peterson']/Main: March 2006 Archives
              • March 31, 2006

                USGS Earthquake Hazards Program � Magnitude 6.4 - KERMADEC ISLANDS REGION

                USGS Earthquake Hazards Program � Magnitude 6.4 - KERMADEC ISLANDS REGION

                There's just something about the location of this that has me concerned.

                It's seems prayer is in due order.

                Magnitude 6.4 - KERMADEC ISLANDS REGION

                2006 March 31 13:21:03 UTC

                * Details
                * Maps

                Where can I find...?
                Earthquake Details
                Magnitude 6.4 (Strong)
                # Date-Time Friday, March 31, 2006 at 13:21:03 (UTC)
                = Coordinated Universal Time
                # Saturday, April 1, 2006 at 1:21:03 AM
                = local time at epicenter
                Location 29.468�S, 176.755�W
                Depth 27.1 km (16.8 miles) set by location program
                Region KERMADEC ISLANDS REGION
                # Distances 110 km (69 miles) ESE (103�) from Raoul Island, Kermadec Islands
                # 937 km (582 miles) S (189�) from NUKU'ALOFA, Tonga
                # 3063 km (1903 miles) WSW (239�) from PAPEETE, Tahiti, French Polynesia
                Location Uncertainty horizontal /- 10.2 km (6.3 miles); depth fixed by location program
                Parameters Nst= 83, Nph= 83, Dmin=115.4 km, Rmss=1.11 sec, Gp= 61�,
                M-type=moment magnitude (Mw), Version=6
                # Source U.S. Geological Survey, National Earthquake Information Center
                World Data Center for Seismology, Denver
                Event ID uskyay

                Posted by m.david at 01:38 PM | Comments (0) | TrackBack

                IronPython 1.0 Beta 5 Released

                IronPython: News item

                via a recent post to the IronPython's Community Interface, Dino Viehland writs:

                We have just released IronPython 1.0 Beta 5. This release focuses primarily on improving IronPython’s performance. In this area we’ve reduced working set and startup type by optimizing methods on-demand, improved the speed of attribute access, reduced the overhead in many basic operations (e.g. equality checks and uninitialized checks for local variables), and done other various fine tuning. As usual there are also a good number of bug fixes (primarily focused on community reported bugs). There was also one significant API change in the .NET <-> Python interoperability area:

                If we have the following definitions:

                public class Foo {
                public void Bar(int arg) {}
                public void Bar(int arg) {}
                }

                We can call the non-generic version with any of:
                foo.Bar(1)
                foo.Bar.__overloads__[int](1)

                And the generic one with any of:
                foo.Bar[str](1)
                foo.Bar.__overloads__[int][str](1)
                foo.Bar[str].__overloads__[int](1)

                This is different from previous versions of IronPython where indexing was used to provide access to generic methods.

                A more complete list of changes follows at the end.

                You can download the release from: MS Download Center

                We'd like to thank everyone in the community for your bug reports and suggestions that helped make this a better release: Aaronm, Anthony Tarlano, Eugene Rosenzweig, Shigeru Hemmi, JoeSox, John Platt, Klaus M�ller, Lewis Franklin, Pete Sheill, Rusty Deschenes, and Sanghyeon Seo.


                Thanks and keep in touch,
                The IronPython Team

                More complete list of changes and bug fixes:
                ============================================
                ReflectOptimize methods on-demand
                ReflectOptimize hasattr/getattr/setattr and other context aware methods
                Improve BigInteger parsing performance
                abs(True) and abs(False) fixed to match CPython behavior
                os(‘stat’) sets file modes properly now
                Bugfix: Setting variables in nt.environ doesn’t propagate to environment
                Bugfix: Improve constructing files from streams
                ReflectOptimizer inlines type checks for non-convertible types (ICallerContext & UserType)
                Optimize uses of Ops.IsTrue(Ops.Equal(… )) to Ops.EqualRetBool to avoid boxing & conversions
                Support binding to generic .NET methods and move manual overload resolution __overloads__ dictionary
                Use data flow analysis to avoid Uninitialized checks where possible in locals
                Optimize generator.next calls to get good performance
                Bugfix: IronPython CodeDom cannot round trip 2 buttons on a form
                Improve performance of constructing commonly used built-in types
                FunctionEnvironment performance improvements
                Minor tweaks to casting orders
                Avoid TLS where possible in repr
                Bugfix: from __future__ import division doesn’t flow into eval in some cases
                Bugfix: hasattr raises
                Bugfix: need to implement nt.startfile
                Bugfix: subclassing Tuple not working
                Bugfix: fix resource definitions in generated files
                Large namespaces use binary search to find attributes
                Bugfix: -i option doesn’t go interactive when exception is raised
                SuperConsole now supports Ctrl_C handling as well as basic console
                Bugfix: ‘%02d’ % 12 appends a leading zero
                Attribute access re-written for significant performance gains
                Bugfix: nt module doesn’t implement chdir
                ReflectedPackage’s delay load all type loads
                Bugfix: atxexit doesn’t work
                Bugfix: IP: Cannot use a class from IronPython generated class libraries
                Bugfix: Cannot delete variable referenced in nested scope
                Bugfix: Support special method names (__int__, __pos__, etc…)
                Bugfix: Support for generic & non-generic types of the same name in same namespace
                Bugfix: __doc__ strings should reflect how we mangle calling conventions
                Bugfix: Update makefiles to include new assembly references

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

                March 29, 2006

                The Alex Bosworth Effect

                ... otherwise known as,

                Premature Male-Pattern Baldness

                Alex Bosworth's Weblog: Ajax and XSLT in Web Development

                I especially like Google's choice to be agnostic about namespaces, as XML namespaces make me want to tear my hair out.

                I tell ya... I was this >< close to taking this piece and dissecting it into billion little "Itsy-Bitsy, Teenie-Weenie, Here's A Phreakin' Clue For Freebie" pieces... (and there are about 15 places that, in fact, made me want to rip out my own hair! Just not for the same reasons. [hint: XML NAMESPACES ARE MIND NUMBINGLY EASY TO UNDERSTAND!!!]

                That said, here's why I chose not to:

                I've been running into a lot of barriers with JavaScript when it comes to speed. JavaScript is just slow, and even modern processors (or my now obsolete PowerBook) start to choke very quickly under heavy load, resulting in a poor user experience, or worse, appearing to stall the browser completely.

                It's FANTASTIC to see that folks that just so happen to share their basic genetic profile with Adam Bosworth, and as such are going to garner both attention and immediatte respect, are coming out and stating what should be PAINFULLY obvious to anyone who's been around this industry long enough to understand that building production applications on top of ANY system that doesn't at VERY LEAST pre-compile to byte-code with debug symbols is just a bad idea all-together... read-eval-print loop (REPL) is GREAT for development, but if we were to expect the folks using our applications to simply accept "just how wonderful a REPL-based life truly is", Liberal Arts and Computer Science would be one-in-the-same in our modern-day curricula. {in fact, one might argue that they ARE one in the same... then again... ;)]

                This might be an area that the XSLT processors in browsers can assist, as seen in Johnvey's del.icio.us director.[2] Filtering in XSLT has the potential to sidestep a lot of the Javascript speed barriers, although unfortunately a significant minority of browsers don't have that much support for XSLT.

                Okay, I LOVE the general message here... but um... ummmm.... hmmmm.... how should I put this??? ...

                Hmmm... ["BREATHE M.! BREEEAAATTHEE DAMN IT!!!"]

                Please hold...

                [HoldMusic("Lawrence Welk's Greatest 'Elevator Music From Hell' Hits"):Start]
                [DEEP BREATH] and
                [RELEASE] and...
                [HoldMusic("Lawrence Welk's Greatest 'Elevator Music From Hell' Hits"):Stop]

                Okay, we're back...

                Firstly, how 'bout a HUGE round of applause for Lawrence Welk and ALL of...

                Oh wait, I'm sorry... What I meant was,

                "How 'bout a swift kick-in-the-a$$ to whomever it was that decided

                -- "Let's get an orchestra to play songs that should have never made it on to vinyl in the first place, and yet because it's our 'users' priviledge to be in OUR good graces in the first place, everyone should simply smile and accept the fact that its not THEIR choice, and instead OURS, what music they get the priviledge of listening to in the first place, only when WE say THEY can...

                Oh, and only on the devices WE say they can listen to them on as well... YEEHA!" --

                and thought "hey, that's a great idea!"

                Okay then, now where were we...

                Oh yes... firstly,

                "Filtering in XSLT has the potential to sidestep a lot of the Javascript speed barriers"

                Sometimes its so obvious its painful, huh?

                Yeah...

                Alright then... next up,

                "a significant minority of browsers don't have that much support for XSLT."

                Ummm.... "a significant minority of browsers"?

                "a significant minority of browsers"??

                "a significant minority of browsers"???!!!

                ["BREEEEEEEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATTHEE DAMN IT, BREEEEEEEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATTHEE!!!"]

                [HoldMusic("Lawrence Welk's Greatest 'Elevator Music From Hell' Hits"):Start]
                Ahhh, HELLL NO!!!! THATS IT...
                [DEEP BREATH] and
                [RELEASE] and...
                [DEEP BREATH] and
                [DEEP BREATH] and
                [DEEP BREATH] and
                [DEEP BREATH] and
                ["Not so fast or your'e going to hyperventilate and pass out"] and
                [DEEP BREATH] and
                [RELEASE] and...
                [RELEASE] and...
                [HoldMusic:Error("System can not loc;
                [SYSTEM:CRASH(REASON("There seems to be some sort of foot or somethin' lodged in the side of me.")] and...
                [RELEASE] and...
                [RELEASE] and...
                [RELEASE] and...
                [DEEP BREATH:SIGH(:type("relief"))] and...

                Okay then, I feel better...

                Alright, with that now in the past, how about I just leave at this,

                That's like the most twisted, back-a$$wards way to promote "Google's choice to be agnostic about namespaces" as there is nothing thats MORE wrong with Google's AJAXSLT project that its current "agnostic" approach to XML Namespace support as part of the Javascript XPath engine portion of this project.

                That said, I can understand how using the term "significant minority" can be *somewhat* justifiably used in the current snapshot of browser-based XSLT support, but before Opera's recent "browsers-that-still-matter" resurgance they were the only browser left that didn't provide an implementation of XSLT, and while I understand the need for and am EXTREMELY grateful that Google decided to create the AJAXSLT project, using the term "significant minority" at this stage of the game???

                Well, I'll just keep my mouth to the <Oxygen /> tank for a bit longer... how's that for compromise ;) :D

                Enjoy your Sudden [But Shouldn't Have Been] Realization That "You Mean I Can Replace ALL Of This Javascript Code With One XSLT Instruction Element and Function and I Could Have Been Doing This In 97% of ALL Browsers In Use For The Last Four Years???!!! .... DAMN IT!!!!!!!!!!"-enhanced Day! :)

                ---
                <xml:namespaces level-of-diffuculty="EASY, EASY, EASY!"> : What makes them difficult is not XML Namespaces in and of themselves, its the fact that by only embracing enough of XML Namespaces to get your XML to properly transform without spending a few minutes reading a Jeni Tennison XML Namespaces tutorial forces you to learn bad "over-thinking" habits.</xml:namespaces>

                [PLEASE NOTE: Please don't post any "technically using the XML namespace is..."-type comments or I will "Technically" beat your silly little Virtual Smart A$$ ;) (smile and know that your Momma still loves you despite your "Itsy-Bitsy Teenie-Weenie 'M. Just Kicked My A$$', That Meanie!" whining self. :D]
                ---

                [2] - I took the liberty to hack the link and point instead to the same project listed in the "Code of the Day" section of this blog]

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

                Open Source Smiles

                Swish-e :: Swish-e License

                In addition to that legal requirement, there are some strong recommendations that aren't legally required. You should make it clear to your users that you are using Swish-e in your product by listing Swish-e in your documentation and, if you have a web site, with an easy to find link on your web site. (Consider using the Swish-e logo). You must feel guilt if you add features or bug fixes to the software and do not inform other users of swish-e via the Swish-e discussion list, and you should think about buying the developers a beer. Or two. Or until they say 'stop'.

                Smile :)

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

                March 28, 2006

                Understanding Passion

                Dare Obasanjo aka Carnage4Life - Your Passion Underwhelms Me

                Rory says a lot of what I would have said in criticism of the passion post I found via Mini-Microsoft and does it with a lot less bitterness than I could ever muster. If you ask me, Microsoft could do with a lot less of its so-called passionate employees.

                I like this post from Dare (in fact, it seems to me that Dare's been on quite the roll lately)

                If there is one thing in life I have been accused of most often (and I've been accused of a LOT of things ;) its being passionate.

                I've always taken this as a compliment, although its not always meant as one.

                Not my problem.

                What is my problem?

                Depends on the situation. But being less passionate about life just cuz' it annoys some folks isn't what I would call a compelling reason to not be passionate.

                What would be a compelling reason?

                If the passion I exude did more destructive damage than it did constructive good.

                Of course, every situation provides a different context as to what "damage" applies to.

                Did someone die?

                Nope. Not by my hand.

                Did someone lose their job?

                Not if they didn't deserve to.

                Did someones feelings get hurt?

                Sometimes.

                Is avoiding the chance that someones feelings might get hurt enough to get me shutup?

                FUCK NO!

                Why? Do I just not care about peoples feelings?

                If I have EVER come across that way to any of you, then for this I am TRULY sorry! Thats not what I would EVER want someone to believe. In regards to caring about people...

                People are what matter the most to me.

                But the politically correct bullshit that its better to say nothing than to risk offending someone or hurting someones feelings is just that: Bullshit.


                Please don't take that to mean that I feel it's okay if you're racist or a hater of persons of any type (meaning, for example, there are white people who are snobs, bitches, complete fucks, trash, good, great, AMAZING, Mortal God's, etc...) except for those who wish harm upon others, to then act upon this wish -- but even then, if at all possible you should love the sinner and hate the sin, but like I said.. if at all possible. Sometimes thats a pretty hard thing to do, and no ones perfect. But, as usual, I digress...

                Here's the point: I can see both sides of the argument that Dare has pointed out, although I will admit that I side more with Rory's argument than I do mini-m$ (you'll need to read the above linked article to understand what I mean.) And I can't help but laugh at Rory's "Enthusiasthma" label. I dig that (and not because I don't think that the label can be applied to me... sometimes (or even often times) it can. When it does, I learn, I try harder the next time not to make the same mistake... It doesn't always work out that way, but sometimes it does. So I guess thats progress. Progress is a good thing :)

                However (and maybe this is a lot of what Dare and Rory believe as well... not sure as it seems theres plenty of room in both of their posts to allow for the fact that, generally speaking, this is how they both feel) finding a balance between being enthusiastic and pesimistic is a required attribute of "Passion."

                In fact, this is true about everything... i.e. finding balance.

                And I can speak from experience on this one... As mentioned above, It TRULY IS possible to be TOO ENTHUSIASTIC and TOO PESIMISTIC as at various times I have been both. Sometimes, even at the same time. (< not a perfect one-to-one comparison, but it's close enough to showcase the fact that its possible to be too much of both extremes, all at the same time :)

                So to summarize...

                To understand passion is to understand that, like everything, a balance must be struck if you are to have any hope at being effective.

                Oh, and actions speak louder than words.

                Yet Another Page From My Personal "The Hard Lessons of Life" SketchBook :)

                Enjoy you're (hopefully) less-"Enthusiasthma"-stricken, More Positive Result-Driven Day :)

                Posted by m.david at 01:27 PM | Comments (0) | TrackBack

                March 24, 2006

                It Takes A Big Man To Say The Word "Trust"

                ongoing � WS-Fritz-Lang

                And when that man is Tim Bray and the person he is inferring his trust works for Microsoft... Well my friends, Tim Bray has just proven once again why I admire him as much as I do:

                (which I’ve never quite managed to understand, but Don Box says it’s at the center of WS-everything, and I trust Don)

                Wow!

                Okay, so the person he's inferring his trust upon is Don Box. Pretty safe bet if you're in the market to infer trust upon someone.

                But did I mention Don Box works for Microsoft?

                That should be plenty there, so I'll just leave it as-is.

                Posted by m.david at 10:54 PM | Comments (0) | TrackBack

                Jonathan Knows XQuery

                Jonathan Robie's XQuery Blog

                Jonathan Robie's XQuery Blog XQuery, XQJ, Data Integration, XML, Databases, and the Web.

                So I knew Jonathan Robie (fifth name down... yeah, in case you were unaware, Jonathan kinda knows a thing or two about XQuery ;)) had started a blog a while back. But it seems he has gone from his once in a blue moon post's to once every day or two.

                SUBSCRIBED! :)

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

                Complex Systems vs. System Complexities

                No one ever got fired for... ✏Copia

                So no one gets fired for Google-like systems architecture. No. Outside the crescendoing Web 2.0 bubble, no one gets hired in the first place if there's the slightest sniff they'd contemplate such a thing. Shame. Web 2.0 is not a bubble (square-one-dot-com) because it's based on near-trivial technology. It's a bubble because there are very few opportunities for arbitrage in a marketplace whose point is to provide customers unprecedented transparency and choice. The very place where such an approach can more consistently provide value is within the enterprise whose information systems have so long been bantustans of baroque and isolated systems. The enterprise is where there is a real chance of information systems revolution from Google-like technology. And it's the one place where no one is looking to build and deploy technology the way Google does.

                Yet Another Fantastic Post from Uche. I could not agree more with ALL of this.

                Two things to point out:

                Point One: In a recent eWeek article, Ward Cunningham states:

                When Cunningham said working at Microsoft was "hard," he said he meant geographically it was difficult because he lived in Portland, Ore., and had to travel a lot to work.

                "Also they had a lot of expectations of me, as in let's do the community thing," Cunningham said. "The community thing is based on trust, but Microsoft was coming out of a period where people did not trust them," he said. "But I'm happy to be working on something else, too. And in the end my interest is in developers being able to create and to try to add to that creation."

                However, part of the attraction to work at Microsoft for Cunningham was "to get to know and understand Microsoft, and I have nothing but respect for them."

                Indeed, Cunningham said of Microsoft: "They practice software development in its highest form."

                And though Microsoft is slow to adopt the community model of development, they are headed for it, Cunningham said.

                "They have to inch toward this community style development, otherwise it would be irresponsible to their stock holders," Cunningham said. "What they do and say is in the best interest of their stockholders. … Microsoft has to be more cautious. And IBM has to be more cautious. Even as a developer in the Eclipse foundation there's a certain amount of busy work that a developer has to do, like keeping an intellectual property log and stuff like that. But this is what you have to do."

                I like that. Why? Because it showcases the fact that Microsoft understands at least two things:

                - You can't break your own knee caps.
                - You can change the way you do business.

                Hopefully that will just make sense, so I won't ellaborate.

                Point Two : In a recent private email thread, Uche and I came to realize that we had both come to the same conclusion about how to develop a decentralized Atom data feed synchronization engine.

                Step One: Make it SIMPLE!
                Steo Two: Let BitTorrent deal with the complexities.
                Step Three: Keep it SIMPLE!

                How does this relate to the "Complex Systems vs. System Complexities" title.

                Complex Systems: Systems so complex, it takes a room full of PhD's just to make sense of even the tiniest portion.

                System Complexities: Not everything contained within a simple system can be simple. But by minimizing the complexities, pushing them into just one or two off-the-shelf solutions (like BitTorrent) life suddenly becomes livable again. Instead of spending our time dealing with brittle and/or breakable systems, we instead get to go home at the end of the day and enjoy our lives instead of worrying about what we're going to do if the duct-tape and bailing-wire patch we just built is going to see you through the night.

                As Kurt (Cagle) recently pointed out, you can only abstract the complexities away to a certain point. At some point things ARE complex, and there is no simple way around it. But by keeping these complexities contained in a side-effect free manor, instead of patching Yet Another Leak, we're instead patching the tires of our son's and daughter's bicycles, living our lives instead of having them lived for us.

                In other words:

                When we enjoy life simply, life is simply enjoyable.

                (there's that damn recursion again! ;)

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

                Little Digs

                ongoing � Atomic Google Hacks

                Line 6: This is a Google-Reader-specific extension of some sort, and I have no idea what it means, and that’s just fine. Atom requires that software tolerate this kind of thing, which is why we’ll probably never need Atom 2.0 or even 1.0.0.0.1.

                You'd have to be somewhat of a fanatical follower of the RSS "babys-mama-drama" to understand why this has me rolling my a$$ around my office floor in convulsive laughter.

                Keep em' coming Tim! I need a good laugh and a smile like this every two to three hours such that I can remember why I love this business as much as I do :)

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

                March 22, 2006

                The Day We All Settle On A Handful Of XML-based Document Standards Is The Day The Lawyers Won...

                Sean McGrath, CTO, Propylon

                ...and we lost. We lost the battle, our desire to change, adapt, create, and be free from ANYTHING that might suggest we live within the confines of someone elses standards.

                Folks will increasingly stop creating new XML-based languages at the front-end. Instead, the XML-based semantics will be tunnelled into a small set of existing vocabularies, most notably XHTML, RSS/Atom and ODF.

                I'm sorry, but I could not disagree more with EVERYTHING in the above statement.

                Don't let other folks define you. Don't give in. Don't give up.

                NEVER STOP CREATING.

                That includes XML formats, competitors to XML formats, and things that have nothing to do with XML formats at all. They're are just something you felt like building one day just cuz'

                The above statement, and ANY others like it ANGER ME!

                Don't Listen. Create.

                And don't EVER stop! The very foundation of who we are as human beings can not be defined by the narrow-minded ideas and ideals of 500 years ago, 50 years ago, 5 years ago, or even today, tomorrow, and 5, 50, and 500 years from now. The desire to create, to be something others are not, or create something no one ever has, or just to be different for no other reason than you just feel like being different is what drives the very essence of the who you are, who I am, and who people in whom we will never meet, and in whom could give a rats a$$ about XML or anything like it.

                And this comes from someone who actually REALLY LIKES ALL of the XML formats that Sean mentioned. Sean is a brilliant man, please dont take this to mean I think he's suddenly not.

                I just dont believe we should EVER insist or suggest, or otherwise confine the imaginations in which we ourselves rely on each and every day to make us feel complete.

                I think using Atom, and XHTML, and ODF, and OpenXML, and whatever else puts a smile on your face is what you should decide for yourself to use.

                Don't let others make those decisions for you.

                Thanks.

                Question: Anybody know what happens when you start telling folks to confine themselves to a certain set of ideals? Even when you and I know those ideals are the right way because we've tried a whole bunch of other ways, and they didnt work as well, or at all, or whatever else?

                Is there a reason why Lisp was one of the very first computer languages and is now makin a sudden resurgence? Yep.

                Why didn't we just listen to our elders back then when they told us "you don't need this language, or that language, or any other language for that matter... you have all you need in Lisp"?

                Because we wanted to do things our own way.

                Should we have listened?

                NO! Because LOTS of good things have been created since then, and lots of bad things too. But it was the human spirit and the desire to try new things, and push against the norm that drove us to push our imagination to the limits.

                Why is that suddenly now different just because we recreated Lisp inside of a markup syntax called XML?

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

                March 21, 2006

                Acid 2 :: Take:Two (and Don't Call Me In The Morning!)

                Since I'm one of the few hackers left that actually uses Windows on a regular basis, much less Internet Explorer, I guess by default I'd best do my duty and provide a quick update to my previous Acid 2 comparison test.

                Oh wait... firstly, I guess I should preface this with the fact that there is another preview version of IE7 available, cleverly labeled:

                Internet Explorer 7 Beta 2 Preview - released on March 20th

                This would, of course, be in replacement for:

                Internet Explorer 7 Beta 2 Preview - not released on March 20th

                Of course never wanting to confuse things even further, here's a sample "clarification" follow-up comment to yesterdays announcement:

                Beta 2 isn't even out yet and we have a final release later.

                So, in other words,

                This is not Beta 2, but the second preview release thats leading up to Beta 2, which is labeled "Internet Explorer 7 Beta 2 Preview - released on March 20th" which SHOULD NOT be confused with "Internet Explorer 7 Beta 2 Preview - not released on March 20th" (and really, how could it be???!!! ;) which will eventually be replaced by Beta 2, to then be followed up with a "final release later."

                Q: "final release later."? Does that refer to a final Final release, or a final Beta 2 release?

                You know what... Nevermind... I don't want to know.

                Okay then.... So, now that we have that all cleared up lets first look at what the Acid 2 test results should look like:

                acid2-reference.png

                Okay.

                Next, "Internet Explorer 7 Beta 2 Preview - not released on March 20th":

                acid2-ie7beta2pre.png

                Huh...

                Well, on the positive side, I guess it couldn't get much worse than that, right?

                So then lets take a look at "Internet Explorer 7 Beta 2 Preview - released on March 20th"

                acid2-take2.png

                [InnerVoice: Apparently I spoke too soon.]

                OuterVoice: Well, the difference is obvious to me...

                Any questions?

                [InnerVoice: Actually, I personally have several, but at this stage I am in fear of the answer(s) so I'm just going to pretend this all makes sense, and cry myself to sleep a bit later to make up for it. :D]

                OuterVoice: Does anybody have a Valium I can borrow?

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

                Your 100% Right, Dare.

                [UPDATE: Please see my extended follow-up piece on my O'Reilly blog]

                Dare Obasanjo aka Carnage4Life - Instant Messaging Networks vs. Public Social Networks

                Of course, nothing stops the recruiter from just blogging about our relationship or creating a blogroll of "people I'm trying to poach from Microsoft" but that's just her word against mine. With publicly exposing her social network, it is now confirmed that we have some sort of relationship. That's not what I agreed to when I accepted her as an IM contact.

                A lot of this is gut feel from a lot of us who use and build these products. However I'd rather err on the conservative side than piss off our users in a crass attempt to increase the usage of one of our features.

                Whether this scenario, or any other, the fact that I might have someone on my IM "buddy" list *SHOULD NOT* infer any rights upon that person (who would in turn have me on their contact list) to make this information public in *ANY WAY*.

                By forcing me to explicity allow someone to add me to their social network, whether public, semi-public, semi-private, or private, puts that control into MY hands, not theirs. With this in mind the following quote:

                Dare warns about automatically converting a Buddy List into a social network. Hmmm - we’re about to find out how that works with AIM. This notion of the Buddy list as social network tantalizes me - the results will be fascinating. Dare claims it will be a 'privacy nightmare'. I don’t necessarily agree with him - but (as I said above) we're about to find out if this is true - in spades.

                and in particular this statement:

                Hmmm - we’re about to find out how that works with AIM

                ... makes me happy to know that I stopped using AIM, more or less, as soon as I started. The reason for stopping really had nothing to do with anything that went beyond taste -- I simply didn't like the look, feel, or function of AIM. MSN Messenger, Yahoo, and now GTalk have always sat well with me in this regard; each for slightly different reasons, but none-the-less, they each look, feel, and function in a way that has kept me as a so called "customer", or member of their network.

                I can tell you one thing, if that wasn't the case, or in other words, if I was still a member of AOL's Instant Message (AIM) network, that membership would now be coming to screaching halt.

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

                March 20, 2006

                On Loved Ones Lost

                I just finished speaking with my Mother who had just gotten off the phone with her brother Paul. Paul, and the rest of my Aunts and Uncles (my Father was an only child) live in Australia, mostly in the Perth, Western Australia area. As such I've never really had a chance to get to know most of them, including my Aunt Maria.

                Maria had a tough go of it in life. Today, it seems she decided enough was enough, ingesting weed killer, bringing an end to the pain and suffering of living a life in which Schizophrenia had taken control.

                I never knew Maria. But she will never be forgotten.

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

                Andrew Welch Enters the Blogging Ranks

                ajwelch

                The Sudoku solving stylesheet craze has been catching on...

                Dimitre Novatchev, creator of FXSL and xsl-list regular, has written a stylesheet (in typical Dimitre style) which attacks the problem from a slightly different angle.

                It seems while I wasn't paying attention, Andrew Welch up'd and started a blog.

                Welcome Andrew! Subscribed.

                Regarding Andrew's post.... I have some more to announce regarding the mentioned Sudoku craze. Hopefully announce that later today.

                In the mean time, pay a visit to Andrew's blog and learn a thing or two you didn't already know :)

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

                March 19, 2006

                A Windows Life Without Cygwin?

                I just have to give a quick shout out to the Cygwin folks... In all honesty, I can't imagine life without the absolutely fundimental *MUST HAVE* utility for anybody who lives in a cross-breed OS world.

                Posted by m.david at 11:01 AM | Comments (2) | TrackBack

                What I Had For Breakfast

                Push Button Paradise

                Blogging as a life skill

                Along with a few other Yahoo!s, I sat down today with Jon Udell. One point stood out: Blogging is a life skill, part of managing a public persona. Professionals from all different walks of life, from teachers to city planners to hardware store owners could benefit from posting well-thought-out material regularly.

                The what-I-had-for-breakfast or most rant channels, however, are still worthless. -m

                Hmmm. Well that sucks. Guess my daily "What I Had for Breakfast" series just came to a screaching halt.

                Thanks a lot Micah! Now what am I supposed to write about?!

                How depressing... ;) :D

                Although, wait... I guess I could always write about my pet fish. Of course that would require I buy a pet fish. But thats just a detail, really... If I did get one, it would certainly help replace the now defunct daily "WIHFB" series,

                Okay, I'll look into it and let you all know how it turns out. :)

                P.S. What about the rants? Oh, there will be rants. And raves. And everything in between. Just no more "What I Had for Breakfast" posts. Its now all about me and my new (or soon to be new anyway) pet fish "Spike." :)

                No need to thank me. You can thank Micah for that one. :)

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

                March 18, 2006

                Why Don't People Get Simple?

                Dare Obasanjo aka Carnage4Life - Storage is Key

                I will be interested to learn if Amazon has now or will offer some higher-level services on their storage service. Search, matching, versioning, etc. I see they want to keep it simple, and I agree with that. Before long though people will want to do things with their storage. Some of those things will be better done very close to the data itself.

                I wonder if/when we'll see the ability to put computations very near Amazon's storage (including indexes, calculations, searches, etc.) that are aware of the format of the stored data, that is secure, etc. Storage is just the most basic start of a shared grid of services.

                PLEASE NOTE: The above is a quote of a quote, in this case a quote from Patrick Logan provided in a "thinking about" type post from Dare Obasanjo.

                With that note firmly in place, heres my question:

                Why the fuck do people have to insist on complicating things???

                Amazon S3 should not take the place of the web hosting provider. It's ALL about separation of complexity into smaller, less complicated pieces that can then be stitched together on the client using a PHAT client mentality. The power on the client exists, and as Tim Bray recently pointed out, sits in idle 90% of the time. So why are we still thinking about things from the server-side mentality as if THIS is the "wave of the future".

                The server-side only future os OVER! OVER, OVER, OVER, OVER, OVEEEEEERRRRRRRRRRRRRRRRRRR!!!!!

                Okay, now that I have that off my chest.

                Here's the dealio folks:

                Amazon has created a FANTASTIC system in S3 that provides a REST and SOAP-based interface into a static file system. Thats not to say they won't or don't plan to offer processing power on top of storage and bandwidth, but to me:

                Simple Storage System (S3)

                Pretty much states in no uncertain terms what S3 is all about.

                * It's Simple
                * It's Storage
                * It's a System

                The last part of this list, System, is the part of this that I think people could take to mean a COMPLETE system. I don't believe the first two words allow for such a definition.

                Amazon SHOULD NOT take the place of the Web Hosting Service Provider. The WHSP's job has just got a WHOLE LOT EASIER with S3 as part of the complete puzzle. The WHSP can now focus on processing requests, and routing a client-side web application to the proper locations to pick up the pieces it needs to build itself on the client. This can mean grabbing the URI location from a SQL DB, it could mean the stitching together of a URI based on load balance, etc... but what it all has to do with is a message, in this case an HTTP-based (or HTTPS for that matter) request for a particular URI that potentially also contains an extended data enclosed in a SOAP, or POX-based XML package. The servers job is now to take that message, and disect its parts, processing the pieces its needs to process, and passing on the message, based on user credentials if necessary, to other pieces of the system. It then compiles a return XML-based message and sends it back to the client who in turn takes that message, disects its pieces, and process this message accordingly. In some cases, this will require a request to S3 for a file of some sort. Of course, in the absolute and pure genius that is commonplace @ Amazon is the inclusion of support for the BitTorrent protocol that immediatelly opens up the opportunity to spread the load out over and even broader surface area than even S3's decentralized surface area.

                This is GREAT!!! And WONDERFUL!!!!

                AND DON'T FUCK WITH IT!!!! LEAVE IT ALONE!!!! END OF STORY!!!!

                But not of post.

                Folks, upon receiving FANTASTIC opportunities such as what S3 offers to the WW:*, why do we immediattely try to complicate things? There's no need!

                Amazon SHOULD NOT become a Web Hosting Service Provider. The Web Hosting Service Provider system already in place is decentralized, and an offered up by a plethora of smaller companies, each focused on providing various levels of hosting services. LEAVE THEM BE!!! They do a good job of what they do. And as already mentioned, with S3 as part of the picture they can become even more specialized in the services they offer because of the load that can now be taken off of their pipes, creating an opportunity for these same pipes to serve up more requests in less time.

                LEAVE THEM BE!

                Please.

                Posted by m.david at 02:38 PM | Comments (2) | TrackBack

                On Education and Role Models

                James Tauber : Accepted into PhD Programme at Essex

                Those of you who are Cw/oRM (Currently without Role Model) or CBRM (Currently Between Role Models), it seems fairly obvious to me who should be the front running choice for each and every one of you withouters and betweeners alike:

                Accepted into PhD Programme at Essex

                Today I received a packaging indicating my acceptance into the PhD programme in Linguistics at the University of Essex. I will be a part-time external student for the next six to eight years starting this April.

                It's hard to describe just how much this means to me. Doing a doctorate is by far my oldest goal in life. I was about eight when I decided I wanted to do a PhD. In high school, I wanted to do it in theoretical physics (specifically general relativity) but 18 months into undergraduate studies decided I wanted to do it in linguistics.

                Various reasons, both personal and commercial, delayed my commencement by a decade. But I always knew I wanted to come back to it. I'm finally on the path. Thank you to my referees and to my new supervisor, Andy Spencer.

                Undoubtedly you'll hear a lot more about it on this blog over the years.

                If someone like James Tauber can find reason and purpose to continue forward in his educational quest (personally, it would seem to me James should be the one TEACHING, not TAKING the courses, but he obviously feels differently, and whom am I to suggest otherwise ;) :D) then NOBODY has even the slightest justification for not looking to James Tauber, who in the view of me and about 10,000 of my closest friends is the pure and true represenation of the crème de la crème in as many social circles as he see's fit to be a part of.

                I'm in pure an indescribable awe. Wow!

                Congratulations James! And thanks for giving ALL OF US Yet Another Reason To Envy You. No really, we needed more than forty-nine reasons. This rounds things out to fifty quite nicely :) ;) :D

                Posted by m.david at 12:21 PM | Comments (2) | TrackBack

                March 17, 2006

                Dear Mercedes Benz,

                I'm not one who chooses to watch Television all that often. I own a T.V. but I decided a while back that the amount of benefit I gain from watching T.V. as opposed to going out for a walk, or sitting down and reading a book was so far out of proportion that it simply doesn't make sense to spend much time in front of it (with the power turned on) anymore. I do sit in front of it on occassion. But thats more about the location of the T.V. as it relates to the couch or chair I will sit in to read.

                "What does this have to do with you, or the automobiles you manufacture?"


                I'm glad you asked,

                I am sitting here inside my local late night coffee house in downtown Salt Lake City, UT. This particular coffee shop (Salt Lake Coffee Break > between 4th and 5th East on the South side of the 4th South for those familiar with the area) is well equipped with all sorts of things to help take your mind of off, or turn it on to, whatever it is you are desirous of. Free WiFi, books, newspapers, magazine, couches, chess boards, and oh yes, even a big screen T.V. (with the sound turned off, closed caption on).

                I stop by SLCB once, or even twice on any given day. I'm not actually much of a coffee drinker... I prefer Chai Tea, and SLCB serves up a mean Tazo Chai, mmmm,mmm,mm.

                With a Chai Tea Latte in hand, and Cat Stevens "On The Road To Find Out" currently streaming through my headphones, life really couldn't be much better.

                Well I left my happy home to see what I could find out

                I left my folk and friends with the aim to clear my mind out

                Well I hit the rowdy road and many kinds I met there

                Many stories told me of the way to get there

                Have I lost your attention yet?

                "Huh?"

                Good! Because I must say, you just lost mine too.

                "How so?"

                , you ask.

                Yet another excellent question! My my, you are on top of your "good question" game now, aren't you :)

                So on and on I go, the seconds tick the time out There’s so much left to know, and I’m on the road to find out

                Well then, with our little virtual system cursor sitting firmly in place on the topic of Good Questions, here's one for ya:

                "Some historians will tell you that Mercedes Benz won that race... We'll tell you that the race with ourselves is never over."
                "That's a question?"

                Can I finish their Ritalin Kid?

                "Huh?"

                Exactly.

                So, the question (wouldn't want to cause a little mini-temper tantrum, so I'd best get to the point before I do):

                "The race with yourself is never over?"

                "Huh? Oh.. yeah, yeah... that's right... "The race with ourselves is never over..." Isn't that clever!"

                No.

                "Huh?! Yes it is!"

                Whoa! Here's comes that temper tantrum... Yikes! Here, let me throw you a bone, and then I'm getting my a$$ out of here before you complete lose it...

                Let's change things around a bit and lets see if you can stay focused long enough to understand the difference:

                "Some historians will tell you that Mercedes Benz won that race... We'll tell you that the race is never over."

                Can you see spot the difference there RitzBitz?

                "Yeah, but that doesn't put the focus on us, on Mercedes!"

                Oh, so you mean you can understand the importance of staying focused? Excellent! Lets see then if you can focus on this:

                As much as you would like it to be, there's a good reason why Mercedes Benz isn't and shouldn't be the only automobile manufacturer on the planet. Of course your response to this will more than likely contain the fact that

                "Mercedes is owned by DaimlerChrysler AG, who also controls Chrysler, Dodge, and Jeep"

                Oh good! Not only do you understand the importance of staying focused, but you can memorize text book responses as well...

                "Huh? That's not a textbook response! We really DO control Chrysler, Dodge, and Jeep... err, I mean, umm, ummm, Oh! I mean DaimlerChrysler AG, the corporation who owns us, also controls Chrysler, Dodge, and Jeep"

                Exactly. And thank you for rounding out my point with such crisp precision... minus a few "umms" but I won't tell no one if you don't.

                "Ummm... okay."

                Did you really have to start that last blockquote with "Ummm"?

                "Huh?"

                Nothing. Nevermind.

                Well, I listen to the wind come howl, telling me I have to hurry
                I listen to the robin’s song saying not to worry

                I can see we're not going to get anywhere with this, so let me leave you with one last message:

                Suggesting any sort of notion that one company controlling multiple brands is a GOOD thing, and that its the fact that there ARE multiple brands that matters most is pure and simple manipulation of the system. Of course, you can claim all sorts of

                "centralized control of multiple "brands" provides benefit to the consumer, as it allows us to save money in the areas where each individual "brand" would normally have to provide for themselves, e.g. Manufacturing of core components, management, sales, financing, etc... etc... etc..."


                To which I would respond:

                But sometimes you have to moan when nothing seems to suit yer
                But nevertheless you know you’re locked towards the future

                Sorry, that was Cat Stevens streaming through my earphones again. My own response would be:

                "Yes, bringing together common pieces into a centralized 'location' CAN be a REALLY SMART thing to do. Using a more common term,

                Outsourcing

                So on and on you go, the seconds tick the time out
                There’s so much left to know, and I’m on the road to findout

                Sorry, that was Cat again... you just never know when his lyrics will pop into any given conversation at any given time.

                In regards to outsourcing, yes, outsourcing is a good thing. It minimizes the investment necessary to build a competitive brand, bringing common tasks that can be seen as neutral in the areas in which you are competing with others.

                A great example of this is Amazon.com's new S3 service. The overall planning and costs of building a data center, or at very least a collection of machines that have been outsourced to a data center service provider can be ASTRONOMICAL. In fact, according to Amazon's own collateral:

                It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites.

                Now before you run off with some sort of "see, Amazon is doing the same thing we are!" let me jump in and cut you off before you make a damn fool of yourself.

                Does DaimlerChrysler AG offer centralized wherehousing and distribution services to anyone with a valid credit card, with ZERO start up cost, paying only for the storage space and the transportation 'bandwidth' used to deliver these goods to the any of the land and sea 'ports' across the world?

                "No. What benefit would that bring us?!"

                Exactly!

                Huh?

                Nothing. Sorry to wake you. Go back to sleep. I'll try not to be so loud next time.

                Then I found my head one day when I wasn’t even trying
                And here I have to say, ’cause there is no use in lying, lying

                Yes the answer lies within, so why not take a look now?
                Kick out the devil’s sin, pick up, pick up a good book now

                --
                DISCLAIMER: I don't believe that DaimlerChryslerAG or any of the "brands" it "controls" are evil in any way. I do believe in free trade and the subsequent competition that is part of a free trade system. I worry when I see a centralized company "controlling" multiple "brands" as I fear that it doesn't provide the necessary incentives to be more competitive. This, in and of itself, is the message I want to bring out from all of this.

                Posted by m.david at 06:28 AM | Comments (2) | TrackBack

                March 16, 2006

                When both sides work together, we beat AIDS and poverty

                one.org

                Dear Everyone:

                [INSERT: I received an email from Jeff Rafter yesterday:

                ...just a thanks for the blog post-- I contacted both senators from Cali today...

                Jeff is one of the folks that I have a TON of respect for. It always amazes me to hear and see some of the folks that read my blog entries. It means a lot to me to know that people actually do read, and do take action in the cases, such as my last One.org post from a few days ago, that call for action to be taken.

                Thanks Jeff!

                I made a commitment to both you and myself that these posts will continue to be made each and every time I receive a message from the One.org group. Receiving messages like that in which Jeff sent me help reemphasize that this kind of stuff REALLY matters. It matters to me, to Jeff, and to a TON of folks I interact with on a daily basis. In fact, I have an itching suspicion that it matters to everybody... We sometimes just don't know that we can take action, or if we do know we can we don't always know how.

                Sometimes its just information that's missing that means the difference between changing the way the world works. The One.org folks are helping to reshape our world in ways I doubt any of us, and possibly even them ever imagined. It seems to me that we all have a tendency to hope the things we are doing are going to make a difference, but its tough to truly believe that you can until you do.

                Information is vital! I learn new things everyday from the blog postings I will read from folks who have some information that I don't already have. In turn, it seems that folks gain bits of information from my entries that in turn give them some information they didn't already have.

                Is blogging going to change the world?

                It already has.

                Thanks be to the Dave Winer's (that list includes a lot of folks, so to avoid missing anyone, I plan to collectively thank you all, using Dave as a proxy (I think Dave certainly deserves to be the centralized focus of bringing blogging to the masses, don't you? :) of the world. You folks have each played in a hand in bringing about the necessary changes and build the necessary technologies that in turn help turn the thoughts of folks like those @One.org from "We hope we can make a difference" to "WE DID IT!"

                And we're only barely getting started... :) To me, that's exciting.

                If you haven't already started a blog... Please think about it.

                Thanks!
                ]

                [One.org Message Continued]

                Did you know that right now, four Senators are reaching across political divides to save lives? These Democrats and Republicans are coming together and agreeing on one thing—that America can do even more to fight AIDS and poverty.

                urgentactionneeded.jpg

                Join them: Please call 1-800-786-2663 TODAY and ask YOUR Senators to support the Santorum-Durbin and DeWine-Leahy Amendments to fight global AIDS and extreme poverty.

                As ONE, you’ve made over 10,000 calls to the Senate and we have one more day to let Capitol Hill know that we want America to do even more to save lives. With your voice, these efforts will make a real difference for the world's poorest people by providing prevention, care and treatment for millions of children, women and families.

                If you haven't called yet, please call 1-800-786-2663 today to be connected directly to your Senators. If you’ve already called, please call again and ask them to support the DeWine-Leahy Amendment.

                What these leaders are doing is in the best American tradition of working together and helping others help themselves—let’s show them that as ONE, we’re ready to help them get it done.

                Thank you,


                The ONE Team

                P.S. Learn more about how to talk to your Senators and how these effective efforts save lives.

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

                March 15, 2006

                The Obscure Business of Playing "Good Evil, Bad Evil"

                MSN Money - Associated Press Business News: Judge to Order Google to Turn Over Records : US:GOOG

                The judge said he didn't want to do anything to create the perception that Internet search engines and other large online databases could become tools for government surveillance. He seemed less concerned about requiring Google to supply the government with a random list of Web sites indexed by the company.

                An interesting point. I'm left confused as to why a random sample would be worse than a "we want all search queries from this IP address (or address block) for the range([dateTime:start] through [dateTime:end])" type demand, but then again I will accept the fact that I'm as dumb as a box of rocks when it comes to understanding how seemingly obscure areas of the law can be exploited in various ways... and thats not a "I choose to be as dumb as of box of rocks cuz' of reason x and y and z" :: I'm telling you flat out, given the following:

                Entity_A :: Environment.Law[Self:Intelligence]

                Entity_B :: Environment.Law[(n^(Rock)):Box]

                AlexTrebeck: "In the Legal environment of Law obscuritiesw, it's" [Entity_A:Interrupt[Entity:Trebeck::"Uh Alex... Lets just skip it, K? Box-o'Rox over here already has me licked.

                "But I still get a nice parting gif-, OUCH!!! Hey, you fucker! You didn't have to kick my a$$ so damn hard! And calling me quite possibly the dumbest human being you have had the torture of being swindled into hosting on your show... well, thats just mean.

                "True, yes.

                "But mean.

                "Mean! Mean! MEAN!]

                Nuf' said. (on that part of this post)

                So regarding the title: I am left wondering... was there something else that Google was after to ensure that something in particular came about because of their seemingly evil attempt to Grandstand their stock price and user base up, up, up that, in fact, could not have been masqueraded in any other way, and simply had to be left to appear as it did such that another battle could be won and as such, keep future Gov officials from prying for the sake of prying? Or am I just being to nice to a proven Corporate Evil Entity?

                Anybody care to chime in, as, if not obvious by the fact that Box-o'Rox is driving around in his FlyFresh Caddy-o'licious rox'n-the-box'n (I hope nobody gets that... :) my now ex-Girlfriend at the moment, I don't get this stuff.

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

                March 14, 2006

                IKVM 0.26 rc2 Now Available

                IKVM.NET Weblog - Saturday, March 11, 2006

                IKVM 0.26 rc2

                A new release candidate. It turns out I was a little over enthusiastic in restructuring the class loading to move dynamic class loading into a subclass (which I did to make it easier to build a version of IKVM.Runtime.dll that doesn't support dynamic class loading, to run on the Compact Framework). java.lang.reflect.Proxy support requires that you can dynamically load classes in the bootstrap class loader, so I added back support for that (in a hacky way by delegating to a bogus instance of DynamicClassLoader). This bug was reported by Chris Keller who was also kind enough to fix two socket bugs.

                Changes:

                * Restored the ability to dynamically load a class in the bootstrap class loader.
                * Changed PlainSocketImpl to throw java.net.SocketTimeoutException instead of java.io.InterruptedIOException when a timeout expires.
                * Changed PlainSocketImpl.read() to return zero instead of throwing an exception when a non-blocking socket read would block.

                Please visit the above linked post to obtain these latest bits.

                As always, thanks Jeroen!

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

                CALL NOW: 48 hours to save AIDS funding!

                One.org

                Dear All of You:

                Yesterday, thousands of you called Capitol Hill, asking your Senators to keep critical AIDS, TB and malaria efforts running around the world. Today, we have a little more time to make our voices heard and keep up the positive pressure!

                Indonesia_1_web2.jpg

                Please keep calling 1-800-786-2663 and ask your Senators to support the Santorum-Durbin Amendment for global AIDS funding.

                Together, we could make a real difference for the world's poorest people. The Global Fund saves lives, providing prevention, care and treatment for millions. It’s an effective international effort and U.S. contributions even challenge other countries to do their share, with each U.S. dollar matched by two dollars from other donors.

                If you haven't called yet, please call 1-800-786-2663 today to be connected directly to your Senators.

                If you have already called, please forward this email to 3 friends and ask them to join you in making a difference in the fight against global AIDS and extreme poverty.

                These three preventable diseases kill 6 million people each year—but together as ONE, we can help fight back and save lives around the world.

                Thank you,

                The ONE Team

                P.S. Learn more about how to talk to your Senators and the important work of the Global Fund.

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

                March 09, 2006

                IKVM.NET Weblog - IKVM 0.26 rc1

                IKVM.NET Weblog - IKVM 0.26 rc1

                IKVM 0.26 rc1

                A new release candidate based on GNU Classpath 0.90 (the successor to 0.20). IKVM.GNU.Classpath.dll grew by more than a megabyte. A big part of this is due to the new crypto implementation that was merged into GNU Classpath. This a great improvement!

                Updated japi results are available here.

                A list of features and bug fixes can be found below:

                * Integrated GNU Classpath 0.90
                * Updated classpath.security with new security providers
                * Added "Windows Vista" as a possible value of os.name system property
                * Included VMObjectInputStream.currentClassLoader() fix from Classpath version
                * Fixed Float.toString() bug (1E8 would be converted to "1E 08.0" instead of "1.0E8")
                * Made some VMThread members package accessible to avoid accessor methods
                * Added copyright banners to executables (when run without command line arguments or with the -version option)
                * Added "-showversion" option to ikvm.exe
                * Fixed ikvmstub to use IKVM.Runtime.Util.GetClassFromTypeHandle() instead of IKVM.Runtime.Util.GetFriendlyClassFromType(), because that would cause problems on remapped types in mscorlib.
                * Fixed support for dynamically instantiating a class that was not loadable at method compilation time.
                * Added support for running interface static initializer when accessing a final field.
                * Moved most .NET resource reading code from IKVM.GNU.Classpath to IKVM.Runtime, to make it easier to use new resource and compression APIs on Whidbey.
                * Introduced ikvm.io.InputStreamWrapper (wraps a java.io.InputStream around a System.IO.Stream).
                * Removed undocumented -manifestResources ikvmc option. When compiled for Whidbey, resources are now always stored as manifest resources.
                * When compiled for Whidbey, resources are now compressed using DeflateStream instead of custom compression.
                * Changed SoftReference never to be cleared, since there is no reliable way to detect low memory and clearing them too eagerly breaks Eclipse.
                * Fixed ikvmstub to also export implemented interfaces that are non-public.
                * Split off dynamic class loading support from ClassLoaderWrapper.cs into new DynamicClassLoader.cs.
                * Moved static compiler support from vm.cs to new file CompilerClassLoader.cs.
                * Fixed CompiledTypeWrapper and DotNetTypeWrapper to finish base class and interfaces in their Finish method.

                To access the source and binaries for both the standard 1.4 compatible assemblys as well as the Generics branch please visit Joroens entry linked above.

                As always, thanks Jeroen!

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

                [Hot Off The pyPress] IronPython 1.0 Beta 4 Released

                IronPython: News item

                Quite literally just popped up in my in my notification Window (whoever came up with the idea that it would be really cool to invent something that popped up and demanded your attention, without concern for the fact that you might be too busy to care, and because of the distraction you now can't remember what is was you were working on...

                Obviously a contract programmer...

                Seems logical to me... the more He/She can claim distraction, the more hours it take to finish a project = more hours to bill for.

                Selfish Little Bastard!

                Anyway, the result of the Selfish Little Bastards invention means you now get to be notified by YOUR feed reader sooner than you would had the Selfish Little Bastard not have been so selfish in the first place.

                Dont thank me, than the SLB (*new motto of mine -- maybe)

                With all of the blabble-blabble-blabble comes this juicy piece of news:

                IronPython 1.0 Beta 4 Released DinoViehland • March 09 2006 10:11 AM

                Hello IronPython Community,

                We have just released IronPython 1.0 Beta 4. This is yet another release focusing primarily on fixing bugs. Since the beta 3 release we’ve cut our active number of bugs in half. Unfortunately we didn’t get to review the PythonEngine APIs in this release but will be getting this done for the next beta.
                Although major changes are few in this release some of the bigger changes include:

                Fix beta 3 assembly loading bug
                Auto-indentation support for the super console
                Support pep-263 file encodings
                AST visitor changes (*)

                A more complete list of changes follows at the end.

                You can download the release from: http://www.microsoft.com/downloads/details.aspx?FamilyID=ab942d78-b3df-428d-a2e7-f80949607c1a&displaylang=en


                We'd like to thank everyone in the community for your bug reports and suggestions that helped make this a better release: Alex Martelli, Anthony Tarlano, Chee Meng, Erin Renshaw, Giles Thomas, Greg Lee, grizupo, J. Merrill, Jeff Griffiths, Jon Kale, minwei, Neville Bagnall, Nicholas Jacobson, Paparipote, Richard Hsu, Richard Bothne, and Sanghyeon Seo.


                Thanks and keep in touch,
                The IronPython Team


                (*) The AST visitor changes in IronPython 1.0 Beta 4 are not compatible with the IronPython Visual Studio integration released in the March CTP of the Visual Studio SDK. Some code changes in the VS integration sample are required to use it with the latest IronPython 1.0 Beta 4.


                More complete list of changes and bug fixes:
                ============================================
                Bugfix: Infinite recursion in import code
                Traceback support
                Support for methods only implemented via explicit interface implementation
                Bugfix: SubClass check throws ArgumentNull Exception
                Bugfix: Slice is (incorrectly) hashable WAS: dict[:] showing KeyError instead of TypeError
                Bugfix: tuple unpacking issues
                Bugfix: Calling __str__ on a Python exception class object causes an IndexError
                Bugfix: Trying to set methods on "built-in" classes fails silently
                Bugfix: Inheriting from an interface causes peverify warnings
                Bugfix: raise "foo" raises an exception, but is eaten by top-level rather than reported
                Bugfix: eval - locals can be any mapping object (formerly required to be a dictionary)
                Bugfix: Calling exc_info when there is no exception in the current stack causes a NullRef, rather than returning (None, None, None)
                Bugfix: Index out of bounds exception when importing minidom
                Bugfix: sequence.index(None) and sequence.count(None) should throw Type error instead of ArgNullExcep
                Bugfix: "abc".find(None) throws SystemError: "Object reference not set to an instance of an object."
                Bugfix: "except , " statement does not capture exception data; is just a copy of the exception
                Bugfix: sgmllib running on tutorial.htm throws
                Bugfix: Regular expressions: RE_Pattern instance method match(text, pos, endpos) not implemented
                Bugfix: multiline string does not return to primary interpreter prompt
                Bugfix: re.split with maxcount != 0 differs from specification
                Bugfix: Old class comparisons give wrong results, same as User Type
                Bugfix: IronPython won't call custom comparison operators on .NET types
                Bugfix: IronPython creates instance of class with __module__ set to contents of __name__ rather than the module name
                Bugfix: IP uses wrong slot to generate classe's module name
                Support for constructing Python file from .NET Stream
                Bugfix: Subclassing str & creating subclass fails
                Bugfix: Fix call to System.Double.ToString(1.0, 'f') (ReflectedOps types not storing both Python & non-Python names)
                Bugfix: -u command line option
                Bugfix: For an old-style class C, str(C) != C.__module__ + '.' + C.__main__
                Bugfix: SyntaxError raised when a function defined to take kwargs is called with the name of the kwargs parameter as one of the keyword-specified argument
                Bugfix: Better formatting for System.Single
                Bugfix: Improve string formatting of floats for better compat with CPython
                Bugfix: sys.argv doesn't include executed python script
                Bugfix: IronPython builtin f.read() functionality differs from CPython builtin f.read() functionality
                Bugfix: CPython/IronPython discrepancy when comparing strings
                Bugfix: +=, ... also bind locals, fix binder
                Bugfix: CPython/IronPython discrepancy in behavior with respect to power operation
                Bugfix: ComplexOps.FloorDivide just does ordinary division
                Bugfix: Make PythonFile more robust WAS: sys.__stdin__.write("blah\n") causing NullReferenceException in IronPython
                Bugfix: Opening a file for writing and then attempting to read before closing the file causes a NullReferenceException
                Bugfix: Implement -c command line argument
                Bugfix: Add ability to compiler to generate 32 bit or 64 bit assemblies
                Bugfix: Fix compiler resource support
                Bugfix: from __future__ imports must occur at the beginning of the file, but can after the comments
                Bugfix: eval failed to find local name
                Bugfix: multiline string can't have blank lines
                Bugfix: better error message for functions with default arguments
                Bugfix: buffer() throws exception with message referring to method "ctor" instead of the expected "buffer"
                Bugfix: Encoding/Decoding tests in tests_str.py disabled
                Bugfix: In a Python subclass of a .NET class, inherited (but not overriden) methods are not shown as attributes of either class or instance
                Bugfix: Finish time module (day of year / week of year custom formatting)
                Bugfix: @accepts, @returns decorators not yet defined in clr module
                Bugfix: Can't inherit from interfaces with properties
                Bugfix: unicode(xxx ','raw-unicode-escape') issue
                Bugfix: The error message associated with incorrect usage of constructors of builtin types are confusing
                Bugfix: Method dispatch: skip generic method when bindmethod
                Bugfix: Investigate why CPython throws a syntax error for a compile statement that IronPython parses correctly
                Bugfix: NoneType arguments to coerce() causing unexpected SystemErrors
                Bugfix: Stack overflow adding reference to System.Xml
                Bugfix: re.compile does not accept "\\_" as a valid escape sequence
                Bugfix: re module - difference result of not matched group
                Bugfix: Interactive console not parsing certain 'if' statements correctly
                Implement -E command line parameter
                Implement -OO command line parameter
                Implement -S command line parameter
                Implement -t command line parameter
                Implement -V command line parameter
                Implement '-' command line parameter
                Bugfix: Pay customdict, frame, env refactoring debt
                Bugfix: Default parameters are not available for functions generated as DynamicMethod
                Bugfix: Method dispatch: the story of None as parameter

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

                Mystic Acid Experience

                via a link from a recent post from Eve Maler, I discovered just what it is that apparently defines the experience of being me.

                Or maybe I should say being around me?

                Seems about right :)

                My Band Name is Mystic Acid Experience.
                Take The Jam Band Name Generator today!
                Created with Rum and Monkey's Name Generator Generator.

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

                Lean Software Development: An Implementation Guide

                Recently received the following from a close friend:

                Seems a very good book:

                http://www.poppendieck.com/lsd.htm

                I've quickly looked through this and it looks FANTASTIC. Unfortunately, that's all I can add to this as, based on my scan, It's student mode for me on this one :) I will add that the friend who sent me this is @ the level/caliber that most of us folks, a group I very much include myself as a card carrying member, could only dream of achieving.

                Still, I'm a dreamer, so what the hell... I'll keep dreaming, and I would encourage you to do the same :)

                NOTE: Dreaming about studying doesn't count! Studying does. Something I am looking forward to on this one. :)

                One last note:

                This just in:

                Be aware that this is a draft version of a future book and may disappear from this URL in the near future.

                I guess we should both consider ourselves warned and act accordingly :)

                Gracia's Amigo :D

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

                48 hours: Sign ONE letter to save lives

                smallgreybanner.jpg

                Dear [You]:

                For the next 48 hours, we have an opportunity to really help fight global AIDS and extreme poverty. Right now, leaders in Congress are deciding how much life-saving assistance the U.S. will give to the world's poorest countries—and they need to hear from YOU!

                India_Oxfam.jpg

                Click here to sign ONE letter today and help save lives.

                Every signature counts—it means our leaders know that we believe doing even more is in America’s interests and it’s the right thing to do. Already, Americans from every state have stepped up and signed on, sending more than 108,000 letters asking Congress to support the President’s budget request and fully fund the fight against global AIDS and poverty!

                Let’s keep up the positive pressure: Please sign the letter today!

                Thanks,

                The ONE Team

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

                March 08, 2006

                Windows Steals Top Server OS Spot From Unix : But Hold Up... How Much Did Linux Server Sales Account For?

                InformationWeek | Server Operating Systems Ranked | Windows Steals Top Server OS Spot From Unix | February 22, 2006

                Microsoft's Windows edged out Unix in 2005 as the best-selling server operating system, research firm IDC said Wednesday, marking the first time Unix hasn't held the top spot in more than a decade.

                Okay, but by how much?

                Windows servers accounted for $17.7 billion in revenues last year, the Framingham, Mass.-based research company said, while Unix-powered servers took in $17.5 billion.

                Okay, so by $200 million then. A lot of money no matter which whey you look @it, but in the grand scheme of the overall market, it seems things are basically neck and neck. This is a good thing. One is pushing the other and vice-versa to become better, faster, more reliable, more secure, more user friendly, more overall value = The consumer, in this case corporations and small businesses across the world, but a consumer none-the-less, is benefiting because of this.

                In fact, further in the above linked report we discover:

                But Windows' moving past Unix doesn't mean the former top dog is going to quietly slink away, IDC analysts said.
                "We do not believe that any one platform will be in a position to force another platform out of the marketplace for many years to come," said Jean Bozman, vice president of worldwide server research, in a statement. "End users [will continue to] utilize a mix of operating systems in their infrastructures."

                Cool. So here's my next question.

                What about Linux? I'm assuming that given the fact that its an OSS product, that can be downloaded and used for free, the number must be laughably small in comparison, right?

                Linux, the open-source offshoot of Unix, accounted for $5.7 billion in server sales during 2005.

                *COUGH* I'm sorry *COUGH*|*COUGH* how much was that again?

                Linux, the open-source offshoot of Unix, accounted for $5.7 billion in server sales during 2005.

                For a free OSS system?

                Hmmm... I'm trying to think:

                Free != $5.7 billion, right?

                [WW:Ether "Correct."]

                K, just checkin'.

                So then how... wait... hold up... let me put this into something more tangible:

                So what you're saying is that Linux *DOES* have a business model that works?

                But...

                Okay, whatever... Nevermind... I'm still confused by all of this, but no doubt the numbers are correct and folks like RedHat, Suse/Ximian/Mono/Novell, IBM, etc... have figured out a good and proper way to make a business out of free software, and do so in a way that doesn't cause the various OSS communities to revolt due to any notion they felt they were being taking advantage of... Something that always felt to me like it would eventually become a problem. These folks are not idiots. If they felt they were being taken advantage of it, we would know, I promise :)

                All right, cool. Still don't get it, but me not getting how they are doing it should be something for me to deal with, and not get in the way of simple acceptance. As such, accepted... Now lets move on.

                Let's get some growth rate figures:

                The trend of Microsoft besting Unix appears to be accelerating, noted IDC. Windows server sales climbed 4.7 percent in the fourth quarter of 2005, year-over-year, while Unix server revenues dropped 5 percent. Linux, meanwhile, posted double-digit year-over-year growth: fourth quarter 2005's numbers were 20.8 percent higher than 2004's.

                Okay... so lets do some math.

                ---
                Windows Server: +4.7%
                Unix-based Servers: -5%

                Total un-accounted for sales difference: 0.3%

                Linux year-over-year growth*: +20.8%

                Market Share:
                It would be impossible to determine actual market share using the dollar figures presented, as market share (as long as I understand it correctly) is a representation of total number of new licenses sold as well as the total number of existing licenses currently in place. Without knowledge of the average cost per license it would be impossible to derive what that number is.

                Now, I might be able to find that information if I looked... but I'm too damn lazy, so we won't bring this into the equation until such time as the research effort seems justified in comparison to the amount of extra time I have each day to do such research. Not high on my list at the moment. Probably will never happen because of this. Sorry.

                So, moving on lets pretend for a second that if we add up the sales of the above three represented systems, and setting aside the fact that there are going to be systems sold that are not represented by Windows, Unix, or Linux:

                17.7 + 17.5 + 5.7 = 40.7 Billion US dollars in total server software sales during 2005.

                Firstly, HOLY SHIT! Thats a lot of money!

                Secondly, HOLY SHIT! Thats a lot of money!

                Thirdly, HO... nevermind.

                Fourthly, (if (40.7 == 100%) then ((5.7 div 40.7) = 14%) == true)

                If the result of the above equation is, in fact, true, then setting aside the fact that total sales != market share here's what were looking @:

                With the notion that Linux sales are 20.8% higher in fourth quarter 2005 compared to fourth quarter 2004, and adding to this the fact that there is a 0.3% unaccounted for difference in sales growth between Windows and Unix, then I think we can accuratelly state:

                Linux needs to be given a lot more credit than