<?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>Source Allies Blog &#187; Uncategorized</title>
	<atom:link href="http://blogs.sourceallies.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.sourceallies.com</link>
	<description>Technical and process thinking from Source Allies employees</description>
	<lastBuildDate>Mon, 26 Jul 2010 15:01:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Installing Ubuntu: A Trial and Error Account</title>
		<link>http://blogs.sourceallies.com/2010/05/installing-ubuntu-a-trial-and-error-account/</link>
		<comments>http://blogs.sourceallies.com/2010/05/installing-ubuntu-a-trial-and-error-account/#comments</comments>
		<pubDate>Fri, 07 May 2010 18:04:12 +0000</pubDate>
		<dc:creator>Ryan  Day</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/?p=1509</guid>
		<description><![CDATA[Recently I decided it was time to grab up a spare computer that I could use for tinkering as well as back up files from my other machine in the event that it goes down. The one big thing I wanted to do was to install a Linux OS and experience everything that comes with [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I decided it was time to grab up a spare computer that I could use for tinkering as well as back up files from my other machine in the event that it goes down. The one big thing I wanted to do was to install a Linux OS and experience everything that comes with it. This would be my first time installing a Linux OS. I chose to install <a href="http://www.ubuntu.com/" target="_blank">Ubuntu</a> since it is the most widely used and has the most extensive documentation and help available.</p>
<p><strong>The Download</strong><br />
When I bought this machine it had a fresh install of Windows XP and came with the recovery disk which was excellent because I had to use it multiple times before I got things just the way I wanted them. Since this computer didn’t have any files I didn’t have to worry about backing anything up but it would be a must if considering putting Ubuntu on an everyday machine. To install Ubuntu you need the install CD. Ubuntu community can mail you one if you so request online, but why not be a DIYer and burn it yourself? I downloaded the Ubuntu 9.10 Desktop version for a graphical install and then went straight to burning it onto a CD. This was a mistake. I didn’t figure that the piece of the installation instructions regarding running the checksum was all that important, but it absolutely is. If the download is the least bit wrong the installation will not work. I burned several CDs of a bad image. Eventually I followed the installation documentation more closely and actually downloaded winMd5Sum. With this free tool I was able to compare the checksum of the downloaded image with the correct checksum from the <a href="https://help.ubuntu.com/community/UbuntuHashes" target="_blank">Ubuntu site</a>. It took several attempts and switching to a Canadian mirror before getting a successful download. Finally I could burn it to a disc.</p>
<p><span id="more-1509"></span></p>
<p><strong>Burning the Disc</strong><br />
The download comes as an image with an “.iso” extension. I had never burned an image before so I followed the Ubuntu advice to download the free Infra Recorder. The actual burning of the image to the disc couldn’t have been easier. Following the Ubuntu instructions I quickly had an Ubuntu install disc. I inserted it into my computer and restarted it so it could boot from the disc and headed straight to the install options. Here is where I went wrong for the second time by skipping a small part of the install instructions. Instead of using the “Install” option on the disc I should have first chose, “Check the disc for defects.”  After a few failed installs and a bunch of wasted time, choosing the “Check for defects” option finally revealed that while my download was successful, my burn did not translate to the disc just right. Burning another disc or two finally yielded some successful results.</p>
<p><strong>Installing</strong><br />
There are many ways to install Ubuntu. It can be installed as the sole operating system on the computer, as a virtual OS inside of Windows, or even as a side-by-side dual boot with Windows. I was attempting the latter. When trying to achieve a dual boot installation the hard drive must be partitioned so that each OS can reside in its own territory. With Windows on the machine I first dabbled in the computer management menu to try to clear space for Ubuntu, but then while installing it was difficult to interpret the partitioning. My solution was to reformat the hard drive so that Windows again occupied the whole hard drive and then use the installer disc to set up the partitions. I think this is the best option because you get a very good visual of how your hard drive is split up and you’ll have to go through the setup menu anyway so it saves you time from toiling in a Windows configuration. Other items in the installation process are very easy such as choosing language, naming the computer and setting up a user account. With the install completed, the next time the computer starts there will be a choice to start Ubuntu or Windows which is the whole idea of a dual-booting system.</p>
<p>In Conclusion<br />
Installing Ubuntu, especially in a dual-boot situation, can be a daunting task. Although my experience exemplified Murphy’s Law it is a very do-able process. Looking back, I could have saved a ton of time had I followed the online instructions more carefully and verified the download and burn of the image. Bottom line though is that the instructions and documentation are great resources and there are plenty of forums and YouTube <a href="http://www.youtube.com/results?search_query=how+to+install+ubuntu&amp;aq=f" target="_blank">videos</a> also documenting the process. With the volume of help out there I wouldn’t worry about lacking experience like myself, just jump in, read up and take your time.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2010/05/installing-ubuntu-a-trial-and-error-account/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Musings of a SpringOne 2009 Attendee – Day 4</title>
		<link>http://blogs.sourceallies.com/2010/03/musings-of-a-springone-2009-attendee-%e2%80%93-day-4/</link>
		<comments>http://blogs.sourceallies.com/2010/03/musings-of-a-springone-2009-attendee-%e2%80%93-day-4/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 16:00:53 +0000</pubDate>
		<dc:creator>Sudhakar Ramasamy</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[SpringOne]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/?p=535</guid>
		<description><![CDATA[This is the last and final part on my SpringOne 2009 experience. It&#8217;s late catching up to the 3 earlier posts but it&#8217;s here now. This post summarizes the sessions I attended from day 4 and wraps up with a summary of my take aways. If you want to catch up here are the three [...]]]></description>
			<content:encoded><![CDATA[<p>This is the last and final part on my SpringOne 2009 experience. It&#8217;s late catching up to the 3 earlier posts but it&#8217;s here now. This post summarizes the sessions I attended from day 4 and wraps up with a summary of my take aways. If you want to catch up here are the three earlier posts:</p>
<ol>
<li><a href="http://blogs.sourceallies.com/2009/10/musings-of-a-springone-2009-attendee-day-1">Musings of a SpringOne 2009 Attendee Day 1</a></li>
<li><a href="http://blogs.sourceallies.com/2009/10/musings-of-a-springone-2009-attendee-day-2">Musings of a SpringOne 2009 Attendee Day 2</a></li>
<li><a href="http://blogs.sourceallies.com/2009/10/musings-of-a-springone-2009-attendee-day-3">Musings of a SpringOne 2009 Attendee Day 3</a></li>
</ol>
<p>Read on for day 4.</p>
<p><span id="more-535"></span></p>
<h2><a href="http://www.springone2gx.com/conference/new_orleans/2009/10/session?id=15408">OSGi and Groovy Jump Start</a></h2>
<p>The presentation started with a <a href="http://www.youtube.com/watch?v=eTRM5n3khw8">5 minute youtube video</a> preview which I thought was pretty innovative.</p>
<p>The first half was around what is OSGi, some of which I&#8217;ve had experience with. I did pick up on a few key concepts that I didn&#8217;t know i wasn&#8217;t communicating earlier in my own presentations on OSGi.</p>
<p>We covered how a groovy POGO has groovy types in the public API. So if your groovy bundle has the groovylib in it&#8217;s classpath then it has to export the groovy package. Also when using Groovy in OSGi, if possible use POJOs for your applications type system since POGOs force you to expose couple groovy types in the bundle&#8217;s API.</p>
<p>The examples were done using <a href="http://www.gradle.org/">gradle</a> and this was my first live example of using gradle. This is a key benefit of conferences &#8212; being exposed to technologies you may otherwise not have the time to take a peek at.</p>
<p>I liked how the presenter took the path of not making things look complex but rather simplifying the concepts. He did this with concepts such as the  OSGi bundle lifecycle.</p>
<p>Some of the tools covered in this session were:</p>
<ul>
<li>bnd to create a groovy manifest</li>
<li>osgi bundle for gradle uses bnd</li>
<li>junit4osgi</li>
</ul>
<h2><a href="http://www.springone2gx.com/conference/new_orleans/2009/10/session?id=16462">Expand your business with Groovy &#8211; Case Study</a></h2>
<p>This session was a case study on how a monolithic application was extended to provide customizations using groovy. A major customer had approached  HypericQ wanting a custom dashboard.</p>
<p>HypericQ developed a architecture around attach point&#8217;s which are places within the UI where plugins can connect to.</p>
<p>Custom UI was provided by gsp templates for customer specific dashboards.</p>
<p>Groovy templates was used as the templating framework that allowed clients to build their own using GSP  pages.</p>
<p>A Web Services API was provided as part of the core platform that enabled several benefits:<br />
- hqapi command line interaction<br />
- allows integration testing of the application<br />
- embedding a groovy console inside the application<br />
- console gives you a HQL way to query the domain and not worry about the end customers database environment</p>
<p>The talk was an interesting exercise in how a dynamic plugin architecture could be implemented. <a href="http://docs.codehaus.org/display/GROOVY/Groovy+Categories">Groovy categories</a> was heavily used to enable this.</p>
<h2><a href="http://www.springone2gx.com/conference/new_orleans/2009/10/session?id=15779">Re-factoring a Spring Application for SOA using Spring technologies in 40 min</a></h2>
<p>The current focus of SOA is really software architecture. SOA is neither static nor predictable. The architectural pattern of any application must be reflective of the business. SOA is preparing the stuff that is critical to your business to stand the test of time. </p>
<p>Architecture involves the courage to be wrong while minimizing the impact of being wrong. It is about making educated decisions between speed and perfection. The longer it takes to deliver the software the higher the client&#8217;s expectations of that software is.</p>
<p>The foundation of SOA is highly cohesive, loosely coupled modules. One must practice</p>
<ol>
<li>strategy first programming</li>
<li>process life-cycle dynamics</li>
<li>process collaboration</li>
<li>loose coupling promotes a network based architecture over a hierarchical one &#8211; composition over inheritance</li>
</ol>
<p>SOA and OSGi enable embracing change by making versioning a runtime concept.</p>
<p>There is an argument to be made for deploying a process as a whole in BPEL. But what about flexible orchestration via simple messaging. We were given the American football analogy. Each play is scripted, but between plays we need to adjust strategy to meet the overall goal. </p>
<p>Modern event driven architecture was mentioned as a composite process linked together in a linear fashion through the use of rule based pathing.</p>
<p>The second half of this talk was the Spring booking demo from Spring Web Flow project. There are 3 OSGi bundles:</p>
<ol>
<li>war bundle</li>
<li>service bundle</li>
<li>datasource bundle</li>
</ol>
<p>The demo was using STS and it&#8217;s DM Server tooling. The entire development workflow was very seamless with SpringSource having done an awesome job of the tooling.</p>
<p>We saw an example of a transparent failover. So there is a need to take down the primary database for maintenance work without taking the application down. A backup datasource bundle is started and the primary datasource bundle is stopped. The datasource bundle is a simple datasource definition and an osgi service with ranking. Because of a higher rank the backup datasource bundle takes precendence and the primary datasource bundle can be safely stopped. Bundles can also take advantage of filtering besides ranking. </p>
<p>Spring Integration builds on pipes and filters. You can expose OSGi services as pipes. It provides the ability to change the behavior of a modularized application by changing how the modules are hooked up in the XML as opposed to modifying source code or in cases where the source code is not available.</p>
<h2>Conference Wrap Up</h2>
<p>Here are my key take aways:</p>
<ul>
<li>It is time for Grails</li>
<li>Need to investigate Spring Faces</li>
<li><a href="http://www.owasp.org/index.php/Category:OWASP_WebGoat_Project">Webgoat</a></li>
<li>Spring Web Flow</li>
<li>Spring Integration</li>
<li>Spring DM Server</li>
</ul>
<p>Overall it was a very productive conference and I would recommend it for anyone looking to attend it next year.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2010/03/musings-of-a-springone-2009-attendee-%e2%80%93-day-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Siri</title>
		<link>http://blogs.sourceallies.com/2010/02/siri/</link>
		<comments>http://blogs.sourceallies.com/2010/02/siri/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 16:00:03 +0000</pubDate>
		<dc:creator>Vic Banta</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/?p=1130</guid>
		<description><![CDATA[Siri, which debuted last week, is surely the first iPhone app that&#8217;s the commercialized result of a multimillion-dollar Defense Department research project. It&#8217;s a &#8220;virtual personal assistant&#8221; that uses voice recognition, your GPS location, and links to local information and services to respond to requests you speak into an iPhone 3GS.
You can ask Siri to [...]]]></description>
			<content:encoded><![CDATA[<p>Siri, which debuted last week, is surely the first iPhone app that&#8217;s the commercialized result of a multimillion-dollar Defense Department research project. It&#8217;s a &#8220;virtual personal assistant&#8221; that uses voice recognition, your GPS location, and links to local information and services to respond to requests you speak into an iPhone 3GS.</p>
<p>You can ask Siri to call you a taxi, or to reserve a table at the best nearby sushi joint, or to tell you who&#8217;s playing at a local concert venue. The voice-recognition part works just about perfectly. And it all feels like a sneak preview of how we&#8217;ll get and use information in the future, even though I&#8217;m occasionally disappointed by the results (Siri occasionally recommends local businesses based on skimpy data.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2010/02/siri/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running a Technical Book Club &#8211; Take 1</title>
		<link>http://blogs.sourceallies.com/2010/02/running-a-technical-book-club-take-1/</link>
		<comments>http://blogs.sourceallies.com/2010/02/running-a-technical-book-club-take-1/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 16:00:48 +0000</pubDate>
		<dc:creator>Sudhakar Ramasamy</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[book club]]></category>
		<category><![CDATA[continuous learning]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/?p=1044</guid>
		<description><![CDATA[Last year I coordinated a technical book club here at Source Allies. This was my first experience doing one and I wanted to share my experience for the benefit of others who may be looking at starting one.
The fact that we even started a book club was a big positive because it is one great [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I coordinated a technical book club here at Source Allies. This was my first experience doing one and I wanted to share my experience for the benefit of others who may be looking at starting one.</p>
<p>The fact that we even started a book club was a big positive because it is one great way to geek out with very smart people. You get the opportunity to voice your opinion on a certain topic and hear counter-points or similar views that expand your own perspective.<span id="more-1044"></span></p>
<p>We went through 2 books in the span of about 6 months. The first book was <a href="http://search.barnesandnoble.com/Test-Driven-Development/Kent-Beck/e/9780321146533">Test Driven Development: By Example</a> by Kent Beck. It&#8217;s a very good book by itself. But we found it didn&#8217;t make for very good book club discussion. The material didn&#8217;t really provide much fodder for critical thinking and exploration in my opinion. But it was a start.</p>
<p>We then picked up <a href="http://java.sun.com/docs/books/effective/">Effective Java</a> by Joshua Bloch as our second book. Java is currently my bread and butter and this book was very appropriate with it&#8217;s tip based approach. The material was a little dense in some areas, but overall an extremely good book for a book club discussion because it provided enough room for critical thinking and discussion. Unfortunately though well intentioned I thought we fell off the wagon due to a few different reasons:</p>
<ul>
<li>We met in a cafeteria location which was noisy and had it&#8217;s own share of distractions making it difficult to have any sustained discussion</li>
<li>Not a whole lot of discussion around the topic because each of us read a different chapter in the book and we didn&#8217;t really have common ground</li>
<li>We had participants in the discussion who hadn&#8217;t read the book and would understandably drive the conversations off topic</li>
<li>We didn&#8217;t have a standing meeting time which we were committed to. Sometimes I felt we were scrambling just to get a common meeting time organized. We did get better about this towards the later half of last year.</li>
</ul>
<p><strong>Going forward into 2010</strong><br />
Learning from last year, we are making some changes to derive more out of the book club this year. </p>
<ul>
<li>Meet in a quiet location &#8211; This year we will be meeting in a conference room with little distractions</li>
<li>A once a week standing meeting &#8211; This way everyone in the group is aware of the weekly commitment and can be prepared</li>
<li>Be more pro-active about our book selection &#8211; Maintain a <a href="http://www.goodreads.com/review/list/2958611-sud?shelf=bookclub">list</a> of potentially interesting books and select books at the regular meeting</li>
<li>More structured discussion format &#8211; We all have views and opinions on what we&#8217;ve read. So all of us must have the opportunity to voice our thoughts</li>
<li>Book review &#8211; This year we are going to attempt to publish a blog post reviewing each book that we discussed at the book club</li>
<li>Limit the book club to a maximum of 6 members &#8211; any more and the 1-hour will be insufficient for everyone to participate fully</li>
</ul>
<p>We&#8217;ve already had two meetings so far this year with the above format and I thought it went very well. And am looking forward to a more rewarding book club this year.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2010/02/running-a-technical-book-club-take-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Modern Parable</title>
		<link>http://blogs.sourceallies.com/2010/02/a-modern-parable/</link>
		<comments>http://blogs.sourceallies.com/2010/02/a-modern-parable/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 14:48:09 +0000</pubDate>
		<dc:creator>Roger Vincent</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lean]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/?p=983</guid>
		<description><![CDATA[I recently ran across the following article on a blog:

A Japanese company (Toyota) and an American company (General Motors) decided to have a canoe race on the Missouri River.  Both teams practiced long and hard to reach their peak performance before the race.  On the big day, the Japanese won by a mile.

The [...]]]></description>
			<content:encoded><![CDATA[<p>I recently ran across the following <a href="http://www.cenekreport.com/journal/2007/6/13/a-modern-parable.html">article</a> on a blog:</p>
<blockquote><p>
A Japanese company (Toyota) and an American company (General Motors) decided to have a canoe race on the Missouri River.  Both teams practiced long and hard to reach their peak performance before the race.  On the big day, the Japanese won by a mile.<br />
<span id="more-983"></span><br />
The Americans, very discouraged and depressed, decided to investigate the reason for the crushing defeat.  A management team composed of senior management was formed to investigate and recommend appropriate action. Their conclusion:  The Japanese had 8 people rowing and 1 person steering, while the American team had 8 people steering and 1 person rowing.</p>
<p>Feeling a deeper study was in order, American management hired a consulting company and paid them a large amount of money for a second opinion.  They advised, of course, that too many people were steering the boat, while not enough people were rowing.</p>
<p>Not sure of how to utilize that information, but wanting to prevent another loss to the Japanese, the rowing team’s management structure was totally reorganized to 4 steering supervisors, 3 area steering superintendents and 1 assistant superintendent steering manager.</p>
<p>They also implemented a new performance system that would give the 1 person rowing the boat greater incentive to work harder. It was called the ‘Rowing Team Quality First Program,’ with meetings, dinners and free pens for the rower. The new change initiative also included plans for getting new paddles, canoes and other equipment, plus extra vacation days for practices and bonuses.</p>
<p>The next year the Japanese won by two miles.</p>
<p>Humiliated, the American management laid off the rower for poor performance, halted development of a new canoe, sold the paddles, and canceled all capital investments for new equipment. The money saved was distributed to the senior executives as bonuses and the next year’s racing team was outsourced to India.</p>
<p>Sadly, The End.</p>
<p>Sad, but oh so true! Here’s something else to think about: Ford has spent the last thirty years moving all its factories out of the US, claiming they can’t make money paying American wages. Toyota has spent the last thirty years building more than a dozen plants inside the US.</p>
<p>The last quarter’s results: Toyota makes 4 billion in profits while Ford racked up 9 billion in losses. Ford folks are still scratching their heads.</p></blockquote>
<p>While this parable was about the auto industry, it is repeated in many American Industries, particularly those in the manufacturing sector.</p>
<p>How can we survive as a country without a viable manufacturing sector?  There are only three ways to create wealth. You can grow it, you can mine it or you can manufacture it.  Everything else only transfers wealth.  And yet we continue to move or outsource manufacturing out of this country.  We do this under the pretense that we cannot compete with lower cost wages elsewhere in the world. Yet as so clearly pointed out in the parable companies like Toyota are competing and running highly efficient plants in this country. The cost of labor is not the problem.  The problem is our bloated management structures and the fact that we often waste our most valuable resource, our people.</p>
<p>The key to success is simpler organizational structures and organizing people around a work flow or value stream. Set easily understood and highly visible goals and then empower the team to accomplish these goals.  The goals need to be aggressive and yet achievable.  There are several ways to establish appropriate goals.  Two of my favorites are benchmarking the best of the best or developing a zero loss journey roadmap. I’ll talk more about these methodologies in a subsequent blog post. Finally results must be continuously monitored and constructive, timely feedback must be provided to the team.</p>
<p>AS IT professionals, our challenge is to design and build information systems that can assist organizations in maximizing the potential of our human resources to achieve a common goal.  Most of our current systems were designed to provide data to complex management structures in complex departmentalized organization structures. As such they do not provide meaningful information that can be used by production teams to achieve their goals.</p>
<p>How can we in the IT community help organizations get information (not reams of data) to the “rowers” that they can use to win the race?</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2010/02/a-modern-parable/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blue Monday</title>
		<link>http://blogs.sourceallies.com/2010/01/blue-monday/</link>
		<comments>http://blogs.sourceallies.com/2010/01/blue-monday/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 14:00:53 +0000</pubDate>
		<dc:creator>Mandy Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/?p=1025</guid>
		<description><![CDATA[January 25th is an important day… it’s not a holiday, it’s not a paid day off… it is…
The
L        o        n        g        e        s        t
and
most depressing
day of the year


Many different factors go into the equation of determining what day is the longest of the [...]]]></description>
			<content:encoded><![CDATA[<p>January 25th is an important day… it’s not a holiday, it’s not a paid day off… it is…</p>
<p style="text-align: center;"><img class="alignleft size-thumbnail wp-image-1027" title="WinterBlues" src="http://blogs.sourceallies.com/wp-content/uploads/2010/01/WinterBlues-150x150.jpg" alt="WinterBlues" width="124" height="124" />The</p>
<p style="text-align: center;">L        o        n        g        e        s        t</p>
<p style="text-align: center;">and</p>
<p style="text-align: center;"><em>most depressing</em></p>
<p style="text-align: center;">day of the year</p>
<p style="text-align: center;">
<p><span id="more-1025"></span><br />
Many different factors go into the equation of determining what day is the longest of the year.  Those include:</p>
<ul>
<li>Failed New Year’s resolutions</li>
<li>Bills from the holidays piling up</li>
<li>Weather patterns and how early it gets dark</li>
<li>No holidays to look forward to in the near future</li>
</ul>
<p>So how can YOU fight this seasonal slump that’s on the horizon?  In your daily work routine, it’s easy to forget why you do your work and focus only on how you do it.  The key is to focus on the “why” in order to discover your hidden passion that can very easily be forgotten.  Identify the benefits you are directly providing your customers by asking yourself the following questions:</p>
<ol>
<li>How will my product improve life for my customer?</li>
<li>How do I add value for my customer?</li>
<li>What is unique about what I offer that I can be proud of?</li>
</ol>
<p>When you realize your passion, now is your time to show it off!  Be truly excited about the work you are doing by focusing on your body posture, speaking with energy and commitment and maintaining eye contact!</p>
<p>“If you show passion in your work every day and with every customer, you <strong><em>will</em></strong> get more sales and you <strong><em>will</em></strong> be more persuasive in your work. This in turn <strong><em>will</em></strong> fuel your passion even more. Passion for your work will also help you get through the tough parts of your day. When you are passionate about your work, the day goes by much faster and you are happy about the contribution that you make to your customers and the community.”  -<a href="http://www.brettbacon.com/about-us.aspx">Brett Bacon</a></p>
<p>And if this doesn&#8217;t help you get through the day January 25th, maybe a glimpse of spring will help!</p>
<p><img class="aligncenter size-thumbnail wp-image-1033" title="Perfect day" src="http://blogs.sourceallies.com/wp-content/uploads/2010/01/Spring1-150x150.jpg" alt="Perfect day" width="203" height="203" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2010/01/blue-monday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Black Screen Of Death</title>
		<link>http://blogs.sourceallies.com/2009/12/windows-black-screen-of-death/</link>
		<comments>http://blogs.sourceallies.com/2009/12/windows-black-screen-of-death/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 18:00:41 +0000</pubDate>
		<dc:creator>Vic Banta</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/?p=531</guid>
		<description><![CDATA[It seems the Black Screen of Death has struck again. Microsoft isn&#8217;t confirming or denying that the issue was caused by a Microsoft update, but this issue is not new to Windows users. It affects all breeds of Windows OS, after logging in the screen goes black. Some users are able to bring up the [...]]]></description>
			<content:encoded><![CDATA[<p>It seems the Black Screen of Death has struck again. Microsoft isn&#8217;t confirming or denying that the issue was caused by a Microsoft update, but this issue is not new to Windows users. It affects all breeds of Windows OS, after logging in the screen goes black. Some users are able to bring up the task manager by doing a ctrl + alt + delete. <span>Prevx</span> (A security company in the UK) has provided a possible fix. <span>Prevx released a statement about this issue: </span></p>
<p><em><span>&#8220;The cause of this recent crop of Black Screen appears to be a change in the Windows Operating System&#8217;s lockdown of registry keys,&#8221; wrote Kennerly. &#8220;This change has the effect of invalidating several key <a href="http://www.crn.com/encyclopedia/defineterm.jhtml?term=registry&amp;x=&amp;y=">registry</a> entries if they are updated without consideration of the new ACL rules being applied. For reference the rule change does not appear to have been publicized adequately, if at all, with the recent Windows updates.&#8221; </span></em></p>
<p>Here are the recommended steps</p>
<ul>
<li>Restart</li>
<li>Log on and wait for the black screen to appear</li>
<li>Make sure your PC should be able to connect to the Internet (black screen does not appear to affect this)</li>
<li>Press the CTRL, ALT and DEL keys simultaneously</li>
<li>When prompted, Click Start Task Manager</li>
<li>In Task Manager Click on the Application Tab</li>
<li>Next Click New Task</li>
<li>Now enter the command:</li>
<li>&#8220;C:\Program Files\Internet Explorer\iexplore.exe&#8221; &#8220;http://info.prevx.com/download.asp?GRAB=BLACKSCREENFIX&#8221;  (The file has a code certificate backed by VeriSign.)</li>
<li> Click OK and your (Web) browser should start up and begin the download process</li>
<li>When prompted for the download Click run, the black screen fix program will download and run to automatically fix the issue.</li>
<li>Now restart your PC and the black screen problem will hopefully be gone.</li>
</ul>
<p>You have a 1 in 10 chance that this will actually work.</p>
<p>For all the positives that updates have to offer the truth remains that the results can sometimes be undesirable. Security patching is a must and I would never recommend not performing updates. The wise engineer will image his or her disk or make some other form of reliable backup before performing updates. Unfortunately as shown with this issue, the negative effects may take a couple of weeks to surface, and in a production environment rolling back to an image is not an option.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2009/12/windows-black-screen-of-death/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Success!</title>
		<link>http://blogs.sourceallies.com/2009/11/success/</link>
		<comments>http://blogs.sourceallies.com/2009/11/success/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 16:21:54 +0000</pubDate>
		<dc:creator>Mandy Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/?p=423</guid>
		<description><![CDATA[While searching through quotes to include in our company newsletter, I came across this:
“Any fact facing us is not as important as our attitude toward it,
for that determines our success or failure”
Read that again&#8230;
“Any fact facing us is not as important as our attitude toward it,
for that determines our success or failure”
The mind is a [...]]]></description>
			<content:encoded><![CDATA[<p>While searching through quotes to include in our company newsletter, I came across this:</p>
<p style="text-align: center;">“Any fact facing us is not as important as our attitude toward it,</p>
<p style="text-align: center;">for that determines our success or failure”</p>
<p>Read that again&#8230;</p>
<p style="text-align: center;">“Any fact facing us is not as important as our <strong>attitude</strong> toward it,</p>
<p style="text-align: center;">for that determines our <strong>success or failure</strong>”</p>
<p>The mind is a very powerful thing.  For example, I don’t believe I’m the only one to experience being in a store next to a visibly sick individual and after they sneeze I start to feel like I’m getting sick.  It’s impossible to get sick that quickly but my mind starts thinking of the possibility of catching the virus this stranger had… and how I have so many plans, I can’t be sick… what am I going to do… and instantly I start to think that I’m sick.  The mind has the ability to quickly convince us something is happening that isn’t!</p>
<p>The thoughts in your head, positive or negative, directly affect your attitude.  Your attitude directly affects how others react to you.  Those closest to you, your family and your co-workers, are able to tell what type of thoughts are going through your mind by a simple look at your face and they react accordingly.</p>
<p>So what is my point?  Take a self inventory!  Are most of the thoughts that go through your mind positive or negative?  The situations that you face on a daily basis are NOT as important as how you decide to handle them.  When a difficult situation arises and you start to see it in a negative light, remind your self…</p>
<p style="text-align: center;"><em>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</em></p>
<p style="text-align: center;">“Any fact facing us is not as important as our attitude toward it,</p>
<p style="text-align: center;">for that determines our success or failure”</p>
<p style="text-align: center;"><em>-Norman Vincent Peale</em></p>
<p style="text-align: center;"><em>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
</em></p>
<p style="text-align: center;"><em>Think positively… Aim for success!</em></p>
<p style="text-align: center;">You may be amazed at the outcome when you do!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2009/11/success/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monte-Carlo Localization in a Nutshell</title>
		<link>http://blogs.sourceallies.com/2009/11/monte-carlo-localization-in-a-nutshell/</link>
		<comments>http://blogs.sourceallies.com/2009/11/monte-carlo-localization-in-a-nutshell/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 17:51:02 +0000</pubDate>
		<dc:creator>Max  Kuipers</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[ninjas]]></category>
		<category><![CDATA[robots]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/?p=388</guid>
		<description><![CDATA[If you&#8217;re a nerd like most of us here at Source Allies, you probably think robots are cool.  One of the most important part of robotics is teaching the robot to find its location on a geographic map &#8211; a process known as  &#8220;localization.&#8221; One such algorithm for solving this problem is known as Monte [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re a nerd like most of us here at Source Allies, you probably think robots are cool.  One of the most important part of robotics is teaching the robot to find its location on a geographic map &#8211; a process known as  &#8220;localization.&#8221; One such algorithm for solving this problem is known as Monte Carlo Localization. When talking about this algorithm, we typically use a a notion commonly referred to as &#8220;particles.&#8221;  These particles generally can be thought of as virtual manifestations of the robot within some computer.  They are postulations about the robot&#8217;s location, orientation, and certainty of this information on a geographic map.  With that in mind, the Monte Carlo Localization algorithm in plain English is as follows:</p>
<ol>
<li>Initialize set of particles (or beliefs about the robot&#8217;s location.) Depending on what problem you&#8217;re trying to solve, the set of particles can either be random or already localized.</li>
<li>Gather data about the physical environment by interacting (taking in sensor information, moving around)</li>
<li>Look at each particle in your set of particles and assign a weight to each based on how well that particle fits with the the data gathered in step 2. Basically, our certainty about whether a particle is actually representing the robot&#8217;s location and orientation determines the &#8220;weight.&#8221;</li>
<li>Create new set of particles by resampling from particles with greater weights. This is sort of a Darwinian, survival of the fittest, particles with higher weights repopulate the set for the next round.</li>
<li>Replace old set of particles with a new set and start again at step 2.</li>
</ol>
<p>So that was a very basic, watered down version of the algorithm that omits many important statistical calculations, but hopefully it gets most of the main idea across.</p>
<p>In case there is any confusion, let&#8217;s walk through an example.  Let&#8217;s say I am a robot. For obvious reasons, I was kidnapped by some ninjas. The ninjas then released somewhere in downtown Des Moines I have no idea where I am at first.  Fortunately, I am a robot and have a perfect map of downtown Des Moines, so I initialize in my head a set of postulations about my position and orientation. These beliefs are completely random and distributed fairly evenly over all of downtown Des Moines and all have different random orientations.</p>
<p>First thing I do is open my eyes and look around, perhaps I&#8217;ll take a few steps in any direction and continue gathering visual information.  I see a Smokey D&#8217;s.  Then I look at all the particles in my set of particles and determine which of those particles also would see a Smokey D&#8217;s.  I decide that those particles are better than all the other particles and assign them greater weights.  Then I go through my set of particles again do some ninja-statistics that I learned while I was kidnapped to decide which particles can make it to round two and which cannot. What I&#8217;d end up with is two clusters of particles around the two points, appropriately titled &#8220;A&#8221; and &#8220;C.&#8221;</p>
<div id="attachment_403" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-403" src="http://blogs.sourceallies.com/wp-content/uploads/2009/11/Picture-3-300x222.png" alt="There would be a cluster of particles around A and C" width="300" height="222" /><p class="wp-caption-text">There would be a cluster of particles around A and C</p></div>
<p>Then I&#8217;d go back to step 2, interact with my environment some more, find out that I&#8217;m actually indoors and that fits better with the particles around A &#8211; the Smokey D&#8217;s in the skywalks. Perhaps I&#8217;d repeat from step 2 a few more times and eventually weed out particles until I have a full set of particles that are all in a very similar spot around the Smokey D&#8217;s in the Skywalks. Then I know where I am and I&#8217;m a happy robot.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2009/11/monte-carlo-localization-in-a-nutshell/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Agile Conversations</title>
		<link>http://blogs.sourceallies.com/2009/11/agile-conversations/</link>
		<comments>http://blogs.sourceallies.com/2009/11/agile-conversations/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 15:24:43 +0000</pubDate>
		<dc:creator>John  Bracy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://blogs.sourceallies.com/2009/11/agile-conversations/</guid>
		<description><![CDATA[Everyone, especially project managers, is in love with Agile Development. And why wouldn&#8217;t they be? Under the old school system, you&#8217;d end up with developers either sitting around uselessly, or drafting up prototypes that will only be thrown away. Agile allows for parallel design and development, wasting less time and money. But there&#8217;s always a [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone, especially project managers, is in love with Agile Development. And why wouldn&#8217;t they be? Under the old school system, you&#8217;d end up with developers either sitting around uselessly, or drafting up prototypes that will only be thrown away. Agile allows for parallel design and development, wasting less time and money. But there&#8217;s always a tradeoff. In this case, I&#8217;m thinking of commonality of design. Let me explain by example:</p>
<p>I&#8217;m currently working an Agile project with three developers including myself. We&#8217;ve divied up the tasks so that one is doing the JSF database plumbing, and the other two are creating the web services that sit on the back end. We started development without having a certain idea of certain database keys, so we naturally wrapped the keys in an object that we could easily change when the decision was made. It let us move forward with development and had a very low cost for change when business came back with a decision. But we each implemented it in a difference way, using a different nomenclature and at different times. So now we have three objects that perform identical tasks, and require a translation process when our respective parts interact with each other. It&#8217;s not broken, but it&#8217;s definitely messy.</p>
<p>And it&#8217;s a natural fallout of the tendency to think that Agile means you start developing right away, and things like requirements and interfaces can be laid on top of the code later. How do we prevent it? Sadly, communication is the only answer. Code reviews early on could have prevented this situation before it would have been a pain in the tuckus to refactor. A project wiki exists, and even has a section that lays out common objects and interfaces. But the wiki was infrequently referenced for matters of actual code implementation; it was for the documents and the Agile storyboards. </p>
<p>In the end, it&#8217;s important to recognize that Agile development has taken the large chunk of communication out of the beginning phase of a project. But that communication isn&#8217;t gone, it&#8217;s been spread out over the duration of the project, and in most cases that means there going to be a lot more of it. As developers we eagerly embrace Agile projects since it means we don&#8217;t spend two months in design meetings and can&#8217;t indulge our love of code early on, but we have to realize that it comes with a cost. We actually have to talk to each other. </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.sourceallies.com/2009/11/agile-conversations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
