<?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>Metaflex</title>
	<atom:link href="http://metaflex.co.za/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://metaflex.co.za</link>
	<description>a new perspective on defining software</description>
	<lastBuildDate>Wed, 21 Jul 2010 09:58:40 +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>The Standing Desk Experiment</title>
		<link>http://metaflex.co.za/?p=67</link>
		<comments>http://metaflex.co.za/?p=67#comments</comments>
		<pubDate>Wed, 21 Jul 2010 09:55:18 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[desk]]></category>
		<category><![CDATA[standing]]></category>

		<guid isPermaLink="false">http://metaflex.co.za/?p=67</guid>
		<description><![CDATA[I had heard about the standing and sit-standing desks that are available, but I had not bothered much about them until after I read about the health risks of sitting for prolonged periods. After reading that well written opinion piece I decided that walking up and down 10 floors of stairs wasn’t enough – especially [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 260px"><a href="http://en.wikipedia.org/wiki/Standing_desk"><img class=" " title="Secretary of Defense Donald H. Rumsfeld works at the stand-up desk in his office" src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/031030-F-2828D-166_screen.jpg/250px-031030-F-2828D-166_screen.jpg" alt="" width="250" height="384" /></a><p class="wp-caption-text">Donald H. Rumsfeld works at the stand-up desk in his office (pic from Wikipedia)</p></div>
<p>I had heard about the standing and sit-standing desks that are available, but I had not bothered much about them until after I read about the health risks of sitting for <a href="http://opinionator.blogs.nytimes.com/2010/02/23/stand-up-while-you-read-this/">prolonged periods</a>. After reading that well written opinion piece I decided that walking up and down 10 floors of stairs wasn’t enough – especially since I would soon be moving into my home office and won’t have 10 floors to climb.</p>
<p>Right now I spend a day at my job sitting in front of an underpowered computer with a tiny screen. I then typically go home to my decent home setup and spend anywhere from 3 to 5 hours working or playing. This is all going to change soon and I suspect that my home office will get used about 12 to 16 hours a day once I move there full-time. So, armed with the knowledge that I could face serious health problems directly associated with my career choice I have set out to stand at my home desk – with the option of sitting somewhere if I so desire.</p>
<p>I’m not about to spend a lot of money on a sit-stand desk. Not when a few boxes of the right size will do the job just as well. I measured things carefully using the data from this <a href="http://www.thehumansolution.com/ergonomic-office-desk-chair-keyboard-height-calculator.html">ergonomics calculator</a> and I worked out that I needed to move my keyboard and mouse up by 30cm. I also prefer having my monitor a little lower so it also moved up by 30cm. Fortunately I had a few sturdy boxes that were up to the task.</p>
<p>I’ve been using this setup for 3 nights so far and my feet are not getting as sore as they got on the first night. I don’t have any back pain from standing for prolonged periods either. The first night standing was a little strange, but I am getting used to the idea of not needing a chair. I also do feel that it is easier for me to concentrate when I need to.  So if working standing up means better health and better focus then this is something I am going to stick with for the long term.</p>
<p>Find out more at <a href="http://en.wikipedia.org/wiki/Standing_desk">http://en.wikipedia.org/wiki/Standing_desk</a></p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=67</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shifting the Reskilling Responsibility</title>
		<link>http://metaflex.co.za/?p=66</link>
		<comments>http://metaflex.co.za/?p=66#comments</comments>
		<pubDate>Tue, 20 Apr 2010 08:22:06 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[reskilling]]></category>
		<category><![CDATA[skills]]></category>

		<guid isPermaLink="false">http://metaflex.co.za/?p=66</guid>
		<description><![CDATA[Reskilling oneself works well for contractors. It works well if these contractors are experienced developers that move onto new projects often. However, when the staff in question are not experienced or advanced enough or when these developers are primarily maintaining existing systems or building upon an existing bedrock of IT systems. Reskilling themselves becomes a [...]]]></description>
			<content:encoded><![CDATA[<p>Reskilling oneself works well for contractors. It works well if these contractors are experienced developers that move onto new projects often. However, when the staff in question are not experienced or advanced enough or when these developers are primarily maintaining existing systems or building upon an existing bedrock of IT systems. Reskilling themselves becomes a far harder option. Simply being told that you have to learn new technology and techniques is not enough in these situations. </p>
<p>If the goal is to maintain an up-to-date workforce of embedded contractors then a more specific approach is required. One such approach is to mandate the use of a specific technology or method for a particular module or system extension. This forces the developer to research and learn the unknown technology and technique. This is the particular method I am using to mentor an inexperienced developer and is showing definite results.</p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=66</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opera 10 &amp; Google Chrome won&#8217;t use my Automatic Proxy (PAC) file</title>
		<link>http://metaflex.co.za/?p=56</link>
		<comments>http://metaflex.co.za/?p=56#comments</comments>
		<pubDate>Wed, 03 Mar 2010 09:19:30 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Web Stuff]]></category>
		<category><![CDATA[Automatic Proxy]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[PAC]]></category>

		<guid isPermaLink="false">http://metaflex.co.za/?p=56</guid>
		<description><![CDATA[Opera 10 &#038; Google Chrome Automatic Proxy (PAC)]]></description>
			<content:encoded><![CDATA[<p>This problem manifested itself in both the new Opera and Google Chrome browsers.  The pac file worked perfectly in Firefox and IE, but refused to work at all in Opera and Chrome.</p>
<p>This is what the original pac file looked like:</p>
<pre>
function FindProxyForURL(url, host)
{
  if (isInNet(myIpAddress(), "10.200.0.0", "255.255.0.0"))
    return "PROXY 10.100.0.99:8080; SOCKS 10.100.0.99:1080";
  else
    return "DIRECT";
}
</pre>
<p><br/><br />
This code is in a &#8220;myproxy.pac&#8221; file hosted on a web server on my PC.  I then reference the url of the file in my browser&#8217;s pac file setting: &#8220;http://localhost/myproxy.pac&#8221;.</p>
<p>The solution was simply to remove the leading spaces for the lines in the function, like so:</p>
<pre>
function FindProxyForURL(url, host)
{
if (isInNet(myIpAddress(), "10.200.0.0", "255.255.0.0"))
return "PROXY 10.100.0.99:8080; SOCKS 10.100.0.99:1080";
else
return "DIRECT";
}
</pre>
<p><br/><br />
And now it works!</p>
<p>So, my assumption is that Opera and Chrome prefer messy code.</p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=56</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Apple iPad price predictions for South Africa</title>
		<link>http://metaflex.co.za/?p=41</link>
		<comments>http://metaflex.co.za/?p=41#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:11:10 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
				<category><![CDATA[Guesswork]]></category>

		<guid isPermaLink="false">http://96.0.117.151/?p=41</guid>
		<description><![CDATA[I&#8217;m planning on buying an iPad and this may or may not be a foolhardy thing to do. Having made up my mind to lay out cash the next step in my plan is to figure out how much cash I will need.
For this little exercise let us compare the US prices of some Apple [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m planning on buying an iPad and this may or may not be a foolhardy thing to do. Having made up my mind to lay out cash the next step in my plan is to figure out how much cash I will need.</p>
<p>For this little exercise let us compare the US prices of some <a href="http://store.apple.com/">Apple products</a> to their South African prices on the <a href="http://zastore.co.za/">ZAStore</a>. To make it fair, let&#8217;s not forget to remove the VAT from our prices as the US prices don&#8217;t have their sales tax added. Just for interest the <a href="http://en.wikipedia.org/wiki/Sales_taxes_in_the_United_States#California">sales tax in Los Angeles</a> is quite high (for America) at 9.75%.</p>
<h2>Apple.com prices</h2>
<table border="0">
<thead>
<tr>
<th>Product</th>
<th>Listed Price (USD)</th>
<th>Converted to Rands</th>
</tr>
</thead>
<tbody>
<tr>
<td>iPod Touch 8GB</td>
<td style="text-align: right">$199</td>
<td style="text-align: right">R1,545</td>
</tr>
<tr>
<td>iPod Touch 32GB</td>
<td style="text-align: right">$299</td>
<td style="text-align: right">R2,322</td>
</tr>
<tr>
<td>MacBook</td>
<td style="text-align: right">$999</td>
<td style="text-align: right">R7,757</td>
</tr>
</tbody>
</table>
<h2>zastore.co.za prices for the same items:</h2>
<table border="0">
<thead>
<tr>
<th>Product</th>
<th>Listed Price (ZAR)</th>
<th>Without VAT</th>
</tr>
</thead>
<tbody>
<tr>
<td>iPod Touch 8GB</td>
<td style="text-align: right">R2,699.00</td>
<td style="text-align: right">R2,367.54</td>
</tr>
<tr>
<td>iPod Touch 32GB</td>
<td style="text-align: right">R3,999.00</td>
<td style="text-align: right">R3,507.89</td>
</tr>
<tr>
<td>MacBook</td>
<td style="text-align: right">R10,999.00</td>
<td style="text-align: right">R9,648.25</td>
</tr>
</tbody>
</table>
<h2>Percentage mark-up at zastore.co.za:</h2>
<table border="0">
<thead>
<tr>
<th>Product</th>
<th>Calculation</th>
<th>Percentage mark-up</th>
</tr>
</thead>
<tbody>
<tr>
<td>iPod Touch 8GB</td>
<td style="text-align: right">(2367.54 &#8211; 1545) / 1545 * 100</td>
<td style="text-align: right">53.24%</td>
</tr>
<tr>
<td>iPod Touch 32GB</td>
<td style="text-align: right">(3507.89 &#8211; 2322) / 2322 * 100</td>
<td style="text-align: right">51.01%</td>
</tr>
<tr>
<td>MacBook</td>
<td style="text-align: right">(9648.25 &#8211; 7757) / 7757 * 100</td>
<td style="text-align: right">24.38%</td>
</tr>
</tbody>
</table>
<p>So, we can deduce, based on current pricing that the iPad ($499 &#8211;&gt; R3874.74) with markup and VAT should cost between R5,494.12 (24.38% mark-up) and R6768.92 (53.24% mark-up.)</p>
<h2>Finally</h2>
<p>I can say with 95% confidence that the iPad 16GB with WiFi will cost between R5500 and R7000 when it becomes available in South Africa. My prediction though is around the R6000 mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=41</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The software development models forced upon us</title>
		<link>http://metaflex.co.za/?p=34</link>
		<comments>http://metaflex.co.za/?p=34#comments</comments>
		<pubDate>Mon, 02 Nov 2009 09:27:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://96.0.117.151/?p=34</guid>
		<description><![CDATA[When I was studying Information Technology I was taught the classic Systems Development Life Cycle. Since then I have been exposed to many more development models and strategies and have come to the conclusion that each project is different and will require a different approach.
It is also easy to see when the development process is [...]]]></description>
			<content:encoded><![CDATA[<p>When I was studying Information Technology I was taught the classic <a href="http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle">Systems Development Life Cycle</a>. Since then I have been exposed to many more development models and strategies and have come to the conclusion that each project is different and will require a different approach.</p>
<p>It is also easy to see when the development process is being done wrong. At least I think it is easy to see, but that could be hindsight as it is always trickier to get your foresight to work. Let me tell you about the development cycle at a local outsourcing firm that I am unfortunately being exposed to.</p>
<p><strong>The development models in use</strong></p>
<p>At its heart the development models in use are <a href="http://en.wikipedia.org/wiki/Iterative_development">the Iterative model</a>, <a href="http://en.wikipedia.org/wiki/Evolutionary_prototyping#Evolutionary_prototyping">Evolutionary Prototyping </a>, and a bit of <a href="http://en.wikipedia.org/wiki/Verification_and_Validation_(software)">Verification and Validation</a>. None of these are wrong or bad, but the project is still struggling due in part to how these models are being managed and a large part to how the project was started.</p>
<p><strong>The problems</strong></p>
<p>The system&#8217;s presumed function and audience has changed dramatically during the first few months of development and all of the original coding was done by a junior programmer. I know he is a junior programmer as I can see novice mistakes in the code. His mistakes include not understanding how Object Oriented programming should work, his user interface design, and his approach to handling data for a web based interface. They all scream inexperience and haste. If this was to be a throw-away prototype, a once-off proof of concept, then it would be fine. It could even be a growth experience for the junior programmer as someone more experienced could criticize the code and everyone would learn. That was not the development model that was chosen though.</p>
<p>Remember the Evolutionary Prototyping model in use for this project? Well its aim is &#8220;to build a very robust prototype in a structured manner and constantly refine it.&#8221; Which means that this pile of amateurish code is now the foundation for all iterations of development. There is also no convincing the boss that a rewrite is in order as the client has already paid a lot of money and they can&#8217;t be expected to pay again.</p>
<p>The end result is that any change to the system – new feature, bug fix or performance enhancement – is very likely to break another part of the system. This makes maintenance tricky and deliverables difficult to promise.</p>
<p><strong>How could this mess have been avoided?  (mostly anyway)</strong></p>
<p>The original system could have been thrown away and the client&#8217;s requirements could have shaped the next version.<br />
More experienced developers should have been brought on when the client was sold the idea.<br />
User requirements should have been managed more clearly and in a formal manner (this is a whole other problem that I didn&#8217;t even raise in this post.)</p>
<p><strong>Will these lessons be learned?</strong></p>
<p>I hope so.</p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=34</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>One thing at a time please &#8211; I&#8217;m a developer&#8230;</title>
		<link>http://metaflex.co.za/?p=31</link>
		<comments>http://metaflex.co.za/?p=31#comments</comments>
		<pubDate>Wed, 09 Sep 2009 13:36:26 +0000</pubDate>
		<dc:creator>andrew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Software development multitasking]]></category>

		<guid isPermaLink="false">http://96.0.117.151/?p=31</guid>
		<description><![CDATA[Something I have long believed in, is that, as developers, we should be concentrating on one job at a time.  I have often been put in the situation where I need to work on multiple tasks during a working day.  This not only creates stress, but also leads to increased delivery time and [...]]]></description>
			<content:encoded><![CDATA[<p>Something I have long believed in, is that, as developers, we should be concentrating on one job at a time.  I have often been put in the situation where I need to work on multiple tasks during a working day.  This not only creates stress, but also leads to increased delivery time and potentially poor delivery for all of the projects.</p>
<p>It might be nice to be able to say to each customer: &#8220;Yes, your project is currently being worked on&#8230;&#8221; &#8211; but, I think it would be far better to be able to say to the customer: &#8220;Your project will be completed in 2 week&#8217;s time&#8221;.  The second statement may not be exactly what that customer wants to hear, however, it will result in a better product and a lower overall cost (not only for the current development phase, but also future maintenance cost due to having a better product delivered).</p>
<p>While I understand that many customers simply want a product delivered in the shortest time possible, the long term benefits must surely be to retain a greater customer loyalty due to a better product being delivered.</p>
<p>With reference to: <a title="http://codemonkeyism.com/high-cost-overhead-working-parallel/" href="http://codemonkeyism.com/high-cost-overhead-working-parallel/" target="_blank">http://codemonkeyism.com/high-cost-overhead-working-parallel/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>S60 WRT Widget utilising the accelerometer sensor</title>
		<link>http://metaflex.co.za/?p=27</link>
		<comments>http://metaflex.co.za/?p=27#comments</comments>
		<pubDate>Tue, 16 Jun 2009 14:35:04 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
				<category><![CDATA[Demonstrations]]></category>
		<category><![CDATA[5800]]></category>
		<category><![CDATA[5800XM]]></category>
		<category><![CDATA[accelerometer]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[WRT]]></category>

		<guid isPermaLink="false">http://metaflex.co.za/blog/?p=27</guid>
		<description><![CDATA[If you have a Nokia S60 5th edition phone with an accelerometer then you can easily create widgets that read the device data. Why would you want to know how your phone is oriented in 3d space? I can think of a few pretty cool user experience reasons such as tilt-to-scroll (ala Instapaper&#8217;s iPhone app) [...]]]></description>
			<content:encoded><![CDATA[<p>If you have a Nokia S60 5th edition phone with an accelerometer then you can easily create <a href="http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/">widgets</a> that read the device data. Why would you want to know how your phone is oriented in 3d space? I can think of a few pretty cool user experience reasons such as tilt-to-scroll (ala <a href="http://www.instapaper.com/">Instapaper</a>&#8217;s iPhone app) and as the control mechanism for games. Unfairly though, widgets are not especially geared towards performance so gaming may be out of the question. In fact if you run my demo you will realise just how badly a JavaScript and HTML widget can perform – if you want nice animation in a widget you will be forced to use <a href="http://www.adobe.com/products/flashlite/">Flash lite</a>.</p>
<p>In my rather simplistic demo I have a small block on screen that slides around depending on which way the phone is tilted. There is a bug though &#8211; a very big bug on my 5800 with v20 software: it eventually slows down and then crashes with a memory full error. You see there is a memory leak somewhere and, after rewriting my code many times, I have to assume it is in the phone&#8217;s handling of the sensor data interface for widgets.</p>
<p>Perhaps if you try out my demo you would let me know if it works for a prolonged period of time (&gt;10 minutes) or not on your phone either by commenting here or via twitter (@perelson). Oh, and I know I said S60 5th edition, but if your version of S60 runs WRT widgets and has an accelerometer then it may just work for you as well.</p>
<p><strong>Download the demo:</strong> <a href="http://metaflex.co.za/blog/wp-content/uploads/2009/06/blockmover.wgz">blockmover.wgz</a>. It installs as &#8220;Sensor BlockMover&#8221; in the Applications folder on your phone.</p>
<p><span style="color: #ff0000;"><strong>Warning:</strong></span> If this demo causes a memory full error, your phone may just stop some of the running programs. All I&#8217;m saying is don&#8217;t blame me if another application gets closed and you lose something important.</p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=27</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keeping track of your physical world</title>
		<link>http://metaflex.co.za/?p=22</link>
		<comments>http://metaflex.co.za/?p=22#comments</comments>
		<pubDate>Mon, 25 May 2009 04:51:43 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[barcode]]></category>
		<category><![CDATA[lifehacking]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://metaflex.co.za/blog/?p=22</guid>
		<description><![CDATA[I just read about Violet&#8217;s Mir:ror product on Read Write Web (rww). The Mir:ror is simply a RFID reader that, together with some software, can do a variety of different tasks when presented with various RFID tags. You could program it to record when you feed the dog presumably by tagging and then swiping the [...]]]></description>
			<content:encoded><![CDATA[<p>I just read about <a href="http://www.violet.net/_mirror-give-powers-to-your-objects.html">Violet&#8217;s Mir:ror</a> product on <a href="http://www.readwriteweb.com/archives/mirror_rfid_glimpse.php">Read Write Web</a> (rww). The Mir:ror is simply a RFID reader that, together with some software, can do a variety of different tasks when presented with various RFID tags. You could program it to record when you feed the dog presumably by tagging and then swiping the dog’s bowl whenever you feed the dog. Some intelligent software would then monitor this data and could then inform you when it is time to buy some more dog food. Or, you could keep track of objects in a storeroom, or even perform other actions, like twittering whenever you swipe some tagged object. Swipe your umbrella over the Mir:ror and you could be automatically whining on twitter about the weather again.</p>
<p>Of course, the RWW article mentions quite a few shortcomings that all boil down to humans being lazy. If the Mir:ror reader isn’t where you need it then forget it. You also have to set up all the tags individually for each object and you have to create the action that will be performed when the object gets swiped over the reader! Never, I’m far too lazy for that to last any meaningful amount of time.</p>
<p>I was thinking though that the ability to track certain objects and their usage is quite a nifty one. Why can’t we get rid of the RFID tags and replace them with barcodes? You can print barcodes out on any standard printer so they can be extremely cheap to produce and many objects have barcodes already. Don’t have a barcode reader? Well, what about your mobile phone… doesn’t it have a camera? In fact, my phone is a smart phone and I’ll bet I can make some software that can read the barcode, interface to a web service and retrieve the details of the product and based on what the product is guide me through the default types of actions I might want to perform with the object. It could even upload the generated data to a cloud service for storage, analysis, events, and reports.</p>
<p>It would be useful even at the basic level of just being able to scan a barcode and the software telling me how many times and when that barcode was scanned. You see, if I am scanning dog food then I know I am scanning dog food and I can make my own rules as I see fit. In this case I would be able to see how many times I have fed my dog and that I have not skipped a meal. Rules and actions can be added later – in fact everything else could be done through a web interface to work with the stored data.</p>
<p>I can&#8217;t tell, is this a good idea?</p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=22</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Database Administrator – Support Role or Supervisor Role</title>
		<link>http://metaflex.co.za/?p=17</link>
		<comments>http://metaflex.co.za/?p=17#comments</comments>
		<pubDate>Tue, 10 Feb 2009 03:37:30 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://metaflex.co.za/blog/?p=17</guid>
		<description><![CDATA[There is a small development office comprised of eight developers out there. They crank out code to support the financial decision makers at the company they are contracted to and over the years their database schemas have grown. Bottom line was they were spending more and more of their time maintaining the databases and less [...]]]></description>
			<content:encoded><![CDATA[<p>There is a small development office comprised of eight developers out there. They crank out code to support the financial decision makers at the company they are contracted to and over the years their database schemas have grown. Bottom line was they were spending more and more of their time maintaining the databases and less on providing services for their clients.</p>
<p><strong><span style="color: #993300;">Enter the Database Administrator</span></strong></p>
<p>They felt like they needed someone to provide support when it came to maintaining the databases. This person would help when they needed to produce a complex query and would guide them to better design choices. Someone who would ensure backups ran and would document the databases. Someone who would support the developers by ensuring the database would continue working at its peak by monitoring indexes, statistics, and files.</p>
<p>What they got was an academic theorist who is formalizing everything possible into a best practice nightmare. They got an academic theorist who doesn’t know how to maintain the database, but does know what other people have written about database design and techniques. What the developers are getting are rules to follow – the Database Administrator is supervising their projects more than administering the database.</p>
<p>Now don’t get me wrong, I like standards and I agree that it is important to put these policies into effect. It just would have been nice for the developers to be able to spend more time writing software. Instead they still end up doing all the work a bona fide database administrator should be doing and they lose a little morale every time they have to do the Database Administrator’s job.</p>
<p>The developers in that team know that they can only rely upon themselves in the event of a critical database failure and not the Database Administrator.</p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=17</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Now using the Disqus commenting service</title>
		<link>http://metaflex.co.za/?p=8</link>
		<comments>http://metaflex.co.za/?p=8#comments</comments>
		<pubDate>Tue, 13 Jan 2009 11:08:09 +0000</pubDate>
		<dc:creator>stephen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://metaflex.co.za/blog/?p=8</guid>
		<description><![CDATA[I didn&#8217;t want to disable commenting on our blog, however the proportion of spam to legitimate comments was horrendous. In order solve this problem and take the burden of self managing the commenting system away from us we have implemented the Disqus commenting service.
So let those comments flow safe in the knowledge that the trolls [...]]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t want to disable commenting on our blog, however the proportion of spam to legitimate comments was horrendous. In order solve this problem and take the burden of self managing the commenting system away from us we have implemented the <a href="http://www.disqus.com/">Disqus</a> commenting service.</p>
<p>So let those comments flow safe in the knowledge that the trolls won&#8217;t hide your voice. We might, but they won&#8217;t.</p>
<p>UPDATE: Due to an upgrade we kind of lost the link to Disqus and we are not in too much of a hurry to re-enable it.</p>
]]></content:encoded>
			<wfw:commentRss>http://metaflex.co.za/?feed=rss2&amp;p=8</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
