<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">	<channel>		<title>Truer Words - A Journal</title>		<link>http://www.truerwords.net/index/channel/websites</link>		<description>The online journal of Seth Dillingham: faith, family, code, cycling, joy, and pain.</description>		<language>en</language>		<copyright>Copyright 2008 seth@macrobyte.net</copyright>		<generator>Conversant's Weblog II plugin</generator>		<category>Web Sites</category>		<item>	<title>PMC Software Auction 8: Web Developer's Paradise</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/6040/trackback</trackback:ping>	<link>http://www.truerwords.net/6040</link>	<pubDate>Tue, 28 Aug 2007 17:40:46 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/6040</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=6040#msg6040</comments>	<category>PMC</category>	<category>Software Auctions</category>	<category>Technology</category>	<category>Programming</category>	<category>Web Sites</category>	<description>&lt;p&gt;The eighth auction is running, and is called “&lt;a href=&quot;http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;ih=011&amp;viewitem=&amp;item=320152686343&amp;rd=1&quot;&gt;Mac Software Bundle: Web Developer's Paradise&lt;/a&gt;.”&lt;/p&gt;&lt;p&gt;This is the most ‘focused’ auction to date. These are tools for web (site or app) developers, and include high-end apps like BBEdit for source editing, Coda and Sandvox for designing, SQLGrinder for databases, Interarchy for FTP, and Screen Mimic for screencasts. (I do this work for a living, and seriously wish I had all of these apps!) Also included Daylite and Billings, to help on the business side of being a web developer.&lt;/p&gt;&lt;p&gt;Yeah, ok, that last sentence sounded like a lame attempt at marketing, but it wasn't. I'm serious. I don't have Coda, Sandvox, SQLGrinder, or Screen Mimic, and could certainly use them. (So maybe it's not a good idea for me to sell a sweet bundle like this to my competition!)&lt;/p&gt;&lt;p&gt;Two last details: there's no reserve this time, and it's a seven day auction instead of five.&lt;/p&gt;</description>	</item><item>	<title>Why Won't You Be My Neighbor?</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/6013/trackback</trackback:ping>	<link>http://www.mt-olympus.com/apollo/archives/2007/08/08/declining-your-friend-request/</link>	<pubDate>Fri, 10 Aug 2007 20:17:43 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/6013</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=6013#msg6013</comments>	<category>Essays</category>	<category>People</category>	<category>Technology</category>	<category>Web Sites</category>	<description>&lt;p&gt;In &lt;a href=&quot;http://www.mt-olympus.com/apollo/archives/2007/08/08/declining-your-friend-request/&quot;&gt;Declining Your Friend Request&lt;/a&gt;, Apollo writes:&lt;/p&gt;&lt;blockquote cite=&quot;http://www.mt-olympus.com/apollo/archives/2007/08/08/declining-your-friend-request/&quot;&gt;	&lt;p&gt;I’m on a large number of social networks.  On some of them, people see my profile and add me out of the blue.&lt;/p&gt;	&lt;p&gt;After receiving numerous such friend requests, particularly on new social networks, like &lt;a href=&quot;http://www.twitter.com/&quot;&gt;Twitter&lt;/a&gt; and &lt;a href=&quot;http://www.pownce.com/&quot;&gt;Pownce&lt;/a&gt;, I thought I’d put together a list [so you'll know why I declined your invitation].&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I totally agree with Apollo. I'm only on a few social networks, but I receive a few too many requests &quot;to be friends&quot; from total strangers.&lt;/p&gt;&lt;p style=&quot;font-style: italic;&quot;&gt;In fact, a few weeks ago one such request got me into some trouble. See if you can follow this: The potential &quot;friend's&quot; nickname sounded slightly familiar, so I followed the link to see who it was. The page was loading very slowly, and then Rich started talking to me in IM so I brought Adium to the front. One of his messages included a link, which (when clicked) opened in a new tab in Firefox. Time passed, and I forgot all about the page I'd been waiting for. Corinne sat down next to me, I showed her something, and then started shutting down the Mac for the night. As I closed my tabs in Firefox one-by-one (so I could be sure I wasn't leaving any unfinished work anywhere, as I've done many times), there was the link I'd followed from the &quot;friend request&quot;: a page on Flickr with a model in all of her, uh... &quot;natural beauty.&quot; NOT COOL.&lt;/p&gt;&lt;p&gt;Anyway, I don't care enough about the social networks to bother acknowledging most of the friend requests. I do feel the pressure to reciprocate with people I actually know, but mostly I just wish the networks would go away. How anti-social of me.&lt;/p&gt;</description>	</item><item>	<title>Replying to Email</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5992/trackback</trackback:ping>	<link>http://www.truerwords.net/5992</link>	<pubDate>Thu, 12 Jul 2007 15:41:20 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5992</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5992#msg5992</comments>	<category>Nits</category>	<category>Technology</category>	<category>Email</category>	<category>Web Sites</category>	<description>&lt;p&gt;&lt;a href=&quot;http://daringfireball.net/&quot;&gt;Daring Fireball&lt;/a&gt; (John Gruber) has been talking about &lt;a href=&quot;http://daringfireball.net/2007/07/on_top&quot;&gt;email reply styles&lt;/a&gt;, lately, and now lots of other people are, too. (Including me!)&lt;/p&gt;&lt;p&gt;What I haven't yet seen mentioned is that &quot;top posters&quot; are notorious for only replying to one part — possibly even just one line or sentence — in a longer email. Many times over the years I have written a long-ish message to a client, explaining how I would do something (and for how much), only to receive back a copy of my entire message with a question at the top like, &quot;How would that part work, exactly?&quot; or &quot;Could you send me a sketch of how you think that part would look?&quot;&lt;/p&gt;&lt;p&gt;See, I've sent a message with twelve paragraphs explaining the overall flow of an application, and the question I get back could refer to almost any of it.&lt;/p&gt;&lt;p&gt;Even better (worse) is that my original message probably included a few questions which have gone completely unanswered.&lt;/p&gt;&lt;p&gt;That, to me, is the biggest benefit of the inline-reply style. You have to pay attention to what you're doing! You start your reply by quoting the entire message. As you go through the original message, you delete the stuff which needs no reply and which isn't needed for context, and then insert your own comments immediately after the relevant parts that remain. Since most email programs show different levels of quoting in different colors, it's very easy to follow the conversation.&lt;/p&gt;&lt;p&gt;Recently someone sent me a &quot;breath of fresh air.&quot; It was another software developer, and we've been talking about me helping him out with the next version of his (only) application. Our conversation has stretched out over three months, but we're both sticklers for the inline-reply style so reading back through these email messages is just wonderful. Trying to have a conversation like this with a &quot;top-poster&quot; (someone who always quotes everything that came before, and only puts replies at the top) would be awkward, if not impossible.&lt;/p&gt;&lt;p&gt;Unfortunately, some email clients make inline-replying a little difficult. Gmail, MobileMail (Apple's Mail on the iPhone), and Outlook/Entourage are all good (bad) examples. They can all make very &quot;pretty&quot; email with bolds, colors, fonts, links and pictures, but those things are secondary (or tertiary) to good communication. At the opposite end of the spectrum are apps like &lt;a href=&quot;http://www.barebones.com/products/mailsmith/&quot;&gt;Mailsmith&lt;/a&gt;, which &lt;b&gt;*can't*&lt;/b&gt; create fancy-schmancy bold/colored/linked/imaged messages, but which provide tools to make inline-replying even easier than it is already. (There are other apps like that, but Mailsmith is the one I use. Claris Emailer was another great example of this type of app, back in its day.)&lt;/p&gt;</description>	</item><item>	<title>Firefox? Isn't That a Movie?</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5906/trackback</trackback:ping>	<link>http://www.truerwords.net/5906</link>	<pubDate>Wed, 25 Apr 2007 18:11:32 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5906</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5906#msg5906</comments>	<category>Nits</category>	<category>Customers</category>	<category>Macrobyte</category>	<category>Technology</category>	<category>Mozilla</category>	<category>Web Sites</category>	<description>&lt;p&gt;One of my clients has recently signed up for an online shopping cart system to work with his catalog (which is based on &lt;a href=&quot;http://conversant.macrobyte.net/&quot; title=&quot;Macrobyte's Groupware and Content Managent software&quot;&gt;Conversant&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;When a customer buys something through this shopping cart system, they're shown a confirmation page with a link back to a specific page on the vendor's site. That's totally standard.&lt;/p&gt;&lt;p&gt;The link appears to use JavaScript to submit a form which POSTs the sale's data (minus the truly private info like credit card number) back to a page on the vendor's site. Still pretty common (except their implementation doesn't actually work).&lt;/p&gt;&lt;p&gt;They &lt;b&gt;claim&lt;/b&gt; that it only works in IE. Not in Firefox, not in Safari, not in Opera. Why worry about those, they're just &lt;a href=&quot;http://www.xitimonitor.com/en-us/browsers-barometer/firefox-march-2007/index-1-2-3-77.html&quot;&gt;a small percentage of the marketplace&lt;/a&gt;, right?&lt;/p&gt;&lt;p&gt;I'm sorry, but those people are morons.&lt;/p&gt;&lt;p&gt;Without even testing it, I can tell you that they're wrong: it doesn't work in ANY browser, not even IE. How do I know? The link just runs the script, and the script just causes the browser to navigate to the vendor's thankyou page: it never does anything with the form at all.&lt;/p&gt;&lt;p&gt;The form is all hidden fields, looking something like this:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;form action=&quot;url/of/thank-you/page&quot; name=&quot;postData&quot;&amp;gt;&lt;br&gt;&amp;lt;input type=&quot;hidden&quot; name=&quot;firstName&quot; value=&quot;Seth&quot; /&amp;gt;&lt;br&gt;etc., etc., etc.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The form's action is pointing to the correct URL... but the form is never used. The script looks like this:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;function submitForm()&lt;br&gt;{&lt;br&gt;	window.location.href=&quot;url/of/thank-you/page&quot;;&lt;br&gt;	return true;&lt;br&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you understood the above, then you know how easy it would be to fix:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;function submitForm()&lt;br&gt;{&lt;br&gt;	document.forms.postData.submit();&lt;br&gt;	return true;&lt;br&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sigh. (Even easier: do away with the javascript entirely, and replace the link with an actual submit button.)&lt;/p&gt;</description>	</item><item>	<title>Events, Listeners, and MSIE: A Big Surprise</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5838/trackback</trackback:ping>	<link>http://www.truerwords.net/5838</link>	<pubDate>Thu, 08 Feb 2007 00:32:21 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5838</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5838#msg5838</comments>	<category>Technology</category>	<category>DHTML / AJAX</category>	<category>Web Sites</category>	<description>&lt;p&gt;I've been doing event-based JavaScripting for approximately as long as there has been such a thing.&lt;/p&gt;&lt;p&gt;One of the foundations of this programming is that MSIE puts its event object at window.event, and most everybody else passes the event object to the listener (the method that is called when the event is triggered).&lt;/p&gt;&lt;p&gt;I moved past my frustration with that difference in behavior many years ago, so I could get some real work done. Know what I mean?&lt;/p&gt;&lt;p&gt;Turns out it's not true anyway.&lt;/p&gt;&lt;p&gt;Someone (can't say who) contacted me today in a fit of confusion. HIs events listeners in MSIE 6 were receiving events objects as parameters.&lt;/p&gt;&lt;p&gt;He was using &lt;a href=&quot;http://www.prototypejs.org/&quot; title=&quot;Prototype - a javascript library for web applications&quot;&gt;Prototype&lt;/a&gt; to set up his listeners, so I assumed it had something to do with that. I looked into it...&lt;/p&gt;&lt;p&gt;First, I tried my own test, of course. Yep, there's the event object.&lt;/p&gt;&lt;p&gt;Second, I traced the code in Prototype. Function.bindAsEventListener() would explain it... except that's not what we were using in this case.&lt;/p&gt;&lt;p&gt;Nothing else in Prototype explained it, so I went out to the web to see what others had to say.&lt;/p&gt;&lt;p&gt;David Flanagan — The Man Himself, author of &lt;a href=&quot;http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FJavaScript-Definitive-Guide-David-Flanagan%2Fdp%2F0596101996%2Fsr%3D1-1%2Fqid%3D1170897458%3Fie%3DUTF8%26s%3Dbooks&amp;tag=truerwords-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325&quot;&gt;my favorite book on JavaScript&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=truerwords-20&amp;amp;l=ur2&amp;amp;o=1&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot; /&gt; — &lt;a href=&quot;http://www.davidflanagan.com/blog/2006_10.html#000114&quot;&gt;had this to say:&lt;/a&gt; back on October 23 of last year (just 3 1/2 months ago):&lt;/p&gt;&lt;blockquote cite=&quot;http://www.davidflanagan.com/blog/2006_10.html#000114&quot; class=&quot;cite&quot;&gt;	&lt;p&gt;		I don't know how I know this: it is just one of those things I've always known about IE.  But a reader (Tom Stambaugh of zeetix.com) just emailed me with a trivially simple counter example.  It turns out that if you use attachEvent() (at least in IE 6) then the event handler you specify is passed an event object as an argument.		&lt;/p&gt;	&lt;p&gt;		I don't think I'm the only one who believed that handlers registered with attachEvent() don't get passed an event object.  For example, the documentation on attachEvent() at		&lt;a href=&quot;http://javascript.about.com/library/bldom20.htm&quot;&gt;about.com&lt;/a&gt; says:		&lt;/p&gt;	&lt;blockquote cite=&quot;http://javascript.about.com/library/bldom20.htm&quot; class=&quot;cite&quot;&gt;		&lt;p&gt;			Also unlike the standard DOM method, the event is not passed to the function as a parameter. Instead IE supplies a standard window.event object to hold the details relating to the latest event.			&lt;/p&gt;	&lt;/blockquote&gt;	&lt;p&gt;		And the 		&lt;a href=&quot;http://developer.yahoo.com/yui/event/&quot;&gt;documentation&lt;/a&gt; for the YUI event library advertises, as a feature of the library, that: 		&lt;/p&gt;	&lt;blockquote cite=&quot;http://developer.yahoo.com/yui/event/&quot; class=&quot;cite&quot;&gt;		&lt;p&gt;			The first parameter your callback receives when the event fires is always the actual event object. There is no need to look at window.event.			&lt;/p&gt;	&lt;/blockquote&gt;	&lt;p&gt;	[SNIP]&lt;/p&gt;	&lt;p&gt;		&lt;b&gt;Update:&lt;/b&gt; Thanks to the commenters who have pointed out the interesting fact that the event object passed to a handler is not the same object (not == to) window.event.  I've written a &lt;a href=&quot;http://www.davidflanagan.com/attach.html&quot;&gt;trivial test&lt;/a&gt; that demonstrates that 1) an object is passed to a handler registered with attachEvent(), 2) that this object is not == to window.event, and that 3) the properties of this object are the same as the properties of window.event (except that they both have a property that refers to different empty arrays).		&lt;/p&gt;	&lt;p&gt;	[SNIP]&lt;/p&gt;	&lt;p&gt;		&lt;b&gt;Update 2:&lt;/b&gt; In comments, Alistair Potts presents test results that indicate that attachEvent has always passed a copy of the window.event object to event handlers.  His test code is at: http://www.partyark.co.uk/html/ieeventtest.htm		&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;(I seriously wonder if everybody else based their assumptions on David's own writing. I think the original version of his book was published by Gutenberg himself, and almost every serious JavaScripter has a copy of it.)&lt;/p&gt;&lt;p&gt;Long story, short: MSIE has (almost) always passed the event object to the listeners, as long as you registered the listener with attachEvent instead of just &quot;assigning&quot; the listener.&lt;/p&gt;</description>	</item><item>	<title>The Hills Are Alive!</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5835/trackback</trackback:ping>	<link>http://www.truerwords.net/5835</link>	<pubDate>Sun, 04 Feb 2007 01:46:42 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5835</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5835#msg5835</comments>	<category>Humor</category>	<category>Web Sites</category>	<description>&lt;p&gt;&lt;a href=&quot;http://maps.google.com/?p=1189&amp;amp;c=&amp;amp;f=q&amp;amp;hl=en&amp;amp;ie=UTF8&amp;amp;om=1&amp;amp;z=16&amp;amp;ll=50.010538,-110.113585&amp;amp;spn=0.012962,0.032787&amp;amp;t=k&quot;&gt;&lt;img src=&quot;http://www.truerwords.net/5835/enclosure/kh.jpg&quot; height=&quot;128&quot; width=&quot;128&quot; align=&quot;left&quot; alt=&quot;kh.jpg&quot; border=&quot;0&quot; height=&quot;128&quot; style=&quot;margin-right: 0.5em;&quot; width=&quot;128&quot;  /&gt;&lt;/a&gt;Does &lt;a href=&quot;http://maps.google.com/?p=1189&amp;amp;c=&amp;amp;f=q&amp;amp;hl=en&amp;amp;ie=UTF8&amp;amp;om=1&amp;amp;z=16&amp;amp;ll=50.010538,-110.113585&amp;amp;spn=0.012962,0.032787&amp;amp;t=k&quot;&gt;this aerial photo of some hills in Canada&lt;/a&gt; look just like an Indian/Native American listening to an iPod, or is it just my own (and thousands of others, by now) imagination?&lt;/p&gt;&lt;p&gt;That's just too cool. The link goes to Google Maps, so you can zoom out and see for yourself that it's legit.&lt;/p&gt;&lt;br clear=&quot;all&quot;&gt;</description>	</item><item>	<title>Inline-Block, Coming Soon to a Firefox Near You</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5798/trackback</trackback:ping>	<link>http://www.truerwords.net/5798</link>	<pubDate>Wed, 13 Dec 2006 16:21:47 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5798</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5798#msg5798</comments>	<category>Technology</category>	<category>DHTML / AJAX</category>	<category>Mozilla</category>	<category>Programming</category>	<category>Web Sites</category>	<description>&lt;p&gt;I'm surprised and happy to see that dbaron (one of the most experienced and &quot;lowest level&quot; (as in plumbing, not importance) Mozilla contributors) is finally working on an implementation of CSS &lt;a href=&quot;http://www.quirksmode.org/css/display.html#inlineblock&quot;&gt;'display: inline-block'&lt;/a&gt;. I've been subscribed to the &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=9458&quot;&gt;Bugzilla bug for inline-block&lt;/a&gt; for years and years, so I was amazed to see it finally get some official attention a couple days ago.&lt;/p&gt;&lt;p&gt;Apparently he's also implementing inline-table.&lt;/p&gt;</description>	</item><item>	<title>How to Serve Compressed Data with mod_gzip and Apache 1.3 on Mac OS X</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5777/trackback</trackback:ping>	<link>http://www.truerwords.net/articles/web-tech/serving_compressed_with_mod_gzip.html</link>	<pubDate>Fri, 17 Nov 2006 01:04:09 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5777</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5777#msg5777</comments>	<category>Essays</category>	<category>Technology</category>	<category>Conversant</category>	<category>DHTML / AJAX</category>	<category>Frontier</category>	<category>Mozilla</category>	<category>Web Sites</category>	<description>&lt;p&gt;Some of us have recently been discussing the size of the &lt;a href=&quot;http://prototype.conio.net/&quot;&gt;Prototype&lt;/a&gt; library, my preferred library for DHTML/AJAX). Proponents of some of the other libraries play up their smaller file sizes, and it's true that this is a real issue for some people.&lt;/p&gt;&lt;p&gt;This little essay/how-to explains the basic ideas (the what, how, and why), and then walks you through setting up Apache on Mac OS X, to enable mod_gzip and serve compressed content. If you skip the editorial content and just follow the steps I've outlined, you should have everything up and running in fifteen minutes or less.&lt;/p&gt;</description>	</item><item>	<title>Prototype: A Call For Documentation</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5753/trackback</trackback:ping>	<link>http://encytemedia.com/blog/articles/2006/10/31/prototype-a-call-for-documentation</link>	<pubDate>Wed, 01 Nov 2006 15:02:50 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5753</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5753#msg5753</comments>	<category>Technology</category>	<category>DHTML / AJAX</category>	<category>Web Sites</category>	<description>&lt;p&gt;&lt;a href=&quot;http://prototype.conio.net/&quot;&gt;Prototype&lt;/a&gt; (a super-popular DHTML/AJAX library for JavaScript) is finally going to have a full-fledged, dedicated documentation site. Justin Palmer is one of the guys working on it, and has just posted &lt;a href=&quot;http://encytemedia.com/blog/articles/2006/10/31/prototype-a-call-for-documentation&quot;&gt;A Call For Documentation&lt;/a&gt;.&lt;/p&gt;&lt;blockquote cite=&quot;http://encytemedia.com/blog/articles/2006/10/31/prototype-a-call-for-documentation&quot;&gt;	&lt;p&gt;We’re hard at working getting the Prototype documentation site ready for launch.  However, we know there is already a lot of great documentation scattered throughout the web.  Instead of us rewriting a lot of this documentation, we’d like to ask that the community lend us a helping hand.&lt;/p&gt;   &lt;p&gt;If you’ve documented parts of Prototype, we’d be tickled pink if you’d be willing to share that with us.  We’re looking for all types of documentation, everything from examples, tutorials, to general api docs.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;The rest of his post explains how to submit material for the site, and how to be 'officially' involved in regular site maintenance (they're looking for some volunteers).&lt;/p&gt;</description>	</item><item>	<title>Googlepinging</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5727/trackback</trackback:ping>	<link>http://www.truerwords.net/5727</link>	<pubDate>Thu, 05 Oct 2006 21:55:11 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5727</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5727#msg5727</comments>	<category>Technology</category>	<category>Conversant</category>	<category>Web Sites</category>	<description>&lt;p&gt;That gibberish word is there so I can test &lt;a href=&quot;http://www.google.com/help/blogsearch/about_pinging.html&quot;&gt;Google's new &quot;Blog Search Ping&quot; service&lt;/a&gt;. If this works correctly, Google will be immediately notified of this update to my site, and so will know to add the new page to its index.&lt;/p&gt;&lt;p&gt;I'm actually not completely sure it will work. Theirs is the first ping service (that I know of) to only support the extendedPing method, so I'm not sure how &lt;a href=&quot;http://conversant.macrobyte.net/&quot; title=&quot;Macrobyte's Groupware and Content Managent software&quot;&gt;Conversant&lt;/a&gt; and Weblog II will handle it.&lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;And a minute later, here's the evidence that it worked correctly:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;weblogUpdates version=&quot;2&quot; updated=&quot;Thu, 05 Oct 2006 22:55:58 GMT&quot; count=&quot;1160088958&quot;&amp;gt;  &amp;lt;weblog name=&quot;Official Google Blog&quot; url=&quot;http://feeds.feedburner.com/frat/feed&quot; rssUrl=&quot;http://feeds.feedburner.com/frat/feed&quot; when=&quot;18&quot;/&amp;gt;  &lt;b&gt;&amp;lt;weblog name=&quot;Truer Words - A Journal&quot; url=&quot;http://www.truerwords.net/index&quot; rssUrl=&quot;http://www.truerwords.net/index/rss&quot; when=&quot;42&quot;/&amp;gt;&lt;/b&gt;  &amp;lt;weblog name=&quot;&quot; url=&quot;http://frazer.rice.edu/~erkan/blog/&quot; rssUrl=&quot;&quot; when=&quot;65&quot;/&amp;gt;  &amp;lt;weblog name=&quot;&quot; url=&quot;http://prekinderbristol.blogspot.com/&quot; rssUrl=&quot;&quot; when=&quot;112&quot;/&amp;gt;&amp;lt;/weblogUpdates&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;(That's Google's list of &lt;a href=&quot;http://blogsearch.google.com/changes.xml?last=120&quot;&gt;pings received in the last 120 seconds&lt;/a&gt;, as of October 5, 2006 at 6:55:58 PM (Eastern US Time).&lt;/p&gt;</description>	</item><item>	<title>Some Fun Pan-Mass Challenge Discussions</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5660/trackback</trackback:ping>	<link>http://www.truerwords.net/5660</link>	<pubDate>Mon, 14 Aug 2006 19:43:51 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5660</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5660#msg5660</comments>	<category>Cycling</category>	<category>PMC</category>	<category>Web Sites</category>	<description>&lt;p&gt;My post-PMC write up has been more popular this year than in any of the previous years. Many of the people I mention in the story have actually found the site and posted their own comments in the forum. Very cool!&lt;/p&gt;&lt;p&gt;This includes:&lt;/p&gt;&lt;ul&gt;	&lt;li&gt;The lady (Rose) who kept saying my name even though she didn't know who I was&lt;/li&gt;	&lt;li&gt;	The guy who started the (aforementioned) whole &quot;weirdest thing&quot; situation from Saturday (Scott)&lt;/li&gt;	&lt;li&gt;	One of the long-time road crew members (Chris)&lt;/li&gt;	&lt;li&gt;	Someone I mentioned very briefly from Sunday morning! (Paul Y.)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Of course, there are some very notable exception. Haven't heard from Mark Stockwell from the Huckleberries ride and Saturday morning (despite my offers to help!), all the rest of the Huckleberries, and of course Paul Davis.&lt;/p&gt;&lt;p&gt;The discussion threads are &lt;a href=&quot;http://www.truerwords.net/fullThread$msgNum=5621&quot;&gt;here for the Huckleberries ride&lt;/a&gt; (no comments there yet, though), &lt;a href=&quot;http://www.truerwords.net/fullThread$msgNum=5622&quot;&gt;here for the first day of the PMC&lt;/a&gt;, and &lt;a href=&quot;http://www.truerwords.net/fullThread$msgNum=5632&quot;&gt;here for the second day&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;(If you want to post a reply, use the link to the left of any of the messages.)&lt;/p&gt;&lt;p&gt;Note that none of this has done a whit for the fundraising, though. I'm still stuck at $2900, same as I was before the event. &lt;i&gt;Sigh.&lt;/i&gt;&lt;/p&gt;</description>	</item><item>	<title>Aggregator Updated</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5540/trackback</trackback:ping>	<link>http://www.truerwords.net/5540</link>	<pubDate>Wed, 07 Jun 2006 01:57:15 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5540</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5540#msg5540</comments>	<category>Technology</category>	<category>DHTML / AJAX</category>	<category>Web Sites</category>	<description>&lt;p&gt;Hey, aggregator testers! I've updated it again. Minor stuff, mostly (I'm busy with another project, so I can only do this in my off hours, now), but still pretty good. The notes are on the secret-secret test site's weblog! ;-)&lt;/p&gt;&lt;p style=&quot;font-style: italic;&quot;&gt;The fact that Conversant will soon have a nifty, built-in aggregator is no longer a secret. Obviously. That I'm planning to make it work with (and like) my favorite desktop aggregator(s) IS a secret. Mum's the word!&lt;/p&gt;</description>	</item><item>	<title>Client-Side Storage in Web 2.0 Applications</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5484/trackback</trackback:ping>	<link>http://codinginparadise.org/weblog/2006/04/now-in-browser-near-you-offline-access.html</link>	<pubDate>Wed, 26 Apr 2006 20:21:19 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5484</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5484#msg5484</comments>	<category>Technology</category>	<category>DHTML / AJAX</category>	<category>Programming</category>	<category>Web Sites</category>	<category>XML</category>	<description>&lt;p&gt;&lt;a href=&quot;http://codinginparadise.org/weblog/2006/04/now-in-browser-near-you-offline-access.html&quot;&gt;This looks to be a fantastic breakthrough.&lt;/a&gt; I think Brian A. will get a kick out of the storage system he describes... it sounds awfully familiar. ;-)&lt;/p&gt;&lt;blockquote cite=&quot;http://codinginparadise.org/weblog/2006/04/now-in-browser-near-you-offline-access.html&quot;&gt;	&lt;p&gt;I'm proud to announce the immediate availability of dojo.storage and a new web-based editor named Moxie.	&lt;/p&gt;	&lt;p&gt;Imagine if web applications could store megabytes of data on the client-side, in the browser, both persistently and securely. No server needed.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I'm going to have to implement this for Conversant. Soon.&lt;/p&gt;&lt;p&gt;(Thanks for the link, &lt;a href=&quot;http://spoken.phrasewise.com/articles/2006/04/26/dojo-storage&quot;&gt;Daniel&lt;/a&gt;.)&lt;/p&gt;</description>	</item><item>	<title>Greg's Conversant-Ruby Scripts</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5472/trackback</trackback:ping>	<link>http://www.truerwords.net/5472</link>	<pubDate>Fri, 14 Apr 2006 20:25:20 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5472</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5472#msg5472</comments>	<category>People</category>	<category>Technology</category>	<category>Greg Pierce</category>	<category>CMS</category>	<category>Conversant</category>	<category>Web Sites</category>	<description>&lt;p&gt;&lt;a href=&quot;http://greg.agiletortoise.com/&quot; title=&quot;Greg Pierce&quot;&gt;Greg&lt;/a&gt; has produced a set of &lt;a href=&quot;http://greg.turtleprod.com/fullThread$msgNum=2517#MSG2517&quot;&gt;Ruby scripts for editing your Conversant&lt;/a&gt; site's templates, javascripts, and stylesheets &lt;span style=&quot;font-style: italic;&quot;&gt;*locally*&lt;/span&gt;. It downloads them all via xml-rpc. You edit them in your local editor, then run the upload script and it sends back whatever has been modified.&lt;/p&gt;&lt;p&gt;Very handy when you're doing a lot of work on a site... such as when you're trying to perfect your design for your &lt;a href=&quot;http://www.free-conversant.com/patterncontest/about_the_contest.html&quot;&gt;next entry in the patterns contest&lt;/a&gt;!&lt;/p&gt;</description>	</item><item>	<title>Conversant Patterns Contest is Live!</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5466/trackback</trackback:ping>	<link>http://www.truerwords.net/5466</link>	<pubDate>Mon, 10 Apr 2006 14:27:08 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5466</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5466#msg5466</comments>	<category>News</category>	<category>Customers</category>	<category>Macrobyte</category>	<category>Technology</category>	<category>Conversant</category>	<category>Web Sites</category>	<category>XML</category>	<description>&lt;p&gt;At long last, the &lt;a href=&quot;http://www.free-conversant.com/patterncontest/&quot;&gt;Conversant patterns contest&lt;/a&gt; is live!&lt;/p&gt;&lt;p&gt;Prizes include a 60 GB video iPod with a $50 iTunes gift certificate, a 30 GB iPod, and one year of Macrobyte's &quot;Domain Hosting&quot; package!&lt;/p&gt;&lt;p&gt;This contest was originally the idea of &lt;a href=&quot;http://www.terryfrazier.com/weblog/&quot;&gt;Terry Frazier&lt;/a&gt;. Terry, &lt;a href=&quot;http://www.wakingupcosts.net/&quot;&gt;Clark Venable&lt;/a&gt;, and &lt;a href=&quot;http://macrobyte.net/&quot; title=&quot;Macrobyte Resources, my company.&quot;&gt;Macrobyte&lt;/a&gt; are the sponsors.&lt;/p&gt;&lt;p&gt;We've been planning this for months. :-)&lt;/p&gt;</description>	</item><item>	<title>Dave Winer is Going Offline</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5445/trackback</trackback:ping>	<link>http://www.truerwords.net/5445</link>	<pubDate>Thu, 30 Mar 2006 20:48:52 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5445</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5445#msg5445</comments>	<category>News</category>	<category>People</category>	<category>Technology</category>	<category>Web Sites</category>	<description>&lt;p&gt;&lt;a href=&quot;http://www.scripting.com/2006/03/12.html#When:11:03:06AM&quot;&gt;Dave said that he's going to stop&lt;/a&gt; publishing &lt;a href=&quot;http://scripting.com/&quot;&gt;Scripting News&lt;/a&gt; later this year. (He's mentioned it a couple times since then, too.)&lt;/p&gt;&lt;p&gt;Today it occurred to me that his 10th (?) anniversary is coming up on April 1st. If he really is going to stop -- and I think he might -- then that seems a likely target date, does it not?&lt;/p&gt;</description>	</item><item>	<title>New Designs Needed</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5439/trackback</trackback:ping>	<link>http://www.truerwords.net/5439</link>	<pubDate>Tue, 28 Mar 2006 19:52:31 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5439</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5439#msg5439</comments>	<category>Technology</category>	<category>Web Sites</category>	<description>&lt;p&gt;All of my web sites (&lt;a href=&quot;http://macrobyte.net/&quot;&gt;Macrobyte&lt;/a&gt;, &lt;a href=&quot;http://www.truerwords.net/&quot;&gt;TruerWords&lt;/a&gt;, &lt;a href=&quot;http://www.free-conversant.com/&quot;&gt;Free-Conversant&lt;/a&gt;, etc.) are in desperate need of new designs and some TLC.&lt;/p&gt;&lt;p&gt;First, I need my health back. Then I need to be cloned, twice. Then, finaly, I can start working on a re-design. Or I could just put off something more important. We'll see.&lt;/p&gt;</description>	</item><item>	<title>Google Wants to *Be* the Web</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5403/trackback</trackback:ping>	<link>http://www.truerwords.net/5403</link>	<pubDate>Wed, 08 Mar 2006 16:40:47 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5403</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5403#msg5403</comments>	<category>Technology</category>	<category>DHTML / AJAX</category>	<category>Web Sites</category>	<description>&lt;p&gt;Google is working on an &lt;a href=&quot;http://www.techcrunch.com/2006/03/08/exclusive-screenshots-google-calendar/&gt;&quot;&gt;impressive new calendarsystem&lt;/a&gt;that's going to integrate tightly with Gmail.&lt;/p&gt;&lt;p&gt;This really bothers me. I told &lt;a href=&quot;http://greg.agiletortoise.com/&quot; title=&quot;Greg Pierce&quot;&gt;Greg&lt;/a&gt; that Google wants to *be* the web.They're clearly working hard to prove that the web is the next operatingsystem, and they're working in areas that let them slide right underMicrosoft's soft underbelly. (With Gmail + a good calendar system, theyhave very strong competition for Outlook.)&lt;/p&gt;&lt;p&gt;I wrote to someone at my ISP who's doing a big, online calendaring system.He showed it to me a month ago... it's a community events calendar, notreally a personal calendaring system at all, but I still thought he shouldknow about what Google's up to.&lt;/p&gt;&lt;p&gt;His reaction? &quot;Google is poised to take over the Internet.&quot;&lt;/p&gt;&lt;p&gt;My problem is that they're leaving so little room for everybody else. Itseems that no matter what part of the web you specialize in, Google haseither announced or is about to announce something significant. Thatthey're doing it all at once is what makes me nuts, though: a small team ofdevelopers can compete effectively with Google's equivalent application,but it's almost impossible for anybody to compete with the integration theyhave planned for all of the tools.&lt;/p&gt;&lt;p&gt;Never thought that someone working on a very cool new web application (thatI don't compete with at all) would feed me such a big plate of sourgrapes... but it did.&lt;/p&gt;</description>	</item><item>	<title>Mike Black's New Design, Kiwi</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5384/trackback</trackback:ping>	<link>http://www.truerwords.net/5384</link>	<pubDate>Mon, 27 Feb 2006 21:28:53 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5384</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5384#msg5384</comments>	<category>Technology</category>	<category>Conversant</category>	<category>Web Sites</category>	<description>&lt;p&gt;I've spent some time over the last week helping &lt;a href=&quot;http://www.mindspill.org/&quot;&gt;MikeBlack&lt;/a&gt; with questions about various partsof Conversant. He already had a very pretty site, but he's started overfrom scratch to create not just a prettier site, but one which really makesuse of a lot of Conversant's features. &lt;a href=&quot;http://www.mindspill.org/&quot;&gt;Check itout&lt;/a&gt;, and don't miss the Technology and Travellinks at the top of the page.&lt;/p&gt;&lt;p&gt;Even better is that he's maintaining &lt;a href=&quot;http://www.mindspill.org/kiwiThread$msgNum=423&quot;&gt;a new pattern file calledKiwi&lt;/a&gt;, based on his newdesign. He even includes documentation in PDF form!&lt;/p&gt;</description>	</item><item>	<title>Good Work, Shot Down</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5383/trackback</trackback:ping>	<link>http://www.truerwords.net/5383</link>	<pubDate>Fri, 24 Feb 2006 03:55:13 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5383</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5383#msg5383</comments>	<category>News</category>	<category>Customers</category>	<category>Technology</category>	<category>DHTML / AJAX</category>	<category>Web Sites</category>	<description>&lt;p&gt;I did some very cool UI work for a client today, to revamp an old project. Nothing complicated or confusing, just some clever and simple dhtml bling to keep a page clean but still highlight the important elements.&lt;/p&gt;&lt;p&gt;Jed saw what I was doing, and raved about how cool it was, that &amp;quot;more sites should do stuff like that... it was so easy!&amp;quot;&lt;/p&gt;&lt;p&gt;The client shot it down. Said it was &amp;quot;too much like flash&amp;quot;, and in his opinion, &amp;quot;flash is the worst thing to ever hit the internet.&amp;quot;&lt;/p&gt;&lt;p&gt;I was *very* happy with the approach I used, and it sparked some more ideas for experimentation. Not a total loss.&lt;/p&gt;</description>	</item><item>	<title>Update on the Email Conundrum</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5367/trackback</trackback:ping>	<link>http://www.truerwords.net/5367</link>	<pubDate>Fri, 10 Feb 2006 19:58:52 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5367</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5359#msg5367</comments>	<category>Customers</category>	<category>Macrobyte</category>	<category>Business</category>	<category>Technology</category>	<category>Email</category>	<category>Web Sites</category>	<description>&lt;p&gt;The email conundrum gets weirderer and weirderer.&lt;/p&gt;&lt;p&gt;First, a little more background. I should have pointed out from thebeginning that this contractor (XXX) has been working with the client forawhile. More than a year. Initially, he took over the management of theirConversant sites. We spoke a number of times on the Conversant support siteand in private email. Personable guy (though he sees the world throughWindows-colored glasses).&lt;/p&gt;&lt;p&gt;Now, here's the additional weirdness, the 'further evidence' I mentioned alittle while ago.&lt;/p&gt;&lt;p&gt;The client had asked me for some additional services before shutting downtheir site. XXX was cc'ed on that request. I responded in the affirmative,and also cc'ed XXX.&lt;/p&gt;&lt;p&gt;On February 7th, after the work was done, I sent a message to the client tolet him know the work was done and what I was charging. I have the originalemail in front of me right now: it was sent ONLY and SOLELY to the client.There's only one 'To:' address, and there are no CC or BCC addresses.&lt;/p&gt;&lt;p&gt;The client didn't respond. The charges were only a couple hundred dollars,which I knew wasn't a problem. 28 hours later, I resent the same email,again only to him.&lt;/p&gt;&lt;p&gt;On the 9th (yesterday), when I still hadn't received a response, I wrote toXXX. Here's what I said (note that BBBB is my replacement for the client'sname, just like XXX for the contractor):&lt;/p&gt;&lt;pre class=&quot;dgQuote1&quot;&gt;	&gt;XXX,	&gt;	&gt;I have been completely unable to contact BBBB. All of my email to him	&gt;just seems to vanish into the ether. I never get any bounces, but he	&gt;doesn't seem to receive my messages, either. (I've actually wondered	&gt;if they're being intercepted.)	&gt;	&gt;Could you please have him call me tomorrow, towards the end of his	&gt;work day? I just want to put the charges through for [SNIPped for privacy]	&gt;	&gt;I'm in the US (guess you knew that), at 860-572-0244.&lt;/pre&gt;&lt;p&gt;He wrote back and said that he would call the client to have them call oremail me. They didn't. So, I wrote to him again to see if he knew why.&lt;/p&gt;&lt;p&gt;His response is where things turn weird again:&lt;/p&gt;&lt;pre class=&quot;dgQuote1&quot;&gt;	&gt;Sorry, Seth it's not a conspiracy - just me.  Today was hell and I	&gt;forgot they take Friday afternoons off (lucky folk).	&gt;	&gt;I HAVE sent them an email and am sure they will contact you Monday.	&gt;	&gt;I had already told BBBB what your charges were and he accepted them.&lt;/pre&gt;&lt;p&gt;OK, so he didn't call them, and it was too late by the time I reminded him.What about that last sentence, though?&lt;/p&gt;&lt;p&gt;This is ridiculous.&lt;/p&gt;&lt;p&gt;I wrote to ask him how he knows what my charges are, but have not receivedany response.&lt;/p&gt;&lt;p&gt;If the contractor was a talented individual who (I believed) really wantedwhat's best for the client, there would be no issue here. Instead (warning:assumption alert) this looks more and more like amore-technically-knowledgeable-than-the-client HACK who has taken theclient hostage and they don't even know it.&lt;/p&gt;&lt;p&gt;Maybe I'm wrong and nothing shady is happening. I haven't yet come up withany realistic alternatives, but I guess it's possible.&lt;/p&gt;&lt;p&gt;Mystified in Mystic&lt;/p&gt;</description>	</item><item>	<title>An Odd Situation, an Email Conundrum</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5359/trackback</trackback:ping>	<link>http://www.truerwords.net/5359</link>	<pubDate>Fri, 10 Feb 2006 00:09:26 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5359</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5359#msg5359</comments>	<category>Customers</category>	<category>Macrobyte</category>	<category>Business</category>	<category>Technology</category>	<category>Email</category>	<category>Web Sites</category>	<description>&lt;p&gt;One of Macrobyte's long-time hosting clients wrote to me a couple of weeksago to say that, after almost five years, they're moving to a new platform.They contracted someone about a year ago to handle their technical needs,and he has developed a completely new site for them in ASP. This contractorconvinced them that their sites needed to be redone from scratch.&lt;/p&gt;&lt;p&gt;Eh, whatever, these things happen sometimes. They professed to be extremelyhappy with our service, but their contractor really felt that this othertechnology was more appropriate for their needs. Here's a slightly modified(to omit names) excerpt of my response:&lt;/p&gt;&lt;blockquote type=&quot;cite&quot;&gt;	My guess is that, in the end, the real answer will simply be that	XXX was more familiar with the other system. That's often the real	reason web sites are moved from one platform to another.&lt;/blockquote&gt;&lt;p&gt;If that sounds harsh, it wasn't. I was politely asking if they would mindexplaining the decision a little more fully. If there's something Macrobytecould have offered, but didn't, I'd like to rectify the situation for thenext client. Still, as you can see, I had my suspicions.&lt;/p&gt;&lt;p&gt;I still have that email. It was only sent directly to the client who wroteto me. The contractor -- who had already taken over all hostingresponsibilities for this client, including email and web -- was not cc'dor bcc'd.&lt;/p&gt;&lt;p style=&quot;font-weight: bold; font-style: italic;&quot;&gt;This is where things start to go weird.&lt;/p&gt;&lt;p&gt;Three hours after I sent that email, I received a response from the 'newguy'. He cc'ed the client, and confirmed that yes, in fact, the move hadmore to do with familiarity with the other system than with technicalreasons.&lt;/p&gt;&lt;p&gt;Another three hours later, and the client responds to the email from the'new guy'. Here's the first paragraph of his email (anonymized, again):&lt;/p&gt;&lt;blockquote type=&quot;cite&quot;&gt;	I have read your email to me at the end of XXX's email.for some reason	I haven't received the email direct.&lt;/blockquote&gt;&lt;p&gt;So... he never received my private email, but somehow the new contrator andhosting service both received and responded to it.&lt;/p&gt;&lt;p&gt;If the client didn't receive it, then he couldn't have forwarded it to thenew guy. Note that we're only talking about a matter of hours, here, notdays. He didn't simply forget.&lt;/p&gt;&lt;p&gt;I believe all of these facts to be completely correct. With that, I canonly come to one conclusion, but I'd like some other opinions. Maybethere's some answer to this which I haven't considered.&lt;/p&gt;&lt;p&gt;Let's leave it there for now. Comments greatly appreciated!&lt;/p&gt;</description>	</item><item>	<title>One of Apple's Chosen!</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5354/trackback</trackback:ping>	<link>http://www.truerwords.net/5354</link>	<pubDate>Tue, 07 Feb 2006 17:56:15 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5354</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5354#msg5354</comments>	<category>Technology</category>	<category>Programming</category>	<category>Web Sites</category>	<description>&lt;p&gt;Now I feel really &lt;i&gt;special&lt;/i&gt;. (I guess Dave was wrong about us,&lt;a href=&quot;http://houseofwarwick.com/index.html#hiatus&quot; title=&quot;Yes I do mean 'us'!&quot;&gt;Steve&lt;/a&gt;. ;-)&lt;/p&gt;&lt;p&gt;Apple recently (last week or the week before) sent out invitations to ADCmembers to participate in an online survey regarding the &lt;a href=&quot;http://develope.apple.com/&quot;&gt;Apple DeveloperCenter&lt;/a&gt;. A handful of those who filledout the survey would then be asked to take part in an 'online focus group'to help improve the dev center.&lt;/p&gt;&lt;p&gt;To my pleasant surprise, I received the invitation this afternoon. It evenpays a little for my time.&lt;/p&gt;</description>	</item><item>	<title>Patterns</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5309/trackback</trackback:ping>	<link>http://www.truerwords.net/5309</link>	<pubDate>Mon, 16 Jan 2006 19:43:38 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5309</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5309#msg5309</comments>	<category>Technology</category>	<category>Conversant</category>	<category>Web Sites</category>	<description>&lt;p&gt;Conversant's patterns system is finally being &lt;a href=&quot;http://support.free-conversant.com/discussionThread$msgNum=8296#msg8296&quot;&gt;tested and talkedabout&lt;/a&gt;as I hoped it would have been last year.&lt;/p&gt;&lt;p&gt;(Way better late than never.)&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;This reminds me of something I've known for a long time but sometimesforget. You can't motivate people by asking them to be motivated, and youcan't form or maintain an active community (of any type, online or off) byasking people to share. &lt;/span&gt;&lt;b style=&quot;font-style: italic;&quot;&gt;Someone has to lead by example,&lt;/b&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; and thedesired outcome needs to follow naturally.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;In this case, I finally put together some decent pattern files forConversant, and the &lt;a href=&quot;http://support.free-conversant.com/&quot;&gt;support site&lt;/a&gt;-- Conversant's community center -- has been like a busy little beehive allweekend. Very cool!&lt;/p&gt;</description>	</item><item>	<title>JavaScript Initializers: Using onload with Lots of Init Functions</title>	<author>seth@macrobyte.net</author>	<dc:creator>Seth Dillingham</dc:creator>	<trackback:ping>http://www.truerwords.net/5245/trackback</trackback:ping>	<link>http://www.truerwords.net/5245</link>	<pubDate>Mon, 12 Dec 2005 19:14:23 GMT</pubDate>	<guid isPermaLink="true">http://www.truerwords.net/5245</guid>	<comments>http://www.truerwords.net/fullThread$msgNum=5245#msg5245</comments>	<category>Technology</category>	<category>DHTML / AJAX</category>	<category>Web Sites</category>	<description>&lt;p&gt;Ever tried to use more than one javascript library in a web page, andboth libraries tell you to initialize them with the body's onload handler?For example, you're using two libraries: foo and bar. Both need to be'started' when the page is done loading, because they both operate on thecontents of the page and require that everything be loaded. How would youdo it?&lt;/p&gt;&lt;p&gt;I've been using the same approach for years, and it works well... in fact,it seems so obvious that I'm alwyas surprised to find things like this inother people's pages:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;body onload=&amp;quot;foo.init(); bar.init(); bat.init();&amp;quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;::shrug:: I guess that's ok for sites that aren't template-based, or thosewhich really do need the same libraries on every page. Otherwise that'sjust a big hassle. What would you do in a template-based site (which is*most* sites, these days) where you don't need all of those libraries onevery page? Create multiple templates, where the only difference is theonload attribute of the body tag? Yuck.&lt;/p&gt;&lt;p&gt;That's not just true for libraries, of course. I manage a number of siteswith one-off web applications on a particular page. (One of the sites has acustom, browser-based RSS aggregator. Another is a site that gatherspress-releases, and makes it super easy to clean them up and post them toanother weblog. Both sites need to initialize a bunch of js objects whenthe page is done loading... putting it all in the onload handler would beridiculous.&lt;/p&gt;&lt;p&gt;Here's how I handle this, generally. First the body tag:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;body onload=&amp;quot;try { init(); } catch ( e ) { initFailed( e ); }&amp;quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Along with that, the &amp;lt;head&amp;gt; area loads a script (usually calledbase.js, not that it matters) which provides basic services, objects, andprototype extensions that I use all the time. The relevant part of thisjavascript file looks like this:&lt;/p&gt;&lt;pre&gt;&lt;code&gt; var initScripts = Array();&lt;br /&gt; &lt;br /&gt; &lt;span class=&quot;codeComment&quot;&gt;// not needed if using prototype or some other libs&lt;/span&gt; if ( !Array.prototype.push ) {     Array.prototype.push = function()     {         var startLength = this.length;         var i;                  for ( i = 0; i &amp;lt; arguments.length; i++ )         {             this[ startLength + i ] = arguments[ i ];         }                  return this.length;     } }  function init() {     var i;          for ( i = 0; i &amp;lt; initScripts.length; i++ )     {         initScripts[ i ]();     } }  ...  &lt;span class=&quot;codeComment&quot;&gt;// initialize an object via an anonymous function&lt;/span&gt; initScripts.push( function() { foo.init() } );  ...  &lt;span class=&quot;codeComment&quot;&gt;// add initialization functions directly, if there are any&lt;/span&gt; initScripts.push( initFunction ); initScripts.push( anotherInit );  ...  &lt;span class=&quot;codeComment&quot;&gt;// can also do anonymous initializers&lt;/span&gt; initScripts.push( function() {     // do something here ... } );&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;As long as my base.js file is loaded first (or at least, before anythingthat needs it), those calls to initScripts.push() can be added to anyjavascript file, or even put in script elements in your html (which isn't agood idea, but sometimes it's a good way to test something).&lt;/p&gt;&lt;p&gt;So, first the initScripts array is initialized. Then we make sure thatarrays have a 'push' method, for appending items to the end of the array.(Modern browsers already have it, but older browsers won't.) Then theinit() function is defined. Finally, functions are added to the initScriptsarray.&lt;/p&gt;&lt;p&gt;When the page is done loading, the browser calls the body tag's onload()handler. This triggers the init() script, when runs each of the functionsin the initScripts array, in turn.&lt;/p&gt;&lt;p&gt;This also provided a centralized way to handle debugging: if one of yourscripts is causing you trouble, but you're not sure which one, you can putan alert() (or set the window's status bar) to show which function isrunning.&lt;/p&gt;&lt;p&gt;Probably not the most advanced solution out there, but it's a good one.Like I said, it's been working for me for years, and on some very complexpages which make heavy use of DHTML (er, sorry, I mean AJAX).&lt;/p&gt;</description>	</item>	</channel></rss>