<?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>Thinking Anew</title>
	<atom:link href="http://fuzziebrain.com/content/feed" rel="self" type="application/rss+xml" />
	<link>http://fuzziebrain.com/content</link>
	<description></description>
	<lastBuildDate>Thu, 29 Dec 2011 21:16:28 +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>Spring into Spring Roo</title>
		<link>http://fuzziebrain.com/content/id/216?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=spring-into-spring-roo</link>
		<comments>http://fuzziebrain.com/content/id/216#comments</comments>
		<pubDate>Wed, 31 Aug 2011 06:54:31 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Integrated development environment]]></category>
		<category><![CDATA[spring framework]]></category>
		<category><![CDATA[Spring Roo]]></category>
		<category><![CDATA[springsource]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=216</guid>
		<description><![CDATA[I was very excited to receive my copy of Spring Roo in Action. This is a fairly recent MEAP offering from Manning and is scheduled to be ready by the end of this year (2011). A 500-page quick-start guide, and IMHO, the missing manual for anyone interested in learning agile and rapid prototyping using Spring [...]]]></description>
			<content:encoded><![CDATA[<p>I was very excited to receive my copy of <a href="http://www.manning.com/rimple/" target="_blank"><span>Spring <span>Roo</span> in Action</span></a><span>. This is a fairly recent MEAP offering from Manning and is scheduled to be ready by the end of this year (2011). A 500-page quick-start guide, and IMHO, the missing manual for anyone interested in learning agile and rapid prototyping using Spring <span>Roo</span>.</span></p>
<p><span>Before I continue, some brief background about me and my experiences working with the <a class="zem_slink" title="Spring Framework" href="http://www.springsource.org" rel="homepage">Spring Framework</a>. I took an interest in Spring a couple of years ago while working on a web application to manage administrative data about a large-scale biotechnology research project. Not too long after starting on my project, I heard about Spring <span>Roo</span>. At that time, it was a rather new offering from <span><a class="zem_slink" title="SpringSource" href="http://www.springsource.org" rel="homepage">SpringSource</a></span>, before version 1.0 was ready for prime time. It was and still is a great tool for very quickly developing straight-forward <a class="zem_slink" title="Create, read, update and delete" href="http://en.wikipedia.org/wiki/Create%2C_read%2C_update_and_delete" rel="wikipedia">CRUD</a> applications. However, my interest soon drained as I was concerned that the ease of development would compromise my ability to customise applications for customers. That opinion changed soon after reading this book. I&#8217;ll explain later.</span></p>
<p><span>Ten chapters have been written so far, providing a comprehensive coverage of key component technologies that make the Spring Framework such a great technology for developing web and enterprise applications &#8211; database, web, messaging, integration and testing. Even with the ease of designing and configuring software using Spring &#8211; as the authors aptly point out &#8211; developers are often caught in a conumdrum of chosing the right set of frameworks. Often losing sight of our primary goals: building usable software that meets clients&#8217; expectations (and schedules).</span></p>
<p><span>However, as mentioned earlier, I was concerned that the Spring Roo was generating a lot of artifacts that are deeply intertwined with the tools, such that it becomes very difficult to customise without breaking any code. I liken this to a beginner .NET developer experience. <a class="zem_slink" title="Microsoft Visual Studio" href="http://www.microsoft.com/visualstudio" rel="homepage">Visual Studio</a> was a very powerful <a class="zem_slink" title="Integrated development environment" href="http://en.wikipedia.org/wiki/Integrated_development_environment" rel="wikipedia">IDE</a> that allows anyone (well almost) to create usable applications in a short amount of time. That is definitely useful during early stages of development, where it was important to quickly prototype and impress your prospective customers. As time goes by, as we learn more and more about the user&#8217;s requirements, we begin to realise that there&#8217;s a fair amount of tweaking to be done. Then you&#8217;re hooped.</span></p>
<p>I feel the authors were very conscious of this issue, and throughout the early chapters, assured me that there was a not-too-difficult exit strategy when the project needed more intricate plumbing: Push-In Refactoring. There is an entire chapter devoted to this topic and I certainly look forward to reading it when ready.</p>
<p><span>There&#8217;s so much to say about this book, but I think my remaining thoughts are best condensed into these key points:<br />
</span></p>
<ul>
<li>The book is well written with the developer at heart. The authors exhibit great empathy with the many issues that developers face daily.</li>
<li>Well organised and covers all layers of the development cake.</li>
<li>Clear concise instructions, great visuals and easy to follow. All you need is a computer with tools installed to follow along.</li>
<li>Talks about IDE integration: <a href="http://www.google.ca/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CCAQFjAA&amp;url=http%3A%2F%2Fwww.springsource.com%2Fdeveloper%2Fsts&amp;rct=j&amp;q=SpringSource%20Tool%20Suite&amp;ei=-dtdTu2IJZD3gAe8pPCSAg&amp;usg=AFQjCNHWKoR-osNupYeKb6u4N7_0RCFLfA&amp;cad=rja" target="_blank">SpringSource Tool Suite</a> (STS) and IDEA&#8217;s <a class="zem_slink" title="IntelliJ IDEA" href="http://www.jetbrains.com/idea/" rel="homepage">IntelliJ</a>. For STS, they don&#8217;t just stop at the basics, there are some tips and tricks that could be very helpful in your development experience.</li>
<li>The authors don&#8217;t just talk about all things Roo. There are some good pointers and guidance for software development and architecture considerations and best practices.</li>
<li>Chapter 11 is about <a class="zem_slink" title="Cloud computing" href="http://en.wikipedia.org/wiki/Cloud_computing" rel="wikipedia">Cloud Computing</a>. I&#8217;m gonna guess that it has to do with CloudFoundry and the newly released MicroCloud. As developers and solution providers, as much as we hate buzz words, Cloud Computing is here to stay and I see this as a very important technology in the year ahead.</li>
</ul>
<p><span>Prior knowledge about the Spring Framework would be good, but definitely not a prerequisite. If Spring <span>Roo</span> is a beginner&#8217;s portal into the world of Spring, then this book is your wormhole. If only I could give this must-have handbook a 5.01 rating!<br />
</span></p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=67a59f52-9aa0-4587-82de-d5c0d9650dbe" alt="" /></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F216&amp;title=Spring%20into%20Spring%20Roo" id="wpa2a_2"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/216/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Elephant Rider in Action</title>
		<link>http://fuzziebrain.com/content/id/185?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-elephant-rider-in-action</link>
		<comments>http://fuzziebrain.com/content/id/185#comments</comments>
		<pubDate>Tue, 08 Feb 2011 15:11:32 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Apache Mahout]]></category>
		<category><![CDATA[Artificial intelligence]]></category>
		<category><![CDATA[Computer science]]></category>
		<category><![CDATA[Data set]]></category>
		<category><![CDATA[Hadoop]]></category>
		<category><![CDATA[Machine learning]]></category>
		<category><![CDATA[Mahout]]></category>
		<category><![CDATA[MapReduce]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=185</guid>
		<description><![CDATA[I was very excited to get my hands on a copy of Mahout in Action. Artificial Intelligence and Machine Learning are my most favourite subjects in Computer Science. Back during my school days, AI and ML were primarily used in research, and sometimes banks use them for fraud detection. I am glad that it is [...]]]></description>
			<content:encoded><![CDATA[<p>I was very excited to get my hands on a copy of <a href="http://www.manning.com/owen/" target="_blank"><span class="zem_slink">Mahout</span> in Action</a>. <a class="zem_slink" title="Artificial intelligence" rel="wikipedia" href="http://en.wikipedia.org/wiki/Artificial_intelligence">Artificial Intelligence</a> and <a class="zem_slink" title="Machine learning" rel="wikipedia" href="http://en.wikipedia.org/wiki/Machine_learning">Machine Learning</a> are my most favourite subjects in <a class="zem_slink" title="Computer science" rel="wikipedia" href="http://en.wikipedia.org/wiki/Computer_science">Computer Science</a>. Back during my school days, AI and ML were primarily used in research, and sometimes banks use them for fraud detection. I am glad that it is gradually being adopted in mainstream businesses with the help of easy to use frameworks like <a class="zem_slink" title="Apache Mahout" rel="homepage" href="http://lucene.apache.org/mahout/">Mahout</a>, backed by commodity distributing platforms like <a class="zem_slink" title="Hadoop" rel="homepage" href="http://hadoop.apache.org/">Hadoop</a>.</p>
<p>The book is broadly organized into three main categories of algorithms <span id="more-185"></span>currently implemented in Mahout: Recommendations, Clustering and Classification. The <a class="zem_slink" title="Author" rel="wikipedia" href="http://en.wikipedia.org/wiki/Author">authors</a> take a single strategy with each category. They begin with a general introduction, the algorithms available and basic examples. Later chapters go in depth on each group of algorithms with even more examples and measuring outcomes.</p>
<p>In many tutorial books and articles, we often find examples where data is magically pre-formatted for use and the outcome is pretty much orchestrated. I like the fact that the authors bother to go through the rigor of obtaining and preparing your data that includes cleaning, transformation etc. real-world data. Learning to pre-process your data is crucial for any successful ML application. Data sources are often &#8220;dirty&#8221;. For ML algorithms to be useful, we must learn to deal with the imperfect world of <a class="zem_slink" title="Data collection" rel="wikipedia" href="http://en.wikipedia.org/wiki/Data_collection">data collection</a>.</p>
<p>Many of the examples presented in the book are also familiar with most people, e.g. classifying news articles, recommending products, clustering Twitter users. I find real-world examples and common knowledge a great way to learn a new subject. Some of these examples might even be useful and can be applied to existing projects. Bear in mind that many <a class="zem_slink" title="Data set" rel="wikipedia" href="http://en.wikipedia.org/wiki/Data_set">data sets</a> that they point you to are actual data collected from familiar websites and applications.</p>
<p>The authors also examine and provide examples on using Hadoop to support your Mahout implementation. As pointed out in the text, using ML techniques over large datasets often puts a strain on your computing resources. Mahout was designed from ground up to use Hadoop for <a class="zem_slink" title="High-performance computing" rel="wikipedia" href="http://en.wikipedia.org/wiki/High-performance_computing">High Performance Computing</a>. You could buy a focused book to read about Hadoop (e.g. Hadoop in Action), but I find the coverage is sufficient enough to get you started. In the examples, again you will learn to prepare your data, not only for the analytics, but formulating a <a class="zem_slink" title="Data structure" rel="wikipedia" href="http://en.wikipedia.org/wiki/Data_structure">data structure</a> that is compatible with Hadoop.</p>
<p>Learning about Machine Learning can be very daunting. It sometimes is dry and confusing for me, especially when books focus a lot on the Mathematics involved. I have found the authors approach to this field of Computer Science well balanced. There is enough details to get you started, but a whole lot more hand-holding, through examples, to demonstrate how ML can be useful in your projects.</p>
<p>In summary, this another great book to add to my fairly large collection of Machine Learning textbooks. Here&#8217;s why:</p>
<ul>
<li> Authors are major contributors</li>
<li> Examples examples examples</li>
<li> Practical examples</li>
<li>Two books for the price of one</li>
</ul>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=d1f8d68c-ade3-4893-b9ac-b55cc5218a15" alt="" /><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F185&amp;title=The%20Elephant%20Rider%20in%20Action" id="wpa2a_4"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/185/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Powershell in Action (Second Edition)</title>
		<link>http://fuzziebrain.com/content/id/162?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=powershell-in-action-second-edition</link>
		<comments>http://fuzziebrain.com/content/id/162#comments</comments>
		<pubDate>Tue, 21 Dec 2010 20:09:04 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=162</guid>
		<description><![CDATA[There are many compelling reasons to get a copy of Powershell in Action (2nd Edition) but I will cover the important few. This is a great book currently in the MEAP process at Manning, and I believe, is pretty much near completion. Before I talk about the book, a brief technical background about my interest [...]]]></description>
			<content:encoded><![CDATA[<p>There are many compelling reasons to get a copy of <a href="http://www.manning.com/payette2/" target="_blank">Powershell in Action (2nd Edition)</a> but I will cover the important few. This is a great book currently in the <a class="zem_slink" title="Michigan Educational Assessment Program" rel="wikipedia" href="http://en.wikipedia.org/wiki/Michigan_Educational_Assessment_Program">MEAP</a> process at Manning, and I believe, is pretty much near completion.</p>
<p>Before I talk about the book, a brief technical background about my interest in the subject matter. I am currently with an IT group focusing mostly on software development and <a class="zem_slink" title="High-performance computing" rel="wikipedia" href="http://en.wikipedia.org/wiki/High-performance_computing">High Performance computing</a>. We are starting to deploy quite a few <a class="zem_slink" title="Windows Server 2008 R2" rel="homepage" href="http://www.microsoft.com/windowsserver2008/en/us/R2.aspx">Windows 2008 R2</a> servers and gradually rolling out <a class="zem_slink" title="Windows" rel="homepage" href="http://www.microsoft.com/WINDOWS">Windows</a> 7. We manage desktops<span id="more-162"></span> outside of <a class="zem_slink" title="Microsoft" rel="geolocation" href="http://maps.google.com/maps?ll=47.6395972222,-122.12845&amp;spn=1.0,1.0&amp;q=47.6395972222,-122.12845%20%28Microsoft%29&amp;t=h">Microsoft</a> suite of system administration capabilities and rely mostly on <a class="zem_slink" title="Novell" rel="homepage" href="http://www.novell.com">Novell</a> products. So I quite often get requests from my colleagues to write scripts to help configure desktop systems and remotely deploy applications.</p>
<p>So, the first reason to buy this book. It is written by Bruce Payette, a key person in the Powershell Team. Bruce is a great writer. The text is fluid, detailed and at times, humourous. You will find many useful quotes and codes! Well, the latter is more useful. I especially like the breakdowns telling you what each segment of a command does. You&#8217;ll see a lot of this in DB2 and <a class="zem_slink" title="Oracle Corporation" rel="homepage" href="http://oracle.com">Oracle</a> documentation that describe intricate <a class="zem_slink" title="SQL" rel="wikipedia" href="http://en.wikipedia.org/wiki/SQL">SQL</a> statements.</p>
<p>On to the second reason. Like many Manning ebooks that have successive editions, you get free access to the older versions. You might wonder how useful that is, but consider this: <a class="zem_slink" title="Windows Server 2008" rel="homepage" href="http://www.microsoft.com/windowsserver2008/en/us/default.aspx">Windows 2008</a> (the first release) and <a class="zem_slink" title="Windows Vista" rel="homepage" href="http://www.microsoft.com/windows/windows-vista/default.aspx">Vista</a> still use Powershell v1. Hence if you are managing a heterogeneous environment containing both Windows 2008 and Windows 2008 R2, you might still want to keep the 1st edition for reference&#8230; just in case.</p>
<p>Now the meat&#8230; the book is divided into two parts. The first part covers most of the fundamentals, similar to how most other introductory books are structured. The first seven chapters are probably sufficient for you to write your first useful script (after <a class="zem_slink" title="Hello world program" rel="wikipedia" href="http://en.wikipedia.org/wiki/Hello_world_program">Helloworld</a>). If you have more demanding needs, Bruce looks at how you can distribute code and perform magical tasks remotely. Chapters 14 and 15 provides you the necessary skills to not wanna tear out your hair when your script misbehaves.</p>
<p>As mentioned earlier, the author is very careful to describe textually, graphically and by example how things work in <a class="zem_slink" title="Windows PowerShell" rel="homepage" href="http://www.microsoft.com/powershell">PowerShell</a>. The amount of detail can sometimes make it rather dry to read, and that&#8217;s why I particularly appreciate the occasional interjection of humour. Details are good.</p>
<p>Part 2 will probably be more useful to most, compared to earlier advanced topics discussed in Chapters 8 to 13&#8230; well, at least for me. Oh, and please read Chapter 21 on Security before you question and complain about why your scripts ain&#8217;t running.</p>
<p>Last but not least, the Appendices. I have yet to receive them, but certainly looking forward to the much needed code samples (Appendix B) and quick reference sheets (Appendix C).</p>
<p>This review should come timely. During this holiday season, it is almost customary for Manning to be handing out free ebooks or at the very least, great discounts. This book deserves a 5/5 rating, so if you are keen on making Windows work harder for you, then this is a MUST read!</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=8e700de0-d685-46ab-9893-123dfcd65d91" alt="" /><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F162&amp;title=Powershell%20in%20Action%20%28Second%20Edition%29" id="wpa2a_6"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/162/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exclude Rules for Eclipse+SVN</title>
		<link>http://fuzziebrain.com/content/id/165?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exclude-rules-for-eclipsesvn</link>
		<comments>http://fuzziebrain.com/content/id/165#comments</comments>
		<pubDate>Tue, 14 Dec 2010 00:22:39 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[solutions]]></category>
		<category><![CDATA[spring framework]]></category>
		<category><![CDATA[springsource]]></category>
		<category><![CDATA[springsource tool suite]]></category>
		<category><![CDATA[sts]]></category>
		<category><![CDATA[subclipse]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=165</guid>
		<description><![CDATA[More like a &#8220;note to self&#8221;, but I&#8217;m sure others might find useful. Here&#8217;s a list of excludes to include that will prevent Eclipse artifacts from synchronizing on your Subversion server. .project .classpath .settings (added on 17-Jan-11) .springBeans (added on 14-Dec-10) target (and/or bin)]]></description>
			<content:encoded><![CDATA[<p>More like a &#8220;note to self&#8221;, but I&#8217;m sure others might find useful. Here&#8217;s a list of excludes to include that will prevent Eclipse artifacts from synchronizing on your <a class="zem_slink" title="Apache Subversion" rel="homepage" href="http://subversion.apache.org/">Subversion</a> server.</p>
<ul>
<li>.project</li>
<li>.classpath</li>
<li>.settings (added on 17-Jan-11)</li>
<li>.springBeans (added on 14-Dec-10)</li>
<li>target (and/or bin)</li>
</ul>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=423e1429-e0d1-4418-8d02-5da5b04cd0f8" alt="" /><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F165&amp;title=Exclude%20Rules%20for%20Eclipse%2BSVN" id="wpa2a_8"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/165/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Location Aware Applications (Part 3, Final)</title>
		<link>http://fuzziebrain.com/content/id/155?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=location-aware-applications-part-3-final</link>
		<comments>http://fuzziebrain.com/content/id/155#comments</comments>
		<pubDate>Wed, 24 Nov 2010 02:21:01 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Location-based service]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=155</guid>
		<description><![CDATA[This is the third and final part of my review of Location Aware Applications by Richard Ferraro and Murat Aktihanoglu. Please read parts 1 and 2 first if you haven&#8217;t already done so. The last segment of this book focuses a lot on the business and ethics related to building your first LBS application. I [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the third and final part of my review of <a href="http://www.manning.com/ferraro/" target="_blank">Location Aware Applications</a> by Richard Ferraro and Murat Aktihanoglu. Please read parts <a href="http://fuzziebrain.com/content/id/88">1</a> and <a href="http://fuzziebrain.com/content/id/108">2</a> first if you haven&#8217;t already done so.</em></p>
<p>The last segment of this book focuses a lot on the business and ethics related to building your first <a class="zem_slink" title="Location-based service" rel="wikipedia" href="http://en.wikipedia.org/wiki/Location-based_service">LBS</a> application.</p>
<p>I enjoyed reading the overview of server-side technologies (Chapter 9) involved in creating a back-end supported lbs application. Location-based services are usually <a class="zem_slink" title="Client–server model" rel="wikipedia" href="http://en.wikipedia.org/wiki/Client%E2%80%93server_model">client-server</a> applications. Hence, you would usually find two types of developer roles in such projects &#8211; one to work on the <a class="zem_slink" title="Graphical user interface" rel="wikipedia" href="http://en.wikipedia.org/wiki/Graphical_user_interface">GUI</a>, and another to create the data-driven components. <span id="more-155"></span>I am more of the latter kind of guy. There are a myriad of spatial server products out there, some of which have a hefty commercial fee. Hence you would probably appreciate reading a good overview as opposed to downloading and installing a number of trial software. The review helps you quickly evaluate the features that each vendor provides, thereby allowing you to filter what solutions might work for your lbs app.</p>
<p>Chapter 10 again talks about privacy, and rightfully should, even though it is one debate that never ends. It is good that the authors rose to the challenge and highlighted pitfalls and  concerns to think seriously about when creating your blockbuster app.</p>
<p>As an <a class="zem_slink" title="iPhone" rel="homepage" href="http://www.apple.com/iphone">iPhone</a> developer wannabe, I have been greatly put off by the annual developer fee of $99. Part of the uncertainty is not knowing what the program entails and what the development to production cycle is like. That is why the experiences shared by the authors in Chapter 11 is invaluable. Thank you!</p>
<p>That&#8217;s not all. In Chapter 11, the authors also present other distribution channels and great marketing ideas to kick-start sales. Writing a great app won&#8217;t roll in the dough till it gets through the door, out in the wild and into people&#8217;s portable hi-tech devices.</p>
<p>The book concludes with important issues close to my heart and one that should concern you whether you are for or against &#8211; protecting your intellectual property (IP). This is the first technology book I have read that dedicated a full chapter on this topic. The patent process is long, convoluted and extremely expensive. I wouldn&#8217;t have known that for a fact had my previous employer required me to patent a few ideas in the past. So good insight into this long arduous process if you haven&#8217;t already been involved.</p>
<p>When I first started reading this book, my expectations were mismatched. I was hoping for a more in-depth technical read. Gradually, I realized its intent and as the authors summarized, this book was written to give a 360-view of developing LBS application. For that, it scores a <strong>4/5 stars</strong> from me. Good read if you need an overview of technology and business before getting into the game. Enjoy!</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=63fa262b-ac0d-4fe2-a00f-558983d0779a" alt="" /><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F155&amp;title=Location%20Aware%20Applications%20%28Part%203%2C%20Final%29" id="wpa2a_10"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/155/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Location Aware Applications (Part 2)</title>
		<link>http://fuzziebrain.com/content/id/108?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-location-aware-applications-part-2</link>
		<comments>http://fuzziebrain.com/content/id/108#comments</comments>
		<pubDate>Fri, 01 Oct 2010 19:53:43 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[Geolocation]]></category>
		<category><![CDATA[Global Positioning System]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[Handhelds]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[lbs]]></category>
		<category><![CDATA[location-based services]]></category>
		<category><![CDATA[monetization]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=108</guid>
		<description><![CDATA[Image via Wikipedia This post follows my earlier review of the first six chapters of &#8220;Location Aware Applications&#8221;. I recently received an update containing two new chapters covering topics on connectivity issues and how to monetize your LBS applications. Chapter 7 briefly looks at issues affecting mobile devices that affect connectivity, e.g. acquisition rate of [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img">
<div>
<dl class="wp-caption alignright">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/File:GPS_on_smartphone_cycling.JPG"><img title="GPS navigation solution running on a smartphon..." src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/GPS_on_smartphone_cycling.JPG/300px-GPS_on_smartphone_cycling.JPG" alt="GPS navigation solution running on a smartphon..." /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution">Image via <a href="http://commons.wikipedia.org/wiki/File:GPS_on_smartphone_cycling.JPG">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>This post follows my <a href="http://fuzziebrain.com/content/id/88" target="_self">earlier</a> review of the first six chapters of &#8220;Location Aware Applications&#8221;. I recently received an update containing two new chapters covering topics on connectivity issues and how to monetize your LBS applications.</p>
<p>Chapter 7 briefly looks at issues affecting mobile devices that affect connectivity, e.g. acquisition rate of the <a class="zem_slink" title="Global Positioning System" rel="wikipedia" href="http://en.wikipedia.org/wiki/Global_Positioning_System">GPS</a> and battery consumption. A few <a class="zem_slink" title="Snippet (programming)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Snippet_%28programming%29">code snippets</a> in this chapter also demonstrates to the reader how you can obtain <a class="zem_slink" title="Geolocation" rel="wikipedia" href="http://en.wikipedia.org/wiki/Geolocation">geolocation</a> data from the different devices: <a class="zem_slink" title="iPhone" rel="homepage" href="http://www.apple.com/iphone">iPhones</a>, Androids, <a class="zem_slink" title="Java Platform, Micro Edition" rel="wikipedia" href="http://en.wikipedia.org/wiki/Java_Platform%2C_Micro_Edition">Java ME</a> and <a class="zem_slink" title="WebOS" rel="homepage" href="http://developer.palm.com/">Palm WebOS</a> devices.</p>
<p>I like Chapter 8 the most so far. Well, who wouldn&#8217;t? Software <a class="zem_slink" title="Software metric" rel="wikipedia" href="http://en.wikipedia.org/wiki/Software_metric">metrics</a> has always been a challenging art &#8211; yes ART! So a  chapter that provides pointers on how to commercialize your application  is certainly welcomed!<span id="more-108"></span></p>
<p>The authors describe several ways of turning your application usage into cash churning machine. Several options on how to charge consumers for the use of your software are presented and includes many considerations &#8211; the pros and cons &#8211; for each method. I especially like Figure 8.2, a matrix for helping you decide which charging model best fits the type of application you have. Learned a few new keywords like &#8220;Long Tail Kings&#8221; and &#8220;Boot Campers&#8221;.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=1c247717-683c-401e-90e0-36ac784991c0" alt="" /><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F108&amp;title=Location%20Aware%20Applications%20%28Part%202%29" id="wpa2a_12"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/108/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress App v2.6</title>
		<link>http://fuzziebrain.com/content/id/87?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-app-v2-6</link>
		<comments>http://fuzziebrain.com/content/id/87#comments</comments>
		<pubDate>Thu, 30 Sep 2010 16:14:35 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[connection]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[WordPress App]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=87</guid>
		<description><![CDATA[Image via CrunchBase The iPhone App for WordPress was recently updated to version 2.6 (see announcement). It has got quite a few interesting new features and was made compatible with WordPress 3.x. Strangely though, it had always worked on my previous installation, but connection broke after this update. What an irony! If you recently updated [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img">
<div>
<dl class="wp-caption alignright">
<dt class="wp-caption-dt"><a href="http://www.crunchbase.com/product/iphone"><img title="Image representing iPhone as depicted in Crunc..." src="http://www.crunchbase.com/assets/images/resized/0001/9797/19797v1-max-250x250.jpg" alt="Image representing iPhone as depicted in Crunc..." /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution">Image via <a href="http://www.crunchbase.com">CrunchBase</a></dd>
</dl>
</div>
</div>
<p>The <a class="zem_slink" title="iPhone" rel="homepage" href="http://www.apple.com/iphone">iPhone</a> App for <a class="zem_slink" title="WordPress" rel="homepage" href="http://wordpress.org">WordPress</a> was recently updated to version 2.6 (see <a href="http://ios.wordpress.org/2010/09/29/introducing-version-2-6/" target="_blank">announcement</a>). It has got quite a few interesting new features and was made compatible with WordPress 3.x. Strangely though, it had always worked on my previous installation, but connection broke after this update. What an irony!</p>
<p>If you recently updated the <a class="zem_slink" title="Application software" rel="wikipedia" href="http://en.wikipedia.org/wiki/Application_software">application</a> and got this error (&#8220;Communication Error. Bad <a class="zem_slink" title="User (computing)" rel="wikipedia" href="http://en.wikipedia.org/wiki/User_%28computing%29">user name</a> or <a class="zem_slink" title="Password" rel="wikipedia" href="http://en.wikipedia.org/wiki/Password">password</a>&#8220;) while attempting to connect to your <a class="zem_slink" title="Blog" rel="wikipedia" href="http://en.wikipedia.org/wiki/Blog">blog site</a>, here&#8217;s the simple solution that worked for me:<span id="more-87"></span></p>
<ol>
<li>Click the navigation button &#8220;<a class="zem_slink" title="Blog" rel="wikipedia" href="http://en.wikipedia.org/wiki/Blog">Blogs</a>&#8220;.</li>
<li>Click the button &#8220;Edit&#8221;.</li>
<li>Click the red delete button.</li>
<li>Click the add (&#8220;+&#8221;) button and reenter your settings.</li>
</ol>
<p>Simple eh? I haven&#8217;t had the opportunity to test out the new features (mostly because the iPhone keyboard is really bad for typing), but I would sure like to try them out! Meanwhile, we can expect more WordPress App users with the massive <a href="http://en.blog.wordpress.com/2010/09/27/welcome-windows-live-spaces-bloggers/" target="_blank">migration</a> of Windows Live <a class="zem_slink" title="Windows Live Spaces" rel="homepage" href="http://spaces.live.com">Spaces</a> (by <a class="zem_slink" title="Microsoft" rel="geolocation" href="http://maps.google.com/maps?ll=47.6395972222,-122.12845&amp;spn=1.0,1.0&amp;q=47.6395972222,-122.12845%20%28Microsoft%29&amp;t=h">Microsoft</a>) blogs over to WordPress.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=e262b5f8-ea92-47f1-9428-4f0e84929620" alt="" /><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F87&amp;title=WordPress%20App%20v2.6" id="wpa2a_14"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/87/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Location Aware Applications (Part 1)</title>
		<link>http://fuzziebrain.com/content/id/88?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-location-aware-applications</link>
		<comments>http://fuzziebrain.com/content/id/88#comments</comments>
		<pubDate>Tue, 21 Sep 2010 06:50:40 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Application programming interface]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Geographic information system]]></category>
		<category><![CDATA[Global Positioning System]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[lbs]]></category>
		<category><![CDATA[Linked Data]]></category>
		<category><![CDATA[linkeddata]]></category>
		<category><![CDATA[Location awareness]]></category>
		<category><![CDATA[location-based services]]></category>
		<category><![CDATA[manning]]></category>
		<category><![CDATA[meap]]></category>
		<category><![CDATA[Mobile phone]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[semweb]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=88</guid>
		<description><![CDATA[The Manning Early Access Program, or MEAP, is a program that allows you to purchase an electronic copy of a book even before it is published. This allows readers to participate in the development of the book&#8217;s content. You will of course receive the final version of the book when it goes gold. I recently [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://manning.com/about/meap.html" target="_blank">Manning Early Access Program</a>, or MEAP, is a program that allows you to purchase an electronic copy of a book even before it is published. This allows readers to participate in the development of the book&#8217;s content. You will of course receive the final version of the book when it goes gold.</p>
<p>I recently got my hands on a copy of the MEAP book, Location Aware Applications. At the time of this post, only 50% of the book has been completed. So here are my early impression of this upcoming title.<span id="more-88"></span></p>
<p><a class="zem_slink" title="Global Positioning System" rel="wikipedia" href="http://en.wikipedia.org/wiki/Global_Positioning_System">GPS</a> and many other devices are becoming ubiquitous features in <a class="zem_slink" title="Mobile phone" rel="wikipedia" href="http://en.wikipedia.org/wiki/Mobile_phone">cellular phones</a>. The availability of maps and <a class="zem_slink" title="Application programming interface" rel="wikipedia" href="http://en.wikipedia.org/wiki/Application_programming_interface">APIs</a> to access geospatial <a class="zem_slink" title="Data" rel="wikipedia" href="http://en.wikipedia.org/wiki/Data">data</a> are plenty. There is also increasing effort in making data open and linked, providing a multitude of information that can be consumed, meshed and presented to the mobile user. Thus it is no surprise that a lot of <a class="zem_slink" title="Computer software" rel="wikipedia" href="http://en.wikipedia.org/wiki/Computer_software">software</a> developers (or not) are looking into making use of location-based information, hoping to spin some big bucks out of <a class="zem_slink" title="Technology" rel="wikipedia" href="http://en.wikipedia.org/wiki/Technology">technology</a>.</p>
<p>If you are one of them, then this book might be for you. The authors provide a very good introduction for someone looking for headway into developing location-based, <a class="zem_slink" title="Location awareness" rel="wikipedia" href="http://en.wikipedia.org/wiki/Location_awareness">location-aware</a> applications. Part 1 is a comprehensive overview of the history and development of LBS technologies and is very informative for newcomers. The beginning four chapters will also be a good refresher for experienced <a class="zem_slink" title="Geographic information system" rel="wikipedia" href="http://en.wikipedia.org/wiki/Geographic_information_system">GIS</a> developers or geeks, so you might want to quickly glance through so that you are kept at the forefront of development. In chapters 3 and 4, the authors survey a broad range of content and mapping APIs with sample codes to showcase how they can be used. And this is a first I have seen: at the end of each code sample, the authors provide somewhat like a pseudocode to describe the program <a class="zem_slink" title="Control flow" rel="wikipedia" href="http://en.wikipedia.org/wiki/Control_flow">flow</a>. This is very effective and helpful in understanding how the code works.</p>
<p>I do hope though that the authors might consider adding some introduction to <a class="zem_slink" title="Linked Data" rel="wikipedia" href="http://en.wikipedia.org/wiki/Linked_Data">LinkedData</a> and the <a class="zem_slink" title="Semantic Web" rel="homepage" href="http://semanticweb.org">Semantic Web</a>, and how these novel developments might help spur more LBS applications.</p>
<p>That&#8217;s it for now. I will update this post as more chapters are completed in the coming weeks/months. Stay tuned, or if you can&#8217;t wait, grab a MEAP copy now! This book is available either from <a href="http://manning.com/ferraro" target="_blank">Manning</a> or <a href="http://www.amazon.com/gp/product/1935182331?ie=UTF8&amp;tag=fuzziebrain-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1935182331" target="_blank">Amazon</a>.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=e0b16b33-d917-4cab-a373-bdbbe857eb13" alt="" /><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F88&amp;title=Location%20Aware%20Applications%20%28Part%201%29" id="wpa2a_16"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/88/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Automate your Watermarking Workflow</title>
		<link>http://fuzziebrain.com/content/id/75?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=automate-your-watermarking-workflow</link>
		<comments>http://fuzziebrain.com/content/id/75#comments</comments>
		<pubDate>Fri, 03 Sep 2010 22:58:43 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[fast]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[photographs]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[rapid]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>
		<category><![CDATA[Watermark]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=75</guid>
		<description><![CDATA[Recently, I started to put up more photos on Flickr. Before publishing my photos, I usually watermark them. For a small number of uploads, it was sanely possible to add watermarks using photo editors manually. However, it gets a bit tedious when attempting to watermark, catalogue, upload, tag etc. tens of photos at one go. [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I started to put up more photos on <a class="zem_slink" title="Flickr" href="http://flickr.com" rel="homepage">Flickr</a>. Before publishing my photos, I usually <a class="zem_slink" title="Watermark" href="http://en.wikipedia.org/wiki/Watermark" rel="wikipedia">watermark</a> them. For a small number of uploads, it was sanely possible to add watermarks using photo editors manually. However, it gets a bit tedious when attempting to watermark, catalogue, upload, tag etc. tens of photos at one go.</p>
<p>To make my life easier, I used a simple <a class="zem_slink" title="ImageMagick" href="http://www.imagemagick.org/" rel="homepage">ImageMagick</a> workflow based on this <a href="http://www.imagemagick.org/Usage/annotating/#wmark_image" target="_blank">tutorial</a> to quickly watermark a bunch of images files. At first, I had this post-processing job running as a Bash script in a <a class="zem_slink" title="Linux" href="http://www.kernel.org/" rel="homepage">Linux</a> <a class="zem_slink" title="Virtual machine" href="http://en.wikipedia.org/wiki/Virtual_machine" rel="wikipedia">Virtual Machine</a>, but it soon became too troublesome to shuffle files between the two <a class="zem_slink" title="Operating system" href="http://en.wikipedia.org/wiki/Operating_system" rel="wikipedia">operating systems</a>. <a class="zem_slink" title="Windows PowerShell" href="http://www.microsoft.com/powershell" rel="homepage">PowerShell</a> comes pre-installed with <a class="zem_slink" title="Windows 7" href="http://www.microsoft.com/windows/windows-7/default.aspx" rel="homepage">Windows 7</a>, so that was a great option for creating a script to process multiple files.<span id="more-75"></span></p>
<p>So here&#8217;s what&#8217;s involved when I process files to be posted on Flickr:</p>
<ol>
<li>Create a watermark image file. I made this a transparent image and saved it in <a class="zem_slink" title="Portable Network Graphics" href="http://en.wikipedia.org/wiki/Portable_Network_Graphics" rel="wikipedia">PNG</a> format. Place the watermark file in a your <a class="zem_slink" title="Working directory" href="http://en.wikipedia.org/wiki/Working_directory" rel="wikipedia">working directory</a> (e.g. c:\myworkflow).</li>
<li>Next, create the directories for your source image files (e.g. c:\myworkflow\source) and copy your photos into this sub-directory. Make any edits here before performing the watermarking process.</li>
<li>Create two more directories for the ImageMagick to save the resized and watermarked files (e.g. c:\myworkflow\flickr\resized and c:\myworkflow\flickr\watermarked respectively).</li>
<li>Create a temp directory if preferred (e.g. c:\myworkflow\temp). Piping processes worked fine in Linux, but I did not have much success in <a class="zem_slink" title="Windows" href="http://www.microsoft.com/WINDOWS" rel="homepage">Windows</a>. Hence, intermediate outputs are written to the file system instead.</li>
<li>Place this script in the working directory and edit the variables if necessary.</li>
<li>The $filePattern variable is useful if you would like to iterate your source files selectively. I sometimes prefix my photos with a set number. Photos within sets were usually taken in the same year. I can then use the set numbers to watermark the image with the matching copyright year.</li>
</ol>
<p>The code:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$srcDir</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;C:\myworkflow\source&quot;</span>
<span style="color: #800080;">$resizedDir</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;C:\myworkflow\flickr\resized&quot;</span>
<span style="color: #800080;">$watermarkFile</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;C:\myworkflow\watermark_image.png&quot;</span>
<span style="color: #800080;">$watermarkedDir</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;C:\myworkflow\flickr\watermarked&quot;</span>
<span style="color: #800080;">$tempDir</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;C:\myworkflow\temp&quot;</span>
<span style="color: #800080;">$filePattern</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;*&quot;</span>
&nbsp;
<span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$f</span> <span style="color: #0000FF;">in</span> <span style="color: #008080; font-weight: bold;">ls</span> <span style="color: #800000;">&quot;$srcdir\$filePattern&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
    <span style="color: #800080;">$f</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">split-path</span> <span style="color: #800080;">$f</span> <span style="color: #008080; font-style: italic;">-Leaf</span>
    <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #800000;">&quot;Processing: $f&quot;</span>
    convert <span style="color: pink;">-</span>resize 800x800 <span style="color: #800000;">&quot;$srcDir\$f&quot;</span> <span style="color: #800000;">&quot;$resizedDir\$f&quot;</span>
    convert <span style="color: #800080;">$watermarkFile</span> <span style="color: pink;">-</span>fill grey60 <span style="color: pink;">-</span>colorize <span style="color: #804000;">30</span> <span style="color: #800000;">&quot;$tempDir\temp.miff&quot;</span>
    composite <span style="color: pink;">-</span>dissolve <span style="color: #804000;">50</span> <span style="color: pink;">-</span>gravity south <span style="color: #800000;">&quot;$tempDir\temp.miff&quot;</span> <span style="color: #800000;">&quot;$resizedDir\$f&quot;</span> <span style="color: #800000;">&quot;$watermarkedDir\$f&quot;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>The parameters for ImageMagick commands may not be optimal for all scenarios. Change them if necessary. If you have any feedback or suggestion for improvement, please feel free to give me a shout.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=0ba48737-5196-4e9c-bd9c-874cd08756fb" alt="" /></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F75&amp;title=Automate%20your%20Watermarking%20Workflow" id="wpa2a_18"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/75/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Better Movie Experience on the Revo</title>
		<link>http://fuzziebrain.com/content/id/32?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=better-movie-experience-on-the-revo</link>
		<comments>http://fuzziebrain.com/content/id/32#comments</comments>
		<pubDate>Wed, 01 Sep 2010 04:38:06 +0000</pubDate>
		<dc:creator>Adrian P</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Acer AspireRevo]]></category>
		<category><![CDATA[getting started]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[nettop]]></category>
		<category><![CDATA[Nvidia]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Universal Serial Bus]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[VideoLAN]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://fuzziebrain.com/content/?p=32</guid>
		<description><![CDATA[Last weekend, I purchased an Acer Aspire Revo R3610 from FutureShop. I would like to think that I got a pretty good deal, but more importantly, I was glad that my family members were enjoying the use of this nettop. The initial experience for me was not too pleasant thought. Perhaps a mistmatch of expectations. [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend, I purchased an <a href="http://www.amazon.com/gp/product/B002QQ3VE8?ie=UTF8&amp;tag=smartweaverre-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B002QQ3VE8" target="_blank">Acer Aspire Revo R3610</a> from <a class="zem_slink" title="Future Shop" href="http://www.futureshop.ca/" rel="homepage">FutureShop</a>. I would like to think that I got a pretty good deal, but more importantly, I was glad that my family members were enjoying the use of this <a class="zem_slink" title="Nettop" href="http://en.wikipedia.org/wiki/Nettop" rel="wikipedia">nettop</a>. The initial experience for me was not too pleasant thought. Perhaps a mistmatch of expectations.</p>
<p>I had some early setup problems trying to get the wireless <a class="zem_slink" title="Keyboard (computing)" href="http://en.wikipedia.org/wiki/Keyboard_%28computing%29" rel="wikipedia">keyboard</a> and mouse to work, until at last I found out that there was a small wireless adaptor embedded in the mouse battery compartment. This adaptor has to be connected to one of Revo&#8217;s several <a class="zem_slink" title="Universal Serial Bus" href="http://en.wikipedia.org/wiki/Universal_Serial_Bus" rel="wikipedia">USB</a> ports. I tried the top-most port first. Both <a class="zem_slink" title="Peripheral" href="http://en.wikipedia.org/wiki/Peripheral" rel="wikipedia">peripherals</a> seemed to work on bootup, but as soon as <a class="zem_slink" title="Windows" href="http://www.microsoft.com/WINDOWS" rel="homepage">Windows</a> started up, the keyboard would become non-functional. That frustrated me quite a bit. Finally, I tried a different port, one at the back of the computer and that seemed to help.<span id="more-32"></span></p>
<p>The remaining hardware issue was with the keyboard&#8217;s layout. For some strange reason, I could never authenticate correctly with the keyboard. If you have any clue about why that is, please let me know. My current work around &#8211; short of connecting a second USB keyboard &#8211; is to use the on-screen keyboard to type in the password. Alternatively, get Windows to perform an auto-login at startup.</p>
<p>Getting <a class="zem_slink" title="Matroska" href="http://en.wikipedia.org/wiki/Matroska" rel="wikipedia">MKV</a> videos play smoothly on the Revo can be challenge. I use the <a class="zem_slink" title="VideoLAN" href="http://en.wikipedia.org/wiki/VideoLAN" rel="wikipedia">VideoLAN</a> player for this, and today, I found a neat little trick to make use of <a class="zem_slink" title="Graphics processing unit" href="http://en.wikipedia.org/wiki/Graphics_processing_unit" rel="wikipedia">GPU</a> power in Nvidia&#8217;s Ion chipset to help boost the video playback performance on my Revo and it worked!<a href="http://fuzziebrain.com/content/wp-content/uploads/2011/12/vlc_gpu_preference.png"><img class="alignright size-medium wp-image-53" title="GPU Acceleration in VLC" src="http://fuzziebrain.com/content/wp-content/uploads/2011/12/vlc_gpu_preference.png" alt="" /></a></p>
<p>If you are wondering how, do this:</p>
<ol>
<li>Go to Tools &gt; Preferences, or simply press Ctrl-P.</li>
<li>Next click on the &#8220;Input &amp; Codecs&#8221; tab.</li>
<li>Check the &#8220;Use GPU acceleration (experimental)&#8221;.</li>
<li>Click &#8220;Save&#8221;.</li>
</ol>
<p>That is it! You should be able to enjoy HD playback on your Revo. Believe me, I initially could not even get the video to play.</p>
<p>With all the minor heartbreaks, I would still give the Revo a 3.5 out of 5 rating. It is rather inexpensive and is a good media entertainment device for the family to enjoy an evening together. The setup experience could be improved with better documentation. Hence the reason for this post: a one-stop tip to not only get started, but to get the most out of your Revo.</p>
<p>Have fun!</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/pixy.gif?x-id=c120ac26-4ad9-42e5-a28d-ae816b1ab43a" alt="" /></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Ffuzziebrain.com%2Fcontent%2Fid%2F32&amp;title=Better%20Movie%20Experience%20on%20the%20Revo" id="wpa2a_20"><img src="http://fuzziebrain.com/content/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://fuzziebrain.com/content/id/32/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

