<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<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/"
	>

<channel>
	<title>Code, coke and coins &#187; Waffle</title>
	<link>http://www.atomic14.co.uk/blog</link>
	<description>Occassional murmurs from your average software developer</description>
	<pubDate>Sat, 03 Mar 2007 12:11:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>Curious Database Indentity Fields</title>
		<link>http://www.atomic14.co.uk/blog/archives/49</link>
		<comments>http://www.atomic14.co.uk/blog/archives/49#comments</comments>
		<pubDate>Thu, 25 Jan 2007 21:32:27 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[Waffle]]></category>

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/49</guid>
		<description><![CDATA[  Ah databases, now I&#8217;m no DBA by any stretch of the imagination, but I&#8217;ve recently come across a new trend in database design which I&#8217;m pretty sure isn&#8217;t ideal.
When designing databases I&#8217;ve always taken the basic principle of using identity fields in each table and using foreign keys to &#8216;link&#8217; the tables, a pretty [...] ]]></description>
			<content:encoded><![CDATA[<p> Ah databases, now I&#8217;m no DBA by any stretch of the imagination, but I&#8217;ve recently come across a new trend in database design which I&#8217;m pretty sure isn&#8217;t ideal.</p>
<p>When designing databases I&#8217;ve always taken the basic principle of using identity fields in each table and using foreign keys to &#8216;link&#8217; the tables, a pretty standard affair I thought. I primarily work with SQL server, and as your average joe, I generally use an &#8216;int&#8217; for my identity field. It&#8217;s never let me down and gives me a possible 2,147,483,647 (2^31 -1) indentities. The largest tables I tend to work with have about 8.5 million rows, so plenty of scope for expansion. I suppose if I were really worried I could use a bigint, which gives me a staggering 9,223,372,036,854,775,807 (2^63 - 1) possible indentities.</p>
<p>Back to that less than ideal design&#8230;.. two databases I&#8217;ve recently worked with (both SQL server based and both &#8216;live&#8217; commercial applications) have taken a different approach to indentities. In fact neither use a traditional identity field at all, both &#8216;maintain&#8217; their own ids. Both shall remain nameless to protect the innocent.</p>
<p>The first uses a curious varchar(20) identifier, which is split into 2 parts, comma delimited no less. The first part is essentially the &#8216;customer identifier&#8217; which is a number, the second part after the comma is a base36 alphanumeric. The arguments behind this are that, firstly it allows for easy merging of records from mulitiple &#8216;customers&#8217; into the same table and secondly that base36 numbers are easy to read/recognise when large!!?! For example &#8220;1,BCV32J&#8221;, ah yes I know what that is, not!</p>
<p>The second database &#8216;indentifier&#8217; design is possibly even more curious, each table has a composite key consisting of a bigint and a guid. There seems to be no logical rhyme nor reason to this, other than to make sure we have plenty of indentifiers. This we sure have, a guid has about 2^128 combinations and the bigint about 2^63, giving a possible total number of combinations of 2^191! Which is erm&#8230;. a lot. Put into perspective I could generate 1,000,000 identifiers per second and still not run out before the Sun expands and swallows planet Earth.</p>
<p>I suppose there is one plus side, at least they are using SQL server and not an Excel spreadsheet (where most &#8216;enterprise&#8217; databases seem to get stored these days).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/49/feed</wfw:commentRss>
		</item>
		<item>
		<title>From Quad-Core to Infinity</title>
		<link>http://www.atomic14.co.uk/blog/archives/46</link>
		<comments>http://www.atomic14.co.uk/blog/archives/46#comments</comments>
		<pubDate>Tue, 21 Nov 2006 22:52:21 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[Hardware]]></category>

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

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/46</guid>
		<description><![CDATA[  So the Intel QX6700 is upon us, for those not in the know, it&#8217;s not really a true &#8216;quad&#8217; core processor, but a dual-dual processor. Two separate pieces of silicon (each containing an E6700 Dual core CPU) on a single physical package. But for all intensive purposes it is four physical CPUs in one [...] ]]></description>
			<content:encoded><![CDATA[<p> So the <a href="http://www.intel.com/design/processor/datashts/315592.htm">Intel QX6700</a> is upon us, for those not in the know, it&#8217;s not really a true &#8216;quad&#8217; core processor, but a dual-dual processor. Two separate pieces of silicon (each containing an E6700 Dual core CPU) on a single physical package. But for all intensive purposes it <em>is</em> four physical CPUs in one drop-in LGA775 package.</p>
<p>The QX6700 marks the way forward to more mainstream &#8216;Quad&#8217; CPUs in Q1-Q2 2007 and true Quad CPUs (one silicon slice, shared cache etc) in Q3-Q4 2007 from both Intel and AMD. If we believe everything we read we can expect up to 32 cores per processor in only a few years, which brings me to my problem&#8230;&#8230;.</p>
<p>The software market is far from ready for multiple core CPUs on the desktop.</p>
<p>The crux of the problem is that the vast majority of applications are not designed to work with multiple cores. Additionally the programmers who write software are also not &#8216;designed to work with multiple cores&#8217;. Writing an application to use multiple CPU cores is no easy task, and based on personal experience I&#8217;d not be suprised if the vast majority of programmers today will never be able to write such an application.</p>
<p>There are some applications today that can take good advantage of multiple cores but these are, in the main, high-end graphics packages or specialist server software. Other applications tend to be written for a single core, with only occassional use of a second core and no more.</p>
<p>The popularity of dual-core is however justified, simply because it effectively allows the application you are working on to have a core to itself, whilst all those other things, such as virus-checkers can trundle along on the other core. But this doesn&#8217;t scale, you certainly don&#8217;t need a &#8216;whole core&#8217; for each application, for the vast majority of people, dual-core is more than enough.</p>
<p>So what&#8217;s the answer? That&#8217;s the worrying thing, there is no easy answer, if there is a shortage of people capable of writing applications for multiple cores, it will be a very slow road for software&#8230;.. whilst hardware races ahead.</p>
<p>So by all means enjoy the artificial benchmarking scores a new quad-core processor will bring you, but unless you use scare and specialised software regularly the benefits of quad and beyond will be minimal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/46/feed</wfw:commentRss>
		</item>
		<item>
		<title>Hug a tree, enable SpeedStep</title>
		<link>http://www.atomic14.co.uk/blog/archives/45</link>
		<comments>http://www.atomic14.co.uk/blog/archives/45#comments</comments>
		<pubDate>Sat, 07 Oct 2006 13:48:21 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[Hardware]]></category>

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

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/45</guid>
		<description><![CDATA[  Like many I&#8217;m sure, I run my PC for long periods of time, on many occassions it runs 24/7 for particulary long downloads or FTP server access when I&#8217;m away. All this time the CPU is buzzing away, doing nothing for the large part, except comsuming power and generating heat.
One thing I was suprised [...] ]]></description>
			<content:encoded><![CDATA[<p> Like many I&#8217;m sure, I run my PC for long periods of time, on many occassions it runs 24/7 for particulary long downloads or FTP server access when I&#8217;m away. All this time the CPU is buzzing away, doing nothing for the large part, except comsuming power and generating heat.</p>
<p>One thing I was suprised with after my recent PC purchase, was that SpeedStep wasn&#8217;t enabled by default. SpeedStep is a technology by Intel that enables their CPUs to run at slower speeds when they aren&#8217;t so busy, laptop users may well be familiar with the technology as it&#8217;s fairly essential for long battery life. However this doesn&#8217;t seem to apply to desktop PCs, or at least it doesn&#8217;t in their default configurations as supplied by manufacturers. It should be noted that AMD support a similar technology &#8220;cool and quiet&#8221; for their CPUs.</p>
<p>The nice thing about SpeedStep is that the CPU changing speeds is transparent, when the power is needed i.e. by a game or other intensive processing task - the CPU automatically ramps up to a higher speed. There is no detectable performance hit whatsoever.</p>
<p>After a little research I found that the following Intel CPUs support SpeedStep,</p>
<ul>
<li>Pentium 4 (3Ghz +)</li>
<li>All Pentium D</li>
<li>All Core</li>
</ul>
<p>You can verify your processor supports SpeedStep using the <a href="http://processorfinder.intel.com/">Intel Processor Spec Finder</a>, which allows you to find your CPU and then &#8216;filter&#8217; on SpeedStep technology.</p>
<p>There are other parts to the equation too, namely your motherboard must also support SpeedStep, as well as your Operating System. Those that are happy to look in their PCs BIOS settings should hunt around for &#8220;EIST&#8221; or &#8220;SpeedStep&#8221; (EIST = Enhanced Intel SpeedStep) and make sure it&#8217;s enabled. Even if you aren&#8217;t happy to delve into your BIOS you can try altering your Windows settings anyway, it may well be it&#8217;s already enabled elsewhere.</p>
<p>To enable SpeedStep in your OS, you simply need to change your &#8220;Power Scheme&#8221; in Control Panel - Power Options. Intel themselves explain this best and have some screenshots to show how you can verify SpeedStep is enabled, available <a href="http://www.intel.com/cd/channel/reseller/asmo-na/eng/products/box_processors/desktop/proc_dsk_p4/technical_reference/203838.htm">here</a>.</p>
<p>For my Intel Core 2 E6700 CPU, the speed changes from the default 2667Mhz down to 1600Mhz at the slowest speed and also 2133Mhz inbetween, depending on how much power is required. It&#8217;s completely unnoticeable in day to day use, but I&#8217;m happy in the knowledge my PC is comsuming less power and producing less heat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/45/feed</wfw:commentRss>
		</item>
		<item>
		<title>NOD32, Anti-virus holy grail?</title>
		<link>http://www.atomic14.co.uk/blog/archives/43</link>
		<comments>http://www.atomic14.co.uk/blog/archives/43#comments</comments>
		<pubDate>Thu, 21 Sep 2006 17:56:36 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[Waffle]]></category>

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/43</guid>
		<description><![CDATA[  I recently built a new PC and was trying to decide which anti-virus software to use on it. I&#8217;d not had this decision to make for many, many years&#8230;. since 1990, when Norton Anti-Virus was introduced.
I&#8217;ve stuck with Norton Anti-virus all that time, happily paying my subscription annually in the knowledge that I was [...] ]]></description>
			<content:encoded><![CDATA[<p> I <a href="http://www.atomic14.co.uk/blog/archives/44">recently built a new PC</a> and was trying to decide which anti-virus software to use on it. I&#8217;d not had this decision to make for many, many years&#8230;. since 1990, when <a href="http://www.symantec.com/">Norton Anti-Virus</a> was introduced.</p>
<p>I&#8217;ve stuck with Norton Anti-virus all that time, happily paying my subscription annually in the knowledge that I was protected from viruses. However since the 2003 release and possibly earlier I&#8217;ve noticed a sharp increase in the amount of resources and time Norton spends thrashing around on my harddrives. I believe I&#8217;m not alone, many people have complained about this, however Symantec continue to &#8216;bloat&#8217; Anti-Virus with each subsequent release. Norton Anti-Virus 2006 was and probably will remain the last release of the product that I purchase.</p>
<p>Certainly I didn&#8217;t want to load Norton on my shiney new PC, I needed an alternative anti-virus solution. Something that harked back to the super fast and effective early releases of the Norton product.</p>
<p>I believe that product is <a href="http://www.eset.com/">NOD32 from Esnet</a>.</p>
<p>NOD32 is largely written in assembly code, which shows in it&#8217;s performance. It&#8217;s throughput of files when scanning and minimal system impact has to be seen to be believed. In these early days I can&#8217;t judge it&#8217;s detection rate (I rarely encounter viruses anyway due to being very wary and diligent), however it has the lowest failure rate in tests performed by <a href="http://www.virusbtn.com/">Virus Bulletin</a>, which can&#8217;t be a bad thing. That said it <em>did</em> find 1 trojan on my archived data disk that Norton had never found.</p>
<p>It does have it&#8217;s downside, user-friendliness isn&#8217;t all it could be. Components of the product have strange 4 letter acronyms e.g. AMON, DMON, IMON, EMON (a side-effect of being an assembly language programmer I suspect!) and setup options are plentiful, maybe too plentiful? However, given a little patience and thought, it does all make sense and should be possible for most &#8216;computer literate&#8217; people to setup and configure without too much pain.</p>
<p>After initial setup and configuration, it just works, it really is barely noticeable - especially if go for the rather good &#8220;silent mode&#8221; option. Silent mode only disturbs you if it has a reason to, no more daft &#8220;I&#8217;m great because I&#8217;ve just managed to update myself&#8221; style popups.</p>
<p>My trial period (one month) is about to expire, they will certainly be getting my £46 for a 1 PC, 3 year licence, worth every penny. It&#8217;s also worth noting they have student and non-profit organisation rates too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/43/feed</wfw:commentRss>
		</item>
		<item>
		<title>Magic ADSL</title>
		<link>http://www.atomic14.co.uk/blog/archives/42</link>
		<comments>http://www.atomic14.co.uk/blog/archives/42#comments</comments>
		<pubDate>Wed, 05 Jul 2006 09:13:30 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[PlusNet]]></category>

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

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/42</guid>
		<description><![CDATA[  Over the past few weeks, for the first time ever, my ADSL connection at home started to play up. Nothing major, the modem would loose synchronisation momentarily (1 or 2 seconds) every few hours and then resync - Windows remained perfectly oblivious to this activity and carried on as if nothing had occured.
Past experience [...] ]]></description>
			<content:encoded><![CDATA[<p> Over the past few weeks, for the first time ever, my ADSL connection at home started to play up. Nothing major, the modem would loose synchronisation momentarily (1 or 2 seconds) every few hours and then resync - Windows remained perfectly oblivious to this activity and carried on as if nothing had occured.</p>
<p>Past experience with my connection had been faultless; at one point I was connected for around 4 months straight with no glitches, only disconnecting when I needed to &#8216;bounce&#8217; my gateway PC for updates. This is also testament to the connection provided by my ISP, <a href="http://portal.plus.net/my/mydiscount_info/landing_page.html?WRKUh%2Fz%2FuZ5dXmEjImm%2BIMkRiDrJhibK68I95EISja8%3D">PlusNet</a> who for all their faults provide rock solid connections for most of their customers (current trial MaxDSL issues aside!).</p>
<p>The answer to the ADSL issue I was experiencing came about almost by chance, the battery in my mobile phone drained after a particulary long working day. Due to this I was forced to use a landline, after finding my telephone I was dismayed to find no dialtone. I probably should say at this point that I&#8217;m part of a growing number of people with no need for a landline for day-to-day use, it is there for ADSL only.</p>
<p>After breathing some life back into my mobile, one of my first calls was to BT faults. I could have used the <a href="http://www.bt.com/faults">BT website to report the fault</a>, oddly something tells me to use a phone to report a phone fault! As it happens the service is completely automated with various options such as SMS text updates etc.</p>
<p>Roll on Saturday morning, I get a phone call from a BT engineer who is on his way to investigate the problem with the line. Within 10 minutes of his arrival he&#8217;s identified the problem as being 15 metres down the line, which just so happens to coincide with the junction box on the wall. Outside and up the ladder he goes, almost instantly proclaiming &#8220;think I&#8217;ve found the problem!&#8221;, pointing feverishly at a single wire that is completely disconnected from the rest and sticking out at right-angles from the wall.</p>
<p>Reconnection of my second wire solved the &#8216;dialtone&#8217; problem, a fully working phone line again, and resolved my ADSL &#8216;hiccups&#8217;. I queried the BT engineer as to how the ADSL continued to work at full capacity for the most part with so few problems&#8230;..</p>
<p>&#8220;Even we don&#8217;t understand how it works, it&#8217;s magic&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/42/feed</wfw:commentRss>
		</item>
		<item>
		<title>Things I&#8217;d forgotten you could do with VB6</title>
		<link>http://www.atomic14.co.uk/blog/archives/41</link>
		<comments>http://www.atomic14.co.uk/blog/archives/41#comments</comments>
		<pubDate>Thu, 29 Jun 2006 19:29:39 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[Development]]></category>

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

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/41</guid>
		<description><![CDATA[  My last 2 jobs have involved a large amount of Visual Basic 6 development (amongst T_SQL, C and various script languages), but have been very different in terms of design and implementation of code.
Prior to my current role, the VB6 code was about as cutting-edge as you can get with an 8 year old [...] ]]></description>
			<content:encoded><![CDATA[<p> My last 2 jobs have involved a large amount of Visual Basic 6 development (amongst T_SQL, C and various script languages), but have been very different in terms of design and implementation of code.</p>
<p>Prior to my current role, the VB6 code was about as cutting-edge as you can get with an 8 year old development environment. Extensive use was made of collections, classes and COM to build a robust central object library that was a breeze to use.</p>
<p>By comparision, the product I&#8217;m working with currently has &#8216;history&#8217;, and a lot of it. The only time a class is used is to provide a public interface to an ActiveX control. By and large the majority of the &#8216;framework&#8217; is implemented in shared modules.</p>
<p>Neither way is the &#8216;right&#8217; way, both are valid in VB6, one being an object oriented approach and the other very much &#8216;procedural&#8217;. That said it is difficult moving back to procedural programming after writing so much object oriented code.</p>
<p>It&#8217;s the procedural code, having been around as long as VB6 itself, that threw up a few surprises for me. Along with the fact that several contributers had their roots in VB to the early versions. That said I don&#8217;t remember using some of these features, even way back in VB3&#8230;..</p>
<p><em>Multiple executions on one line of code</em><br />
<code>foo=1:bar=1</code></p>
<p><em>GoSubs!</em><br />
<code>Private Sub Foo()<br />
&nbsp;&nbsp;&nbsp;&nbsp;GoSub Bar<br />
Exit Sub<br />
Bar:<br />
&nbsp;&nbsp;&nbsp;&nbsp;MsgBox &quot;Hello world!&quot;<br />
Return<br />
End Sub</code></p>
<p><em>Option Compare*</em><br />
<code>Option Compare Text</code></p>
<p>&#8230;and an interesting technique to detect a VB program was running interpreted&#8230;..</p>
<p><code>Debug.Print 1/0</code></p>
<p>&#8230;I&#8217;d always for some reason used Debug.Assert to call a function and set a value. I&#8217;m sure both techniques have their pros and cons.</p>
<p>* Not strictly &#8216;forgotten&#8217;, just never used, the default binary has always suited.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/41/feed</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft Visual Studio 2005 Express Editions</title>
		<link>http://www.atomic14.co.uk/blog/archives/40</link>
		<comments>http://www.atomic14.co.uk/blog/archives/40#comments</comments>
		<pubDate>Sun, 04 Jun 2006 18:22:50 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[Development]]></category>

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

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/40</guid>
		<description><![CDATA[  Recently I finally took the plunge and installed the express editions of Visual Studio 2005 on one of my machines. The whole process was very painless I must say, the whole process of installing VC, VCS, VB and SQL 2005 didn&#8217;t require a single reboot, and didn&#8217;t present any installation options at all. It&#8217;s [...] ]]></description>
			<content:encoded><![CDATA[<p> Recently I finally took the plunge and installed the <a href="http://msdn.microsoft.com/vstudio/express/">express editions of Visual Studio 2005</a> on one of my machines. The whole process was very painless I must say, the whole process of installing VC, VCS, VB and SQL 2005 didn&#8217;t require a single reboot, and didn&#8217;t present any installation options at all. It&#8217;s worth noting that many tools don&#8217;t install with Express Editions, however these too are a free download within the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=FE6F2099-B7B4-4F47-A244-C96D69C35DEC&#038;displaylang=en">.NET Framework 2.0 SDK</a>.</p>
<p>Happily the whole kit and caboodle seems to run along side old versions of development tools, such as Visual Studio 6 and SQL 2000 etc without any gripes.</p>
<p>I was eager to gain some &#8216;hands-on&#8217; with C#.NET and VB.NET, which for all intensive purposes seemed pretty easy to grasp. Exception handling is a bit of a revelation if coming from a VB6 background, which is where most of my &#8216;commercial&#8217; day-to-day work happens, who said VB6 was dead?</p>
<p>Aside from looking at the .NET 2.0, I was also particulary interested in Visual C++, being the last language that is now able to compile native applications (VB is .NET only). Herein lay my first dissappointment with the Express package, support for native applications in C++ appears to be limited to console applications only. I can&#8217;t knock Microsoft for &#8217;steering&#8217; developers towards .NET, especially after providing such a rich free development environment, but as much as I don&#8217;t want to commercially write VB6 forever I also don&#8217;t want to always write .NET applications.</p>
<p>You <em>can</em> get halfway to a working Win32 native application development enviroment by following Microsoft instructions <a href="http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/">here</a> and/or <a href="http://msdn2.microsoft.com/en-us/library/ms235626.aspx">here</a>. But, and its a big but, at the end of the day you cannot edit resources in Visual C++ 2005 Express. You are left with a very nice development environment for the Platform SDK, albeit without integrated GUI support.</p>
<p>This is a great shame, it leaves the Express Editions in a strange place - somewhere between something too complex for a complete &#8216;rookie&#8217; programmer, and something not quite useful enough for a more experienced one. Unless of course you are fully on the .NET bandwagon, in which case it&#8217;s probably very difficult to justify buying the full product for use purely at home.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/40/feed</wfw:commentRss>
		</item>
		<item>
		<title>MCAD</title>
		<link>http://www.atomic14.co.uk/blog/archives/39</link>
		<comments>http://www.atomic14.co.uk/blog/archives/39#comments</comments>
		<pubDate>Mon, 22 May 2006 17:35:00 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[Development]]></category>

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

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/39</guid>
		<description><![CDATA[  I&#8217;ve finally taken the plunge into the wonderful world of Microsoft Certification, having signed up for an horrendously expensive course for MCAD (Microsoft Certified Application Developer), and hopefully extend this to an MCSD at a later date. I had considered the books &#038; exams only route, but it&#8217;s very tedious just sifting through a [...] ]]></description>
			<content:encoded><![CDATA[<p> I&#8217;ve finally taken the plunge into the wonderful world of Microsoft Certification, having signed up for an horrendously expensive course for MCAD (Microsoft Certified Application Developer), and hopefully extend this to an MCSD at a later date. I had considered the books &#038; exams only route, but it&#8217;s very tedious just sifting through a book, some sort of training structure was in order.</p>
<p>The course will initially comprise of:-</p>
<ul>
<li>2555 - Developing Microsoft .NET Applications for Windows (Visual C# .NET)</li>
<li>2389 - Programming with Microsoft ADO.NET<br />
(Exam 70-316 - Developing and Implementing Windows-based Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET)</li>
<li>2310 - Developing Microsoft ASP.NET Web Applications Using Visual Studio .NET<br />
(Exam 70-315 - Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET)</li>
<li>2524 - Developing XML Web Services Using Microsoft ASP.NET</li>
<li>2557 - Building COM+ Applications Using Microsoft .NET Enterprise Services<br />
(Exam 70-320 - Developing XML Web Services and Server Components with Microsoft Visual C# .NET and the Microsoft .NET Framework)</li>
</ul>
<p>I&#8217;m taking the C# route, although I&#8217;ll probably end up taking the Visual Basic exam also, just to broaden my knowledge.</p>
<p>You may ask why bother with the certification at all, after all I have 15+ years experience in C, C++, Visual Basic, Pascal and others. It&#8217;s more of a personal achievement thing, and a &#8216;I told you so&#8217; more than anything else. I&#8217;ve also never been in the fortunate position of working for a company willing to provide any formal training.</p>
<p>I did have a preliminary look at some of the course material, and found it rather easy. I do honestly hope I will learn &#8217;something&#8217; from this, after all that is the idea.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/39/feed</wfw:commentRss>
		</item>
		<item>
		<title>Nero 7 and LightScribe Revisited</title>
		<link>http://www.atomic14.co.uk/blog/archives/38</link>
		<comments>http://www.atomic14.co.uk/blog/archives/38#comments</comments>
		<pubDate>Sun, 21 May 2006 17:20:20 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[Hardware]]></category>

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

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/38</guid>
		<description><![CDATA[  Since my initial introduction to LightScribe I&#8217;ve not had a great deal of time to do anything with it, real life has been getting in the way. In the meantime my desktop has become awash with Visual Studio Express downloads amongst other things, time for a little DVD/CD burning this weekend.
Keeping all my Visual [...] ]]></description>
			<content:encoded><![CDATA[<p> Since my initial <a href="http://www.atomic14.co.uk/blog/archives/33">introduction to LightScribe</a> I&#8217;ve not had a great deal of time to do anything with it, real life has been getting in the way. In the meantime my desktop has become awash with <a href="http://msdn.microsoft.com/vstudio/express/">Visual Studio Express downloads</a> amongst other things, time for a little DVD/CD burning this weekend.</p>
<p>Keeping all my Visual Studio ISOs together on a DVD struck me as a good idea, and thought it would be nice to give it a neat Lightscribe label at the same time.</p>
<p>Somehow between initially installing Nero 7 and now, Nero has forgotten that my drive is a LightScribe drive. It *did* work, and as far as I know, I&#8217;ve changed nothing. I do wonder whether because my LightScribe drive isn&#8217;t always connected (it&#8217;s external USB2) that Nero has &#8216;flagged&#8217; it in some other fashion. I&#8217;ve even gone as far as completely reinstalling Nero to attempt to solve the issue, but to no avail.</p>
<p>The resolution to the problem was to visit the <a href="http://www.lightscribe.com/">LightScribe site</a> and <a href="http://www.lightscribe.com/files/setup.zip">download SureThing 4SE</a>, which despite it&#8217;s horrible name is a very good little dedicated labelling application. I&#8217;d even go so far as to say better than Nero for labelling, with a decent selection of standard labels included. Remind me, why did I buy Nero 7?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/38/feed</wfw:commentRss>
		</item>
		<item>
		<title>The Daily WTF</title>
		<link>http://www.atomic14.co.uk/blog/archives/37</link>
		<comments>http://www.atomic14.co.uk/blog/archives/37#comments</comments>
		<pubDate>Sat, 13 May 2006 18:02:47 +0000</pubDate>
		<dc:creator>walrus</dc:creator>
		
		<category><![CDATA[Development]]></category>

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

		<guid isPermaLink="false">http://www.atomic14.co.uk/blog/archives/37</guid>
		<description><![CDATA[  I&#8217;ve recently been steered towards a wonderful website called The Daily WTF which is maintained by Alex Papadimoulis. The site contains some of the most hilarious code you are ever likely to read, a lot of which is accredited with being source from &#8216;Enterprise level&#8217; commercial packages.
It really is a site that every programmer [...] ]]></description>
			<content:encoded><![CDATA[<p> I&#8217;ve recently been steered towards a wonderful website called <a href="http://thedailywtf.com">The Daily WTF</a> which is maintained by Alex Papadimoulis. The site contains some of the most hilarious code you are ever likely to read, a lot of which is accredited with being source from &#8216;Enterprise level&#8217; commercial packages.</p>
<p>It really is a site that every programmer should be conversant with, and should you find any of your code published there, you might think about a career change.</p>
<p>That said, I&#8217;ll leave you with a short snippet of a bizzare line of code that I somehow managed not so long ago&#8230;..</p>
<p><code>If iif(IsNull(rs!id, -1, rs!id)) = -1 Then &#46;..</code></p>
<p>&#8230; hopefully this proves we are all fallible ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.atomic14.co.uk/blog/archives/37/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
