I’m beginning to remember the primacy of just creating stuff. It’s all got a bit too meta around here lately. Ship or comment - pick one.
I love Ben's point regarding being too "Meta". Good advice, and something I personally need to both listen to and act upon.
Directly extending this comment, "Ship or comment - pick one." adds a nice sense of immediatte action; something I plan to directly react to in the "good reaction" sense.
If you want to reach both audiences before your competition does, you'll avoid indulging in religious debates and ship something.
Two different people. Two different subjects. The same point.
Whether coming from Don, or from Ben, "pick one" and get on with it.
That's my plan anyway, although I don't see the need to pick one over the other... They're both industry icons in whom both know a great deal in regards to the subject matter they specialize in. With this in mind, and both with a history of "shipping" stuff, its interesting to note that they both seem to recognize that theres two types of meta in the software industry:
* chatter
* data
It’s just data.
I wonder which 'meta' Sam (another proven "shipper") thinks matters most?
Posted by m.david at 07:20 PM | Comments (0) | TrackBack
Now that I have absolutely nobody's attention:
RE: [rss-public] Microsoft Feeds API Enclosure Test
For what it's worth, there will be updates to this API over time, so it is possible that we will have an API that makes the content available in Atom format, as well (or in the native format, though that's harder because it requires that we persist the original XML). This feedback is all extremely useful in helping us figure out what the right thing to do is.
Three things:
* The developers who are into using data feeds, or developing tools that generate data feeds, have all switched to Atom, even if that means from an internal "I prefer Atom, but I have to support RSS '2.0'" standpoint.
* You will get a TON of constructive feedback from the Atom development community.
* You will get a TON of destructive criticism from the RSS '2.0' 'community'.
[NOTE: Notice the difference between 'Atom development community' and 'RSS '2.0' 'community''. As already mentioned there is no *REAL* RSS '2.0' development community (thats not to suggest that *REAL* developers are not developing for RSS '2.0', and instead that the development discussions in the data feed community have shifted, primarily, to Atom, where as in the RSS '2.0' community all you will find (for the most part) is drama.]
Regarding:
This feedback is all extremely useful in helping us figure out what the right thing to do is.
I doubt it will take much more than a few weeks for you to realize that the Atom development community is all about serving the needs of the current and future data feed developer, no matter the format. If you want constructive feedback based on real world testing, you'll find exactly that in the Atom community.
That said, I personally feel that by converting over to an Atom-based format you will find that a lot of folks will be going out of their way to help make IE7 the best data feed browser available. Of course, without an official RSS '2.0' namespace, that would require the need to create one. But it seems that primary concern is not exact conformance, and instead general conformance. So creating a namespace that fills the namespace need shouldn't be all that hard of a pill to swallow, even if some of the RSS '2.0' 'Community' folks (or should I say folk?) feel otherwise. [UPDATE: Actually, come to think of it, there are several examples from reputable folks that showcase that you can easily map an RSS '2.0' feed to Atom without any loss in data quality. So in reality, I don't think you would need to worry about an RSS '2.0' namespace afterall. Even better!]
The result?
A better IE7 browsing experience = "the right thing to do."
To summarize:
Why even go down the
For what it's worth, there will be updates to this API over time, so it is possible that we will have an API that makes the content available in Atom format,
road?
Do it right the first time and you won't have to. While you most definitely *WOULD* need to update the API to provide native support for the Atom format, the same is not true about RSS '2.0'. Very few folks who's name is not Dave will be beating down your door to provide native RSS '2.0' support. To the contrary, in less than a years time a *TON* of folks *WILL BE* beating down your door for native Atom support.
Just do it now and save yourself the headache.
Need help?
Just ask the Atom development community, they'll be happy to help, I can promise you that. :)
Something to think about anyway :)
[UPDATE: Something else to think about... Ping the MSXML2 team and ask them how much of a pain in the a$$ it is to support a version of XSLT that pre-dates the final release of the spec. Okay, so the situation is not a 1-to-1 mapping, the ultimate end result more than likely is. Make the switch to the data feed format prefered by a significant majority of the development community and avoid the headache (and 'wallet-ache'!) of providing support for a long since dead-and-buried 'specification' in RSS '2.0' (.0.2? something like that anyway.) for the next 10 years.]
Posted by m.david at 03:57 AM | Comments (2) | TrackBack
So its now official, and I can finally let the cat out of the bag!
As per Dr. Kays announcement earlier today, The Saxon.NET project has been officially absorbed into the offerings of Saxonica LTD, With direct support offered from none other than Dr. Kay himself. The official announcement is copied below.
When I started the Saxon.NET project with Pieter almost two years ago, I did so with one goal in mind: To transfer this project to Dr. Kay as soon as he felt the time was right. It was obvious to me then that the best way to do this was to keep the code base as close to the original as was possible such that the transition would be an easy one. While early on in the project there were various attempts at a conversion to a complete C# source base, with each release of IKVM.NET it became more and more obvious that attempting to both port the source to C# while attempting to keep up with each release of Saxon was completely unnecessary. Jeroen Frijters, Mark Wiellard, and the rest of the folks who have helped bring together IKVM.NET and the Classpath project deserve the credit for making all of this possible.
Thanks guys! Because of you, I can finally state:
Mission Complete :)
What's next?
Sleep. ;)
After that?
Following the suggestion of Dr. Kay, I plan to unveil the next stage of this project, that of a community-based "workshop"-styled research project in which anyone and everyone who so desires can get involved with playing around with new ideas, contributing code, ideas, or whatever else , of which, based on Dr. Kay's discretion at some point has the potential to find its way into the official Saxon code base.
Sound like fun? (If yes,) Excellent! More details to follow.
One other important piece of this: A lot of folks played a hand in making Saxon.NET a success story; a lot of those folks work for, or are in various ways (like the XML-MVP's) connected to Microsoft. Believe it or not, this project *COULD NOT* have been successful if it wasn't for the efforts of Microsoft. Of course, its not limited to just MS folks, but the list of MS folks who have contributed to this project in various forms will probably amaze a lot of you. This list will be included online and made available with the launch of the community workshop/research project mentioned above.
Its also nice to see that the general idea of creating a JAXP-influenced interface (One XML Source-type in, One XML Source-type out) has found its way into the final architecture that Dr. Kay designed from scratch. This always seemed like the right area to focus on, so I'm glad to see that he felt the same way. As he mentions in the announcment below, the final architecture is something thats a God-send to us .NET developers, and is something that even the JAXP-folks will without a doubt seek after in envy.
Great stuff! :D
Thanks to everyone who played a part in this project! As you can imagine, I'm pretty excited at the moment to both see this project make its way into the hands of its rightful owner, as well as the opportunities that are ahead. The fact that Dr. Kay has given me this extended opportunity to further extend the reach of the XSLT language and the Saxon product line, through a community-based interface is something I *TRULY* appreciate. This should be a lot of fun for everyone who chooses to get involved.
Thanks Dr. Kay!
The official announcement is below:
Saxon 8.7 is now available. Both Saxon-B and Saxon-SA (the schema-aware
product) are being made available simultaneously on the Java and .NET
platforms.
Delivering Saxon on .NET is an important development; many users have held
back from migrating to XSLT 2.0 because of the limited availability of
products or because they had constraints tying them to the .NET platform.
The new release goes considerably further than previous Saxon.NET releases:
it integrates much more closely with other .NET services such as the
System.Xml parser, and it provides a new API designed to fit in with the
stylistic conventions of the .NET framework. Also, because this release is
delivered by Saxonica, it has been through all the same tests as the Java
product, and the documentation is fully integrated.
I have to express my appreciation to Pieter Siegers Kort, M. David Peterson
and others who pioneered the approach that has been used to create this
product; and also to Jeroen Frijters who produced the IKVMC cross-compiler
on which the technology depends. The Saxon code is still written in 100%
Java, except for the new API front-end which is in C#. The Java code is
compiled as normal, and the byte-code is then translated into native MSIL
for the .NET platform using the IKVMC compiler. Run-time library services
are obtained partly from the GNU ClassPath library, and partly from the .NET
framework classes.
I'm quite pleased with the new API, which is documented at
http://www.saxonica.com/documentation/dotnetdoc/index.html (start with the
Processor class). I think it's a lot cleaner than either the JAXP or the
System.Xml.Xsl APIs, and adopts a uniform approach to compiling and running
XSLT, XQuery, XPath, and XML Schema. I may well port it back to the Java
product in due course.
Michael Kay
http://www.saxonica.com/
Posted by m.david at 06:42 PM | Comments (2) | TrackBack
[UPDATE: Mike Champion has taken a few moments to share a few of his thoughts regarding the latest episode in the RSS soap opera. If you're a fan of the Atom format I think his comments will bring a smile to your face. Thanks for taking the time to comment Mike! Your time is without a doubt, appreciated. :)]
Workbench: Really Simple Syndication: The Joy of Specs
The preview edition of Microsoft Internet Explorer 7 only downloads the first enclosure in each item. Power Line users who listen to its podcasts with that browser must manually download the other enclosures, which removes the biggest advantage of podcasting -- instant availability of the files.
Firstly, RSS sucks. Don't use it. Use Atom instead. Why? Cuz' this kind of intra-rival "He said, she said, his intent, her intent" crap doesn't exist. The spec was developed by folks who have a history of writing open standard specifications. The RSS "spec" was created by someone who has a history of creating chaos.
Which group do you think is more capable of producing something that has been well thought through, leaving very little to the imagination?
(NOTE: If you answered RSS, BZZZZZZZZzzzT.TryAgain();)
Moving forward:
Having some experience with producing podcasts, I can promise you that never in my mind did I think "Lets produce several different versions of the same thing so that everyone can download *ALL* of them, to then choose between MP3 format or WMA." To me, anyway, that just seems like a silly thing to assume as the default. Why require an increase in bandwidth cost, just so the consumer can pick and choose between formats at their convenience and my cost?
Of the podcatchers I have used, they seem to choose either the first on the list (IE7) or a format in which it can play (iTunes). From what I can tell, given that iTunes doesn't natively understand WMA, it downloads the MP3 format. Given that it doesn't understand how to play WMA, why would it choose to download both formats? Its simple enough to build basic intelligence into a consuming application to look for a MIME-type and extension it understands. To not build that intelligence, and instead just burn bandwidth for the sake of burning bandwidth?
Dumb.
With this in mind, wouldn't it logically follow that a data feed that contains enclosures should be generated around the general idea that for each entry, if multiple enclosures exist then they should contain the same content, but a variety of formats such that you can reach the broadest audience? This allows nicely for the notion that each entry can contain a summary as to what is contained in the podcast, and have this summary apply to each enclosure. Given you can only have one summary per entry, the notion that multiple enclosures within the same entry can represent completely different content all together is just ludicrous.
In blogging terms, one entry doesn't represent multiple posts, so why would podcasting be any different? Adding to this, a lot of logic can be implied using separate entries for each podcast segment. For example each entry could represent a start and stop point for various segments of a podcast such that a player could logically provide a summary for each segment, a combination of categories, a link to comment on each segment, etc... With all of this in mind, I can't think of any logical reason why you want to provide multiple enclosures in the same entry that contain different content.
Don't get me wrong, I'm not suggesting that this "idea" is a wide-spread notion that a lot of folks feel is okay. What I am suggesting is that the idea that downloading more than one enclosure that contains the same content, just a different format, is ridiculous, and combined with this last piece theres no logical reasons left as to why one would put multiple enclosures that contain different content into the same entry.
If any of you can think of why any of the above is incorrect in any way, can you clue me in? If it is, then I guess I just don't get it.
Posted by m.david at 04:49 PM | Comments (2) | TrackBack

Dear [WW:*]:
For the next 3 weeks, we have an opportunity to really help fight global AIDS and extreme poverty.

Right now, Congressional leaders 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!
Let's keep up the positive pressure: Please sign a Letter to Congressional Leaders Today and Help Save Lives.
Key leaders in Congress are making choices now about how America will fight global AIDS and extreme poverty. 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.
Sign a Letter to Congressional Leaders Today and Help Save Lives
Because of your efforts, America made promises in 2005 to fight AIDS and extreme poverty. Today, hundreds of thousands of people around the world are alive because of America's historic commitment to fight AIDS. Thank you!
By working together as ONE, we can do even more.
Thank you,
The ONE Team
Posted by m.david at 11:37 PM | Comments (0) | TrackBack
A good majority of software developement at the present time revolves around the Namespace (or Classpath), Class Name, Method/Function[Object to process]/Attribute signature.
The Monad Project (Microsoft SHell, or MSH) implements a similar signature, but uses the term "Verb-Noun" to describe the various commands available.
This type of signature makes sense. Using some hacked notation that resembles a little of everything we should all understand (Domain (('Namespace ~||~ 'Classpath), :ClassName), Method(:Object, Attribute*)).
The RESTafarians stand behind the 'cruft' free approach to URI/IRI conventions, and yet there is no established signature specification as to what that means exactly.
The general approach makes sense:
Make the URI/IRI easy to remember/understand and you make it easier for your site visitors to access the various areas of your site, or the various capabilities of your weblication.
The SOAP folks understand the need for an address to invoke a transaction, but fail to recognize that quite a bit of implied information as to the desired transaction can be embedded into the URI/IRI itself, dumping a bunch of baggage in the process.
Since we can quite easily write a URI/IRI that looks like:
[protocol]://domain.foo/send/message/m.david
That maps quite nicely to the signature of:
(Domain (('Namespace ~||~ 'Classpath), :ClassName), Method(:Object, Attribute*))
and in doing so imply with this URI/IRI that we would like to send a message to m.david@domain.foo, then why don't we?
More of us instinctively understand the signature, it would make sense to even the non-geeks, and with a reduced number of verbs as compared to the unlimited potential of nouns these can be applied to we can easily create a standardized group of actions that we can all build against.
With this in mind, why are we wasting our time not using the URI/IRI to our advantage?
Thanks for taking the time to read. This stuff is important. Can we stop the religious war and just get our work done now?
Thanks :D
[END OF MINI-SERIES RANT]
Posted by m.david at 06:33 PM | Comments (0) | TrackBack
Of all the successful open-source projects that come to mind that I personally use with any consistency, not a single one of them actively pursues "donations" (Apache, Mono, Mozilla, Saxon/Saxon.NET, IKVM, more recently 4Suite/Amara (still gearing up, but I see it as a farely significant piece of my future, CherryPy (ditto), ICECAST, and a few other smaller projects) and instead have properly built a business model around licensing extended feature-sets, support, consulting, and other reputable forms of OSS financing such as corporate sponsorship.
The above projects are examples of OSS done right. There's a need. The community rallies around that need. That need is now taken care of by folks who know what they're doing.
What then represents the wrong way?
I'll stop short of insults (rarely do insults bring about anything but insults in return. Not a lot gets accomplished when you make insults the core message of a particular post) and instead provide a general rule of thumb:
'Guilt Marketing' is bullshit.
OSS projects that aggressively seek after donations, using terms such as "Have you donated yet?" in pop-up boxes that require you click a yes/no-type button contained in an alert box of some sort, or even those who believe that a good and reputable business can be built around a donation-based system are flat-out wrong. It doesn't work.
Accepting donations is one thing. If you are not aggressive about it, then fine, whatever... Not a big deal. If its a side gig that fills a needed niche, and people want to throw you a few bucks, and you make it easy for them to do that? You're not going to here me complain.
But using guilt marketing?
Like I said, bullshit.
OSS can be both a good thing and a bad thing. When you introduce half-a$$ed software solutions that do little more than confuse the market with mixed messages, diluting the perceived value of the good and reputable products in this space, more damage is done to the economy than can be fixed by the money "saved" by the folks using these solutions. When you attempt to disguise a product as "free" but insist on using guilt marketing tactics to make people feel like they are not doing their part unless they donate to the cause...
= The "Send me your weak, and your old, and I will give them REST!" Gospel Hour
The same can be said about folks who undermine the good reasons for using SOAP-based solutions by hiding behind the notion "if its difficult, its evil!"
No. Its just difficult for the average Mort. Thats not a bad thing. There are programmers, good programmers, great programmers, and mortal God's. When you are performing a banking transaction, do you want the software developed to perform this transaction written by a good programmer, a great programmer, or a mortal God?
If it take's a mortal God, or at very least a great programmer to ensure that my transaction completes successfully, and does so secured from end-to-end, and these same great programmers/mortal God's suggest they need something a little heavier than REST to get their job done...
Then shutup and let them get their job done.
Unless, of course, you don't mind if your bank only gets through the deduction portion of a transaction that contains a deposit as well. Or maybe you want someone to charge your credit card, but never ship the package, or ... (fill in the blank with anything that requires and all or nothing type atomic fulfillment)
Yeah, SOAP is *THAT* important. From the standpoint of posting content to a forum, or updating an Atom feed, its not. But to mission critical "It's all or nothing" transactions, it is! No religous movement is going to change that. Instead, it clouds the issues at hand and confuses the economy.
This needs to STOP! If you don't need SOAP, then don't use SOAP. If you do, do. But by making a religous war of things, you're doing a TON of damage, much of which is irreversible.
Seriously, you need to stop. No, I'm not kidding.
Stop.
Posted by m.david at 06:03 PM | Comments (0) | TrackBack
So here's the dealio, yo: I 100% agree with both Mike and Don and anyone else who agrees with their point.
The most important piece to all of this chat-chat-chattering going on in the blogosphere seems to be overlooked. No matter which way you slice it, it's all about the messaging.
REST+POX? SOAP? These "questions" shouldn't be seen as a dividing line "one over the other" and instead "Is REST+POX enough or do I need SOAP to accomplish the task at hand?"
If I want to toy around with some pic's on Flickr, the chances of me needing the complexities of SOAP are pretty slim. If I want to ensure that a financial transaction has met the "Atomic" requirement of completing the entire transaction successfully or backing out of the entire transaction, then SOAP *IS* required!
Actually, thats not true.
I guess you could go invent your own XML messaging framework for complex transactions, but my guess is that in the end it would look a lot like SOAP, so why not just use SOAP and be done with it?
"Because that would mean *THEY* won and *WE* lost?"
Huh? Man, come on, go buy a damn clue.
This *ISN'T* a religous battle. This *ISN'T* about "one or the other, but not both!"
*IT IS* about which one do you need to get the job done. End of Story. (but not of post... yeah, yeah, cry me a river... you'll get over it. ;)
For those of you who are still a bit confused, here's some general guidance:
Sometimes the message being sent it lightweight and *DOESN'T* require a lot of overhead. In such cases a REST+POX solution makes sense. The reason REST+POX gets so much hype is because its:
* Simple, so any member of the "View Source" generation can figure out how it works and how to use it.
* Efficient - Low overhead because it uses an extremely cheap carrier pigeon in HTTP
Sometime the message being sent is heavy and *DOES* require a lot of overhead. Sometimes a complex set of structured information is required, and sometimes you can't just "Let go, and Let God". You need a response, and your not going to hang up the phone until you get one. Carrier-Pigeons might be able to deliver the message, but counting on them to wait for a return response, to then bring that response back to you isn't always the best strategy. In such cases a SOAP-based solution makes sense. The reason SOAP gets so much flack is because its:
* (see points regarding overhead and complexity)
Whether we "I don't see type's, I see (please fill in you prefered variation of the Matrix cliche' quote here)" folk's want to admit it or not, there *IS* a need for this type (oh, can I say that word and not be beaten down by the Society of the Politically Correct Hackers of the Type-Less Mind"? If not... I'm ready. Bring It.) of "Heavy Messaging" *IS NECESSARY*.
Whether the HTTP aficionados want to admit it or not, HTTP *DOESN'T* solve 100% of the problems. In a lot of cases, like GETting information from a web server, or POSTing information to a web server (a message to a forum, etc...) HTTP gets the job done, and we're happy. A lot of traffic on the web can be served quite happily with HTTP as it doesn't need anything beyond this to accomplish the task at hand.
Great! Fantastic! Wonderful! Well, until you need something a bit more industrial strength that goes beyond what the stateless verbs GET, POST, DELETE, PUT (Can I say that word and not be beaten the SPCHTLM? If not, please see previous prompting :), etc... that HTTP brings to the table. When this happens to be the case, then no matter how how hard you try, HTTP *ISN'T* going to get the job done.
So here's the extended dealio, yo:
* The majority of the web population is served with a REST+POX solution.
* More People = More Voices = Loud (sometimes annoying) Chatter
* = "Hmmm... How can we profit off of this?"
* = "I know! Lets start a religous movement so we can RAKE In All The 'Sucker Dough' While We Plead Our 'Evil! Evil! Evil!' case."
* = The "Send me your weak, and your old, and I will give them REST!" Gospel Hour
* = RAKE in even more "Sucker Dough" while we plead Our "Evil! Evil! Evil!" case!
* = The "Send me your weak, and your old, and I will give them REST!" Cable Channel
[UPDATE: those last two were in the wrong order because and unfortunate copy/paste "incident". Don't worry, no line-items were harmed during the recording of this post. Just re-ordered a bit, and added to.]
Does the term "Please Donate" sound all to common and familiar to any of you? [UPDATE: See Part 2 of this mini-series for a further understanding of what I mean.]
Think about it.
Your being taken for a ride folks. If REST+POX is all you need, then don't worry about using SOAP. If its not. Then do. End of Story. (and of post. But not Mini-Series. Oh yes, theres more to come. You can believe 'dat!)
Posted by m.david at 01:34 PM | Comments (0) | TrackBack
Don't Gush.
Saxon diaries :: Thanks for the compliment
It's nice when people say nice things about you, though slightly embarrassing when they gush.
Don't you just love life's little lessons (especially when they're conveniently packaged in a byte-sized data feed format for ease-of-consumption-based learning :D)
Posted by m.david at 11:30 AM | Comments (0) | TrackBack
Anyway ? Blog Archive ? Courage and Cancer
For those who don’t know, Ken has been a stalwart in the SGML/XML community for many years, taking part in various standards committees as well as being a well-regarded teacher and speaker. He’s had a bad run health-wise recently, culminating in a bout with prostate cancer (which now appears to be effectively cured, though some side-effects still remain). The details are at Awareness of Male Cancers – my personal stories; what may be startling is that even test results within the normal range can indicate cancer that needs to be treated. Here’s hoping that few people need to go through what Ken just has, but if you do, I hope you recover well and quickly.
Whether you realize it or not, if G. Ken Holman had not been a pioneering member of the SGML/XML community, continuing forward to develop, evangelize, and teach about these and related technologies, we would not be anywhere near where we are today in terms of the development and advancement of these technologies, as well as understanding how these technologies work, and how we can integrate them into each of our development lives.
For those unaware Ken has been diagnosed and won the battle with cancer, twice. Firstly, with Breast Cancer, and secondly, with Prostate Cancer. Both of these previous links gain you access to his personal thoughts, feelings, and overall experiences of both tragedies and both triumphs.
Ken, our lives would be lacking a much desired richness if it had not been for you, your work, your dedication, and your overall presence within our community. I am both happy and thankful to learn that the blessing of your presence within our personal lives and our community will be continuing forward for what I hope is many, *MANY* years to come. You mean a lot of wonderful things to a lot of wonderful people. Thank you.
Posted by m.david at 09:48 AM | Comments (0) | TrackBack
Bush: U.S. on Verge of Energy Breakthrough - Yahoo! News
MILWAUKEE - Saying the nation is on the verge of technological breakthroughs that would "startle" most Americans, President Bush on Monday outlined his energy proposals to help wean the country off foreign oil.
So "Startle" Us!
---
As many of you know, I live in the United States. As is probably fairly obvious, generally speaking, I choose not to bash the US Government at any and every given opportunity. I say 'generally' as there are those times (like a couple of days ago) when I am just fed up by the idiots who have somehow stumbled their way into power, yet continue forward in their idiotic ways without so much as an effort to try to get a clue.
Even still,
The type of bashing I involve myself in is not of the type that I feel can be seen as anti-establishment and instead anti-idiocracy. Bashing the US Government at any and every given moment does nothing to help fix the underlying problems, and does everything to undermine the establishment by folks who are ill-prepared to stand up for what it is that they think they believe. Why are they ill-prepared? Because 99.100% of the time the anti-establishment smut is founded on opinion without even so much as a single link to any other source other than the opinion(s) of someone else. [1] How can I stand up for something, and do so with confidence, that has been built by something that in and of itself contains no representation of meaningful fact, and instead meaningless opinion?
I can't. I might think I can. But I would be wrong.
With all of this said, I must admit that I have been recently getting to the point where I was about to throw in the towel with the Bush administration. Thats not a statement that should be seen as a suggestion that before now, I was for the Bush administration, but now I am considering going against them. I am not for or against any administration. I am for the people. Whoever can best represent the people and our current state of affairs is the person in whom I am going to vote for. For example, in 2000 and 2004 I voted for Bush. Not because I believed he contained all of the best qualities, or that there was nobody better on the face of this planet who was more qualified for the position, and instead because, at that point in time I felt he was the best choice of the two choices that had even the slightest chance of winning the election.
To help showcase the fact that I am someone who doesn't walk party lines, In 2008, I am presently of the belief that if Al Gore decides to run for re-election ;) he will be the best choice that we as citizens of the United States, in whom have the ability to vote, can make. In fact, I have a project in-the-works (it'll be ready when its ready, and not any sooner) to help encourage Al Gore to run for re-election, and if successful, to encourage citizens of the United States with voting credentials to vote for him, providing solid, factual-based reasons to do so.
Why do I feel Al Gore would be the best choice we could be given for the 2008 Presidential Election? Because I feel that the current affairs of the United States Government must be placed smack dab in the middle of saving our planet if we are to have any hope of living on a planet that even closely resembles that of a planet with life-sustaining qualities. I also feel that the situation we will be faced with in the 2008 time frame in regards to foreign-affairs will require someone who has a proven and solid experience with forein affairs from the perspective of a United States Government standpoint. Al Gore has that experience. Therefore it is my belief that, again, if he chooses to run, he will be the best choice for President in 2008.
The fact that their seems to be a tad sense of glimmering hope that come January 2009, he would be taking over the controls of a "White House Administration" who has already been working towards similar goals can only result in good things.
This is a *FANTASTIC* thing!
Enjoy Your New Found Hope That Our Planet Might Still Be Around In Fifty Years For Our Children And Grand Children To Enjoy-enhanced Day!
---
[1] : In some cases the opinions of folks must be seen in the light of expertise and/or authority (in the case of 'or authority' this would represent those who speak for-and-in-behalf of someone else. In this case they have the authority to represent the opinions of the experts they represent). When this takes place, then an exception to the rule must be invoked.
Posted by m.david at 04:27 AM | Comments (0) | TrackBack
Saxon diaries :: Comparability
Dr. Kays original "Comparability" post from last weeks provides some interesting insight into the inner-dynamics of a standards body working group -- something that I believe is a true characteristic of *ALL* working groups, not matter who the parent org happens to be. As soon as you have a chance, its definitely a *MUST READ* post...
Then again, they all are, aren't they.
Ummm... yep! I guess that means we can move on then. :D
So I just happened to be in the general WW:Neighborhood and decided to stop by Saxon Diaries to see what new and exciting things might have taken place since my last visit (no, I have no intention of telling you exactly when that was... Just know it was earlier... (today.)
While there were no new posts, there was an interesting comment left by Dimitre that brought up some really quite interesting points...
I don't want to plagiarize the whole thing, so a quick click of the above link will allow you full access to its content (that reminds me... Dimitre, when are you going to start blogging so I can add you to my stalk-- err, um, so I can... uhhhh... hmmm... OH! 'Chalk' you in for a visit every now and again (that was a close one, huh?!!!)
Yeah, K... cuz' uh, yeah... you need to start. :D ;)
---
So back to Dimitres comment... at the bottom of his post you will find the following paragraph:
FXSL has a set of type-processing functions that can determine dynamically the type of an item and return it as a string or return the constructor function for this type. This could be used to determine type (in)compatibility in case the backdoors Mike points out did not exist.
Uh, you do? Hmmm... Thats sounds like it could be quite handy! :D
I'm off for study time folks! This sounds like it could be WAY TO VALUABLE of a tool not to begin an immediatte inclusion into my ever growing set of things I am thankful for. For example:
"Dear God, Thank you for Dimitre's FXSL project... Oh, and for his brain too! On, and for that matter, Dimitre too! I would be a bit lost in my development life without these in my toolbag, so gracias Amigo!
"One last thing... Could you help convince him to start a blog as well?
I'd appreciate that there Big Fella... (innerthought: I wonder if calling God "Big Fella is really the smartest thing to do... (innerthought to innerthought: Uhh... He can here you say that.. and this for that matter! (response to innerthought of innerthought: Isn't that invasion of privacy? I mean, if a man can't even expect to find privacy in his own [virtual slap fest from innerthought of innerthought commences]"
[response to innerthought of innerthought: hmmm... that kind of hurt. I'm blogging this!]
[SUDDEN REALIZATION:
Oh shoot!
]
"Dear God, Amen!
"Sorry 'bout that... got cut off by some random punk thought in my hea[Cut-off Answer from God: No, that was me.]"
Posted by m.david at 06:06 AM | Comments (0) | TrackBack
Okay, so this is so off topic don't bother reading it if you have limited time.
In fact, this will more than likely be the first and last time you see anything that's even closely related to celebrity gossip, although this isn't anything about gossip, and everything about WTF?!
That said:
Spears Fears Princess Di Fate - Yahoo! News
Initially , Spears said she acted "instinctively" to protect her son. As the furor failed to die down, she copped to Access Hollywood that she "made a mistake."That wasn't enough for parents groups or even U.S Secretary of Transportation Norman Mineta.
"No matter who you are, there's absolutely no excuse for this display--not instinct, not fear, not even reckless paparazzi," Mineta said in a speech earlier this week. "It's irresponsible to compromise the safety of a child for the sake of the moment."
Ummm... Okay, so I'm being chased down by someone who is demanding that its their right to be my virtual shadow, snapping pics of me at every opportunity that is going to sport them a 250K paycheck, and me some BS headline stating "Proof he's cheating!", the proof showcased by the "fact" that as I am running into the store to get my groceries and get back out such that I can get home and away from this phreak I , quite literally, bump into some woman accidentally, to then try to grab her to keep her from falling, and as a result find a pic of me "embraced with another woman!"
Was I?
Yes!
Was I cheating?
Ummm... well... setting aside the fact that I would first need to start dating someone to then be accused of cheating on them...
Obviously not!
"But pictures never lie!"
Uh, whoever told you that lie was obviously trying to hide the fact that the pictures (whatever they may have been... this is a non-specific point) were faked. Add to this the fact that the day Photoshop hit the market, our "life in pictures" would never again be represented in quite the same way as it once was... that's not always a bad thing, but its not always a good thing either.
K, so far off topic its killing even me.
"No matter who you are, there's absolutely no excuse for this display--not instinct, not fear, not even reckless paparazzi," Mineta said in a speech earlier this week. "It's irresponsible to compromise the safety of a child for the sake of the moment."
Wait, hold up...
not instinct, not fear, not even reckless paparazzi,
Um, this is a direct statement to Norman Mineta:
You're a fucking idiot. End of story.
Now go away, K. (Norman, not the rest of you :)
So, when the U.S Secretary of Transportation has just taken away my >> instinctive << fight-or-flight >> instinct << thats been with me, and every other human on this planet, since day one, and furthermore my right to self defense from a >> "reckless << whatever (papparazzi, random phreak from the street, crazed-ex girlf..." uh, never mind... I didn't say crazed... you may have read crazed, but I didn't mean in the ... um, uuhhhh.... ummmm...
so, well, anyway... :D MOVING ON!)
So, when the aforementioned gov official has taken away the above mentioned human instincts, and above mentioned right to self defense... to then state:
"It's irresponsible to compromise the safety of a child for the sake of the moment."
Ummm... when you say "for the sake of the moment"... does that include *all* moments, no matter what the circumstances happen to be?
For example, lets say someone is chasing after me with a gun, threatening to kill me. At that point would it be better for me to jump in my car with my son on my lap, not as concerned as I would normally be by the fact that hes not in his car seat, and a little more concerned with getting the hell away from the dude who wants to blow my head off?
Yuu know what? Don't answer that please... I'm scared to know the answer.
Hey Norman, you've got some serious issues there buddy... In fact, I think we can safely state your issues have issues, and still have only just broke the issue surface.
Seek help. Uh, wait...
First... step down. Then seek help.
And keep your hands where I can see them K Norman.
Thanks.
---
So while I keep my eye on Norman "The Issue Inflicted Grandstand-er" Mineta over here ("keep 'em up where I can see them there Mr. Mail, err[1] Mineta"), let me finish this off...
So, when we have reached a stage where even the U.S Secretary of Transportation is taking away our civil rights in a public setting, using the press to perform this illegal act of communistic root, I think we can safely state "its time for a change in government officials."
Like all of them.!!! Just rip them all out, and start over from scratch.
It might not be any better as a result.
But it sure the hell couldn't get any worse, that's for DAMN sure!
---
[1] : Please don't take that as a intended slam against Norman Mailer, and instead a simple connection between Mr. Mineta and the content of some of Mr. Mailers titles, some eye opening stuff for sure if you havent had the pleasure of reading any of Mr. Mailers novels, journalistic short stories, or combination thereof. If that happens to be the case, you might consider visiting his Wikipedia page above and crack open your favorite online or visit your favorite real-time book vendor and consider picking up a few of his titles. Good reading, and eye opening at the same time.
Posted by m.david at 08:05 PM | Comments (0) | TrackBack
Dare Obasanjo aka Carnage4Life - Why IE 7 Can't Import OPML Files from RSS Bandit
Recently there was a question asked on the RSS Bandit forums from a user who was Unable to Import RSSBandit-Exported OPML into IE7. The question goes
... just like every other question to every other feed reader forum on the planet...
"Why can't I import/export my OPML files!!!???"
The answer:
OPML is not only *not* XML, in many ways it's not even text!
So here's this particular poor unfortunate victim's story:
I exported my feeds from RSSBandit 1.3.0.42 to an OPML file in hopes of trying the feed support in IE7. IE7 seems to try to import, but ultimately tells me no feeds were imported. The exported file must have over a 100 feeds, so it's not that. Has anyone else been able to import feeds from [deleted RSSBandit as this applies to EVERY feed reader] into [deleted IE7 as this applies to any attempt whatsover to try and make sense of that OPML nastiness!]?
Apparently Dare was able to get some info from the IE7 folks:
I got an answer for why this is the case from the Internet Explorer's RSS team. The reason is provided in the the RSS Bandit bug report, Support type="rss" for export of feeds, where I found out that somewhere along the line someone came up with the convention of adding a type="rss" attribute to indicate which were the RSS feeds in an OPML file. The Internet Explorer RSS team has decided to enforce this convention for indicating RSS feeds in an OPML file and will ignore entries that don't have this annotation.
*THANK GOD!!!* Maybe this will finally be enough to get people to start looking for other ways to gain access to their stored feed index inside 'XYZ' feed reader. I've pointed at Uche's post regarding his IRC-based community open forum research project to seek out a replacement for OPML .several times before, but if I knew that it would ultimatelly lead to the death of OPML, I would build a bot to make a post every hour on the hour, on every blog I am currently active in making posts to which, at present time, is six.
What would the post say? Well, similar to an OPML file, it would be a series of random glyphs that had no rhyme, reason, order, or any other recongizable pattern of any sort that would then state:
Each day 100's of millions of glyphs like those pictured above are ripped away from their friends, family, and loved ones and forced into a life which can be described in no other way than that of the ultimate anti-life, the darkest of all dark-matter, the bitter gall of Hell's own fury:
OPML.
Yeah, I know... it's hard to even think about...
I'll give you a moment to collect yourself.
[MOMENT]
Be strong my friend, be strong!
[DEEP BREATH]
[HEAVY LONG EXHALE]
[SHED A TEAR]
[PULL IT BACK]
[SNIFF]
[COLLECT YOURSELF]
[PAUSE]
[and...]For the price of fifteen minutes taken from your lunch break, you could write a parser that could mean the difference between life...
And OPML.
All it takes in one click.
One click and you could help save the life of *MILLIONS upon MILLIONS* of glyphs who would otherwise be thrust into that that bitter bit bucket of no return; the bit torrent black hole from Hell; Thats right:
/dev/null
And yet some say they have it lucky! In fact many have begged for a such a wonderful ending to such a tragic story, for they know that if not /dev/null then this can only mean something much more awful, much more painful, a much slower, darker, nastier, and horrific end to a life that once held so much hope! To just such a life, what they now face is altogether the ultimate insult to any good God-fearing glyph with any sense of dignity, pride, who once lived a life of romance and passion, with dreams of fulfilling their life's destiny of living inside the glorius pages of a wonderful, glorius book who's pages will be read from over, and over, and over again, bringing a new spark of pride each and every time the eyes of their reader is emblazened with the glory of their printed impression. Instead, they now know that its only a matter of time before they face:
The Windows Recycle Bin.
HAVE YOU NO SHAME!!!!!!!!!!! MAKE THE FUCKING CLICK!!!!
Thank you for your support.
What a tragedy. And to think, you.
YES YOU!
YOU could help turn this potential tragedy into a powerful triumph over the Evil one Itself:
OPML.
Please make the click. Uche's Web Server is standing by.
Make the click.
Thankyou.
Posted by m.david at 04:30 PM | Comments (0) | TrackBack
[UPDATE: Micah, thanks for the reminder! My default search provider has now been properly set to Yahoo!, a much better search engine to rely on (and no doubt it's getting better by the day! :D) for my daily search needs. Please see my follow-up comments (and if you're not Micah, then obviouly reading his comment first for proper context would make sense :D) below.]
Google Criticizes Gov't in Court Papers - Yahoo! News
"If users believe that the text of their search queries into Google's search engine may become public knowledge, it only logically follows that they will be less likely to use the service," Google's lawyers wrote.
Hey Google:
* You're Grandstanding.
* Did you just state "it only logically follows that they will be less likely to use the service"
* Just checked. Yeah, you did.
* if (MSFT == EVIL) && (EVIL == 'Profit without moral conscience') then (apparently, anyway) (MSFT != EVIL) && GOOGLE does.
* if (you just chuckled 'silly lad, that won't compile') then (thanks for proving my point)
[UPDATE: How would that prove my point? If, in fact, Google's response was to try and point out problems with something that had nothing to do with the point of the post, and was, in fact, just frivolus nonsense that doesn't add or take away from the overall value of the point, then they would making an attempt to derail my point by simply changing the subject to something completely unrelated.
So why put it there in the first place?
"You're new to these parts, aren't ya..." ;) :D
So how would attempting to change the subject to something unrelated prove my point? If, in fact, this was proven to be their response, then it would showcase the fact that they're not concerned with their appearance of evil and in fixing that apparance if its proven to be a false image of what is truly the case.
It's doubtful.
But I'll leave room for the possibility that they're lawyers are the evil ones. If this proves to be the case.... fire them. They're making you look evil. If you're not, then prove it by finding council that are not criminally minded, and are truly concerned with protecting the privacy of your customers, instead of the profits of your corporation.
Pretty simple. In fact, here's a little quote you can tack to your "bulletin board" as a reminder:
If the privacy of your customer base is put first, profit will come after.
If profit is put first, it will be your last.
or, as has been foretold in the scripture of centuries past:
The first shall be last, and the last shall be first.
Think about it.
Recursion (or, in this case, tail recursion) is not a theory of Computer Science, nor is it a theory in Physical Science.
Recursion is a God-like trait that has been woven into the Cosmos since further back than we have the ability to measure. It's part of the 'Grand Design', although, like art and poetry, I'm not so sure the 'Grand Design' was in fact a design the way we think of design, and instead, an understanding.
In fact, this showcases quite nicely that Religion and Science have a lot more in common than most Far Right & Left Wingers, respectively, would be willing to both accept, and admit.
It's too bad... So much peace and tranquility can come into your life when you stop trying to push your own designs and instead understand the designs that already exist... which in fact, taking the above into account, would mean that understanding the design isn't about design, and instead, understanding.
See. 'Recursion all over again.'
or is it 'Again over all recursion.'?
Yep. It's Both.
You hate me now don't you?
Yeah. Welcome!
Oh, and don't forget... membership fees are due before the last day of each month!]
[Original post continued...]
Hey Google, here's a clue:
Three other companies have handed over this information and have done so without a user uproar in privacy concerns. One of those companies is Microsoft. Another, a company in which you own 5%.
So, what's the problem again? Oh, that's right, you're more concerned with looking like the hero, and in return get LOTS AND LOTS AND LOTS of GREAT FREE PRESS!
BTW... Was this the kind of "GREAT FREE PRESS!" you were looking for?
Probably not, huh?
Here's an idea:
How about we change some of those words around to read something less like an evil, profit driven corporation who's profit, above all else (like morals, etc...), is of the most importance, and concerns over their users privacy plays the role of 'second fiddle'. How about something like:
"If users believe that the text of their search queries into Google's search engine may become public knowledge, it only logically follows that they will be less likely to feel that their privacy is just that, private." Google's lawyers wrote.
NOTE: It's kind of too late to change it now. Your true colors have already shown through. Stating "yeah, that's what we meant to say." isn't going to work.
What will work? Not sure. But I've already changed my default search provider to MSN Search. I'm trying to decide whether or not to dump Gmail and Google Talk. They're more an integral part of my daily dev-life, although I could easily and quickly change that if it proves necessary.
Guess we'll see if it does.
Posted by m.david at 08:34 AM | Comments (2) | TrackBack
Over the last few days a wonderful event has been taking place in the EXSLT camp. To summarize:
* An initial EXSLT 1.0 proposal has been brought forward
* This proposal contains quite a bit of the great and wonderful things that have been developed as part of the XSLT 2.0 spec.
* A general "hand shake" agreement has taken place to move forward with extensions to the XSLT 2.0 spec, creating both an EXSLT 1.0 for XSLT 1.0 and an EXSLT 1.0 for XSLT 2.0 recommendation from the EXSLT group.
* Several major obstacles have been overcome resulting in all of the above being made possible.
However, not everyone is really all that satisfied with the current state of affairs, concerned that this effort takes away from XSLT 2.0 and the hard work put forth by the W3C:XSLT-WG.
I disagree. Here's why:
One who comes from an "XSLT 2.0 ROCKS!!!!" standpoint, I must admit that I initially set out about 8 months ago to convince Uche and others in the Python/4Suite world to build an XSLT 2.0 processor.
In that time, here's what I have discovered:
They don't want one.
Why? I don't think it really matters why, but I think a snippet from some comments made yesterday by Sylvain to the EXSLT list should help shed some light on the matter:
It was the time I was working with C# and .NET for my job and Python + Amara for my personal projects. Well, I would welcome more XSLT 2 in an environment such as J2EE or .NET because programming languages such as Java or C# do not have the same flexibility as Python, Perl or Ruby. To me it looks like XSLT 2 is more an attempt at fixing the lack of flexibility of the former. (Note that I do not mean to say C# or Java are weak or bad languages but I suspect their static nature is the root of their lack of flexibility in our context).
Like the W3C:XSLT-WG folks (most particularly Dr. Kay), I have a *TON* of respect for the Python/4Suite folks. When I set forth on the above mentioned quest, little did I know what the actual result of this 6+ month quest would be:
I've fallen for Python.
Don't get me wrong... I plan to use every bit and piece of XSLT 2.0 coupled with IronPython and C# via Saxon.NET, a project I have become pretty attached to as well ;)
I must admit, however, that I find it interesting that what was originally a push to convert the Python/4Suite community to XSLT 2.0 has instead resulted in my own conversion to the Python language.
Over the last 72 hours those of us subscribed to the EXSLT mailing list have witnessed what I believe to be a *FANTASTIC* compromise by several die hard folks from both camps. The fact that the EXSLT folks are open to the development of an EXSLT for XSLT 2.0 spec, and that several heavy hitters in the XSLT 2.0 camp are now standing behind both this effort *AND* the recent proposal put forth by John L. Clark and Uche Ogbuji means only one thing:
*THIS IS GOING TO HAPPEN*
Several folks have stressed concerned that this shows disrespect to the W3C-XSLT-WG.
But in reality it has nothing to do with disrespect for the W3C-WG and all the work they have done, and everything to do with providing extended value to the existing XPath 1.0-based XSLT language. In fact, a lot of the work the W3C-XSLT-WG has done has directly influenced the contents of the aforementioned spec. The fact that much of XSLT 2.0 has found it way into this initial proposal for EXSLT 1.0 suggests that these folks respect the work the W3C-WG has done, not the reverse.
It seems to me that all of this boils down to two action items:
* Continuing efforts to extend XSLT as a Domain Specific Language.
* Ensuring that the XSLT communities (1.0, 2.0, EXSLT 1.0) stick together, appreciating XSLT for what it is, no matter the version or extension family.
Few would ever suggest that Lisp is anything less than a *SPECTACULAR* language. XSLT is derived from DSSSL and DSSSL has its roots in Lisp.
How many variations of Lisp are there?
Not sure. I know there's a lot! Given the fact that Lisp is such a wonderful language, the fact that XSLT seems to be following in the footsteps of its forefathers to me suggests good things, not bad.
However, while Lisp is making a comeback in a *BIG* way, the biggest obstacle these communities are facing at the moment stems from the fact they let the family run wild for a bit too long without as much as a Family Reunion every couple of years to at very least catch-up on old times. As such these camps are finding the need to either start the family tree over from scratch (Arc) or attempt to find the best branch (Scheme) and graft themselves back into the main root 'system' (sorry... It was there. ;).
Of course there is a core group of folks who are standing firm on the notion that the core Common Lisp family roots is where the clean-up effort should be focused, headed by none other than Peter Seibel who has likened this effort to gardening -- see: http://lispniks.com/cl-gardeners/
I like Common Lisp. I like Peter Seibel. No disrespect is meant when I state what they are attempting to accomplish isn't about gardening... What they're attempting to do is plough an old farmers field that has long since been paved over and a mall built on top...
And they're attempting this with a horse plough!
While I commend these folks for their efforts, and really hope they gain some much needed traction, I don't envy them. It seems to me that we (speaking in terms of the collective XSLT communities) can either follow directly in the steps of our ancestors and as such find ourselves scrambling to re-band 10 years from now with our horse ploughs, scratching our heads as to why the soil is "SO DAMN HARD!", or we can learn from their mistakes, roll up our sleeves, pick the weeds, and work at keeping the "family" together the best we can. Our family may be showing signs of growing pains, but at least we're still happy and the growth taking place in fairly healthy soil.
If we do a good job now, there may be hope for our little Domain Specific Garden yet... But I don't think its time for the lime bags just yet and instead gardening gloves, pruning shears, rake's, shovels, fertilizer, and a bit of old fashioned nurturing.
I don't think its any accident that Lisp took on the 80's hyped roll as the de facto language for Artificial Intelligence. Intelligence suggests the ability to differentiate. To think through a list of choices, and choose one option over the others, and to do so both logically and, for the most part, accurately.
Intelligence is a human characteristic (at least its supposed to be anyway ;) With its roots in choice, coupled with the nature of being human, intelligence also promotes free will. Humans, by nature, have a tendency to rebel against the norm... especially when they are told they *MUST* do something a particular way. These characteristics --
* intelligence showcased through free will
* our tendency to tell people "you must do it this way, or you are wrong"
can be related to two styles of programming:
* Declarative, in this case, "Provide me with enough information, then let me choose my own path"
* Procedural, in this case, "It's my way or the highway!"
Tying this back into the notion of gardening:
* Declarative Gardening - "I would like a garden. Here are some elements. I can't wait to see the results!"
* Procedural Gardening - "You'll grow how I tell you to grow, and you'll like it!"
Telling our XSLT garden how to grow isn't going to work the way we think it will, if in fact we believe that fighting against the 'system' (what can I say, everything *IS* a system :) is going to end in the result that we expect that it will.
It won't.
Intelligence will choose its own path (XPath? :D).
Just like it *wasn't* designed to.
I leave you in peace:)
Posted by m.david at 12:05 AM | Comments (0) | TrackBack
Hello IronPython Community,We have just released IronPython 1.0 Beta 3. This release is primarily a bug fix release as we drive towards IronPython 1.0. Unfortunately we didn’t get to review the PythonEngine APIs in this release but will be getting this done for the next beta.
We also continue to work on improving CLR and Python interop. In this release we’ve added support for an assembly path (clr.Path) for assembly dependency resolution. If you’re currently using clr.AddReferenceToFile(‘…’) you’ll need to modify these calls to update the path and then add a reference without a full path (this will ensure dependencies get resolved in an orderly fashion). We’ve also improved our array support, adding both slicing operations for arrays and a new array creation syntax: System.Array[int]((2,3,4,5)) will create an integer array with the values 2,3,4 and 5.
Finally we continue to advance standard Python compatibility with the addition of a few new built-in modules: struct, codecs, and marshal. These are some of the most-requested modules from the community.
You can download the release from: IronPython Beta 3 Download
The rest of this new release as well as the list of bug fixes are below:
contd.We'd like to thank everyone in the community for your bug reports and suggestions that helped make this a better release: allenwb, Flexibal, Giles Thomas, glchapman, Hector Miuler Malpica Gallegos, Shigeru Hemmi, Jesse Kaplan, John Platt, Matt Beckuis, Michael Shilman, Michael Twomey, Mike Hostetler, mrwizard82d1, Nicholas Jacobson, Paparipote, Ravi Terala, Sanghyeon Seo, Stanpinte, Thomas, and Vargaz.
Thanks and keep in touch,
The IronPython TeamMore complete list of changes and bug fixes:
============================================Python CodeDom generator, parser, and compiler implemented
Bugfix: string.split() throws incorrect exception
Bugfix: Compiled module not initialized properly when imported
Resource support for the compiler
Bugfix: Compiler throw on invalid syntax
Many parser fixes for handling invalid syntax
Improved test support for running tests in multiple modes
Bugfix: Exception.args cannot be accessed from Python code
Bugfix: sys.exc_info()[1] in except block yields CLR exception instance, not Python exception instance
Bugfix: Data from exception does not capture all arguments
Bugfix: sys is missing sys.byteorder
Built-in function enhancements
Bugfix: Ctrl-C support in Console
Bugfix: __str__ not working on new style classes
Bugfix: implement –x command line parameter
Bugfix: Do not generate EXEs and PDBs as by-products by default (-X:SaveAssemblies overrides)
Bugfix: Meta-classes not doing the right thing in some cases
Bugfix: RE_Pattern.finditer() requires optional arguments
Bugfix: re.groupindex() returns non-empty dictionary even w/ no symbol groups
Bugfix: Context not flowing to compiled code when executed with eval
Bugfix: Null reference exception in PythonEngine.DumpException
Bugfix: sys.LoadAssemblyFromFile() should search sys.path for the specified assembly (searches clr.Path)
Bugfix: Dynamic overloading of ReflectedMethod’s is broken
Bugfix: Displaying a multi-dimensional array with lower-bounds is broken
Bugfix: Conflict between IList and overloaded indexers
Bugfix: list w/ a key isn’t a stable sort
Bugfix: built-in functions shouldn’t ever be bound
Bugfix: ReflectOptimizer can now properly distinguish between methods & static functions
Bugfix: Finish cleanup of caller context changes
Bugfix: typo in lambda
Bugfix: NewTypeMaker single object array params may have adverse affects on keyword / params args
Bugfix: Inheriting from built-in type damages super type
Bugfix: MakeNew collisions resulting in unverifiable assemblies w/ NewTypeMaker
Bugfix: Python class subclassing .NET class: constructor weirdness?
Tutorial includes information on creating events from Python
Bugfix: Eval still leaks for many corner-cases
Bugfix: problems with exec
Bugfix: exec doesn’t use proper environment in a class def
Bugfix: Unable to remove event handlers completely sometimes
Bugfix: List comparison fails with class instances
Bugfix: Display floats w/ lots of precision correctly
Bugfix: Import __main__ raises ImportError
Bugfix: Implement _codecs built-in module
Bugfix: Precision field not used with string-formatting codes
Bugfix: Can’t access globals from inside exec running in the class body or function
Bugfix: String subclass test in string_tests.py is disabled
Bugfix: Should be able to use a CLR Hashtable or Dictionary<> to provide keyword bindings of arguments using the ** operator
Bugfix: vars() -- TypeError: vars() argument must have __dict__ attribute
Bugfix: When keyword argument and unpacking argument lists together...
Bugfix: For functions of arity >= 6, called with wrong number of arguments, the TypeError reports the actual number incorrectly
Bugfix: Iron Python Exceptions need to be marked serializable
Bugfix: list of lambdas only evaluates first expression
Bugfix: ReflectedProperty.__set__ does not check for setter==null before checking setter.IsStatic
Bugfix: Support mapping key in string formatting operation
Bugfix: Equality comparison for slices is broken
Posted by m.david at 04:35 PM | Comments (0) | TrackBack
Michael Kay starts Saxon Diaries
Here's an interesting resource. Michael Kay's new Saxon Blog promises to be a good resource for anyone using Saxon XSLT.
Excellent!
I noticed also that someone pinged Edd Dumbill regarding this fact, and as such you can access Dr. Kay's feed from Planet XMLHack.
This too is excellent!
Want more excellency? (You're getting it whether you want it or not, so here's hoping the answer was 'yes' :D):
I've also started a blog of which you can be the first reader!
[WW:Ether: What's that? You mean you were the first official reader of Saxon Diaries?]
Yep! I'M THE KING OF THE WORLD!
[WW:Ether: No, your just the first official reader of Saxon Diaries]
Aren't these the same thing?
[WW:Ether: No.]
Hmmm. Thought they were. Well, in my world, they're the same thing.
[WW:Ether: So you're the King of you're own World?]
Ummmm... Hmmm... Well... Ummmm....
Yeah, I guess. But can we just pretend it's for the whole world?
[WW:Ether: No.]
Hmmm. Damn!
Posted by m.david at 10:23 AM | Comments (0) | TrackBack
Desktop Team - by Desktop Team
The release of Opera 9 Preview 2 marks the start of a new tradition: The Weekly Builds. Every week until the final version of Opera 9 is ready, we intend to ship a weekly updated version of Opera 9 on this blog.
The goal is to further open up our development process to our devoted users and allow you to be more involved at an earlier stage than when we ship the next public beta.
The Weekly Builds are snapshots, they are not as thoroughly tested as a Technology Preview or a Public Beta. You should only use these builds if you are not afraid of losing data (e-mail, bookmarks, anything) or crashing your computer.
First weekly builds (Windows, Mac, no Unix yet) available here.
Posted by m.david at 10:03 AM | Comments (0) | TrackBack
And this is what a fork looks like:
:D
Posted by m.david at 07:35 AM | Comments (0) | TrackBack
Microsoft Monitor: What Office Live Is Not
From Dare Obasanjo I found the above linked article. A quick snippet:
Microsoft is probably more concerned about a Salesforce.com than a Google here. Microsoft's core business is applications and operating systems. Services like Salesforce.com negate the value of both applications and operating systems, territory Microsoft won't easily cede. It's no coincidence that CRM is a major Office Live feature.
There's a *TON* of great soundbites in this post that help answer a lot of questions as to whether or not MS 'gets it' or not.
Take away: They do.
Posted by m.david at 05:16 AM | Comments (0) | TrackBack
[UPDATE: On irc://irc.freenode.net/#atom channel, Aristotle Pagaltzis points out that he has seen the point of this post brought out on (possibly) the IE7 blog. Couldn't find it in an initial search, but if someone like Aristotle suggests this to be the case, you can be pretty close to absolutely certain he's correct. Your comfort level that this will continue into the final release should be increased appropriately.
Thanks Aristotle! (update: Artistotle has located the source he was refering to on the RSS Team Blog. Please see his comments below. This might seem like a silly thing to some of you, but it's the little things like this that enable the ability to create a better overall experience for your future site visitors. Rarely do you hear people complain about anything other than the little annoying things that drive them nutts about a site. In fact, the GreaseMonkey craze helps showcase this point quite nicely. It seems to me that most GreaseMonkey scripts do one or two little things... written by folks who were fed-up with the way a particular site was dealing with this, or that, or whatever else. Little things matter. Thanks again Aristotle!)]
By pure accident I noticed that it seemed that if given a choice, IE7 will choose Atom over RSS if both formats exist as 'AutoDiscovery' html/head/link[@type='application/rss+xml' or @type='application/atom+xml'] elements in an html document. [1] After running through a few tests, however, it seems that in fact this is not the case.
What does seem to be the case?
It seems to pick the first one on the list that it understands and sets the default value of the orange data feed AutoDiscovery button to the @href value of this element.
So when a visitor visits a web page in which declares any combination of <link rel="alternate" type="application/atom+xml href="..." ... /> or <link rel="alternate" type="application/rss+xml href="..." ... /> elements inside of html/head, the orange icon will "light up". [2] If they click the orange icon button instead of the 'dropdown' to the right (which will give them a list of all declared html/head/link[@type = 'application/atom+xml' or @type = 'application/rss+xml'] elements) they will be served up a formatted version of the data feed that is associated with the first html/head/link element on that list, in document order.
In what should be a pretty obvious point, the way to ensure that folks in which visit a domain//page under your control are served up the data feed format you prefer (If not obvious from prior posts, I'm a *BIG* fan of Atom!) if they click the orange icon instead of the dropdown...
Put whatever that might be as the first link element in document order in which meets the proper attribute="value" criteria.
Not sure if this will continue forward and find its way into the final release of IE7, but it makes sense for MS not to play favorites so I can't imagine it will change. However, to play it safe, this portion is definitely a 'wait and see' game.
In the mean time, however, if you're comfortable with the notion that this might change and if you have a preference over data feed formats and/or you want the default value to be set to, for example, the full content instead of partial content or vice-versa, then simply place that particular link element at the top of the <link rel="alternate" type="application/atom+xml" href="..." ... /> or <link rel="alternate" type="application/rss+xml" href="..." ... /> stack and you should be good to go.
At least for now, anyway. ;)
Enjoy!
---
[1] : Tim Bray should be happy to hear that <link rel="alternate" type="application/xml" href="..." ... /> is not recognized as a data feed format, even if you use a fairly obvious data feed name such as 'atom.xml'...
[2] : Good thing they chose to follow the lead of Mozilla/Fx... makes it nice and easy to notice when a page declares one or more of the above *AND*, to a geek like me, its obvious what is represented by the icon. Now we need to see how well that translates to the average *non-geek*.
Posted by m.david at 03:24 PM | Comments (2) | TrackBack
via the above linked entry, the intro to latest edition of eXplorations begins:
In what was meant as an innocent 'shout out' to Sylvain (turns out both of us are *BIG* 'Queens of the Stone Age' fans) it seems that I may have invoked a spell upon Kurt, and now theres *ALL HELL* to pay!
I didn't mean to do it. But the Devil, err, I mean Kurt, made me!
Help save Kurt Cagle! Episode #4 of eXplorations is now available for download : MP3 Format : WMA Format
---
[RunningTime:Intro (:Start ~ 00:00 -> :Stop ~ 2:25) Total = 2 minutes 25 seconds ]
[RunningTime:Discussion (:Start ~ 2:25 -> :Stop ~ 20:35) Total = 18 minutes 10 seconds ]
[RunningTime:Finale (:Start ~ 20:35 -> :Stop ~ 23:47) Total = 3 minutes 25 seconds ]
---
[RunningTime:Complete (:Start ~ 00:00 -> :Stop ~ 23:47) Total = 23 minutes 12 seconds]
---
Posted by m.david at 01:54 PM | Comments (2) | TrackBack
Such that I can access this again a bit easier when I have a few minutes to check it out, I've copied the supplied code below. To ensure proper licensing is kept in place I have copied over the copyright and licensing info as well. However, if you plan to blog about this and/or attempt an implementation of some sort to then blog about it, please make sure you point back to the original source.
Thanks!
Copyright and License info followed by the code is below:
Here is the javascript function jsonT(data, rules), which transforms any JSON data data by applying the rule set rules.
You can download the most current version and a test page here and may use it freely under the Creative Commons GNU LGPL License.
function jsonT(self, rules) {
var T = {
output: false,
init: function() {
for (var rule in rules)
if (rule.substr(0,4) != "self")
rules["self."+rule] = rules[rule];
return this;
},
apply: function(expr) {
var trf = function(s){ return s.replace(/{([A-Za-z0-9_\$\.\[\]\'@\(\)]+)}/g,
function($0,$1){return T.processArg($1, expr);})},
x = expr.replace(/\[[0-9]+\]/g, "[*]"), res;
if (x in rules) {
if (typeof(rules[x]) == "string")
res = trf(rules[x]);
else if (typeof(rules[x]) == "function")
res = trf(rules[x](eval(expr)).toString());
}
else
res = T.eval(expr);
return res;
},
processArg: function(arg, parentExpr) {
var expand = function(a,e){return (e=a.replace(/^\$/,e)).substr(0,4)!="self" ? ("self."+e) : e; },
res = "";
T.output = true;
if (arg.charAt(0) == "@")
res = eval(arg.replace(/@([A-za-z0-9_]+)\(([A-Za-z0-9_\$\.\[\]\']+)\)/,
function($0,$1,$2){return "rules['self."+$1+"']("+expand($2,parentExpr)+")";}));
else if (arg != "$")
res = T.apply(expand(arg, parentExpr));
else
res = T.eval(parentExpr);
T.output = false;
return res;
},
eval: function(expr) {
var v = eval(expr), res = "";
if (typeof(v) != "undefined") {
if (v instanceof Array) {
for (var i=0; i
res += T.apply(expr+"["+i+"]");
}
else if (typeof(v) == "object") {
for (var m in v)
if (typeof(v[m]) != "undefined")
res += T.apply(expr+"."+m);
}
else if (T.output)
res += v;
}
return res;
}
};
return T.init().apply("self");
}
» Lizenz ..
Sofern nicht ausdrücklich etwas anderes angegeben ist, gelten für die Inhalte auf diesen Seiten die Bedingungen der
(cc) Creative Commons License
(c) 2005 Stefan Gössner
Posted by m.david at 12:40 PM | Comments (0) | TrackBack
Why U.S. broadcast talking heads should be lined up for the garrotte ✏Copia
If the title of this post is what the so called reporting news agencies have determined to be the most effective way to distract you long enough that whatever it was you were in the middle of will be long forgotten, and as such, a 'paying' customer who's 'wallet' they now own, then I guess I should give it a whirl.
However, this post is actually worth your valuable time. Go ahead and finish what you were doing, or at very least write it down so you don't forget. Then please go and read the above linked post from Uche.
It's important.
Thanks.
Posted by m.david at 05:52 AM | Comments (0) | TrackBack
In a recent post to XSL-List, G. Ken Holman, a pioneering member of the SGML/XML community, and an obvious legend of the XSLT community, announced:
Finally we are able to confirm that our March 13-17, 2006
publicly-subscribed XSL training is going to happen, but the venue
had to change to the Washington DC area to get enough students before
our confirmation date yesterday.
If the new location now suits you, details are on our home page
linked below. No other public announcements regarding this
particular event will be made.
Thanks!
. . . . . . . . . . . . Ken
cc: XSL-List, XML-Dev, Yahoo-XSL-FO, XML-Doc, UBL-Dev, XML-L,
RenderX, AntennaHouse, XML.gov
--
Upcoming XSLT/XSL-FO hands-on courses: Washington,DC 2006-03-13/17
World-wide on-site corporate, govt. & user group XML/XSL training.
G. Ken Holman mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Cancer Awareness Aug'05 http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Posted by m.david at 01:56 PM | Comments (0) | TrackBack
Imeem Finds a Creative Solution:
Innovative Cross-Platform Development
“With Mono,” says Jan, “we have a low-cost server environment where everything but the UI for the two clients is the same C# code. Then we can use Visual Studio to create a DLL for the Windows client; and Cocoa, Objective C, and Interface Builder for the Mac client. We think we’re the first company to create a cross-platform product with this approach.”
While I'm not so sure about the "We think we’re the first company to create a cross-platform product with this approach.” the "We think" part is the key operative, so it really doesn't matter. What does matter is:
* The benefits of a native interface has been the focal point.
While there are more benefits than just this, a native interface means that the users of each platform can immediattely begin to "dig in" to the application itself without the need to learn a new UI-type. Important point to consider!
* This was found on the startpage of Apple.com.
What am I doing on the startpage of Apple.com? Good Question! I took a break to visit the local late night coffee shop, and the Mac I bought a while back to enable ease of testing on Safari (read: so I could stop relying on friends and family members to tell me how a particular site looked in Safari) has also become my coffee shop laptop as its small, and I could care less if I were to spill coffee all over it.
Sorry MacAttackers, but, um... anyway, yeah. :D
So, in using my iBook I opened up Safari, which by default opens to the startpage of Apple.com. The first entry for Top Stories section reads:
Innovative Cross-Platform Development
For developers looking to create both a fully-native Macintosh client and a fully-native Windows client for a network application, the task just got a little easier. imeem, a pioneering startup company, has found a creative solution to the common challenge of creating unique clients for each platform, while maintaining a single backend code base.
So the bottom line:
The once *HIGHLY TOUTED* "Write Once, Run Anywhere" tagline for Java has now *OFFICIALLY* become a proven possibility with an open source implementation of the CLI [1]. Of course the CLI was originally championed by Microsoft and continues to be their primary development platform focus. Not that this is all that important in regards to the point of this post, but still a significant point overall.
The point?
Simple. An open source implementation of the CLI, in this case Mono, has found its way into a commercial product, and furthermore that product is being listed in the "Hot News" section of the startpage of Apple.com.
Now that's significant.
Oh, and the fact that a native interface for each platform has been implemented.
That's even more significant!
Excellent work Mono community!
Enjoy Your Cross-Platform CLI-based Application Using a Native Platform Interface, Brought To You By Novell And the Mono-Project Community-enhanced Day!
[UPDATE: A significant piece to both this story, and the ability to develop a cross-platform (Windows/Mac/not-sure-about-Linux) solution is the development of a project called Dumbarton. which "lets the Mac client make calls into the C# code managing the imeem data."
What's even better... The code has been open sourced and is available for download.
Lends nicely to the notion that its possible to develop commercial applications built on top of a community-based platform such as Mono, while at the same time giving back to the community in which has openly given to you. Mono is released under the GPL, so anything that uses the Mono runtime as part of their application must be made available as open source as well. However, from what I can tell, Imeem's approach is to use Mono on the server, and build native client interfaces that call-back to the server for data. As such, and as long as I have interpreted their process correctly, this would mean that 'Dumbarton' could have stayed closed and released as either free-ware, pay-ware, or any-ware in between (sorry. It was there. I took it. Get used to it... happens a lot 'round these part ;).
But they didn't. And thats REALLY cool! Goes a long way to show that its possible to develop a for-profit business in the Web 2.0 economy, embracing open-source, community-based solutions, while at the same time extending the possibilities for this platform, giving back this enhancement for the community to benefit from.
Nice!
---
[1] : Common Language Infrastructure, or .NET -- something that I think we need to start using to refer to implementations of the CLI platform given the fact that, it seems anyway, ".NET" is soon to become ".NoMore" and instead "[pick your poison] Live"
Posted by m.david at 06:53 AM | Comments (0) | TrackBack
Remote Events for XML (REX) 1.0
Now that I have *EVERYONES* attention:
The Remote Events for XML (REX) specification defines a transport agnostic XML syntax for the transmission of DOM events as specified in the DOM 3 Events specification [DOM3EV] in such a way as to be compatible with streaming protocols.
["Um. Great. But what about the"]
Downsizing? Excellent question! Read on:
The first version of this specification deliberately restricts itself to the transmission of mutation events so as to remain limited in scope and allow for progressive enhancements to implementations over time rather than require a large specification to be deployed at once. The framework specified here is however compatible with the transmission of any other event type, and great care has been taken to ensure its extensibility and evolvability.
["Downsizing? That doesn't say anything about... ohhhh... I see what you've done. You've"]
Sucker punched you. Yep! It's all part of my *Eveel* plan to get you to visit my blog so I can rake in the dough off of ad revenue.
[INNER VOICE: Um, M. You...]
[OUTER VOICE: Wait.. hold up, I think they have a comment they want to add...]
["Ads? What ads?"]
What do you mean? The ones that... ahhh shit! I stopped posting ads about the same time I started, didn't I?
DAMN!
[OUTER VOICE to INNER VOICE: Where were you on this one, "Hot Shot"!? Once again, you've made me look like a damn fool!]
[INNER VOICE to OUTER VOICE: Uh, firstly, Fuck off. Secondly, I tried to tell you, but you cut me off. Thirdly, *YOU ARE* a damn fool, and]
[OUTER VOICE to INNER VOICE: ... Fourthly, you're a dead man! Come here you little shit! I've had about enough of your attitude to last me an *ENTIRE LIFETIME*]
[INNER VOICE to OUTER WorldWide:Ether: At one point do you think he'll realize he's chasing his own tail?
Yeah, probably never...
Oh well... On the upside it's kind of entertaining. On the downside, it get's a little old after a while. Eventually however, you get used to it. Ahhh... such is life.]
[OUTER VOICE to INNER VOICE: Ummm... Who you talking to? Are you cheating on me?! Thats it! Round Two is just about to begin there buddy boy!]
[INNER VOICE to OUTER VOICE: great. can't wait. yee hah. are we having fun yet?]
[INNER VOICE's answer to INNER VOICE: Uh, no. We haven't had any fun in *DECADES*! Wait, who's "We", and did I just answer my own pluralized question?! Ahhh HELL! THAT SHIT's COMMUNICABLE?! That's it! I want my agent! This job sucks as it is *WITHOUT* the need for crazy pills!"]
[INTERMEDIARY VOICE: And so goes my life... the commentating official who tries to make some sort of sense of all the craziness that abounds... So Here goes:
Recursion.]
["Recursion?"]
[INTERMEDIARY VOICE's answer to the WW:Ether: Yep.]
["Great. Thanks. If recursion wasn't confusing enough as it is, now its both the question and the answer?! Err, wait..."]
[INTERMEDIARY VOICE's response to the WW:Ether realization: Bingo!]
[OUTER VOICE's salutation from all of this:
Enjoy Your New Atomicized W3C Specification Day!
Posted by m.david at 12:01 AM | Comments (0) | TrackBack
Changelog for Opera 9.0 Technology Preview 2 for Windows
I know you don't believe me when I say how much love exists inside this heart of mine for each and every one of ya'll, but it's true.
That ain't no pillow talk! Well, maybe some of it...
Nevermind, let me get to the point. You want proof of my love?
Well here it is:
Changelog for Opera 9.0 Technology Preview 2 for Windows
Information* Direct download or BitTorrent download
* Build: 8212
* Released: February 7, 2006Announcements
* Read more about the new features at Opera Labs
* My Opera Community forum
* Opera newsgroups (Google groups) or Opera newsgroups (news:// direct link)Release Notes
* This is a preview version of Opera. Use only on properly backed up computers and do not install over previous Opera versions.
* Users may experience problems synchronizing mail with IMAP accounts. If this occurs, open the account settings and press OK to reset the connection. Then check your mail again.Changes Since Opera 9.0 Technology Preview 1
[That's proof?]
What? Proof of what?
Ohhh! Sorry... Here's the proof:
Multiple fixes for XPath and XSLT.
See!
[See what?]
The love?
[( blank, slightly scared look (based on on the sudden realization that this time, it seems, I may have REALLY snapped!), blink, blink, think("On the count of three... RUN... LIKE.... HELL! Ready? ... one ... two... three!")]
["AAHHHHAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!"]
What the? All this commotion cuz' I chose to blog about this first, before actually testing to see what XSLT fixes had taken place so I could prove just how much love I have in this heart of mine for you?
Wow! Based on that scream, You must REALLY be impressed! :D
I'll have to remember that for next time round, 'wink, 'wink ;) :D
OK then... How about you just go download the new Opera Preview Release (Windows only for now) and we'll forget this whole little 'experience' ever happened, k?
Hello?
Where'd everyone go? :(
Anyone? Anyone?
Sweet! I've been wanting to pick up on that little hotty down the hall for WEEKS! Nows my chance! :)
Thanks Opera! ;)
Posted by m.david at 04:36 PM | Comments (0) | TrackBack
Dare Obasanjo aka Carnage4Life - Tuesday, February 07, 2006
Will MSN Search become Windows Live Search? Will MSN.com redirect to Live.com? If not, will Microsoft try to maintain two brands, Windows Live and MSN? Where is the dividing line? What is the difference? Will users understand that difference?
As the title suggests:
MSN Search : Powered by Windows Live [1][UPDATE: Or vice-versa.]
Its as simple as that, folks. If Windows Live is the focus of a rebrand, then so be it... That can happen over time as people become accustomed to both the name and services. If they prefer the Live brand to the MSN brand, in time, you'll have enough data to analyze and that'll be that (whatever 'that' ends up to be.)
To MS and Non-MS Folks alike :
I can promise you one thing... I'm not the first to suggest this idea. [2] Like all Fortune 500 companies (or 1000 for that matter) Microsoft is filled to their Starbucks-Powered Brim with Ivy-League and other Top-Tier business schools. In the case of these types of folks, nobody's Daddy did anyone a favor and hooked-em up with some cush-cush job in which they play tennis at the Pro Club all day, while somebody else they hired for a minimum waged internship does all of their work for them. These guys earned their jobs, and the respect that comes along with accomplishing what a minute fraction of the Worlds population will EVER accomplish.
Whats my point?
Simple.
You've got Top-Tier business folk.
You've got Top-Tier hacking folk.
And You've got a business to run.
How do you allow for the creative minds to breathe, while at the same time try and keep a business steady?
You compromise.
You air out new ideas while maintaining an "exit and return to the original focus" strategy.
You listen to what folks have to say, and then think about things yourself, and then listen some more, and so on and so forth. Somewhere along the line you have to make the risk assessed decision between new ideas and new innovation, or the same so-called 'clunky old product and business-model... that still works, and works quite well.'
So what makes me such an expert on these matters?
I'm not. They are. In fact, I'm not in any way, shape, or form an expert in these types of matters.
But I have eyes, and ears, and enough common sense that during the 4+ year block of time I spent on MS campus as a contractor (96-00 time frame) I came to realize and respect one absolute certainty about the folks that work on MS campus:
---
These folks know their shit. End of story.
---
Hackers like you and I represent a dismal portion of the overall world population.
Wait, did I say dismal?
Sorry, What I meant to say was Hackers like you and I represent a FUCKING DISMAL portion of the overall world population!
In most cases... we're a rounding error.
We may listen to each other, and think that because our little cliques think this or that or something else all together, thats its our opinions that matter the most and the rest of the world pays attention and follows.
Ummm... We're geeks. Nobody's paid attention to us for most, if not ALL of our lives!
That hasn't changed there Dorothy, so stop clickin' those damn Ruby Slippers! It's annoying as hell! ;) :D
---
So, Yo, Do!
Guess what the reality is?
To the 99+% of the population who actually pay for their software... and are OK with this "idea"!
Our opinions don't mean shit!
Don't think so? (I'm so SHOCKED! ;)
Ok genius -- Answer me this:
Why is Microsoft always battling it out with Coke for the the #1 brand in America year-in, and year-out?
A: Because the remaining 99+% of the world likes them. In fact, when they hear about how much money MS brings in each year, they think of this is a GOOD THING and admire them for it!
Why is that? (or, Why do people like/admire Microsoft?)
Cuz' there are some REALLY smart folks in Redmond and abroad who know how to do their jobs and do them well. Just like you and I *think* we are in our particular fields of CS study, these folks are the best of the best, and have proven this over, and over, and over again.
For 30+ years!
Sorry for the lecture here folks! But these guys need to be given credit where and when credit is due.
And they need to be given some respect (from us!), too.
With that said, then you might be asking:
What then makes you think you have the right to tell them to use "MSN Search : Powered by Windows Live"?
It's not a right, its just an idea. And I'm a loud mouth, cocky-a$$ punk who likes to laugh and play, and hack all day, who just so happens to think the name usage is a good idea.
Then again, I thought MS Bob was actually a cool product with potential. :D
So there ya have it.
Enjoy Your [In about a year, or two, fill-in the end result of the MSN/Windows Live branding, or re-branding effort as the case may be]-enhanced Day!
:D
---
[1] Not sure if its Windows Live or Live!, but its really of no importance.
[2] I'm not suggesting this because I have someone on the inside who tells me these things. I do have friends "on the inside." But its none of my business, nor do they offer up the information. Business != Friendship. Or, better said, just because I may have friends on campus, this doesn't mean that they are constantly feeding me info about whats going on under The Big Top. In fact, they can't. I'm not under a current NDA. They are. True professionals take NDA's to mean exactly what the source of the acronym suggests... Non-Disclosure Agreement. An NDA doesn't allow for "except when no ones around" exceptions.
Its that plain and simple.
'nuf said
Posted by m.david at 04:50 AM | Comments (0) | TrackBack
? Time to learn LISP | Between the Lines | ZDNet.com
Love the title and the ultimate relationship it has to the point of this VERY SHORT post.
However...
People have always complained about the syntax (or lack thereof) in LISP, but XML's strange syntax proves that you can get over even that hurdle.
Ummmm... Well, before I comment, a little history:
I began my hacking days at age 11 on a Timex Sinclair 1000, using TS-Basic.
[CORRECTION: My days of hacking at code began at age 11, but the "Pure Hacking Spirit" is something that starts at the moment of conception. No, don't have any memories of anything quite that far back, but I do remember deconstructing my first calculator at the age of 4 or maybe 5. Of course when I say "my" I really mean "my Father's", which, of course, was only the first of *MANY* future:
"Victims of the Calculation Kind"
or as some will call it:
"Victims of the Curious Mind"
Same thing, different list. ;)
In looking back, while the cost of the Timex Sinclair was fairly inexpensive ($100-$200 USD. I think?) my guess is that even a $1000-$2000 price tag would have been considered "cheaper than another 47 calculators!"
That reminds me... Ever seen the inside of an Odyssey Video Game Console?
Funny... I have very few memories left after that day... ;) :D]
[Original Post cntd.]
As much credit I have to give Timex for the development of an "affordable by the masses" programmable personal computer, and as such introducing me to my life's passion at a fairly early age, those of you familar with TS-Basic will probably understand what I mean when I state -- I've never been much of a Basic fan since then.
My first programming class was in 1984 where I was told there existed *EXACTLY* five programming languages in the world (I would use "taught", but this would infer that their was a teacher involved. You could accuse this person of a lot of things, but I'm not sure you can label the "Five Language Liar" a teacher, really ;).
Fast forwarding a bit...
Actually, a bit more, as we can move right on past my TRS-80 days. Actually, might need to drop the 's' -- not sure if my interest in this "machine" lasted much past the first 15 minutes of it's unboxed life. In fact, come to think of it, those 15 minutes represent both the first and last 15 minutes of it's life.
So, yep, day would be more appropriate, but in reality completely innaccurate in and of itself.
Poor thing never had a chance.
For good reason.
Next stop. AutoCAD.
The high school I attended in Kirkland, Washington State, USA (Juanita, Class of 1990) was endowed by someone, or something (meaning an entity (non-profit or corporate for-profit) of some sort) by (if I'm remembering correctly) six fully-equipped AutoCAD draft stations. As you can imagine, coming off of the Trash80 let down, discovering these classes listed in the enrollment guide, *PEAKED* the interest of my Pure Hacker Heart. As such, I enrolled in *EVERY* class/period they would let me that gave me access to those babies. :D At the time (not sure if its still this way, but it would make sense, if the answer was yes) this meant a *LOT* of Wood Shop! :D
Don't remember the Wood Shop part of those classes for some reason... But I do remember *QUITE WELL* each and every one of those workstations. :D Fortunately, the teacher (yes, this time around a teacher would be the proper term, however I prefer the phrase "Mortal God!" He deserved the title.) understood the opporuntinity these machines brought to those who found interest. As such, he simply let me be, giving me grades that, how should I say... well, looked a lot more like Wood Shop grades, and a lot less like the rest of the grades on my report card.
God Bless that Man! :D Never really was much of a student. Never really saw the point.
Another story for another post. ;)
Back to those stations... The funny thing is is that I never really new that the language I was learning to program in what LISP -- actually, more correctly, AutoLISP, which appeared in AutoCAD in its "fullness" in January of 1986, just in time for several years worth of hacking together all sorts of... Hmmm... I guess whatever it was I seemed to find interest in at the time. Don't remember. Don't care. All I knew was:
"THIS ROCKS!!!"
---
Probably enough personal history lesson to make the point of this post.
A few years later I would finally attach a name (AutoLISP) to what it was I was programming in. But it would be YEARS later, when I discovered XSLT, that I would make the connection -- the rest is a Cinderella love story that none of you will want to hear.
I promise. ;)
The point? First, the quote again:
People have always complained about the syntax (or lack thereof) in LISP, but XML's strange syntax proves that you can get over even that hurdle.
I've heard a lot of languages called a lot of different things.
Some good.
Some bad.
But mostly irrelevant things as, in most cases, they were languages that didn't interest me, so I didn't care.
However, even after over two decades of listening to the attempted trash talk of the various geeks I've acquainted myself with throughout the years (attempted? There are those of you who understand what I mean, others that don't. Its those that don't that I speak of ;) never in all of my life have I heard them make a statement such as "LISP lacks syntax." Maybe its just the crowds I "roll" with, but whenever I hear "trash talk" against LISP, its BECAUSE of the syntax, not for its lack thereof.
Oh, and regarding:
but XML's strange syntax proves that you can get over even that hurdle
Which hurdle? Oh, you mean the fact that your a complete idiot if you don't get "XML syntax" hurdle?
Yeah, that's gotta be a tough hurdle!
NOTE: If you have trouble with XML syntax, and you're a "programmer":
Ummm.... No your not.
Time to learn LISP?
Ummm... No.
Time to learn about new career opportunities?
Bingo! (Please See Disclaimer below)
Gotta Run! :D
---
DISCLAIMER: As an Associate Professor of Computer Science at Brigham Young University, Phil Windley is no idiot. In fact, take a look at his bio:
Phil Windley is an Associate Professor of Computer Science at Brigham Young University where he teaches courses on digital identity, interoperability, Web services, middleware, and programming languages. Phil is also a frequent author and speaker on these topics and writes a blog at www.windley.com. Prior to joining BYU, Phil spent two years as the Chief Information Officer (CIO) for the State of Utah, serving on the Governor Mike Leavitt's Cabinet and as a member of his senior staff.
Ummm... yeah... I think we can safely assume he knows his stuff.
The above was not aimed at him.
In reality, it was a COMPLETE joke!
But, if you need to apply the above post to someone such that you can feel like you didn't just waste five minutes of your day reading about my personal history in the field of the Hacking Arts, please apply this tooooo.. Ummmm... someone else? In fact, apply it to me if necessary, as this obviously doesnt apply to the author of the linked post!
And yes, It *IS* time to learn LISP!
(and there's always time for laughing at ourselves, and at life, as well ;)
Posted by m.david at 12:50 PM | Comments (0) | TrackBack
An interesting screen shot for those interested in this kind of thing.
[WARNING: The following image may be considered offensive by some folk. Furthermore, those who get hives even *THINKING* about the Windows Registry *SHOULD NOT* look any further. Considered yourself warned!]
So for the remaining two folks still with me:

Now both of you might be asking:
Where? I don't see any mention of IE7.
which, more than likely, is the reason your still with me on this one. ;)
Here, let me show you:
See, right here > 528d46b3-3a4b-4b13-bf74-d9cbd7306e07
Still confused? I don't blame ya. We all are to some extent.
Without a crash course in Class ID's (CLSID), the following images will help showcase the various matches for CLSID {528d46b3-3a4b-4b13-bf74-d9cbd7306e07}:





Well, thats about enough of that. Even with years and years of Windows Registry exposure, I still get hives if I hang around for too long.
Now one of you might ask:
Why do we care if IE7 registers itself as the default owner of MIME-type application/atom+xml?
which would explain further why you were willing to put yourself through such *EXTREME* exposure to the Windows Registry.
The simple answer, my child, is that by registering as the default owner of the application/atom+xml MIME-type means that Microsoft both recognize's that this MIME-type exists (a *BIG* step) and furthermore wants you to use Internet Explorer 7.0 to view files in which claim this MIME-type. All *VERY GOOD* things.
Now, you might suggest:
What if I don't want IE7 to be the default owner of files in which claim a MIME-type of application/atom+xml
to which I would answer:
Smart A$$. ;)
Okay, I'm off to pick up a case of Benadryl.
Enjoy Your IE7 Now Owns MIME-type 'application/atom+xml'-enhanced Day!
Posted by m.david at 11:40 AM | Comments (0) | TrackBack
IPac - Your Senator Needs an iPod
That's why we think all Senators ought to join Stevens' esteemed company as iPod owners. Rather than wait for every Senator's daughter, we're taking matters into our own hands and buying a video iPod for the campaigns of Senators who work on legislation affecting technology. Plus, we're going to pre-load each one with examples of the cultural richness made possible by sharing and collaboration - public domain content, Creative Commons content, and audio messages about the importance of balanced copyright policy. It will be engraved with the words "listen to the people." And it will arrive at each Senator's campaign office with a letter of explanation and a list of all the people who helped pay for it.
What a great idea!
Each Video iPod costs $324.42, and you can buy a whole iPod or chip in a portion of the cost. We'll take care of the rest.
While the only political campaign I plan to personally contribute to is Al Gore if he chooses to run again (more on that later) this is one campaign contribution that I believe deserves an exemption!
You can contribute here.
Oh, and to see the latest list of Senator's getting iPod's (which includes John Kerry) visit the above linked article. :)
Posted by m.david at 09:10 PM | Comments (0) | TrackBack
IEBlog : What’s New for CSS in Beta 2 Preview?
Compatibility and our updated CSS behaviorObviously, we have heard the feedback asking us to be more standards-compliant in our rendering behavior. We must balance this ask with the need of our customers (and end users) to have their pages not be broken. To find a balance we introduced a strict mode in IE6 that lets authors opt in into the more standards compliant rendering (and, if you’re putting in a modern DOCTYPE declaration, you’re being opted in automatically). Pages authored under non-strict mode (or “quirks mode”) will not change behavior in IE7 – so the fixes we’ve done to be more CSS compliant won’t appear under quirks mode. However, if your content is under “strict mode”, our behavior is more standards compliant, and your pages may break - for example, if you use some of the CSS hacks or rely on our old incorrect overflow behavior. We understand the pain this might cause in the short term but we believe a move to a more standard compliant implementation benefits everyone in the long run.
Last but not least, big thanks to the community: here on the blog (yes, we are paying attention to the comments), the WASP team and those out on the web reporting CSS issues with IE. We know we have a long road ahead but I am very excited with the progress we are making.
- Markus Mielke
After reading this post I was struck by how wide open Microsoft, Sun, and... hmmm... was going to add IBM to this list,
but I must admit that beyond Sam Ruby I don't really read much from the IBM blogosphere... maybe for a reason (e.g. beyond Sam, it seems the commentators inside the walls of IBM are NO WHERE NEAR as open as they are at MS and Sun. Then again, I discover more information from Sam Ruby on any given week than I could possibly consume/learn in an entire year, so maybe this is a good thing :D)
BTW... If you read my post from a couple of weeks ago regarding Steve Jobs, Pixar, and Disney, don't let the questions posed fool you into believing I think that an Apple dominated media scene is better than one dominated by MS. Give Steve Jobs the DRM controls and we're ALL fucked!
No, I'm not kidding. Thats not where the title comes from.
Instead, the title comes from the times like that of the focus of my last post. While obviously not perfect (then again, who is?) MS is A TON more open than what I tend to suggest.
In fact, its posts like the one above made by Markus Mielke, or the news regarding MS and their new "If we can find a legal way and place to publish your content, we will" that make you realize there's a lot more to the fact that folks at MS and Sun (and IBM?) are both allowed and encouraged to blog, blog often... and speak their mind!
In all honesty, I half wonder if companies like MS and Sun and IBM (I'm pretty sure they can be included) are the only ones that get it?
Get what?
Well, its actually something I have quite a bit of more experience with than 14 US bound cargo ships filled with nothing but cargo container wall to cargo container wall of "Speak N Spell" and "See N Say"'s will have over the period of each of their "lifetimes" --
Combined!
The experience I am refering to?
Speaking my mind. [or is it See it and Say it? One of the two ;)]
[NOTE: For those of you who just mumbled "about the same combined brain power too!" --
hmmm... still thinki"the cow say's "Mooooooo" --
Damn it! Will ya stop pulling my tail!
Sorry, where was I? ["Proving our point for us!"]
Hmmm...
You know what... I don't like you anymore. ;)
---
OK, back to reality["back in your cage Mr. Crazy! wucha', wucha' (does wucha' read like a horse whip? If not, plesae improvise :)"], as this is a serious point.
Well, it is from this point forward anyway...
I'm obviously one who likes to speak his mind. Always have been. Even without the influence of my sisters, I have a feeling I would still be the "speak my mind" kind of guy -- although they most certainly helped! But none-the-less, the simple point is that when you have the freedom and ability to speak your thoughts out loud, and vent frustrations, out loud, and sing praises of whatever, out loud, you tend to release a lot of potential stress inducing frustrations. [Out Loud? Yeah probably, huh?! :D]
As such, and again, I can speak from experience, life -- even at the WORST of times! -- is fun and enjoyable... or at least it can be, and your mind will tend to find reason to smile and laugh.
Those who smile and laugh a lot at work, tend to do so cuz' they enjoy being there. As such, they stay there. They're happy. Why leave?
Besides, economies-of-scale tend to lean heavily towards those companies who's employees perform well.
Pretty obvious on that one, right?
What should be more obvious then is that the folks who are performing well are working well. They're working well because...
They're smiling. A LOT!
So here's a crazy question:
Whether its source code, developing open standards, or the voices of employees:
Can a company be labeled as "Open" when they both let and encourage their employees to blog, and blog openly? When you're greatest resources are your employees (they're the ones that write the code, right?) and you encourage them to get involved with the community and speak their mind (without revealin competive secrets etc,,, )...
Thats a BIG PHAT DEAL!
Something to think about for sure :)
Enjoy your Open Source Blogging-enhanced day! :D
Posted by m.david at 04:21 PM | Comments (0) | TrackBack
Add Search Providers to Internet Explorer 7
Do you own a site? Promote your favorite search engines (including your own, if you have one) on your site with Internet Explorer 7! All you need is to run the following script on your page: window.external.AddSearchProvider(‘URL’) Where ‘URL’ points to an OpenSearch description document, which will tell Internet Explorer 7 how to add the search engine to the browser.
...
else return "to your (pipe) dream state... ;)";
/// for those wondering why I 'ellipsed' my way through the
/// 'then' conditional following the boolean test...
/// please re-read the titled test, and, if necessary, compare the
/// content of the above text to understand the relationship to
/// the OpenSearch comparison. Ahh... There ya go! :) No need to
/// evaluate the statement following 'then' when the test failed
/// before it even began, now is there :D
///
/// oh, and for those about to suggest I forgot my curly brackets...
/// Do you see two or more lines on any of the conditional shifts?
/// NOTE: If yes, ya think maybe it's time to kiss
/// the bottle good night? There ya go...
/// Good work Al! I'm so proud!
/// No, not enough to celebrate...
/// Put it back down! ;)
So when I first saw this, for like 1/2 a second I thought, "you kn" (thats how far I got into the "you know, maybe MS *IS* changing" statement before realizing...
"Oh wait... When your not the monopoly stake holder of any given market, and a monopoly shareholder actually exists, you don't have much choice BUT to be open, now do you!" ;)
Speaking of which... In regards to Scoble's "Google (which, yes, does have a monopoly share of the search market)." comment from a few weeks back...
While I'll agree with the notion that Google owns the search market, I'm not so sure its a monopoly share. But setting that aside, let's say that it is...
The only thing "forcing" me to use Google is habit... There's like a billion and a half choices OTHER than Google, each one of them easily accessible by simply changing the habit of typing 'g o o g l e ctrl + enter' when I need to find something on the internet. *IF* it were to turn out that, in fact, they are a monopoly, to break up such a monopoly would mean breaking off each of our fingers and/or severing the nerve fibers/bundles between our fingers and brain.
"Hey, I'm cool with a Google monopoly...Anybody else gotta problem with one?
"Anyone... ?
"Anyone... ?
"..."
I rest my case ;)
NiceTry.NEXT! :D
Posted by m.david at 10:50 AM | Comments (2) | TrackBack
Dear [You]:
Today, Bono addressed the National Prayer Breakfast in Washington D.C., reaching across divides to ask policy makers and faith leaders to do more to beat global AIDS and extreme poverty and calling on the U.S. to give an additional 1% of the budget to this fight.
Should the U.S. take Bono’s advice and devote an additional 1% to beating AIDS and poverty? Vote in an online poll now!
Read more about the event on the ONE.ORG blog.
In a statement today, Bono said: "It must be an emergency when an Irish rock star is being invited to speak at the National Prayer Breakfast and the House Democrat annual retreat all on the same day. And it is. Because in this long day 6,500 Africans will die of AIDS and 110 million kids won't get to go to school. The good news is that politicians on both sides, and more importantly the people who elect them, are all joining as ONE against AIDS and the extreme poverty in which it thrives. The great news will be when the effective programs to beat AIDS and extreme poverty are finally fully funded."
Thanks,
The ONE Team
---
NOTE: I just timed myself. 14 seconds from click to completed vote in the affirmative.
Got 14 seconds to spare?
Posted by m.david at 12:17 AM | Comments (0) | TrackBack
Business - StatesmanJournal.com
The software company, the operator of a popular blogging technology called MSN Spaces, said Tuesday that it will try to make blogs available to users elsewhere even if Microsoft decides that it is legally obliged to block them in a particular country.
Excellent! Way to set the example M$! err, I mean MS! :D
The quote I like the most:
"We think that blogging and similar tools are powerful vehicles for economic development and for creativity and free expression. They are tools that do good," Smith said. "We believe that it's better to make these tools available than not, but that isn't the end of the discussion, either."
Hey MS :: Considered joining the FeedMesh? No pun intended, just can't think of a better way to say this, but the above statement meshes quite well with what the FeedMesh is all about. Freeflow of info, no one entity controls knowledge that new content exists, talent/resources can be focused on building better value-add technologies instead of trying to edge out competitor X by inking exclusive deals, and most importantly:
The potential of another "Rupert Murdoch" in our future is reduced to pretty much nil. :D
You have to admit; this fact alone has gotta sound pretty nice, *especially* to those MSNBC folks who's skin must crawl at the sound of his name! ;D
Either way, good on ya for leading the way and being the example on this one! Its good to hear you take this stance, and is something I believe will be a source of some significant moves by others in this space. :)
Posted by m.david at 10:14 PM | Comments (0) | TrackBack
IEBlog : IE7 Beta 2 Preview Available
IE7 Beta 2 Preview AvailableIf you’re a developer, an IT Pro, or just plain interested, please visit http://www.microsoft.com/windows/ie/ie7/ to try the IE7 Beta 2 Preview.
Don't have time to customize, so hear again is Mr. "Old Faithful" Burns providing his commentary on the matter:

[UPDATE: Acid2 Test and Phishing Philter Phlub screen shots below]
While I was confident it wouldn't pass, I was interested to see just how far off this release of IE7 was from the Acid2 reference.
First, the reference:

Next, IE7 Beta 2 Preview:

Uhhh... Yikes!
Ok, so we can pass this off, for the moment, as Beta. Not sure if MS even plans to make an attempt at passing the Acid2 test. If yes, oh boy... they've got some work ahead of them for sure.
Moving forward, I noticed something strange with the Phishing Filter:
[NOTE: Top of screenshot, to the right of the address bar.]

This only pops up, thus far, on this page of my blog, and only like every third refresh. Is this a bug (I'm assuming yes) or is there something in my markup that I need to be aware of that is throwing a "suspicious" flag? Anybody mind helping me out here? If this is something I'm doing incorrectly, would be a good thing to know so I can fix it. I would hate to leave visitors with the impression something bad is potentially happening behind the scenes, and they should be aware. Not exactly "confidence building" and is *DEFINITELY* something I would like to fix if its something I am doing wrong!
Thanks to anyone who can throw me a bone on this one!
Posted by m.david at 02:45 AM | Comments (6) | TrackBack
[UPDATE: Steven Cohen, one of good folks at PubSub working on good things that the rest of us can, do, and will *GREATLY* benefit from, has added a quick comment regarding 'splogs'. Below his, you will find my own comment of which I just updated, commending PubSub on their efforts in regards to the FeedMesh project in which Bob Wyman, founder of PubSub, championed. FeedMesh, for those unaware, is an effort to create a decentralized feed of updates to blog's as they become known by each service provider who is a part of this network; A network which includes TONS of great folks such as PubSub, syndic8, and even Google. Unfortunately, Technorati (as far as I know, anyway) has yet to join up. Maybe sometime in the future?
Let's hope. The FeedMesh is an important service to ensure that there is a constant freeflow of information such that these same service providers can provide value-add services on top while at the same time not 'locking down' that information, giving access to only a select few.
Thanks for your efforts PubSub (et. Al.)! :)
[Original Post]
On the 22nd of this month, I made a post regarding the fact that spam-blogs had found their way into the Technorati 'system'. Not sure how long ago this was fixed as I haven't done a direct search for blogs pointing to this blog for a couple of days. Allowing for the fact that I doubt I was the only one to point this out, or even suggesting that they didn't already know, spam-blogs are a BIG PHAT problem! Even if they have been working on a fix for the last six months, even six months is a short space of time to be able to both work out and implement a fix.
Of course, the spam-blog, comment-spam, and spam trash folks in general, are just that -- TRASH! Trash folks like this are always looking for a way to keep trashing our web with their useless smut. So no doubt Technorati, and PubSub, and syndic8, etc... are all in for the long haul in regards to keeping the trash out, and the good stuff in. Fortunately all of these org's are staffed with Top-Notch talent. If there's a problem in the system, they'll both find it and fix it, and, it seems anyway, there turn-around time in doing so, no matter what the actual scenario from discovery > to > fix may have been.... well thats just mind boggling. As a software developer who's been around the block a bit, I can tell you right now... this stuff *IS ROCKET SCIENCE*!
My hat goes off to ya, Technorati! Good stuff!
Posted by m.david at 01:30 AM | Comments (2) | TrackBack