<?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>Gigu's blog &#187; development</title>
	<atom:link href="http://blog.gigoo.org/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gigoo.org</link>
	<description>wEBbLOG</description>
	<lastBuildDate>Thu, 01 Jul 2010 22:59:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to use simulators during web development</title>
		<link>http://blog.gigoo.org/2010/03/23/how-to-use-simulators-during-web-development/</link>
		<comments>http://blog.gigoo.org/2010/03/23/how-to-use-simulators-during-web-development/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 07:33:36 +0000</pubDate>
		<dc:creator>Greg Gigon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[patterns]]></category>
		<category><![CDATA[practices]]></category>
		<category><![CDATA[simulators]]></category>

		<guid isPermaLink="false">http://blog.gigoo.org/?p=4927</guid>
		<description><![CDATA[This is probably two topics that I would like to combine into one, as they are related in the context I will be writing about.
In one of the previous articles I wrote about the story wall that we evolved on our project. Christian in his article, described the way we worked not in pairs but [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-4929" title="Ski Simulator" src="http://blog.gigoo.org/wp-content/uploads/2010/03/ski-simulator-01-02-09-150x150.jpg" alt="Ski Simulator" width="150" height="150" />This is probably two topics that I would like to combine into one, as they are related in the context I will be writing about.</p>
<p>In one <a title="Revolution-evolution of a story wall" href="http://blog.gigoo.org/2010/02/15/revolution-evolution-of-a-story-wall/"  target="_self">of the previous articles</a> I wrote about the story wall that we evolved on our project. <a title="Threesomes" href="http://christianralph.blogspot.com/2010/02/menage-trois-in-kinky-teams.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/christianralph.blogspot.com');" target="_blank">Christian in his article</a>, described the way we worked not in pairs but in <strong>threesomes</strong>. Two developers and a QA. This was the way that involved iterative, small-steps, story delivery with constant showcasing to QA. QA was able to instantly check the correctness of a functionality, business logic, even a site layout and provide feedback to devs about it.</p>
<p>As any application (at least majority of them) our application has multiple points of integration to other systems. Database, web services, file system etc. One of the integration points was delivered some time ago and never tested, we were ready for a problems and bugs.</p>
<p>It would be very unwise to stop development because the part of the system needs fixing or some rework carried. We decided that we will shield our selfs with the layer of wrappers around third party systems , that we called <strong>Anti Corruption Layer</strong>.</p>
<p>The Layer gives as a constant API controlled by ourselves but it doesn’t mean that we can continue our way of working and constantly showcase all the acceptance criteria to our QAs and BAs.</p>
<p>We decided to bring on <strong>simulators</strong> on a board and hooking them into our anti corruption layer. This is how we achieved it:</p>
<h3>Control</h3>
<p>It would be very painful to switch simulator on or off using configuration in one of the file. Knowledge about the environment was not sufficient enough as we don’t want simulators to be on or off all the time. What we decided was to create a class called <em><strong>SimulatorDecider</strong></em> that will use two variables to determine if the Simulator should be on or off: current environment and a browser cookie.</p>
<p>The environment variable allowed us to switch simulators off regardless of the cookie, in any environment other than DEV or TEST.</p>
<p>Cookie in web browser is very simple to set and to remove. We created a little page called <em><strong>Cookie Monster</strong></em> that has a simple on/off buttons for setting and removing the Simulator cookie.<br />
The approach gives a possibility to control and switch on/off different parts of the system by using different cookies for each parts.</p>
<h3>Simulator</h3>
<p>We have a bunch of wrappers around the integration points. The one that we are interested in, the one that we would like to simulate, we decorate with Configurable object and inject SimulatorDecider into it. This is how it works:</p>
<pre><code>
interface IFoo
{
  ReturnType DoStuff(ParameterType type);
}

public class Foo : IFoo
{
  public ReturnType DoStuff(ParameterType type)
  {
    // Doing some real stuff that is very important
  }
}

public class SimulatedFoo : IFoo
{
  public ReturnType DoStuff(ParameterType type)
  {
    // Doing some other stuff that is only SIMULATED
  }
}

public class ConfigurableFoo : IFoo
{
  private SimulatorDecider _simulatorDecider;

  public SimulatedFoo(SimulatorDecider simulatorDecider, IFoo realFoo, IFoo simulatedFoo)
  {
    _simulatorDecider = simulatorDecider;
  }
  public ReturnType DoStuff(ParameterType type)
  {
    if (_simulatorDecider.ShouldSimulate())
    {
      return _simulatedFoo.DoStuff(type);
    }
    return _realFoo.DoStuff(type);
  }
}
</code></pre>
<p>Because we are using <strong>dependency injection container</strong> <a title="Yadic" href="http://code.google.com/p/yadic/" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');" target="_blank">(Yadic)</a> we don’t need to worry about dependencies.<br />
It is also possible to not code <em><strong>SimulatedFoo</strong></em> as separate type and just inline simulated behavior within the configurable type. We made this decision on a base of how complex the simulated behavior should be.</p>
<p>Hope you find this useful when you stuck on integration pice that you don’t know how to carry on <img src='http://blog.gigoo.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Comments are welcome as always <img src='http://blog.gigoo.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Greg</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gigoo.org/2010/03/23/how-to-use-simulators-during-web-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is your favorite development platform, survey results</title>
		<link>http://blog.gigoo.org/2010/03/10/what-is-your-favorite-development-platform-survey-results/</link>
		<comments>http://blog.gigoo.org/2010/03/10/what-is-your-favorite-development-platform-survey-results/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 13:03:14 +0000</pubDate>
		<dc:creator>Greg Gigon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.gigoo.org/?p=4903</guid>
		<description><![CDATA[Not to long ago I posted an article on my favorite environment for software development. There was also a survey in that post asking about your favorite environment. The results are below.

Clearly, Linux is a winner. Here are some comments you guys added to a survey.

Can&#8217;t believe people are still using text editors to code&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Not to long ago I posted an article on my favorite environment for software development. There was also a survey in that post asking about your favorite environment. The results are below.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://chart.apis.google.com/chart?cht=p3&amp;chco=0000FF&amp;chd=t:62.5,9.4,28.1&amp;chl=Linux|Windows|Mac%20OS%20X&amp;chs=500x250" alt="" /></p>
<p style="text-align: left;">Clearly, Linux is a winner. Here are some comments you guys added to a survey.</p>
<blockquote>
<p style="text-align: left;">Can&#8217;t believe people are still using text editors to code&#8230; Visual studio rocks!</p>
</blockquote>
<p>Well, not sure about this comment <img src='http://blog.gigoo.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote>
<p style="text-align: left;">Well, Ubuntu. For the package system, for the standard package archives and for the PPAs. And for everything else about it being good enough.</p>
</blockquote>
<blockquote>
<p style="text-align: left;">Windows 7, mainly because ive been using windows for, well ever. I find it really intuitive and i just know the tools really well. Windows 7 is really nice too.</p>
</blockquote>
<blockquote>
<p style="text-align: left;">Obviously I long for the day that will never come when I can develop my .net applications in intellij, deploy to a cut down windows vm for compilation and testing against iis&#8230; Anyway dreaming aside I pick mac osx for reasons you said and also because I have one and nothing beats dev on a native machine&#8230;</p>
</blockquote>
<blockquote>
<p style="text-align: left;">Mac is quite reasonable. Windows just feels clunky.</p>
</blockquote>
<blockquote>
<p style="text-align: left;">I need to be able to navigate to files and find things quickly, let alone use apps. Windows explorer/cmd is crap. Linux and Mac OS both work quickly and the command-line is effective. Mac OS X, however, just requires less of my time to maintain it than Linux. All three work similar from within an app like Eclipse.</p>
</blockquote>
<blockquote>
<p style="text-align: left;">Could be interpreted as a fan oy phrase, but for dev there is no better option than Linux&#8230;</p>
</blockquote>
<blockquote>
<p style="text-align: left;">I prefer Max because when I develop I am not just programming. Sometimes I need to check some screencast and last time that I used Linux (last year) I was not able to check all of them. Also I need a good mail and contact manager, I tried Thunderbird and Evolution. But none of them where satisfying my need.<br />
Also i use my computer to develop and for personal use (creating video, music viewing videos). Linux is poor on that side.</p>
</blockquote>
<blockquote>
<p style="text-align: left;">I still have to fall back to Windows when working with clients who insist on using Outlook for calendaring and those horrible built-in surveys. Some aspects of my MacBook are pleasant, but I detest the keyboard layout &#8211; no home/end/pgup/pgdown and, worst of all, no visible # key <img src='http://blog.gigoo.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
</blockquote>
<p style="text-align: left;">We all got a favorite environment, but what is the actual one that you use every day at work? I&#8217;m using Visual Studio as there is no real aternative to .NET development. Fortunatelly ReSharper makes it usable <img src='http://blog.gigoo.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: left;">Thanks for your answers guys, Greg</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gigoo.org/2010/03/10/what-is-your-favorite-development-platform-survey-results/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows, Mac or Linux? Flavours of development environments</title>
		<link>http://blog.gigoo.org/2010/03/04/windows-mac-or-linux-flavours-of-development-environments/</link>
		<comments>http://blog.gigoo.org/2010/03/04/windows-mac-or-linux-flavours-of-development-environments/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 07:00:51 +0000</pubDate>
		<dc:creator>Greg Gigon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.gigoo.org/?p=4894</guid>
		<description><![CDATA[After a few months of using Mac as a playground and development machine I took a little step back to remind myself of all different environments/systems/platforms I was using in my short development carrier. I know what you think, that I will say Mac is the best. But it actually it isn&#8217;t. At least not [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-4896" style="padding: 10px;" title="linux-mac-windows" src="http://blog.gigoo.org/wp-content/uploads/2010/03/linux-mac-windows-150x150.png" alt="" width="173" height="173" />After a few months of using Mac as a playground and development machine I took a little step back to remind myself of all different environments/systems/platforms I was using in my short development carrier. I know what you think, that I will say Mac is the best. But it actually it isn&#8217;t. At least not for me. Why?</p>
<h3>Linux</h3>
<p>I used Linux in my early days of development. I was coding on practically knitted together pice of hardware with free operating system. I was using Mandrake and Suse, switching between them constantly . After few years I switched to Ubuntu. Using Linux as development platform was harsh and raw when I started. After few ups and downs I got to grips with it and it server well as platform for PHP, Java and Ruby development. With Ubuntu it was extremely easy to install new software and be up to date. I never managed to crash it (no blue screens of death).</p>
<p>There was one quite big issue with it though, lack of .Net development environment. I have to mention as well problems with file formats in the every day office life.</p>
<h3>Windows</h3>
<p>The only environment that I could develop on targeting Windows environment as runtime. With .Net and C# Windows became bearable and useful. I didn&#8217;t have problems with office documents compatibility anymore. It was possible to set it up with Unix like command line tools and possible to script and automate a lot of build/setup tasks. There was one very big flow in the setup. After few days of usage, somehow Windows manage always to crap itself with plenty of junk and gets very slow. The most common solution for that problem was &#8230; reinstall.</p>
<h3>Mac</h3>
<p>Very shiny and friendly. I love the 4 fingers swam and expose. It has Unix/Linux command line out of the box so I don&#8217;t have to install anything for that. Comes with a bunch of tools for development. Unfortunately most of them are for Mac development.</p>
<p>Once you would like to get a latest version of Java, Ruby or Python, it is impossible to simply change or upgrade the version as parts of the system (some OSX applications) depends on specific version. So &#8230; I was in a hassle to build it up for what I wanted it to be. Now when it&#8217;s ready, it rocks. It would be very cool if some of the task that needs to be done in order to make it work I had to google and spent some time on it.</p>
<p>So &#8230; for me the best platform is &#8230;. LINUX, TADAAA. Simple and to the point on installing different environments. Huge community with plenty of tips, easy to find. With OpenOffice.org and Google Docs pain of documents incompatibility disappears.</p>
<p>I guess for me the winner is the one that gets me up and running in no time and is very easy and Agile when I want/need the change.</p>
<p>What&#8217;s your favorite Platform? What do you like and what dislike. Please take a moment to answer this short survey or just post a comment <img src='http://blog.gigoo.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I will post the results and survey findings in next few weeks.</p>
<blockquote>
<p style="text-align: center; font-size: 2em;">Survey closed</p>
</blockquote>
<p>Greg</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gigoo.org/2010/03/04/windows-mac-or-linux-flavours-of-development-environments/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Revolution &#8211; Evolution of a story wall</title>
		<link>http://blog.gigoo.org/2010/02/15/revolution-evolution-of-a-story-wall/</link>
		<comments>http://blog.gigoo.org/2010/02/15/revolution-evolution-of-a-story-wall/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 22:38:35 +0000</pubDate>
		<dc:creator>Greg Gigon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[story wall]]></category>

		<guid isPermaLink="false">http://blog.gigoo.org/?p=4875</guid>
		<description><![CDATA[Everyone who knows or was close to Agile Software Development knows something about Story Wall. If by any chance you don&#8217;t, here goes.
Tell me the Story
Story is software requirement/feature/pice of functionality that is presented in story telling way. For example:
&#8216;Given that I am a new user,
When I arrive at xxx site home page and I [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone who knows or was close to <strong>Agile Software Development</strong> knows something about <strong>Story Wall</strong>. If by any chance you don&#8217;t, here goes.</p>
<h4>Tell me the Story</h4>
<p>Story is software requirement/feature/pice of functionality that is presented in story telling way. For example:<br />
<strong><em>&#8216;Given that I am a new user,<br />
When I arrive at xxx site home page and I click Register button<br />
I will see the registration form so I can register and use the awesome site&#8217;</em></strong></p>
<p>This is just one way of story formating and wording. As many people and teams as there are, wording can take different shape.</p>
<p>For the purpose of the <strong>Wall</strong> we would normally have stories written on a index card in a bit shorter form with reference to more verbose version. The more verbose version contains acceptance criteria (we are using <a title="Mingle" href="http://www.thoughtworks-studios.com/mingle-agile-project-management" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.thoughtworks-studios.com');" target="_blank">Mingle</a> most of the time for that purpose).</p>
<h4>The Wall</h4>
<p>The wall is a physical place where we stick our story cards. Wall is a visual dashboard. It gives every team member current state of an iteration.</p>
<p>Wall is usually split into columns that indicates what is the current state of the story. A wall will usually have columns like:</p>
<ul>
<li> In Analysis</li>
<li> Ready for Development</li>
<li> In Development</li>
<li> Ready for QA</li>
<li> In QA</li>
<li> Ready for Sign-off</li>
<li> Finished</li>
<li> Blocked (the infamous one)</li>
</ul>
<p>This is a very typical wall setup. I worked with this shape of wall on many projects I was on. It is quite good, gives all important feedback through entire life cycle of a story.</p>
<p><img class="aligncenter size-medium wp-image-4876" title="Story wall" src="http://blog.gigoo.org/wp-content/uploads/2010/02/card-wall-300x261.jpg" alt="Story wall" width="331" height="287" /></p>
<p>It is very important to point out the fact that story wall maps to a development process. The columns on a wall are direct map to the way we work. As you might already know it is essential to <strong>bend and improve the process</strong> in order to achieve best results possible.</p>
<p>A very short break through the mentioned story wall. When Story got analyzed it moves into ready for development. Developer picks it up and works on it. When work on it is finished it is ready for being QA. If there are any bugs or hidden &#8220;features&#8221; it goes back to Development and so on. Once QA is happy with the story it is ready for Sign-Off. In any point in time if something stop story from being Developed/QAed/Analyzed it goes into blocked. Once the story is showcased it officially finished.</p>
<p>In perfect world this sounds good, but &#8230; as software development world is one of the most imperfect, it doesn&#8217;t. For example, if stories are in development, QAs might have nothing to do. If stories are developed in &#8220;high rate&#8221; the QA column will pile up. Once story is in QA, devs are picking new story and start their work on it. When bug is discovered on previous one it is raised as bug, or story is moved back to ready for development.</p>
<h4>Evolution</h4>
<p>In our current project, we have identified some issues and decided to change, improve our way of working from the very beginning. As process changed so did our story wall.</p>
<p>Once all the stories for iteration have been analyzed they are landing in Ready for Development. The team has 6 developers, as we are pairing, we are 3 pairs working on 3 stories at the time. This makes <strong>THREE</strong> streams of work that could be started at any time. We decided that we will create THREE vertical slots for that THREE pairs. This means that it is impossible to have four stories worked on at any given point in time.</p>
<p>Next, we decided to <strong>eliminate QA column</strong>. It doesn&#8217;t mean that there is no QA, it means that QAs are involved in testing from very beginning. While the story is worked on, every single bit of new functionality is presented to QA to check it out. Developers are getting immediate feedback and very often tips for things that they could miss. In a mean time QAs are testing on their test environment and preparing automated tests.</p>
<p>We have the luxury of heaving one QA per DEV pair. This makes little teams of <strong>THREE</strong>. When development is finished there is very little for QA to test as it was already done. At the end newly created automated tests are fired up just to confirm that all is done.</p>
<p>As it is a team effort (a DEV pair plus QA) to FINISH the story, DEVS are helping in testing and in development of automated tests when needed. The story goes than into Ready for Sign-Off.</p>
<p>It involved discipline to make sure that only one story is worked on at the time, until entirely finished and being ready for presentation to business sponsor.</p>
<p>The THREE musketeers are responsible for the story to be finished and to improve the process.</p>
<p style="text-align: center;"><a href="http://blog.gigoo.org/wp-content/uploads/2010/02/story-wall.jpg" ><img class="aligncenter size-medium wp-image-4877" title="Story wall" src="http://blog.gigoo.org/wp-content/uploads/2010/02/story-wall-300x200.jpg" alt="Story wall" width="363" height="242" /></a></p>
<h4>Revolution</h4>
<p>How did this process change affect our project. Short summary.</p>
<ul>
<li> We have completed all the required scope for release, <strong>in given time</strong> (a little ahead of time)</li>
<li> Number of recorded <strong>bugs: 1</strong> (fixed few minutes after it was reported)</li>
<li> Team morale, <strong>GREAT</strong></li>
</ul>
<p>We are very happy with this setup. What YOU think about it?</p>
<p>Cheers, Greg and the Team</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gigoo.org/2010/02/15/revolution-evolution-of-a-story-wall/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The secreat art of learning or &#8230; help me, I&#8217;m bored</title>
		<link>http://blog.gigoo.org/2009/11/19/the-secreat-art-of-learning-or-help-me-im-bored/</link>
		<comments>http://blog.gigoo.org/2009/11/19/the-secreat-art-of-learning-or-help-me-im-bored/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 00:29:35 +0000</pubDate>
		<dc:creator>Greg Gigon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[learning]]></category>

		<guid isPermaLink="false">http://blog.gigoo.org/?p=4839</guid>
		<description><![CDATA[
I just picked up new Development exercise. I decided to learn some programming for Android devices. I&#8217;m missing a truly great app for my Android handset that I could get for iPhone or desktop app, TweetDeck. This is my driver and my goal.
I spent some time to get to know the platform and the architecture. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-thumbnail wp-image-4838 alignleft" title="Android" src="http://blog.gigoo.org/wp-content/uploads/2009/11/android_vector-150x150.jpg" alt="Android" width="150" height="150" /></p>
<p>I just picked up new Development exercise. I decided to learn some programming for Android devices. I&#8217;m missing a truly great app for my Android handset that I could get for iPhone or desktop app, TweetDeck. This is my driver and my goal.</p>
<p>I spent some time to get to know the platform and the architecture. Reading some very good documentation that Google Android team put together. I downloaded SDK and some tools. Got it setup (turned out to be a trivial task).</p>
<p>So, what do I do now. I know Java, but that&#8217;s only 10% of what I need to know to develop for Android. SDK is the next bit. Plus there are some tips and tricks on how to develop for mobile devices.</p>
<p>I opened one of the tutorials on Android page and after a 10 minutes of reading and following on my computer I got bored. I realized that I enjoy to learn most by pairing on a problem with someone who knows more or at least know some. I don&#8217;t really have anyone to pair with me on my new task. I figured there has to be a better way of learning then.</p>
<p>Question is &#8230; what it is?</p>
<p>Guys, any help? How should I tackle it, so it is not boring as hell?</p>
<p>Cheerios, Greg</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gigoo.org/2009/11/19/the-secreat-art-of-learning-or-help-me-im-bored/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>F1 Dashboard released</title>
		<link>http://blog.gigoo.org/2009/08/17/f1-dashboard-released/</link>
		<comments>http://blog.gigoo.org/2009/08/17/f1-dashboard-released/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 22:31:35 +0000</pubDate>
		<dc:creator>Greg Gigon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[gae]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.gigoo.org/?p=4815</guid>
		<description><![CDATA[In last few months I was working on a little personal project. When Google App Engine team announced that preview of Java version is available I decided to give it a try. When I was looking for a subject of my application, one of the ideas started to emerge more that others. I was looking [...]]]></description>
			<content:encoded><![CDATA[<p>In last few months I was working on a little personal project. When Google App Engine team announced that preview of Java version is available I decided to give it a try. When I was looking for a subject of my application, one of the ideas started to emerge more that others. I was looking for a web site that could aggregate all the information about Formula 1 racing. Because there was none available (or my Google search ended on first few results that were not satisfactory) I decided to make one.</p>
<p>Few weeks and cups of coffee latter <a title="F1 Dashboard.com" href="http://www.f1dashboard.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.f1dashboard.com');" target="_blank">F1Dashboard.com</a> is released.</p>
<p style="text-align: center;">
<div id="attachment_4820" class="wp-caption alignnone" style="width: 489px"><img class="size-full wp-image-4820" title="F1 Dashboard screen shot" src="http://blog.gigoo.org/wp-content/uploads/2009/08/f1-dashboard.jpg" alt="F1 Dashboard screen shot" width="479" height="207" /><p class="wp-caption-text">F1 Dashboard screen shot</p></div>
<h3>Generalities</h3>
<p>So, in few words, F1 Dashboard is agregator of news, and media feeds from world of Formula 1. I decided not to collect content, just store information where to find it and short description.</p>
<p>News are harvested from a number of web sites. Twitter updates serves as another source of news.</p>
<p>Images are comming from Flickr, videos from YouTube.</p>
<p>All updates  are happening every few minutes and are 100% automated.</p>
<h3>Technicalities</h3>
<p>GAE supports Groovy as one of JVM programming languages. I decided to give it a try. I love Groovy, it is somewhere in between a friendly and known Java API and Ruby programming language.</p>
<p>It took me a moment to use to BigTable type of DataStore. It restrictes a way I used to work with databases normaly. Google provide entire environment for local development, whitch means I don&#8217;t have to upload to a cloud to see working result.</p>
<p>I created a little homegrown Model Views Presenter/Controller framework and used StringTemplate as rendering engine.</p>
<p>jQuery is the library of choice to handle all JavaScript.</p>
<p>Page styling was done by a friendly and kind designer from <a title="Circa82" href="http://www.circa82.co.uk" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.circa82.co.uk');" target="_blank">Circa82</a> Michael Austin (thanks buddy).</p>
<p>Come on guys, give it a try and tell me what you think <img src='http://blog.gigoo.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Feedback greatlly appriciated. <a title="http://www.f1dashboard.com" href="http://www.f1dashboard.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.f1dashboard.com');" target="_blank">http://www.f1dashboard.com</a></p>
<p>Cheerios, Greg</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gigoo.org/2009/08/17/f1-dashboard-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
