<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-396730</id><updated>2011-10-23T09:35:40.291-05:00</updated><category term='dojo workish'/><category term='dojo'/><category term='javascript'/><category term='regexp workish'/><category term='javascript air'/><category term='javascript rhino'/><category term='testing UI dojo workish javascript'/><category term='play'/><category term='workish dojo air testing'/><category term='BarCampLeeds08 adobeair dojo workish'/><category term='osx'/><category term='rhino'/><category term='workish'/><title type='text'>Sam Foster, Web Dev.</title><subtitle type='html'>Infrequent thoughts on web development and similar</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default?start-index=101&amp;max-results=100'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>163</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-396730.post-2097743024933865579</id><published>2009-04-09T04:01:00.002-05:00</published><updated>2009-04-09T04:23:00.583-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='workish dojo air testing'/><title type='text'>AIR command line arguments</title><summary type='text'>I've been working on the next release of the Dojo Toolbox - which is an Adobe AIR app, using the Dojo Toolkit. I'm taking a TDD kind of approach to get on a better footing for evolving this thing, and needed a quick way to run a particular set of unit tests.

I wanted to be able to do something like this: 
$ adl runTests.xml testModule=toolbox.tests.SomeThing

Getting command line arguments in </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/2097743024933865579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=2097743024933865579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/2097743024933865579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/2097743024933865579'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2009/04/air-command-line-arguments.html' title='AIR command line arguments'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-8479403736592008609</id><published>2009-02-27T17:05:00.002-06:00</published><updated>2009-02-27T17:15:02.347-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript rhino'/><title type='text'>A rhino prompt</title><summary type='text'>I'm tinkering with another ill-conceived friday night project that may or may not see the light of day. But in the meantime, I just put together this little snippet that illustrates a lot of what's to like about rhino: 

var getInput = function() {
 var br = new java.io.BufferedReader(
  new java.io.InputStreamReader(java.lang.System["in"])
 );
    return br.readLine();
};

var greetUser = </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/8479403736592008609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=8479403736592008609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/8479403736592008609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/8479403736592008609'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2009/02/rhino-prompt.html' title='A rhino prompt'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-5357904816512927772</id><published>2009-01-08T15:28:00.004-06:00</published><updated>2009-02-17T05:38:59.174-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='osx'/><category scheme='http://www.blogger.com/atom/ns#' term='rhino'/><title type='text'>Setting up Rhino</title><summary type='text'>I've been using the Rhino engine more and more to run command-line scripts, fiddle and try things out. But my setup has taken shape slowly, and it wasn't much fun to be honest when I first got started. 

I'm on a mac (Leopard), and here's how I've got it now: 


Download the Rhino .jar file, you'll find it inside the latest (binary) release. 

Drop it in your {user}/Library/java/Extensions folder</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/5357904816512927772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=5357904816512927772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/5357904816512927772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/5357904816512927772'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2009/01/setting-up-rhino.html' title='Setting up Rhino'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-6538263946869165511</id><published>2008-12-08T04:47:00.002-06:00</published><updated>2008-12-08T06:06:29.394-06:00</updated><title type='text'>Barcamp Liverpool</title><summary type='text'>I took in the first day of BarCamp Liverpool. It was Liverpool's first, and my second, and went off well I thought. I learnt some things, saw some new and familiar stuff and felt it was time extremely well spent. It was great to see people coming out of the woodwork and talking about what they are doing.  

There was much talk of iPhone apps, and the economic opportunities (or not) that presents </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/6538263946869165511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=6538263946869165511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/6538263946869165511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/6538263946869165511'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2008/12/barcamp-liverpool.html' title='Barcamp Liverpool'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-5210050637771187117</id><published>2008-11-06T17:06:00.003-06:00</published><updated>2008-11-07T05:30:24.164-06:00</updated><title type='text'>String repetition in javascript</title><summary type='text'>This is about a little snippet I came up with the other month, while a colleague and I were talking about string building and its performance in javascript. I was looking for a neat way to front-pad or indent a string, and missing the x operator in perl.

It turns out there is a succinct, one-line idiom:
var indent = new Array(10).join(" ")

That gets you a 9-spaces-long string. Using the formal </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/5210050637771187117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=5210050637771187117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/5210050637771187117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/5210050637771187117'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2008/11/string-repetition-in-javascript.html' title='String repetition in javascript'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-8443817861744719240</id><published>2008-08-16T17:41:00.004-05:00</published><updated>2008-08-19T04:11:07.209-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BarCampLeeds08 adobeair dojo workish'/><title type='text'>BarCampLeeds 08</title><summary type='text'>What a day. Who knew that Leeds was this nascent tech hub. I had a hunch of course (and followed it by moving back here), but there's enery and talent oozing out the edges here, and its surely only a matter of time before it reaches critical mass and becomes a real tech ecosystem. 

What'd I learn? I started the day with an into to geocaching. Which I'd of course heard of, but somehow had lumped </summary><link rel='related' href='http://www.barcampleeds.com/' title='BarCampLeeds 08'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/8443817861744719240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=8443817861744719240' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/8443817861744719240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/8443817861744719240'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2008/08/barcampleeds-08.html' title='BarCampLeeds 08'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-1894098019425452325</id><published>2008-08-12T04:51:00.003-05:00</published><updated>2008-08-12T05:12:03.893-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='testing UI dojo workish javascript'/><title type='text'>doh.robot</title><summary type='text'>New automated UI testing goodies just landed in dojo, and I'm moved to blog about them.  Getting test coverage of the messy stuff - user interactions, mouse-movement, clicks, drags - has always been an achiles heel of testing web UIs. Any kind of automated testing is better than none (provided you are testing the right things and keeping a good testing/developing balance), but for UI testing so </summary><link rel='related' href='http://dojotoolkit.org/2008/08/11/doh-robot-automating-web-ui-unit-tests-real-user-events' title='doh.robot'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/1894098019425452325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=1894098019425452325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/1894098019425452325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/1894098019425452325'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2008/08/dohrobot.html' title='doh.robot'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-6973744421928743266</id><published>2008-03-07T08:31:00.002-06:00</published><updated>2008-03-07T08:50:08.724-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dojo workish'/><title type='text'>dijit.byNode and firebug fun</title><summary type='text'>Here's a little tip if you're working with dojo widgets. In firebug you can select an element in the HTML view. Back in the firebug console, your selected node is available as $1 So, $1.tagName shows you the element name, etc. 

If you've got dojo on your page you can use anything dojo has provided in the console, and if you're using dijit, you also have that stuff too. So, in the HTML view click</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/6973744421928743266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=6973744421928743266' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/6973744421928743266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/6973744421928743266'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2008/03/dijitbynode-and-firebug-fun.html' title='dijit.byNode and firebug fun'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-7097869770505043773</id><published>2008-02-22T23:03:00.006-06:00</published><updated>2008-02-25T22:08:56.897-06:00</updated><title type='text'>Restoring SVN repositories from disk - a story</title><summary type='text'>I recently had to move off a company laptop I'd been using for a while, and (thanks to the flu) didnt have much time to do it. So, I backed up those directories I knew had any personal projects and data in and crossed-fingers I'd be able to get what I needed out of there when the time came.

One of the directories I got housed my subversion respositories (I'd been using the flat-file db option). </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/7097869770505043773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=7097869770505043773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/7097869770505043773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/7097869770505043773'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2008/02/restoring-svn-repositories-from-disk.html' title='Restoring SVN repositories from disk - a story'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-1394018761950592367</id><published>2008-01-15T12:45:00.000-06:00</published><updated>2008-01-15T13:10:59.765-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='workish'/><title type='text'>A Parable</title><summary type='text'>A man was asked to do some renovation on a house. He worked steadily at it for several weeks and finally called his client to come take a look around.

He said, "I was able to keep a lot of the original flooring. I got a good match for the wood and finish where I had to patch and extend the floor. I'm nearly done. I just need to pick up my offcuts and sweep up."

"Oh good" said the client. "So </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/1394018761950592367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=1394018761950592367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/1394018761950592367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/1394018761950592367'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2008/01/parable.html' title='A Parable'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-5729859044270293024</id><published>2008-01-14T16:23:00.000-06:00</published><updated>2008-01-14T16:46:03.593-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dojo workish'/><title type='text'>dijit.Declaration and its mixins</title><summary type='text'>I love the dijit.Declaration widget introduced into the dojo toolkit around version 0.9+. It lets you declare a new widget class inline in your html - which can be very useful, especially when you want the widget templateString to be dynamic output from the server.

Just a little tip - I had been getting a m._findMixin is not a function error when instantiating widgets from my Declaration. If </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/5729859044270293024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=5729859044270293024' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/5729859044270293024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/5729859044270293024'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2008/01/dijitdeclaration-and-its-mixins.html' title='dijit.Declaration and its mixins'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-1124153050077393405</id><published>2007-11-30T11:42:00.000-06:00</published><updated>2007-11-30T11:54:12.812-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='regexp workish'/><title type='text'>Regexp to match only html filenames and directory names</title><summary type='text'>I've been working on a script to create filtered directory tree listings. It can be configured with both include conditions, and exclude conditions. If something passes the include filters, it then checks to see if its explicitly excluded. For example, I want to exclude cgi-bin, but include all other directories and files. 

So its useful to have a good catch-all pattern for including only the </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/1124153050077393405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=1124153050077393405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/1124153050077393405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/1124153050077393405'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2007/11/regexp-to-match-only-html-filenames-and.html' title='Regexp to match only html filenames and directory names'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-7404557467596899193</id><published>2007-11-28T01:47:00.000-06:00</published><updated>2007-11-28T01:52:49.252-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='workish'/><category scheme='http://www.blogger.com/atom/ns#' term='play'/><category scheme='http://www.blogger.com/atom/ns#' term='dojo'/><title type='text'>Simple Clocks with the Dojo Toolkit</title><summary type='text'>Something I was playing with - this page shows a couple of javascript clock/countdown treatments. None are as whizzy as the dojox.gfx (vector graphics) clock you might have seen around, or your various dashboard widgets - but this is just dojo core + 6k (uncompressed) of code.</summary><link rel='related' href='http://sam-i-am.com/work/sandbox/simplClock/test_DojoClock.html' title='Simple Clocks with the Dojo Toolkit'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/7404557467596899193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=7404557467596899193' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/7404557467596899193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/7404557467596899193'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2007/11/simple-clocks-with-dojo-toolkit.html' title='Simple Clocks with the Dojo Toolkit'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-2655276403368988322</id><published>2007-11-27T23:57:00.000-06:00</published><updated>2007-11-28T00:27:32.629-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='workish'/><title type='text'>string.replace with substitution by function</title><summary type='text'>It may or may not be news to you that in Javascript you can do: 
someString.replace(
  /\w+/g, 
  function(match) {
    return "blah"
  }
);
Which in this case turns "the original string" into "blah blah blah". Your function is passed the match, and you return whatever you want. That's pretty handy, as you can run the match through transformations, or even use it to lookup or generate some </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/2655276403368988322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=2655276403368988322' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/2655276403368988322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/2655276403368988322'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2007/11/stringreplace-with-substitution-by.html' title='string.replace with substitution by function'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-3362311160525754039</id><published>2007-10-24T08:25:00.000-05:00</published><updated>2007-10-24T08:46:10.091-05:00</updated><title type='text'>TAE keynote and CSS layout</title><summary type='text'>the Ajaxian folks are doing their little summary of the past year or so as pertains to Ajax. One of the "trends" or opportunities they observe is doing layout using javascript. CSS got a panning. Now I understand that CSS layout is complex - no argument there. But doing layout in javascript is hardly new and proven to be a dead-end - at least with current browsers. In Dojo 0.9 the widget and </summary><link rel='related' href='http://ajaxexperience.techtarget.com/east/' title='TAE keynote and CSS layout'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/3362311160525754039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=3362311160525754039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/3362311160525754039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/3362311160525754039'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2007/10/tae-keynote-and-css-layout.html' title='TAE keynote and CSS layout'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-8203757001964707197</id><published>2007-09-06T20:34:00.000-05:00</published><updated>2007-09-06T20:53:24.126-05:00</updated><title type='text'>Sortable list with dojo 0.9</title><summary type='text'>This is a quick proof of concept of a sortable, data-store backed list (using dojo 0.9). The store  (a dojo.data.ItemFileReadStore instance) does the sorting. Each list-item has an id, that is mapped to the store item identifier. So when the re-sorted list comes back I just look up the list-item node and appendChild it to move it in the list.

The store has 52 items (its a list of states) and </summary><link rel='related' href='http://sam-i-am.com/work/sandbox/dojo0.9/samiam/sortableList.html' title='Sortable list with dojo 0.9'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/8203757001964707197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=8203757001964707197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/8203757001964707197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/8203757001964707197'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2007/09/sortable-list-with-dojo-09.html' title='Sortable list with dojo 0.9'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-2743040805604954402</id><published>2007-07-21T03:12:00.000-05:00</published><updated>2007-07-21T07:56:51.596-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript air'/><title type='text'>Adobe AIR tour</title><summary type='text'>I made a quick trip to Dallas to catch the Adobe AIR bus tour there. You know, it was pretty interesting. I was braced for a 4 hour long vendor sales demo, and it kind of was that, but with enough hands-on detail to keep my attention. Plus, it looks like a sweet product.

A few misunderstandings that got cleared up for me:

AIR is specifically the runtime. Think the .NET runtime - its a </summary><link rel='related' href='http://onair.adobe.com/bus/' title='Adobe AIR tour'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/2743040805604954402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=2743040805604954402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/2743040805604954402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/2743040805604954402'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2007/07/adobe-air-tour.html' title='Adobe AIR tour'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-6209494422817027010</id><published>2007-07-11T15:34:00.000-05:00</published><updated>2007-07-11T15:38:20.461-05:00</updated><title type='text'>Moving your Firefox profile</title><summary type='text'>Little tip. You can easily move your FF profile directory to another local drive/directory e.g. thumb drive, or a backed-up directory. In my case it was to a directory that doesn't have every read/write scanned by anti-virus software. (I can see how this might be prudent and all, but it was making for a very slow browsing experience on my pc.)</summary><link rel='related' href='http://www.mozilla.org/support/firefox/profile' title='Moving your Firefox profile'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/6209494422817027010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=6209494422817027010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/6209494422817027010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/6209494422817027010'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2007/07/moving-your-firefox-profile.html' title='Moving your Firefox profile'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-4835855610844351355</id><published>2007-02-22T08:33:00.000-06:00</published><updated>2007-02-22T08:45:13.415-06:00</updated><title type='text'>RefreshAustin is 1yr Old</title><summary type='text'>I'm prompted to post because almost a year after we disbanded the Austin Web Standards Meetup, and merged with RefreshAustin I'm still getting email from meetup.com with people signing up for future web standards meetups in Austin. Folks, the group is alive and well, we meet at least monthly, but we now fly a "Refresh" banner instead of the web standards meetup one. 

The Refresh format is simple</summary><link rel='related' href='http://refreshaustin.org/' title='RefreshAustin is 1yr Old'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/4835855610844351355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=4835855610844351355' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/4835855610844351355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/4835855610844351355'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2007/02/refreshaustin-is-1yr-old.html' title='RefreshAustin is 1yr Old'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-655192680246971231</id><published>2007-01-12T10:32:00.000-06:00</published><updated>2007-01-12T10:57:11.192-06:00</updated><title type='text'>Terminal funkiness with ActiveState perl</title><summary type='text'>I just finally got on top of an annoyance I've had for a while: on my work machine I use MKS Toolkit - which provides a lot of the common unix tools for developers using windows. It provides its own Perl build, but I've been using ActiveState's for a while, and didnt want to complicate  synchronizing my work across the different machines I use perl on.
An unhappy side-effect of installing MKS </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/655192680246971231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=655192680246971231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/655192680246971231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/655192680246971231'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2007/01/terminal-funkiness-with-activestate.html' title='Terminal funkiness with ActiveState perl'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-116129273001449461</id><published>2006-10-19T16:11:00.000-05:00</published><updated>2006-12-06T01:41:06.226-06:00</updated><title type='text'>Javascript shell with Rhino</title><summary type='text'>The Rhino javascript interpreter (from Mozilla, sister to SpiderMonkey) has an interactive mode:

C:\dojo\buildscripts&gt;java -jar lib/js.jar
Rhino 1.5 release 3 2002 01 27
js&gt; print('boo');
boo
js&gt;

The Rhino jar is a part of the dojo distribution, so if you've got dojo (from SVN, not the pre-built releases) you already have it.
The Scripting Java page from Mozilla has these and other details. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/116129273001449461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=116129273001449461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/116129273001449461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/116129273001449461'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/10/javascript-shell-with-rhino.html' title='Javascript shell with Rhino'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-115714575521775737</id><published>2006-09-01T16:19:00.000-05:00</published><updated>2006-09-01T16:22:35.230-05:00</updated><title type='text'>Soft-wrapping long words</title><summary type='text'>The issue of long, non-breaking words like urls has been around for a while on the web - and the impact this can have on layouts and other places where width is constrained for whatever reason.
 
I've been going back and forth on this, and dug up and old test page on No-wrapping and Soft-wrapping. This has some test cases using &lt;nobr&gt;, &lt;wbr&gt; and the soft-hyphen character &amp;shy;. The results aren't</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/115714575521775737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=115714575521775737' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/115714575521775737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/115714575521775737'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/09/soft-wrapping-long-words.html' title='Soft-wrapping long words'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-115678924977587118</id><published>2006-08-28T13:08:00.000-05:00</published><updated>2006-09-01T16:25:20.776-05:00</updated><title type='text'>Re: Has accessibility been taken too far?</title><summary type='text'>(Jeff Croft posted this provocative article which seemed to tap a common feeling that accessibility is a pain in the ass, strictly optional and web designers should be cut some slack)

If you wade through the slop of the first round of comments to this post, there's actually some reasonable debate that follows. Jeff came out saying he wanted to provoke discussion and (eventually) seems to have </summary><link rel='related' href='http://www2.jeffcroft.com/2006/aug/21/has-accessibility-been-taken-too-far/' title='Re: Has accessibility been taken too far?'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/115678924977587118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=115678924977587118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/115678924977587118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/115678924977587118'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/08/re-has-accessibility-been-taken-too.html' title='Re: Has accessibility been taken too far?'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-115579211145302457</id><published>2006-08-17T00:20:00.000-05:00</published><updated>2006-08-17T00:24:18.113-05:00</updated><title type='text'>"Surveying OS Ajax Toolkits" article on infoworld</title><summary type='text'>This is well worth a read. Unlike most reviews I've seen, this author
obviously spent sometime with each of the libraries he includes -
enough to get a meaningful impression of the strengths and weaknesses.
For me, he's right on the money with Dojo, YUI, Rico, Atlas. I differ
a little on GWT, but in truth it sounds like he spent more time with
it than I did.
Being a dojo guy at present, I think </summary><link rel='related' href='http://www.infoworld.com/article/06/07/31/31FEajax_3.html' title='&quot;Surveying OS Ajax Toolkits&quot; article on infoworld'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/115579211145302457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=115579211145302457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/115579211145302457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/115579211145302457'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/08/surveying-os-ajax-toolkits-article-on.html' title='&quot;Surveying OS Ajax Toolkits&quot; article on infoworld'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-115107352813089369</id><published>2006-06-23T09:33:00.000-05:00</published><updated>2006-06-23T10:20:35.876-05:00</updated><title type='text'>Krugle - open source code search engine</title><summary type='text'>I bumped into one of Krugle's developers at the Ajax experience conference. Looks like they just came out of beta and are open to the public. This is sweet, I can't emphasize enough how useful this is already proving. 90% of all code (I reckon) is boiler-plate, but by the time you've tracked down an implementation (and possibly ported it to your language of choice) its easier (say, 75% of the </summary><link rel='related' href='http://www.krugle.com' title='Krugle - open source code search engine'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/115107352813089369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=115107352813089369' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/115107352813089369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/115107352813089369'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/06/krugle-open-source-code-search-engine.html' title='Krugle - open source code search engine'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-114779215173902285</id><published>2006-05-16T10:00:00.000-05:00</published><updated>2006-05-16T10:21:00.326-05:00</updated><title type='text'>Javascript conflicts and portlet namespaces</title><summary type='text'>First - javascript doesn't actually have "namespaces". But the idea is there - unless functions, objects and variables are designated otherwise, they exist in the global scope - properties of the window object. In a portal - where portlets might want to include script libraries to facilitate interaction within the portlet - there's a risk of conflicts with objects using the same name being </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/114779215173902285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=114779215173902285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114779215173902285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114779215173902285'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/05/javascript-conflicts-and-portlet.html' title='Javascript conflicts and portlet namespaces'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-114610347112406250</id><published>2006-04-26T20:50:00.000-05:00</published><updated>2006-04-26T23:06:32.876-05:00</updated><title type='text'>Playing nice with others in javascript</title><summary type='text'>Andrew Dupont has written a very interesting article on Prototype, and the recent $() extensions that allow things like $(someelement).hide() and so on.

This is actually a really nice solution. It's syntactical sugar without actually extending the element itself. Andrew argues that as an object oriented language, its reasonable to want to be able to extend objects like HTMLElement in javascript.</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/114610347112406250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=114610347112406250' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114610347112406250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114610347112406250'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/04/playing-nice-with-others-in-javascript.html' title='Playing nice with others in javascript'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-114591042147251111</id><published>2006-04-24T14:50:00.000-05:00</published><updated>2006-04-24T15:27:01.530-05:00</updated><title type='text'>WCAG 2.0 (as compared to section 508)</title><summary type='text'>I've been really impressed with the WCAG 2.0 guidelines. This is a big improvement in the way the guidelines are presented and worded that I think will make adoption much much more likely. This here page answers the inevitable question: how does WCAG 2.0 line up against section 508? On one hand it adds specifics and details: sucess criteria and techniques for achieving success. On the other WCAG </summary><link rel='related' href='http://www.jimthatcher.com/508wcag2.htm' title='WCAG 2.0 (as compared to section 508)'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/114591042147251111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=114591042147251111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114591042147251111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114591042147251111'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/04/wcag-20-as-compared-to-section-508.html' title='WCAG 2.0 (as compared to section 508)'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-114558444364385697</id><published>2006-04-20T20:45:00.000-05:00</published><updated>2006-04-20T20:54:03.656-05:00</updated><title type='text'>Accessible maps at ALA</title><summary type='text'>This is a nice write-up of making a point-map (a map with information relating to points on that map) in a semantic and accessible manner. I read a lot of articles, and rarely feel compelled to blog them. I was impressed with this one though. It doesnt shy from diggging right into the details, and does an admirable job of working through some complexity to present a real, viable solution. So many</summary><link rel='related' href='http://www.alistapart.com/articles/cssmaps' title='Accessible maps at ALA'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/114558444364385697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=114558444364385697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114558444364385697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114558444364385697'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/04/accessible-maps-at-ala.html' title='Accessible maps at ALA'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-114194780844747833</id><published>2006-03-09T17:40:00.000-06:00</published><updated>2006-03-09T17:43:28.456-06:00</updated><title type='text'>Object vs. View-centric apps (RoR vs. PHP)</title><summary type='text'>This post starts out as an account of trying out PHP and Ruby on Rails to build a simple app, and comparing the experience. The thread builds though into an interesting discussion of differing approaches to web application development, and differing needs from the framework you use.</summary><link rel='related' href='http://www.megginson.com/blogs/quoderat/archives/2005/06/11/rails-vs-php-mvc-or-view-centric/' title='Object vs. View-centric apps (RoR vs. PHP)'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/114194780844747833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=114194780844747833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114194780844747833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114194780844747833'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/03/object-vs-view-centric-apps-ror-vs-php.html' title='Object vs. View-centric apps (RoR vs. PHP)'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-114013558744637030</id><published>2006-02-16T18:17:00.000-06:00</published><updated>2006-02-16T18:19:47.460-06:00</updated><title type='text'>Drupal recipes for a simple site</title><summary type='text'>This is a great thread that invites suggestions on how to build a simple "brochure" kind of site with Drupal - in the interest of getting people started quicker with Drupal. In amongst the meta-babble, there's some clear walkthroughs of how to achieve the goal - this is just the kind of stuff that's had me stumped these last 48 hours.</summary><link rel='related' href='http://drupal.org/node/31896' title='Drupal recipes for a simple site'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/114013558744637030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=114013558744637030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114013558744637030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/114013558744637030'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/02/drupal-recipes-for-simple-site.html' title='Drupal recipes for a simple site'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-113820243735618132</id><published>2006-01-25T09:16:00.000-06:00</published><updated>2006-01-25T09:20:37.356-06:00</updated><title type='text'>Charles HTTP Proxy</title><summary type='text'>Java (cross-platform) HTTP/S proxy for debugging and working with HTTP sessions. At first glance it looks to compare favorably with Fiddler in some aspects. It will do throttling for low-bandwidth emulation, act as a reverse-proxy, and has various reporting/monitoring possibilities. Shareware - giving it a whirl.</summary><link rel='related' href='http://www.xk72.com/charles/' title='Charles HTTP Proxy'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/113820243735618132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=113820243735618132' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113820243735618132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113820243735618132'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/01/charles-http-proxy.html' title='Charles HTTP Proxy'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-113820214560785835</id><published>2006-01-25T09:15:00.000-06:00</published><updated>2006-01-25T09:15:45.620-06:00</updated><title type='text'>Keeping Up With The Ajax Trend</title><summary type='text'>This article pulls some handy resources together into one place.</summary><link rel='related' href='http://www.developer.com/services/article.php/3562876' title='Keeping Up With The Ajax Trend'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/113820214560785835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=113820214560785835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113820214560785835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113820214560785835'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2006/01/keeping-up-with-ajax-trend.html' title='Keeping Up With The Ajax Trend'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-113328053454678703</id><published>2005-11-29T09:48:00.000-06:00</published><updated>2005-11-29T10:08:54.556-06:00</updated><title type='text'>Call for help from a stranded Homesite user</title><summary type='text'>Homesite - from Nick Bradbury, then Allaire, now Macromedia - has been my primary tool of the trade for oh many many years now. But its stalled out since Macromedia bought Allaire and starting to show its age. TopStyle Pro, Bradbury's latest offering looks great, and is hard to beat as a CSS editor, but CSS is only a part of what I do, and I'm not going to switch editor continually. It falls far </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/113328053454678703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=113328053454678703' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113328053454678703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113328053454678703'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/11/call-for-help-from-stranded-homesite.html' title='Call for help from a stranded Homesite user'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-113319764560989143</id><published>2005-11-28T11:07:00.000-06:00</published><updated>2005-11-28T11:08:04.803-06:00</updated><title type='text'>JAH demo</title><summary type='text'>Buried beneath the layers in any ajax framework is a simple concept: use the XMLHTTPRequest object to fetch html, and replace an element's innerHTML with the response. This is a simple demo of just that, and as good an on-ramp to learning the ajax way as I've come across.</summary><link rel='related' href='http://homepage.mac.com/kevinmarks/staticjah.html' title='JAH demo'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/113319764560989143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=113319764560989143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113319764560989143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113319764560989143'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/11/jah-demo.html' title='JAH demo'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-113148265941098688</id><published>2005-11-08T14:44:00.000-06:00</published><updated>2005-11-13T16:10:26.423-06:00</updated><title type='text'>Jad - the fast Java decompiler</title><summary type='text'>Bacon-saver. This just did a beautiful job of decompiling some .class files whose source I accidently deleted.</summary><link rel='related' href='http://www.kpdus.com/jad.html' title='Jad - the fast Java decompiler'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/113148265941098688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=113148265941098688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113148265941098688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113148265941098688'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/11/jad-fast-java-decompiler.html' title='Jad - the fast Java decompiler'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-113053345673905862</id><published>2005-10-28T16:04:00.000-05:00</published><updated>2005-11-13T16:11:51.590-06:00</updated><title type='text'>RedHanded? YAML is JSON</title><summary type='text'>Ha! Turns out that JSON can be used as  a practical subset of YAML, so the YAML parser will seamlessly handle JSON (minus the c-style comments that *some* JSON parsers permit).</summary><link rel='related' href='http://redhanded.hobix.com/inspect/yamlIsJson.html' title='RedHanded? YAML is JSON'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/113053345673905862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=113053345673905862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113053345673905862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/113053345673905862'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/10/redhanded-yaml-is-json.html' title='RedHanded? YAML is JSON'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-112995483334379987</id><published>2005-10-21T23:20:00.000-05:00</published><updated>2005-10-21T23:20:33.396-05:00</updated><title type='text'>Multiple Inheritance::f(m) ECMAScript Base Class Library</title><summary type='text'>Very clearly written article on implementing a sort-of interface in javascript - so an object can support more than one interface (and an interface can be applied to more than one class)</summary><link rel='related' href='http://fm.dept-z.com/index.asp?get=/Resources/OOP_with_ECMAScript/Multiple_Inheritance' title='Multiple Inheritance::f(m) ECMAScript Base Class Library'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/112995483334379987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=112995483334379987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112995483334379987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112995483334379987'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/10/multiple-inheritancefm-ecmascript-base.html' title='Multiple Inheritance::f(m) ECMAScript Base Class Library'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-112796243902022651</id><published>2005-09-28T21:53:00.000-05:00</published><updated>2005-09-28T21:53:59.076-05:00</updated><title type='text'>Learning the Venkman JavaScript debugger </title><summary type='text'>Right on the mark - as the author points out "most people who program Javascript are not programmers" so there's some general debugger concepts introduced, as well as a deeper dive into Venkman's capabilities and limitations. </summary><link rel='related' href='http://www.svendtofte.com/code/learning_venkman/' title='Learning the Venkman JavaScript debugger '/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/112796243902022651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=112796243902022651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112796243902022651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112796243902022651'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/09/learning-venkman-javascript-debugger.html' title='Learning the Venkman JavaScript debugger '/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-112662663805713256</id><published>2005-09-13T10:50:00.000-05:00</published><updated>2005-09-13T11:49:29.380-05:00</updated><title type='text'>Accessibility - why can't we all just get along?</title><summary type='text'>This is the transcript from the SXSW panel of the same name earlier this year. Panelists Glenda Sims, James Craig, Derek Featherstone and Ian Lloyd discuss accessibility in web design. Its a verbatim transcription but there's some great points woven into the banter. 

The Umlauf Sculpture site (our entry into AIR Austin 2004) gets a couple of mentions - in the visual descriptions we added and the</summary><link rel='related' href='http://cookiecrook.com/sxsw/2005/panel/' title='Accessibility - why can&apos;t we all just get along?'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/112662663805713256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=112662663805713256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112662663805713256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112662663805713256'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/09/accessibility-why-cant-we-all-just-get.html' title='Accessibility - why can&apos;t we all just get along?'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-112602344683652700</id><published>2005-09-06T11:17:00.000-05:00</published><updated>2005-09-06T11:22:25.366-05:00</updated><title type='text'>wg:Breaking onload limits</title><summary type='text'>Interesting post and comments on the window.onload problem. Everyone seems to be moving in the same direction right now and (re)discovering the same problems. I've build a dependancyManager for a current project that I can use to fire custom "ready" or "loaded" events, by registering functions along with one or more criteria or tests that need to be true before that function is called. It keeps a</summary><link rel='related' href='http://web-graphics.com/mtarchive/001635.php' title='wg:Breaking onload limits'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/112602344683652700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=112602344683652700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112602344683652700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112602344683652700'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/09/wgbreaking-onload-limits.html' title='wg:Breaking onload limits'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-112535088599247635</id><published>2005-08-29T16:28:00.000-05:00</published><updated>2005-08-29T17:10:50.443-05:00</updated><title type='text'>Behavior and Prototype.js extensions</title><summary type='text'>Here's some interesting work extending Prototype.js and Behavio(u)r: Michael Schuerig's JavaScript. He adds immensely useful functionality to Simon Willison's document.getElementsBySelector to support :first-child, child selectors, multiple class names as well as unit tests.</summary><link rel='related' href='http://www.schuerig.de/michael/javascript/' title='Behavior and Prototype.js extensions'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/112535088599247635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=112535088599247635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112535088599247635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112535088599247635'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/08/behavior-and-prototypejs-extensions.html' title='Behavior and Prototype.js extensions'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-112252272148040768</id><published>2005-07-27T22:52:00.000-05:00</published><updated>2005-07-28T22:38:40.986-05:00</updated><title type='text'>AJAX Apps -- Cleaner Connections, Less Bandwidth? Maybe Not.</title><summary type='text'>Port80 software and a blog post on AJAX Apps -- Cleaner Connections, Less Bandwidth? Maybe Not… re-raises some interesting points on the relative server load increase an ajax application might cause vs. the traditional page-by-page web app. Intuitively you might think that the net amount of data transfer would go down as less redundant data is re-sent for each page. But as this post points out, </summary><link rel='related' href='http://www.port80software.com/200ok/archive/2005/04/29/393.aspx' title='AJAX Apps -- Cleaner Connections, Less Bandwidth? Maybe Not.'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/112252272148040768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=112252272148040768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112252272148040768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/112252272148040768'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/07/ajax-apps-cleaner-connections-less.html' title='AJAX Apps -- Cleaner Connections, Less Bandwidth? Maybe Not.'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111868544329256439</id><published>2005-06-13T12:57:00.000-05:00</published><updated>2005-06-14T09:08:16.683-05:00</updated><title type='text'>rahji.com: going from perl to php</title><summary type='text'>Ah, the joy of finding what you need when you need it: rahji.com: going from perl to php</summary><link rel='related' href='http://www.rahji.com/perl2php.html' title='rahji.com: going from perl to php'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111868544329256439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111868544329256439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111868544329256439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111868544329256439'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/06/rahjicom-going-from-perl-to-php.html' title='rahji.com: going from perl to php'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111846721734627465</id><published>2005-06-11T00:20:00.000-05:00</published><updated>2005-06-11T00:23:06.580-05:00</updated><title type='text'>is the DOM ready yet?</title><summary type='text'>This post ( Order of Events @ dean.edwards.name) addresses the need for a better solution than window.onload for DOM scripting. window.onload only fires after *all* the content on a page (including images) has loaded.. which is frequently significantly after the page has appeared in the browser. Mozilla/Firefox apparenly have the little known "DOMContentLoaded" event. Very handy. Windows IE has </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111846721734627465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111846721734627465' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111846721734627465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111846721734627465'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/06/is-dom-ready-yet.html' title='is the DOM ready yet?'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111773682627191392</id><published>2005-06-02T13:27:00.000-05:00</published><updated>2005-06-02T13:30:28.986-05:00</updated><title type='text'>XML.com: Errors and AJAX</title><summary type='text'>Client-side script errors seem to be everywhere, and no-one either knows about them or takes them seriously enough to fix. This article (XML.com: Errors and AJAX) proposes a solution (and supplies js code and a sample perl backend) to catch and send errors back to the server. (Of course one irony is that of all things that can go wrong, an XmlHttpRequest implementation is likely to be up there.) </summary><link rel='related' href='http://www.xml.com/pub/a/2005/05/11/ajax-error.html' title='XML.com: Errors and AJAX'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111773682627191392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111773682627191392' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111773682627191392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111773682627191392'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/06/xmlcom-errors-and-ajax.html' title='XML.com: Errors and AJAX'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111708393275316355</id><published>2005-05-26T00:05:00.000-05:00</published><updated>2006-04-02T09:35:40.890-05:00</updated><title type='text'>Test case for TBODY/THEAD/TFOOT with overflow</title><summary type='text'>I happenned across this test page while looking into scrollable table implementations: HTML Test Suite for UAAG 1.0 (Draft). I demonstrates how it ought to be done: you assign overflow: auto and a fixed height to the table's tbody, and you're done. Sigh.. if only it was that easy. 

The test does work in my Firefox 1.0.3, but then there's the horizontal scrollbar. If you add in a 16px scrollbar, </summary><link rel='related' href='http://www.w3.org/WAI/UA/TS/html401/cp1001/1001-THEAD-TBODY-TFOOT-OVERFLOW.html' title='Test case for TBODY/THEAD/TFOOT with overflow'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111708393275316355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111708393275316355' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111708393275316355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111708393275316355'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/05/test-case-for-tbodytheadtfoot-with.html' title='Test case for TBODY/THEAD/TFOOT with overflow'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111530697085226895</id><published>2005-05-05T10:29:00.000-05:00</published><updated>2005-06-14T09:09:04.783-05:00</updated><title type='text'>Perl Design Patterns Wiki</title><summary type='text'>There's a world of goodness over at the perl design patterns wiki. Take this little snippet: 
foreach my $i (qw(name price quantity)) {
    my $field = $i;
    *{"get_$field"} = sub {
      my $me = shift;
      return $me-&gt;{$field};
    };
    *{"set_$field"} = sub {
      my $me = shift;
      @_ or die "not enough arguments to set_$field, stopped";
      $me-&gt;{$field} = shift;
      return 1;
</summary><link rel='related' href='http://perldesignpatterns.com/' title='Perl Design Patterns Wiki'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111530697085226895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111530697085226895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111530697085226895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111530697085226895'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/05/perl-design-patterns-wiki.html' title='Perl Design Patterns Wiki'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111383579948223486</id><published>2005-04-18T09:22:00.000-05:00</published><updated>2006-09-02T21:36:41.180-05:00</updated><title type='text'>Adobe / Macromedia</title><summary type='text'>Well, this is some kind of news. I'm at a loss to see how anyone but possibly some shareholders will benefit though? This is not a sector that really needs consolidation, and (assuming product lines merge) I think most designers and developers will miss the Macromedia alternative. 

Does it matter who makes Flash? Dunno. Dreamweaver vs. GoLive? I'd take DW, but I'm not going to pitch my tent </summary><link rel='related' href='http://www.macromedia.com/macromedia/proom/pr/2005/adobe_macromedia.html' title='Adobe / Macromedia'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111383579948223486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111383579948223486' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111383579948223486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111383579948223486'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/04/adobe-macromedia.html' title='Adobe / Macromedia'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111335783786885215</id><published>2005-04-12T21:00:00.000-05:00</published><updated>2005-04-12T21:03:57.870-05:00</updated><title type='text'>User defined colors (CSS property values)</title><summary type='text'>I learned something new today... font-family: menu. This should serve (me) as a reminder to go read the specs a little more often (or buy books, or both) as none of this is news. Anyhow, thanks for bringing them all together on one page .jeff</summary><link rel='related' href='http://jeffhowden.com/code/css/user_defined_colors/' title='User defined colors (CSS property values)'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111335783786885215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111335783786885215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111335783786885215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111335783786885215'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/04/user-defined-colors-css-property.html' title='User defined colors (CSS property values)'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111262891163767098</id><published>2005-04-04T10:11:00.000-05:00</published><updated>2005-04-04T10:36:22.116-05:00</updated><title type='text'>DotML</title><summary type='text'>I just saw Dot in action here at work the other day - generating flow charts in SVG on the fly from a database of screen specs and interactions/workflows. Interesting and positively plump with possibilities. Generating and maintaining these kind of documents has been an irritation for me for years - particularly as the information they capture is essentially locked up and only accessible visually</summary><link rel='related' href='http://www.martin-loetzsch.de/DOTML/' title='DotML'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111262891163767098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111262891163767098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111262891163767098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111262891163767098'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/04/dotml.html' title='DotML'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111169471955829834</id><published>2005-03-24T14:05:00.000-06:00</published><updated>2005-03-26T20:14:13.226-06:00</updated><title type='text'>JavaScript objects@Everything2.com</title><summary type='text'>A good writeup on OOP in javascript.
JavaScript objects@Everything2.com</summary><link rel='related' href='http://www.everything2.com/index.pl?node_id=1143644' title='JavaScript objects@Everything2.com'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111169471955829834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111169471955829834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111169471955829834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111169471955829834'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/03/javascript-objectseverything2com.html' title='JavaScript objects@Everything2.com'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-111047588334612082</id><published>2005-03-10T11:31:00.000-06:00</published><updated>2006-09-21T01:32:22.526-05:00</updated><title type='text'>XMLHttpRequest Working Examples</title><summary type='text'>Lots of brain food here - and enough sample code to get you in serious trouble :)</summary><link rel='related' href='http://www.fiftyfoureleven.com/resources/programming/xmlhttprequest/examples' title='XMLHttpRequest Working Examples'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/111047588334612082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=111047588334612082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111047588334612082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/111047588334612082'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/03/xmlhttprequest-working-examples.html' title='XMLHttpRequest Working Examples'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110969281533895976</id><published>2005-03-01T09:47:00.000-06:00</published><updated>2005-03-01T10:00:15.340-06:00</updated><title type='text'>Encoding and perl IO</title><summary type='text'>Ahhh. Light goes on. This post shows how to open a file in perl using a particular encoding, which was a faq I guess I never read. It would explain all manner of weirdness and problems I've had with encodings, entities and so on.</summary><link rel='related' href='http://aspn.activestate.com/ASPN/Mail/Message/perl-xml/2246116' title='Encoding and perl IO'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110969281533895976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110969281533895976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110969281533895976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110969281533895976'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/03/encoding-and-perl-io.html' title='Encoding and perl IO'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110948923821902263</id><published>2005-02-27T01:27:00.000-06:00</published><updated>2006-08-04T17:21:46.860-05:00</updated><title type='text'>XML Resume Library</title><summary type='text'>Knew this must exist somewhere, but didn't occur to me to look on sourceforge. Add this to my todo list - my resume markup looks like it will map pretty easily to theirs. The project is basically a DTD, with some documentation, and ready-made XSL stylesheets for transforming the XML source into plain text, RTF, HTML and FO (thence to PDF via FOP).</summary><link rel='related' href='http://xmlresume.sourceforge.net/' title='XML Resume Library'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110948923821902263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110948923821902263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110948923821902263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110948923821902263'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/02/xml-resume-library.html' title='XML Resume Library'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110936166829926098</id><published>2005-02-25T14:01:00.000-06:00</published><updated>2005-02-27T01:32:15.980-06:00</updated><title type='text'>adaptive path - ajax: a new approach to web applications</title><summary type='text'>Ha! Ajax. Is that what they call it now?  I'm no veteran developer of this stuff, but I've watched it emerge as a solution repeatedly. Kind of like how evolution seems to spontaneously throw up the same answer to the same problem in completely unconnected species. My amusement is just that it is the dubbing of the thing - the naming event - that makes it article-worthy (and blog-worthy). 


Well </summary><link rel='related' href='http://www.adaptivepath.com/publications/essays/archives/000385.php' title='adaptive path - ajax: a new approach to web applications'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110936166829926098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110936166829926098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110936166829926098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110936166829926098'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/02/adaptive-path-ajax-new-approach-to-web.html' title='adaptive path - ajax: a new approach to web applications'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110918298622344258</id><published>2005-02-23T12:23:00.000-06:00</published><updated>2005-02-23T14:11:45.503-06:00</updated><title type='text'>XSLT FAQ. Docbook - Working with HTML</title><summary type='text'>This page had some answers to some of the stumbling blocks I've enountered while dealing with HTML with XML tools and processes.</summary><link rel='related' href='http://www.dpawson.co.uk/xsl/sect2/N4554.html' title='XSLT FAQ. Docbook - Working with HTML'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110918298622344258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110918298622344258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110918298622344258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110918298622344258'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/02/xslt-faq-docbook-working-with-html.html' title='XSLT FAQ. Docbook - Working with HTML'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110784145825677979</id><published>2005-02-07T23:17:00.000-06:00</published><updated>2005-04-04T10:37:25.120-05:00</updated><title type='text'>Lentil 1.0 Redesign</title><summary type='text'>
Finally I've got most of the "Lentil 1.0" redesign of Sam-I-Am.com uploaded. This blog (and the others) still need proper templates, but its 99% there otherwise. 


I've gone with a content-driven model, where the html I store on my server is my structured content, data and meta information all in one standardized and well known format: (x)html. Navigation is built off of an xml structure I </summary><link rel='related' href='http://www.sam-i-am.com/' title='Lentil 1.0 Redesign'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110784145825677979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110784145825677979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110784145825677979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110784145825677979'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/02/lentil-10-redesign.html' title='Lentil 1.0 Redesign'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110623829332843396</id><published>2005-01-20T10:24:00.000-06:00</published><updated>2005-01-20T10:24:53.326-06:00</updated><title type='text'>HTTP Status 204</title><summary type='text'>
This was new to me. The HTTP Response header can use a status code '204 No Content'. This tells the user-agent not to expect any response content, and so to not refresh the current page. For simple interactions where you want to keep the server current on a users selections it looks useful. 

Here's some (old but interesting) browser test results. There's apparently some disagreement on </summary><link rel='related' href='http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.5' title='HTTP Status 204'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110623829332843396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110623829332843396' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110623829332843396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110623829332843396'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/01/http-status-204.html' title='HTTP Status 204'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110550882894252716</id><published>2005-01-11T23:47:00.000-06:00</published><updated>2006-07-19T07:19:11.530-05:00</updated><title type='text'>Telegraphics - Free ICO Format  Plugin for Photoshop</title><summary type='text'>After a little stumbling around looking for a way to create my favicon.ico (favicon.com has withdrawn the nice service they had there for a while), I came across Telegraphics and this file format plugin. It was reportedly tested for Photoshop 4, but I just dropped it into my Plug-Ins\File Formats folder for Photoshop 7 and it worked just great - just Save As: .ico
When I get back in the office </summary><link rel='related' href='http://www.telegraphics.com.au/sw/' title='Telegraphics - Free ICO Format  Plugin for Photoshop'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110550882894252716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110550882894252716' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110550882894252716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110550882894252716'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2005/01/telegraphics-free-ico-format-plugin.html' title='Telegraphics - Free ICO Format  Plugin for Photoshop'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110433841539829448</id><published>2004-12-29T10:40:00.000-06:00</published><updated>2004-12-29T10:41:23.210-06:00</updated><title type='text'>Web design process (and the "Grey Box Methodology")</title><summary type='text'>This is an interesting piece outlining one designer's process for coming up with web design comps. This addresses some common issues and starting in a vector format gives you some tools for accommodating different browser widths, content lengths, font/graphic proportions.

I agree wholly with his point that moving into the target medium too soon (html/css) is limiting - you can easily end up </summary><link rel='related' href='http://www.jasonsantamaria.com/archive/2004/05/24/grey_box_method.php' title='Web design process (and the &quot;Grey Box Methodology&quot;)'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110433841539829448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110433841539829448' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110433841539829448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110433841539829448'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/12/web-design-process-and-grey-box.html' title='Web design process (and the &quot;Grey Box Methodology&quot;)'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110303763030234511</id><published>2004-12-14T09:20:00.000-06:00</published><updated>2006-11-15T15:16:53.326-06:00</updated><title type='text'>Regular expressions intro</title><summary type='text'>This tutorial goes a little deeper than most.. probably a good bridge between the usual 1 page overview and Jeffrey Friedl's Mastering Regular Expressions.</summary><link rel='related' href='http://www.knowmadic.com/KnowmadicWebsite/developer/regex/regexdoc.htm' title='Regular expressions intro'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110303763030234511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110303763030234511' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110303763030234511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110303763030234511'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/12/regular-expressions-intro.html' title='Regular expressions intro'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-110199987928887774</id><published>2004-12-02T09:04:00.000-06:00</published><updated>2004-12-02T09:04:39.286-06:00</updated><title type='text'>PPM repositories (Perl Modules in the Windows environment )</title><summary type='text'>A list of 10 or so PPM repositories in addition to ActiveState's, and some pointers on using them (e.g. with PPM3). </summary><link rel='related' href='http://www.perlmonks.org/index.pl?node_id=147012' title='PPM repositories (Perl Modules in the Windows environment )'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/110199987928887774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=110199987928887774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110199987928887774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/110199987928887774'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/12/ppm-repositories-perl-modules-in.html' title='PPM repositories (Perl Modules in the Windows environment )'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-109836517438627153</id><published>2004-10-21T08:08:00.000-05:00</published><updated>2004-11-19T09:30:50.143-06:00</updated><title type='text'>CGI Debugging</title><summary type='text'>This snippet from a thread on PerlMonks:
use CGI::Carp qw(fatalsToBrowser);
use diagnostics;
local $SIG{__WARN__} = \&amp;Carp::cluck; 

and this CGI Help Guide, also on PerlMonks...
#!/usr/bin/perl -wT

# ensure all fatals go to browser during debugging and set-up
# comment this BEGIN block out on production code for security
BEGIN {
    $|=1;
    print "Content-type: text/html\n\n";
</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/109836517438627153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=109836517438627153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/109836517438627153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/109836517438627153'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/10/cgi-debugging.html' title='CGI Debugging'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-109536024628305949</id><published>2004-09-16T13:37:00.000-05:00</published><updated>2004-11-19T09:34:37.606-06:00</updated><title type='text'>Whitespace - the language</title><summary type='text'>A programming (interpreted) language using only whitespace as its tokens: space, line-feed and tab. 

Here's the perl interpreter: whitespace.pl and an assembler for the squemish. No I've not tried it, but I love the idea. 

</summary><link rel='related' href='http://compsoc.dur.ac.uk/whitespace/' title='Whitespace - the language'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/109536024628305949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=109536024628305949' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/109536024628305949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/109536024628305949'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/09/whitespace-language.html' title='Whitespace - the language'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-109345008941061810</id><published>2004-08-25T11:08:00.000-05:00</published><updated>2006-08-16T15:38:05.250-05:00</updated><title type='text'>WinXP SP2 crack down</title><summary type='text'>Whether it will do any good or not, this page outlines all the things the new service pack will object to when browsing with IE. Mostly current best-practices for pop windows have anticipated the measures MS now recommend. But some things like remote scripting might be impacted?
</summary><link rel='related' href='http://msdn.microsoft.com/security/productinfo/xpsp2/default.aspx?pull=/library/en-us/dnwxp/html/xpsp2web.asp' title='WinXP SP2 crack down'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/109345008941061810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=109345008941061810' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/109345008941061810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/109345008941061810'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/08/winxp-sp2-crack-down.html' title='WinXP SP2 crack down'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-109059617738311982</id><published>2004-07-23T10:22:00.000-05:00</published><updated>2004-11-19T09:37:07.140-06:00</updated><title type='text'>The Future of Common-Use Hypertext - Editorial: Ashman and Moore: JoDI</title><summary type='text'>This is a really intersting collection of articles on proposals for the evolution of hypertext-based information and systems. I'm making my way through and reminding myself why I got into this business in the first place (which was not to put lipstick on the corporate pig)
</summary><link rel='related' href='http://jodi.ecs.soton.ac.uk/Articles/v05/i01/editorial/' title='The Future of Common-Use Hypertext - Editorial: Ashman and Moore: JoDI'/><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/109059617738311982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=109059617738311982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/109059617738311982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/109059617738311982'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/07/future-of-common-use-hypertext.html' title='The Future of Common-Use Hypertext - Editorial: Ashman and Moore: JoDI'/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-108092037355791941</id><published>2004-04-02T09:39:00.000-06:00</published><updated>2006-08-16T15:28:25.556-05:00</updated><title type='text'></title><summary type='text'>Normal Walsh How?
A blogger very much after my own heart. This page describes how his site is built and maintained - it's all about metadata. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/108092037355791941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=108092037355791941' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/108092037355791941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/108092037355791941'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/04/normal-walsh-how-blogger-very-much.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-107668717069881050</id><published>2004-02-13T09:46:00.000-06:00</published><updated>2004-02-13T09:48:40.373-06:00</updated><title type='text'></title><summary type='text'>CPB/WGBH National Center for Accessible Media
Makers of MAGpie and other products for making rich media accessible. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/107668717069881050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=107668717069881050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/107668717069881050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/107668717069881050'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/02/cpbwgbh-national-center-for-accessible.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-107394990910291721</id><published>2004-01-12T17:25:00.000-06:00</published><updated>2004-01-12T17:26:56.983-06:00</updated><title type='text'></title><summary type='text'>Fontifier
A me too blog (spotted on Zeldman). But I was just thinking about something similar just last night. 
»Fontifier lets you use your own handwriting for the text you write on your computer. 
It turns a scanned sample of your handwriting into a computer font«</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/107394990910291721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=107394990910291721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/107394990910291721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/107394990910291721'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2004/01/fontifier-me-too-blog-spotted-on.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-10716042738650308</id><published>2003-12-16T23:19:00.000-06:00</published><updated>2004-05-12T15:08:35.886-05:00</updated><title type='text'></title><summary type='text'>Update HTML Doc [72809 sourcecode]
I've always been confounded as to how to update the nifty converted pod docs that are created when you install ActiveState's perl. PPM will update these pages when you install a module with it, but it seems to only know about those modules it's installed. So if you download or create your own, you are on your own. After (finally) digging around in my perl </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/10716042738650308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=10716042738650308' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10716042738650308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10716042738650308'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2003/12/update-html-doc-72809-sourcecode-ive.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-106752872191642481</id><published>2003-10-30T09:45:00.000-06:00</published><updated>2003-10-30T09:56:04.826-06:00</updated><title type='text'></title><summary type='text'>Footer Demo 1
A technique for placing a footer at the bottom of the content, or at the bottom of the viewport if the content is shorter than the viewport.  Works in WinIE and Gecko based browsers only, but its v. simple and a good starting point. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/106752872191642481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=106752872191642481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/106752872191642481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/106752872191642481'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2003/10/footer-demo-1-technique-for-placing.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-10651901466370590</id><published>2003-10-03T09:09:00.000-05:00</published><updated>2003-10-03T09:09:06.690-05:00</updated><title type='text'></title><summary type='text'>WWW::Meta::XML::Browser
This perl module provides an interesting framework for automating http (browsing) sessions via an XML file. The xml describes the actions to take and how to handle the results, with hooks for all the transformations etc. you might want to perform at each step. Worth a further look when I get time. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/10651901466370590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=10651901466370590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10651901466370590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10651901466370590'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2003/10/wwwmetaxmlbrowser-this-perl-module.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-106217210370596966</id><published>2003-08-29T10:48:00.000-05:00</published><updated>2006-08-16T15:52:26.066-05:00</updated><title type='text'></title><summary type='text'>A CSS Haiku

Help me CSS
Low bandwidth, complex design
You're my only hope. 
</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/106217210370596966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=106217210370596966' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/106217210370596966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/106217210370596966'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2003/08/css-haiku-help-me-css-low-bandwidth.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-106089029738378906</id><published>2003-08-14T14:44:00.000-05:00</published><updated>2003-08-14T14:49:29.733-05:00</updated><title type='text'></title><summary type='text'>CSS Floated Layouts
Making multi-column layouts with floats actually work: 
Source Ordered Columns
and
CSS layout, 3 columns with Header and Footer, Ordered columns, Netscape 4 compatible

</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/106089029738378906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=106089029738378906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/106089029738378906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/106089029738378906'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2003/08/css-floated-layouts-making-multi.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-89352979</id><published>2003-02-18T22:44:00.000-06:00</published><updated>2003-02-18T22:44:11.800-06:00</updated><title type='text'></title><summary type='text'>Combine harvester
Looks like a well featured perl crawling/indexing soln, that also might be persuaded to do the task I have in mind.  </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/89352979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=89352979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/89352979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/89352979'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2003/02/combine-harvester-looks-like-well.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-89352811</id><published>2003-02-18T22:41:00.000-06:00</published><updated>2003-02-18T22:41:18.576-06:00</updated><title type='text'></title><summary type='text'>HTML::Index on CPAN. 
This is a set of (perl) modules for creating, storing and searching indexes of html files that looks like a handy starting point for my html indexer. Seems like I might be able to sub-class it to use my own parser and store the code and throw out the content. So I could search for things like which pages on site.com are still using font tags? Which call such-and-such </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/89352811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=89352811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/89352811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/89352811'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2003/02/htmlindex-on-cpan.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-87885029</id><published>2003-01-23T00:05:00.000-06:00</published><updated>2003-01-23T00:05:37.833-06:00</updated><title type='text'></title><summary type='text'>GUI'd batch files
The Wizard's Apprentice
</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/87885029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=87885029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/87885029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/87885029'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2003/01/guid-batch-files-wizards-apprentice.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-82364992</id><published>2002-10-01T09:18:00.000-05:00</published><updated>2002-10-01T09:18:09.966-05:00</updated><title type='text'></title><summary type='text'>Using relative font-sizes
from Dive into Acccessibility - this is a really good walkthrough of setting up a template with scalable, relative font-sizes. Uses css keywords and some css browser exclusion hacks to navigate the minefield of font-sizing (nn4 gets fixed pixel size)</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/82364992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=82364992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/82364992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/82364992'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/10/using-relative-font-sizes-from-dive.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-81739335</id><published>2002-09-17T16:01:00.000-05:00</published><updated>2002-09-17T16:01:53.420-05:00</updated><title type='text'></title><summary type='text'>Website Stress-Testing
Useful article including whys, how-to's and reviewing a shortlist of software to help. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/81739335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=81739335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/81739335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/81739335'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/09/website-stress-testing-useful-article.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-81738544</id><published>2002-09-17T15:43:00.000-05:00</published><updated>2004-05-12T15:10:55.366-05:00</updated><title type='text'></title><summary type='text'>The quest for a 3 row "letterbox" style layout
These are my notes on vertically stretchy layout tests and prototypes, written a little while back while working on the new frogdesign.com site. Later design changes made a lot of this redundant and/or overkill, but it was a great voyage of discovery for me, driven by a faith that CSS could win the day (in which I think I was vindicated). </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/81738544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=81738544' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/81738544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/81738544'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/09/quest-for-3-row-letterbox-style-layout.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-78862258</id><published>2002-07-12T08:45:00.000-05:00</published><updated>2002-07-12T08:45:28.730-05:00</updated><title type='text'></title><summary type='text'>line numbered code.
this is very sweet - classing the PRE tag makes a cheap and easy way to get line-numbering with a background image providing the #s. 

I've been using an SSI to include raw code into a XMP tag (sadly depreciated but works still in most browsers), for maintenance-free code listings and this would be a nice touch there. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/78862258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=78862258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/78862258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/78862258'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/07/line-numbered-code.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-78736806</id><published>2002-07-09T11:56:00.000-05:00</published><updated>2002-07-09T11:56:06.043-05:00</updated><title type='text'></title><summary type='text'>
Representing Pronunciation
IPA, International Phonetic Association
How to represent pronunciation in ASCII
Phonetic Fonts
The World Gazetteer - Pronunciation Table
The alt.usage.english FAQ</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/78736806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=78736806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/78736806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/78736806'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/07/representing-pronunciation-ipa.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-77641801</id><published>2002-06-12T00:18:00.000-05:00</published><updated>2002-06-12T00:18:35.350-05:00</updated><title type='text'></title><summary type='text'>Updates to this blog
I've made this blog (actually the whole site) searchable - look to the leftnav. This should hopefully mitigate the problem of ephemoral content on the blog page. I see a lot of hits where people have searched for a term, and landed on my blog page - which has long since moved on to other stuff.</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/77641801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=77641801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/77641801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/77641801'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/06/updates-to-this-blog-ive-made-this.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-77226859</id><published>2002-06-01T14:39:00.000-05:00</published><updated>2002-06-01T14:39:05.870-05:00</updated><title type='text'></title><summary type='text'>TortoiseCVS

"Enjoyable version control" - CVS right within Windows Explorer. This can only be a good thing. Thanks to David U on evolt for the pointer. 

</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/77226859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=77226859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/77226859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/77226859'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/06/tortoisecvs-enjoyable-version-control.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-77071928</id><published>2002-05-28T13:37:00.000-05:00</published><updated>2002-05-28T13:37:48.740-05:00</updated><title type='text'></title><summary type='text'>Blosxom 
More perl-based, flat text file driven blog software. But this one looks even simpler and idiot proof-er. Downloading...</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/77071928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=77071928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/77071928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/77071928'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/05/blosxom-more-perl-based-flat-text-file.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-76950133</id><published>2002-05-24T23:45:00.000-05:00</published><updated>2004-05-12T15:11:36.153-05:00</updated><title type='text'></title><summary type='text'>Caching / Mirroring Proxies
With renewed enthusiasm for a configurable (on the fly) proxy that would let me stop/start mirroring an arbitrary browsing session I went hunting again. These might be starting points

w3mir - all purpose HTTP-copying and mirroring tool

Caching HTTP proxy CGI module (early effort)

Re: Filtering web proxy (re perl/python FilterProxy daemon)</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/76950133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=76950133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/76950133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/76950133'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/05/caching-mirroring-proxies-with-renewed.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-76798185</id><published>2002-05-21T09:13:00.000-05:00</published><updated>2002-05-21T09:13:23.960-05:00</updated><title type='text'></title><summary type='text'>Inside the evolt.org rebuild
This is from last year's evolt redesign, and I've just now read right through. It's a great treatise on how smart coding and design can keep everyone happy.</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/76798185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=76798185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/76798185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/76798185'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/05/inside-evolt.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-76398736</id><published>2002-05-10T10:29:00.000-05:00</published><updated>2002-05-10T10:29:41.383-05:00</updated><title type='text'></title><summary type='text'>inessential.com: Weblog
looking for a light-weight, simple bug/issue tracking system. So was this guy, so I'll start here.

perl.com: Request Tracker [Nov. 28, 2001]

a list of debuggers and issue/version tracking software

</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/76398736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=76398736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/76398736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/76398736'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/05/inessential.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-75534269</id><published>2002-04-17T23:23:00.000-05:00</published><updated>2002-04-19T14:47:15.000-05:00</updated><title type='text'></title><summary type='text'>PLEAC-Perl
Cookbook of perl solutions to common programming problems. Many qualities. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/75534269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=75534269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75534269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75534269'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/04/pleac-perl-cookbook-of-perl-solutions.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-75493940</id><published>2002-04-17T00:02:00.000-05:00</published><updated>2002-04-17T00:02:30.300-05:00</updated><title type='text'></title><summary type='text'>Sam-I-Am.com Work: CSS
Made a start on a CSS section to house some of my work and point at the great work being done by others. Right now there's the commented backslash hack to isolate and target rules for macIE5, and the overflow:auto partial solution I have that addresses some of the problems seen in that same browser. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/75493940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=75493940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75493940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75493940'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/04/sam-i-am.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-75448481</id><published>2002-04-15T21:58:00.000-05:00</published><updated>2002-04-15T21:58:06.253-05:00</updated><title type='text'></title><summary type='text'>blog of francois
covering some interesting web-development topics.  I plan on going back into the archives, as well as keeping an eye on this page. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/75448481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=75448481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75448481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75448481'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/04/blog-of-francois-covering-some.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-75274613</id><published>2002-04-10T23:48:00.000-05:00</published><updated>2002-05-09T12:23:56.000-05:00</updated><title type='text'></title><summary type='text'>Perl - Excel FAQ
and this example: Spreadsheet::WriteExcel

And there's a XML::SAXDriver::Excel, for transforming Excel to XML.

or there's the win32 OLE route
</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/75274613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=75274613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75274613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75274613'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/04/perl-excel-faq-and-this-example.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-75232141</id><published>2002-04-09T22:43:00.000-05:00</published><updated>2002-04-09T22:43:49.040-05:00</updated><title type='text'></title><summary type='text'>Perl2Exethis is a command line utility for converting perl scripts to executable files (.exe), which can then be run without a perl install. I'm looking at this as a way of making droplets to perform simples tasks on the files/folders you drop on them. There's a shareware version (flashes a command prompt with a message each time your .exe is run) or lite &amp; pro commercial versions. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/75232141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=75232141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75232141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75232141'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/04/perl2exethis-is-command-line-utility.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-75191573</id><published>2002-04-08T23:05:00.000-05:00</published><updated>2002-04-08T23:07:18.000-05:00</updated><title type='text'></title><summary type='text'>ascii.com - File Conversion Software
Includes a word2html product that might be worth a spin (demo avail, ~$170 single seat)

Terry Morse's Myrmidon
I keep running into and it still looks like one of the best tools out there. Mac-based, installs as a print driver, so you can convert to html from any application that has a print function. Need to check it out against some sample Word docs, but</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/75191573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=75191573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75191573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/75191573'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/04/ascii.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-11475693</id><published>2002-04-04T20:59:00.000-06:00</published><updated>2002-04-04T20:59:01.223-06:00</updated><title type='text'></title><summary type='text'>RTF2HTML (EasyByte Software Ltd)
COMponent (not MS Office dependant) that will output fragments or whole html pages.</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/11475693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=11475693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/11475693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/11475693'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/04/rtf2html-easybyte-software-ltd.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-11439926</id><published>2002-04-03T22:33:00.000-06:00</published><updated>2004-05-12T15:12:56.736-05:00</updated><title type='text'></title><summary type='text'>Yahoo!... WWW &gt; HTML Converters
still looking for good MS Word to HTML tools... maybe here's a place to start. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/11439926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=11439926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/11439926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/11439926'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/04/yahoo.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-10942026</id><published>2002-03-20T14:30:00.000-06:00</published><updated>2002-03-20T14:30:42.790-06:00</updated><title type='text'></title><summary type='text'>bin2hex - script to convert data files into source code arrays
Handy perl script that outputs a hex string of a binary file. </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/10942026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=10942026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10942026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10942026'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/03/bin2hex-script-to-convert-data-files.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-10733518</id><published>2002-03-14T09:15:00.000-06:00</published><updated>2002-08-08T08:36:51.000-05:00</updated><title type='text'></title><summary type='text'>CGI Script.net - Browser Based WYSIWYG HTML Editor
with a downloadable backend for handling save/create/etc functionality ($850). 
I'm informed (by WebEdit Professional) that these guys are rip-off artists and are reselling other people's code. I can't verify that but I've removed the link in case it's true... . </summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/10733518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=10733518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10733518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10733518'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/03/cgi-script.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-396730.post-10490787</id><published>2002-03-07T09:30:00.000-06:00</published><updated>2002-03-07T09:36:26.000-06:00</updated><title type='text'></title><summary type='text'>Browser-based rich text/wysiwyg editors
I went hunting again. There's lots of ideas out there but almost all require winIE (typically 5.5+)
Maybe thats not such an unreasonable requirement, but I'm on a mac mostly at home and it just kills me that I can't find *anything* that will work there. 
Yes I know about liveconnect (script - movie/embed communication) and I know this is not available in</summary><link rel='replies' type='application/atom+xml' href='http://samfosteriam-work.blogspot.com/feeds/10490787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=396730&amp;postID=10490787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10490787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/396730/posts/default/10490787'/><link rel='alternate' type='text/html' href='http://samfosteriam-work.blogspot.com/2002/03/browser-based-rich-textwysiwyg-editors.html' title=''/><author><name>Sam-I-Am</name><uri>http://www.blogger.com/profile/05557174239716985941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
