tag:blogger.com,1999:blog-50998515870062650022024-03-14T07:30:02.381+10:00The ProcrastinatorAn English immigrant IT consultant in Australia.
This is my journey learning to surf, consult, mountain-bike, train, hold down a decent relationship, hold my weight down, purchase as many CDs as possible before they become obsolete, grow up, grow facial hair, develop a stand-up comedy act and stand up on my own two feet.Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.comBlogger90125tag:blogger.com,1999:blog-5099851587006265002.post-58644568292796213062014-05-20T17:24:00.002+10:002014-05-20T17:24:25.652+10:00The end for NeHTA?A recent review of PCEHR produced a number of recommendations. ITNews has a <a href="http://www.itnews.com.au/News/385870,review-recommends-new-name-direction-for-pcehr.aspx?utm_source=feed&utm_medium=rss&utm_campaign=editors_picks" target="_blank">good summary of the key findings</a>, one of which is the dissolution of NeHTA.Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-28926393397347082022014-05-20T17:19:00.001+10:002014-05-20T17:19:04.215+10:00Defining Requirement Types: Traditional vs. Use Cases vs. User Stories | TechWell<a href="http://www.techwell.com/articles/weekly/defining-requirement-types-traditional-vs-use-cases-vs-user-stories" style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;">Defining Requirement Types: Traditional vs. Use Cases vs. User Stories | TechWell</a><span style="font-size: 100%;">: </span><br />
<br />
<a href="https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk" style="font-family: Georgia, serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;">'via Blog this'</a><br />
<div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;">
<br /></div>
<div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;">
This is a great article and substantiates my thoughts that corporate IT is not capable of rigorous SW development methodologies.</div>
<div style="font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;">
<br /></div>
<div>
<span style="font-size: 100%;">I have a purple carrot (var. atrorubens) in front of me. This epitomises the SDLC for SW engineering; it is as expected, uncomplicated and readily available. It is considered the norm since the dawn of time, or at least carrot recorded history ( <900BC). Having developed and tested telecomms and OS SW for years with detailed specifications covering protocols, standardised user interfaces and messaging systems, it seems common sense to me that systems should be clearly specified in a business benefit, then technical manner.</span></div>
<div>
<span style="font-size: 100%;"><br /></span></div>
<div>
<span style="font-size: 100%;">However, over time, once the introduction of fashionable orange carrots (var. sativus) appear around C18 the appearance of a purple carrot seems </span>unpalatable<span style="font-size: 100%;"> for most customers.</span></div>
<div>
<span style="font-size: 100%;"><br /></span></div>
<div>
<span style="font-size: 100%;">This is Agile.</span></div>
<div>
<span style="font-size: 100%;"><br /></span></div>
<div>
Having come across countless end users and business representatives, who apparently are the gatekeepers to an application go-live, and have no accumen in the definition of business requirements, it makes perfect sense that corporate IT has lent towards the advantages that Agile affords; an approach that advocates regular consultation with a customer that hasn't got the time, notion or training to deal with detailed requirements.</div>
<div>
<br /></div>
<div>
This might seem harsh, but so many projects have proven just that; the end user representatives are both the ones most qualified to determine if the new system changes are congruent with the proposed business changes, but also the least capable to dealing with detailed business and functional requirements. They don't like purple carrots.</div>
<div>
<br /></div>
<div>
Ideally, the business, or end user representatives want orange carrots; they were eating something else nice and tasty for ages, and while the new fangled carrots were interesting, it was only until they became mainstream (read IT systems delivering something useful) that they became useful. </div>
<div>
<br /></div>
<div>
The business wants orange carrots; no BPMN, no UML, in fact, no detailed specs. We can sort out what it's meant to do once you've built it. Agile is for the IT illiterate end user. </div>
<div>
<br /></div>
<div>
This shouldn't be seen as a shortcoming, but rather as a take on how Agile must be used by IT staff to engage the business. </div>
<div>
<br /></div>
<div>
The business DO NOT CARE how nicely your UML diagram looks; they don't have the time nor inclination to understand it. It isn't outlined how they would do it (a quote from someone not 3 months ago), they don't have time to read the specifications anyway, and do the BAs really understand what we need?!</div>
<div>
<br /></div>
<div>
So, if your business stakeholders are not SW engineers, erm, don't treat them like SW Engineers. SW Engineers like the thought of purple carrots, as it reminds them of vi. The business wants something they can eat now, so give them microwaved carrots.</div>
<div>
<br /></div>
<div>
<br /></div>
Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-65600308239960579282012-01-10T21:10:00.001+10:002012-01-10T21:15:53.725+10:00Death and birth of data and disks<a href="http://community.wdc.com/t5/WD-ShareSpace/HOWTO-Sharespace-RAID-5-Data-Recovery/td-p/287736" target="_blank">Western Digital Community - How To.</a><br />
<br />
<a href="https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk" style="font-size: 13px;">'via Blog this'</a><br />
<div><br />
</div><div>This has just saved my data. As a firmware update had bricked my WD ShareSpace, I thought it would be a cinch to mount one of the RAIDed disks and copy the contents over to a temp RAID until I find a long term solution; I was wrong. I thought I had the disks in RAID 1, but it should be easy grabbing the data off them right? hur dur.</div><div><br />
</div><div>While I thought it would be a simple case of getting an EXT3 driver for either the Mac or Win7, the RAID caused problems on the disks.</div><div><br />
</div><div>I tried:</div><div><ul><li>MacFUSE 2.0.3 with fuse-ext2 0.0.7 - nuttin'</li>
<li>OSX Fuse 2.3.4 with fuse-ext2 0.0.7 - I was able to mount sdb1 but not sdb4</li>
<li><b>explore2FS 1.07</b> - could read the files off the partition with the data (sda4 or sdb4), but couldn't copy them</li>
<li><b>ext2explore 2.2.71</b> - nada</li>
<li><b>ext2fsd 0.51</b> - could read sdb1 but not sdb4</li>
<li><b>linux reader</b> - no</li>
<li><b>vv 0.7</b> - nein</li>
<li><b>Ubuntu 11.10</b> trial off USB in Mac OS X Lion - non</li>
<li><b>Ubuntu 11.10</b> trial off DVD in Mac OS X Lion - niet</li>
<li><b>Ubuntu 11.10</b> trial on PC Win 7</li>
</ul></div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>.</div><div>Yay!</div><div><br />
</div><div>The <a href="http://community.wdc.com/t5/WD-ShareSpace/HOWTO-Sharespace-RAID-5-Data-Recovery/td-p/287736">link</a> on the WD website had a nice simple run-down on the commands to get the RAID going. I didn't follow exactly and got the RAID volume going in degraded mode only using one disk. This was in case it all went wrong; I still had one disk left, see!<br />
<br />
Once I had the Win7 notebook working and had mounted both the old RAID disk and a new drive to copy the contents, it only took 9 hours to extract the data. </div><div><br />
</div><div><br />
</div><div><br />
</div><div><br />
</div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-75473825929815285382011-08-31T10:02:00.000+10:002011-08-31T10:02:49.096+10:00Color Palette and the 56 Excel ColorIndex Colors<a href="http://dmcritchie.mvps.org/excel/colors.htm">Color Palette and the 56 Excel ColorIndex Colors</a>:
<br />
<br />almost everything you ever ever ever wanted to know about colours in MS Excel.Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-38528546072361444692011-08-19T16:23:00.000+10:002011-08-19T16:23:45.881+10:00Force cells in Excel to use Text format rather than Number format - delphi<a href="http://www.delphigroups.info/2/9/932540.html">Force cells in Excel to use Text format rather than Number format - delphi</a><div>
<br /></div><div>Obvious solution is obvious. Except for me.</div><div>
<br /></div><div>I'm reading in test case values from MS Excel for an automation framework, so many values are coming across as floats, irrespective if I try and reformat them in my code. A simple prefix of a ' and everything is working. So simple yet this has eluded me for weeks. </div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com1tag:blogger.com,1999:blog-5099851587006265002.post-44960357800832343832011-08-17T23:18:00.000+10:002011-08-17T23:18:43.201+10:00Main Page<div>Well I have had a fun day. I've made it outside only once to pick up a parcel; a Concept 2 Model E rowing machine, which I put together whilst going through a brain-acher posed by a friend.</div><div><br />
</div><div>The problem is from OS X Address Book no longer playing nicely with GMail contacts.</div><div><br />
</div><div>I'm probably on a red herring, but the log file shows...</div><div><br />
</div><div><div><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2011-08-17 13:23:22:941|AddressBookSync|772|111430|ISyncSession|Error| Unresolved reference encountered during push for client com.apple.AddressBook</span></div><div><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2011-08-17 13:23:22:941|AddressBookSync|772|111430|ISyncSession|Error| Relationships causing error:</span></div><div><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2011-08-17 13:23:22:942|AddressBookSync|772|111430|ISyncSession|Error| </span></div><div><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">Record 'A51D87CA-7388-4F9B-BE56-14364B80ED75'(com.apple.contacts.Group) refers to record '1CF84336-07C5-4AA8-8AF0-AD8CD76A3BCD' in relationship 'distribution email addresses'</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: inherit;">Apart from stating the obvious that relationships cause error, I'm wondering how to analyse the Address Book DB. The previous post was how to get to the Address Book now that Lion had set the Library folder to hidden by default. </span><br />
<span class="Apple-style-span" style="font-family: inherit;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: inherit;">Once you have access you need to be able to see it. Fortunately we have a number of ways it seems. Address Book uses SQLite for storage. Open Office can view this natively just by opening the database and selecting to connect to an existing database as type 'Mac OS X Address Book'.</span><br />
<span class="Apple-style-span" style="font-family: inherit;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: inherit;">Otherwise we need to set up a ODBC connection. Fortunately we have some options.</span><br />
<span class="Apple-style-span" style="font-family: inherit;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: inherit;">Within </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">/usr/lib/ </span><span class="Apple-style-span" style="font-family: inherit;">t</span><span class="Apple-style-span" style="font-family: inherit;">here looks to be some suitable files (libsqlite3.0.dylib and libsqlite3.dylib) but I probably didn't set things up correctly. I did find Actual's ODBC drivers, but they wanted $$$ for something that I was sure someone had worked out how to do before. Fortunately <a href="http://www.ch-werner.de/sqliteodbc/">www.ch-werner.de/sqliteodbc/</a> has exactly what you need. Install sqlite0odbc-0.83 and you 're nearly there.</span><br />
<span class="Apple-style-span" style="font-family: inherit;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: inherit;">The final step is to ensure the database is associated with the driver to be viewable as a data source.</span><br />
<span class="Apple-style-span" style="font-family: inherit;"><br />
</span><br />
<br />
<ol><li>Open up ODBC Administrator as the link above suggests, specifying the location of the driver.</li>
<li><span class="Apple-style-span" style="font-family: inherit;">Open the </span><span class="Apple-style-span" style="font-family: inherit; font-size: x-small;"> /</span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">Users/<username>/Library/ODBC/odbc.ini</username></span><span class="Apple-style-span" style="font-family: inherit; font-size: x-small;"> </span><span class="Apple-style-span" style="font-family: inherit;">file </span></li>
<li><span class="Apple-style-span" style="font-family: inherit;">Add the location of the database you're trying to access. </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">Database = <fullpath></fullpath></span></li>
<li>Open OpenOffice, Select Database -> Connect to an existing database -> browse</li>
<li>You can select the data source you have just created.</li>
</ol><br />
<span class="Apple-style-span" style="font-family: inherit; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: inherit; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: inherit; font-size: x-small;"><br />
</span><br />
</div></div><div></div><div><br />
</div><a href="http://www.ch-werner.de/sqliteodbc/html/index.html">Main Page</a>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-19955500590792868562011-08-17T16:51:00.000+10:002011-08-17T16:51:58.206+10:00Updated to Lion? Must be missing user Library, here is how to get it back. « TechnoCraz!<div>This has been doing my head in all day. Apple have decided to hide the user's library folder from us. I can understand most people don't want to see it, but if you do, there is a simple fix:</div><div>
<br /></div><div>1. open a term window.</div><div>2. $> chflags nohidden /Users/<username>/Library</username></div><div>3. .....</div><div>4. PROFIT!!!</div><div>
<br /></div><a href="http://technocraz.com/2011/07/27/updated-to-lion-must-be-missing-user-library-here-is-how-to-get-it-back/">Updated to Lion? Must be missing user Library, here is how to get it back. « TechnoCraz!</a>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-19243070823235500552011-07-25T12:09:00.000+10:002011-07-25T12:09:26.489+10:00Maturity Models Have It Backwards « Developsense Blog<a href="http://www.developsense.com/blog/2009/10/maturity-models-have-it-backwards/">Maturity Models Have It Backwards « Developsense Blog</a><div><br /></div><div>Happened to stumble on this whilst searching for TPI® NEXT information. I think the key point is most organisations stop once they get to the low to middle stages of models (the 'defined' or 'repeatable' level and miss the point of getting to the higher levels ('optimising') which is where the most benefit is achieved. At that point, the clever analogy that Michael uses starts to come true.</div><div><br /></div><div>Continuing on the same theme, it's as if the organisation has gone to school, learnt their times tables, but haven't grown up. It's probably a fault of most models and most organisations using them (I know I've been guilty of this) that once the teenage level of maturity (strict process adherence) are reached, then 'mission accomplished'.</div><div><br /></div><div>There really needs to be greater emphasis on models and consultants to push to get to the truly high levels of maturity; where the organisation 'thinks' on how to approach different projects and processes are adaptable and chosen according to the conditions and goals. Scott Duncan's comment alsostruck a chord.</div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com2tag:blogger.com,1999:blog-5099851587006265002.post-63604777562688761532011-07-21T10:54:00.000+10:002011-07-21T10:54:26.187+10:00RDoc cheatsheetLovely handy RDoc cheatsheet. Should make sure I actually bother writing handover documentation for the keyword driven framework I'm building.<div><br /></div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-11378298500122321062011-01-17T10:42:00.000+10:002011-01-17T10:42:03.457+10:00Test Driving Your Code with OCUnit<div>I'm liking development in XCode. Tools are so intuitive. OCUnit is built into XCode, with near identical syntax to other XUnit frameworks. HW simulation available which while obvious, isn't always done well for many devices. I'm not sure the arguments of a 'closed platform' hold completely against Apple; they have made it very simple to develop apps, and if you want your app available for your enterprise only, you can do that (it seems). Sure, it's filtered. </div><div><br /></div><div>I'm keen to look at Android. It's obviously easier to get tools out there, so I'm eager to see the maturity of the dev and unit test tools themselves.</div><div><br /></div><a href="http://developer.apple.com/tools/unittest.html">Test Driving Your Code with OCUnit</a>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-75061147977619543672011-01-05T10:58:00.000+10:002011-01-05T10:58:51.164+10:00Zennaware » Home of Cornerstone Subversion Client for Mac OS X<div>Finally got sorted installing dev tools on my mac. Looked at Git but for the meantime I'm happy with SVN. Set up an account with Assembla, and have crawled around the interwebs dowloading potentially useful tools. It's not too strange coming back to development on a Nix box but all this pretty GUI stuff is rather nice.</div><div><br /></div><a href="http://www.zennaware.com/cornerstone/index.php">Zennaware » Home of Cornerstone Subversion Client for Mac OS X</a><div><br /></div><div>Great comparison on hosted SCM services here</div><div><br /></div><div>http://www.svnhostingcomparison.com/</div><div><br /></div><div><br /></div><div><br /></div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-6705165438358709872010-10-20T10:10:00.000+10:002010-10-20T10:10:04.205+10:00Synchronize Outlook, Google Calendar, Gmail with Funambol/ScheduleWorld : clipclip<div>Really good article on the issues and solutions around syncing. More importantly, it has pretty pictures.</div><div><br /></div><a href="http://www.clipclip.org/clips/detail/10722/synchronize-outlook-google-calendar-gmail-with-funambol-scheduleworld">Synchronize Outlook, Google Calendar, Gmail with Funambol/ScheduleWorld : clipclip</a>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-37857770187795620832010-10-19T22:40:00.004+10:002010-10-20T00:02:36.505+10:00From closed Windows to fresh air<b>I've </b>finally taken the plunge and purchased a Mac. For the ease of image manipulation to support my expensive photography hobby, to aggregation of my personal data effects in one place, within a few hours I am up and running. . . . . I don't recall any MS Windows migration being so painless, even if it was between machines, let alone OSs.<div><br /></div><div>Some top tips if you are thinking of doing it.</div><div><ol><li>iPhone - follow links in new page. Pressing and hold a link will trigger a pop-up prompting if you want to open link in new page, or current page.</li><li>iMac - iTunes migration. Have all your music in one place; e.g. NAS drive. Do not move it.</li><li>iMac - iTunes migration. Move your iTunes library XML file, and find/replace all references to your NAS music store location. e.g. PC was file://localhost/X:/Music and I replaced with file://localhost/Jupiter/Public/Shared Music/Music/.</li><li>iMac - iTunes migration. Once the XML file from your decrepit PC has been COMPLETELY updated with the new absolute path on your sexy new iMac, import this into iTunes. </li><li>iMac - iPhone App migration for iTunes. Move the folder "Mobile Applications" in your iTunes base directory somewhere else, then drag and drop them from Finder into iTunes. Otherwise you will receive an "Error -50" and start getting pissed off.</li><li>iMac - general migration. Ensure you have GB ethernet. Any network file transfer will occur in minutes rather than hours, and you know how many films containing the skin end of the spectrum you have; it would aeons to transfer over 100MB. </li><li>iMac - SW install. Don't do it after a glass or two of wine; you end up purchasing Lightroom 3 and other things. The package arrives tomorrow.</li><li>iMac - SW install. Don't install the OSX updates immediately, that can wait while you get your core apps done. Kick it off after you are done or in the morning and let it do it's thing; it might require 1-2GB of updates.</li><li>iMac - SW config. Set Google Chrome on your PC to sync with your Google account (if you haven't got one, get one). Install Chrome on your Mac and also allow Chrome to sync. Hey presto, Bobs your Uncle, Fanny's your Aunt, wudubileevit, you now have matching bookmarks across devices.</li><li>iMac - iTunes/iPhone/Outlook. Firstly, export your contacts from MS Outlook to CSV (bye bye!), then import into GMail. Gmail will give you some dialogues to ensure you have minimal or in my case zero duplicates. Now update the contacts sync info in iTunes to specify sync with GMail contacts. </li><li>If you are tired then go to bed. No good will come of configuring your electronic life when tired. Tiredness leads to mistakes. Mistakes lead to errors. Errors lead to data loss. The road to data loss is dark and one way, and we can all feel the disturbance in the force when someone has data loss.</li></ol><div><br /></div></div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-41222427420430319962010-10-07T19:13:00.004+10:002010-10-20T00:02:11.203+10:00Product Risk Management<b>I'm </b>just updating content for a training course, and I know I spend a lot of time conveying the importance of testing etc etc, but to do so in the most succinct and digestible way, to ensure the thought or lesson objective is retained.<div><br /></div><div>I'm currently trying to communicate the importance of risk-based test strategies, and one of the biggest concepts ofr me is that "The main purpose of testing is to mitigate risk, therefore our testing strategy should be focused on risk mitigation, rather than purely requirements conformance". </div><div><br /></div><div>The basis for this is my perception that the majority of testing is founded upon the idea that the requirements as defined are to be treated as 'gospel' and therefore deviation from the requirements alone is all that is required to ensure successful delivery.</div><div><br /></div><div>In actual fact, it is the tacit knowledge; the undocumented requirements that are seemingly obvious to end users and seemingly invisible to others, that should be captured and assessed. Such things as performance, useability, security, compatibility, in fact all the other abilities, should be factored in.</div><div><br /></div><div>So, my question, is if testing is about finding defects against system, is there a more elegant and or accurate way to describe a test strategy as the artefact that documents the focus of testing as identifying the most critical defects which would expose the system to the biggest risks.</div><div><br /></div><div><br /></div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-35979746237407401372010-09-23T08:34:00.000+10:002010-09-23T08:34:43.355+10:00Medicare e-health contract in limbo | The Australian<a href="http://www.theaustralian.com.au/australian-it/government/medicare-e-health-contract-in-limbo/story-fn4htb9o-1225927995135">T</a>he (U/O) HI story continues. <div><br /></div><div>I don't know what the problems are, but it seems government organisations work to different time-scales than private enterprise, who are all ready to press ahead in this case. </div><div><br /></div><div><br /></div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-57697396673398686862010-09-07T13:24:00.002+10:002010-09-07T13:24:56.873+10:00ongoing GMail<b>Down </b>to 41 pst files left, and I'm starting to enjoy GMail especially with some of the new stuff like priority mail.Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-44644221683589146132010-09-01T10:58:00.003+10:002010-09-01T14:04:33.380+10:00Moving slowly into the past<b>After</b> years of trying to avoid it, I have finally bitten the bullet, faced the music and kept up with the Joneses, by moving to GMail. For a start, it runs far more quickly than MS Outlook, especially when dealing with the amount of email I have kept, but also it means I can access it wherever rather than having to boot up to view. <div><br /></div><div>The only challenge is migrating 61 pst files, yes that's right, <b>61</b> dirty fat pst files, from my PC to the interwebs. For each project I work on, I create a new PST file, and move pertinent material from Inbox to the project PST file. This works great as I know everything will be in one place, and at the end of the project, I can close that PST from Outlook and reduce the number of emails in my face. </div><div><br /></div><div>Now however, it is getting harder and harder to manage all of this so a cloud-based solution makes sense. </div><div><br /></div><div>Unfortunately, unless you have a Google Docs domain you can only upload slowly via Outlook itself, copying files into the imap mirror folder. There are a few scripts that can assist, but due to the miss and miss rate, it is easier, but rather time consuming to upload project by project.</div><div><br /></div><div>16 down, 45 to go. . . . . </div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-82573541660968277112010-08-26T16:36:00.004+10:002010-08-27T09:53:46.171+10:00Agile recipe<b>One</b> of the most interesting things of Agile is that it means so many different things to so many people. The first thing I would have to say is that it is just like waterfall or rigorous software methodology (RSMs) projects. Yes you heard me right; there is no difference between Agile and Waterfall. <div><br /></div><div>The fundamentals of software development remain the same regardless of the process, and I tire of the Luddites who espouse the virtues of Waterfall or the evangelists who reckon there is no way other than the Agile way.</div><div><br /></div><div>What is software development?</div><div><ol><li>A Customer requests a product.</li><li>A Developer creates a product.</li><li>A Tester verifies and validates that the product has integrity and is suitable to be presented back to the customer.</li></ol><div>I've obviously simplified these roles, so the same person may wear the hat of customer and tester, plus each role might be decomposed further, but isn't the above the essence of software development?</div><div><br /></div><div>Let's take one part of the process. What is the underlying process for a customer requesting a product?</div><div><ol><li>The customer speaks to the developer and asks for a product.</li><li>The developer says whether or not it can be done and agrees, providing a time for expected delivery.</li></ol><div>Lets look at the two approaches in ideal implementations.</div></div><div><br /></div><div>In Waterfall, or more accurately a RSM, requirements are captured, documented in a clear and unambiguous fashion, with extensive formal reviews to ensure quality prior to agreement with all parties.</div><div><br /></div><div>In Agile, the requirements are captured individually on cards and verbally agreed between the customer and developer. Confirmatory questions and regular feedback ensure mutual understanding. </div><div><br /></div><div><br /></div><div>Now looking at them realistically:</div><div><br /></div><div>In Waterfall, or more accurately a RSM, requirements are partly captured, poorly documented by those who have little understanding of how to capture true business requirements or communicate the value of each feature requested, followed by a cast of thousands demanding sign-off, followed by endless changes, updates and political positioning around getting what some departments want out of the budget. </div><div><br /></div><div><div>In Agile, the requirements are captured individually on cards and verbally agreed between the customer and developer. Confirmatory questions and regular feedback ensure mutual understanding. </div></div><div><br /></div><div>So there we have it. I've been fortunate enough to work on RSM implemented projects and where the domain is well known and stable, say a telecommunications protocol (Q.931 for example), it has been really clear what the requirements are, and hence was easy to implement and test. However, it seems the majority of IT systems involve a customer who isn't sure, a developer who doesn't always understand the domain, and a tester who is dropped in the deep end and is primarily an end user.</div><div><br /></div><div>What Agile does is give immature IT shops, or fast-moving industries where time to delivery is key, an approach to allow the customer constant feedback to ensure the project stays on track.</div><div><br /></div><div>What Agile does is address the inadequate implementations of RSMs employed by software firms, by ensuring communication, courage, and response to change operates more effectively. The thing is, if people followed the process correctly, then they wouldn't need to try out Agile.</div><div><br /></div><div>My biggest concern for companies moving to Agile is not what it gives them but what it doesn't. If you don't have the staff that are capable of following a detailed rigorous process with documentation that ensures communication is maintained, what makes you think they can deliver in an Agile world? </div><div><br /></div><div>I see a lot of organisations struggle with Agile, and in most cases it is because the calibre of the people involved is not high enough to deliver in a courageous and fast moving environment. There are some amazing individuals in organisations; I met some testers yesterday working their way to making testing integrated into the hybrid Scrum teams, but you can tell there are some people they are dealing with that are better suited to having a strict process regime.</div><div><br /></div><div>My point is Agile is not lacking in rigour, only the rigour has to be applied by the individual rather than the process. It is just as 'expensive' (this issue of cost comparison between Agile and RSM is something else that bugs me), just as hard work, but the onus is on <i>skilled and motivated </i>individuals, rather than average SW engineers and end user testers.</div><div><br /></div><div>I'm now faced that my wrap up will sound more like a rant, but I suppose it surmises or at least demonstrates the strengths of the many different approaches to SW development. </div><div><br /></div><div>Firstly, I do not think nor believe anyone else stands by there being only one way to develop software. There are many Agile and many RSM processes, and like a persons sexuality, there are many positions and processes along the scale. Terrible analogy I know but it makes sense. Actually that doesn't work, because people can't change their sexuality. I believe the process should adapt to the conditions of the project and the needs of the application. As a result, we have as many different processes as we do have religions (that's better, sex and religion and software development processes in the same paragraph).</div><div><br /></div><div>I feel an epiphany coming on.</div><div><br /></div><div>What are the conditions for a project moving to Agile?</div><div><ul><li>Do you have highly skilled motivated staff. (be honest now; are they really that motivated? Does drinking 6 Ouzo and cokes at lunch really count as a skill?)</li><li>Is the domain ABSOLUTELY clear (does the customer really know what they want?)</li><li>Is there a formal process in place that already works? (if it is working for you, why change it?)</li><li>Do you have the skills and infrastructure to support highly automated testing? (you ARE going to automate aren't you?)</li><li>Do you have the support of management to move away from heavyweight documentation? (are you really going to get your BAs, developers and testers to develop 148 page word documents like test summary reports, negating any benefit achieved by using story cards).</li><li>Do you have an engaged customer? (without that you are just doing Waterfall without requirements? You're on your own now.)</li><li>Are the developers doing unit testing? (If they aren't doing unit testing, why do you employ them?)</li></ul><div><br /></div></div><div>Now lets get back to my original point. How many issues above can affect both Agile and Heavyweight processes alike? I think the issues that affect success are more down to the rigour of implementation of approach rather than the approach itself. </div><div><br /></div><div><div><br /></div><div><br /></div><div><br /></div></div></div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com1tag:blogger.com,1999:blog-5099851587006265002.post-23637415325240571642010-07-29T13:31:00.004+10:002010-07-29T13:35:30.665+10:00Cheap equipment<b>Unreal</b> deal at Harris Technology for a 5 port Gigabit switch. I bought mine last week from Officeworks only because I showed them the ht.com.au website and Officeworks were selling the D-Link DGS-1005D for $80, compared to only $48 <a href="http://ht.com.au/part/K8301-D-Link-DGS-1005D-switch-5-ports/detail.hts">here.</a><div><br /></div><div>HT have the same price for the DES-1005D (10/100) as the DGS-1005D (10/100/1000) so I can only assume it is a typo.</div><div><br /></div><div>Considering that the majority of other 5 port and 8 port switches are around 90 to 130 AUD, this is an awesome deal.</div><div><br /></div><div>Happy days. </div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-69548889591918282972010-07-29T11:39:00.003+10:002010-07-29T11:48:58.158+10:00ATM pokie<b>In </b>what the <a href="http://www.blackhat.com/html/bh-us-10/bh-us-10-speaker_bios.html#Jack">presenter</a> suggests is a more successful attack than John Conner on an ATM, Barnaby Jack gave a successful second-time <a href="http://www.wired.com/threatlevel/2010/07/atms-jackpotted/">presentation</a> at the 2010 Black Hat Conference in Las Vegas, after last years was pulled at the request of one of the ATM vendors. He demonstrated two exploits, one via the network connection, the other via USB. You might ask how you can get at the ATMs USB slot; well the vendors provide a standard lock. As happens so often it seems that only a combination of physical and software security will provide a robust system.<div><br /></div><div>Really interesting demonstration and a great example of thinking outside the (strong) box.</div><div> </div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-7563569422327973292010-07-22T10:36:00.002+10:002010-07-22T10:39:12.115+10:00iPhone 4 antenna continued<b>The </b>lack of testing of the software and design for the iPhone is continuing to affect customers. Apple has taken steps with a news conference, and the handing out of the rubber band-aid to reduce the likelihood of attenuation from shorting the two antenna's and changing the resonant frequency, but there are still plenty of articles analysing the problem <a href="http://gizmodo.com/5589336/apple-antennagate-and-why-its-time-to-move-on?skyline=true&s=i">here </a>and <a href="http://www.anandtech.com/show/3821/iphone-4-redux-analyzing-apples-ios-41-signal-fix">here</a>.<div><br /></div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-73627398392856310342010-07-15T07:46:00.006+10:002010-07-18T18:36:48.780+10:00iPhone 4<b>Weak </b>signal strength issues seem to be increasing from a few isolated incidents, with the associated software fix, to a full-blown design issue. If, as it is looking increasingly likely, that the antenna design means that the signal can be attenuated by shorting the two antennas out, then a redesign or some fix is going to become necessary. The Telegraph has estimated the cost of a recall and or fix in <a href="http://www.telegraph.co.uk/technology/apple/7889318/Apple-iPhone-4-recall-would-cost-billions-warns-analyst.html">their article</a>.<div><br /></div><div>Apple originally claimed that the issue was down to an <a href="http://www.pcmag.com/article2/0,2817,2366011,00.asp">incorrect signal strength algorithm</a>, thereby showing the users an incorrect number of signal strength bars. That's now be shown to be a tiny part of the problem, with the issue being in hardware, not software. Nevertheless, it is another example of where more comprehensive testing would have revealed the problem. One <a href="http://www.theaustralian.com.au/business/news/apple-overruled-internal-concerns-about-iphone-reception-issues/story-e6frg90x-1225892555940">news article</a> identifies that only a very small number of altered prototype phones were available for testing in the network.</div><div><br /></div><div>Apple now claim that all phones suffer attenuation when held in a particular fashion and the iPhone 4 issues are just a demonstration of that. However, not all phones place the antenna without insulation on the outside of the phone, so this explanation seems a little weak, considering the analysis this article goes into <a href="http://www.anandtech.com/show/3794/the-iphone-4-review/2">explaining the design flaw</a>. This made me consider the possibility that somehow, accidentally, the entire phone could be destroyed by an electric charge touching the antenna. I'm surprised the whole thing is exposed as any grounding or connection to another electrical source could damage the phone. Most phone antennas are internal but when phone antennas were external (think Ericsson GH337) the antenna was housed in rubber. </div><div><br /></div><div>Regardless of any internal circuit protection, the fact you can change the length of the GSM/UMTS antenna by shorting it with the WIFI antenna, thereby changing the resonant frequency, is more than just an issue of your fat fingered hand phone holding style; its bad design. Sadly it seems the aesthetics were more important than the functionality according to <a href="http://www.perthnow.com.au/news/bloomberg-claims-insider-says-apple-boss-steve-jobs-told-antenna-wouldnt-work/story-fn5tidkq-1225892833724">another story</a>. </div><div><br /></div><div><br /></div><div><br /></div><div><br /></div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-51836090353171717542010-06-28T16:35:00.004+10:002010-06-28T17:05:20.496+10:00Unit testing and training; a day to reflect and update.<b>I </b>can't believe how long it has taken me to be bothered to convert the JUnit 3 tests to JUnit 4, and transfer the exercises on our training courses to be set around Eclipse. Sad I know, but without an appropriate lull in other work, and a need due to a forthcoming course that would benefit the change, I've never got around to doing the updates.<div><br /></div><div>It didn't even take that long, but I'm off to PNG at the end of the week, and I thought it was an opportunity to update the pracs on the unit testing exercises. Previously, these were arranged to run from command line, using Ant. It was a simple transfer to Eclipse, with my main concern how Eclipse managed the project. </div><div><br /></div><div>If any of the classpath definitions was absolute rather than relative, then anything I set up in a project would fail once I transfer Eclipse from my PC to another. In the end, the .classpath file and .project file look simple and are based on current node as the root.</div><div><br /></div><div>This way, I can take my install of Eclipse, transfer to memory sticks, along with the exercises, and not worry about configuration problems.</div><div><br /></div><div>As I only look at Java a few times a year, I end up ramping up over a time to get to the same level of comfort. The tool integration provides a great opportunity to demonstrate further approaches with greater ease, such as easier refactoring, clearer code coverage reports, and greater relevance to attendees work experience.</div><div><br /></div><div>With that in mind, I am reviewing the code coverage tools I added as plugins, in the hope that there is something as sophisticated as Clover but that costs the same as a coffee; at the moment, most of the tools cost the same as a coffee machine.</div><div><br /></div><div>Ideally I'd like to have centralised training servers with SVN and CI tools running, but without a regular need, it makes it hard to justify.</div><div><br /></div><div>Now I've made the change with the tools, I can look at enhancing the content to increase the information on mock objects, have greater information on refactoring, demonstrate the ease with which you can write unit test cases, rather than having to assist students in editing code using notepad. </div><div><br /></div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-37300542757845833952010-06-25T15:21:00.005+10:002010-06-25T15:44:50.069+10:00skulim tisa wokim studens amamas, or 'How to keep students happy'<b>Of </b>to PNG in a few days to do some CSTP and developer training. One of the most interesting aspects are the genuine and honest nature of the folks there. They are incredibly polite, to the point that it can be hard to extricate information from them when they are placed as students in a classroom. The poorly translated title is my question.<div><br /></div><div>It may well be that I'm not reading the situation correctly, but I'm interpreting their reticence to speak as respect to the teacher, or perhaps the way education is performed in PNG. I like to engage with students for a number of reasons.</div><div><ol><li>To confirm they are assimilating the information.</li><li>To identify areas, concepts and topics they are not comfortable with.</li><li>To ensure they are within their comfort zone, and are able to ask me further questions.</li><li>To be able to gauge when a break is required.</li><li>To understand if the material presented is relevant to the role they perform.</li><li>To keep my ego inflated.</li></ol><div>The last point stems from the perspective of the trainer as an entertainer. In order to provide the right level of energy, and to pace the delivery correctly, I must understand how the students learn, and what makes them tick. </div></div><div><br /></div><div>Without any feedback, this becomes almost impossible.</div><div><br /></div><div>This will be particularly hard when I have to run one training session on a Saturday. This presents two issues, as I won't be able to go diving, and I face a far greater challenge to normal to ensure the students are engaged and excited about the training.</div><div><br /></div><div>Ice-breakers, energisers and other techniques for engagement are ok but . . . . actually typing those last few words has pinpointed perhaps what I should be looking for.</div><div><br /></div><div>They are not comfortable voicing their opinion, so perhaps mime might be the way to go. One of the easiest ways to engage people is through humour. Good comedians make you laugh as they provide a mirror to an embarrassing event or situation that you the audience has faced, and use themselves as the protagonist in the centre of the situation. Through exaggeration of the circumstances, and self-depreciation, they allow us to laugh at them, and also relate how they are embarrassed by a situation we might have also come across.</div><div><br /></div><div>So humour is the weapon to break down the silence, mime is the vehicle, and I must be the target.</div><div><br /></div><div>Simple. Bugger.</div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0tag:blogger.com,1999:blog-5099851587006265002.post-60070852018685396812010-06-09T13:57:00.004+10:002010-06-25T15:48:56.938+10:00Risk Analysis<b>I've </b>got my head immersed in risk assessments at the moment. The organisation I'm currently working with is developing a risk based approach for testing and auditing, which will affect a large number of organisations and individuals in the domain, and the consequence of some areas reaches into high safety integrity.<div><br /></div><div>The standards and processes around risk identification itself though is the hard part. There are multitudinous ways to identify risk; FMEA, FTA, HAZOP & CHAZOP (the Chas and Dave of the risk world?), SWIFT etc etc.</div><div><br /></div><div><ul><li>Which one do you choose?</li><li>Which one would you choose if your life depended on it?</li><li>Which one would you choose if you were a vendor developing a system and didn't want to spend much money?</li></ul><div>So I'm having to evaluate all the risk assessment standards and approaches. Thank goodness for both ISO. In fact, thank goodness for the AS/NZS organisation, as the AS/NZS 4360 was adopted as the new ISO 31000 standard for risk assessment. The accompanying standard (the catchy) ISO 31010 goes into some wonderful detail about how many approaches you might take to identify risks, including weighing up the pros and cons of each approach.</div></div><div><br /></div><div>Yet there isn't a one size that fits all. While I'm not surprised by this, my single model for risk assessment is turning into a 3 or 4 part model. </div><div><br /></div><div>Step 1 - Generic high level top down approach using risk catalogue.</div><div>Step 2 - Mandatory analysis of the standard.</div><div>Step 2a - choose from FMEA, SWIFT or CHAZOP</div><div>Step 3 - Optional. Do a specialist risk assessment such as Privacy Impact Assessment.</div><div><br /></div><div>For once the standards bodies have got it right, in recognising that no one approach is satisfactory under different conditions. While that is a blindingly obvious statement, many standards documents contradict this viewpoint, and appear to be fairly rigid in their structure. On a side note, this is all the more surprising considering how few SW testing tools adopt IEEE 839 terminology and instead come up with all kinds of weird shizzle.</div><div><br /></div><div>This has led to an interesting consulting cul-de-sac. Most of the time we are able to recommend one particular course of action, based on the information we have. In this instance I am having to recommend that you can do all sorts of things. The challenge is to place some structure so that whoever does the evaluation of the approach against the target, employs a consistent repeatable approach, that delivers the same outcome time after time. </div><div><br /></div><div>Two things I'd like to invest in; cloning and foresight.</div><div> </div>Rowly Emmetthttp://www.blogger.com/profile/06891594181715068908noreply@blogger.com0