<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>WebCodr.com</title>
	<link>http://www.webcodr.com</link>
	<description>News &#038; Tips for the Discerning Developer</description>
	<pubDate>Mon, 16 Apr 2007 11:13:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>
	<language>en</language>
			<item>
		<title>Build A Lightweight CMS Using .htaccess</title>
		<link>http://www.webcodr.com/34/build-a-lightweight-cms-using-htaccess/</link>
		<comments>http://www.webcodr.com/34/build-a-lightweight-cms-using-htaccess/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 11:13:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Theory]]></category>

		<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.webcodr.com/34/build-a-lightweight-cms-using-htaccess/</guid>
		<description><![CDATA[Contemplating &#8220;the Digg effect&#8221; last week, I started experimenting with fast and efficient ways of displaying dynamic content. This method, although overkill, looked promising; A basic CMS written entirely in Apache config rules.
If you&#8217;re short on time, and just want to see it working, you can view the demo and download the source files. Don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Contemplating &#8220;the Digg effect&#8221; last week, I started experimenting with fast and efficient ways of displaying dynamic content. This method, although overkill, looked promising; A basic CMS written entirely in Apache config rules.</p>
<p>If you&#8217;re short on time, and just want to see it working, you can <a target="_blank" href="http://www.webcodr.com/apache-demo/">view the demo</a> and download the <a target="_blank" href="http://www.webcodr.com/apache-demo/Downloads/">source files</a>. Don&#8217;t forget to read the <a target="_blank" href="http://www.webcodr.com/apache-demo/Documentation/Installation.html">installation instructions</a>.</p>
<p>Otherwise read on - we will make our own Apache CMS from scratch.</p>
<p><strong><br />
STEP 1 - Serving Files</strong> </p>
<p>Let&#8217;s start easy. Apache is designed (obviously) to serve any type of file to a client who requests them. It is fast and efficient, using only the basic features of the web server. I begin by uploading several files to my web root - these could be Word files, images, whatever I like.</p>
<p><strong><br />
STEP 2 - Directory Listings</strong></p>
<p>Depending on my Apache configuration, when I visit my I will either see an error message (because no default web page is available), or a directory listing. We want the directory listing. To make sure it shows, we have our first configuration line:</p>
<blockquote><p>Options +Indexes</p></blockquote>
<p>Admittedly the directory listing isn&#8217;t pretty, but we can work on presentation soon. First we need to generate the correct HTML for the data we want to display.</p>
<p><strong><br />
STEP 3 - Configuring Directory Listings</strong></p>
<p>First let&#8217;s enable fancy indexing, and ensure it outputs compliant XHTML.</p>
<blockquote><p>IndexOptions +FancyIndexingIndexOptions +XHTML</p></blockquote>
<p>Because we&#8217;re going to be adding our own headers and footers to the directory listing, we need to disable unwanted Apache output.</p>
<blockquote><p>IndexOptions +SuppressHTMLPreamble</p></blockquote>
<p>Now let&#8217;s choose what information is displayed. This is down to personal preference, and the types of files that will be served by your CMS. In my case I only want a list of files, with nice icons, and a description for each entry. So I suppress information I don&#8217;t want to see, and add additional information;</p>
<blockquote><p>IndexOptions +SuppressLastModifiedIndexOptions +SuppressSizeIndexOptions +ScanHTMLTitles</p></blockquote>
<p>Finally I add a little bit of formatting to the data before we start styling;</p>
<blockquote><p>IndexOptions +DescriptionWidth=60IndexOptions +NameWidth=50</p></blockquote>
<p>Try refreshing your directory listing. Looks pretty different already, doesn&#8217;t it?</p>
<p><strong><br />
STEP 4 - Headers and Footers</strong></p>
<p>Now we need to add HTML headers and footers to the directory listing. The header can include a site logo and some introductory text, and a copyright notice or similar in the footer. We can also use the HTML header to include CSS for styling our page.  I keep the headers and footers in the directory that they relate to - that way I can have different introductory text for subdirectories off the homepage. First set the headers and footers in our .htaccess file:</p>
<blockquote><p>HeaderName header.html<br />
ReadmeName footer.html</p></blockquote>
<p>Then we write our header.html file:</p>
<blockquote><p>&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221;<br />
&#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</p>
<p>&lt;html&gt;<br />
 &lt;head&gt;<br />
  &lt;title&gt;Apache Demonstration&lt;/title&gt;</p>
<p> &lt;/head&gt;<br />
 &lt;body&gt;</p>
<p>  &lt;h1&gt;Welcome to my Apache Demonstration&lt;/h1&gt;</p></blockquote>
<p>And finally our footer.html file:</p>
<blockquote><p>&lt;/body&gt;<br />
&lt;/html&gt;</p></blockquote>
<p>Now when you refresh your directory listing, it should look a bit more like a web page. Note the directory listing includes our new files - we don&#8217;t want to show them to visitors as they are irrelevant to our actual content. So we add an extra directive in .htaccess:</p>
<blockquote><p>IndexIgnore header.html footer.html</p></blockquote>
<p><strong><br />
STEP 5 - Adding Other Items</strong></p>
<p>I also wanted to add images, external style sheets to my headers and footers, which shouldn&#8217;t be displayed to visitors. I created an &#8216;etc&#8217; directory off the web root and hid it in my .htaccess:</p>
<blockquote><p>IndexIgnore etc</p></blockquote>
<p>Now I can upload logos, CSS files (covered next), file type icons (covered next) and anything else for the presentation of the directory listings. Try adding your logo to the header.  STEP 6 - USING CSS FOR PRESENTATION CSS is powerful enough to control Apache&#8217;s valid XHTML output of directory listings. Design your own stylesheet to match your site or corporate brand. You can use mine as a template:</p>
<blockquote><p>&lt;style type=&#8221;text/css&#8221;&gt;<br />
body, pre {<br />
 font-family: &#8220;Lucida Grande&#8221;, &#8220;Lucida Sans&#8221;, &#8220;Lucida Sans Unicode&#8221;, &#8220;Lucida&#8221;, Verdana, &#8220;Bitstream Vera Sans&#8221;, sans-serif;<br />
}</p>
<p>body {<br />
 font-size: 0.85em;<br />
 margin-left: 25%;<br />
 margin-right: 25%;<br />
 color: #333;<br />
}</p>
<p>h1 {<br />
 font-family: palatino linotype, book antiqua, palatino, serif;<br />
 font-size: 1.7em;<br />
 border-bottom: #333 1px solid;<br />
 margin-top: 30px;<br />
}</p>
<p>p {<br />
 line-height: 1.6em;<br />
 text-align: justify;<br />
}</p>
<p>a {<br />
 color: #004eff;<br />
}</p>
<p>a:visited {<br />
 color: #4800ff;<br />
}</p>
<p>hr {<br />
 border: 0;<br />
 border-bottom: 1px #999 solid;<br />
 height: 1px;<br />
}</p>
<p>pre {<br />
 margin: 40px 0;<br />
 font-size: 1em;<br />
 line-height: 2em;<br />
}</p>
<p>&lt;/style&gt;</p></blockquote>
<p><strong><br />
STEP 7 - File Type Icons</strong></p>
<p>The default icons supplied with Apache can look a bit dreary compared to more modern icons available. I have modified some of Famfamfam&#8217;s icons for directory listings, and written some directives for .htaccess to read the new icons. Icons are kept in &#8216;etc/icons&#8217; - see our previous post for free icons if you don&#8217;t have any.</p>
<blockquote><p>AddIconByEncoding (CMP,/etc/icons/compressed.png) x-compress x-gzip<br />
AddIconByType (TXT,/etc/icons/text.png) text/*<br />
AddIconByType (TXT,/etc/icons/text.png) .txt<br />
AddIconByType (IMG,/etc/icons/image.png) image/*<br />
AddIconByType (SND,/etc/icons/sound.png) audio/*<br />
AddIconByType (VID,/etc/icons/movie.png) video/*</p>
<p>AddIcon /etc/icons/compressed.png .tar<br />
AddIcon /etc/icons/back.png ..<br />
AddIcon /etc/icons/readme.png README<br />
AddIcon /etc/icons/folder.png ^^DIRECTORY^^</p></blockquote>
<p><strong><br />
Complete</strong></p>
<p>And there we have it - a simple content management system using only Apache .htaccess directives. Anyone with access can upload Word documents, photos, MP3s or movies without any knowledge of HTML or CSS. The system is lean and mean, generating pages in a fraction of a second (especially compared with the huge CMSs available).  It&#8217;s perfect for intranets when you only have 20 minutes to make one. Or maybe a geek/hacker/personal web site. I haven&#8217;t made a satisfactory client/corporate implementation, and I don&#8217;t think I will in the near future. Clients just aren&#8217;t any fun.</p>
<p>You can take this further by using CGI, PHP or whatever scripts to add more functionality to pages. Using a simple Perl script in place of the &#8216;header.html&#8217; file, you could dynamically generate introductory text based on a database, readme file, or anything else you wanted. Or use server-side includes for the header, with just the introductory text changing (highly recommended).</p>
<p><strong><br />
Demo &amp; Download</strong></p>
<p>You can try the live demo <a target="_blank" href="http://www.webcodr.com/apache-demo/">here</a>, and download an archive of my complete setup <a target="_blank" href="http://www.webcodr.com/apache-demo/Downloads/">here</a>. Look at our <a target="_blank" href="http://www.webcodr.com/23/4839-free-to-use-icons-for-web-developers/">previous post</a> for icon ideas. Please don&#8217;t forget to link to Famfamfam if you use the icons supplied with the demo.</p>
<p>What would you use it for? How would you improve it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webcodr.com/34/build-a-lightweight-cms-using-htaccess/feed/</wfw:commentRss>
		</item>
		<item>
		<title>4,839 Free-To-Use Icons For Web Developers</title>
		<link>http://www.webcodr.com/23/4839-free-to-use-icons-for-web-developers/</link>
		<comments>http://www.webcodr.com/23/4839-free-to-use-icons-for-web-developers/#comments</comments>
		<pubDate>Wed, 04 Apr 2007 12:46:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.webcodr.com/23/4839-free-to-use-icons-for-web-developers/</guid>
		<description><![CDATA[When designing a site I can often spend hours trying to create or find suitable graphical elements for each page. The solution was to keep a substantial library of icons and bullets ready for any occasion. Here I have put together my favourite free and open source icon libraries.
Please read the license for each collection [...]]]></description>
			<content:encoded><![CDATA[<p>When designing a site I can often spend hours trying to create or find suitable graphical elements for each page. The solution was to keep a substantial library of icons and bullets ready for any occasion. Here I have put together my favourite free and open source icon libraries.</p>
<p>Please read the license for each collection carefully. I always keep a readme.txt in my folders with the license, so I know where I stand when creating commercial sites for clients. In any case, it is common to use &#8220;Copyright 2007 domain.com and its licensors&#8221; in your footer, as you do not own the copyright for the icons.</p>
<p><strong><a target="_blank" href="http://www.famfamfam.com/lab/icons/silk/">Silk Icons v1.3 (1,100 icons)</a><br />
</strong><a target="_blank" href="http://www.famfamfam.com/lab/icons/silk/"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/1.jpg" alt="1.jpg" /></a><br />
The first set of icons we cover from FamFamFam, this collection of tiny 16&#215;16 icons in PNG format is great for almost any purpose. Icons are released under a <a target="_blank" href="http://creativecommons.org/licenses/by/2.5/">Creative Commons Attribution 2.5 License</a> - use and change all you like, but please link back to the author&#8217;s page.</p>
<p><strong><a href="http://www.famfamfam.com/lab/icons/mini/">Mini Icons (144 icons)</a><br />
<a href="http://www.famfamfam.com/lab/icons/mini/"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/2.jpg" alt="2.jpg" /></a></strong><br />
Another great collection from FamFamFam at 16&#215;16 in GIF format. Most are suitable for file format icons, and there are a few toolbar icons in there too.</p>
<p><strong><a target="_blank" href="http://www.famfamfam.com/lab/icons/mint/">Mint Icons (18 icons)</a><br />
</strong><a target="_blank" href="http://www.famfamfam.com/lab/icons/mint/"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/3.jpg" alt="3.jpg" /></a><br />
A lickable selection of ultra-tiny 11&#215;11 icons in PNG format. Minty green, loosely-based on the Mint statistics software. Licensed under <a href="http://creativecommons.org/licenses/by/2.5/">Creative Commons Attribution 2.5 License</a>.</p>
<p><strong><a target="_blank" href="http://www.famfamfam.com/lab/icons/flags/">Country Flags (247 icons)</a><br />
</strong><a target="_blank" href="http://www.famfamfam.com/lab/icons/flags/"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/4.jpg" alt="4.jpg" /></a><br />
If, like me, you&#8217;ve lusted after the country flags in Skype then this is the collection for you. Almost every country is represented with a 16&#215;11 icon. Filenames follow the <a target="_blank" href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1</a> country code specification. You are free to use these icons for any purpose without attribution.</p>
<p><strong><a target="_blank" href="http://ave.ambitiouslemon.com/">Laurent Baumann&#8217;s Mac Icons (700+ icons)</a><br />
</strong><a target="_blank" href="http://ave.ambitiouslemon.com/"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/5.jpg" alt="5.jpg" /></a><br />
Icons for MacOS X has a distinctive look-and-feel that can compliment the right web design. Laurent has released some excellent icons suitable for lots of purposes online, under <a target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons 3.0 Licence</a>. Non-commercial use only.</p>
<p><strong><a target="_blank" href="http://tango.freedesktop.org/Tango_Icon_Gallery">Tango Desktop Project (273 icons)</a><br />
</strong><a target="_blank" href="http://tango.freedesktop.org/Tango_Icon_Gallery"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/6.jpg" alt="6.jpg" /></a><br />
Designed to create a consistent user experience for Open Source software, these icons are licensed under <a target="_blank" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution Share-Alike License</a>. They come in 16&#215;16, 22&#215;22 and 32&#215;32 PNGs as well as the SVG source file. Almost everything is covered, including toolbars, dialogs, networking, applications, file types, country flags and much more. Also have a look at the <a target="_blank" href="http://tango.freedesktop.org/Tango_Icon_Library#Additional_Sets">additional sets</a> available.</p>
<p><strong><a target="_blank" href="http://icon-king.com/">Icon King (63+ icons)</a><br />
</strong><a target="_blank" href="http://icon-king.com/"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/7.jpg" alt="7.jpg" /></a><br />
Created by David Vignoni, primarily for the KDE Project and related icon projects. Please check the individual licensing information for each icon set before using.</p>
<p><strong><a target="_blank" href="http://www.phpkitchen.com/index.php?/archives/505-Open-Source-Icons.html">Red Hat Icons (88 icons)</a><br />
</strong><a target="_blank" href="http://www.phpkitchen.com/index.php?/archives/505-Open-Source-Icons.html"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/8.jpg" alt="8.jpg" /></a><br />
Thanks to <a target="_blank" href="http://www.phpkitchen.com/">PHP Kitchen</a> for this one - a great collection of open source icons released by one of the Redhat projects. Each icon is around 48&#215;48 and supplied in PNG format. Perfect for online application developers.</p>
<p><strong><a target="_blank" href="http://www.phpkitchen.com/index.php?/archives/505-Open-Source-Icons.html">80&#215;16 Buttons (1,746 icons)</a><br />
</strong><a target="_blank" href="http://www.phpkitchen.com/index.php?/archives/505-Open-Source-Icons.html"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/9.jpg" alt="9.jpg" /></a><br />
Another collection found by <a target="_blank" href="http://www.phpkitchen.com/">PHP Kitchen</a>, icons in various formats at 80&#215;16 pixels. &#8220;There used to be a nice zip of those 80&#215;15 icons that have recently sprouted up on everyone&#8217;s site - including this one - at Joe Stump&#8217;s site but it looks like he&#8217;s moving servers at the moment. Don&#8217;t know if these mini-icons have a catch name but surely the great thing about them is you can link to so much stuff in so little space.&#8221; No license information is included. Some are more useful than others <img src='http://www.webcodr.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong><a target="_blank" href="http://www.zeldman.com/icon.html">Pardon My Icons (460 icons)</a><br />
</strong><a target="_blank" href="http://www.zeldman.com/icon.html"><img src="http://www.webcodr.com/wp-content/uploads/2007/04/10.jpg" alt="10.jpg" /></a><br />
Jeffrey Zeldman presents a set of 460 zany and unique avatar icons. Perfect for blogs and forums, each icon is 32&#215;32 in GIF format. Free to use on your web site, although a link back to Pardon My Icons would be appreciated.</p>
<p><strong>There are some great sites that haven&#8217;t made the list.</strong> Why? Sites like <a target="_blank" href="http://iconfactory.com/">Iconfactory</a> are only free for personal desktop use, while <a target="_blank" href="http://interfacelift.com/">InterfaceLIFT</a> and similar sites are a quagmire of various licenses (and not all icons are suitable for web development anyway). The most excellent <a target="_blank" href="http://www.intersmash.com/300images/">300 images from 1800 sites</a> collection is not available to use at all, but can be useful for inspiration. And I&#8217;m afraid if you want Flash-animated bouncing smilies dressed in camouflage you&#8217;ll have to find them yourself.</p>
<p><strong>What free-to-use icon collections have you found?</strong> Let us know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webcodr.com/23/4839-free-to-use-icons-for-web-developers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Home, New Features</title>
		<link>http://www.webcodr.com/22/new-home-new-features/</link>
		<comments>http://www.webcodr.com/22/new-home-new-features/#comments</comments>
		<pubDate>Thu, 29 Mar 2007 08:27:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.webcodr.com/22/new-home-new-features/</guid>
		<description><![CDATA[Welcome to the new home of Igglo; tips and news for web developers. Why have we moved? We needed a better name to reflect what we do, and a new platform to support the huge amount of readers we&#8217;ve had already this week. We&#8217;re working on new lightweight blogging software which should be ready soon.
Thank [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to the new home of Igglo; tips and news for web developers. Why have we moved? We needed a better name to reflect what we do, and a new platform to support the huge amount of readers we&#8217;ve had already this week. We&#8217;re working on new lightweight blogging software which should be ready soon.</p>
<p>Thank you to everyone who&#8217;s supported us so far, and all the great comments you&#8217;ve been sending us. We had no idea we would be this popular so quickly <img src='http://www.webcodr.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> More coming soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webcodr.com/22/new-home-new-features/feed/</wfw:commentRss>
		</item>
		<item>
		<title>15 Javascript Snippets You Can&#8217;t Live Without</title>
		<link>http://www.webcodr.com/6/15-javascript-snippets-you-cant-live-without/</link>
		<comments>http://www.webcodr.com/6/15-javascript-snippets-you-cant-live-without/#comments</comments>
		<pubDate>Tue, 27 Mar 2007 10:11:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.igglo.co.uk/6/15-javascript-snippets-you-cant-live-without/</guid>
		<description><![CDATA[Please Note: We have moved to our new home WebCodr.com - please update your links and bookmarks! 
You either love Javascript or you hate it. Either way it can provide great functionality that users love. And it doesn&#8217;t have to affect usability. Here are my top 15 Javascript snippits for making great sites that bit extra [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Please Note: We have moved to our new home WebCodr.com - please update your links and bookmarks!</strong> </p>
<p>You either love Javascript or you hate it. Either way it can provide great functionality that users love. And it doesn&#8217;t have to affect usability. Here are my top 15 Javascript snippits for making great sites that bit extra special.<br />
 </p>
<p><strong><a target="_blank" href="http://clagnut.com/sandbox/imagefades/">Image Loading &amp; Fading</a></strong></p>
<p><a target="_blank" href="http://clagnut.com/sandbox/imagefades/"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/image-loading.jpg" alt="image-loading.jpg" /></a></p>
<p>Crisp photography is a sure-fire way to make a site look great, but what about the loading times of those chunky images? Give your users a nice animated loading icon, and fade the image in when it&#8217;s loaded. It&#8217;s a nice effect with little overhead.</p>
<p><strong><br />
<a target="_blank" href="http://www.activewidgets.com/grid/">Dynamic Data Tables</a></strong></p>
<p><a target="_blank" href="http://www.activewidgets.com/grid/"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/data-tables.jpg" alt="data-tables.jpg" /></a></p>
<p>HTML tables are so last century. ActiveWidgets provide a dynamic data table library, allowing users to sort data by columns and highlight rows of interest. It is, however, a large overhead and not suitable for large amounts of data.<br />
 </p>
<p><strong><a target="_blank" href="http://www.dynarch.com/projects/calendar/">Calendar / Date Selection</a></strong></p>
<p><a target="_blank" href="http://www.dynarch.com/projects/calendar/"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/calendar-date.jpg" alt="calendar-date.jpg" /></a></p>
<p>Asking users to enter a valid date can be a pain - frustrating for the developer, and frustrating for the user. Offer them a simple GUI to select dates with this very customizable script.<br />
 </p>
<p><strong><a target="_blank" href="http://www.dynarch.com/products/dhtml-tabs/">Tabbed RollBar</a></strong></p>
<p><a target="_blank" href="http://www.dynarch.com/products/dhtml-tabs/"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/tabbed-rollbar.jpg" alt="tabbed-rollbar.jpg" /></a></p>
<p>Tabs are great for sorting short snippets of information. Tabs without reloading the page are even better. Tabs with a rolling animation effect too? Well, that&#8217;s just killer.<br />
 </p>
<p><strong><a target="_blank" href="http://www.brainjar.com/dhtml/windows/demo.html">Draggable Windows</a></strong></p>
<p><a target="_blank" href="http://www.brainjar.com/dhtml/windows/demo.html"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/draggable-windows.jpg" alt="draggable-windows.jpg" /></a></p>
<p>These draggable windows are lightweight and efficient, and are perfect for intranets and web-based applications where multiple views are required simultaneously. And don&#8217;t worry, you needn&#8217;t have the Windows 95 look either.<br />
 </p>
<p><strong><a target="_blank" href="http://www.codetoad.com/dhtml_thumbnail.asp">Zoomable Image Thumbnails</a></strong></p>
<p><a target="_blank" href="http://www.codetoad.com/dhtml_thumbnail.asp"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/zoomable-thumbs.jpg" alt="zoomable-thumbs.jpg" /></a></p>
<p>One subject, many photos? These tidy thumbnail displays are just the ticket, allowing visitors to blow up photographs of interest. Similar to those found on eBay and such, but not as heavy on the code.<br />
 </p>
<p><strong><a target="_blank" href="http://www.huddletogether.com/projects/lightbox2/">Javascript Lightbox</a></strong></p>
<p><a target="_blank" href="http://www.huddletogether.com/projects/lightbox2/"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/javascript-lightbox.jpg" alt="javascript-lightbox.jpg" /></a></p>
<p>A favourite little effect of mine found on many good sites these days - the Javascript Lightbox. Enlarge photographs with slick animation and easy-to-use navigation. Put a smile on the CEOs face and wow the marketing team ready for your &#8220;afternoon meeting&#8221; down the pub.<br />
 </p>
<p><strong><a target="_blank" href="http://demo.script.aculo.us/shop">Drag &amp; Drop Shopping Cart</a></strong></p>
<p><a target="_blank" href="http://demo.script.aculo.us/shop"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/shopping-cart.jpg" alt="shopping-cart.jpg" /></a></p>
<p>Get your visitors from Google Search to card payment in ninja time, with a drag-and-drop shopping cart. Reducing page loads, form elements and complicated menu screens increases sales and repeat business. But with mission-critical code like this, make sure to test it on <em>every</em> platform before it goes live. You know this. I was just reminding you.<br />
 </p>
<p><strong><a target="_blank" href="http://demo.script.aculo.us/ajax/autocompleter">Form Input Autocomplete</a></strong></p>
<p><a target="_blank" href="http://demo.script.aculo.us/ajax/autocompleter"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/form-autocomplete.jpg" alt="form-autocomplete.jpg" /></a></p>
<p>No one likes a smartass, unless they&#8217;re doing your homework for lunch money. Let this script do your users&#8217; hard work so they don&#8217;t have to - autocomplete from a selection of known data. Great for street addresses (if you have the data), category selection, search engines, tagging and everything inbetween.<br />
 </p>
<p><strong><a target="_blank" href="http://demo.script.aculo.us/ajax/sortable_elements">Drag &amp; Drop Sortable Elements</a></strong></p>
<p><a target="_blank" href="http://demo.script.aculo.us/ajax/sortable_elements"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/sortable-items.jpg" alt="sortable-items.jpg" /></a></p>
<p>Nothing says &#8220;I love you, user&#8221; more than drag-and-drop items. Remember the days of an &#8220;order&#8221; column, and wanting to insert an item at the top? Nightmare no more! Slick interface with a very practical purpose.<br />
 </p>
<p><strong><a target="_blank" href="http://www.alistapart.com/articles/jslogging/">Javascript Logging &amp; Debugging</a></strong></p>
<p><a target="_blank" href="http://www.alistapart.com/articles/jslogging/"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/logging-debugging.jpg" alt="logging-debugging.jpg" /></a></p>
<p>&#8220;PC Load Letter?! What the hell is PC Load Letter!!&#8221; cries from the office. Meaningless error messages are enough to drive a man crazy, so why not step up your debugging skills and hunt those bugs in style?<br />
 </p>
<p><strong><a target="_blank" href="http://www.alistapart.com/articles/fontresizing/">Font Resize Detection</a></strong></p>
<p><a target="_blank" href="http://www.alistapart.com/articles/fontresizing/"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/font-resize.jpg" alt="font-resize.jpg" /></a></p>
<p>After spending days getting your web site pixel perfect, inconsiderate users will always resize your text and ruin your layout. Well okay, they need to because their eyesight can&#8217;t comprehend your 6pt type. Which means you need to support different font sizes without ruining your layout.<br />
 </p>
<p><strong><a target="_blank" href="http://www.alistapart.com/articles/cssmaps">Displaying Points &amp; Text On Maps</a></strong></p>
<p><a target="_blank" href="http://www.alistapart.com/articles/cssmaps"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/points-on-map.jpg" alt="points-on-map.jpg" /></a></p>
<p>If your data is geolocation based, it looks great on a map with clickable points. But how do you make that interface accessable to everyone? A List Apart shows you how.<br />
 </p>
<p><strong><a target="_blank" href="http://www.kitykity.com/photoalbum/">Photo Album &amp; Slideshow</a></strong></p>
<p><a target="_blank" href="http://www.kitykity.com/photoalbum/"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/photo-album.jpg" alt="photo-album.jpg" /></a></p>
<p>A more advanced way of displaying your pictures - let users sort them by category, view random pictures, and even set up a personal slideshow. Probably more suitable for family pictures than commercial uses, but I&#8217;ve found it handy over the years.<br />
 </p>
<p><strong><a target="_blank" href="http://firblitz.com/2007/3/6/re-how-to-create-digg-comment-style-sliding-divs-with-javascript-and-css">Sliding Content Areas</a></strong></p>
<p><a target="_blank" href="http://firblitz.com/2007/3/6/re-how-to-create-digg-comment-style-sliding-divs-with-javascript-and-css"><img src="http://www.igglo.co.uk/wp-content/uploads/2007/03/sliding-areas.jpg" alt="sliding-areas.jpg" /></a></p>
<p>And finally another slick animation for your site, without the overhead of Scriptaculous, create &#8220;Digg-style sliding comment boxes&#8221; for popup information.<br />
 </p>
<p><strong>Well that&#8217;s it from me.</strong> I hope you enjoy putting some of these into practise, and enjoy the look on your CEO/client/marketing guy&#8217;s face when it goes live.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webcodr.com/6/15-javascript-snippets-you-cant-live-without/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Writing a Digg-Style Popularity Algorithm</title>
		<link>http://www.webcodr.com/4/writing-a-digg-style-popularity-algorithm/</link>
		<comments>http://www.webcodr.com/4/writing-a-digg-style-popularity-algorithm/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 11:06:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Theory]]></category>

		<guid isPermaLink="false">http://www.igglo.co.uk/4/writing-a-digg-style-popularity-algorithm/</guid>
		<description><![CDATA[Please Note: We have moved to our new home WebCodr.com - please update your links and bookmarks! 
Not so long ago I was tasked with creating a web site similar to Digg - users voted on records in the database, and those deemed &#8220;popular&#8221; were promoted to the front page. But how exactly does such an [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Please Note: We have moved to our new home WebCodr.com - please update your links and bookmarks!</strong> </p>
<p>Not so long ago I was tasked with creating a web site similar to Digg - users voted on records in the database, and those deemed &#8220;popular&#8221; were promoted to the front page. But how exactly does such an algorithm work? Let&#8217;s take a look under the hood&#8230;</p>
<p>Before we begin, a quick disclaimer: These are my own thoughts on such an algorithm, from scratch. I don&#8217;t know how Digg, Reddit and other such sites rank popular items, so this may be a quite different.</p>
<p><strong>Records and Votes</strong></p>
<p>We have a database record, whether it be a news story, picture, video, podcast, whatever. And we have voting, a method for users to place a single vote on a particular database record. We could order the &#8220;Popular&#8221; category by number of votes and be done with it.</p>
<p align="center">Popularity = Votes</p>
<p>However records very quickly become stale, as new submissions are entered and the voting process begins again. If records from last year have 300 votes each, but popular records this year only have 100 or so, they won&#8217;t see the front page. So we need to look at <em>time</em> as a factor as well.</p>
<p><strong>Records and Time</strong></p>
<p>Let&#8217;s introduce the age of the record as another variable. If the record is newer it should have a higher prominence on the front page, yes?</p>
<p align="center">Popularity = Votes / Record Age</p>
<p>The older the record, the more votes it requires to achieve popularity. But that&#8217;s not really fair - if a record takes a little while to receive votes, it doesn&#8217;t get the credit it deserves. This is especially a problem if your site doesn&#8217;t yet have enough traffic.</p>
<p>So what&#8217;s the solution? Let&#8217;s take a look at the <em>age of each vote</em> for the record.</p>
<p><strong>Records and Vote Time</strong></p>
<p>To keep the front page fresh, we can give more weight to votes placed recently. That way if a story is hasn&#8217;t yet received the credit it deserves, it&#8217;s still in for a chance if several users notice its value and vote accordingly. So let&#8217;s iterate through votes and calculate a popularity score:</p>
<p align="center">Popularity = (V1/A1) + (V2/A2) + &#8230; + (Vn/An)</p>
<p>Vn is a vote, and An is the age of that vote (for example, in minutes). If a vote is 60 minutes old, it is worth 1/60th of a vote placed 1 minute ago. All the values of all the votes are added to achieve a popularity score.</p>
<p>This seems to solve the previous problem, but introduces a new one. If a single person votes on a record a year old, his vote will be worth more than 200 votes on a different record posted yesterday. Old material comes back to haunt the front page. So we&#8217;re close, but no cigar yet.</p>
<p>Let&#8217;s take a look again at the age of the record &#8230;</p>
<p><strong>Records and Time and Vote Time</strong></p>
<p>If we put together everything we&#8217;ve discussed so far, we get something that looks like this:</p>
<p align="center">Popularity = [ (V1/A1) + (V2/A2) + &#8230; + (Vn/An) ] / Record Age</p>
<p>It&#8217;s a bit of a mouthful, but basically it adds together the weighted votes based on age, then divides that total by the age of the record. It doesn&#8217;t impose too much of a time limit on becoming popular, it dampens votes based on age, and prevents old stories from leaping back to the front page. It solves all our problems.</p>
<p><strong>Dampening Popularity</strong></p>
<p>Admission: In writing this article, I&#8217;ve discovered a more advanced algorithm than used previously on my project. Guess what I&#8217;m doing this evening?</p>
<p>But already I can see a problem - I think a dampening effect will need to be introduced to prevent wild jumps of increased popularity and back down again. I will update this post when I&#8217;ve had a chance to implement the new algorithm in the wild.</p>
<p><strong>Other Variables</strong></p>
<p>What other variables could we introduce to the algorithm?</p>
<ul>
<li>Number of page views - a form of popularity, but far less useful than voting</li>
<li>Page views versus people who don&#8217;t vote - If 60% of readers vote, should it be more popular than if 10% vote? Remember this isn&#8217;t the number of votes, it&#8217;s the percentage of readers who vote</li>
<li>Iterative algorithm of amount of time <em>between</em> individual votes</li>
<li>Voting down as well as up</li>
<li>Trustworthiness of user who originally submitted the record, maybe based on votes of previous submissions</li>
<li>If a web URL is involved, maybe use metadata such as Google PageRank, inbound links (Google/Yahoo API), Blogosphere activity, and so forth</li>
</ul>
<p><strong>Further Reading</strong></p>
<ul>
<li><a target="_blank" href="http://www.seopedia.org/tips-tricks/social-media/the-digg-algorithm-unofficial-faq/">The Digg Algorithm - Unofficial FAQ</a></li>
<li><a target="_blank" href="http://blog.digg.com/?p=52">Kevin Rose - Tweaks and Refinements</a></li>
<li><a target="_blank" href="http://www.marketingshift.com/2006/9/digg-algorithm-elements-confirmed.cfm">Digg Algorithm For Scoring Sites</a></li>
<li><a target="_blank" href="http://www.seomoz.org/blog/everything-in-the-digg-reddit-netscape-algorithms">Everything in the Digg, Reddit &amp; Netscape Algorithms</a></li>
<li><a target="_blank" href="http://www.jeffsandquist.com/TheDiggAlgorithm.aspx">Jeff Sandquist - The Digg Algorithm</a> (concise)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.webcodr.com/4/writing-a-digg-style-popularity-algorithm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Create A Web Page In 90 Seconds</title>
		<link>http://www.webcodr.com/5/create-a-web-page-in-90-seconds/</link>
		<comments>http://www.webcodr.com/5/create-a-web-page-in-90-seconds/#comments</comments>
		<pubDate>Fri, 23 Mar 2007 08:04:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.igglo.co.uk/5/create-a-web-page-in-90-seconds/</guid>
		<description><![CDATA[
Create A Web Page In 90 Seconds
]]></description>
			<content:encoded><![CDATA[<p><embed wmode="transparent" height="345" width="400" src="http://www.metacafe.com/fplayer/376157/create_a_web_page_in_90_seconds.swf" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed><br />
<font size="1"><a href="http://www.metacafe.com/watch/376157/create_a_web_page_in_90_seconds/">Create A Web Page In 90 Seconds</a></font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webcodr.com/5/create-a-web-page-in-90-seconds/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Top 8 Tech Companies To Work For</title>
		<link>http://www.webcodr.com/3/top-25-tech-companies-to-work-for/</link>
		<comments>http://www.webcodr.com/3/top-25-tech-companies-to-work-for/#comments</comments>
		<pubDate>Thu, 22 Mar 2007 09:50:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Industry]]></category>

		<guid isPermaLink="false">http://www.igglo.co.uk/?p=3</guid>
		<description><![CDATA[Every year The Sunday Times publishes a list of the top companies to work for in three categories - small, medium and large. We take a look at the number of technology-related companies in those lists.
Large Companies

O2 - Communications/Telecom based in Slough
With over 12,000 members of staff, O2 was voted as the #5 company in [...]]]></description>
			<content:encoded><![CDATA[<p>Every year The Sunday Times publishes a list of the top companies to work for in three categories - small, medium and large. We take a look at the number of technology-related companies in those lists.</p>
<p><strong>Large Companies</strong></p>
<ul>
<li>O2 - Communications/Telecom based in Slough<br />
With over 12,000 members of staff, O2 was voted as the #5 company in the UK. The company has a 17% staff turnover.<br />
 </li>
<li>The Carphone Warehouse - Retail based in London<br />
Who thought retail could be a great place to work? Coming in at #13, the company has nearly 10,000 members of staff and a turnover of 21%.<br />
 </li>
<li>Vodafone Ltd - Communications/Telecom based in Newbury<br />
And the final company on the &#8220;big companies&#8221; list at #15, Vodafone with 10,000 employees and a staff turnover of 25%. Having worked in Newbury for quite some time, I can agree that most people at Vodafone are happy where they work. Except maybe the morning traffic <img src='http://www.webcodr.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p><strong>Medium-Sized Companies</strong></p>
<ul>
<li>Data Connection Ltd - Communications/Telecom based in Enfield<br />
The only mid-sized technology company in the list, Data Connection comes in at #7. With only 270 staff members, the company boasts annual sales of £47M and a very low staff turnover of 4%.</li>
</ul>
<p><strong>Small Companies</strong></p>
<ul>
<li>Softcat Limited - IT/Internet Services based in High Wycombe<br />
At #6 on the small companies list, Softcat Limited employ 140 staff with a turnover of 14%. Annual sales exceed £67.3M.<br />
 </li>
<li>Red Gate Software - IT/Internet Services based in Cambridge<br />
With only 58 employees, Red Gate Software makes it at #8 on the list with a turnover of just 1%.<br />
 </li>
<li>Isis Telecommunications - Communications/Telecom based in London<br />
In at #11, Isis Telecoms employs 72 staff members, with a turnover of 6%.<br />
 </li>
<li>Armstrong Consultants Ltd - IT/Internet Services based in Harpenden<br />
And the last tech company on the list at #17 with 64 employees and a staff turnover of 10%.</li>
</ul>
<p>A complete list of all published companies can be found at the <a target="_blank" href="http://www.bestcompanies.co.uk//list_intro.aspx">best companies</a> web site. Why not nominate your business for next year&#8217;s awards?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webcodr.com/3/top-25-tech-companies-to-work-for/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

