February 09, 2007

Google discontinues SOAP API

I'm absolutely stunned, if a little late to the party. After almost single-handedly making it obvious why Web services are a good thing and providing who knows how many programmers with their first experience with SOAP, Google has discontinued support for the SOAP API that fuels who knows how many applications. Yes, there are alternatives, and I will cover them in a future post, but this warrants commentary.

If you already have a key, you can continue to use the API, but for how long? And since you can't give out your key, and they're not giving out any new ones, it means that only you can use your application. Unless it's on a web site, of course.

But those web sites seem to be the only place that Google has considered. The replacement is their AJAX API, which is, quite frankly, useless for anything but displaying results in the browser. Although it would be a straightforward technical process to extract the data from this API and use it in the same way that you used the SOAP data, it is not just explicitly forbidden in the terms of use, is referred to in the FAQ as something that will specifically get your application banned.

My mind is reeling with what this is going to do to the Web services ecosystem. Sure, most Web services applications don't use it, but I would venture to say that most of us programming the stuff started out learning on the Google API. Were we supposed to do now, switch over to the Microsoft Live API? Or is this supposed to be a way of promoting REST?

Yahoo has a REST-based API that is still functioning, presumably for the long term, but who the heck knows at this point?

To be fair, Google has always said that the service was "beta", and it has never really been officially supported, and that it might be discontinued at any time. But, come on, they certainly can't have failed to notice its popularity.

I have seen several theories on this. One mentions that many of the applications built on this technology have been Search Engine Optimization applications, many of which are commercial applications and people have been making money. One mentions the fact that by forcing people to use the Ajax API, they will be able to shoehorn in both ads and paid results. Both of these are probably true.

But these are not the only uses for which this API was suited. The inability to get at the actual data using the Ajax API means that Google data can no longer be included in mashups. (Yes, I understand that if you already have an application, you can continue to use it. I'm talking about new applications going forward.) The API can no longer be used to research information. You can no longer use it for trending. You can no longer use it for data mining.

I make my living telling people how to do things. I'm good at it. Very good at it. But I spent a lot of my time thinking about uses for these technologies so I can explain why it's important for people to learn them. For Google to pull the rug out like this makes me physically ill.

I feel like entire avenues of progress have been cut off by the loss of this capability. Will other search providers follow Google's lead and lock up their data? After all, if darling Google can do it, why can't everybody else?

You may think that I'm overreacting here, and maybe I am, but you don't see what I see. And now, apparently, nobody else will either.

Posted by roadnick at 09:58 AM | Comments () | TrackBack

January 29, 2007

Read/Write Web

Now that I'm keeping up wtih my favorite feeds via email, I'm developing a notion of what's worth reading and what's just worth checking once in a while. Read/Write Web is definitely in the first category. Commentaries are consistently well thought out and cover a wide range of technologies involved in web development, from mobile to throwaway identities to Ajax to OpenId and lots more.

Posted by roadnick at 12:13 AM | Comments () | TrackBack

January 12, 2007

Chaos Magnet now publishes full feeds

Okay, everybody, I'm trying an experiment. For the life of this blog, I have published an RSS feed, but it has been a "partial feed", on the premise that people should come to the site to read the actual post. However, I'm beginning to think this is not such a good idea. Part of it stems from the fact that I have finally discovered a good way for me to keep up with all of the feeds I want to read - RSS2Email -- and I've discovered I personally prefer full feeds. That means the whole posting is in the feed, or in my case, the e-mail. After reading Why I publish full feeds? at chilibean my mind was made up to at least try it. if you hate it, let me know. If you love it, let me know that too.

Posted by roadnick at 12:58 PM | Comments () | TrackBack

January 10, 2007

Are you Mobi Ready?

Here's an interesting little test. You can test your site for acceptability for mobile platforms.

Posted by roadnick at 05:00 PM | Comments () | TrackBack

January 07, 2007

Best practices for mobile web development

Sooner or later, I was going to have to deal with mobile phones. I still don't have a cell phone with a decent browser, now that Sarah found my old one and took hers back. (Hers charged for web access anyway, so there.) But Mike over at Syfy Portal is starting to talk about "WAPping" the site, which I guess means making it available on mobile phones, which apparent does NOT actually mean WAP anymore. Confused yet?

I was. Here's a history of WAP, from the beginning to today. The short story: development is now aimed at XHTML Mobile Profile instead of WAP 1.0 (or WML, as the case used to be).

So of course with all of that change, how do you know how you really should think about doing things? Thankfully, I also found Global Authoring Practices for the Mobile Web, which seems to do a pretty good job of distilling what you should be thinking about -- and doing -- when creating content for mobile devices.

Posted by roadnick at 08:10 PM | Comments () | TrackBack

April 05, 2006

Court upholds Creative Commons licenses

A Consuming Experience reports that a Dutch court has upheld a CreativeCommons license in the case of the tabloid that republished photos of Adam Curry's children that had been posted on Flikr. The photos had been tagged with the Creative Commons Attribution-Noncommercial-Sharealike license, and the judge ruled that this overrode the tabloid's argument that Flikr said "this photo is public".

Posted by roadnick at 07:50 PM | Comments () | TrackBack

January 28, 2006

JSON: Ajax without the cross-domain issues

I've just posted an introductory discusion on JavaScript Object Notation (JSON). What's itneresting about it is it provides away to get around the cross-domain issues you get when you try to access web services using Ajax. Yahoo's now outputting JSON in a ridiculously easy way, so this is worth checking out.

Posted by roadnick at 05:14 PM | Comments () | TrackBack

December 04, 2005

Pardon my dust

You may notice two sets of "Technorati tags:" headings, with the second one being empty. I'm in the process of installing a new MT plugin (Tagwire) that will automatically add the tags from the keywords field, so I don't have to do it manually like I have been. Unfortunately, there's no easy way to go back and add the keywords to previous postings, and I'm too tired to go directly into the database, so sorry, but it'll just have to be that way for a while, until the new postings start to pile up.

Sorry about that!

Posted by roadnick at 08:55 PM | Comments () | TrackBack

November 14, 2005

What people are searching for

Ever wonder what people actually look for other search engines? Well, reportedly 20 to 25% of searches are for shall we say, "adult" topics. As for the rest, Search Engine Watch has a page with links to see what the top searches on various engines. I particularly like the warning at dogpile.

Technorati tags: | | |

Posted by roadnick at 03:46 PM | Comments () | TrackBack

October 30, 2005

Cult of prsnlty

Apparently I wasn't the only one who's a little annoyed at the naming game that started with Flickr. What's interesting is that if you try, you actually read all of Chris Pirillo's take on it.

Technorati tags: | |

Posted by roadnick at 07:31 PM | Comments () | TrackBack

October 24, 2005

zero to Web application in 10 minutes

Well, after spending days trying to get Ruby on Rails installed and working on my machine I was beginning to be a little bit suspicious about all these claims about how it was such a wonderful language, easy-to-use, and so on. Going through the Ruby stuff itself didn't convince me either. Finally, I found How to make a todo list program with Rails 0.9 and after doing a clean install based on its directions, was astounded that I was able to install, configure, and create an entire to-do list application in all of 10 minutes. Seriously. I still can't believe it. It is a little convoluted, don't get me wrong. But man is it fast. (I have no idea what the production speed a running the application would be, but I mean it was very fast to create it.)

Now if I could just get my web host to support Rails...

Technorati tags: | | | |

Posted by roadnick at 08:00 AM | Comments () | TrackBack

October 21, 2005

Free web stuff

Everybody knows there's lots of free stuff available on the Web, but somebody finally got the idea to put it all together in one place. Check out Zeroweb.org. links to all kinds of things that are useful for webmasters, such as layouts, clipart, other graphics, redirection services, bulletin boards, all kinds of stuff.

Technorati tags: |

Posted by roadnick at 11:11 AM | Comments () | TrackBack

October 18, 2005

Weblog Usability: The Top Ten Design Mistakes

Jacob Neilsen made his name telling everyone about the importance of usability. He still publishes his annual list of the worst mistakes web designers make, and his weekly "alert box" column usually has an interesting nugget or two. Now he's taken on Weblog Usability: The Top Ten Design Mistakes.

Apparently I'm making some of these mistakes, but then, I'm not in this for fame and fortune. :-)

Technorati tags:

Posted by roadnick at 02:22 PM | Comments () | TrackBack

October 16, 2005

Ruby on the Web

while were on the subject, as a reference for Ruby on the Web.

Technorati tags: | |

Posted by roadnick at 01:13 PM | Comments () | TrackBack

August 18, 2005

Yahoo! vs Google, and adjustable filters

Apparently I'm not the only one questioning the methodology of the whole Yahoo! vs. Google thing. I can't help it, it's the scientist in me, but I was pretty sure that it wouldn't escape too many other people. In fact, Jeremy Zawodny has pointed me to an examination of the experiment in which some of what I've said is verified. (Hi, Jeremy! :)) And actually, more verified than even I suspected. Apparently some of the chaff isn't just content that's not relevant, it's search engine spam.

So what I'm thinking is, how do you find the right balance between finding everything and finding too much. Maybe it should be up to the beholder. I mean, I don't mind wading through crap to find that one gem, but my wife does. But then, when I was a baby the pediatrician said I wasn't sleeping because I didn't want to miss anything. That's just my personality.

So maybe what we need is the ability to adjust the strength of the filter. Then everybody could be happy.

Technorati tags: | | | |

Posted by roadnick at 08:13 AM | Comments () | TrackBack

March 26, 2005

Opening a new window for comment links

OK, so today is my "tinkering" day. I finally got around to adding the "No Follow" functionality Moveable Type provides to help thwart comment spammers. (For those unfamiliar, it doesn't stop the spammers, it just eliminates any benefit they get by telling search engines not to up their rank just because I'm inadvertantly linking to them.)

What the plugin does is analyze every link in comments and trackback pings and add "rel='nofollow'" to them. I've taken it a step further and added "target='_blank'" so that the user also gets a new window when they click comment links, which has been bugging me since I installed MT.

So how does it work? Well, in nofollow.pl, add the following line to the nofollowfy() function:

        if ($rel) {
            $rel =~ s/^(rel\s*=\s*['"]?)/$1nofollow /i;
        } else {
            $rel = 'rel="nofollow"';
        }
        $rel = $rel.' target="_blank"';
        @attr = grep { !/^rel\s*=/i } @attr;
        '<a ' . (join ' ', @attr) . ' ' . $rel . '>';

The rest of the plugin does all the work, so it's that simple.

Technorati tags: MT | MT Plugins | Moveable Type | nofollow | Web Development

Posted by roadnick at 12:40 PM | Comments () | TrackBack

Feedback on the new design

OK, I can't stand it anymore. I've been staring at the same style on this blog for something like a couple of years now and I absolutely have to change it. I've put together a variation on one of the stock MT styles, here, which I guess will work. Unfortunately, I have absolutely no artistic talent and I can't afford to pay somebody to help me. And I've got a gazillion things that need to go on this page, so that makes it worse.

So ... if you have a moment, please check out the new design and let me know what you think. Too busy? Too plain? Are the links dark enough to read? Any suggestions...?

(I know some of the images are funky; that's because they're not the actual images, and they've been forced to the actual size they'll be when it's live.)

Also, please let me know if you see any browser weirdness. I've fixed the IE width problem -- I'll write about that later -- but if you see anything else going on, please let me know by dropping a comment.

Thanks, all!

Posted by roadnick at 12:21 PM | Comments () | TrackBack

March 24, 2005

CSS hacks

I don't have time to write it up right now, but Top 2 IE CSS bugs confronted (hacks ensue) - The CSS Weblog - css.weblogsinc.com links to a couple of very good hacks to get around CSS problems in IE. (Yes, that means that I WILL get around to fixing that annoying overlap IE users see on this page.)

Posted by roadnick at 02:39 PM | Comments () | TrackBack

March 20, 2005

Nifty Corners: rounded corners without images

Here's a cool technique for creating rounded corners using only CSS and no images. Gotta get this page revamped...

Posted by roadnick at 12:21 PM | Comments () | TrackBack

March 08, 2005

Today's Hubble image

Latest News from HubbleSite
I've actually run out of room on this page for new stuff, no matter how fun I think it is. Like Today's Hubble Image:

I have no idea what you're seeing when you look at it; it changes periodically. But at least I've got it here for when I figure out where to put it. Here's the code, as described by HubbleSite:

<a href="http://hubblesite.org/newscenter/"><img src=
"http://hubblesite.org/newscenter/latest_thumb.php" width="80" height="80" alt="Latest News from HubbleSite" border="0" /></a>

Technorati tag: |

Posted by roadnick at 08:06 PM | Comments () | TrackBack

Automatic translation: the code

Improbulus posted the code for auto-translating Webpages/blogs, and it's really, really easy. She posted a Javascript version that works for anything and a non-Javascript version for Blogger. Here's the non-Javascript version for the Movable Type Individual Entry Archive template, which uses the $MTEntryPermalink variable:

<div style="border-style:none; font-size: 1; text-align: center; margin: 10px;">
<!--
//By Improbulus, http://consumingexperience.blogspot.com/
//Movable Type version by Nick Chase, http://www.nicholaschase.com
//licensed under Creative Commons License
//http://creativecommons.org/licenses/by-nc-sa/2.0/
//with thanks to redryder52, http://truckspy.blogspot.com/ -->

<!-- German starts here -->
<a href="http://translate.google.com/translate?u=<$MTEntryPermalink$>&langpair=en%7Cde&hl=de&ie=UTF-8&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools" target="_blank">Deutsche</a> |
<!-- German ends here -->
<!-- Spanish starts here -->
<a href="http://translate.google.com/translate?u=<$MTEntryPermalink$>&langpair=en%7Ces&hl=es&ie=UTF-8&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools" target="_blank"></b>Español</a> |
<!-- Spanish ends here -->
<!-- French starts here -->
<a href="http://translate.google.com/translate?u=<$MTEntryPermalink$>&langpair=en%7Cfr&hl=fr&ie=UTF-8&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools" target="_blank">Français</a> |
<!-- French ends here -->
<!-- Italian starts here -->
<a href="http://translate.google.com/translate?u=<$MTEntryPermalink$>&langpair=en%7Cit&hl=it&ie=UTF-8&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools" target="_blank">Italiano</a> |
<!-- Italian ends here -->
<!-- Portuguese starts here -->
<a href="http://translate.google.com/translate?u=<$MTEntryPermalink$>&langpair=en%7Cpt&hl=pt&ie=UTF-8&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools" target="_blank">Português</a> |
<!-- Portuguese ends here -->
<!-- Japanese starts here -->
<a href="http://translate.google.com/translate?u=<$MTEntryPermalink$>&langpair=en%7Cja&hl=ja&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools" target="_blank">日本語</a> |
<!-- Japanese ends here -->
<!-- Korean starts here -->
<a href="http://translate.google.com/translate?u=<$MTEntryPermalink$>&langpair=en%7Cko&hl=ko&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools" target="_blank">한국어</a> |
<!-- Korean ends here -->
<!-- Chinese starts here -->
<a href="http://translate.google.com/translate?u=<$MTEntryPermalink$>&langpair=en%7Czh-CN&hl=zh&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools" target="_blank">汉语</a>
<!-- Chinese ends here -->
</div>

Technorati tag:

Posted by roadnick at 12:18 PM | Comments () | TrackBack

March 07, 2005

"Automatic" translation of blog posts

Now here's a fun idea. The brain behind "A Consuming Experience", who unfortunatly doesn't have a name anywhere obvious, so I can't refer to it has figured out how to do "Automatic" translation of blog posts. Something to think about...

[Update: That would be a lady named "Improbulus", as I've since been chided. :) ]

Technorati tag:

Posted by roadnick at 03:22 PM | Comments () | TrackBack

March 05, 2005

Webmaster's Color Lab

Ever been building a web page and wishing you didn't have to do the old trial-and-error in guessing color values? OK, maybe that's just me, but the VisiBone Webmaster's Color Lab not only gives you the hex values for the 216 "browser-safe" colors, but also enables you to choose several and see not only how they look next to each other, but also how text of each colorshows up on each of the other colors you've chosen. Very handy.

Technorati tags: / / /

Posted by roadnick at 10:21 PM | Comments () | TrackBack

March 01, 2005

Yahoo releases web services API

Check it out over on the InformIT blog...

Posted by roadnick at 03:21 PM | Comments () | TrackBack

February 06, 2005

One click, yes. One aggregator, NO.

I've discovered that I'm generally cranky when I post to InformIT. My take on a one-click aggregation solution is no exception.

Posted by roadnick at 05:46 PM | Comments () | TrackBack

Wikipedia URLs as blog subject codes

Dave Megginson (yes, the SAX Dave Megginson) has arrived on the personal blog scene, and he's got an interesting suggestion: that Wikipedia URLs could be used as blog subject codes. Wikipedia is, as the name implies, an encyclopedia in the form of a Wiki (like the Programmer How-To). Anyone can come in and provide an entry about canoes or XML or Star Wars and it'll be there for reference. (I just linked to it to find out what the heck the Long Tail was a post or so ago.)

I like the idea. Wikipedia URLs are easy and intuitive and if everyone would use them, well, it would certainly make my ChoasCrusher job a little eaiser...

Posted by roadnick at 04:47 PM | Comments () | TrackBack

February 02, 2005

Netscape, anti-phishing, and competition with Firefox

I don't know why it surprises me to see that Netscape is competing with Firefox rather than working with it. Or maybe I should rephrase that, because I suppose it's not quite accurate. I mean, yes, Firefox comes from Mozilla, which sprang into existance when Netscape set it free. I'm not really clear how much of Firefox consists of that original code, true. But of course Netscape will be incorporating Firefox into their browsers, so they do get the benefit and ... I've gone and made myself dizzy.

Never mind. The important thing here is that Netscape is adding antiphishing capabilities to the browser in the form of blacklists of "Web sites that are suspected of purveying spyware, phishing schemes and other hostile code. When someone accesses such a site using Netscape 8, the browser would flash warnings to the user and disable various technologies with security implications, including ActiveX, scripting and cookies. Sites thought to be harmless would join a white list and gain a green-light icon in the address bar. Unknown sites would be coded yellow."

Posted by roadnick at 10:45 AM | Comments () | TrackBack

January 29, 2005

Use JavaScript to display RSS on a web page

Here's a nice little piece of code. Feed2JS lets you enter information about an RSS feed and how you want it to look (including styles) and generates JavaScript code you can drop on your site to make it happen. Source code is also available.

Posted by roadnick at 10:25 AM | Comments () | TrackBack

January 19, 2005

The resilience of the web community

I ran across this interesting quote in an old piece about the infamous backroom deal setting webcasting royalty rates:

Every new technology medium seems to enjoy a delicious moment, between being born as a vehicle for human creativity controlled by no one, into a Pigopolistic advertising channel, controlled by very few.

What's interesting to me is how the web keeps spawning medium after medium for creative expression. As one closes down, another appears. Is this the promise of the web?

Posted by roadnick at 08:39 AM | Comments () | TrackBack

January 16, 2005

EasyTimeline

Here's a cool little ditty. EasyTimeline provides a way that you can use a script to create all kinds of timelines, both graphical and text-based, on a web page. And sometime I may figure out how to get it incorporated into another wiki I'm working on...

Posted by roadnick at 03:11 PM | Comments () | TrackBack

December 14, 2004

Screensaver targets spam websites

Via the Rambling Programmer, Lycos now has a screensaver that sends repeated requests to spam web sites as an attempt to make their bandwidth too expensive. I dunno. I think I'm paying 10 bucks for an extra gig of bandwidth -- or I would, if I had that much traffic. They're talking about sending an extra few gigs a day to these sites. So, maybe ...

Posted by roadnick at 11:27 AM | Comments () | TrackBack

August 12, 2004

Automatic browser redirects

Ever been to a page that says, "We've moved! You'll be redirected in 20 seconds," and then 20 seconds later (or thereabouts) a new page appears without your having clicked anything? Here's how it's done.

At the top of your page, add a "meta" tag. This tag passes information about the page to the browser. for example, if I wanted to redirect you to this blog's home page after 30 seconds, I'd use the tag:

<META HTTP-EQUIV="refresh" content="30;URL=http://www.nicholaschase.com/blog">

Here's what that does. First it tells the browser to refresh, or reload the page. The content attribute tells it when -- in this case, after 30 seconds -- and where to go when it does. When the browser refreshes, it will go to the specified URL.

You can also use this for simply refreshing a page by adding its own URL. Just make sure you set the delay high enough for the page to be useable!

Posted by roadnick at 12:03 AM | Comments () | TrackBack

July 24, 2004

Squashing Link Spammers in Movable Type

Rogers Cadenhead has posted a nice little plug-in script for Moveable Type that will remove excessive links in comments. For example, you can specify that if there are more than 5 links in the comment, all of them get stripped out.

I don't get a lot of comments here, and when I do, they generally don't have links in them. Except for the spammers. Personally, I want a script that just won't post the comment at all if it has links in it.

Hm, now that I've moved Chaos Magnet to a new server, maybe I should try target="_blank">MTBlacklist again. (Last time I was thwarted because the server I was on had a version of Perl that was too old, and I refused to pay $50/hour for them to upgrade it, what that was something I shouldn't even have had to ask for.)

Posted by roadnick at 03:36 PM | Comments () | TrackBack

June 30, 2004

File uploads in PHP

Writing a PHP page and need to accept files from a form? Here's the skinny, according to the PHP Manual entry on Handling file uploads:

First, you will of course need the HTML form:

<form enctype="multipart/form-data" action="_URL_" 
                   method="post"> 
   <input type="hidden" name="MAX_FILE_SIZE" 
                   value="30000" /> 
   Send this file: <input name="userfile" type="file" /> 
   <input type="submit" value="Send File" /> 
</form>

Then you'll need to save the file in the PHP page:

<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES 
              //should be used instead
// of $_FILES.

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];

print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], 
                           $uploadfile)) {
   print "File is valid, and was successfully uploaded. ";
   print "Here's some more debugging info:\n";
   print_r($_FILES);
} else {
   print "Possible file upload attack!  Here's some ";
   print "debugging info:\n";
   print_r($_FILES);
}
print "</pre>";

?>
Posted by roadnick at 11:47 AM | Comments () | TrackBack

June 17, 2004

Using the Generic Log Adapter with the Log and Trace Analyzer

Now featured on developerWorks: Using the Generic Log Adapter with the Log and Trace Analyzer

The GLA and LTA are Eclipse-based tools that enable logs to be parsed for occurrences of pre-defined events, relate those events to situations, and recommend actions based on information in a knowledge base. This tutorial is of particular interest to developers and administrators of applications with dependencies on multiple servers, such as DB2, Apache, and WebSphere. The key lesson imparted here is how to use the GLA to create your own adapter for custom application logs. Additionally, the tutorial introduces the underlying elements of the log adapter process. These low-level enablers of autonomic computing systems are an important contributor to the creation of more autonomic computing systems. This tutorial takes you through an example of how high-level open standards, such as the Common Base Event description, can be incorporated into development and administration functions at a practical level.
Posted by roadnick at 11:50 AM | Comments () | TrackBack

June 16, 2004

Checkboxes and missing values

Hi

Just read your article on php and forms. Thanks for putting such a resource on the web. Just one quick question though. I don't want to have a check box initially checked but when I leave it blank it doesn't show up in the results. I am trying to produce a csv so this leaves me with one less coloum.

Is there a way around this

Thanks
David


Hi, David!

The nature of checkboxes is that they only show up if they're selected. You can either use a radio button instead, or you can stay with the checkbox but also include an empty hidden field of the same name. That way there's always a "value" with that name, even if the checkbox doesn't come through. Be careful, though, you'll then have to deal with multiple values for a
single field.

I hope that helps!

---- Nick

Posted by roadnick at 12:46 PM | Comments () | TrackBack

May 16, 2004

Six Apart modifies MT 3.0 license

Via tima thinking outloud >Tima Out Loud, Six Apart has made some changes to the licenses that were such a controversy. First, they've changed the personal license from 3 authors and 5 blogs to 5 and 5, with the ability to purchase more of each for $9.95 each. Also, a "blog" is defined as a site, as opposed to a subsite, so most of the people who were pissed off that they would now have to pay actually still qualify for the free version.

Posted by roadnick at 02:25 AM | Comments () | TrackBack

May 13, 2004

Mozilla and the potential for interaction

Ever heard of XUL? It's a new way of building web applications in Mozilla (and the newer versions of Netscape). Kind of like a "super" form, with all kinds of interactivity available. I still haven't had time to fool around with it, despite a brief interlude when it looked like I might have to write a tutorial on it, but check out the Mozilla Amazon Browser, a very cool look at what you can do with it. This link is via Jono Bacon's Mozilla and the potential for interaction, which is itself an interesting read, considering the idea of porting applications such as OpenOffice to XUL.

Cool.

Posted by roadnick at 09:05 PM | Comments () | TrackBack

The hubbub over MT 3.0

OK, so Six Apart releases Movable Type 3.0. They remove the restriction preventing people from charging money to support it, and they still provide a free version. So what's the complaining about? Apparently people are ticked that the free version only allows 1 author and 3 weblogs. The "Personal" version allows 3 authors and 5 blogs, and costs (right now) $70.

OK, folks, a "personal" blog is, well, YOU. It's not you hosting things for your friends. It's YOU. If you want twenty seven different blogs, then fine, create them as categories and do different templates. If you want to use the free version to enable your friends to host their blogs on your server, fine, just install multiple copies of the free version. Its not that big of a deal. These people have put a lot of work into their product, they deserve compensation.

Get over it.

Posted by roadnick at 08:39 PM | Comments () | TrackBack

Why I like XInclude

XInclude, designed to make it easier to include part of one XMl document into another, has been a neglected specification for a long time. Now Bob DuCharme gives a good example of how it can be useful with Transclude with XInclude (and XPointer!). It still doesn't address the security issues, but OK, there you are.

Posted by roadnick at 08:20 PM | Comments () | TrackBack

May 12, 2004

Accessible JavaScript popups

If you're reading this blog from top to bottom, by now you've discovered that I'm doing a little bookmark housekeeping, saving some of my bookmarks for posterity (and future reference). Of course, from my perspective, this is the first of them, so I'll apologize in advance for me and in retrospect to you for all of them. :)

I'm one of those people who doesn't believe in memorizing anything that can be looked up. It's much more important to know that something can be done than how it's done. You can always look up the latter. One thing I am always having to look up is how to open a popup window from the browser, and Accessible Pop-up Links from A List Apart is a great tutorial. A word of warning, though: the defaults string needs to be all one line for IE.

Posted by roadnick at 10:44 PM | Comments () | TrackBack

May 05, 2004

Developing Movable Type Plug-ins

I've been thrilled with Movable Type, and I love the fact that people can add their own plug-ins. Now I've found Developing Movable Type Plug-ins, which looks like a pretty decent tutorial. One of these days I'll have time to try it out.

Posted by roadnick at 02:09 AM | Comments () | TrackBack

May 04, 2004

DOM and PHP

Now in the XML Reference Guide over at : DOM and PHP

PHP has support for XML built in, but as far as production code, it's limited to SAX. You can install the DomDocument module, but you do, of course, have to have access to the actual server in order to use it. Fortunately, for those of you who, like me, use an external web server and don't have that kind of control, there's a simple way to get Document Object Model functionality. ...
Posted by roadnick at 09:29 PM | Comments () | TrackBack

April 20, 2004

Domino applications and the Portal API

This must be my week for being featured! Domino applications and the Portal API was featured in this week's IBM Portal News:

Lotus Domino is great for storing all sorts of information in one place, and WebSphere Portal is great for gathering information from all sorts of places. But how do you get the two of them together? One option is to directly incorporate your Domino data into your portal application using the WebSphere Portal API. This tutorial details the process for reading from, and writing to, a Domino database from within a portlet.
Posted by roadnick at 01:41 PM | Comments () | TrackBack

April 10, 2004

Java in XSLT: Extension Functions

Now on InformIT in the XML Reference Guide: Java in XSLT: Extension Functions

Using XSLT to transform XML into another form has a lot of advantages, not the least of which is flexibility. When you want to change the output, you don't have to go back to the code, you simply have to change the XSLT style sheet. But it's easy to mistake this simplicity for shallowness. XSLT can enable you to do much more than simply reformatting text.
Posted by roadnick at 04:09 PM | Comments () | TrackBack

April 08, 2004

Browser-based Trackback

I've gotten tired of the fact that I can't get CIHost to update any software on the server without charging me for it, so I sat down and wrote a standalone trackback tool.

This is just a first version, and unfortunately, it only works in IE for the moment, but I'd appreciate comments on how it works, or suggestions on making it better.

Posted by roadnick at 10:03 PM | Comments () | TrackBack

February 24, 2004

DOM and Perl

In the InformIT XML Reference Guide: DOM and Perl

Perl was originally designed as a lnaguage for sorting through text, so it's not surprising that it is a good fit for XML. In fact, there are multiple ways to handle XML using Perl, so in this section we're going to look at manipulating DOM "objects" using the Perl XML::DOM module, available on CPAN. ...
Posted by roadnick at 09:31 PM | Comments () | TrackBack

February 03, 2004

Integrating applications with Web services using WebSphere Studio V5.1.1

Now updated on developerWorks: Integrating applications with Web services using WebSphere Studio V5.1.1: "This tutorial looks at making your application Web-services ready using WebSphere Studio's tools to wrap an existing application as a Web service, announce it using a UDDI directory, and to discover and use Web services within your applications. It also looks at how to deploy your application to a WebSphere Application Server."

Posted by roadnick at 05:56 PM | Comments () | TrackBack

Blogfuel

Here's an interesting little tool. I find it a bit of a pain to have to log in to Amazon's Associate's Central when I want to build a link. BlogFuel generates a JavaScript you can use to automatically add search results to a page. Maybe I'll add a "what I'm reading" list to CM. Hm.

Posted by roadnick at 03:03 PM | TrackBack

February 01, 2004

.NET and XMLReader

In the InformIT XML Reference Guide: .NET and XMLReader

In the world of XML, it's natural to think of XML in terms of two contexts: DOM and SAX. DOM is flexible, in that it provides the ability to navigate around the document tree and make changes, but SAX is fast, in that it doesn't load the entire document into memory, looking instead at just a single node at a time in a forward-only, read-only manner. ...
Posted by roadnick at 10:53 PM | Comments () | TrackBack

January 29, 2004

Microsoft to hold off on IE changes

Just posted at InformIT:

Microsoft has announced that it would hold off on the "minor changes" it would need to make to Internet Explorer in order to comply with the adverse ruling it received in the the Eolas case.

This case is the definition of ambivalence for me.

Sigh.

Posted by roadnick at 10:03 PM | Comments () | TrackBack

January 25, 2004

Mike Rowe Soft.com -- chalk one up for the little guy

Microsoft has admitted that "perhaps it had taken its trademark rights 'a little too seriously'" when it sued 17 year old Mike Rowe over his domain name, MikeRoweSoft.com. This week the case was settled, with Microsoft agreeing to trade Rowe the domain for "a free Microsoft Xbox video-game console and a free trip to the company's Redmond campus for the Microsoft Research Tech Fest" as well as Microsoft paying for him to pursue Microsoft certification and any costs involved in moving his web design business to a new domain. Microsoft will also direct mikerowesoft.com's traffic to the new domain.

Posted by roadnick at 06:34 PM | Comments () | TrackBack

DOM and .NET

Well, I've finally gotten around to writing about .NET, with a section on DOM and .NET at the InformIT XML Reference Guide. It explains how to create an application in .NET that traverses the Document Object Model of an XML Document object. It uses Visual Basic .NET, but the concepts are the same for C#.

Posted by roadnick at 03:59 PM | Comments () | TrackBack

January 23, 2004

Microsoft and XML patents

Well, I've finally taken the gloves off and posted a snarky posting to InformIT, What? You mean you can read an XML file from another application?

The scoop? Microsoft is now trying to patent methods for reading an XML file produced by another application as a way to keep companies from building competing products that read a Word file.

But I've dropped my usual objective demeanor on this one. Let's see if anybody notices or -- gasp -- comments on the InformIT blog. I hope so.

Posted by roadnick at 05:48 PM | Comments () | TrackBack

Comment spam of the annoying kind

I've just deleted exactly 314 comment spams sent to this blog. Fortunately, I am conversant enough to simply wipe them out with a single SQL statement to the database rather than doing it individually, so the most annoying part was simply waiting for the scumbag to finish so I didn't have to rebuild the site more than once.

But I'm truly, deeply, annoyed now. It's one thing to send one or two comments, but this moron sent a comment to literally every single post on the site. That, as the Irish say, is going beyond the beyond. So, since I have the IP address the comments were posted from, I have sent the following email to FAST.NET, the spammers connection ISP:

--------
Ladies and/or gentlemen --

I have just deleted some 300 identical comment spams to my website. I
am including a sample below. These were likely done with a script, as
they arrived 2-3 per minute. I don't know (or care) whether you host
any of the domains this person is trying to advertise, but the actual
spams originated on your network. They were sent between 3:27pm and
5:12pm EST today.

Please let me know what action you will be taking.

Thank you,

Nicholas Chase

--------------------- MESSAGE INCLUDED BELOW ---------------------

IP Address: 207.29.194.4
Name: propecia
Email Address: puner_vol@freemail.com
URL: (snipped)

(rest of the message snipped for obvious reasons)

------------

I'll keep you posted on what Fast.net actually does.

Posted by roadnick at 05:33 PM | Comments () | TrackBack

Generating favicons

I've been meaning to create a favicon for this site for a while, and now that I've found Chami.com's FavIcon from Pics, I can do that. Now I just have to find that organ grinder and get permission to use the picture of her monkey.

Posted by roadnick at 03:23 PM | Comments () | TrackBack

January 19, 2004

MikeRoweSoft vs. Microsoft

If you ask me, they should have quit while they were behind. When a Canadian teenager, Mike Rowe, registered MikeRoweSoft.com for his web design company, they offered him a paltry $10 (Canadian!) to give up the name. He told them he wanted $1000, so now they're suing. Come on, Bill, you light your cigars with bills bigger than that.

(UPDATE: Another story in The Register says that he asked for not $1000, but $10,000. Which is a different animal, unfortunately.)

Posted by roadnick at 02:03 PM | Comments () | TrackBack

January 18, 2004

199 reasons I'm behind

I understand that there are people who read all of the blogs on their blogroll every day, or at least, every few days. And they even find time to comment on them. I want to know who these people are and how they manage to make a living.

I have, in essence, three blogs that I am supposed to be updating on a regular basis. I'm supposed to do at least three blogs a week for the XML Reference Guide, I've got this one, and I've got The Vanguard Science Fiction Report, which has been fallow so long I'm embarrassed to admit that it's mine. So today, now that the weeks of emergency room visits and surgeries in the family have settled down into the normal level of chaos, I sat down and went through my blogroll for potential posting material.

I thought it might be a little educational to document the "flow" of my surfing, and how it eventually gets turned into actual postings, so here is the list of the "first cut". These are postings that may eventually wind up on one of my three blogs:

  1. Incremental XML Parsing and Validation in a Text Editor
  2. XML 2003 session report: Combining multiple vocabularies without tears
  3. XML 2003 session report: News from the world of DSDL
  4. ISO/IEC 19757 - DSDL Document Schema Definition Languages
  5. Namespace Routing Language (NRL)
  6. Extreme Markup Languages 2004
  7. Escaping the Googlearchy
  8. Blogging Locally
  9. DocBook NG: The “Absinthe” Release
  10. DocBook NG: The “Bourbon” Release
  11. Going to Extremes!
  12. New Year Resolutions 2004.
  13. Reuters: Google Planning Email-based AdWords Service
  14. John Battelle's Searchblog
  15. eBay = The Fed
  16. IBM Almaden Research Center WebFountain
  17. Rocket Man
  18. Fontifier
  19. The XML in Apple's Keynote
  20. A specious supercomputer argument in the Irish Times
  21. Draconian XML processing
  22. Sleep Paralysis
  23. Spontaneous screen videos
  24. Dynamic categories
  25. Turning consumers into producers
  26. Server-based XPath search
  27. Databases get a grip on XML
  28. Thinking the Unthinkable about Microsoft
  29. Longhorn SDK
  30. PhotoGallery
  31. Two Laws of Explanation
  32. SIMILE : Semantic Interoperability of Metadata and Information in unLike Environments
  33. Quint on the FREDDY VS JASON dvd
  34. An Assload Of New Trailers Online!! STEPFORD, CB:TM, HIDALGO, SPARTAN, SCOOBY 2, ALGIERS, TOKYO GODFATHERS!!
  35. Van Helsing Trailer
  36. Batman Already On_SMALLVILLE??
  37. The WB's Stillborn FEARLESS!!
  38. WONDERFALLS
  39. Craigslist RSS Search Script
  40. Simplerwork
  41. Your final 3 hours
  42. Lost Who episode found
  43. SCI FI picks up Andromeda, Beastmaster
  44. Casting for Hitchhiker's Guide announced
  45. A real "space opera" in development from Turing Opera Workshop
  46. LeGuin's Earthsea to become Sci-Fi Mini-series
  47. Perchance to dream - anything you like with the fantasy machine
  48. A Real-Life Debate on Free Expression in a Cyberspace City
  49. 2003 in Review: DRM Technology
  50. Northwest gave U.S. data on passengers
  51. Luke Cage Making Progress at Sony
  52. CONFIRMED: Bob Hoskins Part of the Mask Cast
  53. Comic Book: The Movie Trailer Online!
  54. ELEKTRA MOVIE UPDATE
  55. Pre-Order the 2004 Superhero Movie Novelizations!
  56. JetBlue Redux: Northwest is guilty of violating passenger privacy
  57. New tech claims to detect lying in real time
  58. Safety killed the (Hubble) telescope star
  59. A version of Windows for every geek worthy of that name
  60. MoveOn.org demonstrates the growing power of the 'net in US politics
  61. Bush outlines plan for moon rendezvous by 2020
  62. The Internet gives a voice to Death Row, but not everyone's happy
  63. The Battle of Serenity Game
  64. Get your name.name domain
  65. US using EU airline data to 'test' CAPPS II snoop system
  66. SCO sort of thinks there are Linux IP violations, but isn't quite sure
  67. Niue is dead! Long live .nu!
  68. Nokia to release Perl for smartphones
  69. CinemaNow debuts download-to-own movies
  70. Internet 'Geek' Image Shattered by New Study
  71. We finally made it! Confluence 1.0b1!
  72. Wondering why your WAR is slow? Think of your timezone!
  73. SiteMesh Overview
  74. Jira
  75. The anatomy of a bug
  76. Sauron’s Eminent Domain
  77. Find Some Free Fonts
  78. Format an RSS Feed and Put It On Your Site
  79. New Google Features -- Travel and Tracking Numbers
  80. Watching Google Like a Hawk
  81. YSearch
  82. Google Labs
  83. PR Newswire's RSS (RDF Site Summary) Feed
  84. PR Bop
  85. Sun Announces Preview of Java Studio Creator Application Development Tool
  86. Integration: From Big Bang to Controlled Explosions
  87. Steve Mills On The IBM-Microsoft Web Services Partnership
  88. BEA, Microsoft, and Tibco Release WS-Eventing Specification
  89. StrikeIron Announces General Availability of the StrikeIron Web Services Analyzer
  90. Web Services in Action: Aligning IT with Business Objectives
  91. WS-I Make Available Drafts of Basic Profile Attachments Work
  92. BizDex: ebXML And Web Services To Go The Last Mile
  93. Four Ways to Know Your WSDL
  94. A Design Center for Web Services
  95. Mindreef Announces Availability of SOAPscope 3.0 Web Services Diagnostics System
  96. DreamFactory Launches Browser-Based Tool For Developing Rich Web Services Client
  97. Web Services Networks
  98. If You Like Web Services Standards You Would Love XML 2003
  99. Patterns: Service Oriented Architecture and Web Services - IBM Redbook
  100. Decentralised social networking
  101. Looking For a Gig
  102. On Postel, Again
  103. Technology Predictor Success Matrix
  104. History of XML Error Handling
  105. On Writing XML
  106. The truth about XML
  107. Microsoft Web services plan targets Java
  108. Straight talk on Web services
  109. Longhorn and the battle for Web services
  110. Breaking the logjam on Web services
  111. The real deal on .Net
  112. Taking XML's measure
  113. Longhorn and the battle for Web services
  114. Why Microsoft needs IBM this time around
  115. Developers gripe about IE standards inaction
  116. Raising the XML flag
  117. A Web services wish list
  118. Novell targets Web services security
  119. Free Writing and Music - as in Speech (MLP)
  120. What Good is the Second Amendment?
  121. CBS May Reject MoveOn.org Superbowl Ad
  122. Simulating Psychosis
  123. What Good is the Bill of Rights?
  124. Mars photo
  125. Pros and fans
  126. Which Star Trek Captain are you?
  127. Which Lord of the Rings character and personality problem are you?
  128. Lot auctions
  129. Rental Car Horror Story
  130. Isle of Man is the new M4 corridor
  131. Death of the desktop on the way in three years
  132. 5 years ago... Politicians warned to watch out for the web
  133. SAP Launches RFID Solution
  134. EFF Files Amicus in DirecTV 11th Circuit Appeal
  135. ACLU Defends Rush's Privacy Rights
  136. Web cam watchers help woman kicked by horse
  137. Security experts look to agriculture for virus clues
  138. Farenheit 451 + 1984 = Paranoia
  139. Hack for the Homeless: Primative Yet Useful
  140. A 'Xen' State of Being
  141. Secrecy Suddenly a Campaign Issue
  142. CBS Shields Pigskin Fans From Ads
  143. Florida Video Law: Parents Decide
  144. Diebold Gets Stay in California
  145. Doc Claims Human Clone Implant
  146. Off To A Good Start
  147. Cutting The Cheese
  148. Movable Style
  149. YAHTZEE!
  150. The Perfect 404
  151. Elastic Design
  152. Creativity
  153. Back to CSS Basics 3
  154. TouchGraph
  155. Off-Site Popups
  156. Microsoft: Communicate Or Die
  157. Innovation is Useless
  158. Top 20 Groups
  159. Carnival of the Capitalists by Ensight.org
  160. Back to Basics Part 3 — What’s in a hack?
  161. HTTP error pages for weblogs!
  162. Cute cuddly robots of DOOM
  163. Church Sign Generator used for fraud!
  164. Tat, meet tit
  165. Whidbey Integrated Web Services
  166. More on WS-Eventing
  167. WS-Security meets Kerberos
  168. Dutchtub
  169. Disaster photos
  170. Better MIDI sounds
  171. Scaling the Death Stars
  172. Honda Civic as H-Wing
  173. A Taste of Our Own Poison
  174. New "everyday neuroscience" book from author of Emergence
  175. nevermind
  176. and the winners are
  177. “Go find me a way to do this.”
  178. more please
  179. Common(s) Sense of Thomas Paine
  180. Dems on the Supreme Court
  181. 11 Top US Papers Ignoring Cheney's Pending Bribery Investigation
  182. Let's Send W to Mars
  183. PETA Gives Birth to Baby PETA
  184. Barlow on Spalding Gray: "Is he finally swimming to Cambodia?"
  185. Conservatives ALWAYS ADMIT THEYRE WRONG -- a hundred years later!
  186. more adventures in DEHUMANIZATION
  187. Sean Penn, DynCorp, and I TOLD YOU SO
  188. Bush environmental "achievements" for 2003: from Sierra Club's list
  189. Dr Phil versus Maury Povich - who'd win in a fight? (stuff that just aint right #2)
  190. Paranoid fears coming true in Ashcroft era
  191. And some XML tools mentioned on Cafe Con Leche:

  192. Arabica
  193. Render X Barcodes
  194. XQuisitor
  195. <oxygen />
  196. XMLBuddy™ 2.0
  197. Relaxer
  198. Render X XEP XSL Rendering Engine
  199. Python bindings for XML Security Library
  200. Mozilla 1.6 (now supporting "XML, CSS, XSLT, XUL, HTML, XHTML, MathML, SVG, and lots of other crunchy XML goodness.")

Even I can't believe how long the list is.

As you can see, it's a rather eclectic group, but it also shows the pattern of how I surf. (Note that I didn't even touch Op-Ed News today, because I know I have enough material for this blog, which is the only place it belongs, or the W3C because I've adopted a "monthly" schedule for them on InformIT.)

Over the next week or so, you can see what makes the cut and what doesn't, and what leads to other things.

Posted by roadnick at 10:25 PM | Comments () | TrackBack

How to survive the changes to IE

So I posted over at InformIT about How to survive the changes to IE.

So what are the actual changes? Well, it turns out to not be as bad as originally thought. The patent covers the automatic loading of an application that resides on a remote server, so a page either needs to avoid automatically loading the application or loading it from a remote server. For the former, IE will pop up a window asking the user to click a button to load the Active X control. For the latter, Microsoft has guidance on embedding the data directly into the page so that it doesn't actually have to be loaded remotely. They also provide a look at using JavaScript to create the object tag in such a way that the patent isn't violated, but you don't have to jump through a hundred hoops to keep the dialogue box from coming up.

What I want to know is: how does this embedding affect security? Is it possible that slimebags are currently embedding the code in the page to avoid warnings about downloading controls?

Posted by roadnick at 09:11 PM | Comments () | TrackBack

The evils of escaped markup

At the end of December, I wrote about The evils of escaped markup as seen by Normal Walsh. It was a well-though-out piece about why he doesn't like that people are using CDATA sections to escape potentially non-well-formed content, particularly in data feeds.

But the interesting thing to me is that I'd actually already written about this particular topic -- and in fact, this particular piece of Norman's -- last summer.

So far, nobody has noticed. Or if they have, they haven't commented.

I'm considering thinking of something completely ridiculous and controversial to say just to see if anybody notices. Suggestions welcome.

Posted by roadnick at 09:03 PM | Comments () | TrackBack

January 14, 2004

How to survive the changes to IE

I just commented over at InformIT about the changes to IT. Now that I see what they actually are, I can see that it's frankly not that big a deal. Or is it? The idea is that the patent covers the launching of a remote application, so instead, the plan is to get people to either create a script that creates the object tag or to embed the ActiveX control into the page as Base64.

So now I'm thinking: what kind of security concerns are engendered by the fact that the code is embedded on the page? Because they're not being downloaded, hwo will the user be able to filter out what they want to enable to run and what they don't?

Posted by roadnick at 10:36 PM | Comments () | TrackBack

January 01, 2004

Movable Type spam vulnerability

Apparently the script used for MT's "Mail this entry" function is vulnerable to spammers. To solve the problem quickly, rename mt-send-entry.cgi. New versions of MT 2.64 have the fix incorporated.

(For some reason this posting draws a high number of comment spams, so I've turned off commenting for it. Sorry!)

Posted by roadnick at 05:15 PM | Comments () | TrackBack

December 29, 2003

My first number 1 Google spot

I really don't pay much attention to search engine rankings, to be honest. I just try to product good content and leave it at that. But some people do seem to be ... well, fixated's probably the wrong word, but concerned. So as surprised as I was to see a referrer log entry for a Google search for "engineering strapless evening gown", I was even more surprised to find out that if you run that search, my posting about the IgNobel Prize actually comes up in the very top spot.

I give up trying to figure that one out.

(Update: And apparently, I'm number 3 for "blog 'federal reserve'" and number 5 (on Google) and 4 (on Yahoo) for "federal reserve conspiracy theories". Oh, and number 6 for "stop alien abductions". Well, nobody can say I'm not well rounded.)

Posted by roadnick at 04:24 PM | Comments () | TrackBack

December 22, 2003

Top Ten Web Design Mistakes of 2003

I've become less enamored of Jakob Nielsen ever since the unique address I gave him to subscribe to his column wound up somehow on a spammer's list, but his Top Ten Web Design Mistakes of 2003 is still useful.

Interestingly, most of this year's mistakes aren't really obvious.

Many of this year's top design mistakes actually indicate a happy phenomenon: we are making progress in Web usability. Now that sites are doing certain things correctly, we get hit by second-order phenomena that only cause problems because users have progressed past the first-order issues.
For example, the question of good or bad ALT text only arises for sites that care enough about accessibility to have any ALT text.
Posted by roadnick at 11:30 AM | Comments () | TrackBack

December 19, 2003

The relevance of standards bodies

So I was thinking over at InformIT about standards bodies and their relevance, but my really big question is this: what would happen if we all decided NOT to use an accepted standard, and used something else instead?

I mean, seriously. What if a group of scientists decided not to use the "accepted" names for the elements, or renamed the planets or something? I mean, there's no law about it, right?

Posted by roadnick at 11:39 AM | Comments () | TrackBack

December 18, 2003

Browser-safe color values

Here's a handy little do-dad. When it comes to making colors, I can do the whole red-and-blue-makes-purple thing, but how do you make orange out of red, green, and blue? The 216 Color Color-Safe Palette page shows the colors that you can safely use on a web page for both PC and Mac -- and their hex values.

Posted by roadnick at 12:48 PM | Comments () | TrackBack

December 12, 2003

Blogs as news sources

I'm always promising myself that I will take the time to make my websites more ... well ... useful from a promotion standpoint. BlogSearchEngine for Blog making your blog a better news source.

Posted by roadnick at 11:00 PM | Comments () | TrackBack

December 03, 2003

Blogging Survey Results

BlogSearchEngine.com has the Blogging Survey Results from last month. What I found most interesting is the fact that while 73.9% of bloggers would be willing to blog about a product if approached by the company, 41.8% are willing to post a negative review, if appropriate. Hear that, PR people? There's fertile ground out there, but be careful!

Posted by roadnick at 02:11 PM | Comments () | TrackBack

November 27, 2003

An interesting use of CSS

In my research about cargo cults (more in a few minutes) I came across an interesting navigational element on the Apologetics Index. The menu stays as a tab on the left and travels when you scroll (though it's a tad distracting to start with) and pops out when you roll over it. My first thought is that it would be an accessibility nightmare, but now I'm thinking that if you did it right, you could make it work for those both with and without scripting support -- if the script doesn't work, the navigation simply appears -- and for those with traditional and non-traditional browsers.

Hm.

Posted by roadnick at 12:36 PM | Comments () | TrackBack

November 22, 2003

Why writers hate blogs

I got my first email address and Internet access in 1989, before the web even broke onto the scene, so maybe I'm not a representative example, but apparently many writers hate blogs. Now if I could just get this blog to do something besides giving me an outlet in which I can write what I want, rather than what the client wants...

Posted by roadnick at 10:44 AM | TrackBack

November 14, 2003

Know Domino? Want some work?

I'm in need of somebody who knows both Domino and Java for a writing project with quick turnaround. If you're that person, please email me.

Posted by roadnick at 05:19 PM | Comments () | TrackBack

Natural Language Processing

Unfortunately, I still don't have the time to devote to it that I'd like, but all this talk about Chatbots has gotten me thinking about Natural Language Processing. fieldmethods.net is an NLP-oriented portal that seems to have interesting information.

Posted by roadnick at 11:59 AM | Comments () | TrackBack

November 09, 2003

Create static jpg files from SVG

Apparently the Batik SVG package from Apache has a built-in rasterizer to convert SVG images to JPGs, so you don't have to rely on the user having an SVG viewer installed. Cool! Benoit Marchal explains how it works.

Posted by roadnick at 11:09 AM | Comments () | TrackBack

Grab headlines from a remote RSS file

Now on developerWorks: Grab headlines from a remote RSS file: This article shows you how to retrieve syndicated content and convert it into headlines for your site. Since no official format for such feeds exists, aggregators are often faced with the difficulty of supporting multiple formats, so Nick also explains how to use XSL transformations to more easily deal with multiple syndication file formats. (This was actually published in September.)

Posted by roadnick at 10:52 AM | Comments () | TrackBack

November 07, 2003

Chatbots and AI

I've been meaning to start dabbling in artificial intelligence for a long time, an as-yet-still-covered-by-NDA project notwithstanding. The Mind Files makes me want to dive into the world of chatbots. Very cool, and according to the background, it's accessible to just about anybody. Maybe I will add an AI bot of my own to this site...

Jitte's also got a new blog going, where he was nice enough to mention Chaos Magnet. Thanks!

Posted by roadnick at 09:05 PM | Comments () | TrackBack

November 06, 2003

The XML book business

I am pretty darn proud of XML Primer Plus. I knew the subject well, and I worked hard on it. I also feel good about the fact that it covers not only Java, but also C++, VB.NET, Perl, and PHP, thanks to the help of some additional writers. The reviews have all been good, and even the four star review on Amazon says that the only reason he didn't give me five stars is because he feels that that levels should be reserved for "recognized experts in the field," which I clearly am not.

But sales have been, frankly, disappointing. I was feeling really bad about it -- until I found out that The XML Book Business is in the toilet. With very few exceptions (and frankly I can't think of any), nobody's XML books are selling.

So tell me, are you buying XML books? Why or why not?

Posted by roadnick at 11:17 PM | Comments () | TrackBack

Your site, viewed in Lynx

When I was designing this site, I used CSS to create a layout that was both aesthetically pleasing -- OK, I'll settle for not hideously ugly -- but still accessible to those with text-based browsers. For a long time when I mentioned text-based browsers, people laughed at me, but many of the accessibility software, such as screen readers for the blind, use this method. But still, I wondered what the site would actually "look" like. Now, thanks to this link from Redemption, I've found that you can view your site in Lynx without having to actually install it. (You can, believe it or not, still get Lynx, even for Windows!) And actually, this site doesn't look half bad. A few tweaks and I may add the "Lynx Inspected" icon.

Posted by roadnick at 09:26 AM | Comments () | TrackBack

November 02, 2003

The CSS Zen Garden

My latest entry over on my InformIT blog talks about the CSS Zen Garden, which shows over a hunder different looks using the same HTML file and different CSS files. A lot of them are absolutely gorgeous. Being desing-challenged myself, I'm a little bit jealous.

Posted by roadnick at 02:54 PM | Comments () | TrackBack

October 30, 2003

Making of MetroSphere, Part 24: Giving the user control - the ultimate portal theme

Now on developerWorks: Making of MetroSphere, Part 24: Giving the user control - the ultimate portal theme: The heart of the MetroSphere site is the community weblog, but we also want to give users the ability to create pages that reflect their own personalities. Portal enables an administrator to add a new theme to the site, but because allowing users to add a new theme involves unacceptable security risks, built-in capabilities limit user control to selecting from available themes. This tutorial explains how to give users much of the same power they would have by creating a new theme without actually creating one.

Posted by roadnick at 11:26 AM | Comments () | TrackBack

October 23, 2003

The making of MetroSphere, Part 23: Send messages between portlets

Now on developerWorks: The making of MetroSphere, Part 23: Send messages between portlets: Sometimes, in the development of a portal, you need two portlets to talk to each other. For example, on MetroSphere, when the user clicks a topic in the Topic List portlet, the team needs the information to be sent not only to the Topic List portlet, but also to the Show Blog portlet. This portlet describes the process for sending messages between portlets and recording the information in the PortletSession object.

Posted by roadnick at 10:58 AM | Comments () | TrackBack

October 17, 2003

The making of MetroSphere, Part 22: Set topics -- custom attributes and user sessions

Now on developerWorks: The making of MetroSphere, Part 22: Set topics -- custom attributes and user sessions: In Part 21 of this series, Nick showed you how to add a custom attribute to users' information that represented their preferred topics. In this article, he shows you how to use that custom attribute as well as session information to enable users to choose between showing all topics and showing only their preferred topics.

Posted by roadnick at 11:28 AM | Comments () | TrackBack

October 11, 2003

Eolas tries to stop IE

Eolas is trying to enjoin Microsoft to stop distributing Internet Explorer. Yeah, right. On the other hand, wouldn't that be a boost for Mozilla.

Posted by roadnick at 10:00 PM | Comments () | TrackBack

October 10, 2003

Upcoming changes to IE

Microsoft has released information on what it's doing to Internet Explorer to comply with the half billion dollar lawsuit they just lost. I've commented over at the InformIT XML Reference Guide.

Posted by roadnick at 02:07 AM | TrackBack

September 04, 2003

Eolas vs Microsoft

Been keeping track of the Eolas vs. Microsoft judgement? The one where Microsoft was actually slapped with a judgement worth half a BILLION dollars? It concerns you, you know. Eolas claims to have invented plugins, and Microsoft is talking about modifying IE to account for the judgement.

I commented on original judgement and prior art issues over on my InformIT XML blog.

Posted by roadnick at 09:50 PM | Comments () | TrackBack

June 26, 2003

Making of MetroSphere, Part 14: Create a new theme

Now on IBM developerWorks: Making of MetroSphere, Part 14: Create a new theme (Tutorial) -- Look and feel are important in Web portal design. Learn how to develop themes -- which provide the look and feel for a group of pages -- and skins -- which provide the look and feel for portlets -- in this tutorial from the MetroSphere team. Topics covered include the creation of a new template theme, installing the new theme, adding WebSphere Portal functionality to the theme, accessing language-dependent text, creating URLs within WebSphere Portal, and creating and installing new skins.

Posted by roadnick at 12:16 PM | Comments () | TrackBack

June 23, 2003

The making of MetroSphere, Part 13: Installing an existing portlet

Now on IBM developerWorks: The making of MetroSphere, Part 13: Installing an existing portlet -- In this article, the MetroSphere team obtains a pre-written portlet application from the WebSphere Portal Catalog and installs it in their portal.

Posted by roadnick at 12:44 PM | Comments () | TrackBack

June 05, 2003

Making of MetroSphere, Part 12: Hands-on JSP technology intro: Creating a community weblog

Now on IBM developerWorks: Making of MetroSphere, Part 12: Hands-on JSP technology intro: Creating a community weblog (Tutorial) -- This tutorial is for developers who want to learn more about using JavaServer Pages (JSP) technology to build applications. It discusses the basics of JSP components in general, their integration with JavaBeans, and the creation and use of custom tag libraries.

Posted by roadnick at 09:27 AM | Comments () | TrackBack

May 05, 2003

Making of MetroSphere, Part 5: Installing WebSphere Portal Express

Now on IBM developerWorks: Making of MetroSphere, Part 5: Installing WebSphere Portal Express -- The first step in the MetroSphere project is getting the software installed so we can start working with it. This tutorial explains the necessary hardware and software prerequisites for installing WebSphere Portal - Express, and then explains the information necessary for a Quick Install and describes how that process should work. It also looks at some of the additional information necessary for a Standard Install.

Posted by roadnick at 01:25 PM | Comments () | TrackBack

The making of MetroSphere, Part 1: Getting on the Express way

Now on IBM developerWorks: The making of MetroSphere, Part 1: Getting on the Express way -- Team Lead Nicholas Chase gives a brief overview of the project and what you can expect out of the series. He also explains why the team's first stop was WebSphere Portal - Express.

Posted by roadnick at 01:20 PM | Comments () | TrackBack

The making of MetroSphere, Part 3: Choosing a Business pattern

Now on IBM developerWorks: The making of MetroSphere, Part 3: Choosing a Business pattern -- Nicholas Chase examines some of the common situations described by IBM Patterns for e-business and explains how you might take advantage of the various cases, some providing application architecture and even sample code to help get a project started. In this article, the team puts the experience of others to work, and applies it to their own project while focusing on Collaboration, Access Integration, and WebSphere Portal patterns.

Posted by roadnick at 12:46 PM | Comments () | TrackBack

April 29, 2003

The making of MetroSphere, Part 8: Moving to WebSphere Portal Enable

Now on IBM developerWorks: The making of MetroSphere, Part 8: Moving to WebSphere Portal Enable -- In this eighth part of the MetroSphere.com series you see the differences between WebSphere Portal - Express and WebSphere Portal Enable V4.2 and you see the steps the team took to create the first part of the main MetroSphere portal.

Posted by roadnick at 01:27 PM | Comments () | TrackBack

April 04, 2003

Combining XSL Transformation and Applications

Now on InformIT.com: Combining XSL Transformation and Applications -- Using transformations in applications is a powerful tool to control content and handle the presentation of your data. Learn how to not only combine style sheets, transformations, and applications to interact with different sources and outputs, but also how to make transformations more efficient and controllable.

Posted by roadnick at 02:23 PM | Comments () | TrackBack

Making of MetroSphere, Part 6: Getting started with WebSphere Portal - Express

Now on IBM developerWorks: Making of MetroSphere, Part 6: Getting started with WebSphere Portal - Express (Tutorial) -- This tutorial is for developers and administrators who want to get familiar with WebSphere Portal in general, and WebSphere Portal - Express in particular. It explains basic concepts such as portlet use and administration, user administration, and the basics of creating portal pages.

Posted by roadnick at 09:28 AM | Comments () | TrackBack

March 25, 2003

Making of MetroSphere, Part 6: Getting started with WebSphere Portal - Express

Now on IBM developerWorks: Making of MetroSphere, Part 6: Getting started with WebSphere Portal - Express -- This tutorial is for developers and administrators who want to get familiar with WebSphere Portal in general, and WebSphere Portal - Express in particular. It explains basic concepts such as portlet use and administration, user administration, and the basics of creating portal pages.

Posted by roadnick at 01:30 PM | Comments () | TrackBack

March 18, 2003

Create multi-purpose Web content with XSLT

Now on IBM's developerWorks: Create multi-purpose Web content with XSLT (Tutorial) -- As more and more devices become Web enabled, it is crucial that your content be available in multiple forms, such as traditional Web pages, mobile phones or other small devices, or Web services. This tutorial shows you how to set up a Java servlet that detects the type of display that is necessary and automatically produces appropriate markup for the content that uses XSLT.

Posted by roadnick at 11:55 PM | Comments () | TrackBack

March 04, 2003

SAX-like apps in PHP

Now on IBM developerWorks: SAX-like apps in PHP -- While there is no official implementation of the Simple API for XML (SAX) in PHP, PHP does provide a SAX-like method for working with both local and remote XML files. In this article, author Nicholas Chase shows you how to work with XML files in PHP by building and setting handler functions and creating a parser. He demonstrates SAX in PHP with a page-building exercise in which he crafts a page based on the result of an Amazon Web Services query.

Posted by roadnick at 09:30 AM | Comments () | TrackBack

February 24, 2003

Making of MetroSphere, Part 5: Installing WebSphere Portal Express

Now on IBM developerWorks: Making of MetroSphere, Part 5: Installing WebSphere Portal Express (Tutorial) -- The first step in the MetroSphere project is getting the software installed so we can start working with it. This tutorial explains the necessary hardware and software prerequisites for installing WebSphere Portal - Express, and then explains the information necessary for a Quick Install and describes how that process should work. It also looks at some of the additional information necessary for a Standard Install.

Posted by roadnick at 09:02 AM | TrackBack

February 06, 2003

Integrating applications with Web services using WebSphere Studio V5

Now on IBM developerWorks: Integrating applications with Web services using WebSphere Studio V5 (Tutorial) -- This tutorial shows you how to make your application Web-services ready using the tools in WebSphere Studio Application Developer Version 5. You will learn how to wrap an existing application as a Web service and announce it using a UDDI directory and to discover and use Web services within your applications. The tutorial also explains how to deploy your application to a WebSphere Application Server.

Posted by roadnick at 09:01 AM | Comments () | TrackBack

December 22, 2002

PHP Basics, Part 3: User-Defined Functions and Objects

Now on InformIT.com: PHP Basics, Part 3: User-Defined Functions and Objects -- In this third article in his series on PHP basics, Nick Chase shows you how to use PHP to create user-defined functions, as well as ways to create and use objects in PHP.

Posted by roadnick at 02:01 PM | Comments () | TrackBack

November 22, 2002

PHP Basics, Part 2: Database-Driven Pages

Now on InformIT.com: PHP Basics, Part 2: Database-Driven Pages -- Part 1 of this series of three articles considered the basics of building a dynamic web page using PHP. This article explores using PHP to interact with a database, including creating tables and inserting, updating, and selecting data.

Posted by roadnick at 02:14 PM | Comments () | TrackBack

November 20, 2002

Tip: Control white space in an XSLT style sheet

Now on IBM developerWorks: Tip: Control white space in an XSLT style sheet -- Because the style sheet and the source document in an XSLT transformation have different rules regarding white space stripping, it often seems as though the production of spaces and line breaks has no rhyme or reason in the process. This tip shows you how to control the production of white space in a transformation's result, which can lead to documents that more closely align with your requirements.

Posted by roadnick at 09:33 AM | Comments () | TrackBack

Install and configure the Xerces2 Java parser

Now on IBM developerWorks: Install and configure the Xerces2 Java parser (Tutorial) -- The first step in working with XML is parsing the data into a workable form. This tutorial guides you through the steps necessary to install and configure the Xerces2 Java parser.

Posted by roadnick at 12:23 AM | Comments () | TrackBack

November 13, 2002

Tip: Use imports and includes to override XSLT templates

Now on IBM developerWorks: Tip: Use imports and includes to override XSLT templates -- Extensible Stylesheet Language Transformations (XSLT) provide two different ways to combine several style sheets in the transformation of a single source document. In the process, it's almost inevitable that more than one template will apply to a single node. Which template is actually applied depends on whether and how the template has been included in the main style sheet. This tip explains how to use these conflict resolution rules to give users control -- but not too much control -- over styling issues.

Posted by roadnick at 09:46 AM | Comments () | TrackBack

November 01, 2002

Building an Amazon storefront using SOAP and the WSDK

Now on IBM developerWorks: Building an Amazon storefront using SOAP and the WSDK (Tutorial) -- This tutorial is for developers who want to use SOAP to access the Amazon product database through Amazon Web Services (AWS). It shows you how to use the IBM WebSphere SDK for Web Services (WSDK) to create Java classes from the Amazon Web Services Description Language (WSDL) file, demonstrates the use of those classes, and then examines the process of using the WSDK to turn the classes into a Web application and Amazon storefront.

Posted by roadnick at 08:58 AM | Comments () | TrackBack

October 25, 2002

PHP Basics, Part 1: Creating a Scripted Page

Now on InformIT.com: PHP Basics, Part 1: Creating a Scripted Page -- Learn how to build dynamic web pages with PHP in this three-part series. Part 1 starts you off with an explanation of how to create scripts for your pages.

October 23, 2002

Understanding XForms

Now on IBM's developerWorks: Understanding XForms (Tutorial) -- Today's Web applications require sophisticated control over a form's presentation and over the data that is ultimately submitted. XForms, currently at the level of Candidate Recommendation status at the W3C, aims to satisfy those needs, including separating functionality from presentation and streamlining validation and events processing.

Posted by roadnick at 12:20 AM | TrackBack

September 17, 2002

The Web's future: XHTML 2.0

Now on IBM developerWorks: The Web's future: XHTML 2.0 -- Over the years, HTML has only become bigger, never smaller, because new versions had to maintain backward compatibility. That's about to change. On 5 August 2002, the first working draft of XHTML 2.0 was released and the big news is that backward compatibility has been dropped -- the language can finally move on. So, what do you as a developer get in return? How about robust forms and events, a better way to look at frames and even hierarchical menus that don't require massive amounts of JavaScript.

Posted by roadnick at 09:31 AM | Comments () | TrackBack

August 07, 2002

Tip: Make choices at runtime with XSLT parameters

Now on IBM developerWorks: Tip: Make choices at runtime with XSLT parameters -- Extensible Stylesheet Langauage Transformations provide the ability to perform sophisticated manipulation of data as it is transformed from one form to another. You can increase their capabilites even further through the use of parameters that can be specified at runtime. This tip takes a basic look at using parameters and conditional statements in an XSLT style sheet.

Posted by roadnick at 09:38 AM | Comments () | TrackBack

August 02, 2002

Understanding Java Factories

Now on InformIT.com: Understanding Java Factories -- How do factories work, and how can you use them in your own applications? Create two different "ferrets," and see how using a factory allows you to choose which one is actually loaded at any given time.

Posted by roadnick at 01:59 PM | Comments () | TrackBack

August 01, 2002

Using HTML forms with PHP

Now on developerWorks: Using HTML forms with PHP

One of the advantages of PHP has always been the ability to easily manipulate information submitted by the user through an HTML form. In fact, PHP version 4.1 adds several new ways to access this information and effectively removes the one most commonly used in previous versions. This article looks at different ways to use the information submitted on an HTML form, in both older and more recent versions of PHP. It starts out by looking at individual values and builds to a page that can generically access any available form values.

Posted by roadnick at 12:43 PM | Comments () | TrackBack

July 16, 2002

XML Schema validation in Xerces-Java 2

Now on IBM developerWorks: XML Schema validation in Xerces-Java 2 (Tutorial) -- XML Schema provides validation capabilities that weren't available with Document Type Definitions. Xerces-Java 2.0 provides virtually complete support for the W3C's XML Schemas, and beyond. This tutorial guides you through the process of using schema validation with Xerces-Java 2.0.

Posted by roadnick at 12:24 AM | Comments () | TrackBack

July 09, 2002

JavaScript and the Document Object Model

Now on developerWorks: JavaScript and the Document Object Model: While the Document Object Model (DOM) is perhaps best known in its role as a foundation for working with XML, variations on the theme actually started in browsers with HTML. Now DOM has come full circle as newer browsers implement the W3C Document Object Model through client-side scripting, such as JavaScript. This article looks at the JavaScript approach to DOM and chronicles the building of a Web page to which the user can add notes and edit note content.

Posted by roadnick at 10:56 AM | Comments () | TrackBack

July 03, 2002

Tip: XSL transformations to and from a SAX stream

Now on IBM developerWorks: Tip: XSL transformations to and from a SAX stream -- The Transformation API for XML (TrAX) simplifies the process of performing XSL transformations by creating a situation where you only need to create the source, style, and result objects, then manipulate them using a Transformer object. When sources and results are DOM nodes or files, it's easy. But what if you want to transform to or from a SAX stream? This tip shows you how to use SAX streams as both the source and destination of an XSL transformation.

Posted by roadnick at 09:48 AM | TrackBack

June 26, 2002

Tip: Stop a SAX parser when you have enough data

Now on IBM developerWorks: Tip: Stop a SAX parser when you have enough data -- A SAX parser can be instructed to stop midway through a document without losing the data already collected. This is one of the most commonly mentioned advantages of a SAX parser over a DOM parser, which generally creates an in-memory structure of the entire document. In this tip, you'll parse a list of recently updated weblogs, stopping when you've displayed all those within a particular time range.

Posted by roadnick at 09:42 AM | TrackBack

May 21, 2002

Building Web service applications with the Google API

Now on IBM developerWorks: Building Web service applications with the Google API (Tutorial) -- The Google search engine can now be accessed via a SOAP-based Web service. This means that developers can now embed Google search results and other information into their own applications. Google also took this project one step further, creating an API and Java toolkit for accessing the data. This tutorial is for developers who want to use Google information from within their Java applications.

Posted by roadnick at 12:34 AM | Comments () | TrackBack

May 17, 2002

Using JavaScript with XSLT Style Sheets

Now on InformIT.com: Using JavaScript with XSLT Style Sheets -- Learn to use XSLT style sheets to transform XML data from one from one structure to another.

Posted by roadnick at 02:21 PM | TrackBack

Tip: Outputting HTML from an XSL style sheet

Now on IBM developerWorks: Tip: Outputting HTML from an XSL style sheet -- Because HTML is so similar to XML, it should be fairly straightforward to create an XSLT style sheet that outputs HTML. Unfortunately, the differences between HTML and XML that do exist can cause pages to be displayed incorrectly in older browsers. This tip discusses those differences, and explains how to use XSLT's output element to resolve the issues they create.

Posted by roadnick at 09:39 AM | TrackBack

May 02, 2002

Tip: Set an XSL style sheet based on XML content

Now on IBM developerWorks: Tip: Set an XSL style sheet based on XML content -- Using Extensible Stylesheet Language Transformations (XSLT) is often the easiest way to transform your XML data from one form into another, as it allows you a great deal of flexibility without having to change an application. On occasion, however, you may run into a snag because the style sheet to be used is based on the content of the document itself. This tip discusses two ways to base your choice of style sheet on the XML document -- the style sheet processing instruction and the data itself.

Posted by roadnick at 09:41 AM | Comments () | TrackBack

April 25, 2002

Tip: Call JavaScript from an XSLT style sheet

Now on IBM developerWorks: Tip: Call JavaScript from an XSLT style sheet -- XSLT style sheets allow you a great deal of freedom in manipulating the data in your original XML document. There are times, however, when you really want to do actual programming, and the XSLT recommendation is designed to allow that through the use of extensions. These extensions take the form of functions and elements, and can be written in any language the processor supports. One of your options is to embed JavaScript within the style sheet, either directly or as an external file.

Posted by roadnick at 09:32 AM | TrackBack

April 17, 2002

Developing XSL Transformations with WebSphere Studio

Now on IBM developerWorks: Developing XSL Transformations with WebSphere Studio (Tutorial) -- This tutorial shows you how to use the Site Developer configuration of WebSphere Studio to map the elements and attributes of one XML structure to the elements and attributes of another, then convert that mapping to an XSLT style sheet. The tutorial will demonstrate how to use an XSL Trace facility to watch the actual progress of the transformation and locate errors. This tutorial will also cover how to add XSLT functions, external JavaScript functions, and Java classes to the style sheet.

Posted by roadnick at 12:28 AM | Comments () | TrackBack

February 20, 2002

Introduction to Scalable Vector Graphics

Now on IBM developerWorks: Introduction to Scalable Vector Graphics (Tutorial) -- Scalable Vector Graphics (SVG) makes it possible to specify, using text, graphical images that appear on a Web page. The advantages are many, including the ability to easily generate graphics (such as graphs and charts) from database information, and the ability to add animation and interactivity to graphics. This tutorial demonstrates the concepts necessary for building SVG documents, such as basic shapes, paths, text, and painting models, and also animation and scripting.

Posted by roadnick at 12:30 AM | Comments () | TrackBack

February 15, 2002

Using XML and XSLT to Personalize a Web Site Part 4: Dynamic Style Sheets and User Customized Layout

Now on InformIT.com: Using XML and XSLT to Personalize a Web Site Part 4: Dynamic Style Sheets and User Customized Layout -- XSL Transformations provide a handy means for converting XML data to HTML pages, allowing you to store your content in its most flexible form and still have complete control over its display in the user's browser. Part 4, the final part in this series on Web site personalization by Nick Chase, shows you how to build style sheets dynamically, allowing users to choose what content appears on their pages, and where.

Posted by roadnick at 01:57 PM | Comments () | TrackBack

February 08, 2002

Using XML and XSLT to Personalize a Web Site Part 3: Allowing Users to Choose Look and Feel

Now on InformIT.com: Using XML and XSLT to Personalize a Web Site Part 3: Allowing Users to Choose Look and Feel -- XSL Transformations provide a handy means for converting XML data to HTML pages, allowing you to store your content in its most flexible form and still have complete control over its display in the user's browser. These and other issues are discussed in this third article on Web site personalizations by Nick Chase.

Posted by roadnick at 02:07 PM | Comments () | TrackBack

December 20, 2001

JavaScript floating objects

Now on IBM developerWorks: JavaScript floating objects (Tutorial) -- This tutorial is targeted at Web developers who want to create objects, such as images and menus, that hold their place (or float) in the browser window even when the user scrolls or resizes the window.

Posted by roadnick at 09:24 AM | Comments () | TrackBack

November 27, 2001

Creating and using JavaScript objects

Now on IBM developerWorks: Creating and using JavaScript objects (Tutorial) -- This tutorial is for programmers who wish to take advantage of object oriented programming (OOP) using JavaScript -- either within the browser or on the server side -- by using custom-built JavaScript objects and their properties and methods.

Posted by roadnick at 09:26 AM | Comments () | TrackBack

November 13, 2001

Understanding dynamic positioning

Now on IBM developerWorks: Understanding dynamic positioning (Tutorial) -- This tutorial is designed to assist Web developers who need tight control over the placement of content on their pages, but who understand the need to separate content from presentation in order to improve compliance with standards and ease of maintenance.

Posted by roadnick at 09:23 AM | Comments () | TrackBack

November 02, 2001

Using XML and XSLT to Personalize a Web Site Part 1: Using XSLT to Transform XML to HTML

Now on InformIT.com: Using XML and XSLT to Personalize a Web Site Part 1: Using XSLT to Transform XML to HTML -- XSL Transformations are a powerful tool in your efforts to provide a customized experience for your users. Using them allows you to take a single XML content file and adapt it to users' preferences. With the addition of a Web server environment capable of dynamically choosing a style sheet or even creating one based on the user's preferences, you have the potential for a powerful personalization system.

Posted by roadnick at 02:19 PM | Comments () | TrackBack

October 24, 2001

Manipulating data with XSL

Now on IBM developerWorks: Manipulating data with XSL (Tutorial) -- This tutorial explains the basics of retrieving data from a database into a DOM document, transforming the DOM document into a second document, and inserting the data from the second document into the database using updatable ResultSets in Java. (Though the examples are all written in Java, the concepts are the same in any programming language and the tutorial can assist any developer who wants to learn how to manipulate data with XSLT.) Several of the more advanced features of XSLT and XPath are covered, demonstrating some of the ways that XSLT style sheets can be used to emulate the programming capabilities of database stored procedures.

Posted by roadnick at 12:25 AM | Comments () | TrackBack

October 23, 2001

Modularization of XHTML

Now on IBM developerWorks: Modularization of XHTML (Tutorial) -- This tutorial is designed for users who need to understand the modularization of XHTML, either to use a subset of XHTML, or to add their own tags to create their own markup language variants.

Posted by roadnick at 12:26 AM | Comments () | TrackBack

September 05, 2001

Understanding SAX

Now at IBM's developerWorks: Understanding SAX (Tutorial) -- This tutorial examines the use of the Simple API for XML version 2.0, or SAX 2.0. It is aimed at developers who have an understanding of XML and wish to learn this lightweight, event-based API for working with XML data. It assumes that you are familiar with concepts such as well-formedness and the tag-like nature of an XML document. In this tutorial, you will learn how to use SAX to retrieve, manipulate, and output XML data.

Posted by roadnick at 11:53 PM | Comments () | TrackBack

August 31, 2001

Understanding DOM

Now at IBM's developerWorks: Understanding DOM (Tutorial) -- Even before there was XML, there was the Document Object Model (DOM). The DOM allows a developer to refer to, retrieve, and change items within an XML structure, and is essential to working with XML. In this tutorial, you will learn about the structure of a DOM document. You will also learn how to use Java to create a document from an XML file, make changes to it, and retrieve the output.

Posted by roadnick at 11:52 PM | Comments () | TrackBack

August 07, 2000

Creating an Opt-In Email List with Active Server Pages

Now on InformIT.com: Creating an Opt-In Email List with Active Server Pages -- Using Active Server Pages, Nick Chase shows you how to create an Opt-in email list application. Opt-in email lets you send your messages only to those who’ve requested it, and also provides a way for users to get on and off the list, indicate their preferences for content, and even tell you whether they’d prefer HTML or text-based mail.

Posted by roadnick at 01:51 PM | Comments () | TrackBack