<?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>IT Failures</title>
	<atom:link href="https://rodyne.com/?feed=rss2&#038;cat=156" rel="self" type="application/rss+xml" />
	<link>https://rodyne.com</link>
	<description></description>
	<lastBuildDate>Tue, 29 Apr 2025 22:12:22 +0000</lastBuildDate>
	<language>en-NZ</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.7</generator>

<image>
	<url>https://rodyne.com/wp-content/uploads/2015/11/web-header2.png</url>
	<title>IT Failures</title>
	<link>https://rodyne.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Technology for Everyone.. Are You Sure?</title>
		<link>https://rodyne.com/?p=2290</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 08 Apr 2025 02:28:43 +0000</pubDate>
				<category><![CDATA[Bad Management]]></category>
		<category><![CDATA[Efficiency]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[IT Failures]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[MRP]]></category>
		<category><![CDATA[Office Politics]]></category>
		<category><![CDATA[Other Programming]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Speculation]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cell-phones]]></category>
		<category><![CDATA[Factory MRP]]></category>
		<category><![CDATA[mobile platforms]]></category>
		<category><![CDATA[Touchscreens]]></category>
		<category><![CDATA[we-enabled]]></category>
		<guid isPermaLink="false">https://rodyne.com/?p=2290</guid>

					<description><![CDATA[Seriously! Does everyone at your company really need a computer or a mobile phone? Giving a computer or phone to any member of staff should always be thought through very carefully and is not the cut-and-dried decision you think it &#8230; <a href="https://rodyne.com/?p=2290">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Seriously! Does everyone at your company really need a computer or a mobile phone?</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="437" height="512" src="https://rodyne.com/wp-content/uploads/meme3.jpg" alt="" class="wp-image-2337" srcset="https://rodyne.com/wp-content/uploads/meme3.jpg 437w, https://rodyne.com/wp-content/uploads/meme3-256x300.jpg 256w" sizes="(max-width: 437px) 100vw, 437px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">Giving a computer or phone to any member of staff should always be thought through very carefully and is not the cut-and-dried decision you think it is. You may think your company is being progressive by creating &#8220;mobile-everything&#8221; systems, but it is actually a very rare case where, say, factory floor, or production staff require phones or computers to do their job. Yet some companies insist on it!</p>



<p class="wp-block-paragraph">Yes, staff may still need to access the production order or scheduling systems, but for this most factories have locked-down, single-function touchscreens which generally work reliably and efficiently.</p>
</div>
</div>



<p class="wp-block-paragraph">Giving production staff actual personal computers, phones or laptops should really be the exception not the rule. If your system consists of your staff updating an excel screen, or your new system can only be accessed through a mobile, it is now your obligation to provide your staff with a mobile phone or a tablet and train them. The fact they already have a personal mobile phone is irrelevant, you cannot just let them use their personal device due to all the security risks and you are now obliged to provide them a business phone.</p>



<p class="wp-block-paragraph">Computers and laptops are worse in many ways. Once a person has a personal computer, they need a log in account on the servers and email systems, antivirus, Microsoft office (to read the email attachments), licenses for all, training on how to use all these, support from IT, and they now loose half an hour every day reading emails. Worst case scenario is you have someone who may just download or click on that one attachment which will introduce ransomware or viruses into your company.</p>



<p class="wp-block-paragraph">There are of course multiple sources of unproductive time these days for technology to compete with, bullshit jobs, superfluous middle-management, meetings which achieve nothing, and of course, the reams of reporting metrics for the business administrators and accounts people. This last one I have seen first-hand a few times now, where a report might take several hours to produce, and require multiple other staff to waste their productive time to collate the data, but in the end has absolutely zero benefit for the business and possibly is not even read by anyone. And all of the above contribute to the spiral of &#8220;my staff are so busy we need more staff&#8221;.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1024" height="683" src="https://rodyne.com/wp-content/uploads/monktypewriter.jpg" alt="" class="wp-image-2332" srcset="https://rodyne.com/wp-content/uploads/monktypewriter.jpg 1024w, https://rodyne.com/wp-content/uploads/monktypewriter-300x200.jpg 300w, https://rodyne.com/wp-content/uploads/monktypewriter-768x512.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">So think before you get that super new mobile-enabled factory system, am I improving my business or reducing its efficiency. If you are producing the same thing day-in, day-out, the customer/government have not changed their requirements, and your are now changing your SOP&#8217;s then this should be ringing all your alarm bells. Do the risk analysis, do the long-term Return On Investment (ROI) calculation (which also includes all the maintenance and extra staff you have now hired and the systems replacement costs) and if it doesn&#8217;t make sense then simplify the requirements or go back to the drawing board.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>On-Time and Under-Budget. Where some IT projects are Probably Going Wrong.</title>
		<link>https://rodyne.com/?p=2074</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 25 Mar 2025 06:14:45 +0000</pubDate>
				<category><![CDATA[boz]]></category>
		<category><![CDATA[Boz NZ]]></category>
		<category><![CDATA[C Programming]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[ESP32-C3]]></category>
		<category><![CDATA[IT Failures]]></category>
		<category><![CDATA[LoRa]]></category>
		<category><![CDATA[Motor Controllers]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[New Zealand]]></category>
		<category><![CDATA[NZ]]></category>
		<category><![CDATA[Other Programming]]></category>
		<category><![CDATA[Pascal Programming]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[boz nz]]></category>
		<category><![CDATA[boznz]]></category>
		<category><![CDATA[C Programmer]]></category>
		<category><![CDATA[Delphi Developer NZ]]></category>
		<category><![CDATA[Delphi programmer]]></category>
		<category><![CDATA[Delphi Programmer NZ]]></category>
		<category><![CDATA[Electronics Design]]></category>
		<category><![CDATA[Electronics Design NZ]]></category>
		<category><![CDATA[Pascal Programmer]]></category>
		<category><![CDATA[SQL administrator]]></category>
		<category><![CDATA[SQL Developer NZ]]></category>
		<guid isPermaLink="false">https://rodyne.com/?p=2074</guid>

					<description><![CDATA[This will be a short post, and not technical like my usual ones, it is about many of the seemingly hundreds of failed IT projects out there, where companies have been let down by the big IT companies and consultants. &#8230; <a href="https://rodyne.com/?p=2074">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This will be a short post, and not technical like my usual ones, it is about many of the seemingly hundreds of failed IT projects out there, where companies have been let down by the big IT companies and consultants. Feel free to hit the back button at this point or go and check out the rest of the site, as from this point it&#8217;s just going to be me whinging <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">These big fails get all the attention of course, but I am sure that for each big fail, there are dozens of others simply swept under the rug. I can write this as I am almost at the end of my career, have seen many of these failures first hand, and I don&#8217;t have any particular agenda as I am no longer actively looking for major projects (though small gigs are still appreciated). I have also seen many successful projects, though mostly in terms of delivery rather than cost!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Tell me what you need, AND I will tell you how to get along without it. &#8211; Scott Adams</p>
</blockquote>



<p class="wp-block-paragraph">As a developer who specialises in writing systems for people who generally haven&#8217;t really got a clue what they want, I can usually tell the moment I walk in the room with them that they are either under or over-thinking the scope or complexity of their project. Yes, them not knowing exactly what they want makes life a bit harder for me, (though sometimes easier,) but what it doesn&#8217;t do and should never do, is give me the right to screw them over, or pretend I can do something when I cannot.</p>



<p class="wp-block-paragraph">So lets get some truisms out of the way. Firstly, your BIG system is probably not really that big. Wow it stores a billion records, or wow it has to support five hundred users. Let me tell you something, there are very few database servers that don&#8217;t give you this out-of-the-box, and the two biggest of these (Postgres and MySQL) are completely licence-free. Furthermore it is a pretty shitty system-level programmer in 2025 who does <em>not</em> know the protocols to support multiple users.</p>



<p class="wp-block-paragraph">Secondly your COMPLEX system is likely not even that complex. Small, or even lone developers like me have written many ERP, MRP or whatever the current buzz-word system it is. We are generally NOT re-inventing the wheel but re-using well proven techniques with some customisation and business logic added, so unless you are totally replacing everything, your system is unlikely to be this complex. With the advent of AI <a href="https://rodyne.com/?p=1828">this is even more truer</a> now than it was in the past.</p>



<p class="wp-block-paragraph">But, you say, it also needs to be up 99.99% of the time, 24&#215;7. Well welcome to modern IT, you can run hundreds of sessions easily on a low end local server, and you don&#8217;t need to go to AWS or whatever <em>cloud-de-jour</em> your consultant says it must be on. Remember, a cloud is just a server that you have no clue where it is physically located, and especially if you are a small player, you generally have no clue who to contact if there is a problem. Backups, fallback servers, docker containers, clusters are all well proven techniques that people like me and most small IT shops can install and configure with ease.</p>



<p class="wp-block-paragraph">But people like me will never tender for your BIG project. For while I, and many other small businesses like me, have a perfect track record of delivering BIG systems for customers, (and there a a shed-load of developers far better than me); We are everything you seem to hate, so lets get them into the open shall we:</p>



<p class="wp-block-paragraph">Firstly I am a one man shop, a lone developer. Yes I could easily obfuscate all this behind my web site; and on web sites I often see the third-person to talk about companies, where phrases like &#8220;we can do this&#8221; and &#8220;we specialise in that&#8221; hide the fact they have one or two developers behind layers of non-relevant management, sales and consultancy. I even do the same on my website, but I always make it very clear there is only me, and it will be <span style="text-decoration: underline;">only me</span> who will help specify, write, install and support your system. Good luck having <span style="text-decoration: underline;">that</span> person on speed-dial if you use a big company. If in doubt ask the question directly, but do not dismiss them because of it as even the biggest project probably relies on one or two key developers.</p>



<p class="wp-block-paragraph">Secondly, I am not going to fill out your 50 page tender document, which is probably mostly technically wrong and full of corporate speak that has no relevance whatsoever to the project you want me to do. As an individual I do not have the time for this, nor can I work with your liability clauses, nor do I have a company statement on my carbon neutrality, anti-slavery, how I am inclusive, or anything like that; You should start out trusting track-proven vendors meet the criteria, unless they give you a genuine reason not too.</p>



<p class="wp-block-paragraph">Then there is the technology that everyone seems so keen on specifying these days. This is despite the fact that it does nothing but exclude people who use much more mature technologies, and are likely to get the project done on time and budget. A lot of this is because your IT Manager or CTO heard about some new trend at their last &#8220;technical conference&#8221;, or they have paid an over-priced consultant to specify their new system, and to justify the extravagant cost they have hit all the buzz-words, or worse, have specified it so their own company or partner will be the only choice you will have to develop it. If the development tools and systems used are supported and you own all the code to the final system there is no real reason to reject something.</p>



<p class="wp-block-paragraph">Lastly, it is highly likely that by the time a big company has written a line of code, I, or someone like me, will have a prototype ready. This is not hubris, it is just the way I operate, in order to get an alpha-stage product in front of a customer quickly, as I know they have likely gotten something wrong, and they will see it quicker with something in front of them.</p>



<p class="wp-block-paragraph">Of course, I am not going to tender for replacing your big system, nor am I going to tender for our next government tax or social security system, but do not think for one minute it is because me, or another small business or developer like me cannot do it. Your system is NOT hard, it is <em>you</em> and <em>your procurement procedures</em> that are generally making it hard for small companies to help you, and it is you and your procurement systems and attitude that will likely make the project fail, be delayed or go over-budget.</p>



<p class="wp-block-paragraph">None of this is to say do not do your due diligence, just make sure you due diligence does not exclude us small players.</p>



<figure class="wp-block-image size-full"><a href="https://dilbert.com/" target="_blank" rel=" noreferrer noopener"><img decoding="async" width="640" height="199" src="https://rodyne.com/wp-content/uploads/22373_strip.gif" alt="" class="wp-image-2132"/></a></figure>



<p class="has-text-align-center wp-block-paragraph">(<a href="https://dilbert.com/">Dilbert.com</a>)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Removing Some Very Un-Corporate Baggage</title>
		<link>https://rodyne.com/?p=1883</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 11 Mar 2025 03:35:06 +0000</pubDate>
				<category><![CDATA[Bulls-i]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Indevin]]></category>
		<category><![CDATA[IT Failures]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://rodyne.com/?p=1883</guid>

					<description><![CDATA[In preparation for the shut-down and hand-over of the outgoing Bulls-i Winemaking system at Indevin I thought I would go through and maybe remove some of the more inappropriate comments and messages so as not to offend the next guy &#8230; <a href="https://rodyne.com/?p=1883">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<p class="wp-block-paragraph">In preparation for the shut-down and hand-over of the outgoing Bulls-i Winemaking system at Indevin I thought I would go through and maybe remove some of the more inappropriate comments and messages so as not to offend the next guy who has to learn from this. Many of the messages are aimed at me to get the appropriate attention from the user so they will actually email me the error so I could check what happened. Snippy here was a good example, that used to pop up after particularly nasty transaction failures.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="181" height="196" src="https://rodyne.com/wp-content/uploads/clippy3.png" alt="" class="wp-image-1905"/></figure>
</div>
</div>



<p class="wp-block-paragraph">A quick search for the word &#8220;fuck&#8221; in the source code brings up 57 hits, most of these are comments on how stupid I was at the time, but several translated into actual error messages or screens below. Many more error messages are so deeply embedded in the system they are actually impossible to trigger manually with out a specific set of weird circumstances (Which I guess was why I put them there) like the ones below which were probably only ever seen by one or two people, if any!</p>



<pre class="wp-block-code"><code>raise exception.Create('Having problems determining crush job to use. 
                        May be the result of a manual float job or multiple jobs filling 
                        the same crush tank, cosmic rays, aliens, who fu**ing 
                        knows!'+cr+cr+
                       'To-Do Boz to un-couple float jobs from crush pool and never-ever 
                        try to make sensible assumptions where winemaking is 
                        concerned.'
                       );</code></pre>



<pre class="wp-block-code"><code>raise exception.create('Could not locate i-Ticket '+cfg.bookingid+cr+cr+
                       'Possibly hiding with Elvis or the Easter Bunny!'); // WTF</code></pre>



<pre class="wp-block-code"><code>messageDLG('Job is no longer valid!'+cr+cr+
           'Yes this is totally weird and not normal, the job may have been deleted 
            by another user, network issues or Space Aliens (hell who knows!) either 
            way this session is fucked..'+cr+cr+
           'Bulls-i will now give up on life and die a gruesome death!'+cr+cr+
           'Definitely A Good time to restart your computer and take a coffee break!',
           mterror,&#91;mbok],0);</code></pre>



<pre class="wp-block-code"><code>raise exception.Create('Crush Tank No Longer Exists. Elvis has left the Building'+cr+cr+
                       'Bulls-i is now going to give up and move to a monastery in
                        Tibet somewhere, where it will hopefully never see a                                         
                        wine-maker again!'); </code></pre>



<p class="wp-block-paragraph">A few others were more easy to trigger.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">The Classic one I suppose is the infamous &#8220;Fuck-up Screen&#8221; which I used to show to the intake co-ordinators when they ignored the three steps before booking a truck onto a bin and subsequently had to back the load out. It had to post a message to a SCADA service and wait for a response, hence the little progress bar. I even kept a leaderboard of who made the most fuck-ups in a vintage. Luckily the guys doing the intake coordination had broad shoulders!</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="355" height="291" src="https://rodyne.com/wp-content/uploads/fu-screen.png" alt="" class="wp-image-1885" srcset="https://rodyne.com/wp-content/uploads/fu-screen.png 355w, https://rodyne.com/wp-content/uploads/fu-screen-300x246.png 300w" sizes="auto, (max-width: 355px) 100vw, 355px" /></figure>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">With the system being transactional in nature, there were quite a few No-No&#8217;s that I really should not have had buttons for. These I would generally lock down to me only. One such example to the right, was was trying to re-run a composition on a closed Job.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="355" height="163" src="https://rodyne.com/wp-content/uploads/fu2-screen.png" alt="" class="wp-image-1887" srcset="https://rodyne.com/wp-content/uploads/fu2-screen.png 355w, https://rodyne.com/wp-content/uploads/fu2-screen-300x138.png 300w" sizes="auto, (max-width: 355px) 100vw, 355px" /></figure>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">Bulls-i did not use unit tests, and with 140K lines of code I was not going to retrofit them. However it did have a very complicated set of initialisation code. The failure message (which thankfully not many clients ever saw) was this.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="284" height="152" src="https://rodyne.com/wp-content/uploads/fu3-screen.png" alt="" class="wp-image-1889"/></figure>
</div>
</div>



<p class="wp-block-paragraph">And of course which Indevin winemaker could ever forget the Winemaker &#8220;Job Issue&#8221; warning screen. The current iteration of this screen has the very tame Dr Evil picture as below:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="451" src="https://rodyne.com/wp-content/uploads/fu4-screen-1024x451.png" alt="" class="wp-image-1891" srcset="https://rodyne.com/wp-content/uploads/fu4-screen-1024x451.png 1024w, https://rodyne.com/wp-content/uploads/fu4-screen-300x132.png 300w, https://rodyne.com/wp-content/uploads/fu4-screen-768x338.png 768w, https://rodyne.com/wp-content/uploads/fu4-screen.png 1050w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">But before Dr Evil, we had many others, here are a few of the more memorable ones:</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">The Donald Trump &#8220;You&#8217;re Fired!&#8221; meme was actually back from 2014, before he was the president of the USA, and when people still smiled at his television antics. </p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="275" height="183" src="https://rodyne.com/wp-content/uploads/fu6.jpg" alt="" class="wp-image-1897"/></figure>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">Kim Jong Un. this meme only lasted on the screen for about a week until somebody pointed out he actually looked a little bit like our laboratory manager Owen (He doesn&#8217;t!). Luckily Owen himself did not actually make the connection.</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="224" height="224" src="https://rodyne.com/wp-content/uploads/fu5.jpg" alt="" class="wp-image-1898" srcset="https://rodyne.com/wp-content/uploads/fu5.jpg 224w, https://rodyne.com/wp-content/uploads/fu5-150x150.jpg 150w" sizes="auto, (max-width: 224px) 100vw, 224px" /></figure>
</div>
</div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">And who could forget Chuck Norris. As an aside, don&#8217;t ever Google Chuck Norris, (I&#8217;m sure there&#8217;s a Chuck-Norris&#8217;ism there about breaking the Internet, but I cant think of it) anyway, you will go down a rabbit hole for hours as you re-live the old memes and some new ones. I just had to include the meme collage below, even though they are not really related to this post..</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="201" height="251" src="https://rodyne.com/wp-content/uploads/chuck.jpg" alt="" class="wp-image-1896"/></figure>
</div>
</div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="608" src="https://rodyne.com/wp-content/uploads/chuck2-1024x608.jpeg" alt="" class="wp-image-1899" srcset="https://rodyne.com/wp-content/uploads/chuck2-1024x608.jpeg 1024w, https://rodyne.com/wp-content/uploads/chuck2-300x178.jpeg 300w, https://rodyne.com/wp-content/uploads/chuck2-768x456.jpeg 768w, https://rodyne.com/wp-content/uploads/chuck2.jpeg 1167w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<p class="wp-block-paragraph">And finally which IT Person can forget the Test Print Labels that used to spit out of various printers, usually at the most inappropriate times. This was also the winemaker warning meme for all of about a day, before the HR police saw it. Luckily the HR Department never tested printers!</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="397" height="251" src="https://rodyne.com/wp-content/uploads/fu8-screen.png" alt="" class="wp-image-1895" srcset="https://rodyne.com/wp-content/uploads/fu8-screen.png 397w, https://rodyne.com/wp-content/uploads/fu8-screen-300x190.png 300w" sizes="auto, (max-width: 397px) 100vw, 397px" /></figure>
</div>
</div>



<p class="wp-block-paragraph">I really could go on and on about this, but my daughter is a DEI coordinator for a international university and I really wouldn&#8217;t want her to get too annoyed or embarrassed with me (sorry Alex!) and although the system never-ever actually crossed any lines it probably stepped on it several times. The one I remember well, as I had to purge about a 150 dodgy records, was because at one point we had the ability for the users of the system to put quotes of the day into it without any forms of checks, these often never came up for weeks, and then came up at the most inappropriate time. Obviously I learnt that lesson the hard way.</p>



<p class="wp-block-paragraph">I know my system is not unique in having these, and most, if not all the thousands of users of the system found these totally fine. Many people still ask where the funny messages and menu items have now gone, so I guess this post is for them, and as a legacy of a pre-corporate environment, one that is unlikely to ever return.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>If the worst should happen!</title>
		<link>https://rodyne.com/?p=828</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 02 Sep 2017 00:14:25 +0000</pubDate>
				<category><![CDATA[Bulls-i]]></category>
		<category><![CDATA[Indevin]]></category>
		<category><![CDATA[IT Failures]]></category>
		<category><![CDATA[Project Management]]></category>
		<guid isPermaLink="false">http://rodyne.com/?p=828</guid>

					<description><![CDATA[Finally got around to having a proper holiday in the UK and here I am at the end of it with no tan, a few kg heavier and no actual support problems to report other than a few RTFM problems. &#8230; <a href="https://rodyne.com/?p=828">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Finally got around to having a proper holiday in the UK and here I am at the end of it with no tan, a few kg heavier and no actual support problems to report other than a few RTFM problems. Now here I am on a 17 hour flight back to Auckland thinking about what would happen if disaster struck and I was never to be seen again!</p>


<div class="wp-block-image">
<figure class="alignleft"><a href="http://rodyne.com/?attachment_id=829" rel="attachment wp-att-829"><img loading="lazy" decoding="async" width="272" height="186" src="http://rodyne.com/wp-content/uploads/2017/09/volcano.jpg" alt="" class="wp-image-829"/></a></figure>
</div>


<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Disasters are not really something I should be thinking about on a plane, but I am realistic enough to know there are lots of potential problems with custom software development and this is probably the biggest. My clients of course know this as I have explained it to them and while I have always ensured they have the latest copies of source code on their servers and that code is commented, it is a very complicated system and it is very likely it would be a hectic time in their IT department during the time they managed to acquire the right substitute.</p>



<p class="wp-block-paragraph">So what can you do to fix this?</p>



<p class="wp-block-paragraph">Well first off this isn&#8217;t just a problem for sole developers such as me. In one of my old jobs we had a piece of software written by IBM which they charged an 9,000GBP annual support fee and which was very reliable until one day it mysteriously started returning the wrong data and became effectively useless. The software was written in C in 1985 by a single guy who had left the company several years previous, and while IBM had the source code for it, it relied on another executable written by a company that subsequently disappeared in 1989. So there we were in 1996 with software supported by the largest IT company in the world and useless software. I got involved by analysing the binary &#8220;database&#8221; file and extracting the data as text for us to use in Excel while the legal departments on both sides wrote nasty letters to each other.</p>



<p class="wp-block-paragraph">So again what can you do to fix this?</p>



<p class="wp-block-paragraph">Well the first rule of custom software is don&#8217;t do it, but if you do then you must ensure the company you do it with has at minimum a second development environment and programmer and good software version control. Even when you have this reassurance you must have complete autonomy over your own code and data, including old code revisions and you should have a second person or company on retainer who they are able to contact to take over the support as soon as possible and are able to audit the code for backdoors, errors etc (auditors will love you for this)</p>



<p class="wp-block-paragraph">I don&#8217;t pretend what I write is 100% consistent and bug free, nor do I pretend it is easy to read in some places or follows the proper standards or one that another programmer may develop in. I also admit in many cases where I was under time pressure I have made some real ugly code and some of this code I may not revisit for several years. This is the nature of the beast when you have an evolving system. All my larger systems are broken into logical units (from 100 to 5000 lines) and at times I have sometimes found it easier to remove and completely rewrite units than to try and understand them.</p>



<p class="wp-block-paragraph">When an error message pops up it pays to make sure it is an error message that you put in to catch the situation, this way you can explain the problem to the user in the error message, it also means you can simply search the code base for the error message and immediately and hopefully see where the problem is (understanding it is another matter!). In Windows desktop programs every button press has a bunch of code behind it so even if you have not tested for the error you can narrow it down to a small area of source code.</p>



<p class="wp-block-paragraph">So while it still nags the back of my mind that there is only me, I do feel my clients are as prepared as they can be and better prepared than most.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Re-Envisioning Mobile Communications</title>
		<link>https://rodyne.com/?p=832</link>
					<comments>https://rodyne.com/?p=832#comments</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 23 Aug 2017 09:34:47 +0000</pubDate>
				<category><![CDATA[IT Failures]]></category>
		<category><![CDATA[Mobile Terminal]]></category>
		<category><![CDATA[Speculation]]></category>
		<category><![CDATA[The Future]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://rodyne.com/?p=832</guid>

					<description><![CDATA[What follows is an un-researched flight of fancy I&#8217;m totally over smartphones! I went back to a dumb phone 12 months ago and my old smartphone is now just used as the remote control for Netflix, Viber calls (see below) &#8230; <a href="https://rodyne.com/?p=832">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>What follows is an un-researched flight of fancy</p>
<p>I&#8217;m totally over smartphones! I went back to a dumb phone 12 months ago and my old smartphone is now just used as the remote control for Netflix, Viber calls (see below) and occasionally as a map/gps when I go overseas, it doesn&#8217;t even have a SIM in it. I&#8217;m not the only person either, it seems while the world wants to communicate it is totally over the privacy, complexity and costs involved in doing this. So wouldn&#8217;t it would be good to re-envision personal communications with some sort of basic open source text/voice comms.</p>
<p>I was going to go over how a Free Open Source cell like phone could be made as this is actually an incredibly easy technical challenge, all the ingredient technologies are mature and cheap&#8230; And lets face it hardware is not really the problem, the RF Spectrum required to do this is pretty well tied up and mobile operators have the communication world by the (proverbial) balls..</p>
<p>I am also tired of really bad call quality, it doesn&#8217;t seem to matter if I pay through the nose on a landline or cell phone or make a free call using VOIP the quality of the call is just a dice throw, most probably the cellular companies trying to squeeze as many calls as possible in the bandwidth available to make as much $$$ as possible&#8230; Seriously I made International calls in the 80&#8217;s that were clearer than most I get now.. Grrrrr!</p>
<p>WiFi is one way around getting rid of the current carrier system. Viber/Skype and a bunch of other IM services can do basic voice and text just using WiFi and VOIP (Voice Over IP) there are a lot (well 6 that I could find) of Open source alternatives such as JitSi/Vox/Signal etc, plus a full open source VOIP telephone Exchange (or more commonly known as a PBX which stands for Private Branch Exchange) system for VOIP communication called Asterix.</p>
<p>But to make a call to anyone in the world you also need a globally unique ID (A phone number if you like). All the above services require unique ID&#8217;s, and because of this you need a central service to ensure yours is unique in the world. Of course none is compatible with the other so Skype can only call Skype and Viber can only call Viber so again we are stuck with several standards!</p>
<p>Just a small segue on why you use a central service</p>
<p>The device at IP address A wants to communicate with the device at IP Address B, but both IP addresses keep changing so the two devices need someone in the middle (the PBX) to keep track of their IP addresses, So Device A creates an account on the PBX server called ID123 and device B creates another account on the same server called ID432. Say &#8220;ID123&#8221; now wants to talk to &#8220;ID432&#8221; then &#8220;ID123&#8221; places a call request or message flag in the PBX central server to the &#8220;inbox&#8221; of &#8220;ID432&#8221;. &#8220;ID432&#8221; will either poll the PBX service regularly or more likely wait for a push request from the PBX and once both are online either route the data messages through the central server or (if possible as more efficiently) make the device IP Address at &#8220;ID123&#8221; aware of the devices IP Address at &#8220;ID432&#8221; so they can talk direct without the PBX being involved/tied up. The tricky part in rolling your own comes because of security.</p>
<ol>
<li>Your unique ID &#8220;ID123&#8221; must only be accessible to you! You don&#8217;t want another person to be able to send a message or make a phone call as you or read your messages and get your phone calls or the system will fall apart</li>
<li>Firewalls generally prohibit direct peer-to-peer connectivity and mask IP Addresses, ie my device &#8220;ID123&#8221; at address 1.2.3.4 could not connect directly to your device &#8220;ID432&#8221; at address 4.3.2.1 as most likely all the routers ports would be blocked.</li>
<li>You must keep all this PBX contact information free from Hackers and eavesdroppers like the NSA (insert your baddie organisation of choice here) so everything must be encrypted and free of back-doors and vulnerabilities.</li>
</ol>
<p>We can get around number #2 with some IP trickery, opening the port or using a central messaging router (a telephone exchange or PBX) or a decentralized PBX which would route packets locally and between exchanges so balancing the load. Asterix is open source PBX software which does just this and the technology is very mature so having an Asterix PBX in say NZ I could go through it to call my buddy down the road but if I wanted to talk to a friend in Australia say it would need to forward the data on to another PBX which my friend is on in that country (just like the old telephone exchanges)</p>
<p>I use Viber for no other reason than my daughter put it on my phone one day and it uses my phone number as its ID, the problem with Viber is nobody else has it and the quality is as good/bad as random can be, the problem with WiFi is you are restricted to where you have coverage, ie town, the office or the home.</p>
<p>So lets say we magically have all the infrastructure in place, and I am fully expecting someone already has. How could you make it all work properly, be cheap and have good quality and not just become failed open source standard number #58. Also who would pay for the security and the exchanges and the bandwidth and more importantly let you use their WiFi, after all there are millions of home routers out there?</p>
<p>So what about yet another crypto currency (lets call it BullS***Coin or BS$ because I&#8217;m being facetious) where you make BS$ by providing PBX infrastructure or WiFi Access and charging by the data throughput, and you get more BS$$ for better quality!  And you pay out BS$ when you use it. BS$ Prices should never fall too low if the quality was good and prices would never get too high as you would go back to normal phones so no speculation or early adopters making $$$</p>
<p>Maybe someones tried this already, maybe its unworkable.. Who knows? (Who cares?)</p>
<p>My wife and Daughter don&#8217;t, they would die without their cell phones and the facebook App <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Anyway.. Just a thought!&#8230; Back to Real-life <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rodyne.com/?feed=rss2&#038;p=832</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
