January 2006 Archives

Dan Zambonini

AddThis Social Bookmark Button

We’ve all seen the thousands of articles that pit ‘ASP vs JSP’, or ‘Why Ruby on Rails is better than Zope’, or one of the other millions of permutations on the theme. To say that one language is generally ‘better’ than another doesn’t make a huge amount of sense; is one spoken language ‘better’ than another, even if it does take longer/shorter to say a sentence, or has more/less words/letters in it’s vocabulary? So why are so many people willing to make this claim, with such emotion?

Abraham Maslow proposed a “Hierarchy of Human Needs”, which are basically:

  1. Physiological (Basic survival)
  2. Safety (and security)
  3. Belonging (community)
  4. Esteem
  5. Self-actualization

Could these drive our ‘need’ to support the main language that we use?

The first two ‘needs’, in this context, could be translated to our need to work. In order to survive, we need a job, which pays us money to buy food. We choose a language which allows us to better find a job (e.g. Java rather than FORTRAN), but then need to ensure our (job) security by keeping the language ‘in fashion’ and in use. If negative press is published, that attacks our language of choice, it could lead to businesses being less likely to adopt/support the language. Conversely, positive press on a language could persuade IT directors to use it in a new project, and will also convince more developers to adopt the language (which, through a feedback system, could produce more jobs, and sustain the life of the language).

Even if our language is relatively ’safe’, we then move to our need for belonging; to be a part of a community, to support it and protect it. By producing these ‘Language X is better than language Y’ articles, we are contributing to our community and (in some ways) trying to protect/defend it at the same time.

The Esteem need pushes us to gain recognition; which these controversial articles almost certainly guarantee. People with a larger than average need in this area are purported to be ’snobbish’, which again could account for articles of this nature.

Tying ‘Self Actualization’ into this argument is tricky. I’ll leave that up to the interested reader (i.e. I can’t think of anything at the moment, apart from a weak argument based on the following quote from the Psychological Review: “Self Actualization is the intrinsic growth of what is already in the organism”).

Kurt Cagle

AddThis Social Bookmark Button

Related link: http://www.understandingxml.com/archives/2006/01/ajax_systems_th.html

Most of you, dear readers, are likely technical people, dealing with computers and networks and the Internet. Many programmers tend, when wishing to pad out a resume (and I’m not above this myself) to call themselves system analysts. However, in most cases, these systems are remarkably self contained - the workings of applications and daemons within a computer, a client/server system which might possible have a database backend but is otherwise a closed loop, maybe in the most extreme cases networks of computers where the interaction is seen primarily at the individual nodal level, because trying to take in the whole system is complicated and messy for most linear thinkers.

In short, for the most part what we know of systems where you have many largely autonomous nodes interacting via connections is the linear portions of the graph, those areas where, assuming traffic is relatively low we can reasonably create approximations about behaviors that will be seen within the system.

I have a bachelor’s degree in physics. I’m actually a pretty lousy physicist, however, because I wasn’t really interested, while in college, with what went on in the describable domain of most textbooks. Physics textbooks generally preferred staying in the realm of the linear because once you throw enough bodies into the equations they begin to become unpredictable. Lorenz is best known for “strange attractors” - the quasi-periodic entities that occur when chaos begins to creep into a system, but to me the far more telling graph is the Lorenz bifurcation graph, which shows how a single laminar stream will, at a certain water velocity, split into two streams, then four, then eight, and so forth until there are so many streams that the flow becomes totally turbulent.

It is an oddly beautiful and powerful graph, yet it should also be permanently etched on systems analysts’ eyeballs for what it represents. The horizontal axis of this graph can be thought of as a measure, more or less, of the energy (or load) within a system, while the y axis represents the number of states that need to exist in order to support that load. There are certain aspects of the graph that are fascinating from a mathematical standpoint - the fact that there is a convergent ratio between bifurcation points, the Feigenbaum number (equal to 4.669212…), for instance, is critical in understanding that chaos is not the same thing as randomness, yet the implications from a systems standpoint are just as important.

Before digging into this, I want to make a distinction here …we humans tend to like easily definable systems, and so tend to have a natural prejudice for believing that order is inherently better than chaos. However, in general, systems are usually at their most robust when they are in fact moderately chaotic, but when they are highly ordered, this usually is an indication that the system has largely collapsed. Thus its worth clearing your minds about the preconceptions that we may have about the moral superiority of one over the other.

In the logistics diagram (given because the curve can be defined via the recursive relationship: xn+1 = rxn(1 - xn), which is known as a logistics relationship because it occurs so often in resource management settings) theres an interesting phenomenon - as you pump more and more energy into the system, the number of states increase to a point where they create a cloud of points that seem surprisingly dense - it becomes harder to model the characteristics of the system, because the system can be in so many states.

However, when you pump in a certain critical threshhold of energy, you end up with voids where the number of states end up clustering around only a handful of possible values. It took me a while to realize that this wasn’t a matter of the number of states decreasing — they don’t go away — but the states are all so close in value that for all intents and purposes the bifurcations start over as if from a considerably simpler part of the graph.

Computer networks probably work upon the same principle; as you increase the traffic moving through that network, the systems develop bottlenecks until new nodes are paths are added. So far, this has been a linear process - a simple client/server relationship does require that you throw in more servers as the demand on the networks rise, but in most cases this does not change the underlying characteristics of the network. However, the web has also begin to promote the establishment of standards (whether open or proprietary is largely (though not completely) irrelevant) and open source development that changes the relationship away from simple client/server systems to more networked systems. I realize that there are likely many people who would object to this contention, but I’ll make it nonetheless:

As the load increases on the system of the Internet, the system responds by rewarding structures that shift the load into a more asynchronous, distributed architecture.

Now, this sounds like I’m ascribing to the Internet some level of volition or consciousness. That’s absolutely not the case. Rather, what you see here is that as you move up the logistics diagram, some standard will emerge that is more efficient than the one that preceded it, and the pressures of this network will have a tendency to push other technologies and providers in the direction of this standard. Note that this does not, in fact, say anything about what the exact standard is, though if you can analyse the network at the appropriate scope dominant characteristics that can be found in the most effective standards will in fact be found in whatever is written. The Web doesn’t dictate the standard, but only provides broad hints about what that standard should be.

I definitely see AJAX playing into this model because it replaces tightly bound, synchronous services with loosely coupled, declarative asynchronous services on the client, and because of this also shapes the server (and in time servers) development process. It’s a regime change, and will likely end up becoming a dominant strange attractor until the system pushes this out in favor of even more effective solutions. A website no longer has a single “home”, but instead is made up of components that pull their data from a wide variety of different websites and webservices, running them through a transformation stage on the client to paint the interfaces.

I think that AJAX will eventually fall by the wayside, but it will be replaced by declarative databound objects, possibly along the lines of an XForms or related technology, however, this is simply a refinement of a larger scale movement away from client/server dyads and into multiply connected nexi that just happen to have the characteristics of being displayable (and manipulatable) by people. This will change the “energy” of the web as well.

Jumping away from AJAX for a bit and returning to the weather, the Earth’s weather system is just that - it is a complex system that shuttles around energy. In the US, especially among certain political factions, global warning is considered to be something of a red herring, something that either 1) doesn’t exist, or 2) will generally have more beneficial effects than harmful ones. There is an argument against global warming that seems rational on the surface - how can you tell whether what is going on now is in fact not within the normal bounds of variability, to the extent that people tend to cry about global warming for any kind of unusual weather. Indeed, in some places, such as northern Europe and Russia, far from global warning there seems to be some of the coldest temperatures to hit in years this winter.

On a local level, this is certainly true - determining what is variable weather and what is climate change is one of the thornier conundrums that climatologists have had to face for years. However, there are indications that the changes that have occurred, some of the extreme weather of the last decade, are indicative of an increasingly heavy load being placed on the Earth’s system.

There’s a Rube Goldberg characteristic to the weather (Goldberg was a master of chaos theory) that sometimes tends to obscure the pieces at play but ultimately what you are dealing with are feedback systems that are normal quasi-stable, but that are being pushed increasingly into what looks like bifurcation points. Something is causing the global heat content to increase. I’m not going to dive into the cause (for now), but rather look at the effects that this has on the system. Global warming is causing glaciers to melt - from the Andes to the Rockies to the Alps, glaciers are disappearing at an alarming rate. Kilimanjaro’s glaciers, which provide a major source of water for the region, have all but disappeared. This is alarming from a purely local standpoint because it will significantly reduce water in various watersheds, driving up the price of this most basic of resources.

However, it is the melting of the ice caps that may in fact be more worrisome. The edges of the polar ice caps, both north and south, are calving at a significantly higher rate than normal, and glaciers in the region are picking up speed.This speed increase is due to water forming beneath the ice, acting as a form of lubricant to shift the sheets of ice down glacial valleys. Curiously, the depth of polar ice near the poles themselves may actually be increasing, though I have to wonder if this is due to the fact that as the ice warms, it is also expanding. The melt from these ice caps introduced cold fresh water into the normally high salinity waters of the polar seas, especially in the North Atlantic, which has the largest exposure to the Arctic sea.

The heat capacity of water is increased by the addition of salt - this is the reason that salt is used to de-ice roads, which means that the ability of the North Atlantic to absorb heat decreases. Why is this so important? Well, here its worth understanding some basic principles of physics. One such principle is that nature abhors a gradient - if one region of the sea is warm and an adjacent area of the sea is cold, the warm water will flow toward the cold water, which in turn pushes the cold water back toward the warm, especially in the presence of Coriolis forces (from the rotation of the earth). You get “rivers” within the ocean. One of these rivers has long been known - its the Gulf Stream, which comes from the Sargasso Sea and the Caribbean, a natural “bowl” of relatively still water near the equator which consequently absorbs a lot of heat from sunlight.The Gulf Stream carries away some of that heat northwards, dragging along with it a warm jet of air that, among other things, makes it possible for palm trees to exist quite happily on the west coast of Scotland, which is roughly at the latitude of St. Petersburg.

Decrease the heat capacity of the Arctic and North Atlantic Seas, and something bad happens. The North Atlantic sea begins to heat up, decreasing the flow of the Gulf Stream. The cold water that would come back south as part of this process stops moving as well, which means that the Caribbean sea loses its ability to disappate heat, and the temperature of that body of water also begins to rise unchecked.

Take a quick jog over to North Africa. Global warming has also been slowly dessicating this region and creating the Sahara desert. The Sahara has grown more than 10% in the last century. and like other systems out of control, has exceeded the initial feedback mechanisms that kept the desert in check. Deserts are a lot like cancers - up to a certain size they form an equilibrium with their environment, but when that equilibrium breaks, the weather patterns inherent in desertification tend to amplify as the desert gets larger. This manifests itself as a slowly moving cyclonic air mass that is more or less permanently parked over the Sahara, but that periodically gets goosed by local weather conditions into creating sandstorms These sandstorms then form a hot jet that streams out towards the mid-Atlantic. Fortunately, when the weather is cool enough, this jet encounters the wall of air created by the gulf stream and dumps its contents into the mid-Atlantic, with the warm air adding to the tropical jet that keeps northwest Europe warm.

With the gulf stream slowing (down roughly 30% in the last decade), this wall no longer exists. The Saharan stream of hot dry air encounters the mid-Atlantic’s cold, wet air, and cyclones form … big ones. Normally this has only happened in late summer and early autumn, but the storm season is getting longer because the waters are warmer .. the systems thing again. This means that hurricanes are entering the Caribbean with more strength than they did even a decade ago. Typically such hurricanes lose a fair amount of strength when they hit the continental shelf - shallower water contains less energy - but this speed bump is proving to be less of a barrier given both the strength of the storms and the fact that once the hurricanes do get into the Caribbean they’re spoon-fed superhot water (and air) that turbocharges them. This means that storms like Katrina are not abberations - they are increasingly going to be the norm.

Meanwhile, in the Northern Atlantic, the fading gulf stream is having another effect. The gulf stream typically ends up pushing the arctic air so that it stays to the north, spilling out instead into Canada and Siberia. WIthout it, the cold air is instead streaming south into Europe, bringing with it extraordinarily cold temperatures - I heard figures like -40C in Bonn last week, a new record low. Convection currents shift. The Canadian Arctic is warmer than its been in decades, to the extent that there actually is now a Northwest Passage in what had been, until a decade ago, ice-locked seas - and Innuit settlements are collapsing into the melting tundra. Similar problems plague Alaska and Siberia.

The graph is bifurcating, the states are changing. In the South Pacific, you have another heat pump at work that’s being driven by the melting Antarctic and the stagnant regions of the South Pacific. Normally, this heat pump involves the sloshing back and forth of a quarter of the Pacific’s volume as a region of heat, in a cycle known now as the El Nino cycle. This affects us in the Pacific Northwest for two reasons. In the first case, in the La Nina part of the cycle, this pattern drives a cyclonic pattern which sends a stream of hot, wet air towards the N.American west coast from California north. In the El Nino part, The pattern reverses itself, and this area goes into dryer conditions.

Until comparatively recently, this had a cycle of seven years, and the cyclonic activity was relatively mild. Lately, however, this cycle’s been accelerating — the water’s moving faster there, not slower as it is in the Atlantic, because the heat pump is somewhat simpler. This in turn is increasing the amount of energy in the cyclones, in this case resulting in longer, hotter, more intense and wetter jets. It’s also meant that snow is becoming rarer in these parts because the air is warmer (I’m nervous about what happens when we get into the dry part of this cycle).

The interesting this here is the fact that cyclones are indicative of turbulance, and become more common the closer a system moves towards a bifurcation point. The environment is trying to reach a new point of stability but there’s no way to ground out the feedback loops. I’m not sure I buy the “Day After Tomorrow” scenario, but I do think that the situation that we’re in now is essentially a transition between long term climactic stability points - we’re switching from one loop to the other in a strange attractor, and the ride’s likely to get violent.

So if your AJAX systems begin to show signs of incipient frost, run, don’t walk, to the nearest equitorial nation.

Kurt Cagle is an author and software architect, and spends entirely too much time glued to the Weather Channel.

Kurt Cagle

AddThis Social Bookmark Button

Three years ago, I was in the midst of both a personal and a financial depression. The aftermath of 9/11 had collided with the collapse of the Internet Bubble, leaving the tech sector in ruins. While the general population seemed to get by with remarkably little impact - especially if you were in housing or finance - being a programmer then was synonymous with being unemployed.

I started writing my first blog about then, though it was done primarily in the form of an email newsletter. I wrote long missives, often going on for eight to ten pages or more, about the fundamental unfairness being perpetrated upon the programming community. Much of it, in retrospect, involved working through a certain amount of anger and bitterness that I needed to get out of my system before I could start writing again professionally. Some of it, however, was warranted.

The tech sector in the late 1990s was poised for a fall. It was obvious, even before the NasDAQ came tumbling down in March of 2000, that there were too many people in the field, that there were too many companies trying to build killer apps in untenable niches using jury-rigged and unstable technologies, all chasing after the get-rich-quick IPO. Add into that a swell due to a significant number of semi-retired programmers coming back into the market to chase the Y2K bug, and the large number of Indian and Chinese contractors who were brought over because they were perceived as being cheaper labor than the native pool, and it was pretty much inevitable that when the bubble burst, it would be nasty.

In the last four years, there has been a dramatic sea change in the tech sector. The Y2K programmers have retired, likely for good. Many people on H1B visas had to go back home once the companies that had hired them collapsed, and after four years they are far more busy seeding their own economies with startups rather than making the long, arduous trek to the US. Moreover, as the dollar has weakened, its appeal to bring these workers over has consequently diminished.

Journeymen programmers found jobs as policemen, or lawyers, or accountants, or selling goods on eBay, and to a great extent they are not anxious to come back into the pressure cooker of the tech field (and are very nervous about Bubble 2.0). The ones that did well originally also retired young, and are now buying up real estate or gold or sailing on their yachts.

Finally, after ratcheting up in the 1990s, all too many colleges were left having developed programs and staffing them with fairly expensive professors, only to have the class count practically dry up after the NasDAQ collapsed. They shed faculty as fast as they could after that, and are likely to be very conservative in building up new tech departments … which in turn has put a major damper on the number of incoming college trained programmers that acted as the shock troops in the last boom.

It’s now 2006. The S&P has largely recovered its standing from its high, but the tech heavy NasDAQ is still nearly 60% below its maximum. The Google IPO was stratespheric, but I’m not so much convinced that Google is the harbinger of a new era so much as it is one of the few popping embers of a dying one - and its play in the advertising space makes me convinced that very senior people there know it.

There will be a few stellar companies out there in the next era, but my gut feeling at this stage is that the next wave is not playing out in the large spaces with companies coming to market with really cool technology. Rather, what is loosely called Web 2.0 is involved primarily with getting companies mapped to common, open standards, potentially (though not necessarily) on open software.

The fundamental problem that open standards has for the “software industry” is that it is in point of fact pure poison. This is an odd position for someone who advocates open standards to take, but I don’t think its an unreasonable one. Most software companies in the pre-dot-com era were far more interested in technology differentials - niches in which the difference between two proprietary systems required a bridge to be built. Put a toll both on that bridge, and you can make money.

Open standards abolish those bridges. This means that companies either need to create artificial barriers faster than others can knock them down, or they need to provide a means to simplify the development of the bridges themselves and step out of the way. (The one area where this is absolutely not true is the computer game industry, but this is in fact a sector of entertainment, not information technologies, and has its own boom/bust cycle).

This is tremendously bad for the software industry as a whole, which has been limping towards SOA architectures more out of necessity to stay in the game than because it represents the next major frontier. Ironically, however, it is tremendously good for programmers, at least those that don’t mind putting in some serious work.

Business requirements change - indeed, it is the accelerating phenomenon of the web that has shortened the business change cycle so much that business objectives change on a daily or even hourly basis. For this reason, traditional waterfall methodologies have largely been abandoned in favor of more agile techniques, with as one consequence the shift of programming away from large groups of hundreds of developers into much smaller groups of between one and maybe a dozen programmers, each group working largely in parallel in a loosely connected manner.

Commercial development (and adoption) has tended to stress a one-size-fits-all model (aka Turnkey software) that does in fact fit everyone … badly. Customization of this software was, generally, seen as someone else’s problem by the vendor. While this opened up the door for a lot of third party “consultants”, most of whom were just barely trained in the software in question, it also meant that the customization base become highly balkanized, and usually led to customers with systems that either worked poorly or didn’t work at all.

The community model of software development is emerging due more due to economic pressures than it is because of ideological evangelism on the part of a few open source evangelists. In essence, in the adoption of such software, the customer effectively gets the opportunity to utilize the software without the need to pay for the development costs of the core software — only the customizations. These customizations, in turn, were typically rolled back into the core package either as compatible extensions to the product (because other people may also have similar needs and thus have a vested interest in that compatibility) or as the foundation for the next generation of the product itself.

The developers, ironically, still get paid … and are still needed. However, what changes here is that what are needed tend to be specialists, not journeyman generalists. What’s more, they are not in the specializations that were big even half a decade ago. Who would have known five years ago that having strong Javascript skills today would get you a better job than having strong C++ skills? There were any number of companies that bet the bank (and lost) thinking that SOAP/WSDL based web services would be the next big thing; within the boundaries of financial services that’s been true, but in the consumer space - gee, even after half a decade, we’re still buying milk by going to the grocery store, and the refrigerator is still not terribly bright about its contents.

What this means is simple. There aren’t enough programmers to go around. Simple supply and demand … wages are beginning to rise pretty dramatically again, top people in the field have to get social secretaries to handle all of the cold calls and sales pitches, and companies outside of the IT sector are relying increasingly upon community software to tap into the developer base.

We are entering, in fact, something that IT companies have been dreading for a while … a tech crunch. For some companies, there’s a certain amount of payback that’s occuring … hiring managers had become used to having their pick of programmers at comparatively low wages, and to being able to fire those programmers or treat them badly because there was an apparent glut. No wonder so many left. Now, those same companies can’t get good talent because word does get around, and they will increasingly find it difficult to hire even the indifferently talented because there are comparatively few of those left.

However, beyond a cetain satisfactory karmic justice, the reality is that demographics are actually working against companies now in a big way. The US is fast losing its appeal as a technology center as other companies develop their own infrastructure (and offer competitive wages), though even in other countries the situation is far from favorable for hiring managers. The long term movement where women are making up the majority of college graduates plays against IT because programming is still seen as being too much of an alpha male geek sort of thing (which has more than a little truth to it). There’s no reserve of “emergency coders” that can come out of retirement, and the echo effect of the GenXers is now fading as that group moves out of programming and into technical management.

On the other hand, the fundamentals in the industry are much more solid today than they were five years ago - standards that were still in flux half a decade ago have been field tested and either are in heavy use or aren’t standards any more. The open source/open standard movement, which was considered radical in 1999, has in fact become the dominant means of writing much of the software in use today, contributing to a community model that again favors the developer over the vendor or the customer (and proprietary models are being increasingly seen as backwards or dinosaurs, much to the distress of those same vendors). Lightweight programming languages and agile metholodologies are replacing the over-engineered mega-project and twenty thousand class programming frameworks, turning programming into a cooperative venture where no one person or agency controls the whole network.

It’s a good time to be a programmer.

Where do you thing the job market is going for programmers and IT professionals?

Kurt Cagle

AddThis Social Bookmark Button

Related link: http://www.understandingxml.com/archives/2006/01/on_xmlish_thing.html

There are times lately where I feel like I’ve strayed far from my original mandate of focusing on XML and it associated technologies. I’ve wrapped up the SVG chapter for the Firefox book, am beginning to dig in-depth into the realm of extensions before heading back into the deeper realm of XUL (though will be XULish in the upcoming chapter as well; a little XUL goes a long way). So, while taking a bit of a breather from graphics and coordinate systems and the like, I wanted to look at the release of one of my all time favorite tools:

OxygenXML Turns 7

My favorite XML editor is becoming scary good. I’ve been an Oxygen convert for a long time, and every iteration it just seems to get better and better. The Oxygen XML 7.0 Editor has just been released by SyncRO Soft Ltd., and already its reached the stage where I find it very, very difficult to shift back to the older version. Oxygen has been in a continual state of evolution, since I first encountered it as a 3.0 product, and it seems like even minor upgrades brings significant improvements to the application.

I spend a significant amount of time writing XSLT scripts, both versions 1 and 2, and Oxygen’s XSLT capabilities have long been quite significant. In the most recent incarnation, Oxygen supports .NET 1.0, .NET 2.0, JAXP, MSXML3.0, MSXML4.0, Saxon 6.5.5, Saxon8B, Saxon8SA, Saxon.NET, Xalan and XsltProc. Given that all of these handle at least XSLT 1.0 compliant documents (and any that aren’t on this list don’t have extension capabilities that would move beyond XSLT 1.0 compliance) this reasonably handles all of the production browsers in use. Most of these (with the exception of Saxon8SA and the .NET 1.0 & 2.0 processors) are included with Oxygen, and consequently you can do such things as test EXSLT extensions.

One of the things that I’ve thought was long overdue and is now implemented is the ability to do split screen content, which gives you the means to simultaneously edit both an XML document source and an XSLT transformation. This may not necessarily seem like the best approach to document development, but in general when I work on an XSLT, I typically will build up the complexity of my test XML. Up until 7.0 this process involved flipping back and forth between multiple tabs, an especially onerous process when you had more than ten such tabs up. Now, each pane can have its own set of tabs and you can move a tab from one set to another, making it far easier editing complex, multi-file applications.

Another feature, marginally less useful but still with applications, is dynamic validation - you can validate content on the fly even as you enter, so long as your document is well-formed. While this can be very useful when dealing with data-oriented content, it gets a little more problematic for DTD enabled document-oriented content. I suspect that its greatest utility comes when dealing with table-view modes.

There are number of new features geared towards simplifying XSLT development. One, the XSLT Input, is especially powerful - you can drag a node from an outline view of an XML document into an XSLT document, and it will automatically create both the template and the end node XPath expression for nodes matching that expression. You may need to do at least a little additional processing to clarify the node, but with it you could create a fairly complex XSLT stylesheet in minutes. Additionally, there are quick shortcut methods that will turn selected content within a template into a call-template invocation (or a stand-alone stylesheet), complete with associated parameters.

Fly-outs also figure prominently in Oxygen 7.0. These sidebars, originally appearing in 6.0, have been expanded considerably to handle a fair number of different sidebar panels of functionality, including a general properties tab, an information tab that captures the output from transformations or schema validations, and the aforementioned XSLT Input view, among others.

THe XSLT capabilites also extend to handy utilities for searching XSL declarations (those things that are contained within <xsl:variable> or <xsl:param> and references, across not only the context of a single document but within all documents in a given project. This gives capabilities much like you’d expect with more traditional IDEs in trying to find function declarations. This capability also enables search and replace capability for renaming such declarations, something that’s always been one of the more onerous refactoring chores when developing stylesheets. This support is made even more spectacular when it is applied to the XQuery aware functionality that Oxygen also supports.

This is all enhanced by the extensive code completion and code templates that have been a feature of Oxygen for a while now. Beyond the ability to use schemas (or learned patterns that are inferred from the document structure) in order to determine intellisense options, XPath functions are also supported. A future enhancement - one that could read extensions defined externally — would definitely be a nice to have here, but other than that, the code behind is remarkably good about catching not only the full XPath 1.0 and/or 2.0 function set and appropriate child node names, but also at showing the paramaters and variables in scope for a given application. Support for indexed words and IDs within intellisense are also supported, making RDF development a little easier as well, and (one of my favorite), the support for CSS property completion can also now be done (when editing CSS documents directly, not within <style> elements).

One element that has been improved with this version over the Oxygen 6.0 implementation is that its not quite as heavy memory wise as that version was. It still tends to require some serious horsepower to run it when more than a few documents are loaded, but at least now it’s possible.

Beyond this, there are just a number of nice touches - the ability to associate different colors in the editor with different schemas, the ability to create resizable graphical views of schemas (and schema modules), image previews (a very useful feature for web develoment), importing from Excel documents, text files and JDBC sources, and in general a high degree of extensibility within the interface itself.

Overall, there are very few complaints that I can make about Oxygen 7. It’s powerful, multifaceted, useful for both tabular and text manipulation of XML, works with web services and SOA architectures, and is about as good an XML editor as anything out there. Even the price is reasonable, US$180 for the professional license ($80 for the upgdrade), and $48 for the home license (which differs only in whether this is used for education or commercial use).

I don’t generally do a lot of product reviews from my blog, but there are a few that I swear by (and a few that I swear at). Oxygen definitely fits into the former category.

Kurt Cagle regularly blogs on UnderstandingXML.com about the state of the art in the XML sector. He lives in Victoria, British Columbia with his wife and daughters.

Simon St. Laurent

AddThis Social Bookmark Button

There’s been a lot of talk about the revolutionary change Web 2.0 promises, and it’s time to look at the architecture that’s leading to that change: a greater split between client and server logic.

Lots of people have pondered what Web 2.0 means. Tim O’Reilly posted an extensive “What is Web 2.0?” article that goes well beyond what I’m seeing as the root cause of the shift. A Google search on “What is Web 2.0?” brings up all kinds of answers - and questions.

My personal sense is that all of these answers and questions reflect a shift in the architecture of web applications. There’s no new technology involved - most of these components were available even before the Web 1.0 bubble burst. The shift is in the way that we are applying basic technologies like HTML, JavaScript, and XML to long-existing problems.

In Web 0.x, Web sites were collections of static files, all available for viewing with a mild amount of interactivity. In Web 1.0, those pages were supplemented with frameworks that generated pages, allowing the use of more robust server-side tools and making it possible for sites to become larger and more interactive than before, connected with existing systems.

Now, with Web 2.0, those frameworks aren’t just generating web pages. More and more, the data that is available in their back ends is becoming directly accessible without an HTML intermediary. You can get data from Google or Amazon without having to get the HTML they normally generate along with it.

Sounds small, right? It’s not a huge change, nor is it new technology. Web 2.0 skeptics are right that there isn’t a major technology shift here, and that’s a good signal to be on the alert for hype.

It’s not small, though. Web applications that offer raw data in addition to or instead of HTML-formatted data create huge new possibilities. This is why we’ve seen mashups spreading across the landscape, combining data from multiple servers in a new client application. It’s also why aggregation is becoming easier and more popular, as this basic application skips the screen-scraping (and its inherent legal problems), allowing new services to build on old ones.

One especially exciting part of this - like many web technologies - is that you don’t have to be a meganational supersized company to work in it. You can create clients that work with this information for web browsers (using Ajax, Flash, or other approaches), or even for programs in more traditional environments. You can also create servers which share data this way, or servers which call other servers to use their information.

We’re really at the beginning of this, and there are lots of problems, technical and cultural, to address. We had a bit of a false start here with SOAP-based Web Services, which have proven to be mostly Enterprise Services, retreating behind the firewall. It’s not clear what to call this new model, nor is it always clear what tools to use to build it. There are lots of ways to build programming interfaces on the Web, and while my favorite is REST-based XML, a variety of text-over-HTTP options are out there.

There will be all kinds of business and technical shifts as a result of this architectural opening. For those, I think Tim’s description of Web 2.0 is probably the best crystal ball to visit today.

Web 2.0: architectural shift or business model? Or both?

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.sonicsoftware.com

Progress Software Corp today announced it has reached agreement to acquire Actional Corporation. Actional is a leading provider of Web Services Management (WSM) software for visibility and run-time governance of distributed IT systems in a Service- Oriented Architecture (SOA). Actional’s Web Services Management Platform will become a product unit within Sonic. This extends our leadership and increases the breadth of capabilities in SOA infrastructure offerings from Sonic.

Actional has two main products – Looking Glass, a Web Service Management (WSM) platform, and SOAPstation, a Web services broker.

Looking Glass provides end-to-end business process visibility across any SOA deployment. Using non-intrusive Ghost Agents and a unique process tracking technology, Looking Glass automatically discovers services and correlates message paths through the SOA network.

Looking Glass dynamically creates a map of your end-to-end business transactions across multiple service requests that may span a variety of protocols and platforms. A wide range of usage and performance metrics can then be captured and correlated for governance, troubleshooting, and process optimization. Unlike its competitors, the reach of Looking Glass is not limited to SOAP and Web services, but can also be used to automatically detect and monitor business transactions as they flow across a wide variety of application servers, databases, and network appliances. In addition to being able to track SOAP calls, Looking Glass can also non-intrusively track requests across .NET, JMS, JDBC, EJB invocations using RMI, and track related calls across these different environments. The list of platforms supported are many, but include .NET, BEA WebLogic, IBM WebSphere, JBoss. Appliances supported include Reactivity, Sarvega, and CISCO AON.

Actional SOAPstation is a SOA intermediary that provides runtime governance through policy-based security and access control, service level agreement (SLA) management and enforcement using active mediation.

Everybody has the target of SOA in their sights. But each organization views the path of how to get there somewhat differently – based on their immediate needs and concerns.
Many organizations identify the need to secure and govern their web services – so we offer SOAPstation for those customers. Others see that they need to monitor and measure their SOA – so we offer Looking Glass for those customers. And others view their most immediate problem as being how to connect and orchestrate their services – and for these we have been offering the ESB.

Regardless of the entry point there is an appropriate and best-of-breed solution to satisfy those requirements and a broader set of infrastructure capabilities when they move beyond those immediate requirements.

The Actional and Sonic products can be used independently of one another, or combined to support the entire SOA lifecycle from service definition and deployment, to process definition and staging, to runtime visibility and real-time optimization. Sonic ESB is the preferred platform to connect, mediate and orchestrate services in an enterprise SOA environment, and Actional’s platform-agnostic approach to SOA visibility and run-time governance supports SOA environments using ESBs, application servers, or other technologies.

The full press release, and FAQ document, can be found at the Sonic Software, Progress, or Actional web sites.

Dave

Kurt Cagle

AddThis Social Bookmark Button

Related link: http://www.understandingxml.com

Ah, the dangers of surfing. I spend a great deal of time following blogs of people I know and respect, and every so often come across discussions that seem very germane to me. In a recent posting by premier columnist Jon Udell, Jon relates his own belief, one echoed by Barry Diller at a recent Web 2 conference, that there’s not much talent out there, and that it is this scarcity of talent that ultimately makes talent “meter-able”, something that fits within the context of DRM. Doc Searls, on the other hand, argues (in a post that I tend to agree with) that talent is relatively abundant, and that as such DRM makes far less sense.

Ultimately this issue of scarcity vs. abundance of talent comes down to what exactly is meant by “talent”. By varying this definition slightly, you can find yourself easily on one side or the other of this equation. My suspicion is that the challenge that we face is that maybe, just maybe, we have a confused definition of talent that favors the marketing message (and the corporate bottom line) over the actual intrinsic good that a truly skilled and talented person brings to the table. If that’s the case, then in the end, DRM may be the biggest mistake that Hollywood, et al., ever made, because it will spawn the creation of what I’d see as an Open Source version of Hollywood (or any other “industry” that I can think of).

(Article Continued …)

Does DRM protect and compensate talent, or is it simply a means of “guarding the gate”? Tell us what you think?

M. David Peterson

AddThis Social Bookmark Button

Related link: http://channelxml.com/community/blogs/m.david/archive/2006/01/15/17.aspx

Previously, the intro to this post read:

In season #15 of ‘How The WorldWide Web Turns’ Amazon FINALLY demands Google to get on it’s knees and flash a Diamond so bright that, at a pinch, it could be ‘mounted high atop the Pacific Medical Center‘ they call their corporate home (true story, by-the-way) and ‘used as a makeshift lighthouse to aid the Port of Seattle‘ in collecting its daily duties (I’m tagging that whole phrase SIC, btw) from each of the shipping vessels carrying one of the 200,000 average shipping containers in or out of Puget Sound each month.

Of course, what Amazon hasn’t told Google is that they’re really not as committed to this relationship as they’re making out… 90% of those containers contain products bound for a ‘customer’ of Amazon (associate? Hmmm…. I smell an ‘Intern’ scandal in the making over this one (Season #19, episode 14, for those keeping track) and as such, needs some of those zeros pulled from the end of that Google (please tell me I don’t have to explain what that means?!) as, while business is busy, when you have to ‘grease-the-palms’ of each of your so-called ‘friends’ (Do you feel sorry for ‘em? Not me! They chose this ‘lifestyle’, it didn’t choose them! ;), razor-thin profits, being all but visible (another possible use for the Blinding Diamond, btw) to the naked eye, don’t exactly leave you overflowing with extra cash to throw around at the end of the ’shipping day’!

Of course, Google is already well aware, having been ‘informed’ from ‘a friend’ the real story behind Amazons Diamond Demands, and in fact happen to have some Diamond Designs of their own, but these won’t be made known until Season #18 - Episode 7 — Those crafty Writers Guild writers always find a way to keep those eyeballs glued to the screen, and as such a ‘current’ contract glued inside their filing cabinet…

Oh wait… I might need to check the script to be sure this is still the case… If I’m not mistaken, the Writers Guild themselves may have been written-out in Season #14, episode 9, which in many ways is the direct result of the subject matter Kurt and I discuss in this episode of eXplorations… So I guess I should just let you have at it? Hurry! If you miss this episode and have to play catch-up that could ruin the ENTIRE season! Then what?

Oh, well I guess thats a good point… you could just unsubscribe from the feed and be done with it, couldn’t ya… ;)

Hmmm… maybe the Writer’s Guild COULD actually be looking at a future in which they didn’t have a hand in writing… Don’t you just love technology! ;)

[Original content of the above linked post…]

[UPDATE: I’ve “REMASTERED” the original, cleaning things up a bit more as well as removing one minute and twenty-two (1:22) worth of the music filler which I wasn’t completely satisified with. The result is much cleaner (in terms of the sound quality) and A TON easier on the ears, something I discovered to be a bit of a problem with the final mp3 and wav files I originally posted. While still an amateur I’m slowly beginning to understand how to use the editing equipment a bit better. I think you will enjoy the result quite a bit more. I’ve added .v2 to the last part of the file name before the .mp3 or .wma file and left the other files in place for anybody who has linked to them. However, I have updated the links below to the new file names.]

Fighting to maintain control of its desktop dominance, has Microsoft subsequently been mentally pigeon-holed by the various Internet communities to continually be cast in the desktop role? This question may seem silly , but what happens when the desktop is no longer viewed as ’sexy’ and as a result continues to find itself with fewer and fewer lines, ultimately being written off in season fifteen of ‘How The WorldWide Web Turns’ due to lack of interest from the viewers?

In this episode of eXplorations, Kurt and I take a closer look at Digital Rights Management and the recent root kit debacle with Sony. Could this one event be the downfall of Sony, Microsoft, and any others who choose to continue forward with plans to control that in which we read, listen, or watch by invoking strict requirements that suggest in no uncertain terms when and what we can read, listen to, or watch, with further requirement that we purchase both hardware and software for the content to be readable, listen-able, and watchable in the first place?

Could this last suggested scenario prove to be the real reason behind the season #15 write-off for Microsoft? After all, its not always lack of fan interest and instead the actors themselves who believe they’ve reached a level of untouchable status and therefore make demands that cause the shows producers to find reason themselves to expose the career-devastating photos they have locked away in the safe for just such a situation. With this suggested scenario, where does this leave companies like Amazon and Google who have been focused on building a grass roots fan following by giving them a cut of their contract each month in thanks for helping to ’spread the word’?

And what about DRM and censorship? Are those in whom invoke DRM control over artistic content censoring these same artists by binding them to stay within the confines of a DRM-based economy? Can the notion of a DRM-based economy survive long enough to even matter? Take a musical journey with me through the course of this podcast and make a decision for yourself whether you agree with the suggestions I attempt to make using the sounds of Rage Against The Machine, A Perfect Circle, and Pink Floyd as my ‘voice’. This is probably the most fun I’ve personally had with audio gear I barely know how to use, and the discussion between Kurt and I has turned out to be a lot more than I think either of realized it to be.

Whether you agree with any of what is presented in this show, 17 minutes and 40 seconds of fun times for all awaits your click. Both Kurt and I are having a blast with this show and we’re quite excited to see that others seem to enjoy what we have to say. Thanks for both your time and interest! It is much appreciated :)

[Podcast Data Feed] : [Episode #3 : MP3 Format : WMA Format]

Is DRM and all of its supporters doomed? Or are we taking WAY TOO MANY things for granted and avoiding the reality of our of DRM’d Destiny? Whichever side of the question mark you find yourself, your time and thoughts are truly appreciated!

Michael(tm) Smith

AddThis Social Bookmark Button

Related link: http://lists.w3.org/Archives/Public/public-bpwg/2006Jan/0000.html

Dominique Hazael-Massieux of the W3C Mobile Web Initiative (and “team contact” for the W3C Mobile Best Practices Working Group) has announced Last Call on the Working Draft of Mobile Web Best Practices 1.0:

Comments should be sent to public-bpwg-comments@w3.org (archived at [2])
before February 17 to be taken into account as Last Call comments; note
that Last Call comments receive special treatments in the W3C process as
the Working Group needs to respond to any comments sent during that
period, and to ask the commenters whether they were satisfied by the
proposed resolution of their comments.

In other words, from now on until February 17 is the best time to get
your voice heard on this document, so please review it and ask other
relevant parties to do so as well!

2. http://lists.w3.org/Archives/Public/public-bpwg-comments/

Mobile Web Best Practices is has as its goal to provide specific details about best practices that should be followed to improve the user experience of the Web when accessed from mobile devices. It pays special attention to best practices for mobile devices that:

  • have small screens (240 by 320 pixels or smaller)
  • lack a pointing device (such as a mouse)
  • have a keypad for user input (instead of a standard keyboard)

The heart of the document is in section 5, Best Practice Statements, which is divided into the following sections:

Given that the world will eventually have several-times-over more Internet-enabled mobile devices than monitor+keyboard PCs, and that those mobile devices will be the primary means that many people use for accessing the Web, the work that is being done now on Mobile Web Best Practices is extremely important. If you have an interest in helping to make the Web of tomorrow — the mobile Web — as easy to use as possible, you should take time to read the document thoroughly and comment on it.

Niel M. Bornstein

AddThis Social Bookmark Button

Related link: https://www.novellbrainshare.com/slc2006/catalog/controller/catalog

Last year was my first year as a Novell employee, and I was honored to be able to attend my first BrainShare.

It was a great conference, and I really enjoyed meeting some of my colleagues and customers and talking about some of the great stuff Novell is doing.

This year, I’m going to my second BrainShare.

I’ll be giving a talk on 1:1 computing in the school using Linux, based on the work I did with the Indiana Department of Education.

Here’s the session description:

Novell Linux Desktop and 1:1 Computing in the School

Computers are viewed as an important classroom tool in secondary and even primary education. But the expense of laptop computers and proprietary operating systems leaves many school systems with few practical choices. This session will demonstrate how Novell worked with the State of Indiana Department of Education on an implementation of the Novell Linux Desktop to contribute to the success of their 1:1 Desktop Computing Initiative. You will also see how Novell can help your school use NLD in your school to save money and increase your students’ exposure to computers on a daily basis.

The schedule has not been posted yet so I don’t know when, exactly, I’ll be giving my presentation, but the conference runs March 20-24 in Salt Lake City, UT. Mark your calendar!

Going to BrainShare this year?

Kurt Cagle

AddThis Social Bookmark Button

I’m a little surprised - I’ve been banging out blogs at a rate of about one every couple of days or so, but after the blog I posted on January first, I needed to get some traction on the Firefox book, and I needed a bit of a breather. Blogging can get to be a little too intensive at times, eating into everything else that you do, and if you’re not very careful you can get to the point where your every waking moment is geared towards getting those numbers to edge up beyond the last spike … “Uurrggh, must have my reader fix!!”

M. David Peterson just turned me onto a very interesting blogging tool - w.blogger (at http://www.wblogger.com. It’s essentially a reasonably complete word processing tool that’s specifically designed for use with a whole host of blogs. I’m still getting a feel for it, but thus far I’m pretty impressed with the product - a standalone blog editor that doesn’t need to be online to work, that contains a full set of formatting tools, works with a fairly wide number of blogging servers and is open source to boot. We’ll see how well it works over the long term, but out of the gate I could see it being an invaluable addition to my set of tools.

(Article Continues …)

Will AJAX replace enterprise level Java or .NET?

Michael(tm) Smith

AddThis Social Bookmark Button

Related link: http://kontrawize.blogs.com/kontrawize/2006/01/i_can_still_rem.html

Tony Coates relates an incident in which he found a Java-based implementation to be at least ten times faster than a native-code implementation. He concludes that native code solutions “can no longer claim an automatic performance advantage”.

He states in a little more detail:

What does this all mean? Well, I’m not suggesting that Java programs are always faster now than their native code equivalents. That isn’t the case. What I am suggesting is that it is no longer valid to assume that native code solutions are faster than Java (or other virtual machine) solutions. Some solutions will be faster than others, but you won’t know if native code is faster or slower than virtual machine code now without actually testing it. That is a significant change, which impacts the way architectural technology choices are made for projects.

I think he might probably have chosen a bit of a better example to illustrate his point. What he actually compared was a XSLT 2.0 test case, and the implementations he tested were XML Spy (C or C++ code, I assume) and Mike Kay’s Saxon 8.

First off, given that Mike Kay was the editor for the XSLT 2.0 spec and that he literally “wrote the book” (his XSLT Programmers Reference) on both XSLT 2.0 and XSLT 1.0 and that Saxon 8 can basically be considered the reference implemenation for the XSLT 2.0 spec, it ain’t too surprising to find out that it significantly outperforms a native-code implementation in another application.

And I would suspect that another possible factor is that the XSLT 2.0 implementation in XML Spy may just not be particularly well written. Hard to check though, since it’s proprietary code. And we lack an open-source C or C++ implementation of XSLT 2.0 to do any comparing with. If we did — if, say, Daniel Veillard (the principal developer of libxml2 and libxslt) were to decide to write an XSLT 2.0 implementation — I reckon that implementation might also end up being a helluva lot faster than the XML Spy implementation.

I don’t know how many smart people were ever given to
just “assuming” that native code solutions are always faster than Java-based (or other VM-based) solutions. But I think most have seen from experience that a well-written natively compiled application, especially one written in C, is likely to be measurably faster than an equally well-written implementation in Java.

Time to finally give up and write everything in Java?

David A. Chappell

AddThis Social Bookmark Button

Related link: http://www.w3.org/TR/2006/CR-wsdl20-20060106/

At long last, the WSDL 2.0 Spec has reached the “Candidate Recommendation” stage. This basically means it is ready for the testing phase. Links to the Primer, Specification, and “Adjuncts” for Message Exchange Patterns can be found at -
Core Spec:
http://www.w3.org/TR/wsdl20

Primer:
http://www.w3.org/TR/wsdl20-primer

Adjuncts (MEPs):
http://www.w3.org/TR/wsdl20-adjuncts

Dave

M. David Peterson

AddThis Social Bookmark Button

Related link: http://channelxml.com/community/blogs/m.david/archive/2006/01/06/14.aspx

ChannelXML Community Blogs | M. David Peterson : eXplorations, Episode #2: Ajax

eXplorations, Episode #2: Ajax

In this show Kurt and I discuss Ajax, the difference between the “brand” and the actual unerlying technologies, and whether or not the underlying foundation which Ajax attempts to define is here to stay or will soon go away. This time around is less of a debate and more of a discussion, but is interesting none-the-less ;) Please note, it is now available in both MP3 and WMA formats. The WMA file weighs in at about 1/2 the size but not quite the sound quality of the MP3, but close.

Speaking in terms of quality, this time around is 10 times better than the last, so we’re definitely getting there. I’ve also created a WMA and MP3 file, the WMA weighs in at half the size, the MP3 sounds a bit better.

Both Kurt and I are excited to see the positive response we’ve seen via downloads of our podcasts and the response to the content in general. We’re having fun… Thanks for listening!

Please note: This was recorded on the same night as the last podcast (around the 21st of Dec.) I mention a post that I will have posted “tomorrow” which is true… it was just the day after we recorded and is already available now.

We’d love to hear about content ideas, etc… Please comment here or on the above linked blog entry with comments, criticisms, or requests. Thanks again for listening!

Michael(tm) Smith

AddThis Social Bookmark Button

Most of the people I know personally and see each day have a web browser on their mobile handsets (”mobile phones”, if you prefer). However, I think most of them have never used the browser for anything, and maybe don’t have any idea what they could use it for.

On the other hand, a few of the people I know use the mobile web quite a lot. Some of them even design mobile web sites, like the mobile version of Tokyo Art Beat. (Take a look at it in a mobile web browser. It rocks.) And some of them just use it for a lot of the same things they use their PC-based browser for; for example, reading syndicated feeds, and reading and sending e-mail (using Gmail Mobile).

I am not sure that most of the common uses of the mobile web could be considered “practical”. But I did have a minor crisis last night that I solved by using the mobile web in a way that I think just about anybody would consider practical.

Confronted with a potentially serious problem

First a quick bit of background: I have only one “desktop” PC — a IBM T42P Thinkpad. (Yeah, I know it7d be more precisely described as a laptop or notebook. But I mean “desktop” in the sense that I run a GUI desktop OS on it, in contrast to the server system I use for running my website and managing my personal mail.) I run Debian testing on that machine, and I routinely install the latest available versions of packages by running apt-get upgrade now and then.

Now, I don’t always power the machine down when I carry it. But I did last night because I was planning to meet a friend for dinner before heading home. Anyway, when I finally did get home, I booted it up as I normally would, except that this time, it did something it normally doesn’t do: It failed at a relatively early point during startup, and dumped me out to a shell prompt after emitting the following error messages:

  Superblock last mount time is in the future
  UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

Damn. Not good. Not exactly a “heart-stopping crisis” kind of problem, because, well, at least it managed to boot to the point where it gave me a shell prompt. That said, ti was also not a problem that I suspected I could fix just by running fsck.

But I ran fsck on the drive anyway — after booting from a rescue CD — and then tried to reboot again from the disk.

…And got the exact same error message. As I had suspected, it wasn’t something borked in the disk itself; it seemed like it had to be something that was going wrong during the actual boot sequence.

So, at that point, I take a moment to consider what would be the quickest and easiest way to find a solution to this problem. I thought, well, what I’d normally do is just fire up a web browser on my PC, cut and paste the error messages into Google, and see what I find. Only problem is, my only PC is sitting in front of me with the filesystem mounted read-only, having failed to complete the normal startup sequence it would need to go through to get to the point where I could expect to use it reliably.

Mobile web to the rescue

Then I remember my “other” personal computer. The one in my pocket. The one that gives me always-on Internet access, any time, any where. So I whip it out, start up one of the two web browsers installed on it, go to the Google site, type part of the error message above into the Google search form, and lo and behold, I get hits. Not a lot, but enough — including the following one:

http://www.nabble.com/fsck-errors-on-boot-t758939.html

That’s an archived copy of discussion that took place just last month on the debian-user mailing list, and I find that it describes the exact problem that I’m seeing — along with describing the likely cause for the problem: a buggy version of the Debian package for e2fsprogs.

So I turn my attention back to my PC, cd to /var/cache/apt/archives, and check the archived versions of e2fsprogs. Sure enough, I find that I recently updated e2fsprogs from a package showing a timestamp from the middle of last month. So, I mount the filesystem read-write, run dpkg to downgrade to the previous version of the e2fsprogs package, cross my fingers, and reboot the machine.

…And I find God smiling down upon me once again. The machine completes its normal startup sequence without any failures, and I am back in the saddle again. Yee-hah!

Make use of that computer in your pocket

Most people describe their mobile handsets as “mobile phones”. Me, I don’t like phones much. I don’t really like talking on a phone, I don’t like having people expect that I will pick up or call back promptly when they call me on my mobile, and I especially don’t like the goddamn annoying “Pay attention to me! Pay attention to me!” ringing sounds that phones make.

I think of my mobile as a personal computer. A computer I can carry in my pocket. A computer that I can use easily with one hand tied behind my back. By thinking of it that way, I find all kinds of uses for it — including as a tool for finding information quickly and sometimes for solving genuine problems such as the one I’ve described here.

If you start to think of your mobile handset as a personal computer instead of just as a phone, I think you also will find lots of practical uses for it.

Other examples of putting a mobile handset to practical use?

M. David Peterson

AddThis Social Bookmark Button

Related link: http://www.xsltblog.com/archives/2006/01/windows_live_as_1.html

[NOTE: This is a reprint from my personal blog that I thought would be fun to extend to the O’Reilly community. As I have already made apparent in disclaimers in several places in this post, this is all speculation and even more so, just for fun. Please treat it as such and don’t read anything into it beyond this. Unless of course you know something I don’t and that something is similar to what this suggests as a possibility. But such knowledge is not something I have. Thanks for keeping this in mind.]

Dare Obasanjo aka Carnage4Life - 2006 Conference Plans

MIX: This is a Microsoft conference that will focus on our hip, Web-based offerings like IE7, Windows Media, Windows Live!, as well as “Atlas”, Microsoft’s new AJAX framework.

I just checked again to make sure and as I suspected the Windows Live logo has no ‘!’ at the end of it. While I’m not one who can really be pointing out grammatical errors and expect for anybody to pay me the least bit of attention, there’s just something about putting a ‘!’ before a ‘,’ to then continue on for another 8 words before closing things off (again? ;) with a period.

Hmmmm… what could this mean?

— Hypothetical Situation:

So here I am in sitting in a business meeting and my job is to come up with a way to “merge” the Windows Live and Yahoo! brand names. After much effort the only thing that I can come up with is ‘Winhoo!’ which I’m pretty sure BillG and SteveB ain’t gone go for… 30 seconds after the press release hits the wire the first ‘WinWho?’ headlines would hit the wire right back.

“Lets see”, I think to myself, “what makes Yahoo!, Yahoo! in the first place?” while pulling out a paper and pencil to write down a list of possibilities.

* Is is the yodeler dude they have to pay 6 billion dollars everytime they play that stupid ass yodel at the end of one of their commercials?

Actually, come to think of, I don’t remember the last time I heard that yodel dude. Hmmm… So probably not. (note-to-self: remember to thank God for that one!)

“Well,” as I rise from my knees after realizing “I’d better thank Him now just in case there’s a chance He decides to punish me for not being grateful enough!”

* Is it the intensity of the word “Yahoo!” that causes a rush of adrenalin by those who see, read (not the same thing, by the way), or hear someone say the word Yahoo? Actually, do people actually say Yahoo when they get excited? And if anyone did, would people feel inspired or run the other direction in fear for their lives.

Other direction. Much fear. Not a good thing.

As I continue my thought process I realize “While not mandatory, what we need is something similar to blue skys and wisps of clouds that people see often enough and/or when they do see them feel happy and inspired, or at very least a jolt of happiness. But what else is there?

* “Wait”! <- Thats it

Welcome to Windows Live! What would you like to watch or listen to today?

“Yaaa”

“What the… ah hell no! Come here you little yodeladian #!*?!1 I promised to give up sex if I never had to hear that damn voi.. er wait, that would null and void the contract wouldn’t it… :)

“Nevermind. Please, continue…”

“Whooooooo?”


[1] : This is a reprint of a entry I recently posted to my blog. While I doubt much anybody would have been to upset if I left the word that was there in place, to be safe, I chose to replace it with something more tame. I’m sure you can figure out what was there and if your really that curious the original post is linked above.

Again, this was all meant in fun… please do not view any of this as anything other than plain and simple fun with wor…, err… I mean punctuation. Please enjoy your day and don’t take any of this seriously.

Kurt Cagle

AddThis Social Bookmark Button

Related link: http://www.understandingxml.com

All right … I spent a day and a half banging away at my in-depth analysis of the industry and the big trends that I see at play. Today, I’m going to tell you that it’s all a crock - none of its going to happen. Sorry, I wrote earnestly enough about all of it, but I could have saved my fingers and actually got some traction on my book instead.

Why do I say this? Well, you see, I got this email addressed to me - CURTIS KAGEL, it said, right there in my mail reader. This letter, from a guy named Bill Gateese, told me that I’d won a secret grand prize lottery in Nigeria for several Gazillion Naira, and all I’d have to do was to send them my bank account number so they could deposit it.

Well, what the hey … I did it, and lo and behold the next day I found a deposit for $16.34 from the National Bank of Nigeria (though curiously enough my bank balance was otherwise a lot lower than I remember), and a rather cryptic set of instructions which ultimately led me to a specific URL. I’m not going to tell it to you … sorry, the future’s too important to entrust to just anyone, you know … but I can tell you a few of the more interesting things that I read there.

(Article Continues …)

So do you think you know the secret Illuminati handshake?

Kurt Cagle

AddThis Social Bookmark Button

Related link: http://www.understandingxml.com

Christmas has never been one of my favorite times, though all things considered it wasn’t bad this year. However, New Years Eve has always held a certain level of fascination for me, not because of the fireworks and the big ball dropping in New York’s Central Square, but because it represents a cusp between the present and the future. The world of course does not change dramatically on January 1st, but the flipping over of the calendar, much like the dramatic rollover of a car’s odometer from 99,999 to 100,000 miles, seems to herald a new regime, a subtle transition into a new era.

(Article Continued …)

So what do you think the hottest tech stories of 2006 will be?

Advertisement