<?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"
	>

<channel>
	<title>Timothy Bowler</title>
	<atom:link href="http://timothybowler.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://timothybowler.com</link>
	<description>Certified Scrum Master &#124; Certified Scrum Practitioner &#124; Developer</description>
	<pubDate>Thu, 04 Dec 2008 00:03:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Scrum in a small agency</title>
		<link>http://timothybowler.com/2008/11/20/scrum-in-a-small-agency/</link>
		<comments>http://timothybowler.com/2008/11/20/scrum-in-a-small-agency/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 14:19:30 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Project Management]]></category>

		<category><![CDATA[Scrum]]></category>

		<category><![CDATA[agile]]></category>

		<category><![CDATA[lean]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/11/20/scrum-in-a-small-agency/</guid>
		<description><![CDATA[Before starting, I would like to tell you the two reasons why I want to share this. Firstly, the many books on scrum that I have read all talk about scrum in large corporate companies where the team might work on a project at a time. As I work in a small creative digital agency [...]]]></description>
			<content:encoded><![CDATA[<p>Before starting, I would like to tell you the two reasons why I want to share this. Firstly, the many books on scrum that I have read all talk about scrum in large corporate companies where the team might work on a project at a time. As I work in a small creative digital agency where we have many projects on the go, not to mention other influencing work -  how does scrum fit in with us? The second reason is how to introduce scrum into a place where the core management do not really understand the scrum process and do not wish to know.</p>
<p><span id="more-21"></span></p>
<p>Early last year I heard about a management process called Scrum. As we didn&#8217;t really have any management process in place for the development team, I felt it necessary that we needed something. I began reading about Scrum, and could see the benefits that scrum would bring us. Before long, I booked myself on a SCM course, which was a 6 month wait. In the mean time, I decided to implement some of the scrum practices based on my understanding at the time. The first thing I done was bought 3 sprint boards,  which were placed at the end of the office where everyone can view them. The following week we started to have morning scrum meetings. This was at most the very basic attempt at scrum that we employed.</p>
<p>Before letting you know of the results and how we actually benefited we did initially encounter many problems:</p>
<p><strong>The morning scrum meetings </strong></p>
<p>Every morning, we started off the morning scrum. This consisted of all the departments, and the stake holders. The problem this presented to us is, was there a need for the designers to be present when in most cases they where not needed and therefore produced waste. A knock on effect of having the design team there also sparked conversation. The result was a morning &#8216;catch up&#8217; meeting that lasted up to an hour.</p>
<p>Of course reviewing the situation we ended up just including a PO, the SM and the team which of course worked better for us. However, the time boxed meetings still dragged on longer than the 15minutes.</p>
<p>The two questions that were eventually answered later where, should the designers be part of the team? How can be keep our morning scrum meeting time boxed?</p>
<p><strong>Educating the team</strong></p>
<p>Getting the top management to buy in was actually quiet easy, so to was the development team. However, everyone seemed to have a slightly different interpretation of Scrum. Of course this then produced mixed results like:</p>
<p>- Why do we needs morning scrum meetings when we can add all the work to trac and it can be monitored?</p>
<p>- How come we are not including the designers when we need to create GUI&#8217;s?</p>
<p>- User stories, story points etc what are they and we need hours!</p>
<p>These questions where later addressed too, but they were all fair points.</p>
<p><strong>Sprint boards and tasks</strong></p>
<p>To be honest, I found getting my head around user stories very hard. To me a task is a task, but creating user stories is a fine technique. Therefore tasks were usually a little to complicated and a little ambiguous. As of the sprint boards, sometimes task notes where tampered with and instead of having the notes in the order of the backlog they were very randomly placed.</p>
<p><strong>The results</strong></p>
<p>After 6 months and one scrum course I am now Certified Scrum Master. The course provided me with a wealth of information on scrum, not to mention the practical element showed me how to incorporate some of the practices. As a CSM I think everyone took me a lot more seriously which paved way for me to now fine tune the process.</p>
<p>The first problems that I addressed were the morning meetings and other small projects. Here I laid it straight, I ask the 3 quesitons and other than a reply no one should talk as we can arrange a meeting straight afterwards. Also, this was done standing around the sprint boards. Or other office based in Poland also joined in the morning scrum meetings as they too are part of the team. This resulted in a short and effective meeting, just like the scrum process dictates. The points as to why the relevant people have a meeting afterwards was to loose all the waste of everyone having to listen to a discussion that did not really effect them.</p>
<p>As of the other projects, we usually have 2-3 medium projects, then several tasks from many different projects that were mainly updates,  added functionality, bug fixes etc. No book actually provided me with an answer. Therefore, the only thing i could think off is create an &#8216;other&#8217; project that  acted like any other project. This was welcomed and have been using it since.</p>
<p>The result of the problems were all overcome by simply educating everyone. To be honest we have seen vast improvements in our working practise. Some of the notable ones:</p>
<p>- Sprints on 5-10 days. Our clients instantly took to view and playing with the prototypes than the flat visuals that they were used to seeing.  To quote one of the POs (as best as I can remember)<br />
&#8220;<em>We went over the visuals with the client, then before leaving I showed them the prototype and they loved it. I could tell they were still on the site after I left</em>&#8221;</p>
<p>- Retrospectives formed an integral of the process. Having a retrospective after release highlighted all the pitfalls and good points through the sprint. It also serves as part of the documentation for ISO 9001.</p>
<p>- All management could see all the work being done at a glance by looking at the sprint boards. Also, the burndown charts are updated every morning so they are also aware of anything major, although just listening to the scrum meetings highlights this.</p>
<p>Another mis -understanding was using scrum along with scm tool. We use trac/svn as our source code management tool. Some of the developers though that just adding everything to trac without the morning meetings could be seen as more beneficial. But I  reminding everyone of the key points</p>
<p>- Trac encourages collaboration to a certain extent, where scrum is total colaboration</p>
<p>- The PO&#8217;s don&#8217;t want to login to trac to see a list of tickets.</p>
<p>- Trac is for source code management, not managing the whole process.</p>
<p>- Problems would not be highlighted etc.</p>
<p>After everyone bought into this, a user story was accepted by a developer or pair of developers. They wrote the tests, documented it on the trac wiki and created their own ticket. Any additional information was added to the ticket and if needed the documentation on the wiki.</p>
<p>I have seen first hand how the process of just a system like trac in place can in fact let a project down.</p>
<p><strong>Other things that I have learned as a result of trial/error, reading and attending events like the London Scrum Users Group.</strong></p>
<p>When implementing scrum or introducing a client to scrum might help if you change the terminology. As we work with a lot of non technical peopel, the word scrum can scare people. Using words like process, release, release meeting, morning meeting, tasks etc masked the fact that scrum is present. I did find this useful and was something that I picked up from several people in the London Scrum Meeting.</p>
<p>User stories can be difficult to write at first. But after reading two books on user stories and agile estimation, some trial and error I finally sussed them, which had the benefit of more people understanding them and work being more accurate. A link to my linkedin profile and book review follows below in the list of other resources.</p>
<p>To use Scrum you either use it or you don&#8217;t. Of course implementing a few features can work but not as successfuly as following the process completely.  One problem I encountered was slipping out of the process. One project suffered a great deal as a result of this.</p>
<p><strong>Other resources</strong><br />
<a href="http://www.linkedin.com/ppl/webprofile?action=vmi&amp;id=15505209&amp;authToken=SWEu&amp;authType=name&amp;trk=ppro_viewmore&amp;lnk=vw_pprofile" title="linkedin profile" target="_blank"> My linked in profile and book reviews</a></p>
<p><a href="http://www.linkedin.com/groups?gid=1073137" title="London Scrum Users group" target="_blank">The london Scum Users Group linked group</a></p>
<p><a href="http://scrum.unboxedconsulting.com/wiki/Home_Page" title="LSUG" target="_blank">The london Scum Users Group  Wiki</a></p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F11%2F20%2Fscrum-in-a-small-agency%2F';
  addthis_title  = 'Scrum+in+a+small+agency';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/11/20/scrum-in-a-small-agency/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Certified Scrum Practitioner (CSP)</title>
		<link>http://timothybowler.com/2008/11/20/certified-scrum-practitioner-csp/</link>
		<comments>http://timothybowler.com/2008/11/20/certified-scrum-practitioner-csp/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 13:21:10 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/11/20/certified-scrum-practitioner-csp/</guid>
		<description><![CDATA[After one and a half years of using scrum, I have finally been accepted as a Certified Scrum Practitioner (CSP). But, this is only the beginning! I think the next step is to go for certified scrum trainer status. During the last year I have learned a great deal of scrum implementation which of course [...]]]></description>
			<content:encoded><![CDATA[<p>After one and a half years of using scrum, I have finally been accepted as a Certified Scrum Practitioner (CSP). But, this is only the beginning! I think the next step is to go for certified scrum trainer status. During the last year I have learned a great deal of scrum implementation which of course I will be sharing fairly soon.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F11%2F20%2Fcertified-scrum-practitioner-csp%2F';
  addthis_title  = 'Certified+Scrum+Practitioner+%28CSP%29';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/11/20/certified-scrum-practitioner-csp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>London Scrum Users Group</title>
		<link>http://timothybowler.com/2008/11/16/london-scrum-users-group/</link>
		<comments>http://timothybowler.com/2008/11/16/london-scrum-users-group/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 00:11:08 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Scrum]]></category>

		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/11/16/london-scrum-users-group/</guid>
		<description><![CDATA[Four weeks after the first London Scrum Users Group, Austin and myself devoted some of our free time organise the second meet up. The meeting was kick started by a small welcome followed by everyone introducing themselves to the group. Following that, I started off the main proceedings by presenting to the group a case [...]]]></description>
			<content:encoded><![CDATA[<p>Four weeks after the first <a href="http://scrum.unboxedconsulting.com/wiki/Home_Page" title="LSUG" target="_blank">London Scrum Users Group</a>, Austin and myself devoted some of our free time organise the second meet up. The meeting was kick started by a small welcome followed by everyone introducing themselves to the group. Following that, I started off the main proceedings by presenting to the group a case study of introducing scrum into a small/medium sized digital agency. Afterwards there was a question and answer session (The case study and questions/answers will be posted as another article).</p>
<p><span id="more-46"></span></p>
<p>We then had a break before starting a retrospective on how we all thought the meeting went. Although there were mixed responses, the general out come for the next meeting is perhaps break off into groups and/or have have a few lightening talks. If your interested in taking part in the London Scrum Users Group, please see the wiki and join the linkedin group.</p>
<p>Links</p>
<p><a href="http://www.linkedin.com/groups?gid=1073137" title="Linkedin group" target="_blank">Lindedin Group</a></p>
<p><a href="http://scrum.unboxedconsulting.com/wiki/Home_Page" title="LSUG wiki" target="_blank">The wiki</a></p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F11%2F16%2Flondon-scrum-users-group%2F';
  addthis_title  = 'London+Scrum+Users+Group';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/11/16/london-scrum-users-group/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SSH security</title>
		<link>http://timothybowler.com/2008/08/10/ssh-security/</link>
		<comments>http://timothybowler.com/2008/08/10/ssh-security/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 22:26:22 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Sys Admin]]></category>

		<category><![CDATA[]]></category>

		<category><![CDATA[ssh]]></category>

		<category><![CDATA[ssh attacks]]></category>

		<category><![CDATA[ssh configure]]></category>

		<category><![CDATA[sshd]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/08/10/ssh-security/</guid>
		<description><![CDATA[Over the last few weeks the server logs, especially /var/log/messages seems to be filled with consistent ssh dictionary attacks. Of course this cannot continue, so what do you do to prevent it?

Well there are a few things:
1. Setup the firewall to handle them
2. Installing deny hosts
3. Configure your ssh daemon properly
4. Set up proper accounts [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few weeks the server logs, especially /var/log/messages seems to be filled with consistent ssh dictionary attacks. Of course this cannot continue, so what do you do to prevent it?</p>
<p><span id="more-42"></span></p>
<p>Well there are a few things:</p>
<p>1. Setup the firewall to handle them</p>
<p>2. Installing deny hosts</p>
<p>3. Configure your ssh daemon properly</p>
<p>4. Set up proper accounts for people</p>
<p>The methods that I deploy are points 1, 3 and 4.</p>
<p><strong>Configuring SSH </strong></p>
<p>In the sshd_conf do the following:</p>
<p>-  change the port number: port 9999</p>
<p>- Allow no password auth: PasswordAuthentication no</p>
<p>- Allow public key auth: PubkeyAuthentication yes</p>
<p>- Only allow user accounts that belong to a group: AllowGroups groupName<br />
By setting the above you have place a lot of restrictions on the who can access your server using ssh.</p>
<p><strong>Configure your firewall</strong></p>
<p>iptables -N SSH_CHECK<br />
iptables -A INPUT -p tcp &#8211;dport 9999 -m state &#8211;state NEW -j SSH_CHECK<br />
iptables -A SSH_CHECK -m recent &#8211;set &#8211;name SSH<br />
iptables -A SSH_CHECK -m recent &#8211;update &#8211;minutes 60 &#8211;hitcount 4 &#8211;name SSH -j DROP</p>
<p>Finally  the last thing is to configure the user accounts that can access the server. It is strongly recommended to add the users to the sudousers if they require any specialist privileges.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F08%2F10%2Fssh-security%2F';
  addthis_title  = 'SSH+security';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/08/10/ssh-security/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Trac + SVN</title>
		<link>http://timothybowler.com/2008/07/31/trac-svn/</link>
		<comments>http://timothybowler.com/2008/07/31/trac-svn/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 10:02:08 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Sys Admin]]></category>

		<category><![CDATA[svn]]></category>

		<category><![CDATA[subversion]]></category>

		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/03/15/trac-svn/</guid>
		<description><![CDATA[After googling the internet for hours I managed to get the perfect trac + svn setup. Because we use contractors at work, I needed a setup where the security is global but at the same time based on project by project basis. Therefore trac uses a global .htaccess and svn uses the authz file for [...]]]></description>
			<content:encoded><![CDATA[<p>After googling the internet for hours I managed to get the perfect trac + svn setup. Because we use contractors at work, I needed a setup where the security is global but at the same time based on project by project basis. Therefore trac uses a global .htaccess and svn uses the authz file for authentication. At the moment this is working greate. To set up a new trac project is simply a case of creating the project, copying a base projects database and config file and then editing the new project&#8217;s config file.</p>
<p><span id="more-25"></span></p>
<p>We use a base project that is configured for all our core developers, which means im not adding the same permissions and groups all the time.</p>
<p><strong> How I configured it:</strong></p>
<p><strong>apache svn config:</strong></p>
<p>&lt;Location /projects/test2&gt;<br />
DAV svn</p>
<p># Set this to the path to your repository<br />
SVNPath /var/svn/test2</p>
<p>AuthType Basic<br />
AuthName &#8220;Test2 Project&#8221;<br />
AuthUserFile /var/trac/.htpasswd<br />
AuthzSVNAccessFile /var/svn/authz<br />
Require valid-user<br />
&lt;/Location&gt;</p>
<p><strong>apache trac config:</strong></p>
<p>&lt;VirtualHost *:80&gt;<br />
RewriteEngine on<br />
RewriteCond /var/trac/$1                        -d<br />
RewriteRule ^/([^/.]+)(/?.*)    /trac.cgi$2 [S=1,E=TRAC_ENV:/var/trac/$1]</p>
<p>ServerAdmin tim@domain.com<br />
ServerName trac.domain.com</p>
<p>DocumentRoot /usr/share/trac/cgi-bin/</p>
<p>AddHandler cgi-script .cgi</p>
<p>&lt;Directory /usr/share/trac/cgi-bin/&gt;<br />
Options Indexes FollowSymLinks MultiViews ExecCGI<br />
AllowOverride All<br />
Order allow,deny<br />
allow from all<br />
&lt;/Directory&gt;</p>
<p>Alias /trac &#8220;/usr/share/trac/htdocs&#8221;</p>
<p>&lt;Location /&gt;<br />
SetEnv TRAC_ENV_PARENT_DIR &#8220;/var/trac&#8221;<br />
SetEnv PYTHON_EGG_CACHE /var/trac/egg_cache<br />
&lt;/Location&gt;</p>
<p>DirectoryIndex trac.cgi<br />
ErrorLog /var/log/apache2/error.trac.log<br />
CustomLog /var/log/apache2/access.trac.log combined</p>
<p>&lt;/VirtualHost&gt;</p>
<p>The above configuration means that all users are in one file, and can be controlled globally.  Below are the plugins which i have installed and consider very helpful.</p>
<p><strong>Plugins - </strong>Below are some of the plugin which I think really help</p>
<p><a href="http://www.trac-hacks.org/wiki/IniAdminPlugin" title="ini admin" target="_blank">iniadmin</a></p>
<p><a href="http://www.trac-hacks.org/wiki/AccountManagerPlugin" title="account manager" target="_blank">trac account manager</a></p>
<p><a href="http://www.trac-hacks.org/wiki/TracSvnAuthzPlugin" title="svn plugin" target="_blank">trac svn authz</a></p>
<p><a href="http://www.trac-hacks.org/wiki/WebAdminPlugin" title="web admin" target="_blank">trac web admin</a></p>
<p><a href="http://www.trac-hacks.org/wiki/TimingAndEstimationPlugin" title="Timing and estimation" target="_blank">timing and estimatation</a></p>
<p><a href="http://trac-hacks.org/wiki/PageToPdfPlugin" title="pagetopdf" target="_blank">pagetopdf</a></p>
<p><a href="http://trac-hacks.org/wiki/TocMacro" title="trac TOC" target="_blank">Trac table of contents macro </a></p>
<p><a href="http://trac-hacks.swapoff.org/wiki/XmlRpcPlugin" title="XMLRPC" target="_blank">XMLRPC</a></p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F07%2F31%2Ftrac-svn%2F';
  addthis_title  = 'Trac+%2B+SVN';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/07/31/trac-svn/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu, php and exim4</title>
		<link>http://timothybowler.com/2008/06/29/ubuntu-php-and-exim4/</link>
		<comments>http://timothybowler.com/2008/06/29/ubuntu-php-and-exim4/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 17:35:52 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Sys Admin]]></category>

		<category><![CDATA[exim]]></category>

		<category><![CDATA[exim4]]></category>

		<category><![CDATA[php exim]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/06/29/ubuntu-php-and-exim4/</guid>
		<description><![CDATA[Ubuntu 8.04 does not have sendmail installed by default. This was annoying when some of the php web apps that I created rely on sendmail to send out email notifications. But before going ahead and installing sendmail, I thought that I would try exim4. Installing on Ubuntu is very straight forward:

apt-get install exim4  exim4-config
After installation [...]]]></description>
			<content:encoded><![CDATA[<p>Ubuntu 8.04 does not have sendmail installed by default. This was annoying when some of the php web apps that I created rely on sendmail to send out email notifications. But before going ahead and installing sendmail, I thought that I would try exim4. Installing on Ubuntu is very straight forward:</p>
<p><span id="more-41"></span></p>
<p><strong>apt-get install exim4  exim4-config</strong></p>
<p>After installation is complete, you <strong>must run</strong>:</p>
<p><strong>dpkg-reconfigure exim4-config</strong></p>
<p>This will allow you to configure the MTA. That is it, php will &#8216;just work&#8217; because the installation also creates a symlink of sendmail to the exim binary.</p>
<p>If you do not run the above config command, you will see this in your exim/mainlog:</p>
<p>tim@*******.com R=nonlocal: Mailing to remote domains not supported</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F06%2F29%2Fubuntu-php-and-exim4%2F';
  addthis_title  = 'Ubuntu%2C+php+and+exim4';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/06/29/ubuntu-php-and-exim4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Plesk and installing SSL certificate</title>
		<link>http://timothybowler.com/2008/06/19/plesk-and-installing-ssl-certificate/</link>
		<comments>http://timothybowler.com/2008/06/19/plesk-and-installing-ssl-certificate/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 08:34:15 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Plesk]]></category>

		<category><![CDATA[Sys Admin]]></category>

		<category><![CDATA[parallels]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/06/19/plesk-and-installing-ssl-certificate/</guid>
		<description><![CDATA[Installing an SSL certification in plesk, looked straight forward. But, there are a few gotchas.
When pasting in your certifacte, in the certificate field make sure you copy and paste the private key first. Followed by the certificate. If you puchased an AV certificate (so your domain is green in the IE bar), make sure you [...]]]></description>
			<content:encoded><![CDATA[<p>Installing an SSL certification in plesk, looked straight forward. But, there are a few gotchas.</p>
<p>When pasting in your certifacte, in the certificate field make sure you copy and paste the private key first. Followed by the certificate. If you puchased an AV certificate (so your domain is green in the IE bar), make sure you get the root and intermediate certificates.</p>
<p><span id="more-37"></span></p>
<p><font size="2"><span style="font-family: verdana,arial,helvetica,sans-serif">Look in the </span><span style="font-weight: bold; font-family: verdana,arial,helvetica,sans-serif">/etc/httpd/conf.d/ssl.conf</span><span style="font-family: verdana,arial,helvetica,sans-serif"> for the line like:</span><br style="font-family: verdana,arial,helvetica,sans-serif" /><br style="font-family: courier new,courier,monospace" /><span style="font-family: courier new,courier,monospace">&lt;VirtualHost _default_:443&gt;</span><br style="font-family: verdana,arial,helvetica,sans-serif" /><br style="font-family: verdana,arial,helvetica,sans-serif" /><span style="font-family: verdana,arial,helvetica,sans-serif">If it exists you have to delete/comment this default SSL virtual host starting from the</span><br style="font-family: verdana,arial,helvetica,sans-serif" /><span style="font-family: verdana,arial,helvetica,sans-serif">&#8220;</span><span style="font-family: verdana,arial,helvetica,sans-serif">&lt;VirtualHost _default_:443&gt;</span><span style="font-family: verdana,arial,helvetica,sans-serif">&#8221; line and ending with &#8220;</span><span style="font-family: verdana,arial,helvetica,sans-serif">&lt;/VirtualHost&gt;</span><span style="font-family: verdana,arial,helvetica,sans-serif">&#8220;.</span><br style="font-family: verdana,arial,helvetica,sans-serif" /><span style="font-family: verdana,arial,helvetica,sans-serif"><br />
Then stop and start (not restart!) Apache server.</span></font></p>
<p><a href="http://kb.parallels.com/en/939" title="parrells ">http://kb.parallels.com/en/939</a><br />
- private key then certifacte</p>
<p>- You must paste in the root certificate first! CA intermediator cerficate then root certifecate</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F06%2F19%2Fplesk-and-installing-ssl-certificate%2F';
  addthis_title  = 'Plesk+and+installing+SSL+certificate';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/06/19/plesk-and-installing-ssl-certificate/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Those pesky .svn folders</title>
		<link>http://timothybowler.com/2008/05/19/those-pesky-svn-folders/</link>
		<comments>http://timothybowler.com/2008/05/19/those-pesky-svn-folders/#comments</comments>
		<pubDate>Mon, 19 May 2008 14:21:26 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Sys Admin]]></category>

		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/05/19/those-pesky-svn-folders/</guid>
		<description><![CDATA[There are two ways of doing this
svn export . ../new_dir
or
find . -name .svn -prune -exec rm -rfv {} \;

Either way, both will work. I personally use export, because if there is a problem it means that I do not have to checkout an entire project

  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F05%2F19%2Fthose-pesky-svn-folders%2F';
  addthis_title  [...]]]></description>
			<content:encoded><![CDATA[<p>There are two ways of doing this</p>
<p>svn export . ../new_dir</p>
<p>or</p>
<p>find . -name .svn -prune -exec rm -rfv {} \;</p>
<p><span id="more-38"></span></p>
<p>Either way, both will work. I personally use export, because if there is a problem it means that I do not have to checkout an entire project</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F05%2F19%2Fthose-pesky-svn-folders%2F';
  addthis_title  = 'Those+pesky+.svn+folders';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/05/19/those-pesky-svn-folders/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu 8.04</title>
		<link>http://timothybowler.com/2008/05/08/ubuntu-804/</link>
		<comments>http://timothybowler.com/2008/05/08/ubuntu-804/#comments</comments>
		<pubDate>Thu, 08 May 2008 21:17:10 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Sys Admin]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[ubuntu 8.04]]></category>

		<category><![CDATA[ubuntu 8.04 sony vaio]]></category>

		<category><![CDATA[ubuntu deployment]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/05/08/ubuntu-804/</guid>
		<description><![CDATA[ 
Today I finally installed Ubuntu 8.04 on my Sony vaio sz4. It runs like a dream, better than the SUSE setup which it replaced. My first thoughts are that the system runs very fast and all the components work out of box(web cam, finger print scanner have not being tested yet). I have noticed the [...]]]></description>
			<content:encoded><![CDATA[<p> <img src="http://timothybowler.com/wp-content/uploads/2008/05/ubuntulogo.png" alt="Ubuntu 8.04" /></p>
<p>Today I finally installed Ubuntu 8.04 on my Sony vaio sz4. It runs like a dream, better than the SUSE setup which it replaced. My first thoughts are that the system runs very fast and all the components work out of box(web cam, finger print scanner have not being tested yet). I have noticed the wifi throughput has increased, using the eclipse IDE runs like a dream and best of all compiz fusion works on both the laptop and on a dual monitor setup. The synaptic package manager seems more complete overSUSE&#8217;s yast package management.</p>
<p><span id="more-35"></span></p>
<p>Although it is my personal laptop,  Ubuntu (7.10) was rolled out on all developer workstations at <a href="http://www.or-media.com" title="Ubuntu in Or Media" target="_blank">Or Media</a>. This was a little shock to some of the developers, but everyone has seen the benefits. Some of which are:</p>
<ul>
<li>Apps deployed on a Linux system are developed on a Linux system.</li>
<li>Most of the software is free (Although some machines run VMWare with windows installations - QA, Bless them!)</li>
<li>Cheaper machines can be bought</li>
<li>Everyone now has the same setup</li>
<li>Security is tighter</li>
</ul>
<p>Of course, like all good things, there are certain draw backs. . VMware needed the vmware-any-any-116 hack just to get it working. After that the evaluation license is invalid and therefore had to buy it straight away (well 30 days earlier than needed!).</p>
<p>In conclusion, SUSE in my eyes was pretty good. But the more I use Ubuntu I see that this distro is going to be the de-facto standard.  Below are some of the reason why you will agree why Ubuntu is on top and why everyone is changing towards linux:</p>
<p><a href="http://www.dell.com/content/topics/segtopic.aspx/ubuntu?c=us&amp;cs=19&amp;l=en&amp;s=dhs&amp;dgc=IR&amp;cid=11973&amp;lid=471885" title="Dell shipps with ubuntu" target="_blank">Dell </a></p>
<p><a href="http://www.ubuntu.com/dell" title="Dell ubuntu" target="_blank">Dell </a></p>
<p><a href="http://news.bbc.co.uk/1/hi/business/3960025.stm" title="BBC moving to linux" target="_blank">BBC&#8217;s view</a></p>
<p><a href="http://www.theregister.co.uk/2002/08/22/swedish_government_mulls_linux/" title="Sweeden move to linux" target="_blank">Sweeden moving to linux</a></p>
<p><a href="http://gyaku.jp/en/index.php?cmd=contentview&amp;pid=000112" title="Japanese schools move towards linux" target="_blank">Japan&#8217;s schools </a></p>
<p><a href="http://arstechnica.com/news.ars/post/20061127-8298.html" title="France move to linux" target="_blank"> French parliment</a></p>
<p><a href="http://www.computerworld.com/softwaretopics/os/story/0,10801,105779,00.html?source=x72" title="Cross over office helps business" target="_blank">Cross over office helps </a></p>
<p><a href="http://download.microsoft.com/documents/customerevidence/7311_Supernet.doc" title="linux is better" target="_blank">An advocate of microsoft windoze(hehe) </a></p>
<p>There are many many more example that you can find. At the end of the day, money, security and stability all play a key role. Linux is a winner, so if you have not tried to change your OS now is the time to consider.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F05%2F08%2Fubuntu-804%2F';
  addthis_title  = 'Ubuntu+8.04';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/05/08/ubuntu-804/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Use a join</title>
		<link>http://timothybowler.com/2008/04/30/use-a-join/</link>
		<comments>http://timothybowler.com/2008/04/30/use-a-join/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 15:34:43 +0000</pubDate>
		<dc:creator>Timothy</dc:creator>
		
		<category><![CDATA[Symfony]]></category>

		<category><![CDATA[Website performance optimization]]></category>

		<category><![CDATA[left join]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[symfony left join]]></category>

		<guid isPermaLink="false">http://timothybowler.com/2008/04/30/use-a-join/</guid>
		<description><![CDATA[I was refactoring a few developers code today, and one thing I see time and time again is two queries in favour of a left join, . The problem is symfony makes result set retrieval so easy (thanks to propel of course).

Example:
To see if an author has a comment

$author = AuthorPeer::retrieveByPK($id);
$authorComments = CommentPeer::getAuthorComments($author-&#38;gt;getAuthorId());
&#160;
//In the model
public [...]]]></description>
			<content:encoded><![CDATA[<p>I was refactoring a few developers code today, and one thing I see time and time again is two queries in favour of a left join, . The problem is symfony makes result set retrieval so easy (thanks to propel of course).</p>
<p><span id="more-33"></span></p>
<p>Example:<br />
To see if an author has a comment</p>
<pre>
$author = AuthorPeer::retrieveByPK($id);
$authorComments = CommentPeer::getAuthorComments($author-&amp;gt;getAuthorId());
&nbsp;
//In the model
public static function getAuthorComments($id)
{
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;$c = new Criteria();
&nbsp;&nbsp;&nbsp;&nbsp;$c-&amp;gt;add(self::AUTHOR_ID, $id);
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;return self::doSelect($c);
&nbsp;
}</pre>
<p>The reason why people would want to use this is so they can see if a comment is available. Which is a fair point if your sql is rusty <img src='http://timothybowler.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<pre>
$author = AuthorPeer::getAuthorComments($id);
$author = array_pop($author);
&nbsp;
&#46;..
&#46;..
&nbsp;
//In the model
public static function getAuthorComments($id)
{
$c = new Criteria();
$c-&amp;gt;add(self::AUTHOR_ID, $id);
&nbsp;
$c-&amp;gt;addJoin(self::AUTHOR_ID, CommentPeer::AUTHOR_ID, Criteria::LEFT_JOIN);
$c-&amp;gt;setLimit(1);
return self::doSelect($c);
}</pre>
<p>As you can see the latter users a left join, which means only one database query.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Ftimothybowler.com%2F2008%2F04%2F30%2Fuse-a-join%2F';
  addthis_title  = 'Use+a+join';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://timothybowler.com/2008/04/30/use-a-join/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
