<?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-4999825689154668027</id><updated>2012-01-24T21:57:14.370-08:00</updated><category term='images'/><category term='PHP'/><category term='Flash'/><category term='jQuery'/><category term='tutorials'/><category term='CSS'/><category term='PDF'/><category term='Mashups'/><category term='mailto'/><category term='file management'/><category term='file conversion'/><category term='Web forms'/><category term='Tools'/><category term='fonts'/><category term='computer management'/><category term='Fireworks'/><category term='CS4'/><category term='Indesign'/><title type='text'>The Web Curmudgeon</title><subtitle type='html'>The Web Curmudgeon. A collection of Internet resources of interest to Web developers, including Web publishing, Flash and Web programming, Web design, imaging tools and techniques, and a collection of learning resources.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default?start-index=101&amp;max-results=100'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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>110</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1754530472342329401</id><published>2012-01-24T12:51:00.000-08:00</published><updated>2012-01-24T21:57:14.380-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Using The Pen Tool</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-yQ3s-41NLzU/Tx-ZfpBRDmI/AAAAAAAAAac/QxVMAx7v51M/s1600/penTool.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-yQ3s-41NLzU/Tx-ZfpBRDmI/AAAAAAAAAac/QxVMAx7v51M/s1600/penTool.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.thewebcurmudgeon.com/2010/09/reversed-arcs-in-illustrator.html"&gt;&lt;b&gt;Here&lt;/b&gt;&lt;/a&gt; is a link to the old tutorial on the pen tool exercise for GDP 110.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1754530472342329401?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1754530472342329401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1754530472342329401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1754530472342329401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1754530472342329401'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2012/01/using-pen-tool.html' title='Using The Pen Tool'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-yQ3s-41NLzU/Tx-ZfpBRDmI/AAAAAAAAAac/QxVMAx7v51M/s72-c/penTool.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2500201203052845224</id><published>2011-11-06T08:54:00.000-08:00</published><updated>2011-11-06T21:47:48.178-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='images'/><title type='text'>Using SVG Images</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-NjtEkcWjFuI/Tra4JEbRnSI/AAAAAAAAAaA/MfBcQ6VL09g/s1600/svgLogoSTEG.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-NjtEkcWjFuI/Tra4JEbRnSI/AAAAAAAAAaA/MfBcQ6VL09g/s1600/svgLogoSTEG.jpg" /&gt;&lt;/a&gt;Clipart, logos, and letterforms in Scalable Vector Format can usually be imported into Illustrator, basically functioning the same way as AI files. Sometimes Illustrator will not recognize a particular SVG file for what could be a number of reasons, usually because of versioning issues. As time goes on and standards settle into place, this sort of problem should diminish.&lt;br /&gt;&lt;br /&gt;Illustrator can also export to SVG format. This file format is primarily used on the Web. SVG is a text-based format derived from XML, interpreted by browser software to render an image. The XML literally describes the image to the interpreter. Another example of this sort of format is Postscript, which uses text and language to describe a page to be printed onto paper.&lt;br /&gt;&lt;br /&gt;Because SVG is vector-based, it is resolution-independent. This means that images will not degrade at any screen size or magnification.&lt;br /&gt;&lt;br /&gt;In searching for SVG clipart using Google, type in your search term this way:&amp;nbsp;&lt;b&gt;&lt;i&gt;image: recycle logo svg&lt;/i&gt;&lt;/b&gt;. Then select "Images" from the context bar at the left of the page. Often, an image will be rendered in a raster format such as PNG. However, such raster images sometimes link to SVG versions. Not all browsers support SVG, although all so-called modern browsers do.&lt;br /&gt;&lt;br /&gt;The "flower" logo shown above/left is a JPG rendering of the W3C logo for SVG. I originally obtained the SVG version of this logo from &lt;a href="http://en.wikipedia.org/wiki/File:SVG-logo.svg"&gt;Wikipedia&lt;/a&gt;, creating the JPG version from that. JPG files contain text and binary data, meaning that they could, in theory, also be made to contain a hidden text-based vector version of the image being rendered. This is really only of academic interest to people with no lives. Speaking of which, the image here depicted does, in fact, have embedded text reading, "This is text hidden in a JPG file." If you open the file in a text editor, you will find that text at the end of line #1.&lt;br /&gt;&lt;br /&gt;Embedding hidden text this way is a form of "&lt;a href="http://en.wikipedia.org/wiki/Steganography"&gt;steganography&lt;/a&gt;," but that is completely different subject.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2500201203052845224?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2500201203052845224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2500201203052845224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2500201203052845224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2500201203052845224'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/11/using-svg-images.html' title='Using SVG Images'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-NjtEkcWjFuI/Tra4JEbRnSI/AAAAAAAAAaA/MfBcQ6VL09g/s72-c/svgLogoSTEG.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7099643558520679152</id><published>2011-10-11T22:51:00.000-07:00</published><updated>2011-10-11T22:54:44.140-07:00</updated><title type='text'>The Postcard Exercise for GDP111</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-INlCV2011iA/TpUn-4DdH9I/AAAAAAAAAZo/BkaMC18f4sA/s1600/postcard.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="143" src="http://3.bp.blogspot.com/-INlCV2011iA/TpUn-4DdH9I/AAAAAAAAAZo/BkaMC18f4sA/s200/postcard.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;The template for the postcard exercise is &lt;b&gt;&lt;a href="http://thewriterservice.com/gdp111/postcard.zip"&gt;here&lt;/a&gt;&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;A lot of students botch this exercise badly. You don't have to. Download the template and pay attention to the instructions/specifications. Then either place a PDF of your output onto the student layer of the template, or, if you haven't started yet, use the already set up layout to construct your card.&lt;br /&gt;&lt;br /&gt;This exercise is to create a postcard for mass mailing. Chances are that you and most of the people that you know professionally will never use this skill. Junk mail is rapidly migrating to SPAM, and soon will become obsolete.&lt;br /&gt;&lt;br /&gt;On the other hand, something about learning this process will imbue your soul with a kind of graphical awareness that will serve to enhance your creative dexterity. Or something.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7099643558520679152?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7099643558520679152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7099643558520679152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7099643558520679152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7099643558520679152'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/10/postcard-exercise-for-gdp111.html' title='The Postcard Exercise for GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-INlCV2011iA/TpUn-4DdH9I/AAAAAAAAAZo/BkaMC18f4sA/s72-c/postcard.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-3624480683452460911</id><published>2011-09-25T14:04:00.000-07:00</published><updated>2011-09-28T10:42:36.603-07:00</updated><title type='text'>The Squiggle Exercise for GDP111</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-Jz_fF0wcm5Q/Tn-XDjbCqZI/AAAAAAAAAZk/tYrpWKNv2Ac/s1600/squiggle.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="164" src="http://4.bp.blogspot.com/-Jz_fF0wcm5Q/Tn-XDjbCqZI/AAAAAAAAAZk/tYrpWKNv2Ac/s200/squiggle.jpg" width="200" /&gt;&lt;/a&gt;The finished template for the Squiggle exercise is &lt;a href="http://www.thewriterservice.com/gdp111/squiggle.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;When you place this PDF over your own work, be sure to transparentize the layer down to about 67% to see your own work. &amp;nbsp;By far the hardest part of this exercise is making the squiggle weave in and out of the shapes.&lt;br /&gt;&lt;br /&gt;Long-story-short on the squiggle line: If you make your stroke 9pt, and click the attributes boxes the way they are done in the instructions, then when you use the scissors tool to cut the segments, they will snap into the same shape as those shown in the instructions. When you first select the wavy line, the periods of the waves will look wrong. Just ignore that and proceed. Then it will be a simple matter of using the arrange dialog to position the segments in front of and behind the shapes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-3624480683452460911?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/3624480683452460911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=3624480683452460911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3624480683452460911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3624480683452460911'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/squiggle-exercise-for-gdp111.html' title='The Squiggle Exercise for GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Jz_fF0wcm5Q/Tn-XDjbCqZI/AAAAAAAAAZk/tYrpWKNv2Ac/s72-c/squiggle.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8269902955037630881</id><published>2011-09-25T13:30:00.000-07:00</published><updated>2011-09-25T13:34:30.510-07:00</updated><title type='text'>The "Lost Road" Exercise for GDP111</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-RXCnVTe1VKg/Tn-PFfEfGPI/AAAAAAAAAZg/OYOWmRiZguE/s1600/rundB.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-RXCnVTe1VKg/Tn-PFfEfGPI/AAAAAAAAAZg/OYOWmRiZguE/s200/rundB.jpg" width="158" /&gt;&lt;/a&gt;&lt;/div&gt;The "Lost Road" template is &lt;a href="http://www.thewriterservice.com/gdp111/rundbTEMPL.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This template was created in Indesign according to the document setup instructions. The background image was placed onto the bottom layer, and the PDF from the instructions was then placed onto a layer above that, and then nudged into place. This is why you can see the drop shadow in the crop area.&lt;br /&gt;&lt;br /&gt;And, BTW, disregard the border that shows at the finished edges. That also is from the PDF in the instructions.&lt;br /&gt;&lt;br /&gt;Because this poster has a texture printed onto the background, you must necessarily export it with printer's marks and document bleed settings turned on.&lt;br /&gt;&lt;br /&gt;Another hint: If the instructions do not include the text, you can extract the text from the PDF, usually just by copying and pasting. You should never ever ever re-type something that has been typed by someone else already. To do so is completely Medieval.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8269902955037630881?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8269902955037630881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8269902955037630881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8269902955037630881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8269902955037630881'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/lost-road-exercise-for-gdp111.html' title='The &quot;Lost Road&quot; Exercise for GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-RXCnVTe1VKg/Tn-PFfEfGPI/AAAAAAAAAZg/OYOWmRiZguE/s72-c/rundB.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2984010292140352458</id><published>2011-09-24T21:37:00.001-07:00</published><updated>2011-09-24T21:48:23.160-07:00</updated><title type='text'>Chapter 6, The Bank Card  for GDP111</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-zC2aITynZxk/Tn6yGuRqWlI/AAAAAAAAAZc/IaZFpaj9B9Y/s1600/bankCard.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="176" src="http://4.bp.blogspot.com/-zC2aITynZxk/Tn6yGuRqWlI/AAAAAAAAAZc/IaZFpaj9B9Y/s200/bankCard.jpg" width="200" /&gt;&lt;/a&gt;An old tutorial from 2009 on the bank card is&lt;a href="http://www.thewebcurmudgeon.com/2009/10/bank-card-tutorial.html"&gt; here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This tutorial contains a PDF, an Indesign file, and a step-by-step video. The video is a bit rambling, but the guy making it is actually doing the finished exercise.&lt;br /&gt;&lt;br /&gt;Talk about spoon feeding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2984010292140352458?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2984010292140352458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2984010292140352458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2984010292140352458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2984010292140352458'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/chapter-6the-bank-card-for-gdp111.html' title='Chapter 6, The Bank Card  for GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-zC2aITynZxk/Tn6yGuRqWlI/AAAAAAAAAZc/IaZFpaj9B9Y/s72-c/bankCard.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5346638189891494398</id><published>2011-09-24T20:09:00.000-07:00</published><updated>2011-09-24T21:27:09.219-07:00</updated><title type='text'>o7 Raffle template for GDP111</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Koutzks8yyM/Tn6agVwTcXI/AAAAAAAAAZY/PQpjw5v0mJM/s1600/07poster.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-Koutzks8yyM/Tn6agVwTcXI/AAAAAAAAAZY/PQpjw5v0mJM/s200/07poster.jpg" width="171" /&gt;&lt;/a&gt;&lt;/div&gt;The template for the raffle tickets is &lt;a href="http://thewriterservice.com/gdp111/07RaffleTemplate.pdf"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In the past, students have had more trouble with this exercise than any other.&lt;br /&gt;&lt;br /&gt;After studying the instructions, pay close attention to the template. Notice, for instance, the perf line crop marks, and how none of the crop lines actually extend into the image area. Also. be sure to put the crops in registration color. The template may or may not have them displayed as such. But you will be graded down if you don't.&lt;br /&gt;&lt;br /&gt;Note also that the fold line does not extend across the page, It must be in the bleed area, and not touch the image area. The instructions are misleading on this point, as they show a dotted line running across the page.&lt;br /&gt;&lt;br /&gt;Ask questions as you go through this exercise.&lt;br /&gt;&lt;br /&gt;And &lt;b&gt;&lt;i&gt;do not&lt;/i&gt;&lt;/b&gt; hand in something that looks different from the template.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5346638189891494398?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5346638189891494398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5346638189891494398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5346638189891494398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5346638189891494398'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/o7-raffle-template-for-gdp111.html' title='o7 Raffle template for GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Koutzks8yyM/Tn6agVwTcXI/AAAAAAAAAZY/PQpjw5v0mJM/s72-c/07poster.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1698404495405812172</id><published>2011-09-24T19:52:00.000-07:00</published><updated>2011-09-24T19:54:12.112-07:00</updated><title type='text'>Chapter 7 Firefighter Poster</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-coRGASuGp0w/Tn6VycsKKvI/AAAAAAAAAZU/v7BLbMKqmWQ/s1600/07poster.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-coRGASuGp0w/Tn6VycsKKvI/AAAAAAAAAZU/v7BLbMKqmWQ/s200/07poster.jpg" width="171" /&gt;&lt;/a&gt;&lt;/div&gt;The finished template for the poster is &lt;a href="http://thewriterservice.com/gdp111/07poster.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In this exercise, if you follow the instructions carefully, you should be OK. Be sure to bleed the axe handle off of the page.&lt;br /&gt;&lt;br /&gt;Place the downloaded PDF over your own work. Line up the crop marks with the bleed and page. Then go to Options&amp;gt;Effects&amp;gt;Transparency, and drag the slider down to 67% opacity.&lt;br /&gt;&lt;br /&gt;In this case, the elements may&amp;nbsp;not line up exactly, as you will be making the piece from scratch. Your body copy, however should match exactly.&lt;br /&gt;&lt;br /&gt;Be sure when exporting to show all printer's marks and to use document bleed settings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1698404495405812172?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1698404495405812172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1698404495405812172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1698404495405812172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1698404495405812172'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/chapter-7-firefighter-poster.html' title='Chapter 7 Firefighter Poster'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-coRGASuGp0w/Tn6VycsKKvI/AAAAAAAAAZU/v7BLbMKqmWQ/s72-c/07poster.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-3517006945682723073</id><published>2011-09-18T17:48:00.000-07:00</published><updated>2011-09-18T17:48:20.255-07:00</updated><title type='text'>The Beach Ball exercise for GDP111</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-9jovHhj__MM/TnaRR2BBCZI/AAAAAAAAAZQ/W40KZWY1kzo/s1600/beachBall.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="189" src="http://3.bp.blogspot.com/-9jovHhj__MM/TnaRR2BBCZI/AAAAAAAAAZQ/W40KZWY1kzo/s200/beachBall.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;The beach Ball exercise is &lt;a href="http://www.thewriterservice.com/gdp111/5c.zip"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-3517006945682723073?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/3517006945682723073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=3517006945682723073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3517006945682723073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3517006945682723073'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/beach-ball-exercise-for-gdp111.html' title='The Beach Ball exercise for GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-9jovHhj__MM/TnaRR2BBCZI/AAAAAAAAAZQ/W40KZWY1kzo/s72-c/beachBall.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2749390214871031024</id><published>2011-09-18T16:22:00.000-07:00</published><updated>2011-09-18T16:22:11.278-07:00</updated><title type='text'>The Family History Exercise for GDP111</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-aEMpnFiKzys/TnZ86_AakwI/AAAAAAAAAZI/5FC2UhRF8A8/s1600/5b.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-aEMpnFiKzys/TnZ86_AakwI/AAAAAAAAAZI/5FC2UhRF8A8/s200/5b.png" width="109" /&gt;&lt;/a&gt;The template for the Family History exercise is &lt;a href="http://www.thewriterservice.com/gdp111/ch5b.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I did this exercise myself once. I put the PDF onto the second layer, with the text book's version on the top layer. You can compare the two. Mine is slightly off. I don't recall why. However it is well within the tolerance allowed for a piece of this nature. So, you can get an idea of how far off you can be.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2749390214871031024?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2749390214871031024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2749390214871031024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2749390214871031024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2749390214871031024'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/family-history-exercise-for-gdp111.html' title='The Family History Exercise for GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-aEMpnFiKzys/TnZ86_AakwI/AAAAAAAAAZI/5FC2UhRF8A8/s72-c/5b.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1046660672707497322</id><published>2011-09-15T11:10:00.000-07:00</published><updated>2011-09-15T12:02:40.634-07:00</updated><title type='text'>The Lincoln Exercise For GDP111</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ItcLif2UwoQ/TnI_ePg5urI/AAAAAAAAAZE/Ph4aBKc9Xls/s1600/lincolnIcon.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-ItcLif2UwoQ/TnI_ePg5urI/AAAAAAAAAZE/Ph4aBKc9Xls/s200/lincolnIcon.jpg" width="151" /&gt;&lt;/a&gt;&lt;/div&gt;The finished template for the"Lincoln" exercise is &lt;a href="http://thewriterservice.com/gdp111/lincolnLayout.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The text that accompanies your work files is contained within a .DOC file. If you can't open this file, upload it to Google Docs. Then copy and paste the text.&lt;br /&gt;&lt;br /&gt;This template hasn't been transparentized. So, go to Object&amp;gt;Effects&amp;gt;Transparency, and run it down to about 65%.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1046660672707497322?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1046660672707497322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1046660672707497322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1046660672707497322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1046660672707497322'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/lincoln-exercise-for-gdp111.html' title='The Lincoln Exercise For GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ItcLif2UwoQ/TnI_ePg5urI/AAAAAAAAAZE/Ph4aBKc9Xls/s72-c/lincolnIcon.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2304805586566602187</id><published>2011-09-15T10:33:00.000-07:00</published><updated>2011-09-15T12:03:21.187-07:00</updated><title type='text'>The Anna Sanchez Exercise For GDP111</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-uEqBdELuPdc/TnI2zboB1PI/AAAAAAAAAZA/auqEc7ktMjw/s1600/annaIcon.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="154" src="http://1.bp.blogspot.com/-uEqBdELuPdc/TnI2zboB1PI/AAAAAAAAAZA/auqEc7ktMjw/s200/annaIcon.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;The "Anna Sanchez" exercise finished template is &lt;a href="http://thewriterservice.com/gdp111/04annaBoth.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A couple of hints: Give your a page a bleed of about a quarter inch. This is where your fold lines should be. No part of the dashed line should extend onto the actual finished document. And it should be in registration color. You will have points deducted for putting them in black.&lt;br /&gt;&lt;br /&gt;If the instructions are unclear, phrase a question in plain English about the problem and Google it. You will be surprised how many times doing this for such problems will yield explanations in the first return.&lt;br /&gt;&lt;br /&gt;The text within the yellow bars got mangled when I extracted the piece from the student handout. So, you're on your own there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2304805586566602187?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2304805586566602187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2304805586566602187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2304805586566602187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2304805586566602187'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/anna-sanchez-exercise-finished-template.html' title='The Anna Sanchez Exercise For GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-uEqBdELuPdc/TnI2zboB1PI/AAAAAAAAAZA/auqEc7ktMjw/s72-c/annaIcon.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1343030584056908926</id><published>2011-09-15T07:40:00.000-07:00</published><updated>2011-09-15T07:40:58.293-07:00</updated><title type='text'>The "Monster" Exercise For GDP111</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-u5JFT1srZT0/TnIOQjSaH7I/AAAAAAAAAY8/H9o3cvnhatk/s1600/montoo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-u5JFT1srZT0/TnIOQjSaH7I/AAAAAAAAAY8/H9o3cvnhatk/s200/montoo.jpg" width="188" /&gt;&lt;/a&gt;The finished template for the "Monster" exercise is &lt;a href="http://thewriterservice.com/gdp111/4monstr.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Follow the same procedure as for the "Teacups" exercise.&lt;br /&gt;&lt;br /&gt;You can also use these templates while constructing your page. To do this, place the template onto a layer beneath your working layer. Then select "All" in your working layer, and run the transparency down to about 50%. You can then compare your work to the finished piece as you go along.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1343030584056908926?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1343030584056908926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1343030584056908926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1343030584056908926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1343030584056908926'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/monster-exercise-for-gdp111.html' title='The &quot;Monster&quot; Exercise For GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-u5JFT1srZT0/TnIOQjSaH7I/AAAAAAAAAY8/H9o3cvnhatk/s72-c/montoo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-924610040619272852</id><published>2011-09-14T21:31:00.000-07:00</published><updated>2011-09-15T07:20:32.968-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><title type='text'>The Teacups Exercise For GDP111</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-9XFecI9s1TY/TnF-zniBECI/AAAAAAAAAY4/KCepvmWIanc/s1600/04B-Teacup.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="155" src="http://3.bp.blogspot.com/-9XFecI9s1TY/TnF-zniBECI/AAAAAAAAAY4/KCepvmWIanc/s200/04B-Teacup.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;The template of the finished artwork for the Teacups exercise is &lt;a href="http://thewriterservice.com/gdp111/4teacups.pdf"&gt;&lt;b&gt;here&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Create a new layer above your work. Place the PDF of the template onto this new layer. When placing the PDF, lock the other layers to insure that you don't accidentally place it onto another layer. Check "Show import options." Then click "Open."&lt;br /&gt;&lt;br /&gt;A new dialog box will open. In this box, select "Media" for the "Crop to" selection, and check "Transparent background." Click "OK."&lt;br /&gt;&lt;br /&gt;Your loaded cursor will show &amp;nbsp;on the page. Click once anywhere. The full page will then pop in. In your positioning dialog--usually in the header section of the page, to the left--click 0n X-0 and Y-0.&amp;nbsp;This should position the template directly over your work. And it should have 65% opacity so that you can see your work underneath.&lt;br /&gt;&lt;br /&gt;If your work looks reasonably the same hand it in. Otherwise correct it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-924610040619272852?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/924610040619272852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=924610040619272852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/924610040619272852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/924610040619272852'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/teacups-exercise-for-gdp111.html' title='The Teacups Exercise For GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-9XFecI9s1TY/TnF-zniBECI/AAAAAAAAAY4/KCepvmWIanc/s72-c/04B-Teacup.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8376234096582328367</id><published>2011-09-09T06:57:00.000-07:00</published><updated>2011-09-19T15:24:40.822-07:00</updated><title type='text'>The Wedding Invitation For GDP111</title><content type='html'>&lt;div class="" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-ewGc0qQ6E5g/Tmoa3NEDnvI/AAAAAAAAAY0/cW-2c0NqtAM/s1600/weddingInvite.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-ewGc0qQ6E5g/Tmoa3NEDnvI/AAAAAAAAAY0/cW-2c0NqtAM/s200/weddingInvite.jpg" width="179" /&gt;&lt;/a&gt;If you have already started this assignment, you can download just the PDF of the finished piece &lt;a href="http://thewriterservice.com/gdp111/03Bwedding.pdf"&gt;here&lt;/a&gt;. Place this onto a new layer in your working Indesign document, above all of the other layers. Be sure to select "Media" as the cropping option. Then select for the top left position of the PDF X-0 and Y-0.&lt;br /&gt;&lt;br /&gt;Otherwise, you can do this work from the full Indesign file provided&amp;nbsp;&lt;a href="http://www.thewriterservice.com/gdp111/03BWedding.zip"&gt;here&lt;/a&gt;.&amp;nbsp;The image is already in place, and the raw text has been placed onto a separate layer.&lt;br /&gt;&lt;br /&gt;See the "Teacups" exercise above for a fuller &amp;nbsp;explanation of placing the finished template.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8376234096582328367?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8376234096582328367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8376234096582328367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8376234096582328367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8376234096582328367'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/wedding-invitation-for-gdp111.html' title='The Wedding Invitation For GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ewGc0qQ6E5g/Tmoa3NEDnvI/AAAAAAAAAY0/cW-2c0NqtAM/s72-c/weddingInvite.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2390006927116577587</id><published>2011-09-08T20:55:00.000-07:00</published><updated>2011-09-09T15:19:07.429-07:00</updated><title type='text'>The Desserts Menu For GDP111</title><content type='html'>&lt;div class="" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-BhVz_Gy0S7U/TmmMtinPDDI/AAAAAAAAAYw/NQJv44oAF5s/s1600/dessertDeal.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-BhVz_Gy0S7U/TmmMtinPDDI/AAAAAAAAAYw/NQJv44oAF5s/s320/dessertDeal.jpg" width="235" /&gt;&lt;/a&gt;The Desserts Menu exercise template is&amp;nbsp;&lt;a href="http://thewriterservice.com/gdp111/03Cdesserts.zip"&gt;&lt;b&gt;here&lt;/b&gt;&lt;/a&gt;. Put your own work on the layer labeled "Student." You can reduce the opacity of the template layer to compare what you have done to the template. Do not hand in anything that is not exactly right.&lt;br /&gt;&lt;br /&gt;I made a video of an exercise that you will do later this semester &lt;a href="http://www.screencast-o-matic.com/watch/cQ6Xb3f7M"&gt;here&lt;/a&gt;. You may find watching this tutorial now useful, because it shows how to make a template yourself. Plus you'll be a step ahead when you have to do the exercise.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2390006927116577587?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2390006927116577587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2390006927116577587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2390006927116577587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2390006927116577587'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/desserts-menu-exercise-template-is-here.html' title='The Desserts Menu For GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-BhVz_Gy0S7U/TmmMtinPDDI/AAAAAAAAAYw/NQJv44oAF5s/s72-c/dessertDeal.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7603820026589457679</id><published>2011-09-08T10:33:00.000-07:00</published><updated>2011-09-08T10:53:37.033-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><title type='text'>The Expert exercise for GDP111</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/-IrAJBS2cvcA/Tmj80oj863I/AAAAAAAAAYs/RSOuHHAnbos/s1600/xpert.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-IrAJBS2cvcA/Tmj80oj863I/AAAAAAAAAYs/RSOuHHAnbos/s200/xpert.jpg" width="198" /&gt;&lt;/a&gt;The template for the "Expert" exercise is &lt;b&gt;&lt;a href="http://thewriterservice.com/gdp111/03Expert.zip"&gt;here&lt;/a&gt;&lt;/b&gt;.&lt;/div&gt;&lt;br /&gt;This template includes an Indesign file with some of the text filled in. You can do your work on the bottom layer, and then check the template which is at 50% transparency on the middle layer to see if your efforts are correct. On the top layer, you can check out the sample text to see what settings produce the correct results.&lt;br /&gt;&lt;br /&gt;Do NOT enter the text by typing it in. Time spent typing is deducted directly from Happy Hour. Valuable cocktail hour time is forever lost when you enter text that someone else has already done. A sobering thought. Instead, copy the text from the PDF in your student handout, and then paste it into the text box that you have created in Indesign.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7603820026589457679?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7603820026589457679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7603820026589457679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7603820026589457679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7603820026589457679'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/expert-exercise-for-gdp111.html' title='The Expert exercise for GDP111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-IrAJBS2cvcA/Tmj80oj863I/AAAAAAAAAYs/RSOuHHAnbos/s72-c/xpert.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-531265018562509169</id><published>2011-09-05T21:25:00.000-07:00</published><updated>2011-09-05T22:09:26.009-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>The Reedy Exercise for GDP 111</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-o2_x-IgECgs/TmWZOjZy7WI/AAAAAAAAAYg/U3GVKruszSE/s1600/reedy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="215" src="http://2.bp.blogspot.com/-o2_x-IgECgs/TmWZOjZy7WI/AAAAAAAAAYg/U3GVKruszSE/s320/reedy.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Students often have difficulty sizing the border for the Reedy exercise. Here's a quick tip. The box is 2" by 3" with the dots aligned to the inside.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;For Reedy, I have created the first of a number of templates for you to check your work. These will save you loads of time. I have uploaded the template &lt;b&gt;&lt;a href="http://thewriterservice.com/gdp111/reedyToSize.pdf"&gt;here&lt;/a&gt;&lt;/b&gt;.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;After you have downloaded the template, create a new layer in the Indesign document that you are preparing for the Reedy exercise. Put this layer below the layer holding your 2" by 3" box. Place the template, a PDF file, on this layer. Align your box with the outside of the dots in the template. Now when you work on the creation and fotmatting of the text, you can compare what you have to the template.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Do not hand in the file until your work matches the template. Be sure to hide the template when creating your finished PDF file.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-531265018562509169?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/531265018562509169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=531265018562509169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/531265018562509169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/531265018562509169'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/09/reedy-exercise.html' title='The Reedy Exercise for GDP 111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-o2_x-IgECgs/TmWZOjZy7WI/AAAAAAAAAYg/U3GVKruszSE/s72-c/reedy.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5805270064874572215</id><published>2011-08-25T11:01:00.000-07:00</published><updated>2011-08-25T11:45:15.523-07:00</updated><title type='text'>The Illustrator Exercise in 110</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-w7K9F7hx_Uk/TlaOP0pCSgI/AAAAAAAAAYY/Hqat9ufsMNU/s1600/penTool.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-w7K9F7hx_Uk/TlaOP0pCSgI/AAAAAAAAAYY/Hqat9ufsMNU/s1600/penTool.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;a href="http://www.thewebcurmudgeon.com/2010/09/reversed-arcs-in-illustrator.html"&gt;Here is a link&lt;/a&gt;&lt;/b&gt; to an old tutorial on the reversed arcs exercise for Illustrator. Learn this and you get the bonus of having learned the same thing in a number of other Adobe applications, including Indesign and Photoshop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5805270064874572215?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5805270064874572215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5805270064874572215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5805270064874572215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5805270064874572215'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/08/illustrator-exercise-in-110.html' title='The Illustrator Exercise in 110'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-w7K9F7hx_Uk/TlaOP0pCSgI/AAAAAAAAAYY/Hqat9ufsMNU/s72-c/penTool.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1905845889627869656</id><published>2011-07-28T14:24:00.000-07:00</published><updated>2011-12-27T07:53:25.944-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='computer management'/><title type='text'>Solving The Caps Lock Problem</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-B_1zejYKJgs/TjHTZ_sfmyI/AAAAAAAAAX4/2hoHhe4JPqU/s1600/capsUnlok.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="292" src="http://1.bp.blogspot.com/-B_1zejYKJgs/TjHTZ_sfmyI/AAAAAAAAAX4/2hoHhe4JPqU/s320/capsUnlok.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: left;"&gt;&lt;a href="http://lifehacker.com/373177/neuter-the-caps-lock-key-with-handicapslock"&gt;Neuter the Caps Lock Key with Handicapslock&lt;/a&gt;&lt;/li&gt;&lt;li style="text-align: left;"&gt;&lt;a href="http://www.youtube.com/watch?v=biBP_LdzKFY&amp;amp;context=C38b410aADOEgsToPDskKUQWhvmTIweCD8N6tMRo07"&gt;This&lt;/a&gt; on Hak5&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1905845889627869656?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1905845889627869656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1905845889627869656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1905845889627869656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1905845889627869656'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/07/solving-caps-lock-problem.html' title='Solving The Caps Lock Problem'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-B_1zejYKJgs/TjHTZ_sfmyI/AAAAAAAAAX4/2hoHhe4JPqU/s72-c/capsUnlok.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-3858420135287033288</id><published>2011-07-25T13:47:00.000-07:00</published><updated>2011-08-23T08:18:18.178-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='computer management'/><category scheme='http://www.blogger.com/atom/ns#' term='file management'/><title type='text'>Doomsday</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-gpN3dvxXrMY/TjdvH1VKi6I/AAAAAAAAAYM/uGCEccG-B6w/s1600/crash.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-gpN3dvxXrMY/TjdvH1VKi6I/AAAAAAAAAYM/uGCEccG-B6w/s1600/crash.jpg" /&gt;&lt;/a&gt;&lt;b&gt;My system died. &lt;/b&gt;Yours will too. This prompted me to seek cloud storage. I found&lt;a href="http://www.mimedia.com/"&gt; one site&lt;/a&gt; that gives you 7GB free, with auto-backup, and &lt;a href="http://www.adrive.com/"&gt;another&lt;/a&gt; that gives you 50GB free, apparently w/o auto-backup.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;UPDATE&lt;/span&gt;&lt;/b&gt;&amp;nbsp; &lt;i&gt;The auto-backup conflicted with WAMPP, giving me odd and misleading error messages. &amp;nbsp;I've offloaded it rather than solve the conflict. If you don't use WAMPP, you will likely not have a conflict.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Here's my theory: I keep current work in a single subdirectory. I have an archive directory that contains everything that has been in the current work directory, but has been completed. This directory is about 9GB. I zipped this directory down to about 6GB, and stored it on the second site.&lt;br /&gt;&lt;br /&gt;In the meantime, the first site does auto-backup of my current work directory. As I approach the 7GB limit of this site, I'll begin to remove work to the archive directory. Then I'll zip and store it on the second site.&lt;br /&gt;&lt;br /&gt;When my machine died, I still had all of my data on two HDDs, but it took me a while to retrieve it. This is because both drives were in the same machine. Literally minutes after the failure, I needed access to the data on those drives, but I couldn't get it immediately. I might have stored the redundant backup on an external drive. But even that might fail in, for instance, the kind of disaster that brought a wildfire within two blocks of my residence last year.&lt;br /&gt;&lt;br /&gt;One other hidden benefit of the failure of my machine besides the fact that the replacement is faster and more up-to-date is that I have replaced all of the programs that I use with the newest versions.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SEE ALSO:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.thewebcurmudgeon.com/search/label/file%20management"&gt;These&lt;/a&gt; older posts on file management. Note that this posting is shown at the top.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.todo-backup.com/"&gt;EaseUS&lt;/a&gt; TODO Backup. This may be an even better solution. However, I have not tested it. I do not see a file size limitation listed. I wonder.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.symform.com/free-cloud-storage.aspx"&gt;Symform&lt;/a&gt;. 100GB of free backup if you allocate 150GB of your local storage capacity to a distributed system of data storage. I didn't go for it because I did not want to take the time to discover what I might not like about such a system.&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.cx.com/features/"&gt;Cloud Experience&lt;/a&gt;. 10GB free.&lt;/li&gt;&lt;li&gt;&lt;a href="http://uploadingit.com/"&gt;uploadingit.com&lt;/a&gt;. 10GB free.&lt;/li&gt;&lt;li&gt;&lt;a href="http://dropsapp.com/"&gt;Drops&lt;/a&gt;, unlimited storage.&amp;nbsp;No more limits on file storage, only 50 Mb limit per one file. Untested by The Curmudgeon, because who has time?&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-3858420135287033288?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/3858420135287033288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=3858420135287033288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3858420135287033288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3858420135287033288'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/07/doomsday.html' title='Doomsday'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-gpN3dvxXrMY/TjdvH1VKi6I/AAAAAAAAAYM/uGCEccG-B6w/s72-c/crash.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-9061162554309908193</id><published>2011-05-06T19:24:00.000-07:00</published><updated>2011-05-10T21:11:28.612-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web forms'/><title type='text'>WARNING About HTML Email</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-3xIY3dsiV3U/TcSsGT_FknI/AAAAAAAAAWU/O4nSi3BBbJg/s1600/php.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="http://2.bp.blogspot.com/-3xIY3dsiV3U/TcSsGT_FknI/AAAAAAAAAWU/O4nSi3BBbJg/s200/php.jpg" width="200" /&gt;&lt;/a&gt;I have a number of Web forms that return emails via PHP scripts. In the case of an ecommerce site, the script puts the details of the order into an HTML table that the client can print out nicely.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;A problem arose when orders came in with randomly placed bang (exclamation mark !) characters in the latter part of the message. I could never duplicate the problem, nor could I find a definitive explanation for it.&lt;br /&gt;&lt;br /&gt;Today, I Googled the problem yet again, getting back an explanation in the first return.&lt;br /&gt;&lt;br /&gt;It turns out that an email transmission cannot have a line exceeding 998 characters without a line break. My table quickly filled up that quota with &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;  kinds of things, until, when the table got down to the end (the part where I was having the problem), it had exceeded the 998 characters.&lt;br /&gt;&lt;br /&gt;To solve the problem, I put a \n character somewhere in the middle of the string that creates the table. Of course, the HTML parser ignores this line break, but it apparently satisfies the email specification.&lt;br /&gt;&lt;br /&gt;Orders are now coming in &amp;nbsp;without the random bang characters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-9061162554309908193?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/9061162554309908193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=9061162554309908193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/9061162554309908193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/9061162554309908193'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/05/warning-about-html-email.html' title='WARNING About HTML Email'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-3xIY3dsiV3U/TcSsGT_FknI/AAAAAAAAAWU/O4nSi3BBbJg/s72-c/php.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7320330189123403159</id><published>2011-04-17T22:54:00.000-07:00</published><updated>2011-04-18T12:09:05.774-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><category scheme='http://www.blogger.com/atom/ns#' term='file conversion'/><title type='text'>PDF to Epub via Indesign</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-6GCuKQZFGAU/TavSiENrMQI/AAAAAAAAAWQ/f7UKwRS_mOw/s1600/ePub.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-6GCuKQZFGAU/TavSiENrMQI/AAAAAAAAAWQ/f7UKwRS_mOw/s1600/ePub.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;In some cases, an EPUB will display better than a PDF--for instance, on an ereader. An EPUB is essentially an HTML document, and so it will reflow nicely at different window sizes.&lt;br /&gt;&lt;br /&gt;You can make an instant conversion of PDF to EPUB using a number of different applications. A very good one is the Opensource program, &lt;a href="http://calibre-ebook.com/"&gt;Calibre&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A PDF is often formatted for a larger sized output. You may want a bit more control over the way in which the document displays at smaller sizes such as on a cell phone.So here's a step-by-step that worked for me. YMMV.&lt;br /&gt;&lt;br /&gt;1. Export the PDF to a MS Word DOC file from Acrobat. This file will crash Indesign CS5, as will an RTF exported in the same way. So upload the file to Google Docs, then download it as a MS Word DOC file. The downloaded version will not crash Indesign. (Go figure.) If you don't have Indesign, you can open the document in Word directly from the PDF. You can probably get to EPUB from there, but I've never tried it.&lt;br /&gt;&lt;br /&gt;2. In Indesign, create a document that is approximate to the size of your reader. Be sure to include as many pages as you will need, and click off of "Facing Pages."&lt;br /&gt;&lt;br /&gt;3. Place the DOC file, selecting "Show Import Options." Hold down the Shift/Alt keys (PC) or Shift/Option on those funny computers.&lt;br /&gt;&lt;br /&gt;4. Click in the upper left hand corner of the margin guide on the &amp;nbsp;first page. The text will magically fill the document. Check to make certain that everything came in as expected, and make whatever adjustments that may be necessary.&lt;br /&gt;&lt;br /&gt;That's it. You're done.&lt;br /&gt;___________________________&lt;br /&gt;&lt;b&gt;SEE ALSO&lt;/b&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The &lt;a href="http://aldiko.com/"&gt;Alkido Reader&lt;/a&gt;. This app works great for displaying EPUBs on my Android phone.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7320330189123403159?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7320330189123403159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7320330189123403159' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7320330189123403159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7320330189123403159'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/04/pdf-to-epub-via-indesign.html' title='PDF to Epub via Indesign'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-6GCuKQZFGAU/TavSiENrMQI/AAAAAAAAAWQ/f7UKwRS_mOw/s72-c/ePub.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8577799039810371467</id><published>2011-04-15T14:00:00.000-07:00</published><updated>2011-04-18T12:15:33.375-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Creating A Directory on the Server</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-Nfj5Ybqee3Q/Taix97ZOa2I/AAAAAAAAAWM/cG12Rsga6wM/s1600/php.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-Nfj5Ybqee3Q/Taix97ZOa2I/AAAAAAAAAWM/cG12Rsga6wM/s1600/php.gif" /&gt;&lt;/a&gt;This exercise takes a string that is an absolute path to a proposed directory structure, then (1) tests to see if the directories exist in the current path, and if they don't, (2) it creates them, setting the permissions to read/write. Otherwise, it moves on. I had to figure out this little bit in order to be able to make directories in the Creating a Grading Rubric Exercise. The script, fully commented, is &lt;a href="http://thewriterservice.com/grading111/makeDirectoryApp.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This exercise points out an important aspect of creating a Web application: Things should pretty much just work without requiring a lot of thought. No dialogs, and few, if any, instructions. In this case, you enter the path where you want the output to go, and the script either puts the stuff there, or it creates the directories, and then puts the stuff there.&lt;br /&gt;&lt;br /&gt;And then there's the pitfall. What happens in unexpected cases, for instance, where the user doesn't have permission to create directories, or that other big one, the one that nobody ever thought of? This is why we have updates.&lt;br /&gt;&lt;br /&gt;Hey! It works on my machine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8577799039810371467?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8577799039810371467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8577799039810371467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8577799039810371467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8577799039810371467'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/04/creating-directory-on-server.html' title='Creating A Directory on the Server'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Nfj5Ybqee3Q/Taix97ZOa2I/AAAAAAAAAWM/cG12Rsga6wM/s72-c/php.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-3014375877321361098</id><published>2011-04-07T13:07:00.000-07:00</published><updated>2011-04-16T16:32:08.906-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web forms'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Table Data Creating Another Table--beta</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Hej1c5PHorc/TZtOoT9gSiI/AAAAAAAAAWE/mYoVZaGB6G8/s1600/php-json-jQ.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-Hej1c5PHorc/TZtOoT9gSiI/AAAAAAAAAWE/mYoVZaGB6G8/s200/php-json-jQ.gif" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;This exercise is a study in content management using JSON, jQuery, and PHP.&lt;br /&gt;&lt;br /&gt;The best way to get a quick overview of the functionality is to click the example links below.&lt;br /&gt;&lt;br /&gt;The idea is to create a grading rubric in the form of an HTML table on a Web page to be used by an instructor to grade individual student assignments. The new page containing the rubric, then, will output and write individual grading files to the server.&lt;br /&gt;&lt;br /&gt;The first part creates the grading rubric. The data generated in this process is then written by PHP as a JSON file, and stored on the server&lt;br /&gt;&lt;br /&gt;The working grading page &amp;nbsp;uses jQuery to populate in the content data from the JSON file.&lt;br /&gt;&lt;br /&gt;The page that creates the rubric is located &lt;a href="http://thewriterservice.com/blog/grading/setupRubric.php"&gt;here&lt;/a&gt;. This page has as subsidiary files, s&lt;i&gt;etupRubric.js&lt;/i&gt;, a jQuery fie, and &lt;i&gt;grading111.css&lt;/i&gt;. When the instructor creating the rubric submits the form data, a PHP file, &lt;i&gt;createJSONrubric.php&lt;/i&gt;, puts all of the form data into a JSON file, an example of which is located &lt;a href="http://thewriterservice.com/grading111/grading111.json"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The actual grading page is populated from the JSON file. The&amp;nbsp;grading page is &lt;a href="http://thewriterservice.com/blog/grading/"&gt;here&lt;/a&gt;. Subsidiary files include the same g&lt;i&gt;rading111.css&lt;/i&gt; used by the rubric creation page, and the jQuery file, g&lt;i&gt;rading111.js&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;An example of the final output, what the student receiving the grade would see, is located &lt;a href="http://thewriterservice.com/blog/grading/foldingcard/Brackett.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;All of the code is commented. Please note that the deployed code that actually writes the JSON files has been commented out to prevent readers from creating files. The code is &lt;a href="http://thewriterservice.com/blog/grading/grading.zip"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-3014375877321361098?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/3014375877321361098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=3014375877321361098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3014375877321361098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3014375877321361098'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/04/table-data-creating-another-table-beta.html' title='Table Data Creating Another Table--beta'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Hej1c5PHorc/TZtOoT9gSiI/AAAAAAAAAWE/mYoVZaGB6G8/s72-c/php-json-jQ.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-279384506116190846</id><published>2011-03-27T16:17:00.000-07:00</published><updated>2011-04-07T15:48:54.722-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><title type='text'>The Postcard Template</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-gCPkC47k3dI/TY_JI_0gDPI/AAAAAAAAAV8/DL55ISTGQcQ/s1600/InDe.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5588906818997849330" src="http://1.bp.blogspot.com/-gCPkC47k3dI/TY_JI_0gDPI/AAAAAAAAAV8/DL55ISTGQcQ/s400/InDe.jpg" style="cursor: hand; cursor: pointer; float: left; height: 60px; margin: 0 10px 10px 0; width: 60px;" /&gt;&lt;/a&gt;A template for the GDP 111 postcard exercise is &lt;a href="http://archives.thewriterservice.com/gdp111/postcard.zip"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-279384506116190846?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/279384506116190846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=279384506116190846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/279384506116190846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/279384506116190846'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/03/postcard-template.html' title='The Postcard Template'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-gCPkC47k3dI/TY_JI_0gDPI/AAAAAAAAAV8/DL55ISTGQcQ/s72-c/InDe.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2435189987673264454</id><published>2011-03-10T19:18:00.000-08:00</published><updated>2011-03-12T20:10:59.682-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>A Blinking Gallery</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-ada5cf44cafb9b7f" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v16.nonxt5.googlevideo.com/videoplayback?id%3Dada5cf44cafb9b7f%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329846118%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D2C9BF879D649287BAB4E6D7028A5918E8CBCBEE.4596D2ED4DF3EF6C96827142CB32586B1C00CDC7%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dada5cf44cafb9b7f%26offsetms%3D5000%26itag%3Dw160%26sigh%3Do1cFK_xepuvrwsVahUeEyY_GImE&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v16.nonxt5.googlevideo.com/videoplayback?id%3Dada5cf44cafb9b7f%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1329846118%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D2C9BF879D649287BAB4E6D7028A5918E8CBCBEE.4596D2ED4DF3EF6C96827142CB32586B1C00CDC7%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dada5cf44cafb9b7f%26offsetms%3D5000%26itag%3Dw160%26sigh%3Do1cFK_xepuvrwsVahUeEyY_GImE&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No reasonable person would want a blinking thumbnail gallery. O&lt;span&gt;n the other hand, &lt;b&gt;&lt;a href="http://thewriterservice.com/blinkies/blinkies.html"&gt;this example&lt;/a&gt;&lt;/b&gt; &lt;/span&gt;&lt;span&gt;provides a great exercise in CSS positioning with jQuery.&lt;/span&gt;&lt;div&gt;&lt;br /&gt;The thumbnail images are contained within an unordered list, and then re-positioned by means of the script. The images in the example are placeholders in the form of GIF images of numbers.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A setInterval fires off a function that randomly transposes the images one at a time. It sort of looks as if images are being added, but the existing images are simply being shifted around.&lt;br /&gt;&lt;br /&gt;All of the code is commented--&lt;a style="font-weight: bold;" href="http://codr.cc/D1426FCE58"&gt;JavaScript&lt;/a&gt; and &lt;span style="font-weight: bold;"&gt;&lt;a href="http://codr.cc/188EC292CF"&gt;CSS/HTML&lt;/a&gt;&lt;/span&gt;. &lt;a href="http://thewriterservice.com/blinkies/blinkies.zip"&gt;&lt;span style="font-weight: bold;"&gt;Here&lt;/span&gt;&lt;/a&gt;'s a zip containing everything.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2435189987673264454?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2435189987673264454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2435189987673264454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2435189987673264454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2435189987673264454'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/03/blinking-gallery.html' title='A Blinking Gallery'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-7621303714578109942</id><published>2011-03-02T12:28:00.000-08:00</published><updated>2011-04-07T15:49:44.562-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><title type='text'>Chapter 7 Exercises</title><content type='html'>&lt;a href="http://dl.dropbox.com/u/1256687/07Poster.zip" style="font-weight: bold;"&gt;Here&lt;/a&gt;'s a link to the Poster template. And &lt;a href="http://archives.thewriterservice.com/gdp111/07Raffle.zip"&gt;&lt;span style="font-weight: bold;"&gt;here&lt;/span&gt;&lt;/a&gt;'s one to the raffle ticket.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7621303714578109942?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7621303714578109942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7621303714578109942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7621303714578109942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7621303714578109942'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/03/chapter-7-exercises.html' title='Chapter 7 Exercises'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-4164102716739954022</id><published>2011-02-23T15:03:00.000-08:00</published><updated>2011-04-07T15:50:09.058-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><title type='text'>CH 6 The Bank Card and Squiggle Assignments</title><content type='html'>&lt;b&gt;&lt;a href="http://www.thewebcurmudgeon.com/2009/10/bank-card-tutorial.html"&gt;Here's a link&lt;/a&gt;&lt;/b&gt; to an old tutorial on the bank card exercise. This link contains a video tutorial on creating the bank card, as well as a template for setting up the document, and an example finished PDF of the assignment.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://archives.thewriterservice.com/gdp111/6b.zip"&gt;Here's a link&lt;/a&gt;&lt;/b&gt; to the template for the Squiggle Assignment.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-4164102716739954022?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/4164102716739954022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=4164102716739954022' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4164102716739954022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4164102716739954022'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/02/bank-card.html' title='CH 6 The Bank Card and Squiggle Assignments'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-7053326060387972557</id><published>2011-02-17T12:12:00.000-08:00</published><updated>2011-04-07T15:50:28.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><title type='text'>GDP 111 Woes UPDATED FOR CH 5</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-pXf33z5kBro/TV2ICdqBF0I/AAAAAAAAAVs/VMYKMstvXnE/s1600/InDe.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5574761489656518466" src="http://2.bp.blogspot.com/-pXf33z5kBro/TV2ICdqBF0I/AAAAAAAAAVs/VMYKMstvXnE/s400/InDe.jpg" style="cursor: pointer; float: left; height: 60px; margin: 0pt 10px 10px 0pt; width: 60px;" /&gt;&lt;/a&gt;Chapter 6, the bank card and Squiggle Assignment, is the next post up.&lt;br /&gt;&lt;br /&gt;For some reason, nobody has used the Cheating With Indesign method, with the result that the work being turned in is something less than totally wonderful.  So, I'm making another attempt. This time, I've zipped my Indesign  grading template for Exercise #2 &lt;b&gt;&lt;a href="http://archives.thewriterservice.com/gdp111/ch2.zip"&gt;here&lt;/a&gt;&lt;/b&gt;, for #3 &lt;b&gt;&lt;a href="http://archives.thewriterservice.com/gdp111/ch3.zip"&gt;here&lt;/a&gt;&lt;/b&gt;, and for #4 &lt;a href="http://archives.thewriterservice.com/gdp111/ch4.zip"&gt;&lt;span style="font-weight: bold;"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After you've finished the exercises, place your PDFs into these Indesign files. Move your work into place under the semi-transparent layers containing the examples. Then compare. If yours doesn't match up, you have dome something wrong.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the "Expert" exercise, I have provided a couple of lines of text above the example layer to demonstrate using leading and space-after to achieve the proper vertical spacing. By the way, I was able to match the horizontal spacing by using tracking and kerning. Horizontal spacing is not critical to this exercise, so don't be concerned about it. But if you're interested, you can find&lt;b&gt; &lt;/b&gt;a quick little video tutorial on the subject &lt;b&gt;&lt;a href="http://vimeo.com/14923916"&gt;here&lt;/a&gt;&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Chapter 5b is now available &lt;b&gt;&lt;a href="http://archives.thewriterservice.com/gdp111/ch5b%20Folder.zip"&gt;here&lt;/a&gt;&lt;/b&gt;,  5c &lt;b&gt;&lt;a href="http://archives.thewriterservice.com/gdp111/5c.zip"&gt;here&lt;/a&gt;&lt;/b&gt;, 5e is &lt;a href="http://archives.thewriterservice.com/gdp111/5e.zip"&gt;&lt;span style="font-weight: bold;"&gt;here&lt;/span&gt;&lt;/a&gt;, and 5f is &lt;b&gt;&lt;a href="http://archives.thewriterservice.com/gdp111/5f.zip"&gt;here&lt;/a&gt;&lt;/b&gt;. The text for with the proper tabbing for 5b is contained in the folder. You can get the others by copy/paste from the PDF student handout. Do not type the text in. Time that you spend typing will be deducted directly from Happy Hour. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The 5b exercise is tricky. Be sure to use the template so that you can compare your work as you go along. I have included a layer with a version that I created myself. You will see that you can get pretty close to the example. If yours does not line up, you have done something wrong. Correct it &lt;b&gt;&lt;i&gt;before&lt;/i&gt;&lt;/b&gt; you submit it.&lt;br /&gt;&lt;br /&gt;5d, located &lt;a href="http://archives.thewriterservice.com/gdp111/5d.zip"&gt;&lt;span style="font-weight: bold;"&gt;here&lt;/span&gt;&lt;/a&gt;, is not required. However it presents a number of interesting challenges, not the least of which is a set of vague instructions. Because 5d is optional, I have included in the package the full INDD document for the completed assignment so that you can see how it was done.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7053326060387972557?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7053326060387972557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7053326060387972557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7053326060387972557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7053326060387972557'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/02/gdp-111-woes.html' title='GDP 111 Woes UPDATED FOR CH 5'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-pXf33z5kBro/TV2ICdqBF0I/AAAAAAAAAVs/VMYKMstvXnE/s72-c/InDe.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1210521197850218757</id><published>2011-01-26T19:21:00.000-08:00</published><updated>2011-04-07T15:50:47.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><title type='text'>Cheating With Indesign</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_1LVZn-nyesg/TUDnZtM_biI/AAAAAAAAAVg/XhHdHmPxhos/s1600/download.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5566703568246763042" src="http://4.bp.blogspot.com/_1LVZn-nyesg/TUDnZtM_biI/AAAAAAAAAVg/XhHdHmPxhos/s400/download.jpg" style="cursor: pointer; float: left; height: 60px; margin: 0pt 10px 10px 0pt; width: 60px;" /&gt;&lt;/a&gt;A lot of the Indesign assignments that you will undertake come with embedded PDFs of the finished product in the student handouts. Even images and  diagram can be helpful if they are to scale. You can usually right-click on images to save them to your computer's hard disk.&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When setting up the Indesign document, you can place the PDF or image that you have captured on the bottom layer, and then use it as a template to construct your finished piece. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An example of using this method is located &lt;a href="http://www.screencast-o-matic.com/watch/cQ6Xb3f7M"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For the most part, I have posted Indesign packages for the grading templates that I use for these assignments. Captures that I have made are contained in the packages.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1210521197850218757?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1210521197850218757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1210521197850218757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1210521197850218757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1210521197850218757'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2011/01/cheating-with-indesign.html' title='Cheating With Indesign'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1LVZn-nyesg/TUDnZtM_biI/AAAAAAAAAVg/XhHdHmPxhos/s72-c/download.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2069907873377677577</id><published>2010-09-15T14:22:00.000-07:00</published><updated>2011-04-07T15:51:18.592-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><title type='text'>Indesign Tabs and Tables</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_1LVZn-nyesg/TJGkNovsqSI/AAAAAAAAAU8/MhY9AdDtnGU/s1600/download.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5517371572688300322" src="http://2.bp.blogspot.com/_1LVZn-nyesg/TJGkNovsqSI/AAAAAAAAAU8/MhY9AdDtnGU/s400/download.jpg" style="cursor: pointer; float: left; height: 60px; margin: 0pt 10px 10px 0pt; width: 60px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;NOTICE&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"&gt;:&lt;/span&gt; The Tabs and Tables Assignment Due date has been postponed for a week, and will not be due until the week of September 27th.&lt;br /&gt;&lt;br /&gt;Below are listed very good tutorials on using tabs and tables in Indesign.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Tabs:&lt;/b&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;If all else fails, &lt;a href="http://help.adobe.com/en_US/indesign/cs/using/WSa285fff53dea4f8617383751001ea8cb3f-6db1a.html" style="font-weight: bold;"&gt;RTFM&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;A &lt;a href="http://indesignsecrets.com/tab-stops-in-indesign-tables.php" style="font-weight: bold;"&gt;tabs tutorial&lt;/a&gt; on &lt;span style="font-style: italic; font-weight: bold;"&gt;Indesign Secrets.Com&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;A &lt;a href="http://creativementor.com.au/working-with-tabs-in-indesign"&gt;&lt;span style="font-weight: bold;"&gt;video tutorial&lt;/span&gt;&lt;/a&gt; on &lt;span style="font-style: italic; font-weight: bold;"&gt;Creative Mentor.Com&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;How to Create "&lt;a href="http://www.youtube.com/watch?v=DYUl0yoVEy8&amp;amp;feature=related"&gt;&lt;span style="font-weight: bold;"&gt;Leader Dots&lt;/span&gt;&lt;/a&gt;" with InDesign, on &lt;span style="font-style: italic; font-weight: bold;"&gt;Youtube&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Terry White, a great Adobe evangelist, on &lt;a href="http://layersmagazine.com/text-wrap-and-text-formatting-in-indesign.html" style="font-weight: bold;"&gt;tabs&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://creativecurio.com/2008/07/indesign-project-lists-tabs-and-final-details/"&gt;&lt;span style="font-weight: bold;"&gt;Creating tabs&lt;/span&gt;&lt;/a&gt; on &lt;span style="font-style: italic; font-weight: bold;"&gt;Creative Curio&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Tables:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If all else fails, &lt;a href="http://help.adobe.com/en_US/indesign/cs/using/WSa285fff53dea4f8617383751001ea8cb3f-6ff2a.html" style="font-weight: bold;"&gt;RTFM&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;An excellent &lt;a href="http://www.adobe.com/designcenter/video_workshop/?id=vid0081"&gt;&lt;span style="font-weight: bold;"&gt;video tutorial&lt;/span&gt;&lt;/a&gt; by Anne-Marie Concepción from &lt;span style="font-style: italic; font-weight: bold;"&gt;Lynda.Com&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.graspr.com/videos/Give-your-InDesign-Tables-a-little-Style-in-CS3"&gt;&lt;span style="font-weight: bold;"&gt;Table styles&lt;/span&gt;&lt;/a&gt; from Adobe's Terry White, the go-to guy on Indesign.&lt;/li&gt;&lt;li&gt;A &lt;a href="http://www.designertoday.com/Tutorials/InDesign/4732/Creating.a.Table.InDesign.Tutorial.aspx" style="font-weight: bold;"&gt;step-by-step&lt;/a&gt; by Jacquelin Vanderwood on creating a table from tabbed text, on &lt;span style="font-style: italic; font-weight: bold;"&gt;Designer Today&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2069907873377677577?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2069907873377677577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2069907873377677577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2069907873377677577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2069907873377677577'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2010/09/tabs-and-tables.html' title='Indesign Tabs and Tables'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1LVZn-nyesg/TJGkNovsqSI/AAAAAAAAAU8/MhY9AdDtnGU/s72-c/download.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-3930968538978618599</id><published>2010-09-05T11:41:00.000-07:00</published><updated>2010-09-06T07:40:01.377-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Reversed Arcs in Illustrator</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1LVZn-nyesg/TIPoBtlcbSI/AAAAAAAAAUs/B5Qcgc7pZ4c/s1600/penTool.gif"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 129px;" src="http://4.bp.blogspot.com/_1LVZn-nyesg/TIPoBtlcbSI/AAAAAAAAAUs/B5Qcgc7pZ4c/s200/penTool.gif" alt="" id="BLOGGER_PHOTO_ID_5513505484945780002" border="0" /&gt;&lt;/a&gt;&lt;b&gt;&lt;a href="http://screenr.com/29r"&gt;Here&lt;/a&gt;&lt;/b&gt; is a quick little demo of the reversed arcs exercise, using the pen tool in Illustrator.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quik 'n Dirty Tip of the Day&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;Getting artwork that you can use from the Net&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Don't create artwork that already exists in a form that you can use. A lot of material that is in the public domain is available as vector artwork on the Net in SVG format. The best source for logos and symbols is &lt;a href="http://www.blogger.com/The%20Wikimedia%20Commons"&gt;The Wikimedia Commons&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Say, for instance that you must use a recycling symbol in a piece for print. Type "recycle SVG" into Google. The first return will be for Wikimedia Commons, having the title, "File:Recycling symbol.svg." The page will display the green circular arrow symbol. Right-click on the graphic, and select "save link as." (Your browser may do this in a slightly different way. This is how Firefox does it.)&lt;br /&gt;&lt;br /&gt;Your saved file will be a SVG vector file that can be opened and saved in Illustrator. You can place the saved Illustrator file into Indesign. Avoid using JPGs, for line art, as these are almost always aliased, and will look fuzzy. Also, JPGs usually don't upsample well. Sometimes they do, but don't count on it.&lt;br /&gt;&lt;br /&gt;If you can only get a bitmap,  submit it to &lt;a href="http://vectormagic.com/home"&gt;&lt;span style="font-weight: bold;"&gt;Vector Magic&lt;/span&gt;&lt;/a&gt;, the best raster-to-vector utility on the Web. For line art, this online tool is is magnitudes better than anything that you can do using Live Trace in Illustrator.&lt;br /&gt;&lt;br /&gt;Remember: Time spent spinning your wheels is deducted every day from Happy Hour.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;See also:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://www.allfreelogo.com/alpha/x.html?page=2"&gt;All Free Logo.com&lt;/a&gt;&lt;/b&gt;, a library of logos.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-3930968538978618599?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/3930968538978618599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=3930968538978618599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3930968538978618599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3930968538978618599'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2010/09/reversed-arcs-in-illustrator.html' title='Reversed Arcs in Illustrator'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1LVZn-nyesg/TIPoBtlcbSI/AAAAAAAAAUs/B5Qcgc7pZ4c/s72-c/penTool.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5706596627964647655</id><published>2010-08-23T14:12:00.000-07:00</published><updated>2010-10-06T12:27:15.095-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file management'/><title type='text'>More on Backup</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1LVZn-nyesg/THLw21f_zOI/AAAAAAAAAUk/mkqY9017Yvc/s1600/logmein.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 102px;" src="http://3.bp.blogspot.com/_1LVZn-nyesg/THLw21f_zOI/AAAAAAAAAUk/mkqY9017Yvc/s200/logmein.jpg" alt="" id="BLOGGER_PHOTO_ID_5508730119092423906" border="0" /&gt;&lt;/a&gt;This morning during class, I was able to work directly on my home machine via this&lt;a href="https://secure.logmein.com/"&gt; nifty, free app&lt;/a&gt;. The app does a remarkably good job, and is worth a look. &lt;a href="https://secure.logmein.com/US/welcome/documentation/EN/pdf/Pro2/LogMeIn_Pro2_GettingStarted.pdf"&gt;Here is a link to the quick start guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I also recently found a Web service, also free, called &lt;a href="https://www.homepipe.net/"&gt;Home Pipe&lt;/a&gt;. This app allows you to access files directly from your home machine--handy in cases where you forgot your homework.&lt;br /&gt;&lt;br /&gt;Otherwise, click &lt;a href="http://www.thewebcurmudgeon.com/search/label/file%20management"&gt;here&lt;/a&gt; to display underneath of this post older posts on this topic . These posts contain other backup methods. And remember, never use a jump drive or any other external medium to transfer files. If nobody uses these devices this semester, perhaps this will become the first ev&lt;a href="http://3.bp.blogspot.com/_1LVZn-nyesg/TKzM5NtoBPI/AAAAAAAAAVM/z-T-AH5pZQQ/s1600/update.gif"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 150px; height: 147px;" src="http://3.bp.blogspot.com/_1LVZn-nyesg/TKzM5NtoBPI/AAAAAAAAAVM/z-T-AH5pZQQ/s400/update.gif" alt="" id="BLOGGER_PHOTO_ID_5525016126182393074" border="0" /&gt;&lt;/a&gt;er class in which a student didn't lose something important, or even all of his files, because of a lost device.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Never mind. Someone has already lost his jump drive.&lt;br /&gt;&lt;br /&gt;Maybe next semester.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Quik 'n Dirty Tip of the Day&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;How I made the logmein logo shown above.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;This sort of thing happens frequently: You have to reproduce a logo or letter face where you don't have either the font or the artwork.&lt;br /&gt;&lt;br /&gt;I snagged the logo shown above by searching &lt;leo_highlight style="border-bottom: 2px solid rgb(255, 255, 150); background-color: transparent; background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 50%; -moz-background-size: auto auto; cursor: pointer; display: inline; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" id="leoHighlights_Underline_0" onclick="leoHighlightsHandleClick('leoHighlights_Underline_0')" onmouseover="leoHighlightsHandleMouseOver('leoHighlights_Underline_0')" onmouseout="leoHighlightsHandleMouseOut('leoHighlights_Underline_0')" leohighlights_keywords="google" leohighlights_url_top="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsTop.jsp?keywords%3Dgoogle%26domain%3Dwww.blogger.com" leohighlights_url_bottom="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsBottom.jsp?keywords%3Dgoogle%26domain%3Dwww.blogger.com" leohighlights_underline="true"&gt;Google&lt;/leo_highlight&gt; Images for the name. Unfortunately, none of the returns had the &lt;leo_highlight style="border-bottom: 2px solid rgb(255, 255, 150); background-color: transparent; background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 50%; -moz-background-size: auto auto; cursor: pointer; display: inline; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" id="leoHighlights_Underline_1" onclick="leoHighlightsHandleClick('leoHighlights_Underline_1')" onmouseover="leoHighlightsHandleMouseOver('leoHighlights_Underline_1')" onmouseout="leoHighlightsHandleMouseOut('leoHighlights_Underline_1')" leohighlights_keywords="tag" leohighlights_url_top="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsTop.jsp?keywords%3Dtag%26domain%3Dwww.blogger.com" leohighlights_url_bottom="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsBottom.jsp?keywords%3Dtag%26domain%3Dwww.blogger.com" leohighlights_underline="true"&gt;tag&lt;/leo_highlight&gt; line, "Simply Connected." (Note that the &lt;leo_highlight style="border-bottom: 2px solid rgb(255, 255, 150); background-color: transparent; background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 50%; -moz-background-size: auto auto; cursor: pointer; display: inline; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" id="leoHighlights_Underline_2" onclick="leoHighlightsHandleClick('leoHighlights_Underline_2')" onmouseover="leoHighlightsHandleMouseOver('leoHighlights_Underline_2')" onmouseout="leoHighlightsHandleMouseOut('leoHighlights_Underline_2')" leohighlights_keywords="tag" leohighlights_url_top="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsTop.jsp?keywords%3Dtag%26domain%3Dwww.blogger.com" leohighlights_url_bottom="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsBottom.jsp?keywords%3Dtag%26domain%3Dwww.blogger.com" leohighlights_underline="true"&gt;tag&lt;/leo_highlight&gt; line should show a SM.) I saved a selected image, then opened it in Photoshop.&lt;br /&gt;&lt;br /&gt;For the &lt;leo_highlight style="border-bottom: 2px solid rgb(255, 255, 150); background-color: transparent; background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 50%; -moz-background-size: auto auto; cursor: pointer; display: inline; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" id="leoHighlights_Underline_3" onclick="leoHighlightsHandleClick('leoHighlights_Underline_3')" onmouseover="leoHighlightsHandleMouseOver('leoHighlights_Underline_3')" onmouseout="leoHighlightsHandleMouseOut('leoHighlights_Underline_3')" leohighlights_keywords="tag" leohighlights_url_top="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsTop.jsp?keywords%3Dtag%26domain%3Dwww.blogger.com" leohighlights_url_bottom="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsBottom.jsp?keywords%3Dtag%26domain%3Dwww.blogger.com" leohighlights_underline="true"&gt;tag&lt;/leo_highlight&gt; line, I uploaded the logo to &lt;a href="http://new.myfonts.com/WhatTheFont/"&gt;What The Font&lt;/a&gt;, a site that returns the names of fonts based on scanning  images of characters--in this case the logo. The name, &lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-style: italic;"&gt;Info Disp Bold Tf-Roman&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; was returned. A quick check for a corresponding knockoff font returned nothing.&lt;br /&gt;&lt;br /&gt;What The Font has an input text box for creating sample text in the face. So I typed in the &lt;leo_highlight style="background-color: transparent; background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 0%; -moz-background-size: auto auto; cursor: pointer; display: inline; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" id="leoHighlights_Underline_4" onclick="leoHighlightsHandleClick('leoHighlights_Underline_4')" onmouseover="leoHighlightsHandleMouseOver('leoHighlights_Underline_4')" onmouseout="leoHighlightsHandleMouseOut('leoHighlights_Underline_4')" leohighlights_keywords="tag" leohighlights_url_top="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsTop.jsp?keywords%3Dtag%26domain%3Dwww.blogger.com" leohighlights_url_bottom="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_2/tbh_highlightsBottom.jsp?keywords%3Dtag%26domain%3Dwww.blogger.com" leohighlights_underline="true"&gt;tag&lt;/leo_highlight&gt; line, took a screen shot of that, and brought it into Photoshop. I put the image of the text onto a new layer, and then sized it down.&lt;br /&gt;&lt;br /&gt;Finally, I exported the combined image to JPG, and uploaded it to the blog, where you see it now.&lt;br /&gt;&lt;br /&gt;This method is not suitable for print, as the edges of the characters have been aliased. However, with the advent of HTML5 and vector @fonts, the method may have a future in print as well. Whether or not print for publication is still around when this happens is questionable.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;input id="gwProxy" type="hidden"&gt;&lt;!--Session data--&gt;&lt;input onclick="if(typeof(jsCall)=='function'){jsCall();}else{setTimeout('jsCall()',500);}" id="jsProxy" type="hidden"&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;span id="leoHighlights_iframe_modal_span_container"&gt;&lt;div id="leoHighlights_iframe_modal_div_container" style="position: absolute; visibility: hidden; display: none; width: 520px; height: 391px; z-index: 2147483647;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();"&gt;        &lt;!-- Top iFrame --&gt;    &lt;iframe id="leoHighlights_top_iframe" name="leoHighlights_top_iframe" title="leoHighlights_top_iframe" src="about:blank" vspace="0" hspace="0" marginwidth="0" marginheight="0" allowtransparency="true" style="position: absolute; top: 0px; left: 0px; width: 520px; height: 294px; z-index: 2147483647;" frameborder="0" height="294" scrolling="no" width="520"&gt;    &lt;/iframe&gt;        &lt;!-- Bottom iFrame --&gt;    &lt;iframe id="leoHighlights_bottom_iframe" name="leoHighlights_bottom_iframe" title="leoHighlights_bottom_iframe" src="about:blank" vspace="0" hspace="0" marginwidth="0" marginheight="0" allowtransparency="true" style="position: absolute; top: 294px; left: 96px; z-index: 2147483647;" frameborder="0" height="" scrolling="no" width=""&gt;    &lt;/iframe&gt; &lt;/div&gt;  &lt;script defer="defer" type="text/javascript"&gt;    var LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT =              300;    var LEO_HIGHLIGHTS_MAX_HIGHLIGHTS =                   50;    var LEO_HIGHLIGHTS_IFRAME_TOP_ID =                    "leoHighlights_top_iframe";    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID =                 "leoHighlights_bottom_iframe";    var LEO_HIGHLIGHTS_IFRAME_DIV_ID =                    "leoHighlights_iframe_modal_div_container";           var LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_WIDTH =     520;    var LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_HEIGHT =    391;        var LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_WIDTH =      520;    var LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_HEIGHT =     665;        var LEO_HIGHLIGHTS_IFRAME_TOP_POS_X =                 0;    var LEO_HIGHLIGHTS_IFRAME_TOP_POS_Y =                 0;    var LEO_HIGHLIGHTS_IFRAME_TOP_WIDTH =                 520;    var LEO_HIGHLIGHTS_IFRAME_TOP_HEIGHT =                294;        var LEO_HIGHLIGHTS_IFRAME_BOTTOM_POS_X =              96;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_POS_Y =              294;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_WIDTH =    425;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_HEIGHT =   97;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_WIDTH =     425;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_HEIGHT =    371;              var LEO_HIGHLIGHTS_SHOW_DELAY_MS =                    300;    var LEO_HIGHLIGHTS_HIDE_DELAY_MS =                    750;    var LEO_HIGHLIGHTS_SHOW_DELAY_NO_UNDER_MS =           850;        var LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT =         "transparent none repeat scroll 0% 0%";    var LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER =           "rgb(245, 245, 0) none repeat scroll 0% 0%";    var LEO_HIGHLIGHTS_ROVER_TAG =                        "711-36858-13496-14";     createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20false%3B%0A%20%20%20%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0Avar%20_leoHighlightsSnoozed%20%3D%20false%3B%0A%0A/**%0A%20*%20Checks%20if%20the%20passed%20in%20class%20exists%0A%20*%20@param%20c%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsClassExists%28c%29%20%7B%0A%20%20%20return%20typeof%28c%29%20%3D%3D%20%22function%22%20%26%26%20typeof%28c.prototype%29%20%3D%3D%20%22object%22%20?%20true%20%3A%20false%3B%0A%7D%0A%0A/**%0A%20*%20Checks%20if%20the%20firebug%20console%20is%20available%0A%20*%20@param%20c%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFirebugConsoleAvailable%28c%29%20%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsClassExists%28_FirebugConsole%29%20%26%26%20%0A%20%20%20%20%20%20%20%20%20window.console%20%26%26%20console.log%20%26%26%20%0A%20%20%20%20%20%20%20%20%20%28console%20instanceof%20_FirebugConsole%29%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%7D%0A%20%20%20catch%28e%29%7B%7D%0A%20%20%20%0A%20%20%20return%20false%3B%0A%7D%20%0A%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsFirebugConsoleAvailable%28%29%20||LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20var%20logString%3Dlocation%2B%22%3A%20%22%2Be%2B%22%5Cn%5Ct%22%2Be.name%2B%22%5Cn%5Ct%22%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28e.number%260xFFFF%29%2B%22%5Cn%5Ct%22%2Be.description%3B%0A%20%20%20%20%20%20%20%20%20if%28_leoHighlightsFirebugConsoleAvailable%28%29%29%0A%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.error%28logString%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.trace%28%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%20%20%20%20%20%20alert%28logString%29%3B%20%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%20catch%28e%29%7B%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20log%20a%20string%20to%20the%20firebug%20console%0A%20*%20%0A%20*%20@param%20str%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsDebugLog%28str%29%0A%7B%20%20%20%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsFirebugConsoleAvailable%28%29%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20console.log%28typeof%28_FirebugConsole%29%2B%22%20%22%2Bstr%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22_leoHighlightsDebugLog%28%29%20%22%2Bstr%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20get%20an%20attribute%20and%20decode%20it.%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetAttrib%28elem%2Cid%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20val%3Delem.getAttribute%28id%29%3B%0A%20%20%20%20%20%20return%20decodeURI%28val%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22_leoHighlightsGetAttrib%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%20%20%20return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Checks%20if%20this%20is%20within%20a%20frame%20by%20checking%20for%20a%20parent.%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsIsFrame%28%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%0A%20%20%20%20%20%20return%20%28window%21%3Dtop%29%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22_leoHighlightsIsFrame%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%0A%20%20%20return%20false%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22%2Bthis.width%2B%22%2C%22%2Bthis.height%2B%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22%2Bthis.x%2B%22%2C%22%2Bthis.y%2B%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_TOP_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_TOP_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_TOP_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_BOTTOM_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_BOTTOM_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_HEIGHT%29%3B%0A%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20%2B%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20%2B%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22%2BcallName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22%2Bname%2B%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%2Cdoc%29%0A%7B%0A%09try%0A%09%7B%0A%09%20%20%20if%28doc%3D%3Dnull%29%0A%09%20%20%20%20%20%20doc%3Ddocument%3B%0A%09%20%20%20%0A%09%09var%20elem%3Ddoc.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28doc.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddoc.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddoc.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20_leoHighlightsDebugLog%28%22_leoHighlightsGetLocation%20%22%2Belem.id%29%3B%0A%20%20%20%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20%2B%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20%2B%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count%2B%2B%3B%0A%20%20%20%7D%0A%20%20%20%0A%20%20%20_leoHighlightsDebugLog%28%22Location%20is%3A%20%22%2Belem.id%2B%22%20-%20%22%2Blocation%29%3B%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x%2BcenterDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y%2BcenterDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20%2B%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%22_leoHighlightsUpdatePopupPos%28%29%20-%20topOrBottom%3A%20%22%2BtopOrBottom%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20%2B%20iFrameDim.width%20%3E%20scrolledPos.x%20%2B%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20%2B%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%22_leoHighlightsUpdatePopupPos%28%29%20-%20topOrBottom%3A%20%22%2Bposition%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20%2B%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20%2B%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%22_leoHighlightsUpdatePopupPos%28%29%20-%20sideBottom%3A%20%22%2Bposition%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x%2BiFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width%2B20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20%2BiFrame.id%2B%22%20-%20%22%2Banchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20%2B%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5Cncenter/visible%20%20%20%20%22%20%2B%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5Cnanchor%20%28absolute%29%20%22%20%2B%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20%2B%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20%2B%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20%2B%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20%2B%20position%29%3B%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20%2B%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20%2B%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsSnoozed%29%0A%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3DLEO_HIGHLIGHTS_ROVER_TAG%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22%2Brover%2B%22/4?%26mpre%3D%22%2BencodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20bottom%20windown%20part%0A%20*%20%0A%20*%20@param%20size%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetBottomSize%28size%2CclickId%29%0A%7B%0A%20%20%20/*%20Get%20the%20elements%20*/%0A%20%20%20var%20iFrameBottom%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID%29%3B%0A%20%20%20var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%0A%20%20%20/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%20var%20iFrameBottomSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_BOTTOM_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_BOTTOM_HOVER_SIZE%3B%0A%20%20%20var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%20/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%20leoHighlightsUpdateUrl%28iFrameBottom%2Csize%2CclickId%29%3B%0A%0A%20%20%20/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%20_leoHighlightsPrevElem.hover%3Dsize%3D%3D1?false%3Atrue%3B%0A%0A%20%20%20_leoHighlightsSetSize%28iFrameBottom%2CiFrameBottomSize%29%3B%0A%20%20%20_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22LeoHighlightsPopup%28%29%20%22%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.topIframe%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_TOP_ID%29%3B%0A%20%20%20%20%20%20this.bottomIframe%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09this.topIframe.src%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url_top%27%29%29%3B%3B%0A%20%20%20%20%20%20this.bottomIframe.src%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url_bottom%27%29%29%3B%3B%0A%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%221%29%20LeoHighlightsPopup%28%29%20%28%22%2Bthis.topIframe.style.top%2B%22%2C%20%22%2Bthis.topIframe.style.left%2B%22%29%22%29%3B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%222%29%20LeoHighlightsPopup%28%29%20%28%22%2Bthis.bottomIframe.style.top%2B%22%2C%20%22%2Bthis.bottomIframe.style.left%2B%22%29%22%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%3B%7D%3B%0A%20%20%20%20%20%20this.show%3Dfunction%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.updatePos%28%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.updatePos%28%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%223%29%20LeoHighlightsPopup%28%29%20%28%22%2Bthis.topIframe.style.top%2B%22%2C%20%22%2Bthis.topIframe.style.left%2B%22%29%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%224%29%20LeoHighlightsPopup%28%29%20%28%22%2Bthis.bottomIframe.style.top%2B%22%2C%20%22%2Bthis.bottomIframe.style.left%2B%22%29%22%29%3B%0A%20%20%20%20%20%20%7D%3B%20%20%20%20%20%20%20%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20updates%20the%20url%20for%20the%20iFrame%0A%20*%20%0A%20*%20@param%20iFrame%0A%20*%20@param%20size%0A%20*%20@param%20clickId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsUpdateUrl%28iFrame%2Csize%2CclickId%2CdestUrl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsUpdateUrl%28%29%20%22%2BdestUrl%29%3B%0A%20%20%20%20%20%20var%20url%3DiFrame.src%3B%0A%20%20%20%20%20%20var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%20%20%20%20if%28idx%3E%3D0%29%0A%20%20%20%20%20%20%20%20%20url%3Durl.substring%280%2Cidx%29%3B%0A%20%20%20%20%20%20%0A//%20%20%20%20%20%20size%3D1%3B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsUpdateUrl%28%29%20size%3D%22%2Bsize%2B%22%20%20%22%2Burl%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28size%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20url%2B%3D%28%22%26size%3D%22%2Bsize%29%3B%0A%20%20%20%20%20%20if%28clickId%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20url%2B%3D%28%22%26clickId%3D%22%2BclickId%29%3B%0A%20%20%20%20%20%20if%28destUrl%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20url%2B%3D%28%22%26url%3D%22%2BdestUrl%29%3B%0A%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsUpdateUrl%28%29%20%22%2Burl%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20iFrame.src%3Durl%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsUpdateUrl%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20element%20*/%0A%20%20%09%09var%20iFrameTop%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_TOP_ID%29%3B%0A%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameTopSize%3DLEO_HIGHLIGHTS_IFRAME_TOP_SIZE%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09leoHighlightsUpdateUrl%28iFrameTop%2Csize%2CclickId%29%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrameTop%2CiFrameTopSize%29%3B%0A%20%20%20%20%20%20_leoHighlightsSetBottomSize%28size%2CclickId%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%20%20%20%20if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%20%20%20%20%20%20%20_leoHighlightsPrevElem.hover%3Dfalse%3B%20%20%20%20%20%20%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsSnoozed%29%0A%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%09%09%0A%09%09_leoHighlightsDebugLog%28%22leoHighlightsShowPopup%28%29%20%22%2B_leoHighlightsPrevElem%29%3B%09%09%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22%2BanchorId%2B%22%5C%27%2C%5C%27%22%2Bsize%2B%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_TOP_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%20%20%20%20var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID%29%3B%0A%20%20%20%20%20%20if%28iFrame%29%0A%20%20%20%20%20%20%20%20%20iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20is%20used%20to%20snooze%20the%20highlights.%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsSnooze%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%20%20%20%20%20_leoHighlightsSnoozed%3Dtrue%3B%0A%20%20%20%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsSnooze%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsSnooze%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20is%20used%20to%20snooze%20the%20highlights.%0A*%20This%20gets%20fired%20into%20the%20top%20frame.%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsSnoozeTop%28id%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%20%20%20%20%20_leoHighlightsSnoozed%3Dtrue%3B%0A%20%20%20%20%20leoHighlightsHideElem%28id%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsSnoozeTop%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsSnoozed%29%0A%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28_leoHighlightsIsFrame%28%29%29%0A%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%20%20%20%20/*%20Report%20the%20click%20event%20*/%0A%20%20%20%20%20%20leoHighlightsReportEvent%28%22clicked%22%2C%20window.document.domain%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_keywords%27%29%2Cnull%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_accept%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_reject%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsSnoozed%29%0A%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28_leoHighlightsIsFrame%28%29%29%0A%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%20%20%20%20/*%20Report%20the%20hover%20event%20*/%0A%20%20%20%20%20%20leoHighlightsReportEvent%28%22hovered%22%2C%20window.document.domain%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_keywords%27%29%2Cnull%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_accept%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_reject%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%20%20%20%20%20%20if%28_leoHighlightsSnoozed%29%0A%20%20%20%20%20%20%20%20%20return%3B%0A%09%20%20%20%0A%09%20%20%20if%28_leoHighlightsIsFrame%28%29%29%0A%09%20%20%20%20%20%20return%3B%0A%09%20%20%20%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09var%20underline%3D_leoHighlightsGetAttrib%28anchor%2C%22leohighlights_underline%22%29%3D%3D%27true%27%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2Cunderline?LEO_HIGHLIGHTS_SHOW_DELAY_MS%3ALEO_HIGHLIGHTS_SHOW_DELAY_NO_UNDER_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%26%26%21_leoHighlightsIsFrame%28%29%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi%2B%2B%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22%2Bi%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20domain%0A%20*%20@param%20keywords%0A%20*%20@param%20vendorId%0A%20*%20@param%20accept%0A%20*%20@param%20reject%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsReportEvent%28key%2C%20domain%2Ckeywords%2CvendorId%2Caccept%2Creject%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2Ckey%29%3B%0A%20%20%20%20%20%20if%28domain%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22domain%22%2Cdomain%29%3B%0A%20%20%20%20%20%20if%28keywords%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22keywords%22%2Ckeywords%29%3B%0A%20%20%20%20%20%20if%28vendorId%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22vendorId%22%2CvendorId%29%3B%0A%20%20%20%20%20%20if%28accept%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22accept%22%2Caccept%29%3B%0A%20%20%20%20%20%20if%28reject%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22reject%22%2Creject%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20expand%20or%20collapse%20the%20window%20base%20on%20it%20prior%20state%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsToggleSize%28clickId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsToggleSize%28%29%20%22%2B_leoHighlightsPrevElem%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20hover%20flag%20and%20change%20the%20status%20*/%0A%20%20%20%20%20%20var%20size%3D_leoHighlightsPrevElem.hover?1%3A0%3B%0A%20%20%20%20%20%20_leoHighlightsSetBottomSize%28size%2CclickId%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsToggleSize%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20Call%20into%20the%20kvm%20that%20will%20then%20do%20a%20callback%20into%20the%20top%20window%0A%20*%20The%20top%20window%20will%20then%20call%20leoH%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsSetSecondaryWindowUrl%28url%2C%20customerId%2C%20phraseId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsSetSecondaryWindowUrl%28%29%20%22%2Burl%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22url%22%2C%20url%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22phraseId%22%2C%20phraseId%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22customerId%22%2C%20customerId%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSecondaryWindowUrl%22%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsSetSecondaryWindowUrl%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20Call%20into%20the%20kvm%20that%20will%20then%20do%20a%20callback%20into%20the%20top%20window%0A%20*%20The%20top%20window%20will%20then%20call%20leoH%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsSetSecondaryWindowUrlCallback%28url%2C%20customerId%2C%20phraseId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsSetSecondaryWindowUrlCallback%28%29%20%22%2Burl%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%20%20%20%20var%20size%3D_leoHighlightsPrevElem.hover?0%3A1%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsSetSecondaryWindowUrlCallback%28%29%20%22%2B_leoHighlightsPrevElem%2B%22%20--%20%22%2B_leoHighlightsPrevElem.hover%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20elements%20*/%0A%20%20%20%20%20%20var%20iFrameBottom%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID%29%3B%0A%20%20%20%20%20%20leoHighlightsUpdateUrl%28iFrameBottom%2Csize%2Cnull%2Curl%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsSetSecondaryWindowUrlCallback%28%29%20%22%2Burl%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsSetSecondaryWindowUrlCallback%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20text%20to%20the%20Top%20%0A%20*%20%0A%20*%20@param%20txt%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsSetExpandTxt%28txt%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20var%20topIFrame%20%3D%20_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_TOP_ID%29%3B%0A%20%20%20%20%20%20if%28topIFrame%3D%3Dnull%29%0A%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20current%20url%20*/%0A%20%20%20%20%20%20var%20url%3DtopIFrame.src%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28url%3D%3Dnull%29%0A%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Extract%20the%20previous%20hash%20if%20present%20*/%0A%20%20%20%20%20%20var%20idx%3D-1%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28%28idx%3Durl.indexOf%28%27%23%27%29%29%3E0%29%0A%20%20%20%20%20%20%20%20%20url%3Durl.substring%280%2Cidx%29%3B%0A%0A%20%20%20%20%20%20/*%20Append%20the%20text%20to%20the%20end%20*/%0A%20%20%20%20%20%20url%2B%3D%22%23%22%2BencodeURI%28txt%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Set%20the%20iframe%20with%20the%20new%20url%20that%20contains%20the%20hash%20tag%20*/%0A%20%20%20%20%20%20topIFrame.src%3Durl%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsSetExpandTxt%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20set%20the%20expand%20text%20for%20the%20Top%20window%0A%20*/%0Afunction%20leoHL_SetExpandTxt%28txt%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHL_SetExpandTxt%28%29%20%22%2Btxt%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsSetExpandTxt%22%2C%22expandTxt%22%2Ctxt%29%3B%20%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHL_SetExpandTxt%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20try%7B%0A%20%20%20%20%20%20%20%20%20var%20domain%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22domain%22%29%0A%20%20%20%20%20%20%20%20%20var%20keywords%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22keywords%22%29%0A%20%20%20%20%20%20%20%20%20var%20vendorId%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22vendorId%22%29%0A%20%20%20%20%20%20leoHighlightsReportEvent%28%22clickthrough%22%2C%20domain%2Ckeywords%2C%20vendorId%29%3B%0A%20%20%20%20%20%20%7Dcatch%28e%29%7B%0A%20%20%20%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%20%20%20%7D%0A%20%20%09%09%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20LeoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20leoHL_RedirectTop%28url%2CparentId%29%3B%0A%7D%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTopAd%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20try%7B%0A%20%20%20%20%20%20%20%20%20var%20domain%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22domain%22%29%0A%20%20%20%20%20%20%20%20%20var%20keywords%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22keywords%22%29%0A%20%20%20%20%20%20%20%20%20var%20vendorId%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22vendorId%22%29%0A%20%20%20%20%20%20leoHighlightsReportEvent%28%22advertisement.click%22%2C%20domain%2Ckeywords%2C%20vendorId%29%3B%0A%20%20%20%20%20%20%7Dcatch%28e%29%7B%0A%20%20%20%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHL_RedirectTopAd%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHL_RedirectTopAd%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId%2B%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20toggle%20the%20size%20of%20the%20window%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_ToggleSize%28%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsToggleSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHl_ToggleSize%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A"); &lt;/script&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5706596627964647655?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5706596627964647655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5706596627964647655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5706596627964647655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5706596627964647655'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2010/08/more-on-backup.html' title='More on Backup'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1LVZn-nyesg/THLw21f_zOI/AAAAAAAAAUk/mkqY9017Yvc/s72-c/logmein.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5964940384002649796</id><published>2010-07-13T10:33:00.000-07:00</published><updated>2012-01-11T18:17:47.571-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>jQuery</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_1LVZn-nyesg/TDyn3bAWkQI/AAAAAAAAAUc/Bu1JfktAIaY/s1600/jQuery.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5493450216069042434" src="http://2.bp.blogspot.com/_1LVZn-nyesg/TDyn3bAWkQI/AAAAAAAAAUc/Bu1JfktAIaY/s200/jQuery.jpg" style="cursor: pointer; float: left; height: 200px; margin: 0pt 10px 10px 0pt; width: 200px;" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_1LVZn-nyesg/TDykRG4-4TI/AAAAAAAAAUU/fK4zW2DK8-s/s1600/jQuery.jpg"&gt;&lt;/a&gt;jQuery is the foremost JavaScript framework on the Net today. It is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: bold;"&gt;Here is the best way to dive into jQuery:&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Watch the video series, &lt;b&gt;&lt;a href="http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-video-series/"&gt;jQuery for absolute beginners&lt;/a&gt;&lt;/b&gt; on &lt;b&gt;&lt;i&gt;lost in the woods&lt;/i&gt;&lt;/b&gt;. &lt;/li&gt;&lt;li&gt;Watch Ben Nadel's &lt;a href="http://www.bennadel.com/resources/presentations/jquery/video/index.htm"&gt;&lt;span style="font-weight: bold;"&gt;intro video&lt;/span&gt;&lt;/a&gt;. And check out the awesome source code for the page.&lt;/li&gt;&lt;li&gt;Get the book, &lt;b&gt;&lt;i&gt;&lt;a href="http://github.com/rmurphey/jqfundamentals"&gt;jQuery Fundamentals &lt;/a&gt;&lt;/i&gt;&lt;/b&gt;by Rebecca Murphy.&lt;/li&gt;&lt;li&gt;Get the book,&lt;b&gt;&lt;i&gt;&lt;a href="http://www.sitepoint.com/forums/showthread.php?t=688781"&gt; jQuery From Novice To Ninja&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;, from &lt;b&gt;&lt;i&gt;Sitepoint&lt;/i&gt;&lt;/b&gt;. It is a PDF.&lt;/li&gt;&lt;li&gt;Download the example files, then open them  in Dreamweaver. Follow along with the book.&lt;/li&gt;&lt;li&gt;Keep a tab open in Firefox containing &lt;a href="http://visualjquery.com/"&gt;&lt;b&gt;&lt;i&gt;Visual jQuery&lt;/i&gt;&lt;/b&gt;&lt;/a&gt;, a visual reference for the framework.&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-weight: bold;"&gt;See also:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/library/x-ajaxjquery.html"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Simplify Ajax development with jQuery&lt;/span&gt;&lt;/a&gt;: Discover how easy Ajax and DOM scripting can be, byJesse Skinner, Web Developer, on &lt;span style="font-style: italic; font-weight: bold;"&gt;The IBM Technical Library&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://free-pdf-ebook.com/2008/10/18/manning-jquery-in-action-feb-2008/"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;jQuery in Action&lt;/span&gt;&lt;/a&gt;, by Bear Bibeault, &lt;span style="font-style: italic; font-weight: bold;"&gt;Manning Publications&lt;/span&gt;; 1st edition (February 7, 2008), in PDF format.&lt;/li&gt;&lt;li&gt;The Curmudgeon's 1st &lt;a href="http://thewriterservice.com/testor/"&gt;&lt;span style="font-weight: bold;"&gt;JSON exercise&lt;/span&gt;&lt;/a&gt;. The code is commented.&lt;/li&gt;&lt;li&gt;The Curmudgeon's 2nd &lt;a href="http://thewriterservice.com/testor2/"&gt;&lt;span style="font-weight: bold;"&gt;JSON exercise&lt;/span&gt;&lt;/a&gt;. The code is uncommented, but the JSON is interesting, because it carries a lot of markup that would have to be wrapped in CDATA in an XML file.&lt;/li&gt;&lt;li&gt;Either take university classes or follow &lt;a href="http://css-tricks.com/"&gt;CSS Tricks&lt;/a&gt;. Doing both would be overkill.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;i&gt;&lt;a href="http://www.elated.com/articles/json-basics/"&gt;JSON Basics&lt;/a&gt;: What You Need to Know&lt;/i&gt;&lt;/b&gt;, by&amp;nbsp;Matt Doyle, March 2011&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="if(typeof(jsCall)=='function'){jsCall();}else{setTimeout('jsCall()',500);}" type="hidden" /&gt;&lt;br /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="if(typeof(jsCall)=='function'){jsCall();}else{setTimeout('jsCall()',500);}" type="hidden" /&gt;&lt;br /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="if(typeof(jsCall)=='function'){jsCall();}else{setTimeout('jsCall()',500);}" type="hidden" /&gt;&lt;br /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="if(typeof(jsCall)=='function'){jsCall();}else{setTimeout('jsCall()',500);}" type="hidden" /&gt;&lt;br /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="if(typeof(jsCall)=='function'){jsCall();}else{setTimeout('jsCall()',500);}" type="hidden" /&gt;&lt;br /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5964940384002649796?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5964940384002649796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5964940384002649796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5964940384002649796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5964940384002649796'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2010/07/jquery.html' title='jQuery'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1LVZn-nyesg/TDyn3bAWkQI/AAAAAAAAAUc/Bu1JfktAIaY/s72-c/jQuery.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-294257956294361845</id><published>2010-04-18T17:49:00.000-07:00</published><updated>2010-04-19T08:47:34.100-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web forms'/><title type='text'>Web Form Script Generator For MAT154</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1LVZn-nyesg/S8x5uCLeCII/AAAAAAAAAUM/VAum4v2AfRE/s1600/cinchLogo.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 155px;" src="http://1.bp.blogspot.com/_1LVZn-nyesg/S8x5uCLeCII/AAAAAAAAAUM/VAum4v2AfRE/s200/cinchLogo.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5461874279859488898" /&gt;&lt;/a&gt;New this semester is a &lt;a href="http://www.thewriterservice.com/cinch/cinch-R.html"&gt;&lt;b&gt;script editor&lt;/b&gt;&lt;/a&gt;. With this application, you can modify an existing script that has been generated by the Cinch Generator. Formerly, you would have to create an entirely new script to modify even a small element.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stay tuned for an advanced look at the tutorial for Thursday's class.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The script generator is &lt;a href="http://www.thewriterservice.com/cinch/cinch.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-294257956294361845?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/294257956294361845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=294257956294361845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/294257956294361845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/294257956294361845'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2010/04/web-form-script-generator-for-mat154.html' title='Web Form Script Generator For MAT154'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1LVZn-nyesg/S8x5uCLeCII/AAAAAAAAAUM/VAum4v2AfRE/s72-c/cinchLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-3375169625630117676</id><published>2010-02-16T22:43:00.000-08:00</published><updated>2011-04-07T15:54:00.231-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Text On A Path &amp; Isolating Image Elements</title><content type='html'>Two excellent resources to review text on a path:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Adobe's &lt;a href="http://livedocs.adobe.com/en_US/InDesign/5.0/help.html?content=WSa285fff53dea4f8617383751001ea8cb3f-6c4c.html"&gt;Creating Text On A Path&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;A &lt;a href="http://workstations.digitalmedianet.com/articles/viewarticle.jsp?id=5948"&gt;video tutorial&lt;/a&gt; by Deke McClelland.&lt;/li&gt;&lt;/ol&gt;Isolating parts of an image in Photoshop:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Improve the quality of your selections by first &lt;a href="http://tv.adobe.com/watch/photoshop-for-digital-photographers/how-to-train-the-quick-selection-tool"&gt;training the Quick Selection Tool&lt;/a&gt;. This simple technique shows you how to make better, more accurate selections in half the time, on &lt;span style="font-style: italic; font-weight: bold;"&gt;Photoshop for Digital Photographers&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Create a temporary &lt;a href="http://help.adobe.com/en_US/Photoshop/11.0/WSfd1234e1c4b69f30ea53e41001031ab64-76c1a.html"&gt;quick mask&lt;/a&gt;, on &lt;span style="font-style: italic; font-weight: bold;"&gt;Photoshop Product Support&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://help.adobe.com/en_US/Photoshop/11.0/WSCAC4D084-6AB1-483a-B264-6336B4888649.html"&gt;Extract an object&lt;/a&gt; from its background, on &lt;span style="font-style: italic; font-weight: bold;"&gt;Photoshop Product Support.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Change pixels to transparent with the &lt;a href="http://help.adobe.com/en_US/Photoshop/11.0/WSfd1234e1c4b69f30ea53e41001031ab64-77e3a.html"&gt;Background Eraser tool&lt;/a&gt;, on &lt;span style="font-style: italic; font-weight: bold;"&gt;Photoshop  Product Support.&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;input id="gwProxy" type="hidden" /&gt;&lt;input id="jsProxy" onclick="jsCall();" type="hidden" /&gt;&lt;br /&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-3375169625630117676?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/3375169625630117676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=3375169625630117676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3375169625630117676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3375169625630117676'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2010/02/text-on-path.html' title='Text On A Path &amp; Isolating Image Elements'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-6883532707317735725</id><published>2010-01-27T10:55:00.000-08:00</published><updated>2010-10-30T11:13:01.209-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file management'/><title type='text'>Preserving Class Work--OOPS!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1LVZn-nyesg/TMxf35jQxFI/AAAAAAAAAVU/5iIt4w7ofCg/s1600/startforce.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 104px; height: 104px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/TMxf35jQxFI/AAAAAAAAAVU/5iIt4w7ofCg/s400/startforce.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5533903456077661266" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1LVZn-nyesg/S2COkaC4qxI/AAAAAAAAAUE/wGiH7o3c_ts/s1600-h/startforce"&gt;&lt;/a&gt;The best way to move files between school and home is to use a cloud-based application. Older, cloud-based resources for moving and storing files are referenced &lt;a href="http://www.thewebcurmudgeon.com/2009/06/preserving-class-work.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But &lt;b style="color: rgb(255, 0, 0); "&gt;BE CAREFUL! &lt;/b&gt;This service, Startforce, suddenly cut me off, having moved from a freemium to a pay-only service. If I had counted on having access to my files, I would have been SOL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;NOTE:&lt;/span&gt; Do not use a jump drive to move your files. The best outcome that you can expect from this method is that you will not lose the drive. Every semester I find several of these left plugged into computers. Use one or more of the online applications--preferably two, giving you a redundant backup.&lt;br /&gt;&lt;br /&gt;Indesign users should not forget to package their files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-6883532707317735725?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/6883532707317735725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=6883532707317735725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6883532707317735725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6883532707317735725'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2010/01/preserving-class-work-updated.html' title='Preserving Class Work--OOPS!'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1LVZn-nyesg/TMxf35jQxFI/AAAAAAAAAVU/5iIt4w7ofCg/s72-c/startforce.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7712174267382993056</id><published>2009-12-04T07:12:00.001-08:00</published><updated>2009-12-12T20:42:07.455-08:00</updated><title type='text'>Web Forms for MAT 153 (Updated)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1LVZn-nyesg/SxknNwbrkKI/AAAAAAAAATw/4bpcfbKNRo8/s1600-h/cinchLogo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 155px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/SxknNwbrkKI/AAAAAAAAATw/4bpcfbKNRo8/s200/cinchLogo.png" alt="" id="BLOGGER_PHOTO_ID_5411399544555147426" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;A&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt; SCRIPT&lt;/span&gt; generated by the Cinch-O-Matic will not work until you remove &lt;span style="font-family:courier new;"&gt;enctype= "text/plain"&lt;/span&gt; from the form tag that you created in class. This code snippet tells the browser to send the form data in plain text. The PHP script created by the Cinch-O-Matic  requires that the transmitted text be URLencoded, which the browser will do by default when the user presses "send." &lt;span style="font-family:courier new;"&gt;enctype= "text/plain" &lt;/span&gt;overrides the default, so that the scripted process breaks&lt;span style="font-family:courier new;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The mailto process, on the other hand, requires plain text. One thing to keep in mind when creating a mailto form is that users without a mail client installed will press "send," without any result. Nor will they necessarily receive an error message. And if they do, they may not understand what they get, so that they will go on with their lives thinking that you are a boob for having ignored them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;URLENCODING EXPLAINED:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;URLs can only be sent over the Internet using the ASCII character-set.&lt;/p&gt; &lt;p&gt;Since URLs often contains characters outside the ASCII set, the URL has to be converted. URL encoding converts  the URL into a valid ASCII format.&lt;/p&gt; &lt;p&gt;URL encoding replaces unsafe ASCII characters with  "%" followed by two hexadecimal digits corresponding to the  character values in the ISO-8859-1 character-set.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;URLs cannot contain spaces. URL encoding normally replaces a space with a + sign.&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="text-align: right;"&gt;&lt;a href="http://www.w3schools.com/TAGS/ref_urlencode.asp"&gt;--W3C Schools&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;A tutorial&lt;/span&gt; on using the script generator is &lt;a href="http://www.youtube.com/watch?v=rycOFwtJzk4"&gt;here.&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1LVZn-nyesg/SyRvQkgx-3I/AAAAAAAAAT4/V2cnO4XVld8/s1600-h/update.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 147px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/SyRvQkgx-3I/AAAAAAAAAT4/V2cnO4XVld8/s200/update.gif" alt="" id="BLOGGER_PHOTO_ID_5414574982475938674" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;Tango Hosting requires that the "From" field contain your student name and the tangostudents.com domain. So, your "from" should read something like this: student100@tangostudents.com. Otherwise, your email will simply evaporate when the script is fired. The "Thank you" page will show, but the email--without any error message--will simply fizzle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7712174267382993056?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7712174267382993056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7712174267382993056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7712174267382993056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7712174267382993056'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/12/web-forms-for-mat-153.html' title='Web Forms for MAT 153 (Updated)'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1LVZn-nyesg/SxknNwbrkKI/AAAAAAAAATw/4bpcfbKNRo8/s72-c/cinchLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1216101524598220792</id><published>2009-10-16T10:53:00.000-07:00</published><updated>2010-07-01T15:14:34.907-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'>Online OCR</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1LVZn-nyesg/Sti05DpSb9I/AAAAAAAAATg/Jp_wkfu4wks/s1600-h/lamp0.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 225px; height: 300px;" src="http://1.bp.blogspot.com/_1LVZn-nyesg/Sti05DpSb9I/AAAAAAAAATg/Jp_wkfu4wks/s400/lamp0.jpg" alt="" id="BLOGGER_PHOTO_ID_5393259446100193234" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.onlineocr.net/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.ocrwebservice.com/"&gt;OCR Web Service&lt;/a&gt; has a trial license period of 30 days. You can upload scans or other image-based text, and receive the content in a number of different formats, including ascii text.&lt;br /&gt;&lt;br /&gt;Testing provided excellent results.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thewriterservice.com/vinoP8.pdf"&gt;&lt;span style="font-weight: bold;"&gt;Here&lt;/span&gt;&lt;/a&gt; is a PDF showing a test. The second page shows the GIF of &lt;leo_highlight style="border-bottom: 2px solid rgb(255, 255, 150); background-color: transparent; background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0% 50%; -moz-background-size: auto auto; cursor: pointer; display: inline; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" id="leoHighlights_Underline_0" onclick="leoHighlightsHandleClick('leoHighlights_Underline_0')" onmouseover="leoHighlightsHandleMouseOver('leoHighlights_Underline_0')" onmouseout="leoHighlightsHandleMouseOut('leoHighlights_Underline_0')" leohighlights_keywords="the%20original" leohighlights_url_top="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_1/tbh_highlightsTop.jsp?keywords%3Dthe%2520original%26domain%3Dwww.blogger.com" leohighlights_url_bottom="http%3A//shortcuts.thebrowserhighlighter.com/leonardo/plugin/highlights/3_1/tbh_highlightsBottom.jsp?keywords%3Dthe%2520original%26domain%3Dwww.blogger.com" leohighlights_underline="true"&gt;the original&lt;/leo_highlight&gt; used in the process. &lt;a href="http://www.thewriterservice.com/vinoP8Folder.zip"&gt;&lt;span style="font-weight: bold;"&gt;Here&lt;/span&gt;&lt;/a&gt; is the Indesign package, including the GIF file of the document. Some errors occurred, revealing the danger of using OCR. At the same time, you could have made these same errors typing in the text.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The absolutely best OCR I have ever seen resides in &lt;a href="http://www.adobe.com/products/acrobatpro/"&gt;&lt;b&gt;Acrobat Professional&lt;/b&gt;&lt;/a&gt;. If you have Acrobat, don't even fool with any of this other stuff.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.finereaderonline.com/"&gt;&lt;span style="font-weight: bold;"&gt;ABBYY FineReader&lt;/span&gt;&lt;/a&gt;. &lt;span&gt;Not as good&lt;/span&gt; as OnlineOCR. See &lt;a style="font-weight: bold;" href="http://www.thewriterservice.com/AABBYY.pdf"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="http://www.ocrterminal.com/"&gt;OCR Terminal&lt;/a&gt;, untested.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.free-ocr.com/"&gt;&lt;span style="font-weight: bold;"&gt;Free-OCR&lt;/span&gt;&lt;/a&gt;. The &lt;a href="http://www.thewriterservice.com/free-ocr.pdf"&gt;&lt;span style="font-weight: bold;"&gt;return text&lt;/span&gt;&lt;/a&gt; had extra linefeeds where the text wrapped. I had to run the copy through &lt;a href="http://ecleaner.tripod.com/"&gt;&lt;span style="font-weight: bold;"&gt;eCleaner&lt;/span&gt;&lt;/a&gt; to get rid of them. If you're unlucky enough to find yourself on a Mac, you can achieve the same result in Indesign by doing a find-and-replace: ^p^p replaced by ^p.&lt;/li&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="http://www.cometdocs.com/index.htm"&gt;Cometdocs&lt;/a&gt;, free online document converter. This free service includes an OCR function.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ocronline.com/"&gt;OCROnline&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.newocr.com/"&gt;Free Online OCR&lt;/a&gt;: performed well testing a jpg of a page at 300ppi.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;input id="gwProxy" type="hidden"&gt;&lt;!--Session data--&gt;&lt;input onclick="jsCall();" id="jsProxy" type="hidden"&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;span id="leoHighlights_iframe_modal_span_container"&gt;&lt;div id="leoHighlights_iframe_modal_div_container" style="position: absolute; visibility: hidden; display: none; width: 520px; height: 391px; z-index: 2147483647;" onmouseover="leoHighlightsHandleIFrameMouseOver();" onmouseout="leoHighlightsHandleIFrameMouseOut();"&gt;        &lt;!-- Top iFrame --&gt;    &lt;iframe id="leoHighlights_top_iframe" name="leoHighlights_top_iframe" title="leoHighlights_top_iframe" src="about:blank" vspace="0" hspace="0" marginwidth="0" marginheight="0" allowtransparency="true" style="position: absolute; top: 0px; left: 0px; width: 520px; height: 294px; z-index: 2147483647;" scrolling="no" frameborder="0" height="294" width="520"&gt;    &lt;/iframe&gt;        &lt;!-- Bottom iFrame --&gt;    &lt;iframe id="leoHighlights_bottom_iframe" name="leoHighlights_bottom_iframe" title="leoHighlights_bottom_iframe" src="about:blank" vspace="0" hspace="0" marginwidth="0" marginheight="0" allowtransparency="true" style="position: absolute; top: 294px; left: 96px; z-index: 2147483647;" scrolling="no" frameborder="0" height="" width=""&gt;    &lt;/iframe&gt; &lt;/div&gt;  &lt;script defer="defer" type="text/javascript"&gt;    var LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT =              300;    var LEO_HIGHLIGHTS_MAX_HIGHLIGHTS =                   50;    var LEO_HIGHLIGHTS_IFRAME_TOP_ID =                    "leoHighlights_top_iframe";    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID =                 "leoHighlights_bottom_iframe";    var LEO_HIGHLIGHTS_IFRAME_DIV_ID =                    "leoHighlights_iframe_modal_div_container";           var LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_WIDTH =     520;    var LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_HEIGHT =    391;        var LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_WIDTH =      520;    var LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_HEIGHT =     665;        var LEO_HIGHLIGHTS_IFRAME_TOP_POS_X =                 0;    var LEO_HIGHLIGHTS_IFRAME_TOP_POS_Y =                 0;    var LEO_HIGHLIGHTS_IFRAME_TOP_WIDTH =                 520;    var LEO_HIGHLIGHTS_IFRAME_TOP_HEIGHT =                294;        var LEO_HIGHLIGHTS_IFRAME_BOTTOM_POS_X =              96;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_POS_Y =              294;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_WIDTH =    425;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_HEIGHT =   97;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_WIDTH =     425;    var LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_HEIGHT =    371;              var LEO_HIGHLIGHTS_SHOW_DELAY_MS =                    300;    var LEO_HIGHLIGHTS_HIDE_DELAY_MS =                    750;        var LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT =         "transparent none repeat scroll 0% 0%";    var LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER =           "rgb(245, 245, 0) none repeat scroll 0% 0%";    var LEO_HIGHLIGHTS_ROVER_TAG =                        "711-36858-13496-14";     createInlineScriptElement("var%20LEO_HIGHLIGHTS_DEBUG%20%3D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20false%3B%0Avar%20LEO_HIGHLIGHTS_DEBUG_POS%20%3D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20false%3B%0A%20%20%20%0Avar%20_leoHighlightsPrevElem%20%3D%20null%3B%0A%0A/**%0A%20*%20Checks%20if%20the%20passed%20in%20class%20exists%0A%20*%20@param%20c%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsClassExists%28c%29%20%7B%0A%20%20%20return%20typeof%28c%29%20%3D%3D%20%22function%22%20%26%26%20typeof%28c.prototype%29%20%3D%3D%20%22object%22%20?%20true%20%3A%20false%3B%0A%7D%0A%0A/**%0A%20*%20Checks%20if%20the%20firebug%20console%20is%20available%0A%20*%20@param%20c%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFirebugConsoleAvailable%28c%29%20%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsClassExists%28_FirebugConsole%29%20%26%26%20%0A%20%20%20%20%20%20%20%20%20window.console%20%26%26%20console.log%20%26%26%20%0A%20%20%20%20%20%20%20%20%20%28console%20instanceof%20_FirebugConsole%29%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%7D%0A%20%20%20catch%28e%29%7B%7D%0A%20%20%20%0A%20%20%20return%20false%3B%0A%7D%20%0A%0A%0A/**%0A%20*%20General%20method%20used%20to%20debug%20exceptions%0A%20*%20%0A%20*%20@param%20location%0A%20*%20@param%20e%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsReportExeception%28location%2Ce%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsFirebugConsoleAvailable%28%29%20||LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20var%20logString%3Dlocation%2B%22%3A%20%22%2Be%2B%22%5Cn%5Ct%22%2Be.name%2B%22%5Cn%5Ct%22%2B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28e.number%260xFFFF%29%2B%22%5Cn%5Ct%22%2Be.description%3B%0A%20%20%20%20%20%20%20%20%20if%28_leoHighlightsFirebugConsoleAvailable%28%29%29%0A%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.error%28logString%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20console.trace%28%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28LEO_HIGHLIGHTS_DEBUG%29%0A%20%20%20%20%20%20%20%20%20alert%28logString%29%3B%20%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%20catch%28e%29%7B%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20log%20a%20string%20to%20the%20firebug%20console%0A%20*%20%0A%20*%20@param%20str%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsDebugLog%28str%29%0A%7B%20%20%20%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsFirebugConsoleAvailable%28%29%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20console.log%28typeof%28_FirebugConsole%29%2B%22%20%22%2Bstr%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22_leoHighlightsDebugLog%28%29%20%22%2Bstr%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20get%20an%20attribute%20and%20decode%20it.%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetAttrib%28elem%2Cid%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20val%3Delem.getAttribute%28id%29%3B%0A%20%20%20%20%20%20return%20decodeURI%28val%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22_leoHighlightsGetAttrib%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%20%20%20return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Checks%20if%20this%20is%20within%20a%20frame%20by%20checking%20for%20a%20parent.%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsIsFrame%28%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%0A%20%20%20%20%20%20return%20%28window%21%3Dtop%29%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22_leoHighlightsIsFrame%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%0A%20%20%20return%20false%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20dimensions%20object%0A%20*%20%0A%20*%20@param%20width%0A%20*%20@param%20height%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsDimension%28width%2Cheight%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.width%3Dwidth%3B%0A%20%20%20%09this.height%3Dheight%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22%2Bthis.width%2B%22%2C%22%2Bthis.height%2B%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsDimension%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20is%20a%20Position%20object%0A%20*%20%0A%20*%20@param%20x%0A%20*%20@param%20y%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPosition%28x%2Cy%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09this.x%3Dx%3B%0A%20%20%20%09this.y%3Dy%3B%0A%20%20%20%09this.toString%3Dfunction%28%29%20%7B%20return%20%28%22%28%22%2Bthis.x%2B%22%2C%22%2Bthis.y%2B%22%29%22%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPosition%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0Avar%20LEO_HIGHLIGHTS_ADJUSTMENT%20%3D%20new%20LeoHighlightsPosition%283%2C3%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_TOP_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_TOP_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_TOP_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_BOTTOM_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_IFRAME_BOTTOM_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_HEIGHT%29%3B%0A%0Avar%20LEO_HIGHLIGHTS_DIV_HOVER_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_HEIGHT%29%3B%0Avar%20LEO_HIGHLIGHTS_DIV_CLICK_SIZE%20%3D%20new%20LeoHighlightsDimension%28LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_WIDTH%2CLEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_HEIGHT%29%3B%0A%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20passed%20in%20element%0A%20*%20%0A%20*%20@param%20elem%0A%20*%20@param%20dim%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetSize%28elem%2Cdim%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09//%20Set%20the%20popup%20location%0A%20%20%20%09elem.style.width%20%3D%20dim.width%20%2B%20%22px%22%3B%0A%20%20%20%09if%28elem.width%29%0A%20%20%20%09%09elem.width%3Ddim.width%3B%0A%20%20%20%09elem.style.height%20%20%3D%20dim.height%20%2B%20%22px%22%3B%0A%20%20%20%09if%28elem.height%29%0A%20%20%20%09%09elem.height%3Ddim.height%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20can%20be%20used%20for%20a%20simple%20one%20argument%20callback%0A%20*%0A%20*%20@param%20callName%0A%20*%20@param%20argName%0A%20*%20@param%20argVal%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSimpleGwCallBack%28callName%2CargName%2C%20argVal%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20if%28argName%29%0A%20%20%20%20%20%20%09gwObj.addParam%28argName%2CargVal%29%3B%0A%20%20%20%20%20%20gwObj.callName%28callName%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsSimpleGwCallBack%28%29%20%22%2BcallName%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20gets%20a%20url%20argument%20from%20the%20current%20document.%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetUrlArg%28url%2C%20name%20%29%0A%7B%0A%09%20%20name%20%3D%20name.replace%28/[%5C[]/%2C%22%5C%5C%5C[%22%29.replace%28/[%5C]]/%2C%22%5C%5C%5C]%22%29%3B%0A%09%20%20var%20regexS%20%3D%20%22[%5C%5C?%26]%22%2Bname%2B%22%3D%28[^%26%23]*%29%22%3B%0A%09%20%20var%20regex%20%3D%20new%20RegExp%28%20regexS%20%29%3B%0A%09%20%20var%20results%20%3D%20regex.exec%28url%29%3B%0A%09%20%20if%28%20results%20%3D%3D%20null%20%29%0A%09%20%20%20%20return%20%22%22%3B%0A%09%20%20else%0A%09%20%20%20%20return%20results[1]%3B%0A%7D%0A%0A%0A/**%0A%20*%20This%20allows%20to%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsRedirectTop%28url%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%20%09%0A%20%20%20%09top.location%3Durl%3B%09%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsRedirectTop%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20find%20an%20element%20by%20Id%0A%20*%20%0A%20*%20@param%20elemId%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsFindElementById%28elemId%2Cdoc%29%0A%7B%0A%09try%0A%09%7B%0A%09%20%20%20if%28doc%3D%3Dnull%29%0A%09%20%20%20%20%20%20doc%3Ddocument%3B%0A%09%20%20%20%0A%09%09var%20elem%3Ddoc.getElementById%28elemId%29%3B%0A%09%09if%28elem%29%0A%09%09%09return%20elem%3B%0A%09%09%0A%09%09/*%20This%20is%20the%20handling%20for%20IE%20*/%0A%09%09if%28doc.all%29%0A%09%09%7B%0A%09%09%09elem%3Ddoc.all[elemId]%3B%0A%20%20%20%20%20%20%20%20%20if%28elem%29%0A%20%20%20%20%20%20%20%20%20%09return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20for%20%28%20var%20i%20%3D%20%28document.all.length-1%29%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09elem%3Ddoc.all[i]%3B%0A%20%20%20%20%20%20%20%20%20%09if%28elem.id%3D%3DelemId%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20elem%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%09%09%7D%0A%09%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsFindElementById%28%29%22%2Ce%29%3B%0A%20%20%20%7D%0A%09return%20null%3B%0A%7D%0A%0A/**%0A%20*%20Get%20the%20location%20of%20one%20element%20relative%20to%20a%20parent%20reference%0A%20*%0A%20*%20@param%20ref%0A%20*%20%20%20%20%20%20%20%20%20%20%20the%20reference%20element%2C%20this%20must%20be%20a%20parent%20of%20the%20passed%20in%0A%20*%20%20%20%20%20%20%20%20%20%20%20element%0A%20*%20@param%20elem%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetLocation%28ref%2C%20elem%29%20%7B%0A%20%20%20_leoHighlightsDebugLog%28%22_leoHighlightsGetLocation%20%22%2Belem.id%29%3B%0A%20%20%20%0A%20%20%20var%20count%20%3D%200%3B%0A%20%20%20var%20location%20%3D%20new%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20var%20walk%20%3D%20elem%3B%0A%20%20%20while%20%28walk%20%21%3D%20null%20%26%26%20walk%20%21%3D%20ref%20%26%26%20count%20%3C%20LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT%29%20%7B%0A%20%20%20%20%20%20location.x%20%2B%3D%20walk.offsetLeft%3B%0A%20%20%20%20%20%20location.y%20%2B%3D%20walk.offsetTop%3B%0A%20%20%20%20%20%20walk%20%3D%20walk.offsetParent%3B%0A%20%20%20%20%20%20count%2B%2B%3B%0A%20%20%20%7D%0A%20%20%20%0A%20%20%20_leoHighlightsDebugLog%28%22Location%20is%3A%20%22%2Belem.id%2B%22%20-%20%22%2Blocation%29%3B%0A%0A%20%20%20return%20location%3B%0A%7D%0A%0A/**%0A%20*%20This%20is%20used%20to%20update%20the%20position%20of%20an%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20IFrame%0A%20*%20@param%20anchor%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsUpdatePopupPos%28iFrame%2Canchor%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20//%20Gets%20the%20scrolled%20location%20for%20x%20and%20y%0A%20%20%20%20%20%20var%20scrolledPos%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20if%28%20self.pageYOffset%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20self.pageXOffset%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20self.pageYOffset%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.scrollTop%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.documentElement.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.documentElement.scrollTop%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20scrolledPos.x%20%3D%20document.body.scrollLeft%3B%0A%20%20%20%20%20%20%20%20%20scrolledPos.y%20%3D%20document.body.scrollTop%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20total%20dimensions%20to%20see%20what%20scroll%20bars%20might%20be%20active%20*/%0A%20%20%20%20%20%20var%20totalDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%0A%20%20%20%20%20%20if%20%28document.all%20%26%26%20document.documentElement%20%26%26%20%0A%20%20%20%20%20%20%09document.documentElement.clientHeight%26%26document.documentElement.clientWidth%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09totalDim.width%20%3D%20document.documentElement.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.documentElement.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%20if%20%28document.all%29%0A%20%20%20%20%20%20%7B%20/*%20This%20is%20in%20IE%20*/%0A%20%20%20%20%20%09%20%09totalDim.width%20%3D%20document.body.scrollWidth%3B%0A%20%20%20%20%20%20%09totalDim.height%20%3D%20document.body.scrollHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20else%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%09%20totalDim.width%20%3D%20document.width%3B%0A%20%20%20%20%20%20%09%20totalDim.height%20%3D%20document.height%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20//%20Gets%20the%20location%20of%20the%20available%20screen%20space%0A%20%20%20%20%20%20var%20centerDim%3Dnew%20LeoHighlightsDimension%280%2C0%29%3B%0A%20%20%20%20%20%20if%28self.innerWidth%20%26%26%20self.innerHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20self.innerWidth-%28totalDim.height%3Eself.innerHeight?16%3A0%29%3B%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20self.innerHeight-%28totalDim.width%3Eself.innerWidth?16%3A0%29%3B%20%20//%20subtracting%20scroll%20bar%20offsets%20for%20firefox%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.documentElement%20%26%26%20document.documentElement.clientHeight%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.documentElement.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.documentElement.clientHeight%3B%0A%20%20%20%20%20%20%7D%20else%20if%28%20document.body%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20centerDim.width%20%3D%20document.body.clientWidth%3B%0A%20%20%20%20%20%20%20%20%20centerDim.height%20%3D%20document.body.clientHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20Get%20the%20current%20dimension%20of%20the%20popup%20element%0A%20%20%20%20%20%20var%20iFrameDim%3Dnew%20LeoHighlightsDimension%28iFrame.offsetWidth%2CiFrame.offsetHeight%29%0A%20%20%20%20%20%20if%20%28iFrameDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.width%20%3D%20iFrame.style.width.substring%280%2C%20iFrame.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20if%20%28iFrameDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%09iFrameDim.height%20%3D%20iFrame.style.height.substring%280%2C%20iFrame.style.height.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Calculate%20the%20position%2C%20lower%20right%20hand%20corner%20by%20default%20*/%0A%20%20%20%20%20%20var%20position%3Dnew%20LeoHighlightsPosition%280%2C0%29%3B%0A%20%20%20%20%20%20position.x%3DscrolledPos.x%2BcenterDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x%3B%0A%20%20%20%20%20%20position.y%3DscrolledPos.y%2BcenterDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28anchor%21%3Dnull%29%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20//centerDim%20in%20relation%20to%20the%20anchor%20element%20if%20available%0A%20%20%20%20%20%20%20%20%20var%20topOrBottom%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorPos%3D_leoHighlightsGetLocation%28document.body%2C%20anchor%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorScreenPos%20%3D%20new%20LeoHighlightsPosition%28anchorPos.x-scrolledPos.x%2CanchorPos.y-scrolledPos.y%29%3B%0A%20%20%20%20%20%20%20%20%20var%20anchorDim%3Dnew%20LeoHighlightsDimension%28anchor.offsetWidth%2Canchor.offsetHeight%29%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.width%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.width%20%3D%20anchor.style.width.substring%280%2C%20anchor.style.width.indexOf%28%27px%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20if%20%28anchorDim.height%20%3C%3D%200%29%0A%20%20%20%20%20%20%20%20%20%09anchorDim.height%20%3D%20anchor.style.height.substring%280%2C%20anchor.style.height.indexOf%28%27px%27%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20//%20Check%20if%20the%20popup%20can%20be%20shown%20above%20or%20below%20the%20element%0A%20%20%20%20%20%20%20%20%20if%20%28centerDim.height%20-%20anchorDim.height%20-%20iFrameDim.height%20-%20anchorScreenPos.y%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20below%2C%20formula%20above%20calculates%20space%20below%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20%2B%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28anchorScreenPos.y%20-%20anchorDim.height%20-%20iFrameDim.height%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%09//%20Show%20above%2C%20formula%20above%20calculates%20space%20above%20open%20iFrame%0A%20%20%20%20%20%20%20%20%20%09position.y%20%3D%20anchorPos.y%20-%20iFrameDim.height%20-%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20topOrBottom%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%22_leoHighlightsUpdatePopupPos%28%29%20-%20topOrBottom%3A%20%22%2BtopOrBottom%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20if%20%28topOrBottom%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20We%20attempt%20top%20attach%20the%20window%20to%20the%20element%0A%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20iFrameDim.width%20/%202%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28position.x%20%3C%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28position.x%20%2B%20iFrameDim.width%20%3E%20scrolledPos.x%20%2B%20centerDim.width%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20scrolledPos.x%20%2B%20centerDim.width%20-%20iFrameDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%22_leoHighlightsUpdatePopupPos%28%29%20-%20topOrBottom%3A%20%22%2Bposition%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Attempt%20to%20align%20on%20the%20right%20or%20left%20hand%20side%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28centerDim.width%20-%20anchorDim.width%20-%20iFrameDim.width%20-%20anchorScreenPos.x%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.x%20%3D%20anchorPos.x%20%2B%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20if%20%28anchorScreenPos.x%20-%20anchorDim.width%20-%20iFrameDim.width%20%3E%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%09position.x%20%3D%20anchorPos.x%20-%20anchorDim.width%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20%20//%20default%20to%20below%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position.y%20%3D%20anchorPos.y%20%2B%20anchorDim.height%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%22_leoHighlightsUpdatePopupPos%28%29%20-%20sideBottom%3A%20%22%2Bposition%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Make%20sure%20that%20we%20don%27t%20go%20passed%20the%20right%20hand%20border%20*/%0A%20%20%20%20%20%20if%28position.x%2BiFrameDim.width%3EcenterDim.width-20%29%0A%20%20%20%20%20%20%09position.x%3DcenterDim.width-%28iFrameDim.width%2B20%29%3B%0A%20%20%20%20%20%20%09%09%0A%20%20%20%20%20%20//%20Make%20sure%20that%20we%20didn%27t%20go%20passed%20the%20start%0A%20%20%20%20%20%20if%28position.x%3C0%29%0A%20%20%20%20%20%20%20%20%20position.x%3D0%3B%0A%20%20%20%20%20%20if%28position.y%3C0%29%0A%20%20%20%20%20%20%09position.y%3D0%3B%0A%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22Popup%20info%20id%3A%20%20%20%20%20%20%20%22%20%2BiFrame.id%2B%22%20-%20%22%2Banchor.id%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5Cnscrolled%20%20%20%20%20%20%20%20%20%20%22%20%2B%20scrolledPos%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5Cncenter/visible%20%20%20%20%22%20%2B%20centerDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5Cnanchor%20%28absolute%29%20%22%20%2B%20anchorPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5Cnanchor%20%28screen%29%20%20%20%22%20%2B%20anchorScreenPos%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5CnSize%20%28anchor%29%20%20%20%20%20%22%20%2B%20anchorDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5CnSize%20%28popup%29%20%20%20%20%20%20%22%20%2B%20iFrameDim%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2B%20%22%5CnResult%20pos%20%20%20%20%20%20%20%20%22%20%2B%20position%29%3B%0A%0A%20%20%20%20%20%20//%20Set%20the%20popup%20location%0A%20%20%20%20%20%20iFrame.style.left%20%3D%20position.x%20%2B%20%22px%22%3B%0A%20%20%20%20%20%20iFrame.style.top%20%20%3D%20position.y%20%2B%20%22px%22%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsUpdatePopupPos%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20show%20the%20passed%20in%20element%20as%20a%20popup%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09var%20popup%3Dnew%20LeoHighlightsPopup%28anchorId%2Csize%29%3B%0A%20%20%20%09popup.show%28%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22_leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20transform%20the%20passed%20in%20url%20to%20a%20rover%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsGetRoverUrl%28url%29%0A%7B%0A%09var%20rover%3DLEO_HIGHLIGHTS_ROVER_TAG%3B%0A%09var%20roverUrl%3D%22http%3A//rover.ebay.com/rover/1/%22%2Brover%2B%22/4?%26mpre%3D%22%2BencodeURI%28url%29%3B%0A%09%0A%09return%20roverUrl%3B%0A%7D%0A%0A/**%0A%20*%20Sets%20the%20size%20of%20the%20bottom%20windown%20part%0A%20*%20%0A%20*%20@param%20size%0A%20*%20@return%0A%20*/%0Afunction%20_leoHighlightsSetBottomSize%28size%2CclickId%29%0A%7B%0A%20%20%20/*%20Get%20the%20elements%20*/%0A%20%20%20var%20iFrameBottom%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID%29%3B%0A%20%20%20var%20iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%0A%20%20%20/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%20var%20iFrameBottomSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_IFRAME_BOTTOM_CLICK_SIZE%3ALEO_HIGHLIGHTS_IFRAME_BOTTOM_HOVER_SIZE%3B%0A%20%20%20var%20divSize%3D%28size%3D%3D1%29?LEO_HIGHLIGHTS_DIV_CLICK_SIZE%3ALEO_HIGHLIGHTS_DIV_HOVER_SIZE%3B%0A%0A%20%20%20/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%20leoHighlightsUpdateUrl%28iFrameBottom%2Csize%2CclickId%29%3B%0A%0A%20%20%20/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%20_leoHighlightsPrevElem.hover%3Dsize%3D%3D1?false%3Atrue%3B%0A%0A%20%20%20_leoHighlightsSetSize%28iFrameBottom%2CiFrameBottomSize%29%3B%0A%20%20%20_leoHighlightsSetSize%28iFrameDiv%2CdivSize%29%3B%0A%7D%0A%0A/**%0A%20*%20Class%20for%20a%20Popup%20%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20LeoHighlightsPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22LeoHighlightsPopup%28%29%20%22%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%09this.anchorId%3DanchorId%3B%0A%20%20%20%09this.anchor%3D_leoHighlightsFindElementById%28this.anchorId%29%3B%0A%20%20%20%09this.topIframe%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_TOP_ID%29%3B%0A%20%20%20%20%20%20this.bottomIframe%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID%29%3B%0A%20%20%20%09this.iFrameDiv%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%20%20%20%09%0A%20%20%20%09this.topIframe.src%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url_top%27%29%29%3B%3B%0A%20%20%20%20%20%20this.bottomIframe.src%3Dunescape%28this.anchor.getAttribute%28%27leoHighlights_url_bottom%27%29%29%3B%3B%0A%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%221%29%20LeoHighlightsPopup%28%29%20%28%22%2Bthis.topIframe.style.top%2B%22%2C%20%22%2Bthis.topIframe.style.left%2B%22%29%22%29%3B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%222%29%20LeoHighlightsPopup%28%29%20%28%22%2Bthis.bottomIframe.style.top%2B%22%2C%20%22%2Bthis.bottomIframe.style.left%2B%22%29%22%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%09leoHighlightsSetSize%28size%29%3B%0A%20%20%20%09%0A%20%20%20%09this.updatePos%3Dfunction%28%29%20%7B%20_leoHighlightsUpdatePopupPos%28this.iFrameDiv%2Cthis.anchor%29%7D%3B%0A%20%20%20%20%20%20this.show%3Dfunction%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.updatePos%28%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20this.iFrameDiv.style.visibility%20%3D%20%22visible%22%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20this.iFrameDiv.style.display%20%3D%20%22block%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.updatePos%28%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%223%29%20LeoHighlightsPopup%28%29%20%28%22%2Bthis.topIframe.style.top%2B%22%2C%20%22%2Bthis.topIframe.style.left%2B%22%29%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsDebugLog%28%224%29%20LeoHighlightsPopup%28%29%20%28%22%2Bthis.bottomIframe.style.top%2B%22%2C%20%22%2Bthis.bottomIframe.style.left%2B%22%29%22%29%3B%0A%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%0A%20%20%20%09this.scroll%3Dfunction%28%29%20%7B%20this.updatePos%28%29%3B%7D%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22new%20LeoHighlightsPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20updates%20the%20url%20for%20the%20iFrame%0A%20*%20%0A%20*%20@param%20iFrame%0A%20*%20@param%20size%0A%20*%20@param%20clickId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsUpdateUrl%28iFrame%2Csize%2CclickId%2CdestUrl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsUpdateUrl%28%29%20%22%2BdestUrl%29%3B%0A%20%20%20%20%20%20var%20url%3DiFrame.src%3B%0A%20%20%20%20%20%20var%20idx%3Durl.indexOf%28%22%26size%3D%22%29%3B%0A%20%20%20%20%20%20if%28idx%3E%3D0%29%0A%20%20%20%20%20%20%20%20%20url%3Durl.substring%280%2Cidx%29%3B%0A%20%20%20%20%20%20%0A//%20%20%20%20%20%20size%3D1%3B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsUpdateUrl%28%29%20size%3D%22%2Bsize%2B%22%20%20%22%2Burl%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28size%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20url%2B%3D%28%22%26size%3D%22%2Bsize%29%3B%0A%20%20%20%20%20%20if%28clickId%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20url%2B%3D%28%22%26clickId%3D%22%2BclickId%29%3B%0A%20%20%20%20%20%20if%28destUrl%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20url%2B%3D%28%22%26url%3D%22%2BdestUrl%29%3B%0A%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsUpdateUrl%28%29%20%22%2Burl%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20iFrame.src%3Durl%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsUpdateUrl%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsSetSize%28size%2CclickId%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20element%20*/%0A%20%20%09%09var%20iFrameTop%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_TOP_ID%29%3B%0A%0A%20%20%09%09/*%20Figure%20out%20the%20correct%20sizes%20*/%0A%20%20%09%09var%20iFrameTopSize%3DLEO_HIGHLIGHTS_IFRAME_TOP_SIZE%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Refresh%20the%20iFrame%27s%20url%2C%20by%20removing%20the%20size%20arg%20and%20adding%20it%20again%20*/%0A%20%20%09%09leoHighlightsUpdateUrl%28iFrameTop%2Csize%2CclickId%29%3B%0A%20%20%09%09%0A%20%20%09%09_leoHighlightsSetSize%28iFrameTop%2CiFrameTopSize%29%3B%0A%20%20%20%20%20%20_leoHighlightsSetBottomSize%28size%2CclickId%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%20%20%20%20if%28size%3D%3D1%26%26_leoHighlightsPrevElem%29%0A%20%20%20%20%20%20%20%20%20_leoHighlightsPrevElem.hover%3Dfalse%3B%20%20%20%20%20%20%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsSetSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20Start%20the%20popup%20a%20little%20bit%20delayed.%0A%20*%20Somehow%20IE%20needs%20some%20time%20to%20find%20the%20element%20by%20id.%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@param%20size%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsShowPopup%28anchorId%2Csize%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09if%28_leoHighlightsPrevElem%26%26%28_leoHighlightsPrevElem%21%3Delem%29%29%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09elem.shown%3Dtrue%3B%0A%09%09_leoHighlightsPrevElem%3Delem%3B%0A%09%09%0A%09%09_leoHighlightsDebugLog%28%22leoHighlightsShowPopup%28%29%20%22%2B_leoHighlightsPrevElem%29%3B%09%09%0A%20%20%20%09%0A%20%20%20%09/*%20FF%20needs%20to%20find%20the%20element%20first%20*/%0A%20%20%20%09_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%20%09%0A%20%20%20%09setTimeout%28%22_leoHighlightsShowPopup%28%5C%27%22%2BanchorId%2B%22%5C%27%2C%5C%27%22%2Bsize%2B%22%5C%27%29%3B%22%2C10%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsShowPopup%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe%0A*%0A*%20@param%20id%0A*%20@return%0A*/%0Afunction%20leoHighlightsHideElem%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Get%20the%20appropriate%20sizes%20*/%0A%20%20%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%20%20%09%09if%28elem%29%0A%20%20%09%09%09elem.style.visibility%3D%22hidden%22%3B%0A%20%20%09%09%0A%20%20%09%09/*%20Clear%20the%20page%20for%20the%20next%20run%20through%20*/%0A%20%20%09%09var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_TOP_ID%29%3B%0A%20%20%09%09if%28iFrame%29%0A%20%20%09%09%09iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%20%20%20%20var%20iFrame%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID%29%3B%0A%20%20%20%20%20%20if%28iFrame%29%0A%20%20%20%20%20%20%20%20%20iFrame.src%3D%22about%3Ablank%22%3B%0A%20%20%09%09%0A%20%20%09%09%0A%20%20%09%09if%28_leoHighlightsPrevElem%29%0A%20%20%09%09%7B%0A%20%20%09%09%09_leoHighlightsPrevElem.shown%3Dfalse%3B%0A%20%20%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%20%20%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHideElem%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A*%0A*%20This%20can%20be%20used%20to%20close%20an%20iframe.%0A*%20Since%20the%20iFrame%20is%20reused%20the%20frame%20only%20gets%20hidden%0A*%0A*%20@return%0A*/%0Afunction%20leoHighlightsIFrameClose%28%29%0A%7B%0A%20%20try%0A%20%20%7B%0A%09%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsHideIFrame%22%29%3B%0A%20%20%7D%0A%20%20catch%28e%29%0A%20%20%7B%0A%09%20%20_leoHighlightsReportExeception%28%22leoHighlightsIFrameClose%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20click%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleClick%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsIsFrame%28%29%29%0A%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dfalse%3B%0A%20%20%09%09if%28anchor.startTimer%29%0A%20%20%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%20%20%20%09%0A%20%20%20%20%20%20/*%20Report%20the%20click%20event%20*/%0A%20%20%20%20%20%20leoHighlightsReportEvent%28%22clicked%22%2C%20window.document.domain%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_keywords%27%29%2Cnull%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_accept%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_reject%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C1%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleClick%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20should%20handle%20the%20hover%20events%0A%20*%20%0A%20*%20@param%20anchorId%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleHover%28anchorId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20if%28_leoHighlightsIsFrame%28%29%29%0A%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%0A%20%20%09%09var%20anchor%3D_leoHighlightsFindElementById%28anchorId%29%3B%0A%20%20%09%09anchor.hover%3Dtrue%3B%0A%20%20%09%09%0A%20%20%20%20%20%20/*%20Report%20the%20hover%20event%20*/%0A%20%20%20%20%20%20leoHighlightsReportEvent%28%22hovered%22%2C%20window.document.domain%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_keywords%27%29%2Cnull%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_accept%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20_leoHighlightsGetAttrib%28anchor%2C%27leohighlights_reject%27%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%09leoHighlightsShowPopup%28anchorId%2C0%29%3B%0A%20%20%20%09return%20false%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHighlightsHandleHover%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%09%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOver%28id%29%0A%7B%0A%09try%0A%09%7B%0A%09%20%20%20if%28_leoHighlightsIsFrame%28%29%29%0A%09%20%20%20%20%20%20return%3B%0A%09%20%20%20%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%09%09%0A%0A%09%09/*%20Clear%20the%20end%20timer%20if%20required%20*/%0A%09%09if%28anchor.endTimer%29%0A%09%09%09clearTimeout%28anchor.endTimer%29%3B%0A%09%09anchor.endTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER%3B%0A%09%09%0A%09%09/*%20The%20element%20is%20already%20showing%20we%20are%20done%20*/%0A%09%09if%28anchor.shown%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.startTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHandleHover%28anchor.id%29%3B%0A%09%09%09anchor.hover%3Dtrue%3B%0A%09%09%09%7D%2C%0A%09%09%09LEO_HIGHLIGHTS_SHOW_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20handle%20the%20mouse%20over%20setup%20timers%20for%20the%20appropriate%20timers%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleMouseOut%28id%29%0A%7B%0A%09try%0A%09%7B%09%0A%09%09var%20anchor%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%0A%09%09/*%20Clear%20the%20start%20timer%20if%20required%20*/%0A%09%09if%28anchor.startTimer%29%0A%09%09%09clearTimeout%28anchor.startTimer%29%3B%0A%09%09anchor.startTimer%3Dnull%3B%0A%09%09%0A%09%09anchor.style.background%3DLEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT%3B%0A%09%09if%28%21anchor.shown||%21anchor.hover%29%0A%09%09%09return%3B%0A%09%09%0A%09%09/*%20Setup%20the%20start%20timer%20if%20required%20*/%0A%09%09anchor.endTimer%3DsetTimeout%28function%28%29%7B%0A%09%09%09leoHighlightsHideElem%28LEO_HIGHLIGHTS_IFRAME_DIV_ID%29%3B%0A%09%09%09anchor.shown%3Dfalse%3B%0A%09%09%09_leoHighlightsPrevElem%3Dnull%3B%0A%09%09%09%7D%2CLEO_HIGHLIGHTS_HIDE_DELAY_MS%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOver%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%26%26_leoHighlightsPrevElem.endTimer%29%0A%09%09%09clearTimeout%28_leoHighlightsPrevElem.endTimer%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOver%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0A/**%0A%20*%20This%20handles%20the%20mouse%20movement%20into%20the%20currently%20opened%20window.%0A%20*%20Just%20clear%20the%20close%20timer%0A%20*%20%0A%20*%20@param%20id%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsHandleIFrameMouseOut%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09if%28_leoHighlightsPrevElem%29%0A%09%09%09leoHighlightsHandleMouseOut%28_leoHighlightsPrevElem.id%29%3B%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsHandleIFrameMouseOut%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A/**%0A%20*%20This%20is%20a%20method%20is%20used%20to%20make%20the%20javascript%20within%20IE%20runnable%0A%20*/%0Avar%20leoHighlightsRanUpdateDivs%3Dfalse%3B%0Afunction%20leoHighlightsUpdateDivs%28%29%0A%7B%0A%09try%0A%09%7B%0A%09%09/*%20Check%20if%20this%20is%20an%20IE%20browser%20and%20if%20divs%20have%20been%20updated%20already%20*/%0A%09%09if%28document.all%26%26%21leoHighlightsRanUpdateDivs%26%26%21_leoHighlightsIsFrame%28%29%29%0A%09%09%7B%0A%09%09%09leoHighlightsRanUpdateDivs%3Dtrue%3B%20//%20Set%20early%20to%20prevent%20running%20twice%0A%09%09%09for%28var%20i%3D0%3Bi%3CLEO_HIGHLIGHTS_MAX_HIGHLIGHTS%3Bi%2B%2B%29%0A%09%09%09%7B%0A%09%09%09%09var%20id%3D%22leoHighlights_Underline_%22%2Bi%3B%0A%09%09%09%09var%20elem%3D_leoHighlightsFindElementById%28id%29%3B%0A%09%09%09%09if%28elem%3D%3Dnull%29%0A%09%09%09%09%09break%3B%0A%09%09%09%09%0A%09%09%09%09if%28%21elem.leoChanged%29%0A%09%09%09%09%7B%0A%09%09%09%09%09elem.leoChanged%3Dtrue%3B%0A%09%09%09%09%0A%09%09%09%09%09/*%20This%20will%20make%20javaScript%20runnable%20*/%09%09%09%09%0A%09%09%09%09%09elem.outerHTML%3Delem.outerHTML%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%09catch%28e%29%0A%09%7B%0A%09%09_leoHighlightsReportExeception%28%22leoHighlightsUpdateDivs%28%29%22%2Ce%29%3B%20%20%20%09%0A%09%7D%0A%7D%0A%0Aif%28document.all%29%0A%09setTimeout%28leoHighlightsUpdateDivs%2C200%29%3B%0A%0A%0A/**%0A%20*%20This%20is%20used%20to%20report%20events%20to%20the%20plugin%0A%20*%20@param%20key%0A%20*%20@param%20domain%0A%20*%20@param%20keywords%0A%20*%20@param%20vendorId%0A%20*%20@param%20accept%0A%20*%20@param%20reject%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsReportEvent%28key%2C%20domain%2Ckeywords%2CvendorId%2Caccept%2Creject%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22key%22%2Ckey%29%3B%0A%20%20%20%20%20%20if%28domain%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22domain%22%2Cdomain%29%3B%0A%20%20%20%20%20%20if%28keywords%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22keywords%22%2Ckeywords%29%3B%0A%20%20%20%20%20%20if%28vendorId%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22vendorId%22%2CvendorId%29%3B%0A%20%20%20%20%20%20if%28accept%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22accept%22%2Caccept%29%3B%0A%20%20%20%20%20%20if%28reject%21%3Dnull%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22reject%22%2Creject%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsEvent%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlights%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20expand%20or%20collapse%20the%20window%20base%20on%20it%20prior%20state%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsToggleSize%28clickId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsToggleSize%28%29%20%22%2B_leoHighlightsPrevElem%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20hover%20flag%20and%20change%20the%20status%20*/%0A%20%20%20%20%20%20var%20size%3D_leoHighlightsPrevElem.hover?1%3A0%3B%0A%20%20%20%20%20%20_leoHighlightsSetBottomSize%28size%2CclickId%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsToggleSize%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20Call%20into%20the%20kvm%20that%20will%20then%20do%20a%20callback%20into%20the%20top%20window%0A%20*%20The%20top%20window%20will%20then%20call%20leoH%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsSetSecondaryWindowUrl%28url%2C%20customerId%2C%20phraseId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsSetSecondaryWindowUrl%28%29%20%22%2Burl%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22url%22%2C%20url%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22phraseId%22%2C%20phraseId%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22customerId%22%2C%20customerId%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSecondaryWindowUrl%22%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsSetSecondaryWindowUrl%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20Call%20into%20the%20kvm%20that%20will%20then%20do%20a%20callback%20into%20the%20top%20window%0A%20*%20The%20top%20window%20will%20then%20call%20leoH%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsSetSecondaryWindowUrlCallback%28url%2C%20customerId%2C%20phraseId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsSetSecondaryWindowUrlCallback%28%29%20%22%2Burl%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Clear%20the%20hover%20flag%2C%20if%20the%20user%20shows%20this%20at%20full%20size%20*/%0A%20%20%20%20%20%20var%20size%3D_leoHighlightsPrevElem.hover?0%3A1%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsSetSecondaryWindowUrlCallback%28%29%20%22%2B_leoHighlightsPrevElem%2B%22%20--%20%22%2B_leoHighlightsPrevElem.hover%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20elements%20*/%0A%20%20%20%20%20%20var%20iFrameBottom%3D_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID%29%3B%0A%20%20%20%20%20%20leoHighlightsUpdateUrl%28iFrameBottom%2Csize%2Cnull%2Curl%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHighlightsSetSecondaryWindowUrlCallback%28%29%20%22%2Burl%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsSetSecondaryWindowUrlCallback%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20set%20the%20text%20to%20the%20Top%20%0A%20*%20%0A%20*%20@param%20txt%0A%20*%20@return%0A%20*/%0Afunction%20leoHighlightsSetExpandTxt%28txt%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20var%20topIFrame%20%3D%20_leoHighlightsFindElementById%28LEO_HIGHLIGHTS_IFRAME_TOP_ID%29%3B%0A%20%20%20%20%20%20if%28topIFrame%3D%3Dnull%29%0A%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Get%20the%20current%20url%20*/%0A%20%20%20%20%20%20var%20url%3DtopIFrame.src%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28url%3D%3Dnull%29%0A%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Extract%20the%20previous%20hash%20if%20present%20*/%0A%20%20%20%20%20%20var%20idx%3D-1%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20if%28%28idx%3Durl.indexOf%28%27%23%27%29%29%3E0%29%0A%20%20%20%20%20%20%20%20%20url%3Durl.substring%280%2Cidx%29%3B%0A%0A%20%20%20%20%20%20/*%20Append%20the%20text%20to%20the%20end%20*/%0A%20%20%20%20%20%20url%2B%3D%22%23%22%2BencodeURI%28txt%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20/*%20Set%20the%20iframe%20with%20the%20new%20url%20that%20contains%20the%20hash%20tag%20*/%0A%20%20%20%20%20%20topIFrame.src%3Durl%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHighlightsSetExpandTxt%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/*----------------------------------------------------------------------*/%0A/*%20Methods%20provided%20to%20the%20highlight%20providers...%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*/%0A/*----------------------------------------------------------------------*/%0A%0A/**%0A%20*%20This%20will%20set%20the%20expand%20text%20for%20the%20Top%20window%0A%20*/%0Afunction%20leoHL_SetExpandTxt%28txt%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsDebugLog%28%22leoHL_SetExpandTxt%28%29%20%22%2Btxt%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20_leoHighlightsSimpleGwCallBack%28%22LeoHighlightsSetExpandTxt%22%2C%22expandTxt%22%2Ctxt%29%3B%20%20%20%20%20%20%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHL_SetExpandTxt%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20try%7B%0A%20%20%20%20%20%20%20%20%20var%20domain%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22domain%22%29%0A%20%20%20%20%20%20%20%20%20var%20keywords%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22keywords%22%29%0A%20%20%20%20%20%20%20%20%20var%20vendorId%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22vendorId%22%29%0A%20%20%20%20%20%20leoHighlightsReportEvent%28%22clickthrough%22%2C%20domain%2Ckeywords%2C%20vendorId%29%3B%0A%20%20%20%20%20%20%7Dcatch%28e%29%7B%0A%20%20%20%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%20%20%20%7D%0A%20%20%09%09%0A%20%20%20%09_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHL_RedirectTop%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20LeoHL_RedirectTop%28url%2CparentId%29%0A%7B%0A%20%20%20leoHL_RedirectTop%28url%2CparentId%29%3B%0A%7D%0A%0A/**%0A%20*%20This%20will%20redirect%20the%20top%20window%20to%20the%20passed%20in%20url%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20@return%0A%20*/%0Afunction%20leoHL_RedirectTopAd%28url%2CparentId%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%20%0A%20%20%20%20%20%20try%7B%0A%20%20%20%20%20%20%20%20%20var%20domain%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22domain%22%29%0A%20%20%20%20%20%20%20%20%20var%20keywords%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22keywords%22%29%0A%20%20%20%20%20%20%20%20%20var%20vendorId%3D_leoHighlightsGetUrlArg%28window.document.URL%2C%22vendorId%22%29%0A%20%20%20%20%20%20leoHighlightsReportEvent%28%22advertisement.click%22%2C%20domain%2Ckeywords%2C%20vendorId%29%3B%0A%20%20%20%20%20%20%7Dcatch%28e%29%7B%0A%20%20%20%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHL_RedirectTopAd%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20_leoHighlightsRedirectTop%28url%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHL_RedirectTopAd%28%29%22%2Ce%29%3B%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A%0A/**%0A%20*%20This%20will%20set%20the%20size%20of%20the%20iframe%0A%20*%20%0A%20*%20@param%20url%0A%20*%20@param%20parentId%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_setSize%28size%2Curl%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%09/*%20Get%20the%20clickId%20*/%0A%20%20%20%09var%20clickId%3D_leoHighlightsGetUrlArg%28%20url%2C%22clickId%22%29%0A%20%20%20%09%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.addParam%28%22size%22%2Csize%29%3B%0A%20%20%20%20%20%20if%28clickId%29%0A%20%20%20%20%20%20%20%20%20gwObj.addParam%28%22clickId%22%2CclickId%2B%22_blah%22%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsSetSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%09_leoHighlightsReportExeception%28%22leoHl_setSize%28%29%22%2Ce%29%3B%20%20%20%09%0A%20%20%20%7D%0A%7D%0A%0A/**%0A%20*%20This%20will%20toggle%20the%20size%20of%20the%20window%0A%20*%20%0A%20*%20@return%0A%20*/%0Afunction%20leoHl_ToggleSize%28%29%0A%7B%0A%20%20%20try%0A%20%20%20%7B%0A%20%20%20%20%20%20var%20gwObj%20%3D%20new%20Gateway%28%29%3B%0A%20%20%20%20%20%20gwObj.callName%28%22LeoHighlightsToggleSize%22%29%3B%0A%20%20%20%7D%0A%20%20%20catch%28e%29%0A%20%20%20%7B%0A%20%20%20%20%20%20_leoHighlightsReportExeception%28%22leoHl_ToggleSize%28%29%22%2Ce%29%3B%20%20%20%20%20%0A%20%20%20%7D%0A%7D%0A%0A"); &lt;/script&gt; &lt;/span&gt;&lt;input id="gwProxy" type="hidden"&gt;&lt;!--Session data--&gt;&lt;input onclick="jsCall();" id="jsProxy" type="hidden"&gt;&lt;div id="refHTML"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1216101524598220792?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1216101524598220792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1216101524598220792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1216101524598220792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1216101524598220792'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/10/online-ocr.html' title='Online OCR'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1LVZn-nyesg/Sti05DpSb9I/AAAAAAAAATg/Jp_wkfu4wks/s72-c/lamp0.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7827920164838762333</id><published>2009-10-11T20:15:00.000-07:00</published><updated>2011-02-23T19:06:29.613-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><title type='text'>The Bank Card Tutorial For GDP 111</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.screencast-o-matic.com/watch/cQ6Xb3f7M"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 249px;" src="http://3.bp.blogspot.com/_1LVZn-nyesg/StKisuvoaXI/AAAAAAAAATI/3xtXyxBHWM4/s400/bankCard.jpg" alt="" id="BLOGGER_PHOTO_ID_5391550593261660530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Click to see the video.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1LVZn-nyesg/StObsjFiYoI/AAAAAAAAATY/WLWDWTHordA/s1600-h/update.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 147px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/StObsjFiYoI/AAAAAAAAATY/WLWDWTHordA/s200/update.gif" alt="" id="BLOGGER_PHOTO_ID_5391824368527630978" border="0" /&gt;&lt;/a&gt;You should never, under any circumstances, distort text. Ever. Except sometimes. Look. This is the real world. Suppose that you must imitate a piece that your boss has stolen away from another house by undercutting its price. This other house, located high on a pedestal, would never distort type. Instead, they would fork out the $35 to $75 to purchase the face, and eat the cost. Your boss, on the other hand just says, make it work. Don't even think of asking him to purchase the face. So there you have it it. By the way, another trick that you should never use in a case like this is to give the bold face a thin white outline centered on the edge. This will knock the weight back a smidge toward the semibold that is called for in the spec. Be careful doing this. Some fonts work better than others. You may have to take the text into illustrator, create outlines, and then work on it there. Obviously this method would not be suitable for body text.&lt;br /&gt;&lt;br /&gt;All of this is visual, so use your judgment. That's what judgment is for, and why you have it.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Resources:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://archives.thewriterservice.com/gdp111/2011BankCard.pdf"&gt;The PDF&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://archives.thewriterservice.com/gdp111/ch6Bank.zip"&gt;The Package&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Further reading:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://help.adobe.com/en_US/InDesign/6.0/WSa285fff53dea4f8617383751001ea8cb3f-6dbaa.html"&gt;&lt;span style="font-weight: bold;"&gt;Setting Indents in CS4&lt;/span&gt;&lt;/a&gt;, on the &lt;span style="font-weight: bold; font-style: italic;"&gt;Adobe&lt;/span&gt; site.&lt;/li&gt;&lt;li&gt;&lt;a href="http://indesignsecrets.com/creating-a-reverse-indent.php"&gt;&lt;span style="font-weight: bold;"&gt;Creating a Reverse Indent&lt;/span&gt;&lt;/a&gt;, by James Fritz, on &lt;span style="font-weight: bold; font-style: italic;"&gt;Indesign Secrets.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7827920164838762333?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7827920164838762333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7827920164838762333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7827920164838762333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7827920164838762333'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/10/bank-card-tutorial.html' title='The Bank Card Tutorial For GDP 111'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1LVZn-nyesg/StKisuvoaXI/AAAAAAAAATI/3xtXyxBHWM4/s72-c/bankCard.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8261484440013854855</id><published>2009-10-01T15:11:00.000-07:00</published><updated>2010-03-31T08:28:02.662-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mashups'/><title type='text'>Map Mashup</title><content type='html'>Here is a cool &lt;a href="http://www.umapper.com/"&gt;map mashup&lt;/a&gt; showing the location of what was once an expensive piece of real estate in Santa Barbara. It's less expensive now--the value of the property, that is. The mashup tool from Zoomify is free. The blue line is a motorbike route between the property and the DAC.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="umapper_embed" width="400" height="300"&gt;&lt;param name="FlashVars" value="kmlPath=http://umapper.s3.amazonaws.com/maps/kml/42460.kml"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="movie" value="http://umapper.s3.amazonaws.com/templates/swf/embed.swf"&gt;&lt;param name="quality" value="high"&gt;&lt;embed src="http://umapper.s3.amazonaws.com/templates/swf/embed.swf" flashvars="kmlPath=http://umapper.s3.amazonaws.com/maps/kml/42460.kml" allowscriptaccess="always" allowfullscreen="true" quality="high" name="umapper_embed" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;You can also use this tool in the form of a Flash component.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.wayfaring.com/"&gt;&lt;span style="font-weight: bold;"&gt;Wayfaring&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="http://mapalist.com/"&gt;Mapalist&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="http://stiern.com/tutorials/adding-custom-google-maps-to-your-website"&gt;Adding Custom Google Maps to Your Website&lt;/a&gt;, by Peter Steen Høgenhaug.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="http://www.scribblemaps.com/#lat=42.314111&amp;amp;lng=-83.036825&amp;amp;z=3&amp;amp;t=Map&amp;amp;y=0&amp;amp;p=0"&gt;Scribble Maps&lt;/a&gt;&lt;/b&gt; is the quick and easy way to rapidly make and share maps! With Scribble Maps you can:&lt;ul&gt;&lt;li&gt;Draw shapes and Scribble!&lt;/li&gt;&lt;li&gt;Pace Markers and text&lt;/li&gt;&lt;li&gt;Create a Custom Widget&lt;/li&gt;&lt;li&gt;Save as KML/GPX&lt;/li&gt;&lt;li&gt;Send maps to friends&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8261484440013854855?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8261484440013854855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8261484440013854855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8261484440013854855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8261484440013854855'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/10/map-mashup.html' title='Map Mashup'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-6058219217242638077</id><published>2009-08-17T16:42:00.000-07:00</published><updated>2010-03-13T21:56:39.209-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>The single text box Flash Web site</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1LVZn-nyesg/SonsiFrO_lI/AAAAAAAAASo/bOXEvDqgqDY/s1600-h/QUIKnDIRTY.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 38px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/SonsiFrO_lI/AAAAAAAAASo/bOXEvDqgqDY/s200/QUIKnDIRTY.png" alt="" id="BLOGGER_PHOTO_ID_5371084100999249490" border="0" /&gt;&lt;/a&gt;The basic idea here is to create a single page that swaps in content from an XML file. The text content populates into a single text box that resizes according to the amount of text, with a scroll bar popping in for extra-long text. Content sub-elements are linked from within the content text. When you close a sub-element, the text box goes back to the point from which you clicked on the sub-element.&lt;br /&gt;&lt;br /&gt;This is sort of a super-template. Change the images and the XML content, and you have an entirely different site. I was going to build a content creator to write the XML, but I have become discouraged by the abysmal implementation of HTML/CSS that has persisted in Flash since at least version 6. When the Text Layout Framework is implemented, this may all become a moot point anyway.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Speaking of Flash HTML quirkiness, here's  kind of an annoying little glitch:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1LVZn-nyesg/SozNcBUr44I/AAAAAAAAATA/WngdK62n6bY/s1600-h/ss.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 305px; height: 84px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/SozNcBUr44I/AAAAAAAAATA/WngdK62n6bY/s320/ss.gif" alt="" id="BLOGGER_PHOTO_ID_5371894336821388162" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;Note that the bullets turn the same color as the link color. Here's the code: &amp;lt;li&amp;gt;Dysfunctional Managers....&amp;lt;a href="event:2"&amp;gt;read more&amp;amp;gt;&amp;amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; There is no CSS on the UL. The CSS for the link provides the blue. Who knows why Flash gratuitously colors the bullets blue?&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Here is the &lt;a href="http://thewebcurmudgeon.freehostia.com/quikNdirty/"&gt;link&lt;/a&gt;. All content is external. The app reads in a variable from the XML to hide or show the info button in the upper right.  This button always links to a PDF document named &lt;span style="font-style: italic;"&gt;information.pdf&lt;/span&gt;. Another implementation is &lt;a href="http://www.sboakcrest.com/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The XML is &lt;a href="http://thewebcurmudgeon.freehostia.com/quikNdirty/theContent.xml"&gt;here&lt;/a&gt;. An external CSS style sheet is &lt;a href="http://thewebcurmudgeon.freehostia.com/quikNdirty/cTek.css"&gt;here&lt;/a&gt;. There is also internal CSS for the menu.  The commented source code in the FLA is &lt;a href="http://www.thewriterservice.com/dl/QnD.zip"&gt;here&lt;/a&gt;. You can also just snatch the SWF, then change the XML, and if you want, change the CSS. Put all of your images into an images directory under the directory where you put the HTML, CSS, XML, and the SWF. Then you can use the app as your own. As usual, you don't have to credit The Curmudgeon, who is too old to care, anyhow.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1LVZn-nyesg/SozMsuC-O6I/AAAAAAAAAS4/JPuaU7Rt7oE/s1600-h/anarchyLicense.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 233px;" src="http://3.bp.blogspot.com/_1LVZn-nyesg/SozMsuC-O6I/AAAAAAAAAS4/JPuaU7Rt7oE/s320/anarchyLicense.gif" alt="" id="BLOGGER_PHOTO_ID_5371893524192967586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.circlecube.com/2008/12/portfolio/asfunction-texteventlink-tutorial-for-as3-flash-html-link-to-call-actionscript-function-tutorial/"&gt;&lt;span style="font-weight: bold;"&gt;asfunction (TextEvent.LINK) Tutorial for AS3 | Flash&lt;/span&gt;&lt;/a&gt;&lt;a href="http://blog.circlecube.com/2008/12/portfolio/asfunction-texteventlink-tutorial-for-as3-flash-html-link-to-call-actionscript-function-tutorial/"&gt;&lt;span style="font-weight: bold;"&gt; H&lt;/span&gt;&lt;/a&gt;&lt;a href="http://blog.circlecube.com/2008/12/portfolio/asfunction-texteventlink-tutorial-for-as3-flash-html-link-to-call-actionscript-function-tutorial/"&gt;&lt;span style="font-weight: bold;"&gt;TML Link to call actionscript function&lt;/span&gt;&lt;/a&gt;, by Evan Mullins. I haven't looked closely at this tutorial; but it seems to cover the topic of firing functions from HTML links from within an AS3 app.&lt;/li&gt;&lt;li&gt;Add &lt;a style="font-weight: bold;" href="http://blog.pixelbreaker.com/2006/11/08/flash/swfmacmousewheel/"&gt;mousewheel&lt;/a&gt; functionality on Mac OS.&lt;/li&gt;&lt;li&gt;  &lt;a href="http://www.gotoandlearn.com/play?id=64"&gt;&lt;strong&gt;ActionScript 3 XML Basics&lt;/strong&gt;&lt;/a&gt; - This tutorial shows how to use the new XML features in AS3 by creating a simple RSS reader&lt;/li&gt;&lt;li&gt;&lt;a href="http://robertnyman.com/2007/04/19/flashreplace-a-light-weight-javascript-to-insert-flash-movies-into-your-web-page/"&gt;&lt;span style="font-weight: bold;"&gt;FlashReplace&lt;/span&gt;&lt;/a&gt;: HTML Flash implementation.&lt;/li&gt;&lt;li&gt;&lt;a href="http://tutorials.flashmymind.com/2009/02/xml-pages-with-actionscript-3/"&gt;&lt;span style="font-weight: bold;"&gt;XML Pages with ActionScript 3&lt;/span&gt;&lt;/a&gt;: Create multiple Flash pages using XML. In the Flash movie, all the content and image paths have been defined in a XML file. I will first give you a short intro to XML, then we set up the Flash movie and finally, we add some ActionScript 3 to provide the functionality.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="line-height: 18px;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:12px;"  &gt;&lt;h1 style="margin: 0px; padding: 0px; font-size: 14px; text-transform: capitalize; font-weight: bold; text-align: left; line-height: normal;"&gt;&lt;a href="http://www.republicofcode.com/tutorials/flash/as3xml/"&gt;Loading XML Data Using ActionScript 3.0&lt;/a&gt;,  &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;on&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Republic of Code&lt;/span&gt;.&lt;/h1&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.developphp.com/Flash_tutorials/show_tutorial.php?tid=129"&gt;&lt;span style="font-weight: bold;"&gt;CSS styling a Flash dynamic website Actionscript 3.0 html Text tutorial CS3+4&lt;/span&gt;&lt;/a&gt;, on &lt;span style="font-weight: bold; font-style: italic;"&gt;DevelopPHP&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-6058219217242638077?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/6058219217242638077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=6058219217242638077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6058219217242638077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6058219217242638077'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/08/single-text-box-flash-web-site.html' title='The single text box Flash Web site'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1LVZn-nyesg/SonsiFrO_lI/AAAAAAAAASo/bOXEvDqgqDY/s72-c/QUIKnDIRTY.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-4153457956347064849</id><published>2009-07-09T11:58:00.000-07:00</published><updated>2009-08-14T10:07:14.118-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web forms'/><title type='text'>The Web Forms Exercise For MAT 113</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.thewriterservice.com/cinch/cinch.html"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 155px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/SlaBAW9w5nI/AAAAAAAAASg/hiJ9kOofvxQ/s200/cinchLogo.png" alt="" id="BLOGGER_PHOTO_ID_5356610649968404082" border="0" /&gt;&lt;/a&gt;The Web form that we will be building on Monday is available &lt;a href="http://thewebcurmudgeon.freehostia.com/formTute/nonSpryForm.html"&gt;here&lt;/a&gt; as an un-styled page, and &lt;a href="http://thewebcurmudgeon.freehostia.com/formTute/spryForm.html"&gt;here&lt;/a&gt; as a styled page. The HTML is identical.&lt;br /&gt;&lt;br /&gt;Web forms typically generate emails containing the form results that might go, for instance, to a sales department. If you fill out the form, then click "Submit," the script will return the text that would appear in the body of an email generated. A representation of that code is &lt;a href="http://thewebcurmudgeon.freehostia.com/formTute/aFormScript.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The script generator is &lt;a href="http://www.thewriterservice.com/cinch/cinch.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here's a little sort-of glitch that I came across constructing this lesson: I have the first name and last name fields set up to be required fields. At the same time, I have values entered--"First name" and "Last name." So, if the user ignores those two fields,  the SPRY validation will not betriggered when the user clicks the "Submit" button. If I were hand-coding this, I would write a script that did something like, &lt;span style="font-style: italic; color: rgb(153, 51, 153);"&gt;If the value for fName is "First name," then trigger the SPRY widget thingie to throw an error.&lt;/span&gt; However, I can't figure out how to do this with DW. Yet.&lt;br /&gt;&lt;br /&gt;This semester, I'm styling the form with CSS to give an indication of how CSS can be used with forms. Of course, if I were making an actual form, I'd do it in Flash, which has magnitudes more functionality and flexibility than a plain old HTML form ever will. Just ask Jill.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.tutorialhero.com/click-58744-forms_in_dreamweaver_cs4.php"&gt;&lt;span style="font-weight: bold;"&gt;Creating Forms in Dreamweaver CS4&lt;/span&gt;&lt;/a&gt;, an EZ-PZ starter-offer, on &lt;span style="font-weight: bold; font-style: italic;"&gt;Best WebDesgnz&lt;/span&gt;. Be sure to click over to the &lt;a href="http://www.tutorialhero.com/click-58744-forms_in_dreamweaver_cs4.php"&gt;next tutoria&lt;/a&gt;l on form validation.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.layersmagazine.com/dreamweaver-cs4-widgets.html"&gt;&lt;span style="font-weight: bold;"&gt;Dreamweaver CS4 Widgets&lt;/span&gt;&lt;/a&gt;. A video tutorial from &lt;span style="font-weight: bold; font-style: italic;"&gt;Layers Magazine&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.thesitewizard.com/gettingstarted/dreamweaver-cs4-tutorial-8.shtml"&gt;&lt;span style="font-weight: bold;"&gt;How to Create a feedback form in Dreamweaver CS4&lt;/span&gt;&lt;/a&gt;, by Christopher Heng, on &lt;span style="font-weight: bold; font-style: italic;"&gt;thesitewizard&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sitepoint.com/article/fancy-form-design-css/"&gt;&lt;span style="font-weight: bold;"&gt;Fancy Form Design Using CSS&lt;/span&gt;&lt;/a&gt;, by Cameron Adams, on&lt;span style="font-weight: bold; font-style: italic;"&gt; Site Point&lt;/span&gt;. This is a thorough discussion of the finer points of creating and implementing Web forms, including styling and accessibility issues.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Further reading:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.soaptray.com/2008/04/validate-email-addresses-using-php/"&gt;&lt;span style="font-weight: bold;"&gt;Validate e-mail addresses using PHP&lt;/span&gt;&lt;/a&gt;--a very thorough procedure, on &lt;span style="font-weight: bold; font-style: italic;"&gt;Soaptray&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://webdesign.about.com/od/forms/a/aa031599.htm"&gt;&lt;span style="font-weight: bold;"&gt;Form Validation&lt;/span&gt;&lt;/a&gt;--Make Sure Your Forms are Filled In, by Jennifer Kyrnin, on &lt;span style="font-weight: bold; font-style: italic;"&gt;About.com&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://www.d.umn.edu/itss/support/Training/Online/webdesign/css.html#forms"&gt;&lt;span style="font-weight: bold;"&gt;All kinds of CSS Stuff&lt;/span&gt;&lt;/a&gt; for Web forms, from &lt;span style="font-weight: bold; font-style: italic;"&gt;Web Design Reference&lt;/span&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;The &lt;a href="http://thewebcurmudgeon.freehostia.com/pubDesign.html#forms"&gt;Web Forms&lt;/a&gt; section of the Curmudgeon's Archives.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#forms"&gt;&lt;span style="font-weight: bold;"&gt;The HTML5 specification for Web forms&lt;/span&gt;&lt;/a&gt;--just when you thought that you had this all figured out, everything changes.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://carsonified.com/blog/dev/the-definitive-guide-to-get-vs-post/"&gt;&lt;span style="font-weight: bold;"&gt;The Definitive Guide to GET vs POST&lt;/span&gt;&lt;/a&gt;, by Fahed Bizzari.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Class resources:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;a href="http://thewebcurmudgeon.freehostia.com/formTute/mat113-09.zip"&gt;files&lt;/a&gt;&lt;/span&gt; used in the presentation on Web forms.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=rycOFwtJzk4"&gt;A tutorial on using the script generator, on &lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;youTube&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.screencast-o-matic.com/watch/cQi2DAf2c"&gt;The same tutorial on Screencast-O-Matic&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://thewebcurmudgeon.freehostia.com/slices/"&gt;slices example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://thewebcurmudgeon.freehostia.com/jaclynShor/"&gt;Jaclyn's page&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.paulvanroekel.nl/picasa/"&gt;Web galleries that you can use&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://thewebcurmudgeon.freehostia.com/invisi/"&gt;An invisible button&lt;/a&gt; (on the smiley face).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://thewebcurmudgeon.freehostia.com/linking/"&gt;CSS-styled links&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-4153457956347064849?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/4153457956347064849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=4153457956347064849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4153457956347064849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4153457956347064849'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/07/web-forms-exercise.html' title='The Web Forms Exercise For MAT 113'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1LVZn-nyesg/SlaBAW9w5nI/AAAAAAAAASg/hiJ9kOofvxQ/s72-c/cinchLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-6790155992782500514</id><published>2009-06-27T08:04:00.000-07:00</published><updated>2009-07-04T17:43:48.055-07:00</updated><title type='text'>The Archives Are Moving</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1LVZn-nyesg/SkY1pLKh30I/AAAAAAAAASY/lgaS8pXmNEQ/s1600-h/johnIcon.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 160px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/SkY1pLKh30I/AAAAAAAAASY/lgaS8pXmNEQ/s200/johnIcon.gif" alt="" id="BLOGGER_PHOTO_ID_5352024188664274754" border="0" /&gt;&lt;/a&gt;Google will shortly cease supporting the file types used in the Curmudgeon's archives. And so, the archive is being removed to &lt;a href="http://thewebcurmudgeon.freehostia.com/"&gt;Freehostia&lt;/a&gt;. Some interruption may occur when you click on the archives, until the porting process has been completed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE:&lt;/span&gt;&lt;br /&gt;The files have been moved. Some minor anomalies have occurred. Please report any oddities that you encounter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-6790155992782500514?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/6790155992782500514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=6790155992782500514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6790155992782500514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6790155992782500514'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/06/archives-are-moving.html' title='The Archives Are Moving'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1LVZn-nyesg/SkY1pLKh30I/AAAAAAAAASY/lgaS8pXmNEQ/s72-c/johnIcon.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-6960756129629491249</id><published>2009-06-21T16:09:00.000-07:00</published><updated>2010-06-29T08:24:23.542-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file management'/><title type='text'>Preserving Class Work</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1LVZn-nyesg/Sj7FmTlHUAI/AAAAAAAAASQ/hYvm4gWCIiE/s1600-h/dropBoxLogo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 74px; height: 93px;" src="http://1.bp.blogspot.com/_1LVZn-nyesg/Sj7FmTlHUAI/AAAAAAAAASQ/hYvm4gWCIiE/s200/dropBoxLogo.jpg" alt="" id="BLOGGER_PHOTO_ID_5349930669244370946" border="0" /&gt;&lt;/a&gt;Two quick and simple Web-based file upload utilities provide good alternative methods to using a jump drive for transferring files back and forth from school to a home computer.&lt;br /&gt;&lt;br /&gt;If you have properly defined your site at school, all of your work files will be contained within a root folder. Find this folder on your computer under "work." Right click on it, and then select the option to create an archive. A zip file will be created, having the same name as that of your root folder. You may then send this zip file to yourself over the Net.&lt;br /&gt;&lt;br /&gt;The easiest of these file transfer sites is called &lt;a href="http://free.mailbigfile.com/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;mailbigfile&lt;/span&gt;&lt;/a&gt;. After the mailbigfile Web page opens, enter your email address, then upload your zip file, using the file picker. An email will be sent to you with a link to your stored zip file. Be sure to download the zip file as soon as you arrive home, because files are deleted after a couple of days.&lt;br /&gt;&lt;br /&gt;Another good service is called &lt;a href="http://www.getdropbox.com/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Dropbox&lt;/span&gt;&lt;/a&gt;. This service provides up to 2GB of free online storage so that you can use it as a backup for your projects as well as a means to transfer files. Your Dropbox account is accessible from any computer connected to the Internet. These files are never deleted by the host. Dropbox acts as a virtual hard disk drive, but located on the Internet instead of on your local computer.&lt;br /&gt;&lt;br /&gt;If you save your zip files after unarchiving them, you will have a good backup of older states of your project.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.thewebcurmudgeon.com/2007/08/send-files-on-net.html"&gt;&lt;span&gt;This older post&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.filesovermiles.com/"&gt;&lt;span style="font-weight: bold; "&gt;filesovermiles&lt;/span&gt;&lt;/a&gt;, a p2p file transfer site.&lt;/li&gt;&lt;li&gt;&lt;a style="font-weight: bold; " href="http://www.teamviewer.com/index.aspx"&gt;TeamViewer&lt;/a&gt;, and &lt;a href="https://secure.logmein.com/home.asp?hp=6"&gt;&lt;b&gt;LogMeIn&lt;/b&gt;&lt;/a&gt;, two outstanding commercial remote desktop applications that are free for non-commercial use.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.soonr.com/"&gt;&lt;span style="font-weight: bold;"&gt;Soonr.&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="http://www.filedropper.com/"&gt;File Dropper&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.badongo.com/"&gt;&lt;span style="font-weight: bold;"&gt;Badongo&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="http://www.mediafire.com/"&gt;Mediafire&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a style="font-weight: bold;" href="http://www.wetransfer.com/"&gt;WeTransfer&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.makeuseof.com/tag/top-free-file-hosts/"&gt;&lt;b&gt;A list&lt;/b&gt; &lt;/a&gt;of more on &lt;b&gt;&lt;i&gt;MakeUseOf&lt;/i&gt;&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://filevo.com/"&gt;&lt;b&gt;filevo&lt;/b&gt;&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-6960756129629491249?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/6960756129629491249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=6960756129629491249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6960756129629491249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6960756129629491249'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/06/preserving-class-work.html' title='Preserving Class Work'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1LVZn-nyesg/Sj7FmTlHUAI/AAAAAAAAASQ/hYvm4gWCIiE/s72-c/dropBoxLogo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-785336357357028379</id><published>2009-04-28T20:26:00.000-07:00</published><updated>2009-11-21T08:24:21.130-08:00</updated><title type='text'>The SPAM-O-LATOR is now in Beta</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1LVZn-nyesg/SffNW4mAzXI/AAAAAAAAASA/K54b6VJOI5U/s1600-h/spamOlator-%5BConverted%5D.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 140px;" src="http://1.bp.blogspot.com/_1LVZn-nyesg/SffNW4mAzXI/AAAAAAAAASA/K54b6VJOI5U/s200/spamOlator-%5BConverted%5D.gif" alt="" id="BLOGGER_PHOTO_ID_5329954477048909170" border="0" /&gt;&lt;/a&gt;The &lt;span style="font-weight: bold;"&gt;SPAM-O-LATOR&lt;/span&gt; broadcast email generator is now in Beta. The first batch of emails was sent out, with a 50% rate of rejection--presumably by SPAM filters. The Web Curmudgeon Foundation, developer of the application, joins Craig's List and The Pirate Bay in taking no responsibility for the way in which the software they develop is used.&lt;br /&gt;&lt;br /&gt;The SPAM-O-LATOR is being developed in Flash CS4, PHP, and MySQL. The application parses an LDIF file, pulling out the names and email addresses, then populates these into a table. Next, it uploads an HTML file to a server. This file comprises the message to be sent. Contained within this HTML file is a tag &lt;fname&gt;. The PHP script regexes out this tag, and looping over the database, replaces the tag with the first name of one of the entries in the database, thus creating the illusion of personalization. It next writes the headers,  mails out the file, and then goes to the next name.&lt;br /&gt;&lt;/fname&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1LVZn-nyesg/SwgSjITuZ1I/AAAAAAAAATo/4FMuzuZG85U/s1600/update.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 75px; height: 74px;" src="http://1.bp.blogspot.com/_1LVZn-nyesg/SwgSjITuZ1I/AAAAAAAAATo/4FMuzuZG85U/s400/update.gif" alt="" id="BLOGGER_PHOTO_ID_5406591747393218386" border="0" /&gt;&lt;/a&gt;&lt;fname&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;After the SPAM-O-LATOR got caught is a SPAM filter, it was modified to send out multiple mails within specific domains at intervals. The user enters a time interval. Multiple emails to that domain are stored in a list, then sent out one-by-one at the timed interval specified.&lt;br /&gt;&lt;br /&gt;Beta testers are welcome. Please contact the Curmudgeon by using the form at the bottom of this page, or by IMing him using the chat badge in the upper right part of the page.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;/fname&gt;&lt;ul&gt;&lt;li&gt;&lt;fname&gt;&lt;a href="http://net.tutsplus.com/tutorials/html-css-techniques/20-email-design-best-practices-and-resources-for-beginners/"&gt;&lt;span style="font-weight: bold;"&gt;20 Email Design Best Practices and Resources for Beginners&lt;/span&gt;&lt;/a&gt; by Matthew Kirk, on &lt;span style="font-weight: bold; font-style: italic;"&gt;net tutes+&lt;/span&gt;.&lt;/fname&gt;&lt;/li&gt;&lt;/ul&gt;&lt;fname&gt;&lt;br /&gt;&lt;/fname&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-785336357357028379?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/785336357357028379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=785336357357028379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/785336357357028379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/785336357357028379'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/04/spam-o-lator-is-now-in-beta.html' title='The SPAM-O-LATOR is now in Beta'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1LVZn-nyesg/SffNW4mAzXI/AAAAAAAAASA/K54b6VJOI5U/s72-c/spamOlator-%5BConverted%5D.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7680974048991218245</id><published>2009-04-18T12:10:00.000-07:00</published><updated>2010-10-29T07:26:27.958-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web forms'/><title type='text'>FormMail Script-Generator Update</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1LVZn-nyesg/Seol-r3C2-I/AAAAAAAAARw/G3DRYgmlAbU/s1600-h/cinchLogo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 155px;" src="http://1.bp.blogspot.com/_1LVZn-nyesg/Seol-r3C2-I/AAAAAAAAARw/G3DRYgmlAbU/s200/cinchLogo.png" alt="" id="BLOGGER_PHOTO_ID_5326111268174748642" border="0" /&gt;&lt;/a&gt;The &lt;a href="http://thewriterservice.com/cinch/cinch.html"&gt;Cinch-O-Matic&lt;/a&gt; PHP script generator for Web forms has been updated in Flash 10. Rather than using a clunky round trip to the server to generate the PHP script, the application now writes the file directly to the local hard disk.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Further reading:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=rycOFwtJzk4"&gt;A tutorial on youTube&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7680974048991218245?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7680974048991218245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7680974048991218245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7680974048991218245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7680974048991218245'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/04/formmail-script-generator-update.html' title='FormMail Script-Generator Update'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1LVZn-nyesg/Seol-r3C2-I/AAAAAAAAARw/G3DRYgmlAbU/s72-c/cinchLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5236792755035432882</id><published>2009-01-27T20:45:00.000-08:00</published><updated>2011-10-20T11:09:23.228-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fonts'/><title type='text'>De-dforking a Mac Font</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_1LVZn-nyesg/SX_lkZwFbwI/AAAAAAAAARo/idwPbF0Mjk8/s1600-h/trueType.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5296204100361613058" src="http://4.bp.blogspot.com/_1LVZn-nyesg/SX_lkZwFbwI/AAAAAAAAARo/idwPbF0Mjk8/s200/trueType.jpg" style="cursor: pointer; float: left; height: 120px; margin: 0pt 10px 10px 0pt; width: 120px;" /&gt;&lt;/a&gt;UPDATE: I just got a dfont that Win7 won't recognize after the conversion described below. For now, I'm going to let this go, because I have too much to do. But the solution--a big hassle that involves installing FontForge and a Linux emulator on my machine (forget that)--is &lt;a href="http://peter.upfold.org.uk/projects/dfontsplitter/info/windows"&gt;&lt;b&gt;here&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I got an Indesign package from a client with a curious file in the fonts folder that had the extension &lt;span style="font-style: italic;"&gt;.dfont&lt;/span&gt;. When I opened the INDD file, I got a missing font notice for that face. Whereas the OT fonts went right into my Windows font folder, the dfonts were thrown out faster than Rush Limbaugh getting ejected from an Earth Day celebration.&lt;br /&gt;&lt;br /&gt;After scaring my dog with an outburst of invective about Macs, I went to Google to find out what a dfont is. Long story short: it's a &lt;a href="http://www.macdisk.com/fontsen.php3"&gt;&lt;span style="font-weight: bold;"&gt;tricked-up TrueType&lt;/span&gt;&lt;/a&gt; font put into a kind of file called a data fork. This I found after two or three clicks on the Google return for the query "dfont Mac." Regular computers can't use these fonts.&lt;br /&gt;&lt;br /&gt;Next, I Googled "convert dfont to windows font," which yielded a lot of commercial font-conversion software. I recently gave all of the money I had to Adobe, with none left for any more commercial software. I clicked through a number of these returns until I came upon &lt;a href="http://peter.upfold.org.uk/projects/dfontsplitter#windows"&gt;&lt;span style="font-weight: bold;"&gt;DfontSplitter&lt;/span&gt;&lt;/a&gt;, an open source application that converts Mac dfonts into normal&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;TrueType fonts.&lt;br /&gt;&lt;br /&gt;I downloaded the application, installed it, converted the offending font, re-opened the INDD file, and found no warning for that particular face. Of course, there were a lot of other issues, but nothing a few clicks around Google couldn't resolve.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: red; font-family: arial; font-size: 130%; font-weight: bold;"&gt;WARNING&lt;/span&gt;&lt;/div&gt;Just as Rush Limbaugh and the security guards at the Earth Day celebration might not see eye-to-eye about how things should be, so too with a converted font on a different operating system. Your best bet here is to make a PDF of the output for your client to examine to be certain that the font is behaving properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5236792755035432882?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5236792755035432882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5236792755035432882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5236792755035432882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5236792755035432882'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2009/01/de-dforking-mac-font.html' title='De-dforking a Mac Font'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1LVZn-nyesg/SX_lkZwFbwI/AAAAAAAAARo/idwPbF0Mjk8/s72-c/trueType.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-995949517566682601</id><published>2008-12-31T19:35:00.000-08:00</published><updated>2009-01-04T10:49:57.474-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='computer management'/><title type='text'>Transition To A New Machine</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1LVZn-nyesg/SVw8jNUiBII/AAAAAAAAARY/Vq8L8WhUTfg/s1600-h/pc.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_1LVZn-nyesg/SVw8jNUiBII/AAAAAAAAARY/Vq8L8WhUTfg/s200/pc.gif" alt="" id="BLOGGER_PHOTO_ID_5286166638194984066" border="0" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;EASIER THAN BEFORE&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;I have a new PC. All of my work files are on my old PC. The CS4 is on the new one. The old machine has Vista Home Premium; the new one has Ultimate. So, I've linked the two on a local network using my wireless Linksys.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This way, I can run the new machine from the old one as if it were a part of some sort of dual computer. The new machine shows up on the old one with very little latency or resolution degradation. I can tab back and forth between machines.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am gradually moving directories over from the old to the new machine as I install more apps such as WordWeb, and all of the plugins for FireFox that I had been using .&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is proving to be the best and easiest transition that I have ever made.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-995949517566682601?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/995949517566682601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=995949517566682601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/995949517566682601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/995949517566682601'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/12/transition-to-new-machine.html' title='Transition To A New Machine'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1LVZn-nyesg/SVw8jNUiBII/AAAAAAAAARY/Vq8L8WhUTfg/s72-c/pc.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8928648557713793225</id><published>2008-12-28T14:33:00.000-08:00</published><updated>2009-01-28T07:26:05.689-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>The Image Gallery Updated</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1LVZn-nyesg/SVf-xUI0opI/AAAAAAAAARI/cZmILt0RUgk/s1600-h/FlLogo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 82px; height: 77px;" src="http://3.bp.blogspot.com/_1LVZn-nyesg/SVf-xUI0opI/AAAAAAAAARI/cZmILt0RUgk/s200/FlLogo.png" alt="" id="BLOGGER_PHOTO_ID_5284972810915324562" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 0, 0); font-family: arial; font-weight: bold;font-size:85%;" &gt;ANOTHER UPGRADE COMING SOON&lt;/span&gt;&lt;br /&gt;The &lt;a href="http://johnrobertlemon.googlepages.com/pubDesignProg.html#gallery"&gt;&lt;span style="font-weight: bold;"&gt;image gallery&lt;/span&gt;&lt;/a&gt; has been updated with commented &lt;a href="http://johnrobertlemon.googlepages.com/galleryCode.zip"&gt;&lt;span style="font-weight: bold;"&gt;source code&lt;/span&gt;&lt;/a&gt;. Additionally, the gallery has been changed so as to allow for portrait and landscape formats. Also, a few bugs have been worked out, and the number of images allowed has been increased from 10 to unlimited.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://thewebcurmudgeon.freehostia.com/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 166px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/SVgCOVI-FoI/AAAAAAAAARQ/vrWnoWLnbA4/s200/galleryXampl.jpg" alt="" id="BLOGGER_PHOTO_ID_5284976607935469186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am constructing a utility that will allow the user to format, crop, caption and upload images as well as edit those previously created.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8928648557713793225?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8928648557713793225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8928648557713793225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8928648557713793225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8928648557713793225'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/12/image-gallery-updated.html' title='The Image Gallery Updated'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1LVZn-nyesg/SVf-xUI0opI/AAAAAAAAARI/cZmILt0RUgk/s72-c/FlLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-6419481479846530792</id><published>2008-11-14T19:28:00.001-08:00</published><updated>2009-01-04T10:51:37.688-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fonts'/><title type='text'>Downloading Free Fonts For The PC</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1LVZn-nyesg/SR5CHPM0psI/AAAAAAAAAQ4/6UXTBXnjrQY/s1600-h/openType.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 81px; height: 101px;" src="http://1.bp.blogspot.com/_1LVZn-nyesg/SR5CHPM0psI/AAAAAAAAAQ4/6UXTBXnjrQY/s200/openType.gif" alt="" id="BLOGGER_PHOTO_ID_5268721306176890562" border="0" /&gt;&lt;/a&gt;Here's a &lt;a href="http://johnrobertlemon.googlepages.com/pcFontsPlayer.html"&gt;&lt;span style="font-weight: bold;"&gt;quick demo&lt;/span&gt;&lt;/a&gt; on how to find and download free fonts for the PC. The example font is &lt;a href="http://www.dafont.com/cicle.font"&gt;&lt;span style="font-weight: bold;"&gt;Cicle&lt;/span&gt;&lt;/a&gt;, available for free download and use from &lt;span style="font-weight: bold; font-style: italic;"&gt;daFon&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;t&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sanskritweb.net/forgers/cdrfonts.pdf"&gt;&lt;b&gt;The CorelDraw Font Finder&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.fonts.com/AboutFonts/Help/_InstallingPCFonts1.htm"&gt;&lt;span style="font-weight: bold;"&gt;Installing Fonts in Windows&lt;/span&gt;&lt;/a&gt;, on &lt;span style="font-weight: bold; font-style: italic;"&gt;fonts.com&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;a href="http://www.noupe.com/fonts/50-free-fonts-for-professional-designs.html"&gt;50 Incredible Fonts for Professional Web &amp;amp; Print Design&lt;/a&gt;&lt;/span&gt;, on &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;noupe&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-6419481479846530792?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/6419481479846530792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=6419481479846530792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6419481479846530792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6419481479846530792'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/11/downloading-free-fonts-for-pc.html' title='Downloading Free Fonts For The PC'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1LVZn-nyesg/SR5CHPM0psI/AAAAAAAAAQ4/6UXTBXnjrQY/s72-c/openType.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1804857091566461060</id><published>2008-11-10T20:06:00.000-08:00</published><updated>2009-01-04T10:52:14.078-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Indesign'/><title type='text'>Indesign Tutorial on PDF Separations on a PC</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1LVZn-nyesg/SRkGBVEQZKI/AAAAAAAAAQw/rHV6vQEWR6M/s1600-h/indesign.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 96px; height: 96px;" src="http://1.bp.blogspot.com/_1LVZn-nyesg/SRkGBVEQZKI/AAAAAAAAAQw/rHV6vQEWR6M/s200/indesign.jpg" alt="" id="BLOGGER_PHOTO_ID_5267247859091137698" border="0" /&gt;&lt;/a&gt;The new tutorial on how to print out separations to PDF from Indesign on a PC is &lt;a href="http://johnrobertlemon.googlepages.com/pdfSeps.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A &lt;a href="http://johnrobertlemon.googlepages.com/card.html"&gt;&lt;span style="font-weight: bold;"&gt;tutorial&lt;/span&gt;&lt;/a&gt; on printing fold and crop marks to PDF.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1804857091566461060?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1804857091566461060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1804857091566461060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1804857091566461060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1804857091566461060'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/11/indesign-tutorial-on-pdf-separations-on.html' title='Indesign Tutorial on PDF Separations on a PC'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1LVZn-nyesg/SRkGBVEQZKI/AAAAAAAAAQw/rHV6vQEWR6M/s72-c/indesign.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7697700229864030239</id><published>2008-11-05T09:49:00.000-08:00</published><updated>2009-01-04T10:52:44.759-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='images'/><title type='text'>Get Free Vector Graphics From Google</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1LVZn-nyesg/SRIRiGuJosI/AAAAAAAAAQo/UYPOwXGNaSw/s1600-h/getVector.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 196px;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/SRIRiGuJosI/AAAAAAAAAQo/UYPOwXGNaSw/s200/getVector.gif" alt="" id="BLOGGER_PHOTO_ID_5265290191966937794" border="0" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;/span&gt;Steps:&lt;/span&gt;&lt;br /&gt;1. In Google, select "Images," then enter a description to characterize the graphic that you seek.&lt;br /&gt;2. After the description, enter the term &lt;span style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;vector&lt;/span&gt;&lt;/span&gt;.&lt;div&gt;3. For size, enter "All image sizes."&lt;br /&gt;4. The results shown will be raster representations of the vector art. In some cases, the results will be irrelevant. Click on an image that you want. A Web page will pop up that has the image on it. In many cases, the page will contain a link to an EPS, AI, or SVG file of the art. Check the licensing. Usually the image will be free to use.&lt;br /&gt;5. If you cannot find a link to a vector file for your image, try again with another.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.gomediazine.com/tutorials/from-sketch-to-vector-illustration/"&gt;&lt;span style="font-weight: bold;"&gt;A vector art tutorial&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;a href="http://openclipart.org/media/view/media/home"&gt;The Open Clipart Library&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7697700229864030239?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7697700229864030239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7697700229864030239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7697700229864030239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7697700229864030239'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/11/get-vector-graphics-from-google.html' title='Get Free Vector Graphics From Google'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1LVZn-nyesg/SRIRiGuJosI/AAAAAAAAAQo/UYPOwXGNaSw/s72-c/getVector.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-6583995786186348555</id><published>2008-11-02T13:53:00.000-08:00</published><updated>2009-01-04T10:53:17.739-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><title type='text'>Tutoring Schedule</title><content type='html'>The Google Calendar for my tutoring schedule is located &lt;a href="http://www.google.com/calendar/embed?src=johnrobertlemon@gmail.com&amp;amp;ctz=America/Los_Angeles&amp;amp;gsessionid=5g-jN0KCAeAqsi41GLyMEA"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;YouTube &lt;a href="http://www.youtube.com/watch?v=uQF7tQR3Sno"&gt;tutoria&lt;/a&gt;l on master pages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-6583995786186348555?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/6583995786186348555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=6583995786186348555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6583995786186348555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6583995786186348555'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/11/tutoring-schedule.html' title='Tutoring Schedule'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-4584836156603350786</id><published>2008-08-26T21:15:00.000-07:00</published><updated>2009-01-04T10:54:34.079-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web forms'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Source Code For The MailForm Script Generator</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1LVZn-nyesg/SLTZGhXpAwI/AAAAAAAAALY/tqFi8ALM49Y/s1600-h/cinchLogo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_1LVZn-nyesg/SLTZGhXpAwI/AAAAAAAAALY/tqFi8ALM49Y/s200/cinchLogo.png" alt="" id="BLOGGER_PHOTO_ID_5239050972598698754" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;The &lt;span style="font-weight: bold;"&gt;Cinch-O-Matic&lt;/span&gt; is a Flash application that takes the URL for a Web page on the Net, pulls out the form elements for a mail form, and then writes a PHP script to process the form. The resultant script is then downloaded to the user's hard disk.&lt;br /&gt;&lt;br /&gt;The source code for the Cinch-O-Matic is available &lt;a href="http://johnrobertlemon.googlepages.com/mat113.zip"&gt;here&lt;/a&gt;. An overview of how the program works is archived &lt;a href="http://johnrobertlemon.googlepages.com/pubDesignProg.html#cinch"&gt;here&lt;/a&gt;. The program itself is deployed &lt;a href="http://www.thewriterservice.com/cinch/cinch.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Keep in mind that this is still  in beta. Updates will replace the current files.&lt;br /&gt;&lt;br /&gt;This application is probably more typical of how most software is written than of how it should be written. In other words, it is a hodgepodge.&lt;br /&gt;&lt;br /&gt;The motivational idea  was to write a simple mail form script generator for students first learning to use Web forms. Minimal knowledge of server-side scripting on the part of the students would be required, as well as minimal input on their part.&lt;br /&gt;&lt;br /&gt;I believe that this original idea has been realized in the application. However, during development, I encountered a number of unanticipated situations that required patchwork fixing. For example, I forgot that elements such as checkboxes could have the same name, with a number of values returned in an array. Also, when I started out, I failed to account for the effect of non-PHP scripts on the application. The result is that I have patched in a series of widget-like functions, toggles, and whatnot to remedy these things.&lt;br /&gt;&lt;br /&gt;The code is largely commented. Some of it nearly defies explanation. But, hey! It works.&lt;br /&gt;&lt;br /&gt;You have been warned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-4584836156603350786?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/4584836156603350786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=4584836156603350786' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4584836156603350786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4584836156603350786'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/08/source-code-for-mailform-script.html' title='Source Code For The MailForm Script Generator'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1LVZn-nyesg/SLTZGhXpAwI/AAAAAAAAALY/tqFi8ALM49Y/s72-c/cinchLogo.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-3829976632986434391</id><published>2008-08-02T22:10:00.000-07:00</published><updated>2009-01-04T10:57:01.425-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Fire a function from an HTML text link in Flash</title><content type='html'>A new mini-tutorial is up &lt;a href="http://johnrobertlemon.googlepages.com/pubDesignProg.html#textEvent"&gt;here&lt;/a&gt; on firing a function from within an htmlText link in Actionscript 3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-3829976632986434391?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/3829976632986434391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=3829976632986434391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3829976632986434391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3829976632986434391'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/08/fire-function-from-html-text-link-mini.html' title='Fire a function from an HTML text link in Flash'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-2375410609918180634</id><published>2008-07-11T14:33:00.001-07:00</published><updated>2009-01-04T10:58:12.410-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web forms'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Form Error Checking for MAT 113</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1LVZn-nyesg/SHfR36P7wkI/AAAAAAAAAKY/LmgBPewK-NA/s1600-h/nh911.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/SHfR36P7wkI/AAAAAAAAAKY/LmgBPewK-NA/s200/nh911.gif" alt="" id="BLOGGER_PHOTO_ID_5221873051418477122" border="0" /&gt;&lt;/a&gt;Besides embarrassing the Curmudgeon in front of the entire class, failure to implement error checking on a Web form can present serious problems for users as well as site owners.&lt;br /&gt;&lt;br /&gt;In the fire alarm example we went over, the only error checking on the form was to compare the two entries for the phone number, issuing an error message if they were different. This meant that if both entries were left blank, no error message would be generated; indeed, the user would receive a thank you message.&lt;br /&gt;&lt;br /&gt;Of course, the Curmudgeon immediately ran home after class and fixed the form. The process took a while, while at the same time offering a good example of the sorts of questions raised by a Web form. Here is a snippet of the corrected code as it pertains to error checking:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thewebcurmudgeon.com/#skipper"&gt;Skip over the code mumbo jumbo&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;if (nameBox.text=="") {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            errorMessageIns.errorText.appendText("No name has been entered. \n\n");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; if (phone1.text!=phone2.text&amp;amp;&amp;amp;phone1.text!="") {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            errorMessageIns.errorText.appendText("The two numbers do not match. \n\n");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if (phone1.text==""&amp;amp;&amp;amp;phone2.text=="") {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            errorMessageIns.errorText.appendText("Please enter a phone number. \n\n");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if (foneLen&lt;=6&amp;amp;&amp;amp;phone2.text!="") {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            errorMessageIns.errorText.appendText("Please enter an area code along with a valid phone number.");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if (foneLen&gt;=6&amp;amp;&amp;amp;foneLen&lt;8&amp;amp;&amp;amp;phone2.text!="")&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            errorMessageIns.errorText.appendText("Please enter an area code.");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;Five possible errors are addressed in the corrected form. The first,&lt;span style="font-family:courier new;"&gt; nameBox.text==""&lt;/span&gt;, covers a name space left blank. That's the most you can do with such a situation. You can't spell-check a name.&lt;br /&gt;&lt;br /&gt;The second, &lt;span style="font-family:courier new;"&gt;phone1.text!=phone2.text&amp;amp;&amp;amp;phone1.text!=""&lt;/span&gt;, covers a typo in one of the two fields for phone number. What this line of code covers is a case where, &lt;span style="font-family:courier new;"&gt;If the text in the two phone fields do not match and the text in the first field is not left blank.&lt;/span&gt; In this case, as error message is generated.&lt;br /&gt;&lt;br /&gt;The third, &lt;span style="font-family:courier new;"&gt;phone1.text==""&amp;amp;&amp;amp;phone2.text==""&lt;/span&gt; is a case where the two phone fields have been left blank, generating an error message.&lt;br /&gt;&lt;br /&gt;The fourth, &lt;span style="font-family:courier new;"&gt;foneLen&lt;=6&amp;amp;&amp;amp;phone2.text!=""&lt;/span&gt;, says, &lt;span style="font-family:courier new;"&gt;if the length of the phone number is less than or equal to six characters, and the second phone number is not left blank, &lt;span style="font-family:georgia;"&gt;a&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;n error message is generated.&lt;/span&gt; foneLen &lt;/span&gt;is a variable from  elsewhere within the code, holding the number of characters entered into the first phone number field. Anything less than six cannot be a valid number. At the same time, we don't want to present this error message if the user has not entered anything into the second phone number field, which error has been covered in the previous case. Having both error messages showing would look stupid.&lt;br /&gt;&lt;br /&gt;The fifth, &lt;span style="font-family:courier new;"&gt;foneLen&gt;=6&amp;amp;&amp;amp;foneLen&lt;8&amp;amp;&amp;amp;phone2.text!=""&lt;/span&gt;, says, that if the phone number is greater than or equal to six characters but less than eight characters, and the second phone field has not been left blank, an error message is generated. In this case, the area code would be missing from an otherwise valid phone number.&lt;br /&gt;&lt;br /&gt;&lt;a name="skipper"&gt;&lt;/a&gt;The most important function of error checking is to ensure that all of the pertinent information is collected.  A thank you is not generated until a valid submission has been made. At the same time, and of slightly less importance, is avoiding awkward error messages. If one of the phone number entries is valid while the other is blank, then an error message saying that the two fields must match, while not wrong, implies a certain inelegance in the coding.&lt;br /&gt;&lt;br /&gt;In the case of the fire alarm, error checking is done with Actionscript within the Flash form. Other kinds of error checking are done on the client side by Javascript, such as SPRY web forms created with Dreamweaver. Error checking can also be done by a server-side script such as PHP.&lt;br /&gt;&lt;br /&gt;It would require a sophisticated code generator to create the kind of error checking necessary for a phone number. Perhaps someone out there has thought of one. Most code generators use regular expressions to check for things such as a missing @ symbol in an email address. It is, however, quite likely that a custom Web form will require a custom-tailored script with error-checking to process it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://johnrobertlemon.googlepages.com/pubDesign.html#spryForms"&gt;&lt;span style="font-weight: bold;"&gt;The SPRY For Web Forms&lt;/span&gt;&lt;/a&gt; section of the archives.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Further reading:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.soaptray.com/2008/04/validate-email-addresses-using-php/"&gt;&lt;span style="font-weight: bold;"&gt;Validate e-mail addresses using PHP&lt;/span&gt;&lt;/a&gt;--a very thorough procedure, on &lt;span style="font-weight: bold; font-style: italic;"&gt;Soaptray&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://webdesign.about.com/od/forms/a/aa031599.htm"&gt;&lt;span style="font-weight: bold;"&gt;Form Validation&lt;/span&gt;&lt;/a&gt;--Make Sure Your Forms are Filled In, by Jennifer Kyrnin, on &lt;span style="font-weight: bold; font-style: italic;"&gt;About.com&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2375410609918180634?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2375410609918180634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2375410609918180634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2375410609918180634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2375410609918180634'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/07/form-error-checking.html' title='Form Error Checking for MAT 113'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/SHfR36P7wkI/AAAAAAAAAKY/LmgBPewK-NA/s72-c/nh911.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5282643933302662456</id><published>2008-07-08T11:49:00.000-07:00</published><updated>2009-01-04T10:58:45.104-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web forms'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><title type='text'>Form Script Tutorial for MAT 113</title><content type='html'>&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;FORMS&lt;/span&gt; are a way for Web site visitors to send data other than requests for display to a Web server.&lt;br /&gt;&lt;br /&gt;For the purposes of out tutorial, we are going to ignore Dreamweaver entirely, looking instead only at the code. We will be making an email form--that is a form that generates an email containing the information submitted by the user. This email will be sent to an address that is put into the script.&lt;br /&gt;&lt;br /&gt;When the browser parses HTML and comes to this string of characters,&lt;span style="font-weight: bold; font-style: italic;"&gt;  &amp;lt;form action&lt;/span&gt;, it is configured to interpret the rest of the code as part of a Web form until it reaches this string of characters, &lt;span style="font-weight: bold; font-style: italic;"&gt;/form&amp;gt;&lt;/span&gt;&lt;form,&gt;.&lt;br /&gt;&lt;br /&gt;The first part of the form contains administrative information telling the browser where to send the information, and by what method. Unless the Web server is configured otherwise, the name of the script file that will process the data must be at the end of URL. Two methods are commonly used to encode the data: GET and POST. GET encodes the data within the URL string, and is good only for short amounts of data. The POST method sends data within the body of the request. Normally you would have to configure this part of the form. However the method used in this tutorial will do that for you. The code shown below demonstrates the way you would usually code the form.&lt;br /&gt;&lt;br /&gt;As with images, the URL for a Web form may either be relative to the Web page or be an absolute, or full, URL. In the code shown below, the URL is for a script called, &lt;span style="font-style: italic; font-weight: bold;"&gt;form_handler.php&lt;/span&gt;.&lt;br /&gt;&lt;form,&gt;&lt;/form,&gt;&lt;/form,&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;form action="form_handler.php" method="post"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Your Name: &amp;lt;input name="user" type="text" /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;br /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Your Email: &amp;lt;input name="email" type="text" /&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;br /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &amp;lt;input type="submit" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;The code above produces the following on the Web form (The script does not exist, so submitting this form will do nothing.):&lt;br /&gt;&lt;br /&gt;Your Name &lt;input name="user" type="text"&gt;&lt;img title="Max field length is unknown" style="border: 0pt none ; width: 14px; height: 19px; cursor: pointer;" class="ife_marker" src="chrome://informenter/skin/marker.png" id="user_ife_marker_0" align="absmiddle" /&gt;&lt;br /&gt;&lt;br /&gt;Your Email &lt;input name="user" type="text"&gt;&lt;img title="Max field length is unknown" style="border: 0pt none ; width: 14px; height: 19px; cursor: pointer;" class="ife_marker" src="chrome://informenter/skin/marker.png" id="user_ife_marker_1" align="absmiddle" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img title="Max field length is unknown" style="border: 0pt none ; width: 14px; height: 19px; cursor: pointer;" class="ife_marker" src="chrome://informenter/skin/marker.png" id="user_ife_marker_1" align="absmiddle" /&gt;&lt;br /&gt;&lt;input type="submit"&gt;&lt;br /&gt;&lt;br /&gt;Web forms have a number of input methods, including &lt;span&gt;the single-line &lt;/span&gt;&lt;span style="font-style: italic;"&gt;text&lt;/span&gt;, shown above in the two text boxes. Others include radio buttons, check boxes, text areas (multi-line text input), passwords, and drop-downs.  Additionally, a Web form can be used to upload and download files, and to populate data into a database. Information on these things is contained within the references at the end of this post.&lt;br /&gt;&lt;br /&gt;The element that sends the form, &lt;span style="font-family:courier new;"&gt; &amp;lt;input type="submit" /&amp;gt;&lt;/span&gt;, sends the form data in much the same way as a clicked link sends data over the Internet. When the data arrives at the Web server, a script is called up, to processes the data. Many different computer languages can be used to accomplish this, the most common being PHP.&lt;br /&gt;&lt;br /&gt;Configuring a script is not a trivial matter.  At the same time, a customized script is necessary to process the data. The Computer Science Department conducts classes, most notably &lt;a href="http://www.sbcc.edu/2007_2008_catalog/Departments/Computer%20Science.pdf"&gt;&lt;span style="font-weight: bold;"&gt;CS116&lt;/span&gt;&lt;/a&gt;, on how to write scripts to process Web forms.&lt;br /&gt;&lt;br /&gt;Fortunately, programs exist that write computer code. For the purposes of this tutorial, we are going to use an online code generator called, &lt;a href="http://www.webformfactory.com/index.php"&gt;&lt;span style="font-weight: bold;"&gt;The Web Form Factory&lt;/span&gt;&lt;/a&gt;. This utility takes the Web page containing your form, along with a Thank You page, and converts them into a PHP script. It is important to note here that the Form Factory script actually replaces the Web pages. The information contained within your two HTML pages is assimilated into the script, which generates the respective Web pages at the appropriate time. Usually, the script is kept separate from the HTML page.&lt;br /&gt;&lt;br /&gt;The Web Form Factory does not work the same way it used to. Some elements are missing from the pagkage that is returned. Or perhaps I am confused about the way it works. In either case, I have come up with a work-around so that the scripts will will work.&lt;br /&gt;&lt;br /&gt;The PHP script created in this process will analyze submissions made by users, returning error messages if the forms are improperly filled out. For instance, a user may enter an email address without the &lt;span style="font-weight: bold; font-style: italic;"&gt;@&lt;/span&gt; character. When the script encounters an error, it will generate an error message to the replace the Web page containing the form on the user's computer. In order to implement this feature, you must include the following code on your Web page in the place where you want the error message to appear: &lt;blockquote style="font-family: courier new;"&gt;&amp;lt;wff:validation_errors&amp;gt;&amp;lt;/wff:validation_errors&amp;gt;.&lt;/blockquote&gt;&lt;br /&gt;After you have entered this code, follow the instructions on The Web Form Factory site. Select &lt;span style="font-weight: bold; font-style: italic;"&gt;Email Form&lt;/span&gt; in step#2.  After you have submitted your two HTML files, you will be prompted to download a Zip file containing the scripts. For some reason, the package of scripts is incomplete. To correct this, add &lt;a href="http://johnrobertlemon.googlepages.com/tutAddPhpFiles.zip"&gt;&lt;span style="font-weight: bold;"&gt;these files&lt;/span&gt;&lt;/a&gt; to those that you upload to your server.&lt;br /&gt;&lt;br /&gt;The PHP file containing your form will have the name &lt;span style="font-weight: bold; font-style: italic;"&gt;form.YourFileName.php&lt;/span&gt;. You may change this file name to work with your site, but you must retain the &lt;span style="font-weight: bold; font-style: italic;"&gt;php&lt;/span&gt; extension on the end. Links to this page must also carry the &lt;span style="font-weight: bold; font-style: italic;"&gt;.php&lt;/span&gt; extension. You do not have to upload the original two HTML files to your site.&lt;br /&gt;&lt;br /&gt;At the top of this file are three lines of code:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;include_once("configuration.php");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;include_once("wff_misc.php");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;include_once("class.phpmailer.php");&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;The text will be slightly different. Copy and paste the code shown here above in place of the code in your file. When you upload your script, be sure to include the three files referenced in the same directory as the PHP file containing your form. The total number of files to upload will be four.&lt;br /&gt;&lt;br /&gt;On lines 10 and 11, you should replace the placeholder text with your own information.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;$mail-&gt;From = 'johnrobertlemon@yahoo.com';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$mail-&gt;FromName = 'John Lemon';&lt;/span&gt;&lt;/blockquote&gt;On line 14, insert the text that you want to appear at the top of your email message. The  characters &lt;span style="font-weight: bold; font-style: italic;"&gt;\n\n&lt;/span&gt; are code that will force two line returns.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;$message = "The following was submitted to the Web form:\n\n";&lt;/span&gt;&lt;/blockquote&gt;In the file &lt;span style="font-weight: bold; font-style: italic;"&gt;configuration.php&lt;/span&gt;, replace the placeholder text with the email address that you want to receive the report.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To review:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Create the Web page containing your form with the additional line of code, &lt;span style="font-family:courier new;"&gt;&amp;lt;wff:validation_errors&amp;gt;&amp;lt;/wff:validation_errors&amp;gt;.&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: georgia;"&gt;Create a Thank You page.&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Follow the instructions on the Form Factory site.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Change the &lt;span style="font-weight: bold; font-style: italic;"&gt;configuration.php&lt;/span&gt; file included in the files returned from the Form Factory to include the email address that will receive the emails.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Change the main script as shown above.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;Upload the files to your server.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;We will go over these steps in class. Additionally, as time permits, we will discuss creating forms with Dreamweaver.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Further reading:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;The &lt;a href="http://johnrobertlemon.googlepages.com/pubDesign.html#forms"&gt;&lt;span style="font-weight: bold;"&gt;Web Form&lt;/span&gt;&lt;/a&gt; section of the archives.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;The &lt;a href="http://johnrobertlemon.googlepages.com/pubDesignProg.html#wpPhp"&gt;&lt;span style="font-weight: bold;"&gt;PHP&lt;/span&gt;&lt;/a&gt; section of the archives.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;a href="http://johnrobertlemon.googlepages.com/formSummer2008.zip"&gt;&lt;span style="font-weight: bold;"&gt;The files&lt;/span&gt;&lt;/a&gt; used in this tutorial.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;A &lt;span&gt;series of&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;a href="http://www.tutvid.com/Tutorials_pages/DW.html"&gt;video tutorial&lt;/a&gt;&lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.tutvid.com/Tutorials_pages/DW.html"&gt;s&lt;/a&gt;  on Dreamweaver, including one on &lt;a href="http://www.tutvid.com/tutorials_pages_subs/DREAMWEAVER/settingupaform.html"&gt;&lt;span style="font-weight: bold;"&gt;form creation&lt;/span&gt;&lt;/a&gt;, and one on creating a &lt;a href="http://www.tutvid.com/tutorials_pages_subs/DREAMWEAVER/phpemailhandler.html"&gt;&lt;span style="font-weight: bold;"&gt;PHP&lt;/span&gt;&lt;/a&gt; file.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.emailmeform.com/"&gt;&lt;span style="font-weight: bold;"&gt;Email Me Form&lt;/span&gt;&lt;/a&gt;, a free online form generator service for creating HTML forms, no programming required. It has a form wizard to design simple or complex forms to make a form mail script. After creating the Web form, you get HTML code to paste into your Web page. This process creates a script housed on their servers.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;a href="http://johnrobertlemon.googlepages.com/esthersVariables.txt"&gt;*&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5282643933302662456?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5282643933302662456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5282643933302662456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5282643933302662456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5282643933302662456'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/07/form-tutorial-for-mat-113.html' title='Form Script Tutorial for MAT 113'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-141369472728940244</id><published>2008-07-04T15:42:00.000-07:00</published><updated>2011-11-09T08:00:57.430-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fonts'/><title type='text'>Points, Pixels, and EMs on Web Pages, for MAT 113</title><content type='html'>&lt;a href="http://bp1.blogger.com/_1LVZn-nyesg/SG8Ar9wB63I/AAAAAAAAAKQ/uqhCFGNdFuQ/s1600-h/pixelish.gif"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5219391248456084338" src="http://bp1.blogger.com/_1LVZn-nyesg/SG8Ar9wB63I/AAAAAAAAAKQ/uqhCFGNdFuQ/s200/pixelish.gif" style="cursor: pointer; float: left; height: 113px; margin: 0pt 10px 10px 0pt; width: 121px;" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;A PIXEL&lt;/span&gt; is the smallest visual unit in a computer graphic. Pixels are arranged into a grid to make an image. A pixel is not a size unit, but rather is a measure of the number of discrete units in the graphic. Pixels take on the attribute of size when rendered by some sort of device such as a computer monitor. An image consisting of 72 pixels in height will appear smaller on a monitor set to 96 ppi (pixels per inch) than it does on a monitor having a resolution of 72 ppi. The number of pixels per inch is a function of the resolution setting of the monitor. A monitor set at 1024 by 768 will have a different number of pixels per inch than at a setting of 1600x1200 pixels. At the same time, a 17" monitor set at 1024 by 768 will have a different number of ppi than a 22" monitor at the same setting.&lt;br /&gt;&lt;br /&gt;Points, on the other hand, are an immutable, resolution-independent measure of distance. An inch is comprised of 72 points. Einstein not withstanding, an inch is an absolute distance. At the same time, the actual rendering of a letter-form with a specified point size is problematic.&lt;br /&gt;&lt;br /&gt;An EM is a measure relative to the configuration of a letter-form. As an heuristic rule, an EM unit of measure extends from the top of a capital letter to the bottom of a descender on a lower case letter. As the point size changes, so does that of the EM. This measure is sometimes defined as the width of a capital letter "M," possibly because of the inclusion of the "M" in the term, and because of the use of the terms EM dash and EN dash to define longer and shorter dashes respectively. In any case, the EM is an arbitrary unit defined by the type founder.&lt;br /&gt;&lt;br /&gt;The way in which all of the above translates into the size of type rendered on a Web page varies according to device and browser. Measures such as the specification of a pixel size for a letter face may yield unexpected results on some browsers. The difference in appearance of a letter form at a specified size can vary significantly from browser to browser, and from system to system. Complete control over letter size is an impossibility.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The &lt;a href="http://johnrobertlemon.googlepages.com/imaging.html#resolution" style="font-weight: bold;"&gt;Image Resolution&lt;/a&gt; section of the archives.&lt;/li&gt;&lt;li&gt;&lt;a href="http://style.cleverchimp.com/font_size_intervals/altintervals.html"&gt;&lt;span style="font-weight: bold;"&gt;Toward a standard font size interval system&lt;/span&gt;&lt;/a&gt;, by Todd Fahrner, on &lt;span style="font-style: italic; font-weight: bold;"&gt;Agitprop&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212793,00.html"&gt;&lt;span style="font-weight: bold;"&gt;The definition of a pixel&lt;/span&gt;&lt;/a&gt;, on &lt;span style="font-style: italic; font-weight: bold;"&gt;SearchCIO-Midmarket.com Definitions&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://webdesign.about.com/cs/typemeasurements/a/aa042803a.htm"&gt;&lt;span style="font-weight: bold;"&gt;Using Points, Pixels, Ems, or Percentages for CSS Fonts&lt;/span&gt;&lt;/a&gt;--Deciding on Font Sizing in CSS, by Jennifer Kyrnin, on &lt;span style="font-style: italic; font-weight: bold;"&gt;About.com&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.artlebedev.com/mandership/70/"&gt;&lt;span style="font-weight: bold;"&gt;A little about the origin of 72 pixels per inch&lt;/span&gt;&lt;/a&gt;, by Artemy Lebedev on his site.&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;a href="http://jontangerine.com/silo/css/pixels-to-ems/"&gt;Pixels to Ems Conversion Table for CSS&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-141369472728940244?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/141369472728940244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=141369472728940244' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/141369472728940244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/141369472728940244'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/07/points-vs-pixels-vs-ems-on-web-pages.html' title='Points, Pixels, and EMs on Web Pages, for MAT 113'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/SG8Ar9wB63I/AAAAAAAAAKQ/uqhCFGNdFuQ/s72-c/pixelish.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-4323064440106293004</id><published>2008-06-30T09:56:00.000-07:00</published><updated>2009-01-04T11:01:20.799-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><category scheme='http://www.blogger.com/atom/ns#' term='mailto'/><title type='text'>Obfuscate Mailto For MAT 113</title><content type='html'>Spambots harvest email addresses by parsing mailto elements in Web pages. &lt;a style="font-weight: bold;" href="http://johnhaller.com/jh/useful_stuff/obfuscate_mailto/"&gt;Here&lt;/a&gt; is a nifty Javascript that you can use to convert a mailto into a Javascript that is invisible to spambots. Simply enter your email address into the form provided. Place the resulting text in your HTML code where you want the mailto to appear.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.contactify.com/"&gt;&lt;span style="font-weight: bold;"&gt;Contactify&lt;/span&gt;&lt;/a&gt;, the Web-based mailform used on this site.&lt;/li&gt;&lt;li&gt;&lt;a href="http://techblog.tilllate.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/"&gt;&lt;span style="font-weight: bold;"&gt;Nine ways to obfuscate e-mail addresses compared&lt;/span&gt;&lt;/a&gt;, on &lt;span style="font-weight: bold; font-style: italic;"&gt;techblog&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-4323064440106293004?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/4323064440106293004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=4323064440106293004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4323064440106293004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4323064440106293004'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/06/obfuscate-mailto-for-mat-113.html' title='Obfuscate Mailto For MAT 113'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-3849334603398950222</id><published>2008-06-02T08:10:00.000-07:00</published><updated>2009-01-04T11:04:22.049-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CS4'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Fireworks'/><title type='text'>Online CSS From PSD Converter</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/SEQPryDXwhI/AAAAAAAAAKI/bI6CUPUloWM/s1600-h/psd2css.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_1LVZn-nyesg/SEQPryDXwhI/AAAAAAAAAKI/bI6CUPUloWM/s200/psd2css.gif" alt="" id="BLOGGER_PHOTO_ID_5207304313991840274" border="0" /&gt;&lt;/a&gt;&lt;a href="http://psd2cssonline.com/node/1"&gt;&lt;span style="font-weight: bold;"&gt;psd2css online&lt;/span&gt;&lt;/a&gt; converts PSD web page designs into strict XHTML compliant CSS web pages automatically.  Use Photoshop or The Gimp to create designs , then upload the PSD files.  This service returns valid XHTML, along with subsidiary CSS and image files.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.medialab.com/sitegrinder/"&gt;&lt;span style="font-weight: bold;"&gt;Sitegrinder&lt;/span&gt;&lt;/a&gt;, a Photoshop plugin.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.adobe.com/devnet/fireworks/articles/export_css_images.html"&gt;&lt;span style="font-weight: bold;"&gt;Fireworks CS4&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-3849334603398950222?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/3849334603398950222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=3849334603398950222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3849334603398950222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3849334603398950222'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/06/online-css-from-psd-converter.html' title='Online CSS From PSD Converter'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1LVZn-nyesg/SEQPryDXwhI/AAAAAAAAAKI/bI6CUPUloWM/s72-c/psd2css.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8082439445367566565</id><published>2008-05-30T17:46:00.000-07:00</published><updated>2008-05-30T17:51:40.441-07:00</updated><title type='text'>Flash 10</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/SECgZCPPQkI/AAAAAAAAAJY/Ohk6d2X8VTA/s1600-h/flash10.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/SECgZCPPQkI/AAAAAAAAAJY/Ohk6d2X8VTA/s200/flash10.gif" alt="" id="BLOGGER_PHOTO_ID_5206337521198252610" border="0" /&gt;&lt;/a&gt;More new stuff, more deprecated stuff, more stuff to learn and unlearn. At least it's not so different as to require AS4. We can only hope. The important stuff is linked from &lt;a href="http://johnrobertlemon.googlepages.com/pubDesignProg.html#flashX"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8082439445367566565?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8082439445367566565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8082439445367566565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8082439445367566565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8082439445367566565'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/05/flash-10.html' title='Flash 10'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/SECgZCPPQkI/AAAAAAAAAJY/Ohk6d2X8VTA/s72-c/flash10.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5291043177060937255</id><published>2008-04-22T22:17:00.000-07:00</published><updated>2009-01-04T11:06:02.327-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fonts'/><title type='text'>FontStruct, An Online Font Foundry</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1LVZn-nyesg/SA7GzFi_edI/AAAAAAAAAJQ/3b0amWkFN-w/s1600-h/fontstructLogo.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/SA7GzFi_edI/AAAAAAAAAJQ/3b0amWkFN-w/s200/fontstructLogo.gif" alt="" id="BLOGGER_PHOTO_ID_5192306001369332178" border="0" /&gt;&lt;/a&gt;&lt;a href="http://fontstruct.fontshop.com/"&gt;&lt;span style="font-weight: bold;"&gt;FontStruct&lt;/span&gt;&lt;/a&gt; is a free font-building tool from FontShop. FontStruct lets you quickly and easily create fonts constructed out of geometrical shapes, which are arranged in a grid pattern, like tiles or bricks. Once you're done building, FontStruct generates high-quality TrueType fonts, ready to use in any Mac or Windows application. You can keep your creations to yourself, but we encourage users to share their "FontStructions". Explore the Gallery of fonts made by other FontStruct users and download them or even copy them and make your own variations.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;FontShop's &lt;a href="http://www.fontshop.com/features/fontmag/006/"&gt;&lt;span style="font-style: italic;"&gt;Font Magazine&lt;/span&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5291043177060937255?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5291043177060937255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5291043177060937255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5291043177060937255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5291043177060937255'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/04/fontstruct-online-font-foundry.html' title='FontStruct, An Online Font Foundry'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/SA7GzFi_edI/AAAAAAAAAJQ/3b0amWkFN-w/s72-c/fontstructLogo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2097974360236000397</id><published>2008-03-20T22:06:00.000-07:00</published><updated>2008-03-27T11:44:57.394-07:00</updated><title type='text'>CSS Levels Example For MAT 154</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://student80.tangostudents.com/testC.html"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/R-NDu6tWbXI/AAAAAAAAAJI/rVhGSGOb1z8/s200/test.jpg" alt="" id="BLOGGER_PHOTO_ID_5180058469718715762" border="0" /&gt;&lt;/a&gt;Click on the icon to see the example page. This page demonstrates the use of CSS to position one image over another, and how to make an image link. When you go to the example page, you will find a text link to a video tutorial created in Screencast-O-Matic on how the page was made.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also: &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://digitalproducer.digitalmedianet.com/articles/viewarticle.jsp?id=104695"&gt;Creating a website design using Photoshop slices&lt;/a&gt;  &lt;span style="font-style: italic;font-size:85%;" &gt;Creating Consistent bPages with Templates&lt;/span&gt;  By Jiggy "Jigs" Gaton.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2097974360236000397?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2097974360236000397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2097974360236000397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2097974360236000397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2097974360236000397'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/03/css-levels-tutorial.html' title='CSS Levels Example For MAT 154'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1LVZn-nyesg/R-NDu6tWbXI/AAAAAAAAAJI/rVhGSGOb1z8/s72-c/test.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-3246205423597821055</id><published>2008-02-06T22:38:00.000-08:00</published><updated>2009-01-04T11:08:15.006-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Issuu Online Publishing</title><content type='html'>Below is a link to a Flash-based publication of a book in PDF format that I uploaded to &lt;a href="http://issuu.com/sections"&gt;Issuu&lt;/a&gt;, a new online publishing service. I copied and pasted the embed code provided by Issuu into this blog.&lt;div&gt;&lt;embed src="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf" type="application/x-shockwave-flash" quality="high" scale="noscale" salign="l" wmode="transparent" flashvars="mode=preview&amp;amp;previewLayout=white&amp;amp;documentId=080207062915-f428d8827768493dbae7ccc4f2953e5b&amp;amp;backgroundColor=%23666666&amp;amp;layout=grey" style="width: 290px; height: 230px;" name="flashticker" align="middle"&gt;&lt;/embed&gt;&lt;div style="width: 290px; text-align: left;"&gt;&lt;br /&gt;&lt;a href="http://issuu.com/viewer?mode=embed&amp;amp;documentId=080207062915-f428d8827768493dbae7ccc4f2953e5b&amp;amp;layout=grey" target="_blank"&gt;&lt;img src="http://static.issuu.com/webembed/previewers/style1/v1/m2.gif" ismap="ismap" border="0" /&gt;&lt;/a&gt;&lt;a href="http://issuu.com/embed/guide?documentId=080207062915-f428d8827768493dbae7ccc4f2953e5b&amp;amp;width=425&amp;amp;height=301" target="_blank"&gt;&lt;img src="http://static.issuu.com/webembed/previewers/style1/v1/m3.gif" ismap="ismap" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://pdfmenot.com/"&gt;PDF Me Not&lt;/a&gt;, a new service that also converts PDF files to Flash files. In beta at this writing.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-3246205423597821055?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/3246205423597821055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=3246205423597821055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3246205423597821055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/3246205423597821055'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/02/issuu-online-publishing.html' title='Issuu Online Publishing'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-1831682351713318006</id><published>2008-01-28T10:43:00.000-08:00</published><updated>2008-01-28T11:18:58.987-08:00</updated><title type='text'>Buzzword: Watch This  Space</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1LVZn-nyesg/R54jNUVWigI/AAAAAAAAAI4/Itj_dgiC-aE/s1600-h/Adobe.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/R54jNUVWigI/AAAAAAAAAI4/Itj_dgiC-aE/s200/Adobe.gif" alt="" id="BLOGGER_PHOTO_ID_5160600934716705282" border="0" /&gt;&lt;/a&gt;Adobe has eaten Buzzword, one of the many online wordprocessors that challenge Google's Writely.&lt;br /&gt;&lt;br /&gt;Buzzword is nothing if  it is not slick. Combining that with the power of Adobe can only result in a superior product.  Currently, Buzzword does not write to PDF. The addition of that feature by Adobe will make Buzzword killer.&lt;br /&gt;&lt;br /&gt;Buzzword is &lt;a href="http://about.buzzword.com/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1831682351713318006?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1831682351713318006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1831682351713318006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1831682351713318006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1831682351713318006'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/01/buzzword-watch-this-space.html' title='Buzzword: Watch This  Space'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/R54jNUVWigI/AAAAAAAAAI4/Itj_dgiC-aE/s72-c/Adobe.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5408158170117175220</id><published>2008-01-27T11:23:00.000-08:00</published><updated>2010-01-07T08:41:15.353-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><title type='text'>Extract Content From Copy-Protected PDFs</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1LVZn-nyesg/R5zgT0VWifI/AAAAAAAAAIw/1UdVRKzdT-4/s1600-h/pdf.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/R5zgT0VWifI/AAAAAAAAAIw/1UdVRKzdT-4/s200/pdf.gif" alt="" id="BLOGGER_PHOTO_ID_5160245904130083314" border="0" /&gt;&lt;/a&gt;I've come to realize that I have no respect at all for copy-protection schemes.  As soon as I see one, I wonder how I can get around it. Case in point: The Friends of Ed book, &lt;span style="font-style: italic;"&gt;Foundation Flash CS3 for Designers&lt;/span&gt; by Tom Green and David Stiller.&lt;br /&gt;&lt;br /&gt;Long story short, I wanted to copy a list from the PDF of an on-line sample chapter to put into a link in the section on Flash text in the Type section of Web Publishing. But the PDF is "locked." A bit of Googling turned up a little application called &lt;a href="http://text-mining-tool.com/"&gt;Text-Mining Tool&lt;/a&gt;, which extracts unformatted text from a number of sources, including "locked" PDFs.&lt;br /&gt;&lt;br /&gt;The entry with the pirated text is &lt;a href="http://johnrobertlemon.googlepages.com/pubDesign.html#foundationFlash"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://pdfpirate.net/"&gt;&lt;span style="font-weight: bold;"&gt;pdfpirate.net&lt;/span&gt;&lt;/a&gt;, free, online and no limits pdf restrictions remover.&lt;/li&gt;&lt;li&gt;&lt;a href="http://freemypdf.com/"&gt;&lt;span style="font-weight: bold;"&gt;FreeMyPDF&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.unlock-pdf.com/"&gt;&lt;span style="font-weight: bold;"&gt;Unlock-PDF.com&lt;/span&gt;&lt;/a&gt;, unlock password protected PDF files.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ensode.net/pdf-crack.jsf"&gt;&lt;span style="font-weight: bold;"&gt;Free PDF Unlock Online Utility&lt;/span&gt;&lt;/a&gt;, a free online utility that allows you to upload a PDF, once uploaded, a version of the PDF without printing or copying/pasting restrictions is displayed in a new browser window--5MB limit. On &lt;span style="font-weight: bold; font-style: italic;"&gt;Ensode&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5408158170117175220?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5408158170117175220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5408158170117175220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5408158170117175220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5408158170117175220'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2008/01/extract-content-from-copy-protected.html' title='Extract Content From Copy-Protected PDFs'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/R5zgT0VWifI/AAAAAAAAAIw/1UdVRKzdT-4/s72-c/pdf.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-4213616982990279568</id><published>2007-12-22T13:33:00.000-08:00</published><updated>2009-01-04T11:09:06.953-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><title type='text'>Browser-Based Screencasting</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/R22DxSuYm_I/AAAAAAAAAIA/TLaz_aZz2tw/s1600-h/som2.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 107px; height: 81px;" src="http://bp0.blogger.com/_1LVZn-nyesg/R22DxSuYm_I/AAAAAAAAAIA/TLaz_aZz2tw/s200/som2.gif" alt="" id="BLOGGER_PHOTO_ID_5146914832017562610" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.screencast-o-matic.com/"&gt;&lt;span style="font-weight: bold;"&gt;Screencast-o-Matic&lt;/span&gt;&lt;/a&gt; is a new browser-based screencast utility that includes free hosting. The heavy-iron commercial screencasting applications, &lt;a href="http://www.techsmith.com/camtasia.asp"&gt;Camtasia&lt;/a&gt; and Adobe's &lt;a href="http://www.adobe.com/uk/products/captivate/solutions/screencast/"&gt;Captivate&lt;/a&gt;, contain more features. But the increasing number of free alternatives, including Screencast-o-Matic, may be all that a developer needs.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://mashable.com/2008/02/13/20-video-tutorials/"&gt;&lt;span style="font-weight: bold;"&gt;20+ Great Resources For Video Tutorials&lt;/span&gt;&lt;/a&gt; on Mashable.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sketchcast.com/"&gt;Sketchcast&lt;/a&gt;--a sort-of, Web-based whiteboard.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Other  free &lt;a href="http://johnrobertlemon.googlepages.com/imaging.html#screencasting"&gt;&lt;span style="font-weight: bold;"&gt;screencast utilities&lt;/span&gt;&lt;/a&gt; in the archives.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-4213616982990279568?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/4213616982990279568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=4213616982990279568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4213616982990279568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/4213616982990279568'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/12/browser-based-screencasting.html' title='Browser-Based Screencasting'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1LVZn-nyesg/R22DxSuYm_I/AAAAAAAAAIA/TLaz_aZz2tw/s72-c/som2.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8017841774248517162</id><published>2007-12-18T10:27:00.000-08:00</published><updated>2010-03-31T08:21:32.803-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><title type='text'>Yet Another Reason Not To Own Acrobat*</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/R2gSfiuYm-I/AAAAAAAAAH4/MvFau70cp6I/s1600-h/mbs.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_1LVZn-nyesg/R2gSfiuYm-I/AAAAAAAAAH4/MvFau70cp6I/s200/mbs.jpg" alt="" id="BLOGGER_PHOTO_ID_5145382907377392610" border="0" /&gt;&lt;/a&gt;&lt;a href="http://monkeybreadsoftware.de/Freeware/CombinePDFs.shtml"&gt;&lt;span style="font-weight: bold;"&gt;Combine PDFs 3.0&lt;/span&gt;&lt;/a&gt; is a free, open-source application to combine PDFs and to extract information from them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cogniview.com/convert-pdf-to-excel/post/pdf-editing-creation-50-open-sourcefree-alternatives-to-adobe-acrobat/"&gt;&lt;span style="font-weight: bold;"&gt;PDF Editing &amp;amp; Creation&lt;/span&gt;&lt;/a&gt;: 50+ open source/free alternatives to Adobe Acrobat--on Codswallop.&lt;/li&gt;&lt;li&gt;See &lt;a href="http://johnrobertlemon.googlepages.com/f38540d6-40ba-4541-8a56-96db611f6dfe.pdf"&gt;the  Publication and design Page&lt;/a&gt; converted by the service on March 11, 2008. Note that the Flash menu at the top is going nuts, while the links in the body all seem to function.&lt;/li&gt;&lt;li&gt;&lt;a href="http://techie-buzz.com/useful-tools/free-pdf-form-designer.html?utm_source=subscriber&amp;amp;utm_medium=rss&amp;amp;utm_campaign=rss"&gt;&lt;span style="font-weight: bold;"&gt;PDF Form Designer&lt;/span&gt;&lt;/a&gt; is a free cross-platform alternative, for creating PDF forms in new and existing PDF files, on &lt;span style="font-weight: bold; font-style: italic;"&gt;Techie Buzz&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;a href="https://www.fillanypdf.com/"&gt;FillAnyPDF.com&lt;/a&gt;&lt;/b&gt; is a website where you upload your PDF form and link to it so other people can fill it out and sign it online. No software is needed. Any PDF form can be used, even if it's not "interactive,"&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Why bother?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you're doing serious work, you will not have time to fool with this stuff. But sometimes, you might want simply to accomplish a single task without having to purchase a large commercial application. That's when it might serve to look for a free alternative. Otherwise, it's good to know that free alternatives to all of the big commercial applications exist, if for no other purpose than to keep providers like Adobe on their toes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8017841774248517162?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8017841774248517162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8017841774248517162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8017841774248517162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8017841774248517162'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/12/yet-another-reason-not-to-own-acrobat.html' title='Yet Another Reason Not To Own Acrobat*'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1LVZn-nyesg/R2gSfiuYm-I/AAAAAAAAAH4/MvFau70cp6I/s72-c/mbs.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2846924559957795934</id><published>2007-10-27T23:36:00.000-07:00</published><updated>2009-01-04T11:09:53.173-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='images'/><title type='text'>A New Raster-To-Vector Application</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://vectormagic.stanford.edu/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/RyS5GgTDaRI/AAAAAAAAAHw/EsXlyDfBFdk/s200/vectorMagic.gif" alt="" id="BLOGGER_PHOTO_ID_5126425797254670610" border="0" /&gt;&lt;/a&gt;This Web-based application could be a breakthrough in producing clean, crisp vector images from raster art. In any case, it beats the live trace application contained within Adobe Illustrator. A brief discussion of the application is &lt;a href="http://johnrobertlemon.googlepages.com/imaging.html#vectorMagic"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2846924559957795934?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2846924559957795934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2846924559957795934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2846924559957795934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2846924559957795934'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/10/new-raster-to-vector-application.html' title='A New Raster-To-Vector Application'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/RyS5GgTDaRI/AAAAAAAAAHw/EsXlyDfBFdk/s72-c/vectorMagic.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5324076344552026339</id><published>2007-10-20T10:55:00.000-07:00</published><updated>2010-07-17T08:10:43.199-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='images'/><title type='text'>Images For Print From Google</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/RxpZfkzTEgI/AAAAAAAAAHo/8BEIH32KuYQ/s1600-h/ferris.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/RxpZfkzTEgI/AAAAAAAAAHo/8BEIH32KuYQ/s200/ferris.gif" alt="" id="BLOGGER_PHOTO_ID_5123505925077012994" border="0" /&gt;&lt;/a&gt;Selecting images from the Web for print requires a basic knowledge of &lt;span style="font-weight: bold; font-style: italic;"&gt;resolution&lt;/span&gt;. (See the Imaging page section on resolution &lt;a href="http://johnrobertlemon.googlepages.com/imaging.html#resolution"&gt;here&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;Google remains the best source for everything on the Web, including high-resolution images. One thing to keep in mind in this regard is that images indexed on Google may not be free from DRM (copyright) restrictions. Just because Google indexes it does not mean that you may use it.&lt;br /&gt;&lt;br /&gt;Unlimited-use (free from copyright restrictions) images are available from a number of sources indexed on the Imaging page &lt;a href="http://johnrobertlemon.googlepages.com/imaging.html#imageLibraries"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;When using Google to find high-resolution images, be sure to use the drop-down menu shown in the screenshot above to select "Extra Large Images." Notice that the size in pixels for each image is displayed along with the image type--most often JPG.  An image at 300 DPI that you want to display inside of a 5" wide box will have to be at least 1500  pixels wide (1500/300). The ferris wheel image shown above will fit into an 8 ½" box at 300DPI.&lt;br /&gt;&lt;br /&gt;Keep in mind also that images from the Web are usually in RGB format, and must be converted to CMYK for print.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://photoeverywhere.co.uk/index.htm"&gt;PhotoEverywhere&lt;/a&gt;--high-resolution travel photos.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.veezzle.com/"&gt;Veezzle&lt;/a&gt;, a free stock-photo search engine.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5324076344552026339?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5324076344552026339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5324076344552026339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5324076344552026339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5324076344552026339'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/10/images-for-print-from-google.html' title='Images For Print From Google'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/RxpZfkzTEgI/AAAAAAAAAHo/8BEIH32KuYQ/s72-c/ferris.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7276313293834608305</id><published>2007-10-12T18:15:00.000-07:00</published><updated>2011-04-29T16:22:25.991-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file conversion'/><title type='text'>On Line File Conversion</title><content type='html'>&lt;a href="http://www.digitalriver.com/dr/v2/ec_MAIN.Entry10?SP=10023&amp;amp;PN=1&amp;amp;xid=21810&amp;amp;V1=125907&amp;amp;CID=161126&amp;amp;CUR=840&amp;amp;DSP=&amp;amp;PGRP=0&amp;amp;ABCODE=&amp;amp;CACHE_ID=0" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5120640340076990946" src="http://bp3.blogger.com/_1LVZn-nyesg/RxArQkzTEeI/AAAAAAAAAHY/Yxb0tVb6CTk/s200/mac.gif" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" /&gt;&lt;/a&gt;File conversion has come a long way since I had to pay something like sixty 1990 dollars for a program that allowed a PC to read Mac-formatted disks.  That cost went down to zero shortly thereafter-- although the application is still available, and about as useful today as a ferryboat in the Sahara. Now the cost of converting all sorts of application files has gone down to zero as well, and moved online in the bargain.&lt;br /&gt;&lt;br /&gt;A bunch of them are out there. A list of the better services includes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.zamzar.com/conversionTypes.php"&gt;Zamar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youconvertit.com/"&gt;youconvertit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://media-convert.com/"&gt;Media-Convert&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.iconv.com/"&gt;iConv&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.cogniview.com/convert-pdf-to-excel/post/conversion-central-101-tools-to-convert-video-music-images-pdf-and-more/"&gt;Conversion Centra&lt;/a&gt;&lt;a href="http://www.cogniview.com/convert-pdf-to-excel/post/conversion-central-101-tools-to-convert-video-music-images-pdf-and-more/"&gt;l&lt;/a&gt;: 101 Tools to Convert Video, Music, Images, PDF and More&lt;/span&gt;, an exhaustive list of online conversion services on Codswallop.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.makeuseof.com/dir/cat/web-services/file-converters/"&gt;&lt;span style="font-weight: bold;"&gt;Converters&lt;/span&gt;&lt;/a&gt; on makeuseof.com.&lt;/li&gt;&lt;li&gt;&lt;a href="http://mashable.com/2007/11/05/80-file-conversion-services/" style="font-weight: bold;"&gt;80 File Conversion Resources&lt;/a&gt; on Mashable&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sciweavers.org/free-online-ocr"&gt;i2OCR&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7276313293834608305?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7276313293834608305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7276313293834608305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7276313293834608305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7276313293834608305'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/10/on-line-file-conversion.html' title='On Line File Conversion'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/RxArQkzTEeI/AAAAAAAAAHY/Yxb0tVb6CTk/s72-c/mac.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2816077295132555439</id><published>2007-09-17T15:37:00.000-07:00</published><updated>2009-01-04T11:11:29.389-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><title type='text'>Combine PDFs Without Acrobat</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/Ru8C9FNkv0I/AAAAAAAAAHQ/OGpUqDQDty4/s1600-h/pdf.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/Ru8C9FNkv0I/AAAAAAAAAHQ/OGpUqDQDty4/s200/pdf.gif" alt="" id="BLOGGER_PHOTO_ID_5111307350483189570" border="0" /&gt;&lt;/a&gt;No software required!&lt;br /&gt;&lt;br /&gt;Here's an online service, &lt;a href="http://www.drawloop.com/Home.aspx"&gt;Drawloop&lt;/a&gt;, (requires registration)  that combines multiple PDFs into a single PDF document. I tested the service using two separate PDFs; it worked quickly and flawlessly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.cogniview.com/convert-pdf-to-excel/post/pdf-editing-creation-50-open-sourcefree-alternatives-to-adobe-acrobat/"&gt;&lt;span style="font-weight: bold;"&gt;PDF Editing &amp;amp; Creation&lt;/span&gt;&lt;/a&gt;: 50+ open source/free alternatives to Adobe Acrobat&lt;/li&gt;&lt;li&gt;&lt;a href="http://eurekatips.com/2008/05/09/60-free-tools-for-pdf-files/"&gt;&lt;span style="font-weight: bold;"&gt;65+ free tools for PDF files&lt;/span&gt;&lt;/a&gt; on Eureka Tips.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2816077295132555439?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2816077295132555439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2816077295132555439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2816077295132555439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2816077295132555439'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/09/combine-pdfs-without-acrobat.html' title='Combine PDFs Without Acrobat'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/Ru8C9FNkv0I/AAAAAAAAAHQ/OGpUqDQDty4/s72-c/pdf.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7805570783547800461</id><published>2007-09-12T10:57:00.000-07:00</published><updated>2007-10-13T11:47:39.954-07:00</updated><title type='text'>Flash/Illustrator CS3 Text Integration...Almost</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/Rug1r1NkvzI/AAAAAAAAAHI/ZrSTlC2PIFg/s1600-h/FlLogo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/Rug1r1NkvzI/AAAAAAAAAHI/ZrSTlC2PIFg/s200/FlLogo.png" alt="" id="BLOGGER_PHOTO_ID_5109392804386488114" border="0" /&gt;&lt;/a&gt;CS3 has a number of cool features for integrating Illustrator with Flash. This includes text. Unfortunately, the text rendering mechanism for Flash will override that of Illustrator. For instance, hyphenation will not carry over. If you convert text to outlines in Illustrator, the formatting will be preserved in the carryover, but you will not be able to edit the text.&lt;br /&gt;&lt;br /&gt;Adobe promises significant improvements in this area with the next iteration of Flash.&lt;br /&gt;&lt;br /&gt;Stay tuned...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7805570783547800461?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7805570783547800461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7805570783547800461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7805570783547800461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7805570783547800461'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/09/flashillustrator-cs3-integrationalmost.html' title='Flash/Illustrator CS3 Text Integration...Almost'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/Rug1r1NkvzI/AAAAAAAAAHI/ZrSTlC2PIFg/s72-c/FlLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7553275171526494580</id><published>2007-08-30T20:08:00.000-07:00</published><updated>2007-09-09T21:05:42.401-07:00</updated><title type='text'>Two Cool Tools</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/RteJcoVtdNI/AAAAAAAAAHA/jtgSWo_RZKs/s1600-h/firefox.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_1LVZn-nyesg/RteJcoVtdNI/AAAAAAAAAHA/jtgSWo_RZKs/s200/firefox.png" alt="" id="BLOGGER_PHOTO_ID_5104699827605566674" border="0" /&gt;&lt;/a&gt;The first is &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/532"&gt;&lt;span style="font-weight: bold;"&gt;LinkChecker&lt;/span&gt;&lt;/a&gt;, a Firefox Add-on. It does just that--checks links. Good ones turn green; broken ones, red. It resides in the tools menu. With a single click, it works its magic on the current page.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A caveat: A few valid links turn red. This may be a result of forwarding or some other quirk. But only a few, and not enough to seriously degrade the utility of this add-on.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The second looks good, but I haven't tested it. It's called &lt;a href="http://dub.washington.edu/projects/denim/"&gt;&lt;span style="font-weight: bold;"&gt;Denim&lt;/span&gt;&lt;/a&gt;, an application that turns the kinds of sketches that you make on napkins into flowcharts and diagrams. It's oriented toward Web design.&lt;br /&gt;&lt;br /&gt;Both applications are free.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7553275171526494580?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7553275171526494580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7553275171526494580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7553275171526494580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7553275171526494580'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/two-cool-tools.html' title='Two Cool Tools'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1LVZn-nyesg/RteJcoVtdNI/AAAAAAAAAHA/jtgSWo_RZKs/s72-c/firefox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7851884177372263564</id><published>2007-08-29T08:25:00.000-07:00</published><updated>2009-01-04T11:13:02.582-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='images'/><title type='text'>Free Webcast on Adobe Color Management</title><content type='html'>&lt;center&gt;&lt;b&gt;&lt;h2&gt;Color Management in Print and Internet Workflows&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-size:100%;" &gt;A Free Educational Webcast&lt;/span&gt;&lt;/h2&gt;&lt;/b&gt;&lt;/center&gt;   &lt;p&gt; &lt;/p&gt;&lt;div id="leadclear"&gt; &lt;div align="right"&gt;&lt;br /&gt;                 &lt;/div&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/RtWRJYVtdKI/AAAAAAAAAGo/pNJtp_vdhxU/s1600-h/dynamicGraphics.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/RtWRJYVtdKI/AAAAAAAAAGo/pNJtp_vdhxU/s200/dynamicGraphics.gif" alt="" id="BLOGGER_PHOTO_ID_5104145343032685730" border="0" /&gt;&lt;/a&gt;&lt;b&gt;October 16, 2007&lt;/b&gt; (2 p.m. EDT, 11 a.m PDT) &lt;p&gt; First, you'll learn how to set up all the applications in Adobe Creative Suite to utilize color management. Next, you'll discover how to view and print colors accurately across multiple creative workflows, and get acquainted with the relevant components of an ICC-based color management system (CMS) and where they're installed in your Macintosh or Windows system. Then, find out how to handle prompts and alerts when opening files with profiles and use profiles to soft-proof output to various media including internet publishing ... and save your file in the correct format for the final medium. We'll also cover an overview of PDF technology in a print workflow. &lt;/p&gt;&lt;p&gt; &lt;b&gt;Presenter:&lt;/b&gt; Rita Amladi is the owner of Orion Arts &amp;amp; Communications, a digital imaging training and consulting company. She is a Certified Technical Trainer and an Adobe Certified Trainer for Photoshop. Visit her site at &lt;a href="http://www.orionac.com/" target="new"&gt;www.orionac.com&lt;/a&gt;.  &lt;/p&gt;&lt;p&gt; &lt;i&gt;This webcast relates to our October/November "Color Trends" issue, which ships to subscribers on September 14th and is available on newsstands on September 28th. E-mail &lt;a href="mailto:servicedgm@dgusa.com"&gt;servicedgm@dgusa.com&lt;/a&gt; to purchase a single copy or for subscription information.&lt;/i&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7851884177372263564?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7851884177372263564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7851884177372263564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7851884177372263564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7851884177372263564'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/free-webcast-on-adobe-color-management.html' title='Free Webcast on Adobe Color Management'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/RtWRJYVtdKI/AAAAAAAAAGo/pNJtp_vdhxU/s72-c/dynamicGraphics.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-979284299698771194</id><published>2007-08-28T16:16:00.000-07:00</published><updated>2007-11-13T18:50:21.849-08:00</updated><title type='text'>Instantly Indexed by Google</title><content type='html'>&lt;a name="annesBlog"&gt; &lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1LVZn-nyesg/RtWTqoVtdLI/AAAAAAAAAGw/DCpk2kfBcyg/s1600-h/google_logo.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/RtWTqoVtdLI/AAAAAAAAAGw/DCpk2kfBcyg/s200/google_logo.gif" alt="" id="BLOGGER_PHOTO_ID_5104148113286591666" border="0" /&gt;&lt;/a&gt;I was working on formatting some text in a blog similar to this one. The text was from a novel. I wasn't certain of the context of the excerpt. So I pasted a rather substantial chunk of it into the Google search terms box, hoping to snag a larger excerpt.&lt;br /&gt;&lt;br /&gt;Instead I got this--a link to the posting of the same text I had made to the blog several  minutes earlier. A day later, the same listing persists. Click the icon of the screenshot below to see the results.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/RtSwWYVtdII/AAAAAAAAAGY/Fz7vDE1-G_0/s1600-h/googleIndexed.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_1LVZn-nyesg/RtSwWYVtdII/AAAAAAAAAGY/Fz7vDE1-G_0/s200/googleIndexed.gif" alt="" id="BLOGGER_PHOTO_ID_5103898176254735490" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/RtSu0oVtdHI/AAAAAAAAAGQ/woBSGnFcaZk/s1600-h/googindex.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Obviously, speed does not translate into ranking. Although in some cases it might. In any case this is interesting.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ezinearticles.com/?How-To-Increase-Targeted-Web-Site-Traffic&amp;amp;id=81083"&gt;"How To Increase Targeted Web Site Traffic"&lt;/a&gt; on &lt;span style="font-style: italic;"&gt;ezine @rticles&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;With the introduction of Google Blog Search, my blog traffic  is increasing even more. Within minutes of posting to my  blog - I am getting targeted traffic from Google. You  are instantly indexed by Google Blog Search; it's reason  enough for every webmaster to put at least one blog  on their site.&lt;br /&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt; Here is evidence for what this guy says:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/RtS36oVtdJI/AAAAAAAAAGg/W5iglRd0AmU/s1600-h/gBlogIndexed.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/RtS36oVtdJI/AAAAAAAAAGg/W5iglRd0AmU/s200/gBlogIndexed.gif" alt="" id="BLOGGER_PHOTO_ID_5103906495606387858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One thing to note in this experiment is that the same result did not appear in the regular Google search results. After 10 pages of results, I quit looking. Putting the title in quotes didn't help either.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nrsrinath.com/Content/pid=69.html"&gt;How to get listed&lt;/a&gt; in Google in 24hours Guaranteed&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-979284299698771194?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/979284299698771194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=979284299698771194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/979284299698771194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/979284299698771194'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/instantly-indexed-by-google.html' title='Instantly Indexed by Google'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1LVZn-nyesg/RtWTqoVtdLI/AAAAAAAAAGw/DCpk2kfBcyg/s72-c/google_logo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5310831580181838657</id><published>2007-08-27T11:15:00.000-07:00</published><updated>2011-08-28T08:18:07.693-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='file management'/><title type='text'>Send Files On The Net</title><content type='html'>&lt;a href="http://bp0.blogger.com/_1LVZn-nyesg/RpUNA13qY6I/AAAAAAAAADE/lH-j8X2bEtE/s200/yousendit.gif"&gt;&lt;img alt="" border="0" src="http://bp0.blogger.com/_1LVZn-nyesg/RpUNA13qY6I/AAAAAAAAADE/lH-j8X2bEtE/s200/yousendit.gif" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt; width: 200px;" /&gt;&lt;/a&gt;Here is an &lt;a href="http://johnrobertlemon.blogspot.com/2007_07_08_archive.html#sendFiles" style="font-weight: bold;"&gt;older post&lt;/a&gt; about transferring files on the Net.&lt;br /&gt;&lt;br /&gt;In a related vein, &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1593"&gt;&lt;span style="font-weight: bold;"&gt;G Space&lt;/span&gt;&lt;/a&gt; is a Firefox extension that allows you to use your Gmail Space (2.8 GB and growing) for file storage. It acts as an online drive. You upload files from your hard drive with an easy drag and drop action, and then access them from any computer connected to the Net.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fireftp.mozdev.org/"&gt;&lt;span style="font-weight: bold;"&gt;           FireFTP&lt;/span&gt;&lt;/a&gt; is a free, secure, cross-platform FTP client for Firefox, providing easy and intuitive access to FTP servers. This means simple drag and drop file transfer to your server, directly from the browser.&lt;br /&gt;&lt;br /&gt;I just found a &lt;a href="http://www.youswap.com/" style="font-weight: bold;"&gt;service&lt;/a&gt; that allows multiple file uploads for a total upload of 1gb at a time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://mashable.com/2007/07/28/online-storage/"&gt;&lt;span style="font-weight: bold;"&gt;ONLINE STORAGE&lt;/span&gt;&lt;/a&gt;: 80+ File Hosting and Sharing Sites&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.makeuseof.com/tag/top-free-file-hosts/" style="font-weight: bold;"&gt;Top Free Hosts To Store Your Files Online&lt;/a&gt; on &lt;span style="font-style: italic; font-weight: bold;"&gt;makeuseof.com&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.pipebytes.com/"&gt;&lt;span style="font-weight: bold;"&gt;PipeBytes&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.filegunner.net/"&gt;File Gunner&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.filedropper.com/"&gt;File Dropper&lt;/a&gt; &lt;/span&gt;up to 5GB, no registration.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.wikiupload.com/"&gt;wiki upload&lt;/a&gt;, &lt;/span&gt;free file hosting &amp;amp; sharing--5GB file size.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;a href="http://www.smashingapps.com/2008/10/27/11-free-websites-to-send-and-recieve-large-files-quickly.html"&gt;11 Free Websites To Send And Recieve Large Files Quickly&lt;/a&gt;&lt;/span&gt;, on &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Smashing&lt;/span&gt;&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sizablesend.com/" style="font-weight: bold;"&gt;SizableSend.com&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://isendr.com/" style="font-weight: bold;"&gt;iSender&lt;/a&gt;, a web-based program that creates a link for you to send files  directly to another computer without uploading it to a third party  server.&lt;/li&gt;&lt;li&gt;&lt;a href="http://jetbytes.com/"&gt;&lt;span style="font-weight: bold;"&gt;JetBytes&lt;/span&gt;&lt;/a&gt; direct file transfer tool,  creates a direct link between the sender and the receiver. It does not store files during the transfer.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://streaky.com/"&gt;Streaky&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5310831580181838657?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5310831580181838657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5310831580181838657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5310831580181838657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5310831580181838657'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/send-files-on-net.html' title='Send Files On The Net'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1LVZn-nyesg/RpUNA13qY6I/AAAAAAAAADE/lH-j8X2bEtE/s72-c/yousendit.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-6928447877543350794</id><published>2007-08-25T14:43:00.000-07:00</published><updated>2007-09-15T10:35:27.643-07:00</updated><title type='text'>Word HTML Cleaner</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/RtCjjoVtdGI/AAAAAAAAAGI/kH934QPSwTg/s1600-h/textism.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/RtCjjoVtdGI/AAAAAAAAAGI/kH934QPSwTg/s200/textism.gif" alt="" id="BLOGGER_PHOTO_ID_5102758210329998434" border="0" /&gt;&lt;/a&gt;Microsoft Word is worse for documents than NAMBLA is for the Cub Scouts. I found something to ease the pain of dealing with Word-generated HTML.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.textism.com/wordcleaner/index.html"&gt;&lt;span style="font-weight: bold;"&gt;HTML Cleaner&lt;/span&gt;&lt;/a&gt; is an online application that strips proprietary Microsoft tags and other crud from Word HTML documents, leaving basic formatting intact. File sizes are greatly reduced, and the returned HTML is easier to read, revise, and employ.&lt;br /&gt;&lt;br /&gt;Here is a &lt;a href="http://johnrobertlemon.googlepages.com/cleanWordMessesUp.html"&gt;&lt;span style="font-weight: bold;"&gt;step-by-step explanation&lt;/span&gt;&lt;/a&gt; of the process.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A caveat: apparently, the application works by stripping out most style information from the  tags. Unfortunately, any useful styling is trashed as well. When the mob storms the walls of Redmond, I will, of course,  feel sorrow for the pain of the families of the Microsoft employees so brutally put to death. But a part of me will be glad.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-6928447877543350794?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/6928447877543350794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=6928447877543350794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6928447877543350794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6928447877543350794'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/word-html-cleaner.html' title='Word HTML Cleaner'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/RtCjjoVtdGI/AAAAAAAAAGI/kH934QPSwTg/s72-c/textism.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8344669880179292760</id><published>2007-08-22T19:32:00.000-07:00</published><updated>2009-01-04T11:14:28.607-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorials'/><title type='text'>Really Good Video Lectures</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/RszzSoVtdFI/AAAAAAAAAGA/BzU9BVk7rhE/s1600-h/yahooVideo.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/RszzSoVtdFI/AAAAAAAAAGA/BzU9BVk7rhE/s200/yahooVideo.gif" alt="" id="BLOGGER_PHOTO_ID_5101719979295601746" border="0" /&gt;&lt;/a&gt;A number of very good audio and video lecture series are cropping up on the Net. These include full-blown courses, such as those available from &lt;a style="font-weight: bold;" href="http://ocw.mit.edu/index.html"&gt;MIT Courseware&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://video.yahoo.com/video/group?gid=133414"&gt;&lt;b&gt;YUI Theater&lt;/b&gt;&lt;/a&gt; is a series of videos on programming available from Yahoo Videos. Many of these are on the topic of Web programming. The collection includes an excellent &lt;a href="http://video.yahoo.com/video/play?vid=cccd4aa02a3993ab06e56af731346f78.1710507"&gt;series on JavaScript&lt;/a&gt; by Yahoo's  &lt;a href="http://www.crockford.com/"&gt;Douglas Crockford&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A number of video tutorial sites are listed on the &lt;a href="http://johnrobertlemon.googlepages.com/tutorials.html"&gt;&lt;span style="font-weight: bold;"&gt;Tutorials Page&lt;/span&gt;&lt;/a&gt; of the archive.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sampsonvideos.com/"&gt;Sampson Videos.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.phpvideotutorials.com/"&gt;PHP Video Tutorials&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.killerphp.com/"&gt;KillerPHP.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.aduni.org/courses/web/"&gt;ArsDigita University, Web Applications&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8344669880179292760?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8344669880179292760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8344669880179292760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8344669880179292760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8344669880179292760'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/really-good-video-lectures.html' title='Really Good Video Lectures'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/RszzSoVtdFI/AAAAAAAAAGA/BzU9BVk7rhE/s72-c/yahooVideo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8179171753494340724</id><published>2007-08-15T18:32:00.000-07:00</published><updated>2007-08-29T08:55:00.869-07:00</updated><title type='text'>CSS Directly From Photoshop</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1LVZn-nyesg/RsOs_YVtdEI/AAAAAAAAAF4/HopBv6cJL4Y/s1600-h/sitegrinder2.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/RsOs_YVtdEI/AAAAAAAAAF4/HopBv6cJL4Y/s200/sitegrinder2.gif" alt="" id="BLOGGER_PHOTO_ID_5099109407978779714" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.medialab.com/sitegrinder/"&gt;&lt;span style="font-weight: bold;"&gt;Sitegrinder 2&lt;/span&gt;&lt;/a&gt; is a Photoshop plugin that creates CSS-styled Web pages directly from PSD files. It has what is perhaps the worst documentation I have ever seen for an application. That said, the application itself seems to work.&lt;br /&gt;&lt;br /&gt;I created a page from it &lt;a href="http://johnrobertlemon.googlepages.com/testCurmudgeon.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Admittedly, I went back into the code to correct things that were likely the result of my lack of familiarity with the tool. The methods are less than intuitive. But it may well be that with a bit of practice, even I could whip off something sophisticated using it.&lt;br /&gt;&lt;br /&gt;One thing that the tool cannot do is to replace a good foundation in CSS. If you don't know what CSS can do, this tool will be of limited use to you.&lt;br /&gt;&lt;br /&gt;The trial version does not appear to have a time limit. Instead, it watermarks images. It watermarked the header in the page I created. I promptly opened the file that it created, and pasted in a non-watermarked version of the image. Hey! You can't watermark CSS.&lt;br /&gt;&lt;br /&gt;But that's OK. The company should be paid for developing this nifty tool. It allows you to make finished pages during your evaluation. Then, when you get tired of removing the watermarks, you can pay them the money and get a key.&lt;br /&gt;&lt;br /&gt;Stay tuned for a more in-depth evaluation to be posted at the &lt;a href="http://johnrobertlemon.googlepages.com/pubDesign.html#css"&gt;CSS section of the archives&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Further reading:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"&lt;a href="http://www.photoshopsupport.com/tools/plugins/sitegrinder.html"&gt;Photoshop Plugins--SiteGrinder--Web Design Tool&lt;/a&gt;" in &lt;span style="font-weight: bold; font-style: italic;"&gt;PhotoshopSupport&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8179171753494340724?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8179171753494340724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8179171753494340724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8179171753494340724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8179171753494340724'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/css-directly-from-photoshopalmost.html' title='CSS Directly From Photoshop'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/RsOs_YVtdEI/AAAAAAAAAF4/HopBv6cJL4Y/s72-c/sitegrinder2.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8601827496935319221</id><published>2007-08-14T10:23:00.000-07:00</published><updated>2007-08-14T15:29:04.523-07:00</updated><title type='text'>A New WYSIWYG Authoring Tool</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1LVZn-nyesg/RsHnEniR3HI/AAAAAAAAAFw/VXgtcY9fR1U/s1600-h/codetch.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/RsHnEniR3HI/AAAAAAAAAFw/VXgtcY9fR1U/s200/codetch.gif" alt="" id="BLOGGER_PHOTO_ID_5098610319678364786" border="0" /&gt;&lt;/a&gt;&lt;a href="http://blog.codetch.com/"&gt;&lt;span style="font-weight: bold;"&gt;Codetch&lt;/span&gt;&lt;/a&gt; is a new Firefox add-on designed to function as a Web authoring tool on the order of Dreamweaver. This application is still in development, and so it is too soon to pass judgment. A preliminary look is promising.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://johnrobertlemon.googlepages.com/pubDesign.html"&gt;Nvu&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8601827496935319221?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8601827496935319221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8601827496935319221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8601827496935319221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8601827496935319221'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/new-wysiwyg-authoring-tool.html' title='A New WYSIWYG Authoring Tool'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1LVZn-nyesg/RsHnEniR3HI/AAAAAAAAAFw/VXgtcY9fR1U/s72-c/codetch.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8136622645521384153</id><published>2007-08-12T08:35:00.000-07:00</published><updated>2007-08-26T21:48:47.914-07:00</updated><title type='text'>Down and Dirty CMS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1LVZn-nyesg/Rr8qmHiR3GI/AAAAAAAAAFo/QLqtZcoZPy8/s1600-h/textyLogo.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/Rr8qmHiR3GI/AAAAAAAAAFo/QLqtZcoZPy8/s200/textyLogo.gif" alt="" id="BLOGGER_PHOTO_ID_5097840137552911458" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.texty.com/"&gt;&lt;span style="font-weight: bold;"&gt;Texty&lt;/span&gt;&lt;/a&gt; is a simple online text/html editor that will allow your client to make simple changes to content areas of his site. More on this service is located in the &lt;a style="font-weight: bold;" href="http://johnrobertlemon.googlepages.com/pubDesign.html#texty"&gt;archives&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt;&lt;br /&gt;The link shown in the archives section does not function due to a bug in the texty.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;A &lt;a style="font-weight: bold;" href="http://mashable.com/2007/07/30/content-management-systems/#more-7362"&gt;list&lt;/a&gt; of 80 opensource CMS tools on &lt;span style="font-weight: bold;"&gt;Mashable&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8136622645521384153?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8136622645521384153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8136622645521384153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8136622645521384153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8136622645521384153'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/down-and-dirty-cms.html' title='Down and Dirty CMS'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1LVZn-nyesg/Rr8qmHiR3GI/AAAAAAAAAFo/QLqtZcoZPy8/s72-c/textyLogo.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8358719887275312796</id><published>2007-08-09T08:43:00.000-07:00</published><updated>2007-08-22T20:21:52.827-07:00</updated><title type='text'>Your Web Pages Could Be PDF...Almost</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1LVZn-nyesg/Rrs7aHiR3EI/AAAAAAAAAFY/NggNrIOIp5U/s1600-h/boxes%26arrows.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/Rrs7aHiR3EI/AAAAAAAAAFY/NggNrIOIp5U/s200/boxes%26arrows.gif" alt="" id="BLOGGER_PHOTO_ID_5096732723185310786" border="0" /&gt;&lt;/a&gt;Really, Web pages should look as good as magazine pages. HTML 4, the current standard, is not up to the task, no matter how much CSS gets piled onto the heap. Display is a crapshoot, requiring experts with computer science degrees  to make Web pages look anywhere near what can be achieved with print. Even so, these experts with computer science degrees must consider "graceful degradation" of the rendering to accommodate browser quirkiness.&lt;br /&gt;&lt;br /&gt;PDF pages could fit the bill.  Almost. Here's an &lt;a href="http://www.boxesandarrows.com/view/pdf-prototypes"&gt;&lt;span style="font-weight: bold;"&gt;article in Boxes and Arrows&lt;/span&gt;&lt;/a&gt; about just how far you can go toward the magazine-page goal using PDF. Long story short: Not quite far enough, but close enough for prototyping.&lt;br /&gt;&lt;br /&gt;The primary drawback to PDF is an extremely long load time, not suitable for the frenzy that constitutes the Web.&lt;br /&gt;&lt;br /&gt;Speaking of HTML, here's an interesting &lt;a href="http://www.ibm.com/developerworks/library/x-html5/?ca=dgr-lnxw01NewHTML"&gt;article on HTML 5&lt;/a&gt; from IBM&lt;br /&gt;&lt;br /&gt;A number of interesting PDF applications are indexed on the &lt;a href="http://johnrobertlemon.googlepages.com/pubDesign.html#pdf"&gt;Web Publishing and Design &lt;/a&gt;page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8358719887275312796?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8358719887275312796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8358719887275312796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8358719887275312796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8358719887275312796'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/your-web-pages-could-be-pdfalmost.html' title='Your Web Pages Could Be PDF...Almost'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1LVZn-nyesg/Rrs7aHiR3EI/AAAAAAAAAFY/NggNrIOIp5U/s72-c/boxes%26arrows.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8991925696090530457</id><published>2007-08-08T15:49:00.000-07:00</published><updated>2007-08-22T20:26:52.103-07:00</updated><title type='text'>Making A Web Form Without Programming</title><content type='html'>If you google &lt;a href="http://www.google.com/search?q=web+form+script+generator&amp;ie=utf-8&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;oe=utf-8&amp;aq=t&amp;amp;rls=org.mozilla:en-US:official&amp;client=firefox-a"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;web form script generator&lt;/span&gt;&lt;/a&gt;, you will find a number of services that will, one way or another, produce a mailform that you can place in your Web page with a corresponding script to place on your server. It is generally a bad idea to undertake such a project if you are not familiar with scripting.&lt;br /&gt;&lt;br /&gt;If you want to make a simple response form, you are better off with a &lt;span style="font-style: italic;"&gt;mailto&lt;/span&gt; link. The use of this method will insure that you receive the correct email address, while allowing the sender to use a familiar tool to convey information to you.&lt;br /&gt;&lt;br /&gt;Otherwise, you should hire a Web programmer to create a script for you.&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is a &lt;a href="http://www.ianr.unl.edu/internet/mailto.html"&gt;&lt;span style="font-weight: bold;"&gt;link &lt;/span&gt;&lt;/a&gt;to a site with detailed information about various configurations you may use in your &lt;span style="font-style: italic;"&gt;mailto&lt;/span&gt; link.&lt;br /&gt;&lt;hr /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;*&lt;/span&gt;To ignore this advice, click &lt;a href="http://www.webformfactory.com/"&gt;here&lt;/a&gt; for a pretty good script generator.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx"&gt;&lt;span style="font-weight: bold;"&gt;I Knew How To Validate An Email Address Until I Read The RFC&lt;/span&gt;&lt;/a&gt; by Phil Haack. You know what?  I quit.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8991925696090530457?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8991925696090530457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8991925696090530457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8991925696090530457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8991925696090530457'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/making-web-form-without-programming.html' title='Making A Web Form Without Programming'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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-4999825689154668027.post-206613242878311269</id><published>2007-08-06T15:56:00.000-07:00</published><updated>2007-08-08T16:19:27.870-07:00</updated><title type='text'>The Source Code For The Menu</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/Rren83iR3DI/AAAAAAAAAFQ/qg-ZfCQMS2g/s1600-h/FlLogo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/Rren83iR3DI/AAAAAAAAAFQ/qg-ZfCQMS2g/s200/FlLogo.png" alt="" id="BLOGGER_PHOTO_ID_5095726167534722098" border="0" /&gt;&lt;/a&gt;Here is a &lt;a href="http://johnrobertlemon.googlepages.com/blogMenu.fla"&gt;&lt;span style="font-weight: bold;"&gt;link&lt;/span&gt;&lt;/a&gt; to the FLA file (Flash 9) for the menu of the archives portion of this blog. The archives are linked under the heading &lt;span style="color: rgb(51, 0, 153);font-size:85%;" &gt;ENTRIES BY CATEGORY&lt;/span&gt; in the column to the right.&lt;br /&gt;&lt;br /&gt;One real oddity that I encountered was in the construction of the rollout state of my buttons. If I used the syntax, &lt;span style="font-style: italic;font-family:courier new;" &gt;this.prevFrame()&lt;/span&gt;, the code would not fire. Removing the &lt;span style="font-style: italic;font-family:courier new;" &gt;this&lt;/span&gt; made it work. This is a real puzzlement to me. I'm not certain whether this is a bug in Flash or in my knowledge of the code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-206613242878311269?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/206613242878311269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=206613242878311269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/206613242878311269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/206613242878311269'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/source-code-for-menu.html' title='The Source Code For The Menu'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/Rren83iR3DI/AAAAAAAAAFQ/qg-ZfCQMS2g/s72-c/FlLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1647532159508417832</id><published>2007-08-02T06:21:00.000-07:00</published><updated>2007-08-05T08:19:28.701-07:00</updated><title type='text'>Your Page in Different Browsers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1LVZn-nyesg/RrHcs4hBFiI/AAAAAAAAAFI/nwwoGoVRPBs/s1600-h/err0r.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/RrHcs4hBFiI/AAAAAAAAAFI/nwwoGoVRPBs/s200/err0r.gif" alt="" id="BLOGGER_PHOTO_ID_5094095317175965218" border="0" /&gt;&lt;/a&gt;This image from a screenshot comes from a service called "&lt;a href="http://v04.browsershots.org/"&gt;&lt;span style="font-weight: bold;"&gt;Test your web design in different browsers&lt;/span&gt;&lt;/a&gt;." It shows a message put up by MSIE 4.01 / Windows 2000 for one of my pages.The page in question otherwise displays quite well in a number of browsers on a variety of systems. I'll have to track this down.&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-weight: bold;"&gt;Test your web design&lt;/span&gt;" is a great service to anyone who puts up a Web page, and wonders what others see.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1647532159508417832?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1647532159508417832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1647532159508417832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1647532159508417832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1647532159508417832'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/your-page-in-different-browsers.html' title='Your Page in Different Browsers'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/RrHcs4hBFiI/AAAAAAAAAFI/nwwoGoVRPBs/s72-c/err0r.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8729531069145531871</id><published>2007-08-01T15:05:00.000-07:00</published><updated>2007-08-01T19:14:24.025-07:00</updated><title type='text'>What Bill Gates Did For Me Today</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1LVZn-nyesg/RrELVohBFhI/AAAAAAAAAFA/9X3Lfm9LOCA/s1600-h/ie.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/RrELVohBFhI/AAAAAAAAAFA/9X3Lfm9LOCA/s200/ie.gif" alt="" id="BLOGGER_PHOTO_ID_5093865119813801490" border="0" /&gt;&lt;/a&gt;So, I thought that I'd fool around on my pages with some CSS, and that I'd put a &lt;b&gt;position: static&lt;/b&gt; box sitting at a fixed position at the bottom of each page, and to the right of the content table, and containing a link to &lt;b&gt;&amp;lt;a href="#top"&amp;gt;Top&amp;lt;/a&amp;gt;&lt;/b&gt;. This is because my site is really just a long list in HTML, and having a bunch of &lt;span style="color: rgb(0, 0, 153);"&gt;&lt;u&gt;Top&lt;/u&gt;&lt;/span&gt; links to the side looks funky.  Click over to any of the "ENTRIES BY CATEGORY" and scroll the page if you wonder what I'm talking about.&lt;br /&gt;&lt;br /&gt;Of course IE broke it, because IE breaks everything.&lt;br /&gt;&lt;br /&gt;So I googled the problem, coming up with a workaround that basically makes the page static, and sticks all of the content into a &lt;span style="font-weight: bold;"&gt;&amp;lt;div&amp;gt;&lt;/span&gt; with a scrollbar that you can scroll up and down. Then IE thinks that the fixed box with the &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;&lt;u&gt;Top&lt;/u&gt;&lt;/span&gt; in it is a regular page element, and that everything else is inside of this scrolling &lt;span style="font-weight: bold;"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;OK, so that actually works, and Firefox respects it, but now IE won't accept the link, and when you click on it, it just sits there, like Bill Gates contemplating how much nicer life would be, not to mention the extra money he'd make, if all of his competition and these irritating Web Standards would just disappear, leaving him head of of a single world monoply.&lt;br /&gt;&lt;br /&gt;Which leaves a burning question in two parts: (1) Why would a loving God let a thing like IE happen? And (2) what are the mechanics of IE not respecting this anchor link? It must have something to do with IE thinking like, hey dude!--this is a static page, so I must already be at the top. In fact, a page refresh takes you back to the same &lt;span style="font-weight: bold;"&gt;y&lt;/span&gt; value of the scroll where you were when you did the refresh.&lt;br /&gt;&lt;br /&gt;I hate it when IE calls me &lt;span style="font-style: italic;"&gt;dude&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Wait. Don't get so put off that you miss the best part-- this gets even better. So, come to find out, the link to &lt;span style="font-weight: bold;"&gt;#top&lt;/span&gt; (or any link for that matter, contained within the &lt;span style="font-weight: bold;"&gt;&amp;lt;div&amp;gt;&lt;/span&gt; tag) only works within about a one pixel tall area below the linked text in Firefox. (Remember that the regular&lt;span style="font-weight: bold;"&gt; position: static&lt;/span&gt; worked fine in Firefox in the first place, and we had to resort to all of this trickery because of Bill Gates and his money.) So, there is probably a workaround for this workaround of a workaround, but where would it all end? I mean, would I google this monstrosity, and then re-google for all of the ensuing side issues created by whatever re-workaround I came up with?&lt;br /&gt;&lt;br /&gt;Anyhow, what I did was--yes, I found a solution--was to use Flash. I made a tiny little Flash movie, linked a button the size of the whole SWF to the absolute value of the URL, and stuck that inside of the &lt;span style="font-weight: bold;"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;. Now both IE and FF stand up and salute, and dutifully reload the page, taking the user to the top just as an anchor tag sitting in a static page element would--in spirit if not actually the way I had originally designed it to be in my Web Standards fantasy. Unfortunately, this whole business leaves a funny blank area on the page just above and below the content. I could probably create some sort of decoration to hide that, but all of this has made me very tired, and when I'm tired, I don't care.&lt;br /&gt;&lt;br /&gt;Which leads me to ask the question that you have no doubt been asking all along:  Why not just do the whole thing in Flash and be done with it? It would save a lot of messing around, and the thing would have a consistent look in every browser.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8729531069145531871?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8729531069145531871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8729531069145531871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8729531069145531871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8729531069145531871'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/08/what-bill-gates-did-for-me-today.html' title='What Bill Gates Did For Me Today'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1LVZn-nyesg/RrELVohBFhI/AAAAAAAAAFA/9X3Lfm9LOCA/s72-c/ie.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8806356279688362227</id><published>2007-07-26T18:56:00.000-07:00</published><updated>2007-08-29T18:00:32.428-07:00</updated><title type='text'>Web page speed analysis</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1LVZn-nyesg/RqlSq4hBFgI/AAAAAAAAAE4/YaFhG4a-VwQ/s1600-h/yslow.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/RqlSq4hBFgI/AAAAAAAAAE4/YaFhG4a-VwQ/s200/yslow.png" alt="" id="BLOGGER_PHOTO_ID_5091691750397908482" border="0" /&gt;&lt;/a&gt;&lt;a href="http://developer.yahoo.com/yslow/"&gt;&lt;span style="font-weight: bold;"&gt;YSlow&lt;/span&gt;&lt;/a&gt; analyzes web pages and tells you why they're slow based on the &lt;a href="http://developer.yahoo.com/performance/index.html#rules"&gt;rules for high performance web sites&lt;/a&gt;. YSlow is a &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/5369"&gt;Firefox add-on&lt;/a&gt; integrated with the popular &lt;a href="http://www.getfirebug.com/" target="_blank"&gt;Firebug&lt;/a&gt; web development tool.  YSlow gives you:            &lt;ul class="topspace"&gt;&lt;li&gt;Performance report card   &lt;/li&gt;&lt;li&gt;HTTP/HTML summary   &lt;/li&gt;&lt;li&gt;List of components in the page   &lt;/li&gt;&lt;li&gt;Tools including &lt;a href="http://jslint.com/"&gt;JSLint&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Actually, if you're doing any kind of Web development and you don't use Firefox, you should just shoot yourself. Then you won't have to agonize over the fact that the world is passing you by&lt;/blockquote&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8806356279688362227?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8806356279688362227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8806356279688362227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8806356279688362227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8806356279688362227'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/web-page-speed-analysis.html' title='Web page speed analysis'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/RqlSq4hBFgI/AAAAAAAAAE4/YaFhG4a-VwQ/s72-c/yslow.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8871652195663286266</id><published>2007-07-16T17:07:00.000-07:00</published><updated>2007-09-16T09:58:58.586-07:00</updated><title type='text'>Free Web Form Hosting From Google et al.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1LVZn-nyesg/RpwI4x1VtYI/AAAAAAAAAEo/wFkjODslDVU/s1600-h/googPage-full.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/RpwI4x1VtYI/AAAAAAAAAEo/wFkjODslDVU/s200/googPage-full.jpg" alt="" id="BLOGGER_PHOTO_ID_5087951450564572546" border="0" /&gt;&lt;/a&gt;I have a &lt;a href="http://johnrobertlemon.googlepages.com/testForm.html"&gt;&lt;span style="font-weight: bold;"&gt;page&lt;/span&gt;&lt;/a&gt; hosted by Google Page Creator that runs a Web form on a free PHP site called &lt;a href="http://www.105mb.com/index.html"&gt;&lt;span style="font-weight: bold;"&gt;111mb.net&lt;/span&gt;&lt;/a&gt;. Type in a name and email to test out the form. For more on the Google Page Creator, click on the "Web Publishing" link to the right.&lt;br /&gt;&lt;br /&gt;Here's a &lt;a href="http://johnrobertlemon.googlepages.com/testForm.php"&gt;link&lt;/a&gt; to a copy of the PHP script.&lt;br /&gt;&lt;br /&gt;Here's a &lt;a href="http://mashable.com/2007/09/13/web-hosting-toolbox/"&gt;link&lt;/a&gt; to Mashable's Web Hosting Toolbox&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8871652195663286266?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8871652195663286266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8871652195663286266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8871652195663286266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8871652195663286266'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/web-forms-from-google-page-creator.html' title='Free Web Form Hosting From Google et al.'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1LVZn-nyesg/RpwI4x1VtYI/AAAAAAAAAEo/wFkjODslDVU/s72-c/googPage-full.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-8192994307628595242</id><published>2007-07-15T15:24:00.000-07:00</published><updated>2007-07-15T16:43:19.001-07:00</updated><title type='text'>CSS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1LVZn-nyesg/RpqgHh1VtTI/AAAAAAAAAEA/zNC83sRnKk4/s1600-h/w3c_home.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/RpqgHh1VtTI/AAAAAAAAAEA/zNC83sRnKk4/s200/w3c_home.png" alt="" id="BLOGGER_PHOTO_ID_5087554780270015794" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.w3.org/Style/Examples/007/"&gt;W3C&lt;/a&gt; Web Style Sheets CSS tips &amp; tricks&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_1LVZn-nyesg/RpqhZh1VtWI/AAAAAAAAAEY/Wux4CRgG4bo/s1600-h/bigeye.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_1LVZn-nyesg/RpqhZh1VtWI/AAAAAAAAAEY/Wux4CRgG4bo/s200/bigeye.jpg" alt="" id="BLOGGER_PHOTO_ID_5087556189019288930" border="0" /&gt;&lt;/a&gt;Macloo's  small &lt;a href="http://www.macloo.com/examples/css/index.htm"&gt;set of pages&lt;/a&gt; provides basic examples of some of the  most simple aspects of using CSS to control fonts, colors  and spacing on Web pages. The page has listed some up-to-date links to &lt;a href="http://plaza.ufl.edu/mmcadams/css.htm"&gt;helpful CSS resources&lt;/a&gt; on another page. &lt;/p&gt;        &lt;p&gt; There are no lengthy explanations here, but the code is very brief.         By &lt;b&gt;comparing&lt;/b&gt;          any example page to the previous page (linked to it), you can see what            was changed to produce the new appearance. &lt;/p&gt;        &lt;p&gt; Please feel free to &lt;b&gt;copy&lt;/b&gt; the CSS here and use it on your own          pages.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/Rpqw-x1VtXI/AAAAAAAAAEg/kWuF4QvhAD8/s1600-h/chrisManciero.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_1LVZn-nyesg/Rpqw-x1VtXI/AAAAAAAAAEg/kWuF4QvhAD8/s200/chrisManciero.JPG" alt="" id="BLOGGER_PHOTO_ID_5087573321643832690" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.chrismanciero.com/visualcss.aspx"&gt;Visual C&lt;/a&gt;&lt;a href="http://www.chrismanciero.com/visualcss.aspx"&gt;SS Creator&lt;/a&gt; is a helpful tool that will turn any style sheet (CSS) into a html page that will show the CSS visually for the developer to use to understand the styles better. To use enter the url where the CSS is located and hit the Create Visual CSS button, when the new page loads you can save the file as html and use it as a reference. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-8192994307628595242?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/8192994307628595242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=8192994307628595242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8192994307628595242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/8192994307628595242'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/css.html' title='CSS'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_1LVZn-nyesg/RpqgHh1VtTI/AAAAAAAAAEA/zNC83sRnKk4/s72-c/w3c_home.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5336624596380770176</id><published>2007-07-14T14:38:00.000-07:00</published><updated>2007-07-14T14:44:55.384-07:00</updated><title type='text'>Watch For...[beta]</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/RplDwR1VtPI/AAAAAAAAADk/IbkA_zt94Z4/s1600-h/aviary.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/RplDwR1VtPI/AAAAAAAAADk/IbkA_zt94Z4/s200/aviary.jpg" alt="" id="BLOGGER_PHOTO_ID_5087171750791591154" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.creationonthefly.com/"&gt;Aviary&lt;/a&gt; is a platform ecosystem for people who &lt;i&gt;create&lt;/i&gt;. It is organized around a suite of rich internet applications geared for artists of all genres. From image editing to typography to music to 3D to video, we have a tool for everything.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5336624596380770176?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5336624596380770176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5336624596380770176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5336624596380770176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5336624596380770176'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/watch-forbeta.html' title='Watch For...[beta]'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/RplDwR1VtPI/AAAAAAAAADk/IbkA_zt94Z4/s72-c/aviary.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-5913784399986267021</id><published>2007-07-14T12:27:00.001-07:00</published><updated>2007-07-16T20:11:32.797-07:00</updated><title type='text'>Big Flash News</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_1LVZn-nyesg/RpkjzR1VtOI/AAAAAAAAADc/gFV5KwMQk7I/s1600-h/FlLogo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_1LVZn-nyesg/RpkjzR1VtOI/AAAAAAAAADc/gFV5KwMQk7I/s200/FlLogo.png" alt="" id="BLOGGER_PHOTO_ID_5087136617959109858" border="0" /&gt;&lt;/a&gt;You can host a Flash site for free on the Google Page Creator. This &lt;a href="http://johnrobertlemon.googlepages.com/index.html"&gt;mockup&lt;/a&gt; of a splash page is hosted on my Google page.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to get your Flash site hosted by Google&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Create a &lt;a href="https://www.google.com/accounts/NewAccount"&gt;Google account&lt;/a&gt;. You must create a Gmail account.&lt;/li&gt;&lt;li&gt;Sign up for a &lt;a href="https://www.google.com/accounts/ServiceLogin?service=pages&amp;continue=http%3A%2F%2Fpages.google.com%2F&amp;amp;ltmpl=yessignups"&gt;Google Page Creator&lt;/a&gt; account. Opera and Safari may not be supported, so use Firefox anyway. What's the matter with you?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;On the main page for the Google Page Creator, click on &lt;span style="text-decoration: underline; color: rgb(51, 51, 255);"&gt;Site settings&lt;/span&gt;, just down from the top, to the right.&lt;/li&gt;&lt;li&gt;Find the "Experimental Features" button, and enable it.&lt;/li&gt;&lt;li&gt;Your main page will now have an upload section on the right side. This is titled "Uploaded Stuff." At the bottom of this section is a link that looks like: &lt;span style="text-decoration: underline; color: rgb(51, 51, 255);"&gt;[upload]&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;. You will click on this link to upload your files. As of July 14, 2007 you must upload files one at a time. This will likely change soon.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="color: rgb(0, 0, 0);"&gt;Upload your Flash files as you normally would. The link to your Flash site will be the URL for your Google pages plus a slash--/--plus the name of your HTML file--e.g., http://johnrobertlemon.googlepages.com/index.html.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-5913784399986267021?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/5913784399986267021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=5913784399986267021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5913784399986267021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/5913784399986267021'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/big-flash-news.html' title='Big Flash News'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_1LVZn-nyesg/RpkjzR1VtOI/AAAAAAAAADc/gFV5KwMQk7I/s72-c/FlLogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1968849390104217045</id><published>2007-07-13T06:28:00.001-07:00</published><updated>2007-07-15T21:00:18.092-07:00</updated><title type='text'>Free Vector Images</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1LVZn-nyesg/Rpd-aB1VtNI/AAAAAAAAADU/R8ZdEbEDZnI/s1600-h/bitbox.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/Rpd-aB1VtNI/AAAAAAAAADU/R8ZdEbEDZnI/s200/bitbox.gif" alt="" id="BLOGGER_PHOTO_ID_5086673289772119250" border="0" /&gt;&lt;/a&gt;Use &lt;a href="http://www.bittbox.com/"&gt;Bittbox&lt;/a&gt; files in posters, website designs, cd covers, postcards, annuals, flyers, business cards, branding, . . . DESIGN. &lt;p&gt;Use BittBox buttons as a part of a UI for a software you are developing.&lt;/p&gt; &lt;p&gt;Use BittBox files as a learning experience to grow and create your own excellent designs.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;See more&lt;/span&gt; on the &lt;a href="http://johnrobertlemon.googlepages.com/imaging#vector"&gt;Web site&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1968849390104217045?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1968849390104217045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1968849390104217045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1968849390104217045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1968849390104217045'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/free-vector-images.html' title='Free Vector Images'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1LVZn-nyesg/Rpd-aB1VtNI/AAAAAAAAADU/R8ZdEbEDZnI/s72-c/bitbox.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-7346457306631663990</id><published>2007-07-12T07:27:00.001-07:00</published><updated>2007-07-14T08:25:31.376-07:00</updated><title type='text'>Getting your videos noticed</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/RpY6hx1VtMI/AAAAAAAAADM/sNzQGNqNdlQ/s1600-h/weshow.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_1LVZn-nyesg/RpY6hx1VtMI/AAAAAAAAADM/sNzQGNqNdlQ/s200/weshow.gif" alt="" id="BLOGGER_PHOTO_ID_5086317181148705986" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.weshow.com/us/index.action"&gt;WeShow&lt;/a&gt; brings an editorial approach to selecting and organizing the best online videos available from sites such as YouTube, DailyMotion, Metacafe, Google Video and others. The site also offers the monthly “WeShow Awards,” billed as the “world’s biggest online video contest” where users get to vote on content from each country WeShow has a local version for (US, UK and Brazil). WeShow TV rounds out the offering by providing a review style show featuring some “of the world’s best videos.”&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://video.tvguide.com/default.aspx"&gt;TV Guide Online Video Guide&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blinkx.com/"&gt;blinkx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.onvideo.org/"&gt;OnVideo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ovguide.com/"&gt;Online Video Guide&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.thedailytube.com/"&gt;The Daily Tube&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Further reading:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.wired.com/science/discoveries/news/2006/05/70767"&gt;Ultimate Guide to Online Video&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.channel101.com/"&gt;Channel 101&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;And don't forget:&lt;/span&gt;&lt;br /&gt; &lt;a href="http://www.google.com/search?q=online+video+guide&amp;hl=en&amp;amp;safe=off&amp;client=firefox-a&amp;amp;rls=org.mozilla:en-US:official&amp;hs=gZz&amp;amp;start=10&amp;amp;sa=N"&gt;Google&lt;/a&gt;, search term, "online video."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-7346457306631663990?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/7346457306631663990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=7346457306631663990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7346457306631663990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/7346457306631663990'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/getting-your-videos-noticed.html' title='Getting your videos noticed'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1LVZn-nyesg/RpY6hx1VtMI/AAAAAAAAADM/sNzQGNqNdlQ/s72-c/weshow.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1207854191555515685</id><published>2007-07-11T09:51:00.000-07:00</published><updated>2008-10-14T21:16:44.555-07:00</updated><title type='text'>Easy file Transfer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/RpUNA13qY6I/AAAAAAAAADE/lH-j8X2bEtE/s1600-h/yousendit.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_1LVZn-nyesg/RpUNA13qY6I/AAAAAAAAADE/lH-j8X2bEtE/s200/yousendit.gif" alt="" id="BLOGGER_PHOTO_ID_5085985662296548258" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.yousendit.com/"&gt;You Send It&lt;/a&gt; is an easy online file transfer application. Students no longer have to use jump drives, external hard drives, or CDs to take files (up to 100MB) home. Follow the simple instructions on the home page. Upload your files at school; download them at home.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;See also:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://franticindustries.com/blog/2007/07/12/5-simple-ways-to-store-your-files-online/"&gt;5 Simple Ways to Store Your Files Online&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.flyupload.com/"&gt;FlyUpload&lt;/a&gt; This is a file sharing service that worked quickly and easily in a test.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://mashable.com/2007/07/28/online-storage/" title="Permalink to ONLINE STORAGE: 80+ File Hosting and Sharing Sites" rel="bookmark"&gt;ONLINE STORAGE&lt;/a&gt;: 80+ File Hosting and Sharing Sites&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:130%;"&gt;&lt;a style="font-weight: bold;" href="http://www.mailbigfile.com/"&gt;MailBigFile&lt;/a&gt;&lt;/span&gt;--no registration required.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://lifehackmagazine.com/amazing-7-ways-to-send-huge-files-bigger-than-gmail/"&gt;7 Ways to Send Huge Files&lt;/a&gt; - Bigger than Gmail&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1207854191555515685?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1207854191555515685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1207854191555515685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1207854191555515685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1207854191555515685'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/easy-file-transfer.html' title='&lt;a name=&quot;sendFiles&quot;&gt;&lt;/a&gt;Easy file Transfer'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1LVZn-nyesg/RpUNA13qY6I/AAAAAAAAADE/lH-j8X2bEtE/s72-c/yousendit.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-6800350348888181773</id><published>2007-07-08T11:05:00.000-07:00</published><updated>2007-07-08T11:09:28.292-07:00</updated><title type='text'>Final Cut Pro 5 Free Tutorial</title><content type='html'>&lt;strong&gt;From &lt;a href="http://www.expertvillage.com/interviews/final-cut-overview.htm"&gt;Expert Village&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/RpEoM13qY5I/AAAAAAAAAC8/GLNGtEhwPyk/s1600-h/expertVillage.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_1LVZn-nyesg/RpEoM13qY5I/AAAAAAAAAC8/GLNGtEhwPyk/s200/expertVillage.gif" alt="" id="BLOGGER_PHOTO_ID_5084889655362085778" border="0" /&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Summary&lt;/strong&gt;: A working knowledge of Final Cut Pro is essential to any aspiring filmmaker. As the most widely used software program in video and film editing, Apple computer's Final Cut Pro can give a professional appearance to any film project from basic digital video to HD material. Because it's relatively affordable and easy to use, Final Cut Pro has become extremely popular with broadcast stations and independent filmmakers. It offers a wealth of effects and functions, like dissolve, iris, distortion, and ripple, rolling, slipping, sliding and other editing functions, as well as color correction filters and audio filters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-6800350348888181773?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/6800350348888181773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=6800350348888181773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6800350348888181773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/6800350348888181773'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/final-cut-pro-5-free-tutorial.html' title='Final Cut Pro 5 Free Tutorial'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1LVZn-nyesg/RpEoM13qY5I/AAAAAAAAAC8/GLNGtEhwPyk/s72-c/expertVillage.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-1751615271855435213</id><published>2007-07-07T21:34:00.000-07:00</published><updated>2007-07-07T21:40:14.891-07:00</updated><title type='text'>Flickr and Creative Commons</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1LVZn-nyesg/RpBprl3qY4I/AAAAAAAAAC0/-Wo7JSDkHsM/s1600-h/flickr.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/RpBprl3qY4I/AAAAAAAAAC0/-Wo7JSDkHsM/s200/flickr.gif" alt="" id="BLOGGER_PHOTO_ID_5084680176922157954" border="0" /&gt;&lt;/a&gt;Many &lt;a href="http://www.flickr.com/creativecommons/"&gt;Flickr&lt;/a&gt; users have chosen to offer their work under a Creative Commons license, and you can browse or search through photos under each type of license.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.creativecommons.org/"&gt;&lt;img src="http://l.yimg.com/www.flickr.com/images/logo_cc_trademark.gif" alt="Creative Commons Trademark" style="border: medium none ;" height="40" width="162" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p class="Quote"&gt;"Creative Commons is a non-profit that offers an alternative to full copyright."&lt;/p&gt;    &lt;h4 style="margin-top: 0px;" align="right"&gt;&lt;a href="http://creativecommons.org/"&gt;creativecommons.org&lt;/a&gt;&lt;/h4&gt;        &lt;h4 class="Separated"&gt;Briefly...&lt;/h4&gt;      &lt;p&gt;     &lt;img src="http://l.yimg.com/www.flickr.com/images/cc_icon_attribution.gif" alt="Attribution icon" style="border: medium none ; margin: 10px; float: right;" height="32" width="32" /&gt;        &lt;b&gt;Attribution &lt;/b&gt;means:&lt;br /&gt;   &lt;span style="font-size:11;"&gt;You let others copy, distribute, display, and perform your copyrighted work - and derivative works based upon it - but only if they give you credit.&lt;/span&gt;    &lt;/p&gt;    &lt;p&gt;     &lt;img src="http://l.yimg.com/www.flickr.com/images/cc_icon_noncomm.gif" alt="Noncommercial icon" style="border: medium none ; margin: 10px; float: right;" height="32" width="32" /&gt;        &lt;b&gt;Noncommercial&lt;/b&gt; means:&lt;br /&gt;   &lt;span style="font-size:11;"&gt;You let others copy, distribute, display, and perform your work - and derivative works based upon it - but for noncommercial purposes only.&lt;/span&gt;    &lt;/p&gt;    &lt;p&gt;     &lt;img src="http://l.yimg.com/www.flickr.com/images/cc_icon_noderivs.gif" alt="No Derivative Works icon" style="border: medium none ; margin: 10px; float: right;" height="32" width="32" /&gt;        &lt;b&gt;No Derivative Works&lt;/b&gt; means:&lt;br /&gt;   &lt;span style="font-size:11;"&gt;You let others copy, distribute, display, and perform only verbatim copies of your work, not derivative works based upon it.&lt;/span&gt;    &lt;/p&gt;    &lt;p&gt;     &lt;img src="http://l.yimg.com/www.flickr.com/images/cc_icon_sharealike.gif" alt="Share Alike icon" style="border: medium none ; margin: 10px; float: right;" height="32" width="32" /&gt;&lt;b&gt;Share Alike&lt;/b&gt; means:&lt;br /&gt;   &lt;span style="font-size:11;"&gt;You allow others to distribute derivative works only under a license identical to the license that governs your work.&lt;/span&gt;    &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-1751615271855435213?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/1751615271855435213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=1751615271855435213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1751615271855435213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/1751615271855435213'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/flickr-and-creative-commons.html' title='Flickr and Creative Commons'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_1LVZn-nyesg/RpBprl3qY4I/AAAAAAAAAC0/-Wo7JSDkHsM/s72-c/flickr.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4999825689154668027.post-2427877202827901554</id><published>2007-07-07T16:06:00.000-07:00</published><updated>2007-07-07T16:36:45.057-07:00</updated><title type='text'>Video Screen Capture</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_1LVZn-nyesg/RpAe6F3qY1I/AAAAAAAAACc/JEuh1aSv1NA/s1600-h/Webinaria.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_1LVZn-nyesg/RpAe6F3qY1I/AAAAAAAAACc/JEuh1aSv1NA/s200/Webinaria.gif" alt="" id="BLOGGER_PHOTO_ID_5084597962658177874" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.webinaria.com/"&gt;Webinaria&lt;/a&gt; produced the video screen capture from which the youTube video, shown below,  is made. The original video is full-screen, but has been reduced to the size shown by youTube.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_1LVZn-nyesg/RpAiOl3qY3I/AAAAAAAAACs/xIPb-e1P8N0/s1600-h/webarinaSS.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_1LVZn-nyesg/RpAiOl3qY3I/AAAAAAAAACs/xIPb-e1P8N0/s200/webarinaSS.gif" alt="" id="BLOGGER_PHOTO_ID_5084601613380379506" border="0" /&gt;&lt;/a&gt;Click on the icon to the left to get a full-resolution, still screen-shot (a snapshot) of the AVI movie playing in the Windows Media Player.&lt;object height="350" width="425"&gt; &lt;param name="movie" value="http://www.youtube.com/v/LC9XZVVwJGA"&gt;  &lt;embed src="http://www.youtube.com/v/LC9XZVVwJGA" type="application/x-shockwave-flash" height="350" width="425"&gt;&lt;/embed&gt;  &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4999825689154668027-2427877202827901554?l=www.thewebcurmudgeon.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.thewebcurmudgeon.com/feeds/2427877202827901554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4999825689154668027&amp;postID=2427877202827901554' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2427877202827901554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4999825689154668027/posts/default/2427877202827901554'/><link rel='alternate' type='text/html' href='http://www.thewebcurmudgeon.com/2007/07/video-screen-capture.html' title='Video Screen Capture'/><author><name>John</name><uri>http://www.blogger.com/profile/16749648693026862401</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_1LVZn-nyesg/RpAe6F3qY1I/AAAAAAAAACc/JEuh1aSv1NA/s72-c/Webinaria.gif' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
