<?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>The Developer Day &#187; Rant</title>
	<atom:link href="http://www.thedeveloperday.com/category/rant/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thedeveloperday.com</link>
	<description>Staying Curious</description>
	<lastBuildDate>Tue, 27 Jul 2010 17:33:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Pair Programming Explained</title>
		<link>http://www.thedeveloperday.com/pair-programming-explained/</link>
		<comments>http://www.thedeveloperday.com/pair-programming-explained/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 17:32:14 +0000</pubDate>
		<dc:creator>Žilvinas Šaltys</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[pair-programming]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.thedeveloperday.com/?p=605</guid>
		<description><![CDATA[There&#8217;s a lot of confusion over pair programming. It&#8217;s been widely known for a long time and there are a lot of famous companies such as ThoughtWorks actively using pair programming but on the other side there are still a lot of people not knowing what exactly pair programming is, how it works, what are [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a lot of confusion over <strong>pair programming</strong>. It&#8217;s been widely known for a long time and there are a lot of famous companies such as <a href="http://www.thoughtworks.co.uk/">ThoughtWorks</a> actively <strong>using pair programming</strong> but on the other side there are still a lot of people not knowing <strong>what exactly pair programming is</strong>, how it works, what are it&#8217;s <strong>benefits and downsides</strong>. The greatest resource on the matter so far that I&#8217;ve read is Stuart Wray&#8217;s paper for the January 2010 edition of IEEE Software Magazine entitled &#8220;<a href="http://www.computer.org/portal/web/computingnow/0110/whatsnew/software">How Pair Programming Really Works</a>&#8220;. I really enjoyed reading this article because of it&#8217;s scientific approach to the problem.</p>
<p>The main <strong>benefits of pair programming</strong> are these:</p>
<ul>
<li><strong>Communication</strong>. While developers explain software problems to each other they often suddenly experience enlightenment and find the solution they were looking for.</li>
<li><strong>Noticing details</strong>. Experiments prove that focused people can miss an elephant in the room. <strong>Pair programming partners</strong> are usually very helpful to notice various details. For example noticing typos in the code.</li>
<li><strong>Following code standards</strong>. Developers tend to follow best practices more when they work in pairs.</li>
<li><strong>Expertise judgement</strong>. Working with another person in pair is one of the best ways to judge expertise and productivity.</li>
</ul>
<p>The <strong>downside of pair programming</strong> is that developers get burnt out. On one hand it forces developers to keep working instead of reading blogs and emails, but after a while developers might get mentally tired and become counter productive. It&#8217;s important to allow developers to have some &#8220;slack time&#8221; if they need to and do some work solo.</p>
<p><a href="http://www.infoq.com/presentations/ford-large-rails">ThoughtWorks made a great presentation</a> on how they use pair programming on one of their projects. I highly recommend watching it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedeveloperday.com/pair-programming-explained/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lost Art of Simplicity PHP UK 2010</title>
		<link>http://www.thedeveloperday.com/lost-art-of-simplicity-php-uk-2010/</link>
		<comments>http://www.thedeveloperday.com/lost-art-of-simplicity-php-uk-2010/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 00:08:08 +0000</pubDate>
		<dc:creator>Žilvinas Šaltys</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[phpuk]]></category>
		<category><![CDATA[simplicity]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.thedeveloperday.com/?p=565</guid>
		<description><![CDATA[Lost Art of Simplicity by Josh Holmes was the keynote talk at the PHP UK 2010 conference. I found it to be an interesting talk with lots of good advice. While listening to Josh I was able to identify myself in the past participating in all the common software development pitfalls. I would like to share [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.joshholmes.com/blog/2009/04/29/TheLostArtOfSimplicity.aspx">Lost Art of Simplicity by Josh Holmes</a> was the keynote talk at the <a href="http://www.phpconference.co.uk/">PHP UK 2010 conference</a>. I found it to be an interesting talk with lots of good advice. While listening to Josh I was able to identify myself in the past participating in all the common software development pitfalls. I would like to share what I consider to be at least some of the most important points from the talk:</p>
<ol>
<li> <strong>Work with your users. Focus on them and their exact needs</strong>. As developers we often tend to forget that actual users will be using our systems. We should stop and think is what we&#8217;re doing going to fulfill the actual needs of our users.</li>
<li><strong>When deciding which tools to use for a particular problem or a project always carefully weigh all the benefits and downsides to pick the best tools for the job.</strong> If for example most of your company&#8217;s software is written in PHP and is using MySQL doesn&#8217;t necessarily mean that you should keep doing so. It might be that another language such as <a href="http://www.python.org">Python</a> or another type of a data store such as <a href="http://couchdb.apache.org/">CouchDB</a> might be a better choice for your next project. Developers also like to play with new shiny experimental toys but it doesn&#8217;t mean that it&#8217;s the best idea for your company to use it for a particular problem.</li>
<li><strong>Do the simplest thing possible.</strong> As Albert Einstein once said &#8220;Things should be made as simple as possible, but not any simpler&#8221;. &#8220;Cleverness&#8221; might not always be a good solution. Complexity involves more moving parts and more possibilities for things to fail. As developers we tend to think about possible future developments. While it is good to do so it is also important not to over do it. While it may be reasonable to believe that a different caching mechanism might be used for a project that you work on it&#8217;s less likely that another database vendor will be used in the future.</li>
<li><strong>Invented here syndrome</strong>. It is very likely that any problem you will have will be already solved by many other people before you. If instead of inventing your own solution to the problem you can use someone else&#8217;s tools by all means do so. Not every tool might do exactly what you need, not every tool might seem trustworthy enough but there&#8217;s no excuse for not trying to find the best available tools.</li>
</ol>
<p>If you are interested to learn more take a look at <a href="http://www.joshholmes.com/blog/2009/04/29/TheLostArtOfSimplicity.aspx">Josh&#8217;s blog</a> where presentation slides and a full transcript is available.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedeveloperday.com/lost-art-of-simplicity-php-uk-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPNW09 Conference</title>
		<link>http://www.thedeveloperday.com/phpnw09-conference/</link>
		<comments>http://www.thedeveloperday.com/phpnw09-conference/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 00:02:53 +0000</pubDate>
		<dc:creator>Žilvinas Šaltys</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[phpnw09]]></category>

		<guid isPermaLink="false">http://www.thedeveloperday.com/?p=174</guid>
		<description><![CDATA[This is my summary of PHPNW09 conference that I was lucky to attend. This was my first real conference and I was blown away. Talks that I enjoyed most are the keynote about the uncertainty principle, Lorna&#8217;s talk about the Joel Test and Rob Alen&#8217;s talk about project management. It was also very interesting to [...]]]></description>
			<content:encoded><![CDATA[<p>This is my summary of <strong><a href="http://conference.phpnw.org.uk/phpnw09/">PHPNW09 </a></strong>conference that I was <strong>lucky </strong>to attend. This was my <strong>first real</strong> conference and I was <strong>blown away</strong>. Talks that I enjoyed most are the keynote about the <strong><a href="http://www.friendly-ware.com/ben/software-project-management/uncertainty-principle/">uncertainty principle</a></strong>, <a href="http://www.lornajane.net/">Lorna&#8217;s </a>talk about the <strong>Joel Test</strong> and <a href="http://akrabat.com/">Rob Alen&#8217;s</a> talk about project management. It was also very interesting to hear about the state of the PHP project and it&#8217;s internal development teams. Did you know that <a href="http://www.php.net">PHP</a> has only about <strong>100</strong> active developers of whom only ~<strong>10</strong> are core developers?</p>
<p>The event itself was perfectly organised. I don&#8217;t have a <strong>single </strong>complaint. Timings were <strong>perfect</strong> and don&#8217;t get me started about the food. It was <strong>delicious</strong>!</p>
<p>I also had an <strong>epic </strong>opportunity to see how <a href="http://www.microsoft.com">Microsoft</a> <strong>fails</strong> to demo their flowchart software which was <strong>highly amusing</strong>. Though I feel highly <strong>thankful </strong>to these guys because they were the major sponsors of the event not to mention their help on PHP windows builds.</p>
<p>In the evening we were invited to a <a href="http://www.sun.com/">SUN</a> sponsored bar where I had an opportunity to meet and chat with really interesting people. Met a PHP star <a href="http://derickrethans.nl/">Derick Rethans</a>, had a really great conversation with the event&#8217;s organizer <a href="http://twitter.com/phpcodemonkey">Jeremy Coates</a> and even <a href="http://dev.juokaz.com/">met people</a> from my own <a href="http://en.wikipedia.org/wiki/Lithuania">homeland</a>.</p>
<p>All in all this was a great experience and I&#8217;m definitely coming back next year. There are also other conferences coming up in <a href="http://phpconference.es/">Barcelona</a> and <a href="http://www.phpconference.co.uk/">London</a> which I hope to attend.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedeveloperday.com/phpnw09-conference/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Domain models and DDD</title>
		<link>http://www.thedeveloperday.com/blog-updates/</link>
		<comments>http://www.thedeveloperday.com/blog-updates/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 23:36:12 +0000</pubDate>
		<dc:creator>Žilvinas Šaltys</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Domain Model]]></category>
		<category><![CDATA[Model]]></category>
		<category><![CDATA[Patterns]]></category>

		<guid isPermaLink="false">http://www.thedeveloperday.com/?p=171</guid>
		<description><![CDATA[Finally came to my senses to update the blog&#8217;s appearance and add more readability. Hopefully new content will follow. As much as I enjoy writing every time it&#8217;s a struggle to start. To not make this post a shallow rant if you are interested in domain driven design check out Greg Young. I believe he [...]]]></description>
			<content:encoded><![CDATA[<p>Finally came to my senses to update the blog&#8217;s appearance and add more readability. Hopefully new content will follow. As much as I enjoy writing every time it&#8217;s a struggle to start.</p>
<p>To not make this post a shallow rant if you are interested in <a href="http://en.wikipedia.org/wiki/Domain-driven_design">domain driven design</a> check out <a href="http://codebetter.com/blogs/gregyoung/">Greg Young</a>. I believe he has some very interesting insights towards domain driven design. Honestly I think he&#8217;s a software prodigy. I especially enjoyed few of his talks:</p>
<ul>
<li><a href="http://codebetter.com/blogs/gregyoung/archive/2009/07/15/unshackle-your-domain.aspx">Unshackle Your Domain</a></li>
<li><a href="http://www.infoq.com/interviews/greg-young-ddd">State Transitions and best DDD practices</a></li>
</ul>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedeveloperday.com/blog-updates/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Migrating Development from Windows to Linux</title>
		<link>http://www.thedeveloperday.com/migrating-development-from-windows-to-linux/</link>
		<comments>http://www.thedeveloperday.com/migrating-development-from-windows-to-linux/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 01:28:06 +0000</pubDate>
		<dc:creator>Žilvinas Šaltys</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[cons]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[migrating]]></category>
		<category><![CDATA[pros]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.thedeveloperday.com/?p=135</guid>
		<description><![CDATA[I&#8217;ve been using Windows as a development platform for more than three years now. Couldn&#8217;t say I find it always productive, but I also wouldn&#8217;t say that it is very troublesome. I have been a Linux user for a few years quite a while ago. Tried debian, redhat, slackware and gentoo. Went through the pleasures [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Windows as a development platform for more than three years now. Couldn&#8217;t say I find it always productive, but I also wouldn&#8217;t say that it is very troublesome.</p>
<p>I have been a Linux user for a few years quite a while ago. Tried debian, redhat, slackware and gentoo. Went through the pleasures of compiling kernels, trying to enable the right audio drivers, not being able to make my ATI video card work, experimenting with Wine, going through a guide to setup hibernation, trying to set the right opacity for my terminal screen. I would dare to say Linux systems were still in dark ages. It was challenging to get everything right and have all the shizzle that Windows users had by default. At some point I just couldn&#8217;t be bothered anymore and started using Windows again.. <strong>Next, Next, Finish.</strong></p>
<p>And Windows is <strong>great</strong>. Up to a point. First you get all the default stuff taken care of like for example enabling a printer over network, plugging in a new USB device, setting up hardware drivers, sharing files. Setting up a development environment is as easy as downloading Xampp, an editor of your choice and you can start whipping some source code. And Cygwing helps a lot by delivering a lot of every day use tools to a Windows based platform.</p>
<p>Until you hit the rocks. For example a famous Xdebug PHP extension has problems working with Windows Vista and will often crash PHP processes. Extensions like ffmpeg-php are not maintained on Windows and are only available on Linux and it makes matters worse when you for some reason can&#8217;t do without them. Or for example good luck developing Drizzle on windows and building it using Cygwin, when some networking library just won&#8217;t compile. Suddenly you realize that your whole career is built on top of opensource tools which most of them were built and are maintained on Linux systems.</p>
<p>That is why I&#8217;ve decided to give Linux another go. I have selected Ubuntu Jaunty 9.04 to carry on my experiments. Here follows my list of pros and cons of using Ubuntu as a development platform.</p>
<p>I&#8217;ll start with <strong>cons</strong>:</p>
<ol>
<li>The latest version of PHP is 5.3.0. Ubuntu package management system offers 5.2.6. I found this a bit dissapointing. I really don&#8217;t want to be bothered to compile PHP or to search for 3rd party packages. I understand the philosophy behind this, but it still saddens me as a developer. Especially when PHP 5.3.0 builds are available on Windows as next, next, finish packages.</li>
<li>Same goes for Eclipse IDE. Not only there were no packages for Eclipse 3.5 but I had to download Eclipse myself, find out which other dependent packages are required (like Java runtime) and then follow someone&#8217;s guide to make it work by passing <em>magic</em> parameters to the launcher.</li>
<li>My favorite broswer Chrome is not available on Linux. There is ofcourse Chromium which still has problems with Flash and Printers.</li>
<li>Trying to set up dual screens was a bit troublesome. Ubuntu couldn&#8217;t identify the best native resolution for my external display and I had to find out how to add the resolution myself. Not to mention about setting which display is primary and what is the location of the other display compared to primary one. It&#8217;s still a complete mistery to me.</li>
<li>Configuring apache. Don&#8217;t get me started. How to start apache? Where&#8217;s the main config file? Oh it&#8217;s different from Windows! How to enable mod rewrite? How to add a virtual host? Had to learn about the a2* utilities familly to solve my problems. It&#8217;s easy when you know how they work and that they exists, but if you don&#8217;t &#8230;</li>
<li>When my laptop suspends and recovers it has problems accessing samba network shares. Still not solved.</li>
<li>What is the shortcut to go to Desktop? What is the shortcut to logout? Was hoping it would be the same as on Windows. It&#8217;s not. Though it&#8217;s not a big issue.</li>
<li>Ubuntu has no nice default screensavers (joking)</li>
</ol>
<p>Enough with the bashing. The <strong>pros</strong>:</p>
<ol>
<li>Superior speed. Starts a lot faster that Windows. Especially if compared to my Lenovo laptop which comes with a lot of preinstalled crap applications which I didn&#8217;t want in the first place.</li>
<li>Lot&#8217;s of problems solved. Audio, USB, printers, network sharing, video playing <strong>just works</strong>.</li>
<li>Amazing package management solution. Whatever you need, just search and install. And you are sure the packages are clean from viruses (hopefuly)</li>
<li>All opensource tools are available. When a package is not available it&#8217;s possible to find a 3rd party build or build it yourself. Helps a lot when you need that one magic extension.</li>
<li>A lot more easy to set up a development environment than it was before. I have never installed phpmyadmin that easy.</li>
<li>Virtualization is easier than ever. You can even have windows applications running along with Linux ones.</li>
<li>Some applications are more well built. Like Skype for example allows me to disable contact request spam notifications. Which is a huge problem on Windows nowdays.</li>
<li>Completely FREE.</li>
<li>Looks nice! Has lovely eye-candies! <strong>The Cube</strong>!</li>
</ol>
<p>So far that&#8217;s my experience. I&#8217;ll keep using Ubuntu at work seeing how it goes. My main wish for Ubuntu is for it to be 3 times more faster than it already is. Just like Chrome.. All in all I must say Linux desktop has advanced a lot further than expected by me. I would highly recommend it for schools, universities and home users who don&#8217;t play games.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thedeveloperday.com/migrating-development-from-windows-to-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
