<?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>fuzzymargins</title>
	<atom:link href="http://www.fuzzymargins.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fuzzymargins.com</link>
	<description>Life is full of code</description>
	<lastBuildDate>Sun, 07 Mar 2010 14:21:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Move the WordPress pages to the header &#8211; revisited</title>
		<link>http://www.fuzzymargins.com/2010/01/move-the-wordpress-pages-to-the-header-revisited/</link>
		<comments>http://www.fuzzymargins.com/2010/01/move-the-wordpress-pages-to-the-header-revisited/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 20:42:26 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=332</guid>
		<description><![CDATA[This updated article describes how to use the page widget to build a page menu in the WordPress header. For the background to this see the previous post Move the WordPress page links to the header that described a simple way of listing the page links on the header.

This method makes use of the Pages [...]]]></description>
			<content:encoded><![CDATA[<p>This updated article describes how to use the page widget to build a page menu in the WordPress header. For the background to this see the previous post <a href="http://www.fuzzymargins.com/2009/04/move-the-wordpress-page-links-to-the-header/">Move the WordPress page links to the header</a> that described a simple way of listing the page links on the header.<br />
<span id="more-332"></span><br />
This method makes use of the Pages widget which allows pages to be excluded from the menu and also allows the sort order of the pages to be specified. To view this from the dashboard expand Appearance in the left-hand sidebar then select Widgets. You can then use the Widget to set up a list of page links in the sidebar.</p>
<p><img src="http://www.fuzzymargins.com/wp-content/uploads/2010/01/Widgets_Pages.gif" alt="WordPress Pages widget" title="WordPress Pages widget" width="252" height="243" class="alignnone size-full wp-image-195" /></p>
<p>The first thing is to find the path to the theme that you are using, for the default theme the path is:</p>
<p class="highlight">&frasl;wordpress&frasl;wp-content&frasl;themes&frasl;default</p>
<p>For other themes the path will vary so make sure you have identified the correct one for the theme you have in use. </p>
<p>Then using your favourite text editor open up the following files:</p>
<ul>
<li><strong>functions.php</strong></li>
<li><strong>header.php</strong></li>
</ul>
<p class="note"><strong>Note:</strong> Before you make any changes to these files make sure you have a backup</p>
<p>In functions.php add the following code in an appropriate place. </p>
<pre><code>function list_pages($pages) {
$options = get_option( 'widget_pages' );
foreach ($options as $key=&gt;$value) {
        if ( $pages == $options[$key]['title'])	{
			$sortby = $options[$key]['sortby'];
			$exclude = $options[$key]['exclude'];
        	if ( $sortby == 'menu_order' ) {
				$sortby = 'menu_order, post_title';
				}
			$out = wp_list_pages( apply_filters('widget_pages_args',
					array('title_li' =&gt; '',
					'echo' =&gt; 0,
					'sort_column' =&gt; $sortby,
					'exclude' =&gt; $exclude) ) );
        	if ( !empty( $out ) ) {
				?&gt;
				&lt;li&gt;&lt;?php echo $out; ?&gt;&lt;/li&gt;
				&lt;?php
				}
        	}
		}
}</code></pre>
<p>Then add the following line of code in the <em>header.php</em> file. The correct location will vary by theme but generally it will be within the <em>header div</em>.</p>
<pre><code>&lt;ul&gt;&lt;?php list_pages('Header1'); ?&gt;&lt;/ul&gt;</code>
</pre>
<p>The effect of this will be to list the pages defined by the Pages widget that has a title of <em>Header1</em>, you can edit the the parameter above for list_pages to match the one you are already using. This should work with WordPress 2.8 onwards but probably will not work with previous versions to that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2010/01/move-the-wordpress-pages-to-the-header-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warning &#8211; backup before updating to WordPress 2.8</title>
		<link>http://www.fuzzymargins.com/2009/06/warning-backup-before-updating-to-wordpress-2-8/</link>
		<comments>http://www.fuzzymargins.com/2009/06/warning-backup-before-updating-to-wordpress-2-8/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 20:41:39 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=301</guid>
		<description><![CDATA[The first problem with updating to WordPress version 2.8 was with the automatic update facility, the new version comes with it&#8217;s own automatic updater built in. This means the WordPress Automatic Update plugin is no longer required and should be disabled. The actual error message will vary according to the Theme that is in use [...]]]></description>
			<content:encoded><![CDATA[<p>The first problem with updating to WordPress version 2.8 was with the automatic update facility, the new version comes with it&#8217;s own automatic updater built in. This means the WordPress Automatic Update plugin is no longer required and should be disabled. The actual error message will vary according to the Theme that is in use on your site but will start with:</p>
<blockquote><p>Fatal error: Cannot redeclare pclziputilpathreduction() </p></blockquote>
<p>After disabling the WordPress Automatic Update plugin and clicking on the Automatic Update link on the dashboard again the update worked correctly. So that is easily dealt with and not a major problem.</p>
<p>The second problem was more serious, the automatic updates had overwritten the contents of the default theme with the original Kubrick design. If like me you have updated the default or the classic themes but never bothered to create a new theme then WordPress will replace your changed files with the originals.</p>
<p><span id="more-301"></span><br />
Luckily in my case there was a backup that I could restore my changes from as I use SVN to store changes to code.</p>
<p>There is a message on the dashboard telling you to backup your files and database before doing the automatic update but many people will ignore this, I know I did!</p>
<p>I guess the moral of this story is to always make sure you have backups of your work before making changes, however tempted you may be to skip this annoying step, and also to create your own theme in WordPress rather than relying on making changes to the default or classic themes as WordPress obviously considers these fair game for overwriting without warning (something the old automatic updates plugin did not do).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2009/06/warning-backup-before-updating-to-wordpress-2-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Move the WordPress page links to the header</title>
		<link>http://www.fuzzymargins.com/2009/04/move-the-wordpress-page-links-to-the-header/</link>
		<comments>http://www.fuzzymargins.com/2009/04/move-the-wordpress-page-links-to-the-header/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 13:30:36 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=289</guid>
		<description><![CDATA[The default theme for WordPress places the links to pages in the sidebar. Moving them to the header is relatively easy to do if you&#8217;re comfortable making minor changes to the code.
The first thing is to find the path to the theme that you are using, for the default theme the path is:
&#8260;wordpress&#8260;wp-content&#8260;themes&#8260;default
For other themes [...]]]></description>
			<content:encoded><![CDATA[<p>The default theme for WordPress places the links to pages in the sidebar. Moving them to the header is relatively easy to do if you&#8217;re comfortable making minor changes to the code.<br />
The first thing is to find the path to the theme that you are using, for the default theme the path is:</p>
<p class="highlight">&frasl;wordpress&frasl;wp-content&frasl;themes&frasl;default</p>
<p>For other themes the path will vary so make sure you have identified the correct one for the theme you have in use. </p>
<p>Then using your favourite text editor open up the following files:</p>
<ul>
<li><strong>sidebar.php</strong></li>
<li><strong>header.php</strong></li>
</ul>
<p class="note"><strong>Note:</strong> Before you make any changes to these files make sure you have a backup</p>
<p>Next look for the following code fragment in sidebar.php which is used by WordPress to generate the list of page links.</p>
<p><span id="more-289"></span></p>
<pre><code>&lt;ul&gt;&lt;?php wp_list_pages('title_li='); ?&gt;&lt;/ul&gt;</code>
</pre>
<p>Copy the line of code above from the <em>sidebar.php</em> file and paste it in to the <em>header.php</em> file</p>
<p>This will copy the page links from the sidebar to the header. The end result may look strange because of the CSS styles in use. To get the result seen above in the header of this blog I changed the stylesheet to make the page links float right, where you place them  is down to personal preferences.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2009/04/move-the-wordpress-page-links-to-the-header/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Move the WordPress search box to the header</title>
		<link>http://www.fuzzymargins.com/2009/04/move-the-wordpress-search-box-to-the-header/</link>
		<comments>http://www.fuzzymargins.com/2009/04/move-the-wordpress-search-box-to-the-header/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 17:14:02 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=237</guid>
		<description><![CDATA[The default theme in WordPress places the search box in the sidebar. Moving it to the header is relatively easy to do if you&#8217;re comfortable making minor changes to the code. The first thing is to find the path to the theme that you are using, for the default theme the path is:
&#8260;wordpress&#8260;wp-content&#8260;themes&#8260;default
Then using your [...]]]></description>
			<content:encoded><![CDATA[<p>The default theme in WordPress places the search box in the sidebar. Moving it to the header is relatively easy to do if you&#8217;re comfortable making minor changes to the code. The first thing is to find the path to the theme that you are using, for the default theme the path is:</p>
<p class="highlight">&frasl;wordpress&frasl;wp-content&frasl;themes&frasl;default</p>
<p>Then using your favourite text editor open up the following files:</p>
<ul>
<li><strong>sidebar.php</strong></li>
<li><strong>header.php</strong></li>
</ul>
<p class="note"><strong>Note:</strong> Before you make any changes to these files make sure you have a backup</p>
<p>Next look for the following code fragment in sidebar.php which is used by WordPress to generate the search box (What this code does is to insert the contents of the <em>searchform.php </em>file at this point in the page. The <em>searchform.php</em> file contains the code to produce the search box and the search button).</p>
<p><span id="more-237"></span></p>
<pre><code>&lt;?php include (TEMPLATEPATH . '/searchform.php'); ?&gt;</code>
</pre>
<p>Cut the line of code above from the <em>sidebar.php</em> file and paste it in an appropriate location in the header.php file.</p>
<p>This will move the search form from the sidebar to the header. The end result may look strange because of the CSS styles in use. To get the result seen above in the header of this blog I changed the stylesheet to make the title float left and the search form float right, where you place the search form is down to personal preferences.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2009/04/move-the-wordpress-search-box-to-the-header/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>FrontPage glitches floor Firefox</title>
		<link>http://www.fuzzymargins.com/2009/03/frontpage-firefox-horror-show/</link>
		<comments>http://www.fuzzymargins.com/2009/03/frontpage-firefox-horror-show/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 22:24:08 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html compatibility]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=226</guid>
		<description><![CDATA[In my spare time I like to think of myself as a cyclist, and as a cyclist my thing is riding cyclosportives which are similar if not the same as century rides in the USA. One of the popular rides close to my home in Oxford is the White Horse Challenge which has a route [...]]]></description>
			<content:encoded><![CDATA[<p>In my spare time I like to think of myself as a cyclist, and as a cyclist my thing is riding cyclosportives which are similar if not the same as century rides in the USA. One of the popular rides close to my home in Oxford is the <a href="http://test.fuzzymargins.com/whc_new/">White Horse Challenge</a> which has a route that climbs past several White Horse figures that have been carved into the chalk of the hills around here.</p>
<p><img class="alignnone size-medium wp-image-154" title="White Horse Hill" src="http://www.fuzzymargins.com/wp-content/uploads/2009/03/whitehorsechallenge.jpg" alt="White Horse Hill" width="500" height="332" /></p>
<p>The website for this ride was built using Microsoft FrontPage 2003 and looks fine if viewed with Internet Explorer but looks a real mess if viewed with Firefox.<br />
<span id="more-226"></span><br />
The problem is that FrontPage out of the box has default settings that assume that websites will be viewed with IE. This includes allowing the use of VML Graphics which are the main culprit for things going wrong.<br />
We tried changing the settings on FrontPage and then re-publishing the website but that didn&#8217;t improve things at all. The only solution was to create a totally new website then edit the pages manually to remove the VML stuff that was causing Firefox (and other standards-compliant browsers) to go bananas.<br />
As an example of what happens, where content was positioned manually using FrontPage this would be placed in the correct place by VML if the browser was IE. For other browsers there was a jpg image of the content that was displayed instead. The most obvious sign of this happening is where links don&#8217;t work when using browsers other then Internet Explorer (how could they as they are just part of an image).<br />
The only sensible solution was to rewrite everything manually removing hundreds of lines of VML. This had the effect of improving performance as the size of the pages is reduced pretty dramatically. Also used CSS to reproduce the table based design of the original website, so FrontPage out of the box didn&#8217;t use any CSS at all.<br />
FrontPage 2003 is hardly leading edge these days but there are quite a few websites out there that were built with this tool, and a lot of them have problems with cross-browser compatibility and modern browser standards. With some refactoring work they can be bought up to modern standards without having to re-create them from scratch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2009/03/frontpage-firefox-horror-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What have you got running?</title>
		<link>http://www.fuzzymargins.com/2009/02/what-have-you-got-running/</link>
		<comments>http://www.fuzzymargins.com/2009/02/what-have-you-got-running/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 09:41:45 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=156</guid>
		<description><![CDATA[Outside of work hours while engaged on personal projects I tend to keep things running in a certain order and only feel comfortable if programs lined up in the same order each time in the taskbar (this is on a Windows machine, I guess this varies with Macs or Linux), so Eclipse would be first [...]]]></description>
			<content:encoded><![CDATA[<p>Outside of work hours while engaged on personal projects I tend to keep things running in a certain order and only feel comfortable if programs lined up in the same order each time in the taskbar (this is on a Windows machine, I guess this varies with Macs or Linux), so Eclipse would be first then Explorer then FireFox, IE, maybe Visual Paradigm, MySQl query browser, Photoshop, Word Excel Google Docs, UltraEdit (to keep some files out of Eclipse I open them with a separate editor). Then coming home from work I can pick up the threads and feel in control without having to spend loads of time getting in the groove again. Is this sort of behaviour common, is it more common with programmers? My wife is an academic and she has piles upon piles of folders on her desk filled with papers, yet she knows exactly where to find stuff, personally that would drive me absolutely bonkers as I would never find anything. I know what I am doing is slightly odd, so in Eclipse I always have the CSS file in the first tab, then the file I am working on, then maybe include files and so on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2009/02/what-have-you-got-running/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fuzzy Images with WordPress</title>
		<link>http://www.fuzzymargins.com/2009/01/fuzzy-images-with-wordpress/</link>
		<comments>http://www.fuzzymargins.com/2009/01/fuzzy-images-with-wordpress/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 19:35:58 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=161</guid>
		<description><![CDATA[Uploaded Images &#8216;Blurry&#8217; with WordPress
Being new to WordPress I have been using the standard image upload facilities.  After upgrading to WordPress version 2.7 the Flash uploader stopped working so I resorted to using the browser based version. This was annoying but not annoying enough to make me do something about it. Then I noticed that [...]]]></description>
			<content:encoded><![CDATA[<h3>Uploaded Images &#8216;Blurry&#8217; with WordPress</h3>
<p>Being new to WordPress I have been using the standard image upload facilities.  After upgrading to WordPress version 2.7 the Flash uploader stopped working so I resorted to using the browser based version. This was annoying but not annoying enough to make me do something about it. Then I noticed that images which were fine when captured looked fuzzy when viewing the published article, specially when using Internet Explorer.</p>
<p>So what was going on? Well, for one selecting anything other than full size meant the images were being re-sized by the uploader and that reduced the image quality, you notice the difference in quality compared to re-sizing the images yourself in Photoshop.</p>
<p><span id="more-161"></span></p>
<p>The other thing is that if you select to insert the image at full-size then it will be uploaded at whatever size it is; if that is too wide then the browser will helpfully scale the image to fit within the column. This creates a passable image in FireFox but a pretty blurred image in Internet Explorer.</p>
<p>As an example, the image below has been scaled to fit, in FireFox you can still more or less read the text in the image, in Internet Explorer the image is pretty much unreadable</p>
<p><img src="http://www.fuzzymargins.com/wp-content/uploads/2009/01/people-and-works1.jpg" alt="people-and-works1" title="people-and-works1" width="596" height="246" class="alignnone size-full wp-image-195" /></p>
<p>Right-clicking on the image in FireFox and selecting properties opens the image properties dialog which will show in the Image Dimensions line (highlighted in the image below) that the image has been re-sized</p>
<p><img src="http://www.fuzzymargins.com/wp-content/uploads/2009/01/ff-scale-image.jpg" alt="Firefox image properties" title="Firefox image properties" width="449" height="254" class="alignnone size-full wp-image-195" /></p>
<p>The answer for me was to revert to sizing the images using Photoshop then uploading the images via FTP to the same location as the uploader. Then there is a choice of selecting the image from a URL using the WordPress uploader or just typing in the URL directly to the post. Personally my chosen route is now to do the all the HTML myself, gives me a feeling of being back in control.</p>
<p>The other issue is the number of different images the uploader creates in the WordPress &#47;uploads directory, it seems to create three images at least for every image that is uploaded, hand-rolling the process means you have one image per image in the post and you have control over the process. If you&#39;re like me and you keep altering and uploading the image repeatedly then WordPress creates a whole lot of images which become difficult to control and take up loads of space.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2009/01/fuzzy-images-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Many to Many Relationships</title>
		<link>http://www.fuzzymargins.com/2008/12/many-to-many-relationships/</link>
		<comments>http://www.fuzzymargins.com/2008/12/many-to-many-relationships/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 17:54:31 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Data Modelling]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=31</guid>
		<description><![CDATA[Data Modelling relationships between tables
The thing that got me writing this article was a question posted on Stack Overflow about data design, asking whether it&#8217;s better to use one big table or to arrange the data using multiple related tables.  Having spent many years working with relational databases this seems obvious, it&#8217;s easy to forget [...]]]></description>
			<content:encoded><![CDATA[<h3>Data Modelling relationships between tables</h3>
<p>The thing that got me writing this article was a question posted on <a href="http://stackoverflow.com/">Stack Overflow</a> about data design, asking whether it&#8217;s better to use one big table or to arrange the data using multiple related tables.  Having spent many years working with relational databases this seems obvious, it&#8217;s easy to forget this is not common knowledge and assume everyone knows this stuff.</p>
<p><span id="more-31"></span></p>
<p>The examples below are from a database that contains information about <a title="Oxford Portraits" href="http://www.odl.ox.ac.uk/oxfordportraits" target="_blank">portraits belonging to the University of Oxford</a>.  These portraits are referred to as Works in the database.</p>
<p>The database also holds details of the  people connected to the portraits. This includes the subject of the portrait (the sitter),  the artists who produced the portrait, and others such as donors who have bequeathed portraits to the university.</p>
<p>A portrait may be connected to many people and a person may be connected to many portraits, in other words a many-to-many relationship exists between portraits and people.</p>
<p>There are various ways in which this can be modelled:</p>
<ul>
<li>Store the portraits and people in a single table. When several people are linked to a portrait can either have multiple sets of columns to hold the extra people or have multiple rows where the portrait data is repeated</li>
<li>Store the portraits and people in two separate tables with columns in the portrait tables that hold the links to the various people</li>
<li>Store the portraits and people in separate tables with a third table to hold the relationships</li>
</ul>
<p>The problem with the first two solutions above is that data is either repeated or is left empty in case it is required as we can&#8217;t know up front how many relationships there will be for each portrait and person.  They are also hard to change when new requirements are identified, e.g. a new type of person needs to be added.</p>
<p>The third solution doesn&#8217;t require repeating (redundant) data or booking spaces for relationships that may or may not be required, using data modelling terms we can say it has been <em>normalised</em>.</p>
<p>The extra table by convention is named from concatenating the names of the two tables in the many-to-many relationship, hence the new table in our example is called Work_People as it links the Work and People tables.</p>
<p><img class="alignnone size-medium wp-image-154" title="People and Work Entity Relationship diagram" src="http://www.fuzzymargins.com/wp-content/uploads/2008/12/people_work.gif" alt="People and Work Entity Relationship diagram" width="500" height="198" /></p>
<p>The new table is constructed by taking the Primary Key of each of the parent tables. These become the primary key of the new table. In our example both tables have numeric primary keys that are incremented for each new row. Using these abstract keys allows the data in the tables to be changed without having to update the relationships, e.g. the names in the People table can be changed without having to update the Work_People or Work tables.</p>
<p class="note">Note the relationships in the diagram between the three tables.  The connectors that link the tables have a single terminator at the <em>One </em>end of the relationship and have a crows foot at the <em>Many </em>end of the relationship.</p>
<p><img class="alignleft size-full wp-image-142" title="vp_relationship_one2" src="http://www.fuzzymargins.com/wp-content/uploads/2008/12/vp_relationship_one2.png" alt="vp_relationship_one2" width="227" height="137" />There is a One at the<em> One </em>end of the relationship</p>
<p>There is a Zero at the <em>Many </em>end of the relationship.</p>
<p>This is the cardinality of the relationship which means the connector between the Work and Work_People tables can be read as <em>Exactly One </em>row in the Work table can be related to <em>Zero or More</em> Work_People rows.</p>
<p>In other words, new rows can be added to the Work and People tables without having to add relationships to the Work_People table. This allows new works and new people to be added independently of each other,  then the relationships are added as and when required. Note that this isn&#8217;t always the case, cardinality will vary and in some cases may specify that the relationships must be added at the same time as the rows in the main tables.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2008/12/many-to-many-relationships/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing the free edition of Visual Paradigm</title>
		<link>http://www.fuzzymargins.com/2008/12/installing-the-free-edition-of-visual-paradigm/</link>
		<comments>http://www.fuzzymargins.com/2008/12/installing-the-free-edition-of-visual-paradigm/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 17:52:32 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Data Modelling]]></category>
		<category><![CDATA[Software tools]]></category>
		<category><![CDATA[ERD]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=63</guid>
		<description><![CDATA[How to install Visual Paradigm community edition
While writing an article on implementing Many to Many Relationships in databases the need for a diagramming tool became clear.  At  work Visual Paradigm is the tool for all UML and data modelling requirements, so it was good to read there is a free community edition that can be [...]]]></description>
			<content:encoded><![CDATA[<h3>How to install Visual Paradigm community edition</h3>
<p><img class="size-medium wp-image-71 alignright" title="vp_download_ce" src="http://www.fuzzymargins.com/wp-content/uploads/2008/12/vp_download_ce-300x169.png" alt="vp_download_ce" width="300" height="169" />While writing an article on implementing Many to Many Relationships in databases the need for a diagramming tool became clear.  At  work Visual Paradigm is the tool for all UML and data modelling requirements, so it was good to read there is a free <a href="http://www.visual-paradigm.com/product/vpuml/communityedition.jsp">community edition</a> that can be downloaded for personal use. The Community Edition page has a link on the left hand-side to download Visual Paradigm.</p>
<p><span id="more-63"></span></p>
<p><img class="size-medium wp-image-73 alignleft" title="vp_download_page" src="http://www.fuzzymargins.com/wp-content/uploads/2008/12/vp_download_page-300x171.png" alt="vp_download_page" width="300" height="171" /></p>
<p>Clicking  on the round image highlighted in yellow will prompt for registration or a user name and password.  Once you have registered the next page has two checkboxes,  select the second check box to request a license key as an attachment, this will be sent as an email to the address provided during registration.</p>
<p>Then click on the Download button to start downloading the large (140 Mb) executable file.  Once it has been downloaded running the executable will start the installation procedure, you will be prompted for location and so on. When the installation procedure prompts for the product to be installed, make sure you select Visual Paradigm for UML.</p>
<p><img class="alignnone size-medium wp-image-74" title="vp_setup_screen" src="http://www.fuzzymargins.com/wp-content/uploads/2008/12/vp_setup_screen-300x250.png" alt="vp_setup_screen" width="300" height="250" /></p>
<p>The next dialog to be displayed prompts for the edition to be used,  select the Community Edition as that is free for personal use.</p>
<p><img class="alignnone size-full wp-image-75" title="vp_edition_screen" src="http://www.fuzzymargins.com/wp-content/uploads/2008/12/vp_edition_screen.jpg" alt="vp_edition_screen" width="500" height="417" /></p>
<p><img class="alignright size-medium wp-image-89" title="VisuaL Paradigm License " src="http://www.fuzzymargins.com/wp-content/uploads/2008/12/vp_license_window-300x250.png" alt="VisuaL Paradigm License " width="300" height="250" /></p>
<p>The final dialog prompts for the license to be used. Select the Single License Key option and in the file path box enter the path and the name of the license key file that was attached to the registration email.</p>
<p>That pretty much completes the installation. When you first run Visual Paradigm you will be prompted for a workspace which is where all of the diagrams you create will be stored.  Make sure this is set to a path of a location that does get included in backups, particularly if you plan to create diagrams that would be difficult to recreate if they were lost due to a disk crash.</p>
<p>The next part of this article will describe how to get started with  Visual Paradigm and how to create the first Entity Relationship diagram.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2008/12/installing-the-free-edition-of-visual-paradigm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cross-browser and platform compatibility</title>
		<link>http://www.fuzzymargins.com/2008/11/cross-browser-and-platform-compatibility/</link>
		<comments>http://www.fuzzymargins.com/2008/11/cross-browser-and-platform-compatibility/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 08:59:01 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[html compatibility]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=21</guid>
		<description><![CDATA[How do you test your pages to ensure they don&#8217;t look awful on another platform?
How do you make sure your carefully crafted pages don&#8217;t fall to pieces when viewed with Safari on Mac OS or collapse in a heap under MSIE 5.0 for Windows?
You can maintain multiple operating systems and perhaps run emulations or virtual [...]]]></description>
			<content:encoded><![CDATA[<h3>How do you test your pages to ensure they don&#8217;t look awful on another platform?</h3>
<p>How do you make sure your carefully crafted pages don&#8217;t fall to pieces when viewed with Safari on Mac OS or collapse in a heap under MSIE 5.0 for Windows?</p>
<p>You can maintain multiple operating systems and perhaps run emulations or virtual machines but it all can be very time consuming and troublesome.<br />
<span id="more-21"></span><br />
So stumbling across <a title="Browsershots.org" href="http://browsershots.org/" target="_blank">Browsershots </a>seemed to offer a solution to all these issues, you submit your URL and it comes back with screenshots of your webpage for a wide variety of browser and platform combinations.</p>
<p>In their own words what it offers is to:</p>
<blockquote><p>Browsershots makes screenshots of your web design in different browsers. It is a free open-source online service created by Johann C. Rocholl. When you submit your web address, it will be added to the job queue. A number of distributed computers will open your website in their browser. Then they will make screenshots and upload them to the central server here.</p></blockquote>
<p>Having used it for a while, and found various horrors lurking in what looked like perfectly viable designs, I can thoroughly recommend this service, and best of all it is free, although if you find it useful you can pay for priority processing. You may have to wait a few minutes for the screenshots to be captured and listed on the page, but that is worth it if like me you don&#8217;t can&#8217;t afford the various paid services or the cost of having a complete test suite.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2008/11/cross-browser-and-platform-compatibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
