Showing posts with label ideas. Show all posts
Showing posts with label ideas. Show all posts

Wednesday, 12 September 2018

Form of Ready Player One Sequel?

I've just finished a re-read of "Ready Player One"; and I heard tell that Ernie had embarked on writing a sequel... Now before you all start I make the distinction between the film and the book, we are talking about the book.

In fact, those of you who haven't read the book... (Spoiler alert)... It starts out being written as the true story, to set the record straight... Straight up calling the movie out as wrong!  Oh yeah, love that preemptive strike on the Spielberg saga.

Anyway, the sequel eh?... Lets gather around the camp fire and think about this...

It can't be another hunt, we've had a hunt, Z is the man now, we may get a little friction between the members of the high-5 and Z maybe?... But it's going to be about what they find within the folds of the fabric of the Oasis.

Perhaps whether Halliday's Avatar was some form of personality transplant from his real-world body into the Oasis, some form of literal Ghost in the Machine?

I'd like to see some form of digital court, like a war-crimes tribunal, all accounts whom were Sixers being required to justify their existence?  Maybe some form of play on "The Odessa Files" in digital form, with IOI has the continuing evil?


Maybe there's some form of massive community lash back, everyone died on the release of the Cataclysm, Z resurrected the High-5 members, but everyone else was perma-death?



Friday, 17 March 2017

Development : Managers Trust your Developers

I have been so busy, I'm deep in the middle of a new system development with work, but as a personal side line I'm also completely re-engineering a different system, you know when you've worked on something or in a field as long as I have it becomes second nature to want to do things your own way... So I've been doing just that.

I picked a coding standard & style, I've stuck to it, I've pulled in SDL and Boost, it's all C++ and it's around 100x faster than the original system and amazingly more simple to access.

The problem, the boss doesn't want it, he doesn't trust it.  More importantly he doesn't trust me.

My previous boss has seen the system he's gobsmacked, his opinion was that it was exactly what was needed four or five years ago, and to have done it alone with no support in parallel with my real daily work just blew him away.

So what was my current bosses argument?  Well, it's one I can't counter, his point is that the current system I want to replace has been out on the market with real customers for years, nearly twelve years in fact, and I ported it to cover five different platforms.  He's right, it is, it has been, and it will be again, but that doesn't make the system any good.  All it lets a manager in his position do is quantify the risk versus reward, and I can not argue or knock him for that.

However, what I can knock is when you have an employee, like myself, who lives and breaths this technology, who writes books and blogs on the topic, and they've worked for you for 14 years... They're investment in the product is vastly more than the product risk for taking up the new system, especially when the new system would only go to trusted customers for trials, it would not immediately go out to the full estate of customers.  You reduce that risk you've presented drastically, there is less risk, but the reward for introducing that new system is vast, acceptance of it is equally as likely as giving customers the original old system in a new skin.

They are 100% compatible by the way, content for one works on content for the other, they work in the same sequence and order, they are the same except the underlying code is vastly better in one and a squelchy pile of over cooked spaghetti in the other...

So, to managers out there, the world over, yes evaluate your risks, but your developers are a huge component of that risk, if you have a good one, trust them when they do 40+ days of leg work on something, they're not doing it just for their own sake, they're doing it because of a driving need.

Saturday, 4 February 2017

Developer : What helps you picture a system?

Systems are complex things, they contain many components, from the physical to the ethereal software running around inside them, you have many considerations, from load to speed and timing, to ease of access and security, so many skills and so much to consider...

So how do you go about creating such systems?

I've had a wealth of experience, in different industries, which arm me with some hard earned experience of how I can best filter through all the complexities before committing too far in the wrong direction, and even more experience of how to rescue a system already too far in the wrong direction!

But as a new developer, a new system guy, or just an experienced guy joining a new team, how do should one best go about approaching the task at hand?

Here are my top tips...

1. Always listen, take notes, record or otherwise pin down the specification.... Walk and talk to the people asking for the system, get to know their mind-space as best you can.

2. Think before you act, many experienced developers take time to think of a solution, they'll diagram, discuss, brain storm or just walk through a problem.  These mental acrobatics are sometimes key to a project getting off on the right footing.  Younger, eager, developers often over look having a period of quiet contemplation.  Don't mix this up with not implementing the basics, an XML loader or a generic piece of code can be written, but what those general tools are put to use doing, the actual architecture, that needs thinking about.

3. Discuss the system, from top to tail.  If you're handed a spec, dissect it, talk to the author, talk to the target customer, talk to the developers who are going to lash themselves to the mast and go along with this vessel, whether it were to sink or sail.  Discussion is not thinking, from the previous point, you need to think your own path through the problem, and remember your path maybe different to others, your solution maybe different to others, this next tip to discuss the problem lets you exchange with others and ensure you are both reading from the same story sheet.

4. Repeat.  Once you have started to work, record what you are doing, talk to others about what you want to do, discuss how things are going and feed all this back into a new round of work, the next sprint, the next deliverable...

These are my positive tips... Have I got negative tips?... No, I have experience, and sadly I can't pass that onto you directly.

Tuesday, 31 January 2017

Development : Simple Versus Complex

I have been reading some of Alan Turings works, specifically some of his work for the NPL in the late 40's and early 50's, before he went to Manchester in frustration with the NPL's lack of progress with his ideas.

One of the ideas Turing was pressing at the time was to do as much as he could in software, don't jump to hardware solutions; which at the time fixed the functionality of the machine to a single purpose; instead he wanted a general computing device he could put to any uses he desired.

Today the average programmer, hobbyist or indeed employed software worker, such as myself, don't have the opportunity to define new hardware for a bespoke task, indeed the machines we are driving are far more powerful than Turing ever imagined and we can do as Turing suggested, we can write software to get around an issue.

You need encryption, why pay to plug in a dongle doing this, when the processor you have is equipped to do the task for you, indeed some processors even have encryption instructions and powerful parallelism built into assist in such work!

So today's lesson is, take on board Turing's ideas, do in software as much as you can, even if you want to later move to real hardware emulate your idea now.  Here's a very good example:


nVidia's emulation lab is an extreme example, however, it is indicative of the kind of problems we are meeting today as older engineers are coming away from dedicated hardware devices (because their machines were too slow in the 1990's) and we have today's extremely powerful machines right there at our finger tips.


Why does this exist?
Last week I set about looking at a quite old system (circa 2008 it was last attended to) it contains a message passing system, which allows passing of messages (events if you will) between producers in any process to consumers in any other process subscribed to the service.  It did this with a windows service driver, which called down into a USB dongle to queue the message.

The consumers then polled the USB device (round robin style) to determine if the next message was for that consumer... You might imagine this was extremely slow.

It was also very complex, the code within the USB dongles was not mutable; being set in silicon; and the consumers could end up locked out of the service queue by a message being present for a consumer which was not able to consume the message.

This clearly needed replacing.... So, I had to look at it, a single afternoon, it was just extremely complex inside, so one had to take a step back, don't look at the contents of the code, look at the API, the functions being used....

The producer code relies on just three functions and the consumer relied on a thread safe queue which was woken up from a spin wait to call the registered consuming function... Not rocket science.

I set about writing new code with a very simple UDP server and clients, taking the message in, converting it to XML and posting it to the loopback IP Address of the master UDP listening port which then sent it out to the listening consumers on their loopback IP and port number.

Voila, in an afternoon, I had replaced five years (ish) of complex, hard to maintain code, with a working prototype of a solution.  And it dropped straight into place.  The dedicated, slow, old, hardware could be unplugged and the system just carried on as it always had.

The customer for this product is delighted to see it running faster, and the overhead of the hardware costs being removed.  All by simply doing in software something which was being offloaded to hardware in yester-year.

Wednesday, 8 June 2016

Selling Infrastructure Today, to the Mindset of Yesteryear (IT Provisioning Talk)

Today, I'm going to talk about presenting, or selling, an idea to internal management.  How to sell them the idea of a capitol level expense without having it rejected.  Because in 16 years of professional development, I've seen the world change, when I began working the age of the Internet was in full swing, the dot COM boom was about to burst, but in infrastructure the world had two sides of a divide, "big iron", with big costs or PC's which were relatively cheaper.   Today however, that same PC class hardware (though in a different form - the wrack mounted server) is ubiquitous in the work place, however the costs for major infrastructure are ever growing.  To sell a purchase is a challenge, and this is how I've dealt with that challenge, and would like to continue to challenge it in my office today - if only I were given chance to help.

If you work in an environment where those above understand the value added to a business by having decent infrastructure, then you need not read any further nor know anything more than I envy you!

In a large business, or situation where funds and a core understanding for the need to invest in your IT infrastructure is understood, it is very easy to justify and secure funding for the right storage solutions to suit the business needs, be that a decent Network Attached Storage solution in a small office, or a large scale Storage Attached Network at the capitol expense level.  The key to getting either end of that scale of investment is not really explaining the hardware & what it does, though that is very important, but instead it is communicating multiple smaller pieces of the over-all jigsaw as to how this investment will impact and improve the company.

One can cherry pick topics, or even name drop them, "total cost of ownership (TCO)", "return on investment (ROI)", you can demonstrate the value of IT, the value of this hardware investment to justify the cost, and how integrating it with the business will potentially improve performance.

Anyone whom has tried to explain this the lay man, or just a stubborn audience, can find themselves on the loosing end of the battle, even with added credibility (such as your being ITIL certified), if your audience doesn't understand, nor buy into your vision of the future, or even if they're the kind of work collegue who likes to see the world burn, then you are going to struggle to put your point across.

This is something I wish to discuss with you today, for it's something which dogs the infrastructure around me, both professionally and personally.

We all understand that spending money today is hard, but those of us looking at what needs buying, sometimes we do know more than those who just look at the bottom line cost.  So seeing the price of new equipment as a cost, rather than an investment is the first hurdle to cross.

Before any jargon, before any numbers go on spreadsheets or slide shows, you need to set the mind of your audience into the correct frame, and this needs careful phraseology from yourself, and careful use of easy to handle concepts.  A practical example is also of good use.

Always when approaching this topic, I begin by never speaking of costs, or expense, I always talk about investment and better yet expansion.  Sometimes you may want to create a whole new system, such as a Storage Attached Network, this maybe many thousands of pounds, and if your audience has no idea what a storage attached network is your task is made more difficult.  So, immediately drop any technojargon, a none-technnical audience is going to feel more at ease with simple phrases and careful handling.

Introduce the technology later in your presentation, but initially talk about Storage over the network, or storage over the wire, talk about internetworking the machines in your company and a pool of storage.  Then explain the pool is to be stored on equipment known as a Storage Attached Network Array.

This jogging with the facts, and altering the terminology thrown out makes you appear less as though you are educating, rather you are introducing old thinkers to something new, and doing it gently.  All this introduction should take two to three minutes, no more, and have a big picture.

The best case scenario you can assume occurring is that they simply are looking at the price, the worst is that they think they know what you're talking about and that they know how much it should cost, by abating their feeling antagonised by your testing their knowledg with techno-jargon, you immediately stop their feeling alien from presentation.

Plus, they will one-day be one of the users of your new infrastructure, to include that, and the benefits of going the extra mile now in the implementation will improve their working environment for three, five, maybe ten years is worth keeping in their minds eye.

Once you have explained to them what is the target of your investment, you need to quickly give them a price break down, I recommend starting with the solution you want, it's cost, and a maximum of three bullet points about why... For example:

SAN unit, twelve disks, giving all the storage we need:
* Easy maintenance
* Brilliant Performance
* 3 years vendor provided assistance & service

Don't yet put the price, next give the maximum price example, and make sure you include the price as a negative, so they become aware you have checked above the realistic price point for a good solution...

Gold plated magnetic frizbee
* Again Easy Maintenance
* Best in class performance
* Most expensive solution

State boldy, this most expensive solution has no benefit over the previous mid-priced example... Remember you're trying to sell the idea more than the hardware, you're the buyer of this equipment, and you will be using it to furnish IT Service to the audience you are now addressing, they must realise they can pay more for something better, even if you do not want this top of the range performance and costs.

Finally, you should give a lowest spec variant, this should however, still be something you can manage, but do point out the added costs of your having to be there to trouble shoot, to coax it along, to keep it on the straight and narrow.  In todays world we do run a multi-facetted high availability model of computing.  Unfortunately in many middle of the road businesses the funds come from staff who's experience and idea of large scale computing is just that, large!  They remember the era of Big Iron of mainframes, they do not understand why a 1U sized server should cost multiple thousands of pounds, and they don't care for you explaining it.

But they do care that you show due dilligence in researching the costs of these items, and what you want to sell them is the idea that they are picking your best option.  So make sure there are more negative points with the least performant option...

Stone Tables
* Extremely slow to store data
* Difficult to source new media for
* Will require constant monitoring by staff to operate

The next piece of your presentation should focus on the price, but still avoid calling it a cost, a price is the "price of success", or the "price to deliver", never ever call is the "cost of ownership" or the "cost to the business", I believe this is the most erroneous part of courses such as the ITIL qualification; and yes I understand you need to explain the "cost" to a business of their IT services, but calling them a cost when you are trying to get investment in them from those above is ludicrous, address the costs of running later, today talk about the price, get the price out there as simple as possible.

A table is a good solution, the options you present in the order presented left to right, with your preferred column highlighted a slight different colour.

Include yearly maintenance, hardware maintenance, licensing & your estimated costs in salary terms, don't be specific with that last item, just let them know:

SAN Frizzbee Tablets

Capitol Investment £8,500 £11,850 £2,300
Maintenance/year £250 £530 £1,200
Additional* £500 £1,200 £2,400
Staff Overhead** £2,400 £3,800 £4,500

* One off costs related to installation or delivery
** Annual cost, estimated against staff time & pay grades, to operate the system in house.

Make it clear that you are presenting the best solution for not only the performance of the services being provisioned, but also in your own time, you are trying to make sure you are free to help the business expand.

The maintenance/year costs is also an area you should leverage, make it clear to the audience that you want to provide a continual improvement program, include that value here, and call it a value, never a cost.  This is one of the good clear items within the ITIL concept, that you have a continual cycle of improvement, if you never factor that into the cost of modern infrastructure, then you are as guilty of living in the past as those member of your audience stuck on the idea of "big iron".

To conclude your presentation, recommend your desired solution, explain you have gone both above and below the price point selected, and state this is the best solution for the business, make reference to specific things within your business process; and if you find yourself wondering what the business process is, then scrub your talk, you are not ready to deal with any queries regarding the business yet!

So, why am I talking about this?... Well, this is a problem relayed to me second hand from the office, there's a current effort to upgrade the whole network.  The server infrastucture has already been done, without my input, however, the next item is all about the network which is very much in my sphere of interest.

There are highspeed, high availability SAN's available on this network, however the back-bone is a mix of gigabit and megabit unmanaged switches, there is no separation of departments with VLans, there is a domain which I believe needs rebuilding as it sometimes struggles and there is a lot of network chatter all the time, from myriad devices.

All problems which could be solved with decent wiring and decent switching equipment, managed smart switches being one of the key infrastructure requirements... Are we getting decent switching equipment?... Unfortunately not.  And the poor soul who had to try and fight this good presentation fight, and whom lost, was simply beaten down in their request by old-hat thinking, indeed the quoted reply when they asked for managed versus unmanaged switches was "They all do the same bloody thing".

A bloody minded reply which pretty much set the tone of what was being delivered, for this being perhaps only the third major network infrasturcture investment in 53 years it's extremely disheartening to see the investment only going as far as replacing like-for-like, instead of actually leveraging value for the investment.

Is going from a mix of unmanaged switches going to solve all the problems in the business, no.  Is it going to solve some of them some of the time, yes, but only with lots of staff input still.  Would fully managed switches been worth the investment?  Yes!  Would they have saved on staff over head and solved more of the business challenges at hand?... Yes.

Unfortunately, and ultimately, the presenter of the idea was not talking to an audience whom were on the side of the technology, nor an audience willing to buy equipment for seemingly its own sake.  The audience was hostile, they were firmly of the belief that the problems would best be solved by working around them with a human, rather than with better equipment.

How do you argue against mind-sets like this?... Being qualified is one way, having qualifications to back up your argument is fine, but it only goes part of the way, and in my experience to go all the way with these arguments, you have to approach them in the manner we've talked about today, to bring the potentially hostile over to acceptance, and do it gently, do it by stroking their ego and making them feel part of the process, that they're really doing more than you ever will to benefit the company, by their accepting your advice, for the greater good.

Tuesday, 31 May 2016

My Silent & Popular Videos

Some of you may have noticed that over the years I've created some example videos, however, most of them before 2015 are silent, there's a very good reason for this, many of them were created on a system which had no sound input, or were recorded in places where I could not perform to the camera or microphone.

However, recently I've started to perform for you all, and you can hear my droning monotonous bullshit spouting off gob on most all the videos.

Unfortunately, this leaves me in a difficult position, because I have multiple uploads getting many views (multiple thousands on some), but they're silent and get commented as such.  People apparently need me to explain some of these items.

So, my new focus through June for technology is two pronged, the first is to remake those original videos which are silent, specifically the Boost Libraries on Windows stuff, that is all very popular, it is still accurate, but we're currently on boost v1.61.0, and it would be advantageous to remake those videos.

The second prong is an effort to start explaining some more programming topics, the first of which is linking to MySQL from source, another is building the GCC toolset from source, and finally there's going to be a series on programming C++.

This last item however, is going to be related to a book I'm putting together, to self-publish on Amazon's platform.  Which is going to be my own personal, probably quite antique feeling "Introduction to Programming with C++".

This is perhaps one of the hardest topics for a programmer to write upon properly, because you have to constantly stop yourself running a head, or assuming anything about your audience.  Many other books on the programming topic tend, in my experience, to leap a head assuming that the reader knows more than they might.  Or that they understand some technology or phrase being used.

I'm hoping to break that down, and get over the hurdle of introducing the topic by giving away the first part of the book for free, here on this blog perhaps, and that first part is really going to be a guide on how to use the rest of the book, it'll contain details of whom might benefit from the content, and it'll also help an absolute beginner understand what programming is, and how to start to think, before trying and perhaps getting frustrated by the actual tutorial segments of the tome.

Expect all this, through June & July!

And of course, keep tabs on my YouTube channel, which I am posting to very regularly now...

Saturday, 27 September 2014

Tech Pricing - The UK Getting A Bad Deal - International Shipping & UK Import

With the news today that Samsung is not going to be selling laptops in Europe, I wondered about how in the future we here in the UK would be able to get our grubby mitts on their Chromebook offering, and other hardware.

Whilst trawling the interwebs, I became more and more infuriated, now this is a matter I've seen before, but I've largely ignored it.  But with the purse strings needing tightening here at home I've had to think carefully about hardware changes and upgrades, but this problem I'm going to put forward just pisses me right off...

International Pricing... Specifically with technology kit, I was watching a review from Linus Tech Tips, and he was telling how this kit he had costs less than $1000 US... That's £612.89 at the time of writing, not a bad price for the overall package he was touting... However, paying for the exact same kit, from supposedly the same suppliers here in the UK came to a wallet busting, mind numbing, pay-packet stealing rip off price of £1014.58, over a thousand pounds, which is $1655.41... A six hundred dollar price hike...

I could pay for the same goods in the US, pay shipping and import and not end up paying as much!

Here's an example, two Amazon pages, both showing the same item (honest it is the same graphics card, just different pictures)..


£330 to $339... It almost seems as if they've taken the dollar price and slapped a pound sign in front of it, this clearly aids them, in this particular case the card comes to £208 if we convert the dollar price to sterling... £208 for the latest graphics card seems a lot better than £330... So where does the additional £110 come from?

Well, I looked at "Value Added Tax" in both the UK and US... I wondered if Amazon UK was having to add more, and it seems not, most "General Sales Taxes" in the US are calculated per state, and start around 23.5%, so that's more than the VAT 20% rate in the UK... So the US is paying a lower price even after tax.


Okay, what about shipping?... Are there significant shipping costs to bring goods into the UK?... Nope, same container ships burning the same fuel... And then once in the UK they are moved around on a single tank of fuel, unlike the US where deliveries are quite literally transcontinental!


So, if the sellers of goods are not paying more to deliver, and we in the UK are not paying more in TAX where does this £110 hike come from?...

It plainly seems to be because of greed, I can't fathom out a single other reason for the difference, all the goods I've looked at are made in the far east, it's just as far to sail them across the Pacific or around to Britain... It's less distance from any port to Amazon warehouses in the UK because we're such a small island, even if we look at Jersey, Guernsey, the Isle of Mann they all stack up to be less distance than some of the Amazon Warehouses from Manhattan!

All in all, it makes my blood boil... 

So, what if I just bought the goods from the US?.. Well, apparently here in the UK I'd then have to pay Tax again, so I've paid for the goods taxed in the US, then to even bring them into the country I have to pay again?...


This, this just makes no sense, in this modern age of the internet and it is full of holes, I can go onto Steam log into a US server and order then download a game, paying for it once in one place, I can do this with Music, with Films, with Streaming services, with Porn, with News, with almost anything on the screen... But I have to pay tax to import the screen, and pay for the imported delivery service, and pay to then get it off of the customs chaps who poke and prod it?... Mental.

And I think just a way for the exchequer to keep an eye on what I'm doing, and to skim off the top.

So, how much do I pay?... Well, say it's this £208 graphics card... This comes under the "Non-EU Country" and its "All Other Goods", and I have to pay "Customs Duty on goods with a value that exceeds £135" and "import VAT on goods with a value that exceeds £15"

So how much are these two costs?

Well, the HMRC website doesn't want to give you clear straight forward figures, they give calculators for VAT deadlines, link upon link to registering for VAT.... But never do they give a figure...

So you go to the internet to find out, and you're met with searches which ironically relate to overseas imports from overseas countries... For example this: http://www.dutycalculator.com/popular-import-items/import-duty-and-taxes-for-graphics-card/ it has a very nifty calculator, so I stuck the $339 price in, selected $50 shipping and $20 insurance, so this is a total of $409, which is still only £250, so we're still making a saving on our price even importing the item...

The calculation site gives us zero duty, and 20% VAT, to be added, this brings the price to £300... Still a £30 saving.

It's a lot of faffing about, but it's a possible saving... My question now is, who wants to try this out?

Friday, 22 November 2013

Sketches of Unidentified Bodies

Reading the news there is a call for a European wide website, or database for all unidentified bodies to be searched for, a great idea and one I can't believe has not been implemented before in our information age.


However, as part of this reading I ended up looking on the UK Missing Persons Bureau website, and looking at their case search pages... 

There was no-one there I knew, but I did see lots of the sketches made of some of these poor people, their last images on Earth in many cases... Some where photo's of reconstructions as clearly nature had taken its tole and they were only skeletal remains.  But some here quite life like sketches doing honour and making the person look real.

However, some of the sketches on there... looked like they were done by blind brick layers, some sketch artist who was only telling people they could draw, the pictures were terrible, childlike, lacking any skill, or depth or flair for art at all.  And worst of all, apart from looking awful these terrible sketches, if anything, detract from the chance of anyone recognising the body.

Terrible, there should be some level of competance in such situations, surely, even just getting a budding amateur whom has the nack with a pencil, rather then whomever was got in on some of those pictures.

Sunday, 25 August 2013

Cuda and more at home?

One of the big projects I have in the back ground is going to involve using the graphics card processing power, I've got some graphics cards around the place, all of which are nVidia branded, but from what I'm reading ATi driven cards will better suit the processing I want to do...

It maybe time ti do a decent review of the two, I might send missives out to nVidia and ATi, see if they'd like to collaborate with a programmer to leverage a decent review of a product or two.

I see so many reviews of graphics cards are just covering their use in games, their packaging or even just how they can fit into water cooling loops or cases.  The other side of graphics card use if high performance computing, not a common thingin the home, but something which could be put to much better use than it is today - used primarily in cracking other people's wireless network passwords. lol

Thursday, 23 May 2013

The Agony of a Defensive Programmer

By nature I'm a defensive programmer, a good example is whenever I use C++ I want to force wrapping of my classes as smart pointers, by making the constructors private and only giving a static factory create function, which returns a smart pointer wrapped copy of the pointer to the new class each time...

So, when I'm left to pick up the pieces after a non-defensive programmer is pains me immensely... Not least when the situation is an obvious like a file load.. Here's the gist of the problem, I'm not being specific, but lets assume:


if ( File.Exists(m_Filename) )
{
Load();
}
else
{
Create();
Save();
}

Now, if the file isn't there, you make a copy... And save it, whenever you come back you load it... "What's wrong with that?"

Well, the load function, lets take a look:

void Load ()
{
DeserialiseFile(m_Filename);
}

So, it just tries to read and deserialise the whole file?... yeah... and still not seeing the problem?

If you don't see the problem, a small part of me weeps for you... For the problems are many, and annoying, and mine to fix when you stroll off and leave this code as acceptable.

i. What if the file is corrupt?
ii. What if the file format changes?
iii. What if someone has saved a file with the same name?
iv. What is some sneeky so-and-so has saved a fake file there to try and force your system to do something strange?

All these problems, cause a crash of the attempt to DeserialiseFile, and so bring the program to its knees...

So what would I, the defensive programmer done?  Well, how about:

void Load()
{
try
{
DeserialiseFile(m_Filename);
}
catch (Exception l_e)
{
Output/LogError(l_e);
}
}

So, now the program doesn't crash, and you can detect out of date formats, or erroneous files, or corruption...

There are better solutions than this, but this isn't even my code, so I'm forced to do the bare-minimum to "fix" it, and to fix it I'm literally just catching & logging the problem, and then carrying on.

Sunday, 19 August 2012

A Damn Good Idea....

I've had a damn good idea, seems my employers think its work looking at, but all on my own time, they're not willing to fund it... grr... anyone want to fund software in the leisure & entertainment field?

I need a salary, rented office and a little trust for once... I'd think after working at my current employers for 10 years they'd trust my knowledge of the business and the technology I work with, but seems not. Grr.