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