<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>websites that mean business &#124; ecomware</title>
	<atom:link href="http://ecomware.com/notes/feed" rel="self" type="application/rss+xml" />
	<link>http://ecomware.com/notes</link>
	<description></description>
	<lastBuildDate>Sun, 19 Feb 2012 12:19:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Book Review: Humanize</title>
		<link>http://ecomware.com/notes/book-review-humanize-how-people-centric-organizations-succeed-in-a-social-world</link>
		<comments>http://ecomware.com/notes/book-review-humanize-how-people-centric-organizations-succeed-in-a-social-world#comments</comments>
		<pubDate>Sun, 19 Feb 2012 11:35:16 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[social]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2305</guid>
		<description><![CDATA[Here is another Amazon book review: Humanize: How People-Centric Organizations Succeed in a Social World. Misinformation aside, this would make one great chapter in a real management book. This book contains an ugly diatribe on strategic planning. A backlash occurs &#8230; <a href="http://ecomware.com/notes/book-review-humanize-how-people-centric-organizations-succeed-in-a-social-world">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/book-review-humanize-how-people-centric-organizations-succeed-in-a-social-world/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>May Better Technology Really Mean Better Medicine?</title>
		<link>http://ecomware.com/notes/may-better-technology-really-mean-better-medicine</link>
		<comments>http://ecomware.com/notes/may-better-technology-really-mean-better-medicine#comments</comments>
		<pubDate>Sun, 19 Feb 2012 04:16:45 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[allergy]]></category>
		<category><![CDATA[correlation]]></category>
		<category><![CDATA[cure]]></category>
		<category><![CDATA[decisions]]></category>
		<category><![CDATA[disease]]></category>
		<category><![CDATA[emergent]]></category>
		<category><![CDATA[forecast]]></category>
		<category><![CDATA[instinct]]></category>
		<category><![CDATA[medicine]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[Target]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[weather]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2291</guid>
		<description><![CDATA[A few days ago I read an article about how Target (the retailer) was able to target advertising to divisions of its market. It&#8217;s worth reading. Common correlation If you&#8217;re aware of your credit score, you understand the idea that &#8230; <a href="http://ecomware.com/notes/may-better-technology-really-mean-better-medicine">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/may-better-technology-really-mean-better-medicine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NAR &#8211; Real Estate Technology Trends</title>
		<link>http://ecomware.com/notes/nar-real-estate-technology-trends</link>
		<comments>http://ecomware.com/notes/nar-real-estate-technology-trends#comments</comments>
		<pubDate>Tue, 14 Feb 2012 22:05:35 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[NAR]]></category>
		<category><![CDATA[real estate]]></category>
		<category><![CDATA[realtor]]></category>
		<category><![CDATA[trend]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2268</guid>
		<description><![CDATA[Timing is important. The time is now? Marketers know how important timing is. Good products and strategies can be extremely expensive when the market isn&#8217;t ready for them. Amazon was years early. It cost them millions while they waited for &#8230; <a href="http://ecomware.com/notes/nar-real-estate-technology-trends">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/nar-real-estate-technology-trends/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ARCHITECTURAL STYLES: JSON vs XML</title>
		<link>http://ecomware.com/notes/architectural-styles-json-vs-xml</link>
		<comments>http://ecomware.com/notes/architectural-styles-json-vs-xml#comments</comments>
		<pubDate>Tue, 07 Feb 2012 08:55:38 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Babble]]></category>
		<category><![CDATA[extensible]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[host]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[literal syntax]]></category>
		<category><![CDATA[markup]]></category>
		<category><![CDATA[middle-tier]]></category>
		<category><![CDATA[recruiter]]></category>
		<category><![CDATA[semantic]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2208</guid>
		<description><![CDATA[Overview Let&#8217;s start simple. JSON is an acronym. It stands for JavaScript Object Notation. JSON was better known once as object literal syntax. That&#8217;s what it is, but you won&#8217;t find many recruiters using that phrase in their job descriptions. &#8230; <a href="http://ecomware.com/notes/architectural-styles-json-vs-xml">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/architectural-styles-json-vs-xml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Values, Principles and Patterns of web development (Good Leadership)</title>
		<link>http://ecomware.com/notes/values-principles-and-patterns-of-web-development</link>
		<comments>http://ecomware.com/notes/values-principles-and-patterns-of-web-development#comments</comments>
		<pubDate>Thu, 02 Feb 2012 03:34:10 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[courage]]></category>
		<category><![CDATA[fad]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[reagan]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2188</guid>
		<description><![CDATA[Reagan&#8217;s Moral Courage Andew Roberts delivered a speech at Hillsdale College this past October on Ronald Reagan, once the President of the United States. That speech was adapted for print in the November 2011 issue of Imprimis, a publication of &#8230; <a href="http://ecomware.com/notes/values-principles-and-patterns-of-web-development">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/values-principles-and-patterns-of-web-development/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EXT JS: HTML5 Framework for Desktop and Mobile Devices (that will ruin your life)</title>
		<link>http://ecomware.com/notes/ext-js-html5-framework-for-desktop-and-mobile-devices-that-will-ruin-your-life</link>
		<comments>http://ecomware.com/notes/ext-js-html5-framework-for-desktop-and-mobile-devices-that-will-ruin-your-life#comments</comments>
		<pubDate>Sat, 28 Jan 2012 20:38:51 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[Attributes]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[EXT JS]]></category>
		<category><![CDATA[Feed Reader]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[Sencha]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2176</guid>
		<description><![CDATA[How did we get into this mess? Before we discuss why this tool often makes life worse, let&#8217;s talk about a common reason for its adoption. The primary reason businesses adopt EXT JS is that executives love it. Executives want &#8230; <a href="http://ecomware.com/notes/ext-js-html5-framework-for-desktop-and-mobile-devices-that-will-ruin-your-life">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/ext-js-html5-framework-for-desktop-and-mobile-devices-that-will-ruin-your-life/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hand-coded JavaScript: getElementsByClassName</title>
		<link>http://ecomware.com/notes/hand-coded-javascript-getelementsbyclassname</link>
		<comments>http://ecomware.com/notes/hand-coded-javascript-getelementsbyclassname#comments</comments>
		<pubDate>Sat, 21 Jan 2012 08:57:29 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[beautiful code]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[document methods]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[efficient]]></category>
		<category><![CDATA[getelementsbyclassname]]></category>
		<category><![CDATA[hand-coded]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nodename]]></category>
		<category><![CDATA[nodetype]]></category>
		<category><![CDATA[non-native]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2120</guid>
		<description><![CDATA[The Interview Version A whiteboard implementation of getElementsByClassName is still a common interview code challenge. There are plenty of algorithms, but this is one I&#8217;ve written for the purpose. It addresses the fundamentals with its speed, its closure, its mild &#8230; <a href="http://ecomware.com/notes/hand-coded-javascript-getelementsbyclassname">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/hand-coded-javascript-getelementsbyclassname/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google search result type: Discrete Domains</title>
		<link>http://ecomware.com/notes/google-search-result-type-discrete-domains</link>
		<comments>http://ecomware.com/notes/google-search-result-type-discrete-domains#comments</comments>
		<pubDate>Fri, 20 Jan 2012 04:51:13 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[result type]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search result]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[SERP]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2117</guid>
		<description><![CDATA[Google makes it easy to search the Internet for data. Not only is Google a household word, but as a result of its extraordinary information access and presentation, for many people the term &#8220;Search&#8221; now connotes ideas specific to digital &#8230; <a href="http://ecomware.com/notes/google-search-result-type-discrete-domains">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/google-search-result-type-discrete-domains/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>They ruined AOL Instant Messenger</title>
		<link>http://ecomware.com/notes/they-ruined-aol-instant-messenger</link>
		<comments>http://ecomware.com/notes/they-ruined-aol-instant-messenger#comments</comments>
		<pubDate>Thu, 19 Jan 2012 00:04:48 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[aim]]></category>
		<category><![CDATA[aol]]></category>
		<category><![CDATA[messenger]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2113</guid>
		<description><![CDATA[I have been a fan of AIM, AOL Instant Messenger, since sometime before the year 2000. Even as other services, like Microsoft Messenger, Yahoo Messenger, Google Talk, and Skype, fragmented the market, I was a loyal AIM user. AIM is &#8230; <a href="http://ecomware.com/notes/they-ruined-aol-instant-messenger">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/they-ruined-aol-instant-messenger/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile is dead: Essence lost in detail</title>
		<link>http://ecomware.com/notes/agile-is-dead-essence-lost-in-detail</link>
		<comments>http://ecomware.com/notes/agile-is-dead-essence-lost-in-detail#comments</comments>
		<pubDate>Tue, 17 Jan 2012 23:25:44 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[detail]]></category>
		<category><![CDATA[essence]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[understanding]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2107</guid>
		<description><![CDATA[Today, I read an article in Hacker News warning of the impending decline of Agile. This shouldn&#8217;t really be news to anyone. It&#8217;s known, if not perfectly understood, that ideas have a life cycle as they permeate the minds of &#8230; <a href="http://ecomware.com/notes/agile-is-dead-essence-lost-in-detail">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/agile-is-dead-essence-lost-in-detail/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Search Entire Craigslist</title>
		<link>http://ecomware.com/notes/search-entire-craigslist</link>
		<comments>http://ecomware.com/notes/search-entire-craigslist#comments</comments>
		<pubDate>Sun, 01 Jan 2012 01:53:07 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[bulk]]></category>
		<category><![CDATA[craigslist]]></category>
		<category><![CDATA[emails]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2072</guid>
		<description><![CDATA[You want to parse craigslist If you read the Craigslist Terms of Use, you&#8217;ll quickly learn that using an automated system to interact with Craigslist in certain ways is prohibited. We do not advocate violating Craigslist&#8217;s Terms of Use. However, &#8230; <a href="http://ecomware.com/notes/search-entire-craigslist">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/search-entire-craigslist/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hex to RGB</title>
		<link>http://ecomware.com/notes/hex-to-rgb</link>
		<comments>http://ecomware.com/notes/hex-to-rgb#comments</comments>
		<pubDate>Thu, 29 Dec 2011 00:51:28 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2069</guid>
		<description><![CDATA[Save yourself the web request. color = 'FFFFFF'; color = color.match(/\w{2}/g) color[0] = parseInt(color[0],16); color[1] = parseInt(color[1],16); color[2] = parseInt(color[2],16); console.log(color);]]></description>
		<wfw:commentRss>http://ecomware.com/notes/hex-to-rgb/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Combine PDFs using GhostScript</title>
		<link>http://ecomware.com/notes/combine-pdfs-using-ghostscript</link>
		<comments>http://ecomware.com/notes/combine-pdfs-using-ghostscript#comments</comments>
		<pubDate>Mon, 26 Dec 2011 22:38:12 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[combine]]></category>
		<category><![CDATA[ghost script]]></category>
		<category><![CDATA[gs]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[pdftk]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2067</guid>
		<description><![CDATA[There are a lot of posts about how to combine PDFs using PDFTK, but I had problems when the PDFs were secured. GhostScript (gs) powers right through. gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE="Combined_PDF_Title.pdf" -dBATCH \ "PDF 1 Title" \ "PDF 2 Title" &#8230; <a href="http://ecomware.com/notes/combine-pdfs-using-ghostscript">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/combine-pdfs-using-ghostscript/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: Implementation Patterns by Kent Beck</title>
		<link>http://ecomware.com/notes/book-review-implementation-patterns-by-kent-beck</link>
		<comments>http://ecomware.com/notes/book-review-implementation-patterns-by-kent-beck#comments</comments>
		<pubDate>Fri, 16 Dec 2011 11:02:52 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[implementation patterns]]></category>
		<category><![CDATA[kent beck]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2059</guid>
		<description><![CDATA[I wrote my first review of a book on Amazon today. Implementation Patterns, by Kent Beck, is one of those books that properly focuses on essence for a specific audience. I&#8217;m not surprised to read reviews of this book claiming &#8230; <a href="http://ecomware.com/notes/book-review-implementation-patterns-by-kent-beck">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/book-review-implementation-patterns-by-kent-beck/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Teams and Quantifiable Results</title>
		<link>http://ecomware.com/notes/good-teams-and-quantifiable-results</link>
		<comments>http://ecomware.com/notes/good-teams-and-quantifiable-results#comments</comments>
		<pubDate>Mon, 12 Dec 2011 10:43:11 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[people]]></category>
		<category><![CDATA[results]]></category>
		<category><![CDATA[synergy]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2054</guid>
		<description><![CDATA[My (very gracious) hosts and I just finished watching season 1 of Gold Rush Alaska in an attempt to get some of our group caught up to season 2. Watching the season a second (or even third) time, combined with &#8230; <a href="http://ecomware.com/notes/good-teams-and-quantifiable-results">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/good-teams-and-quantifiable-results/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell out FTP task using Perl</title>
		<link>http://ecomware.com/notes/shell-out-ftp-task-using-perl</link>
		<comments>http://ecomware.com/notes/shell-out-ftp-task-using-perl#comments</comments>
		<pubDate>Wed, 07 Dec 2011 08:48:30 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2049</guid>
		<description><![CDATA[Shelling out an FTP task using perl #!/usr/bin/perl @list = `ls /local_path_to/folder`; foreach &#40;@list&#41; &#123;chomp;&#125; $&#123;IMAGE_LIST&#125; = join&#40;&#34;\n&#34;,@list&#41;; $&#123;IMAGE_LIST&#125; =~ s/^/put /mg; $script = &#60;&#60;HERE; ftp -inv ftp.yoursite.com&#60;&#60;ENDFTP user username password lcd &#34;/local_path_to/folder&#34; cd &#34;remote/folder&#34; bin ${IMAGE_LIST} bye ENDFTP HERE &#8230; <a href="http://ecomware.com/notes/shell-out-ftp-task-using-perl">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/shell-out-ftp-task-using-perl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO and Site Speed</title>
		<link>http://ecomware.com/notes/seo-and-site-speed</link>
		<comments>http://ecomware.com/notes/seo-and-site-speed#comments</comments>
		<pubDate>Wed, 23 Nov 2011 09:08:22 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[consolidate]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[expires]]></category>
		<category><![CDATA[head]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[latency]]></category>
		<category><![CDATA[minify]]></category>
		<category><![CDATA[Request]]></category>
		<category><![CDATA[response]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[www.alexa.com]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2046</guid>
		<description><![CDATA[At the time of this writing, Notes is listed as one of the top 2 million sites globally according to www.alexa.com. You can view the site information here: http://www.alexa.com/siteinfo/ecomware.com. Two months ago, Notes was in the top 7M. Three months &#8230; <a href="http://ecomware.com/notes/seo-and-site-speed">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/seo-and-site-speed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash Script Execution Directory</title>
		<link>http://ecomware.com/notes/bash-script-execution-directory</link>
		<comments>http://ecomware.com/notes/bash-script-execution-directory#comments</comments>
		<pubDate>Wed, 23 Nov 2011 08:45:58 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2043</guid>
		<description><![CDATA[This sort of thing crops up when you&#8217;re executing a script within a script. I have a bunch of executable files that I use as clickable shortcuts, but the shortcut exists outside of the directory where the script is actually &#8230; <a href="http://ecomware.com/notes/bash-script-execution-directory">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/bash-script-execution-directory/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Play: True Singletons (with prototypes intact)</title>
		<link>http://ecomware.com/notes/javascript-play-true-singletons-with-prototypes-intact</link>
		<comments>http://ecomware.com/notes/javascript-play-true-singletons-with-prototypes-intact#comments</comments>
		<pubDate>Mon, 24 Oct 2011 08:09:16 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2020</guid>
		<description><![CDATA[An object literal is a singleton. If you store it in a variable, you can pass that object around and reference its properties. However, it doesn&#8217;t properly inherit from the prototype chain, and you can&#8217;t use the reserved word new &#8230; <a href="http://ecomware.com/notes/javascript-play-true-singletons-with-prototypes-intact">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/javascript-play-true-singletons-with-prototypes-intact/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Play: Overloaded Native Methods</title>
		<link>http://ecomware.com/notes/javascript-play-overloaded-native-methods</link>
		<comments>http://ecomware.com/notes/javascript-play-overloaded-native-methods#comments</comments>
		<pubDate>Mon, 24 Oct 2011 07:11:44 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2018</guid>
		<description><![CDATA[Array.prototype.toString = &#40;function&#40;&#41; &#123; &#160; &#160; var toString = Array.prototype.toString; &#160; &#160; return function&#40;sep&#41; &#123; &#160; &#160; &#160; &#160; if &#40;&#40;typeof sep&#41;.toString != &#34;undefined&#34;&#41; &#123; &#160; &#160; &#160; &#160; &#160; &#160; return this.join&#40;sep&#41;; &#160; &#160; &#160; &#160; &#125; else &#123; &#8230; <a href="http://ecomware.com/notes/javascript-play-overloaded-native-methods">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/javascript-play-overloaded-native-methods/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Play: Private, Priveledged, and Static (via immediate function)</title>
		<link>http://ecomware.com/notes/javascript-play-private-priveledged-and-static-via-immediate-function</link>
		<comments>http://ecomware.com/notes/javascript-play-private-priveledged-and-static-via-immediate-function#comments</comments>
		<pubDate>Mon, 24 Oct 2011 05:17:49 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2010</guid>
		<description><![CDATA[This is like the now-ten-year-old Crockford approach, but I like the syntax a little better. /* Private/Priveledged with prototype intact */ var Key = function&#40;keyvalue&#41; &#123; &#160; &#160; return &#40;function&#40;Key&#41; &#123; &#160; &#160; &#160; &#160; var myKey = keyvalue; &#160; &#8230; <a href="http://ecomware.com/notes/javascript-play-private-priveledged-and-static-via-immediate-function">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/javascript-play-private-priveledged-and-static-via-immediate-function/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Play: toString and valueOf</title>
		<link>http://ecomware.com/notes/javascript-play-tostring-and-valueof</link>
		<comments>http://ecomware.com/notes/javascript-play-tostring-and-valueof#comments</comments>
		<pubDate>Mon, 24 Oct 2011 03:43:19 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[approach]]></category>
		<category><![CDATA[convention]]></category>
		<category><![CDATA[methods]]></category>
		<category><![CDATA[toString]]></category>
		<category><![CDATA[valueOf]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2006</guid>
		<description><![CDATA[The examples below show the impact of including toString and valueOf methods in a JavaScript object. For anyone who has done any Java programming, these methods should look similar to equals and hashcode, which are often used for determining the &#8230; <a href="http://ecomware.com/notes/javascript-play-tostring-and-valueof">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/javascript-play-tostring-and-valueof/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Endianness (Big or Little)</title>
		<link>http://ecomware.com/notes/endianness-big-or-little</link>
		<comments>http://ecomware.com/notes/endianness-big-or-little#comments</comments>
		<pubDate>Wed, 19 Oct 2011 15:52:12 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[big]]></category>
		<category><![CDATA[endian]]></category>
		<category><![CDATA[little]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[substring]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=2003</guid>
		<description><![CDATA[We can leverage the string returned by the config module to obtain a reasonably safe indicator of the endianness of a (*nix) system. If the first character is a 1, it&#8217;s little, otherwise it&#8217;s big. #!/usr/bin/perl use Config; $x = &#8230; <a href="http://ecomware.com/notes/endianness-big-or-little">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/endianness-big-or-little/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon Kindle: Export Notes and Highlights</title>
		<link>http://ecomware.com/notes/amazon-kindle-export-notes-and-highlights</link>
		<comments>http://ecomware.com/notes/amazon-kindle-export-notes-and-highlights#comments</comments>
		<pubDate>Tue, 18 Oct 2011 14:12:14 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[XML and XSLT Examples]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[bookmark]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[highlight]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[note]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1978</guid>
		<description><![CDATA[Amazon has made the Kindle service accessible by making the software run on most modern devices. It&#8217;s still not quite as easy to annotate as a PDF &#8212; I&#8217;m not sure it will ever be as user friendly as Goodreader &#8230; <a href="http://ecomware.com/notes/amazon-kindle-export-notes-and-highlights">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/amazon-kindle-export-notes-and-highlights/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS5: Safari and Quotables</title>
		<link>http://ecomware.com/notes/ios5-safari-and-quotables</link>
		<comments>http://ecomware.com/notes/ios5-safari-and-quotables#comments</comments>
		<pubDate>Mon, 17 Oct 2011 06:36:01 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[instapaper]]></category>
		<category><![CDATA[ios5]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[quotables]]></category>
		<category><![CDATA[reader]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1976</guid>
		<description><![CDATA[Finally, iOS5 is available! In addition to all of the sexy, native improvements that they&#8217;ve packed in, there are a couple things specific to mobile Safari that work out super well for me. Safari corrected its fixed positioning bug, which &#8230; <a href="http://ecomware.com/notes/ios5-safari-and-quotables">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/ios5-safari-and-quotables/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GridHelper: A random walk</title>
		<link>http://ecomware.com/notes/gridhelper-a-random-walk</link>
		<comments>http://ecomware.com/notes/gridhelper-a-random-walk#comments</comments>
		<pubDate>Sun, 16 Oct 2011 13:25:42 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[puzzle]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1969</guid>
		<description><![CDATA[The following chunk of code will print out the total successful variations for walking a grid one square at a time, when it has been declared that we begin in the upper-left square, that we are trying to reach the &#8230; <a href="http://ecomware.com/notes/gridhelper-a-random-walk">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/gridhelper-a-random-walk/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>www.CodeEval.com: Robot Movements</title>
		<link>http://ecomware.com/notes/codeeval-robot-movements</link>
		<comments>http://ecomware.com/notes/codeeval-robot-movements#comments</comments>
		<pubDate>Sun, 16 Oct 2011 01:05:18 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[codeeval]]></category>
		<category><![CDATA[dev test]]></category>
		<category><![CDATA[puzzle]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1960</guid>
		<description><![CDATA[Description: Robot Movements A robot is located at the top-left corner of a 4&#215;4 grid. The robot can move either up, down, left, or right, but can not visit the same spot twice. The robot is trying to reach the &#8230; <a href="http://ecomware.com/notes/codeeval-robot-movements">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/codeeval-robot-movements/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mixed Syntax</title>
		<link>http://ecomware.com/notes/mixed-syntax</link>
		<comments>http://ecomware.com/notes/mixed-syntax#comments</comments>
		<pubDate>Fri, 14 Oct 2011 12:53:35 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1946</guid>
		<description><![CDATA[Undefined: &#40;function x &#40;&#41; &#123; &#160; &#160; a:2; &#160; &#160; b:3; &#125;&#41;&#40;&#41;;]]></description>
		<wfw:commentRss>http://ecomware.com/notes/mixed-syntax/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>www.CodeEval.com: Palindromic Ranges</title>
		<link>http://ecomware.com/notes/codeeval-palindromic-ranges</link>
		<comments>http://ecomware.com/notes/codeeval-palindromic-ranges#comments</comments>
		<pubDate>Mon, 10 Oct 2011 12:19:24 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[PHP Examples]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[codeeval]]></category>
		<category><![CDATA[puzzle]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1939</guid>
		<description><![CDATA[Description: A positive integer is a palindrome if its decimal representation (without leading zeros) is a palindromic string (a string that reads the same forwards and backwards). For example, the numbers 5, 77, 363, 4884, 11111, 12121 and 349943 are &#8230; <a href="http://ecomware.com/notes/codeeval-palindromic-ranges">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/codeeval-palindromic-ranges/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>www.CodeEval.com: String Permutations</title>
		<link>http://ecomware.com/notes/codeeval-string-permutations</link>
		<comments>http://ecomware.com/notes/codeeval-string-permutations#comments</comments>
		<pubDate>Mon, 10 Oct 2011 09:57:47 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[codeeval]]></category>
		<category><![CDATA[puzzle]]></category>
		<category><![CDATA[sample]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1936</guid>
		<description><![CDATA[Description: Write a program to print out all the permutations of a string in alphabetical order. Input sample: The first argument will be a text file containing an input string, one per line. e.g. hat Output sample: Print to stdout, &#8230; <a href="http://ecomware.com/notes/codeeval-string-permutations">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/codeeval-string-permutations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>www.CodeEval.com: Sum of Integers</title>
		<link>http://ecomware.com/notes/codeeval-sum-of-integers</link>
		<comments>http://ecomware.com/notes/codeeval-sum-of-integers#comments</comments>
		<pubDate>Mon, 10 Oct 2011 06:43:52 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[codeeval]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1933</guid>
		<description><![CDATA[Description: Write a program to determine the largest sum of contiguous integers in a list. Input sample: The first argument will be a text file containing a comma separated list of integers, one per line. e.g. -10, 2, 3, -2, &#8230; <a href="http://ecomware.com/notes/codeeval-sum-of-integers">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/codeeval-sum-of-integers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>www.CodeEval.com: Self Describing Numbers</title>
		<link>http://ecomware.com/notes/codeeval-self-describing-numbers</link>
		<comments>http://ecomware.com/notes/codeeval-self-describing-numbers#comments</comments>
		<pubDate>Sun, 09 Oct 2011 16:53:59 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1928</guid>
		<description><![CDATA[Description: A number is a self-describing number when (assuming digit positions are labeled 0 to N-1), the digit in each position is equal to the number of times that that digit appears in the number. Input sample: The first argument &#8230; <a href="http://ecomware.com/notes/codeeval-self-describing-numbers">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/codeeval-self-describing-numbers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>www.CodeEval.com (RapLeaf): Array Absurdity</title>
		<link>http://ecomware.com/notes/codeeval-array-absurdity</link>
		<comments>http://ecomware.com/notes/codeeval-array-absurdity#comments</comments>
		<pubDate>Sun, 09 Oct 2011 16:21:16 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>
		<category><![CDATA[apply]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[codeeval]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[puzzle]]></category>
		<category><![CDATA[sample]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1920</guid>
		<description><![CDATA[Description: Imagine we have an immutable array of size N which we know to be filled with integers ranging from 0 to N-2, inclusive. Suppose we know that the array contains exactly one duplicated entry and that duplicate appears exactly &#8230; <a href="http://ecomware.com/notes/codeeval-array-absurdity">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/codeeval-array-absurdity/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RackSpace: Spiral Printing</title>
		<link>http://ecomware.com/notes/rackspace-spiral-printing</link>
		<comments>http://ecomware.com/notes/rackspace-spiral-printing#comments</comments>
		<pubDate>Sat, 08 Oct 2011 14:42:14 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1913</guid>
		<description><![CDATA[Description: Spiral Printing: Write a function to print a 2-D array (n x m) in spiral order (clockwise). For example, consider the following input: 1 2 3 4 5 6 7 8 9 Then the output of your program should &#8230; <a href="http://ecomware.com/notes/rackspace-spiral-printing">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/rackspace-spiral-printing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Play: Nested Closure Limits</title>
		<link>http://ecomware.com/notes/javascript-play-nested-closure-limits</link>
		<comments>http://ecomware.com/notes/javascript-play-nested-closure-limits#comments</comments>
		<pubDate>Thu, 06 Oct 2011 00:54:24 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1910</guid>
		<description><![CDATA[1.) How deeply can you leverage closures in nested functions? Honestly, I have no idea. The example below makes me think it tends toward a large number, although I&#8217;d like to believe modern implementations limit it to some memory-conscious, easily &#8230; <a href="http://ecomware.com/notes/javascript-play-nested-closure-limits">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/javascript-play-nested-closure-limits/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon: getSum ((v-a)+1)</title>
		<link>http://ecomware.com/notes/amazon-getsum-v-a1</link>
		<comments>http://ecomware.com/notes/amazon-getsum-v-a1#comments</comments>
		<pubDate>Tue, 04 Oct 2011 16:17:38 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Java Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1906</guid>
		<description><![CDATA[1.) Write a function that returns the largest sub array for a given length. Given [1, 2, 3, 4, 5] Given length of 3 The largest sum of length 3 would be (3 + 4 + 5) package com; public &#8230; <a href="http://ecomware.com/notes/amazon-getsum-v-a1">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/amazon-getsum-v-a1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS URLs: The effect of relative and absolute pathing</title>
		<link>http://ecomware.com/notes/css-urls-the-effect-of-relative-and-absolute-pathing</link>
		<comments>http://ecomware.com/notes/css-urls-the-effect-of-relative-and-absolute-pathing#comments</comments>
		<pubDate>Sat, 01 Oct 2011 06:05:34 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS Examples]]></category>
		<category><![CDATA[Absolute]]></category>
		<category><![CDATA[Base Tag]]></category>
		<category><![CDATA[Base URL]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Path]]></category>
		<category><![CDATA[Relative]]></category>
		<category><![CDATA[Request]]></category>
		<category><![CDATA[Resource]]></category>
		<category><![CDATA[Sharding]]></category>
		<category><![CDATA[Style sheet]]></category>
		<category><![CDATA[Stylesheet]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1903</guid>
		<description><![CDATA[Most people who work with CSS understand the difference between relative and absolute paths, but there is one situation that doesn&#8217;t immediately come to mind that can be very useful. Let&#8217;s say we have a document hosted at: http://www.a.biz/index.html Let&#8217;s &#8230; <a href="http://ecomware.com/notes/css-urls-the-effect-of-relative-and-absolute-pathing">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/css-urls-the-effect-of-relative-and-absolute-pathing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Play: Prototypes, Interfaces</title>
		<link>http://ecomware.com/notes/javascript-play-prototypes-interfaces</link>
		<comments>http://ecomware.com/notes/javascript-play-prototypes-interfaces#comments</comments>
		<pubDate>Fri, 30 Sep 2011 08:55:33 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1898</guid>
		<description><![CDATA[var SuperHeroInterface = { fight: function() { console.log(this.name+" is kicking your ass!"); } }; var TriInterface = { run: function() { console.log(this.name+" is running!"); }, jump: function() { console.log(this.name+" is jumping!"); }, swim: function() { console.log(this.name+" is swimming!"); } }; &#8230; <a href="http://ecomware.com/notes/javascript-play-prototypes-interfaces">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/javascript-play-prototypes-interfaces/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dealer: Palindrome Detection (JavaScript)</title>
		<link>http://ecomware.com/notes/dice-agile-sdm-a-js-code-sample</link>
		<comments>http://ecomware.com/notes/dice-agile-sdm-a-js-code-sample#comments</comments>
		<pubDate>Wed, 28 Sep 2011 06:11:31 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1895</guid>
		<description><![CDATA[1) Key Counts Write a function that sums up keys in a text file. The file contains data in the format of &#8220;key,count&#8221; where key is a string and count is an integer. Each line will only contain one key-count &#8230; <a href="http://ecomware.com/notes/dice-agile-sdm-a-js-code-sample">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/dice-agile-sdm-a-js-code-sample/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 6.02 broke my JavaScript bookmarklets</title>
		<link>http://ecomware.com/notes/firefox-6-02</link>
		<comments>http://ecomware.com/notes/firefox-6-02#comments</comments>
		<pubDate>Thu, 08 Sep 2011 10:36:46 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1882</guid>
		<description><![CDATA[Firefox 6.02 broke my JavaScript Bookmarklets. I used to be able to copy and paste a JavaScript-schemed URL, hit enter, and have it work. Now, they&#8217;ll only work if they&#8217;re actually bookmarked, and it means I have to open up &#8230; <a href="http://ecomware.com/notes/firefox-6-02">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/firefox-6-02/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Combinations</title>
		<link>http://ecomware.com/notes/simple-combinations</link>
		<comments>http://ecomware.com/notes/simple-combinations#comments</comments>
		<pubDate>Mon, 05 Sep 2011 04:23:08 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1877</guid>
		<description><![CDATA[function combo (m,i) { return m.sort(function(a,b) {return a-b;}) .slice(m.length - i); }; var p = [15,62,45,1,92]; combo(p,2);]]></description>
		<wfw:commentRss>http://ecomware.com/notes/simple-combinations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox Document methods</title>
		<link>http://ecomware.com/notes/firefox-document-methods</link>
		<comments>http://ecomware.com/notes/firefox-document-methods#comments</comments>
		<pubDate>Thu, 01 Sep 2011 18:07:40 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[document]]></category>
		<category><![CDATA[functions]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[methods]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1873</guid>
		<description><![CDATA[There are some interesting methods in this list. (Run in Firefox 6.0.1) for (i in document) { if (typeof document[i] == "function" ) { console.log(i); } } addBinding addEventListener adoptNode appendChild captureEvents clear cloneNode close compareDocumentPosition createAttribute createAttributeNS createCDATASection createComment &#8230; <a href="http://ecomware.com/notes/firefox-document-methods">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/firefox-document-methods/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make (encode) a single Stack! parameter for {Text}</title>
		<link>http://ecomware.com/notes/make-encode-a-single-stack-parameter-for-text</link>
		<comments>http://ecomware.com/notes/make-encode-a-single-stack-parameter-for-text#comments</comments>
		<pubDate>Thu, 11 Aug 2011 15:54:27 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[{Text}]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1867</guid>
		<description><![CDATA[You can use the tool below to encode a Stack! item for {Text}. If a {Text} Stack! URL represents your entire command history, then this tool encodes a single command. It&#8217;s an easy way to make additional parameters without having &#8230; <a href="http://ecomware.com/notes/make-encode-a-single-stack-parameter-for-text">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/make-encode-a-single-stack-parameter-for-text/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Regular Expressions to make Regular Expressions</title>
		<link>http://ecomware.com/notes/using-regular-expressions-to-make-regular-expressions</link>
		<comments>http://ecomware.com/notes/using-regular-expressions-to-make-regular-expressions#comments</comments>
		<pubDate>Thu, 11 Aug 2011 10:46:33 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[{Text}]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1863</guid>
		<description><![CDATA[OK, so I&#8217;ve been working on this project for a month or two. This project refers to Notes, and Text, and Quotables, and how they relate. There is a lot of information &#8211; there is a lot of text &#8211; &#8230; <a href="http://ecomware.com/notes/using-regular-expressions-to-make-regular-expressions">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/using-regular-expressions-to-make-regular-expressions/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modifying a File in Place with -i Switch (Recipe 7.9)</title>
		<link>http://ecomware.com/notes/modifying-a-file-in-place-with-i-switch-recipe-7-9</link>
		<comments>http://ecomware.com/notes/modifying-a-file-in-place-with-i-switch-recipe-7-9#comments</comments>
		<pubDate>Wed, 10 Aug 2011 09:02:56 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1851</guid>
		<description><![CDATA[I may have first found this in the Perl Cookbook. Within the list of mandatory knowledge for anyone who works with computers, this must be somewhere toward the beginning. It&#8217;s quintessential perl, in my opinion. It&#8217;s being enshrined here simply &#8230; <a href="http://ecomware.com/notes/modifying-a-file-in-place-with-i-switch-recipe-7-9">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/modifying-a-file-in-place-with-i-switch-recipe-7-9/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript chaining before jQuery</title>
		<link>http://ecomware.com/notes/javascript-chaining-before-jquery</link>
		<comments>http://ecomware.com/notes/javascript-chaining-before-jquery#comments</comments>
		<pubDate>Tue, 09 Aug 2011 11:00:39 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1843</guid>
		<description><![CDATA[jQuery was once very proud of its method chaining. I rarely use it. If code is pre-processed and deflated anyway, I&#8217;d like my source to be easy to edit. It&#8217;s annoying to move things around when the order of operations &#8230; <a href="http://ecomware.com/notes/javascript-chaining-before-jquery">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/javascript-chaining-before-jquery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GoDaddy&#8217;s php.ini and .htaccess for parsing .xml files</title>
		<link>http://ecomware.com/notes/godaddys-php-ini-and-htaccess-for-parsing-xml-files</link>
		<comments>http://ecomware.com/notes/godaddys-php-ini-and-htaccess-for-parsing-xml-files#comments</comments>
		<pubDate>Mon, 08 Aug 2011 14:59:38 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[XML and XSLT Examples]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[content-type]]></category>
		<category><![CDATA[edit multiple files]]></category>
		<category><![CDATA[GoDaddy]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[ob_start]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[php5.ini]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1830</guid>
		<description><![CDATA[The title says it all, doesn&#8217;t it? I&#8217;ve read plenty of web articles on this, and they&#8217;re all variants of the same thing. In a nutshell, you need to create a local php.ini file and a .htaccess file. The specific &#8230; <a href="http://ecomware.com/notes/godaddys-php-ini-and-htaccess-for-parsing-xml-files">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/godaddys-php-ini-and-htaccess-for-parsing-xml-files/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Load jQuery below, use it above</title>
		<link>http://ecomware.com/notes/load-jquery-below-use-it-above</link>
		<comments>http://ecomware.com/notes/load-jquery-below-use-it-above#comments</comments>
		<pubDate>Sun, 07 Aug 2011 23:19:35 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[bottom]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[inline]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery not defined]]></category>
		<category><![CDATA[plug-in]]></category>
		<category><![CDATA[timing]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1819</guid>
		<description><![CDATA[If you want to build a quick website, you&#8217;re going to aggregate, deflate* and cache your JS files. This means you&#8217;ll make one request for JavaScript, and hopefully you&#8217;ll do it near the bottom of your document: Your script request &#8230; <a href="http://ecomware.com/notes/load-jquery-below-use-it-above">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/load-jquery-below-use-it-above/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Bookmarklets &#8211; A functional approach</title>
		<link>http://ecomware.com/notes/javascript-bookmarklets-a-functional-approach</link>
		<comments>http://ecomware.com/notes/javascript-bookmarklets-a-functional-approach#comments</comments>
		<pubDate>Sat, 06 Aug 2011 04:20:55 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[bookmarklets]]></category>
		<category><![CDATA[builder]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[make]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1782</guid>
		<description><![CDATA[JavaScript Bookmarklets came and went, but they’re still useful. I commonly use them to aggregate data on a page, or to remove annoying ads on pages that I visit a lot. You can build them using this page, or from &#8230; <a href="http://ecomware.com/notes/javascript-bookmarklets-a-functional-approach">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/javascript-bookmarklets-a-functional-approach/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ls sorting</title>
		<link>http://ecomware.com/notes/ls-sorting</link>
		<comments>http://ecomware.com/notes/ls-sorting#comments</comments>
		<pubDate>Fri, 05 Aug 2011 09:06:41 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[-f]]></category>
		<category><![CDATA[case-insensitive]]></category>
		<category><![CDATA[ls]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1780</guid>
		<description><![CDATA[I like this form: ls *.xml &#124; sort -f]]></description>
		<wfw:commentRss>http://ecomware.com/notes/ls-sorting/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Something borrowed: Mac OS X crontab</title>
		<link>http://ecomware.com/notes/something-borrowed-mac-os-x-crontab</link>
		<comments>http://ecomware.com/notes/something-borrowed-mac-os-x-crontab#comments</comments>
		<pubDate>Wed, 03 Aug 2011 07:48:16 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[repeat]]></category>
		<category><![CDATA[timer]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1773</guid>
		<description><![CDATA[I was searching for a tutorial on using crontab with Mac OS X. Create new: crontab -e */30 * * * * /path/to/script.pl -option View existing: crontab -l Argument 1: Minute (0 &#8211; 59) Argument 2: Hour (0 &#8211; 23) &#8230; <a href="http://ecomware.com/notes/something-borrowed-mac-os-x-crontab">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/something-borrowed-mac-os-x-crontab/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Counting files in a directory (Bash)</title>
		<link>http://ecomware.com/notes/counting-files-in-a-directory-bash</link>
		<comments>http://ecomware.com/notes/counting-files-in-a-directory-bash#comments</comments>
		<pubDate>Sat, 30 Jul 2011 17:56:50 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1770</guid>
		<description><![CDATA[I like this form: set -- *; echo $#;]]></description>
		<wfw:commentRss>http://ecomware.com/notes/counting-files-in-a-directory-bash/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cleaning up WordPress and the Buffet Framework</title>
		<link>http://ecomware.com/notes/cleaning-up-wordpress-and-the-buffet-framework</link>
		<comments>http://ecomware.com/notes/cleaning-up-wordpress-and-the-buffet-framework#comments</comments>
		<pubDate>Fri, 29 Jul 2011 03:40:52 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Babble]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1757</guid>
		<description><![CDATA[Notes isn’t much of a blog. It’s just a collection of notes, ideas and solutions that I want to remember and reuse. I don’t spend a lot of time working on its design or architecture. I did spend a few &#8230; <a href="http://ecomware.com/notes/cleaning-up-wordpress-and-the-buffet-framework">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/cleaning-up-wordpress-and-the-buffet-framework/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Array Declaration</title>
		<link>http://ecomware.com/notes/javascript-array-declaration</link>
		<comments>http://ecomware.com/notes/javascript-array-declaration#comments</comments>
		<pubDate>Sun, 24 Jul 2011 13:03:09 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1752</guid>
		<description><![CDATA[I like this form: var [a,b,c] = [1,2,3]; console.log(a);]]></description>
		<wfw:commentRss>http://ecomware.com/notes/javascript-array-declaration/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>{Text}</title>
		<link>http://ecomware.com/notes/text</link>
		<comments>http://ecomware.com/notes/text#comments</comments>
		<pubDate>Sat, 16 Jul 2011 07:04:07 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Cool Tools]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1737</guid>
		<description><![CDATA[{Text} is a tool you can use to change your text. It uses an emulation of the perl regular expression engine to process substitution or match patterns of a form identical to perl. You can use it to edit emails, &#8230; <a href="http://ecomware.com/notes/text">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/text/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple JavaScript Match</title>
		<link>http://ecomware.com/notes/simple-javascript-match</link>
		<comments>http://ecomware.com/notes/simple-javascript-match#comments</comments>
		<pubDate>Thu, 14 Jul 2011 15:00:34 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1732</guid>
		<description><![CDATA[I like this form: var x; if (x = "b&#124;m".match(/[bm]/g)) { console.log("Matches"); } console.log(x); // [b,m] console.log(x.length); //2]]></description>
		<wfw:commentRss>http://ecomware.com/notes/simple-javascript-match/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UTF-8</title>
		<link>http://ecomware.com/notes/utf-8</link>
		<comments>http://ecomware.com/notes/utf-8#comments</comments>
		<pubDate>Mon, 11 Jul 2011 06:27:25 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[cgi]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[Replace]]></category>
		<category><![CDATA[submit]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1693</guid>
		<description><![CDATA[I have a small web project that processes form data on the server. I struggled with some encoding issues until I defaulted the document to UTF-8 encoding, and set STDIN and STDOUT to utf8 on the CGI script. (The Apache &#8230; <a href="http://ecomware.com/notes/utf-8">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/utf-8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP interpreter parsing of .xml files: php.ini, php5.conf</title>
		<link>http://ecomware.com/notes/php-interpreter-parsing-of-xml-files-php-ini-php5-conf</link>
		<comments>http://ecomware.com/notes/php-interpreter-parsing-of-xml-files-php-ini-php5-conf#comments</comments>
		<pubDate>Fri, 01 Jul 2011 00:27:33 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1972</guid>
		<description><![CDATA[When parsing .xml files, short tags should be turned off. (They&#8217;re off by default in most modern installs of php.ini.) On Mac OS X (2010/11, etc), httpd.conf has inclusions for additional .conf files. One is the user-specific set of inclusions, &#8230; <a href="http://ecomware.com/notes/php-interpreter-parsing-of-xml-files-php-ini-php5-conf">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/php-interpreter-parsing-of-xml-files-php-ini-php5-conf/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cache Headers</title>
		<link>http://ecomware.com/notes/cache-headers</link>
		<comments>http://ecomware.com/notes/cache-headers#comments</comments>
		<pubDate>Sat, 25 Jun 2011 17:42:47 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>
		<category><![CDATA[add]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[format]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pragma]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1672</guid>
		<description><![CDATA[I really hate searching for this all the time. Thanks, once and for all, Justin. &#60;?php // seconds, minutes, hours, days $expires = 60*60*24*14; header("Pragma: public"); header("Cache-Control: maxage=".$expires); header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT'); &#8230; <a href="http://ecomware.com/notes/cache-headers">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/cache-headers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use perl on the command line with pipes, STDIN, and STDOUT</title>
		<link>http://ecomware.com/notes/use-perl-on-the-command-line-with-pipes-stdin-and-stdout</link>
		<comments>http://ecomware.com/notes/use-perl-on-the-command-line-with-pipes-stdin-and-stdout#comments</comments>
		<pubDate>Sat, 25 Jun 2011 17:03:24 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[command-line]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[pipe]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[stdin]]></category>
		<category><![CDATA[stdout]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1631</guid>
		<description><![CDATA[OK, first, this is not a tutorial to show you how to do this: perl -e "print 'Do some perl stuff on the command line.'.\"\\n\"" This is an explanation of what&#8217;s below, which is similar to the sed technique shown &#8230; <a href="http://ecomware.com/notes/use-perl-on-the-command-line-with-pipes-stdin-and-stdout">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/use-perl-on-the-command-line-with-pipes-stdin-and-stdout/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sed almighty</title>
		<link>http://ecomware.com/notes/sed-almighty</link>
		<comments>http://ecomware.com/notes/sed-almighty#comments</comments>
		<pubDate>Sat, 25 Jun 2011 12:34:41 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[clipboard]]></category>
		<category><![CDATA[highilght]]></category>
		<category><![CDATA[match]]></category>
		<category><![CDATA[pbcopy]]></category>
		<category><![CDATA[pbpaste]]></category>
		<category><![CDATA[Replace]]></category>
		<category><![CDATA[sed]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1629</guid>
		<description><![CDATA[alias hl="pbpaste &#124; sed 's/.*/[hl]&#038;[\/hl]/' &#124; pbcopy"]]></description>
		<wfw:commentRss>http://ecomware.com/notes/sed-almighty/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buffet Framework: Default Template Functions</title>
		<link>http://ecomware.com/notes/buffet-framework-default-template-functions</link>
		<comments>http://ecomware.com/notes/buffet-framework-default-template-functions#comments</comments>
		<pubDate>Sat, 25 Jun 2011 09:50:12 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[bf_document_title]]></category>
		<category><![CDATA[Buffet Framework]]></category>
		<category><![CDATA[echo]]></category>
		<category><![CDATA[home page]]></category>
		<category><![CDATA[pipe]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1622</guid>
		<description><![CDATA[template.php The Buffet Framework includes a method for the page title called bf_document_title. (I hate tag-like methods that echo their output. That&#8217;s what echo is for. A method that calls echo on its own sucks when you have to modify &#8230; <a href="http://ecomware.com/notes/buffet-framework-default-template-functions">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/buffet-framework-default-template-functions/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clipboard Operations in Perl for Mac OS X</title>
		<link>http://ecomware.com/notes/clipboard-operations-in-perl</link>
		<comments>http://ecomware.com/notes/clipboard-operations-in-perl#comments</comments>
		<pubDate>Fri, 24 Jun 2011 12:20:03 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[binmode]]></category>
		<category><![CDATA[clipboard]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[newline]]></category>
		<category><![CDATA[pbcopy]]></category>
		<category><![CDATA[pbpaste]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1610</guid>
		<description><![CDATA[Like usual, there are a couple of things I want to remember here. I do a lot of work in Win32 with ActiveState&#8217;s perl. Win32 has OLE access and a cool module for accessing the clipboard through a simple object. &#8230; <a href="http://ecomware.com/notes/clipboard-operations-in-perl">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/clipboard-operations-in-perl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automate FTP with Bash (on Mac OS X)</title>
		<link>http://ecomware.com/notes/automate-ftp-with-bash-on-mac-os-x</link>
		<comments>http://ecomware.com/notes/automate-ftp-with-bash-on-mac-os-x#comments</comments>
		<pubDate>Wed, 22 Jun 2011 21:57:20 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[double click]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://ecomware.com/notes/?p=1674</guid>
		<description><![CDATA[Save the code below in a file with a .sh extension, as in ftp.sh. From the command line, remember to chmod +x it so that it&#8217;s executable. Set the file to open with terminal.app. Finally, configure terminal.app to automatically close &#8230; <a href="http://ecomware.com/notes/automate-ftp-with-bash-on-mac-os-x">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/automate-ftp-with-bash-on-mac-os-x/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editing archive.php for display of WordPress categories</title>
		<link>http://ecomware.com/notes/wordpress-archive-by-category</link>
		<comments>http://ecomware.com/notes/wordpress-archive-by-category#comments</comments>
		<pubDate>Sat, 18 Jun 2011 16:03:24 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP Examples]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1560</guid>
		<description><![CDATA[WordPress themes have a serious flaw. Under Settings -> Reading, there is an option titled: Blog pages show at most [$someNumber] posts. Great. Set this number and control how many posts show up on your blog page. But then when &#8230; <a href="http://ecomware.com/notes/wordpress-archive-by-category">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/wordpress-archive-by-category/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppleScript &#8211; TextWrangler</title>
		<link>http://ecomware.com/notes/applescript-textwrangler</link>
		<comments>http://ecomware.com/notes/applescript-textwrangler#comments</comments>
		<pubDate>Wed, 15 Jun 2011 20:50:50 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Copy]]></category>
		<category><![CDATA[Find]]></category>
		<category><![CDATA[Macro]]></category>
		<category><![CDATA[Paste]]></category>
		<category><![CDATA[Replace]]></category>
		<category><![CDATA[TextWrangler]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1531</guid>
		<description><![CDATA[tell application "TextWrangler" activate paste replace "-$" using ":!-!:" searching in text 1 of text document 1 options {search mode:grep, starting at top:true, wrap around:false, backwards:false, case sensitive:false, match words:false, extend selection:false} remove line breaks text 1 of text document &#8230; <a href="http://ecomware.com/notes/applescript-textwrangler">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/applescript-textwrangler/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iText &#8211; Export Annotations</title>
		<link>http://ecomware.com/notes/itext-export-annotations</link>
		<comments>http://ecomware.com/notes/itext-export-annotations#comments</comments>
		<pubDate>Sun, 05 Jun 2011 20:01:06 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Java Examples]]></category>
		<category><![CDATA[annotations]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[extract]]></category>
		<category><![CDATA[highlight]]></category>
		<category><![CDATA[itext]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[java.awt.Rectangle]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[pdfParser]]></category>
		<category><![CDATA[PdfTextExtractor]]></category>
		<category><![CDATA[quote]]></category>
		<category><![CDATA[TextExtraction]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1512</guid>
		<description><![CDATA[This classes below will parse and export two types of annotations from a PDF file: Highlights and Notes (text). Grabbing other types of notes (and lines) to put this on par with the export functionality of GoodReader shouldn&#8217;t be too &#8230; <a href="http://ecomware.com/notes/itext-export-annotations">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/itext-export-annotations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac Keystrokes</title>
		<link>http://ecomware.com/notes/mac-keystrokes</link>
		<comments>http://ecomware.com/notes/mac-keystrokes#comments</comments>
		<pubDate>Mon, 06 Jun 2011 04:51:50 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1506</guid>
		<description><![CDATA[I&#8217;m already sick of looking these up. F11, and then Command+Option+Click&#8230; seriously? F11 = Expose (Show Desktop) Option (Alt) +Command (Win) + Left-click on a dock icon = Bring only that window back Command + Tilde = Cycle through open &#8230; <a href="http://ecomware.com/notes/mac-keystrokes">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/mac-keystrokes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac OS X &#8211; pbcopy</title>
		<link>http://ecomware.com/notes/mac-os-x-pbcopy</link>
		<comments>http://ecomware.com/notes/mac-os-x-pbcopy#comments</comments>
		<pubDate>Fri, 03 Jun 2011 06:28:40 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1503</guid>
		<description><![CDATA[The following command will place the statement being echoed into your clipboard. After running this locally, you should be able to paste the statement using command-v. echo "You've been clipped." &#124; pbcopy]]></description>
		<wfw:commentRss>http://ecomware.com/notes/mac-os-x-pbcopy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Apache, PHP, MySQL and WordPress on Mac OS X 10.6</title>
		<link>http://ecomware.com/notes/installing-apache-php-mysql-and-wordpress-on-mac-os-x-10-6</link>
		<comments>http://ecomware.com/notes/installing-apache-php-mysql-and-wordpress-on-mac-os-x-10-6#comments</comments>
		<pubDate>Fri, 03 Jun 2011 06:25:57 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1500</guid>
		<description><![CDATA[Apache and PHP are already in your Mac. You&#8217;ll need to download mysql and wordpress. Also, download TextWrangler. Almost all of the information below is available elsewhere, but it wasn&#8217;t together when I found it. Why not use MAMP? If &#8230; <a href="http://ecomware.com/notes/installing-apache-php-mysql-and-wordpress-on-mac-os-x-10-6">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/installing-apache-php-mysql-and-wordpress-on-mac-os-x-10-6/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Same-origin policy implementation, Cross-site scripting, Privacy, and how the browsers can screw you.</title>
		<link>http://ecomware.com/notes/same-origin-policy-implementation-cross-site-scripting-privacy-and-how-the-browsers-can-screw-you</link>
		<comments>http://ecomware.com/notes/same-origin-policy-implementation-cross-site-scripting-privacy-and-how-the-browsers-can-screw-you#comments</comments>
		<pubDate>Wed, 30 Mar 2011 15:56:45 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1469</guid>
		<description><![CDATA[Let’s talk basics: An HTTP request is a message in an envelope that is sent to a recipient in the same way you mail a letter to a friend. You might hope for a response, but you can never know &#8230; <a href="http://ecomware.com/notes/same-origin-policy-implementation-cross-site-scripting-privacy-and-how-the-browsers-can-screw-you">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/same-origin-policy-implementation-cross-site-scripting-privacy-and-how-the-browsers-can-screw-you/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A little indirection goes a long way.</title>
		<link>http://ecomware.com/notes/a-little-indirection-goes-a-long-way</link>
		<comments>http://ecomware.com/notes/a-little-indirection-goes-a-long-way#comments</comments>
		<pubDate>Wed, 09 Mar 2011 12:51:07 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[XML and XSLT Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1462</guid>
		<description><![CDATA[Leveraging the XML created from the previous post, here is an example of how data can be reused without a ton of effort. (It&#8217;s possible to link directly to a CSS stylesheet from the XML, but this method allows me &#8230; <a href="http://ecomware.com/notes/a-little-indirection-goes-a-long-way">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/a-little-indirection-goes-a-long-way/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goodreader Annotations (to XML with perl)</title>
		<link>http://ecomware.com/notes/goodreader-annotations-to-xml-with-perl</link>
		<comments>http://ecomware.com/notes/goodreader-annotations-to-xml-with-perl#comments</comments>
		<pubDate>Wed, 09 Mar 2011 10:53:14 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[XML and XSLT Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1454</guid>
		<description><![CDATA[GoodReader is the best app on the iPad, period. It will search and export (via email) a book&#8217;s annotations now, so all that data can be put to use. The only downside is that all the annotation data can only &#8230; <a href="http://ecomware.com/notes/goodreader-annotations-to-xml-with-perl">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/goodreader-annotations-to-xml-with-perl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quality</title>
		<link>http://ecomware.com/notes/quality</link>
		<comments>http://ecomware.com/notes/quality#comments</comments>
		<pubDate>Tue, 01 Mar 2011 06:16:44 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1452</guid>
		<description><![CDATA[If quality is a constraint, maintenance should be a target.]]></description>
		<wfw:commentRss>http://ecomware.com/notes/quality/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Testing</title>
		<link>http://ecomware.com/notes/its-so-simple-automated-testing</link>
		<comments>http://ecomware.com/notes/its-so-simple-automated-testing#comments</comments>
		<pubDate>Sun, 27 Feb 2011 07:46:34 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1428</guid>
		<description><![CDATA[I’ve heard a lot of talk about automated testing recently. Like many similar programming concepts, the most important elements of Automated Testing were intuitive to me before I ever possessed the lexicon to communicate them. Whatever type of software you’re &#8230; <a href="http://ecomware.com/notes/its-so-simple-automated-testing">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/its-so-simple-automated-testing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A single eff.</title>
		<link>http://ecomware.com/notes/a-single-eff</link>
		<comments>http://ecomware.com/notes/a-single-eff#comments</comments>
		<pubDate>Thu, 03 Feb 2011 20:14:30 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[calculations]]></category>
		<category><![CDATA[cards]]></category>
		<category><![CDATA[combinations]]></category>
		<category><![CDATA[deck]]></category>
		<category><![CDATA[odds]]></category>
		<category><![CDATA[permutations]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1407</guid>
		<description><![CDATA[I know some dudes who play a game by this name; Supposedly one of the dudes who plays this game &#8220;invented it&#8221;. It&#8217;s a high-low game with interesting action. (5) Players get dealt 5 cards, but end up with 4 &#8230; <a href="http://ecomware.com/notes/a-single-eff">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/a-single-eff/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Layout Type Portlet or getProperty</title>
		<link>http://ecomware.com/notes/layout-type-portlet-or-getproperty</link>
		<comments>http://ecomware.com/notes/layout-type-portlet-or-getproperty#comments</comments>
		<pubDate>Tue, 01 Feb 2011 13:47:41 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Liferay]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1404</guid>
		<description><![CDATA[I do prefer the following method over $themeDisplay.getLayoutTypePortlet().getLayoutTemplateId(), and it has other good uses. #set ($layoutID = &#34;$layout.getTypeSettingsProperties().getProperty('layout-template-id')&#34;)]]></description>
		<wfw:commentRss>http://ecomware.com/notes/layout-type-portlet-or-getproperty/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving Files with Perl (on Win)</title>
		<link>http://ecomware.com/notes/moving-files-with-perl-on-win</link>
		<comments>http://ecomware.com/notes/moving-files-with-perl-on-win#comments</comments>
		<pubDate>Tue, 01 Feb 2011 13:25:18 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Perl Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1397</guid>
		<description><![CDATA[#!/usr/bin/perl use BWright::FNP; @contents = &#38;readFile('C:somepathimage_list.txt'); foreach my $line (@contents) { $fileName = &#38;getFileName($line); #print $fileName.&#34;n&#34;; $cmd = 'COPY &#34;C:somepath\'.$fileName.'&#34;'; $cmd .= '&#34;C:somepathnew\'.$fileName.'&#34;'; system $cmd; } exit;]]></description>
		<wfw:commentRss>http://ecomware.com/notes/moving-files-with-perl-on-win/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>liferay-look-and-feel.xml</title>
		<link>http://ecomware.com/notes/liferay-look-and-feel-xml</link>
		<comments>http://ecomware.com/notes/liferay-look-and-feel-xml#comments</comments>
		<pubDate>Thu, 27 Jan 2011 20:21:40 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Liferay]]></category>
		<category><![CDATA[XML and XSLT Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1394</guid>
		<description><![CDATA[&#60;!DOCTYPE look-and-feel PUBLIC &#34;-//Liferay//DTD Look and Feel 6.0.0//EN&#34; &#34;http://www.liferay.com/dtd/liferay-look-and-feel_6_0_0.dtd&#34;&#62; &#60;look-and-feel&#62; &#60;compatibility&#62; &#60;version&#62;6.0.5+&#60;/version&#62; &#60;!-- VERSION, Compatibility is a required element --&#62; &#60;/compatibility&#62; &#60;theme id=&#34;set&#34; name=&#34;set&#34;&#62; &#60;settings&#62; &#60;!-- NOTE THE COOL PROPERTY SETTING --&#62; &#60;setting key=&#34;portlet-setup-show-borders-default&#34; value=&#34;false&#34; /&#62; &#60;/settings&#62; &#60;/theme&#62; &#60;theme id=&#34;spike&#34; &#8230; <a href="http://ecomware.com/notes/liferay-look-and-feel-xml">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/liferay-look-and-feel-xml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Play: Postal Prototype</title>
		<link>http://ecomware.com/notes/prototype</link>
		<comments>http://ecomware.com/notes/prototype#comments</comments>
		<pubDate>Thu, 30 Dec 2010 04:59:03 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1375</guid>
		<description><![CDATA[var /* OBJECTS */ Person = function(name) { if (typeof name != "undefined") { this._name = name; this._hashcode = Math.random(); this._hashcode += new Date().getTime(); } }, PostalWorker = function(name){ var temp = new Person(name); for (o in temp) { this[o] &#8230; <a href="http://ecomware.com/notes/prototype">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/prototype/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spacing with margins</title>
		<link>http://ecomware.com/notes/spacing-with-margins</link>
		<comments>http://ecomware.com/notes/spacing-with-margins#comments</comments>
		<pubDate>Mon, 20 Dec 2010 17:09:51 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1262</guid>
		<description><![CDATA[var x = jQuery('.pageTitle').width(), y = jQuery('.pageTabs').width(); y += parseInt(jQuery('.pageTabs').css('margin-left'),10); y += parseInt(jQuery('.pageTabs').css('margin-right'),10); jQuery('.pageTitle h2').width(x - y);]]></description>
		<wfw:commentRss>http://ecomware.com/notes/spacing-with-margins/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>file_lister.pl</title>
		<link>http://ecomware.com/notes/file_lister-pl</link>
		<comments>http://ecomware.com/notes/file_lister-pl#comments</comments>
		<pubDate>Wed, 15 Dec 2010 12:33:01 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Perl Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1256</guid>
		<description><![CDATA[#!/usr/bin/perl use BWright::FNP; use Cwd 'abs_path'; # OUTPUT FILE $output_file_name = 'filelist.txt'; $system_pause_on = 1; $path = &#38;getPath(abs_path($0)); @files = &#38;getFullDirectoryList($path, 1); &#38;writeFile($output_file_name, join(&#34;n&#34;,@files)); if ($syste_pause_on == 1) { system pause; }]]></description>
		<wfw:commentRss>http://ecomware.com/notes/file_lister-pl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>liferay-layout-templates.xml</title>
		<link>http://ecomware.com/notes/liferay-layout-templates-xml</link>
		<comments>http://ecomware.com/notes/liferay-layout-templates-xml#comments</comments>
		<pubDate>Wed, 10 Nov 2010 04:11:57 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Liferay]]></category>
		<category><![CDATA[XML and XSLT Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1240</guid>
		<description><![CDATA[&#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62; &#60;!DOCTYPE layout-templates PUBLIC &#34;-//Liferay//DTD Layout Templates 6.0.0//EN&#34; &#34;http://www.liferay.com/dtd/liferay-layout-templates_6_0_0.dtd&#34;&#62; &#60;layout-templates&#62; &#60;custom&#62; &#60;layout-template id=&#34;ngw_nav_1_col&#34; name=&#34;ngw_nav_1_col&#34;&#62; &#60;template-path&#62;/ngw_nav_1_col.tpl&#60;/template-path&#62; &#60;wap-template-path&#62;/ngw_layout_group.wap.tpl&#60;/wap-template-path&#62; &#60;thumbnail-path&#62;/ngw_layout_group.png&#60;/thumbnail-path&#62; &#60;/layout-template&#62; &#60;!-- &#60;layout-template id=&#34;ngw_layout_group&#34; name=&#34;ngw-layout-group&#34;&#62; &#60;template-path&#62;/ngw_layout_group.tpl&#60;/template-path&#62; &#60;wap-template-path&#62;/ngw_layout_group.wap.tpl&#60;/wap-template-path&#62; &#60;thumbnail-path&#62;/ngw_layout_group.png&#60;/thumbnail-path&#62; &#60;/layout-template&#62; --&#62; &#60;/custom&#62; &#60;/layout-templates&#62;]]></description>
		<wfw:commentRss>http://ecomware.com/notes/liferay-layout-templates-xml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>liferay-hook.xml</title>
		<link>http://ecomware.com/notes/liferay-hook-xml</link>
		<comments>http://ecomware.com/notes/liferay-hook-xml#comments</comments>
		<pubDate>Wed, 10 Nov 2010 03:56:51 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Liferay]]></category>
		<category><![CDATA[XML and XSLT Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1236</guid>
		<description><![CDATA[&#60;?xml version=&#34;1.0&#34;?&#62; &#60;!DOCTYPE hook PUBLIC &#34;-//Liferay//DTD Hook 6.0.0//EN&#34; &#34;http://www.liferay.com/dtd/liferay-hook_6_0_0.dtd&#34;&#62; &#60;hook&#62; &#60;custom-jsp-dir&#62; /META-INF/ngw_layout_velocity_templates/ &#60;/custom-jsp-dir&#62; &#60;/hook&#62;]]></description>
		<wfw:commentRss>http://ecomware.com/notes/liferay-hook-xml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Read: Specifications, Dissertations, APIs and more.</title>
		<link>http://ecomware.com/notes/read-specifications-dissertations-apis-and-more</link>
		<comments>http://ecomware.com/notes/read-specifications-dissertations-apis-and-more#comments</comments>
		<pubDate>Sun, 31 Oct 2010 18:56:51 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1185</guid>
		<description><![CDATA[A few of us at work are having an on-going conversation about what to do with toasted messages. (Toasts are those little notification windows that Google Chrome allows you to send to the user’s desktop.) While testing out our implementation, &#8230; <a href="http://ecomware.com/notes/read-specifications-dissertations-apis-and-more">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/read-specifications-dissertations-apis-and-more/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liferay 6 Custom Fields with Velocity</title>
		<link>http://ecomware.com/notes/liferay-6-custom-fields-on-the-page-with-velocity</link>
		<comments>http://ecomware.com/notes/liferay-6-custom-fields-on-the-page-with-velocity#comments</comments>
		<pubDate>Tue, 26 Oct 2010 11:31:21 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Liferay]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1174</guid>
		<description><![CDATA[Adding a Custom Field to the Page resource in Liferay 6 seems like a great way to add page-specific attributes &#8211; css classes, maybe, or a key for the application of some hash-based storage. It sure seems intuitive that those &#8230; <a href="http://ecomware.com/notes/liferay-6-custom-fields-on-the-page-with-velocity">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/liferay-6-custom-fields-on-the-page-with-velocity/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liferay 6 Themes &#8211; Default CSS Files</title>
		<link>http://ecomware.com/notes/liferay-6-themes-default-css-files</link>
		<comments>http://ecomware.com/notes/liferay-6-themes-default-css-files#comments</comments>
		<pubDate>Mon, 25 Oct 2010 12:01:44 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Liferay]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1170</guid>
		<description><![CDATA[application.css base.css custom.css dockbar.css extras.css forms.css layout.css main.css navigation.css portlet.css]]></description>
		<wfw:commentRss>http://ecomware.com/notes/liferay-6-themes-default-css-files/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liferay 6 Developer Properties</title>
		<link>http://ecomware.com/notes/liferay-6-developer-properties</link>
		<comments>http://ecomware.com/notes/liferay-6-developer-properties#comments</comments>
		<pubDate>Tue, 12 Oct 2010 16:43:27 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Liferay]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[properties]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1144</guid>
		<description><![CDATA[There are many ways to achieve the end result; This one just exposes a few of the underlying files. Liferay 6 packs the developer properties in this file: liferay-portal-6.0.5tomcat-6.0.26webappsROOTWEB-INFclassesportal-developer.properties It&#8217;s pretty likely that you&#8217;ll have created the following file to &#8230; <a href="http://ecomware.com/notes/liferay-6-developer-properties">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/liferay-6-developer-properties/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shy word-wrapping</title>
		<link>http://ecomware.com/notes/shy-word-wrapping</link>
		<comments>http://ecomware.com/notes/shy-word-wrapping#comments</comments>
		<pubDate>Fri, 08 Oct 2010 10:31:46 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1137</guid>
		<description><![CDATA[Slashdot posted an article about the misuse of the entity &#38;shy;. That reminded me that there is a use. &#60;!DOCTYPE html&#62; &#60;html&#62; &#60;head&#62; &#60;meta charset=&#34;utf-8&#34; /&#62; &#60;title&#62;Word Breaking&#60;/title&#62; &#60;/head&#62; &#60;body&#62; &#60;style&#62; #content { margin: 0px; padding: 0px; height: 200px; width: &#8230; <a href="http://ecomware.com/notes/shy-word-wrapping">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/shy-word-wrapping/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pretty Print JavaScript and CSS</title>
		<link>http://ecomware.com/notes/pretty-print-javascript</link>
		<comments>http://ecomware.com/notes/pretty-print-javascript#comments</comments>
		<pubDate>Tue, 28 Sep 2010 19:08:05 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[JavaScript Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1124</guid>
		<description><![CDATA[Awesome: http://jsbeautifier.org/ http://procssor.com/]]></description>
		<wfw:commentRss>http://ecomware.com/notes/pretty-print-javascript/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JS1k</title>
		<link>http://ecomware.com/notes/js1k</link>
		<comments>http://ecomware.com/notes/js1k#comments</comments>
		<pubDate>Sat, 25 Sep 2010 01:40:14 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Babble]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1110</guid>
		<description><![CDATA[This is the website for the 1k Javascript demo contest #js1k]]></description>
		<wfw:commentRss>http://ecomware.com/notes/js1k/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liferay &amp; SWFObject.js</title>
		<link>http://ecomware.com/notes/liferay-swfobject-js</link>
		<comments>http://ecomware.com/notes/liferay-swfobject-js#comments</comments>
		<pubDate>Fri, 24 Sep 2010 00:50:44 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[Liferay]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1103</guid>
		<description><![CDATA[Liferay has support for flash by default, but it apparently differs by version. SwfObject plugin upgrade to 1.5.1. In Portal 5.2, the SWFObject.js file is included by default, even in barebones. In version 6, you must first make an AUI &#8230; <a href="http://ecomware.com/notes/liferay-swfobject-js">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/liferay-swfobject-js/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinRAR backups from the command line</title>
		<link>http://ecomware.com/notes/winrar-backups-from-the-command-line</link>
		<comments>http://ecomware.com/notes/winrar-backups-from-the-command-line#comments</comments>
		<pubDate>Wed, 15 Sep 2010 13:41:51 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1052</guid>
		<description><![CDATA[WinRAR is my favorite. Using it from the command line with batch, it&#8217;s super simple to make backups. The example below shows simple syntax for WinRAR (rar.exe). @echo ----------------------- @echo BACKUP @echo ----------------------- REM rar (winrar command line) a (file &#8230; <a href="http://ecomware.com/notes/winrar-backups-from-the-command-line">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/winrar-backups-from-the-command-line/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozilla Rhino</title>
		<link>http://ecomware.com/notes/mozilla-rhino</link>
		<comments>http://ecomware.com/notes/mozilla-rhino#comments</comments>
		<pubDate>Sat, 11 Sep 2010 14:42:50 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Java Examples]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[Liferay]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=1000</guid>
		<description><![CDATA[Mozilla Rhino: I have had curiosities about it for several years, and because I happened to be perplexed this evening by a side effect of jQuery interacting with the DOM, I decided to embed it and see if I could &#8230; <a href="http://ecomware.com/notes/mozilla-rhino">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/mozilla-rhino/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows simple sys admin for Liferay Developers</title>
		<link>http://ecomware.com/notes/windows-simple-sys-admin-for-liferay-developers</link>
		<comments>http://ecomware.com/notes/windows-simple-sys-admin-for-liferay-developers#comments</comments>
		<pubDate>Sat, 11 Sep 2010 09:02:43 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=989</guid>
		<description><![CDATA[Setting up a new Liferay Build on Windows is easy. But it can be simplified further by writing a batch script to do the work of setting things up, especially things like setting the environment variables. Set System Variables The &#8230; <a href="http://ecomware.com/notes/windows-simple-sys-admin-for-liferay-developers">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/windows-simple-sys-admin-for-liferay-developers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL my.cnf</title>
		<link>http://ecomware.com/notes/mysql-my-cnf</link>
		<comments>http://ecomware.com/notes/mysql-my-cnf#comments</comments>
		<pubDate>Fri, 10 Sep 2010 11:51:22 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=986</guid>
		<description><![CDATA[Create a file in c: called my.cnf with the following contents. Edit the values as necessary. This prevents having to authenticate at the command line. [client] user = root password = password host = localhost [mysql] database = dbname MySQL &#8230; <a href="http://ecomware.com/notes/mysql-my-cnf">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/mysql-my-cnf/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Semantic HTML and JavaScript</title>
		<link>http://ecomware.com/notes/semantic-html-and-javascript</link>
		<comments>http://ecomware.com/notes/semantic-html-and-javascript#comments</comments>
		<pubDate>Thu, 09 Sep 2010 11:55:24 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS Examples]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript Examples]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[createElement]]></category>
		<category><![CDATA[document]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[semantic]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=888</guid>
		<description><![CDATA[I love this technique. Browsers offer better support for pure XML documents and CSS than people apparently remember, because it seems developers have quit using literal XML, and use HTML (formerly XHTML) exclusively. We&#8217;re still not bound to the default &#8230; <a href="http://ecomware.com/notes/semantic-html-and-javascript">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/semantic-html-and-javascript/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liferay SDK Project Deployment Script</title>
		<link>http://ecomware.com/notes/liferay-sdk-project-deployment-script</link>
		<comments>http://ecomware.com/notes/liferay-sdk-project-deployment-script#comments</comments>
		<pubDate>Mon, 06 Sep 2010 10:09:29 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Liferay]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[XML and XSLT Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=932</guid>
		<description><![CDATA[Liferay has a great SDK for use in creating plugins for their portal. I wrote the following script for deploying Liferay plugins (projects) to remote servers. This simplifies the Windows to *Nix transfer via SSH, and allows for deploying the &#8230; <a href="http://ecomware.com/notes/liferay-sdk-project-deployment-script">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/liferay-sdk-project-deployment-script/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl References and a tiny pointer to some XML</title>
		<link>http://ecomware.com/notes/perl-references-and-some-xml</link>
		<comments>http://ecomware.com/notes/perl-references-and-some-xml#comments</comments>
		<pubDate>Mon, 06 Sep 2010 05:54:14 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Perl Examples]]></category>
		<category><![CDATA[XML and XSLT Examples]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=925</guid>
		<description><![CDATA[I always forget: perl subroutines only accept scalars. That means you have to pass references for hashes and arrays to subroutines. Here is an example: #!/usr/bin/perl #HASH PASS %hash1 = ( &#34;Pass&#34; =&#62; &#34;Word&#34; ); print &#34;A: &#34;.$hash1{&#34;Pass&#34;}.&#34;n&#34;; &#38;pass_the_hash(%hash1); sub &#8230; <a href="http://ecomware.com/notes/perl-references-and-some-xml">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://ecomware.com/notes/perl-references-and-some-xml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Powershell &#8211; Viewing cookies for IE</title>
		<link>http://ecomware.com/notes/powershell-viewing-cookies-for-ie</link>
		<comments>http://ecomware.com/notes/powershell-viewing-cookies-for-ie#comments</comments>
		<pubDate>Thu, 02 Sep 2010 16:23:01 +0000</pubDate>
		<dc:creator>ecomware</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://localhost/notes/?p=901</guid>
		<description><![CDATA[List them: ps> Dir ([Environment]::GetFolderPath("Cookies")) Open Explorer: ps> Explorer ([Environment]::GetFolderPath("Cookies"))]]></description>
		<wfw:commentRss>http://ecomware.com/notes/powershell-viewing-cookies-for-ie/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

