I&#39;m wondering if you analyzed your need for popcorn carefullly. You asked for popcorn.. you got your popcorn. but perhaps you&#39;ve been taken for a ride. If we analyze your need carefully for an hour, what we could have determined is that you truley wanted a 30 minute comedy show, and some salt - and -vinegar chips to go with it. Not popcorn at all. Perhaps the desire for popcorn stemmed from your not correctly seeing your needs in the first place. I feel its my duty to help you access the situtation so that you get what you need and not what you want.<br>
<br>We could discuss this further privately, and I&#39;m sure with all my experience in these situations that a 3 hour lunch break daily, with said included comedies and chips will satisfy your needs more appropriately.. The Popcorn is just a bandaid.<br>
<br><div class="gmail_quote">On Tue, Jan 18, 2011 at 12:44 PM, David Brennan <span dir="ltr">&lt;<a href="mailto:dugdavid@dbsolutions.co.nz">dugdavid@dbsolutions.co.nz</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Mmmm, I&#39;m enjoying my popcorn as I watch...<br>
<div class="im"><br>
-----Original Message-----<br>
From: <a href="mailto:delphi-bounces@delphi.org.nz">delphi-bounces@delphi.org.nz</a> [mailto:<a href="mailto:delphi-bounces@delphi.org.nz">delphi-bounces@delphi.org.nz</a>] On<br>
Behalf Of Matthew Comb<br>
</div><div class="im">Sent: Tuesday, 18 January 2011 11:12 a.m.<br>
To: NZ Borland Developers Group - Delphi List<br>
Subject: Re: [DUG] Validating CDS files<br>
<br>
</div><div><div></div><div class="h5">&gt; Those developers that came back with &quot;TO DO&quot; lists were perhaps themselves<br>
&gt; not taking the time to understand the customers problems.  The customer<br>
&gt; told<br>
&gt; them &quot;those 10,000 features are great, but we&#39;d really like X, Y and Z&quot;,<br>
&gt; so<br>
&gt; the developers simply came back to you with that list of &quot;X, Y and Z&quot;.<br>
&gt;<br>
&gt; Far from analysing too much, they were most likely not analysing *enough*.<br>
<br>
What your argument does not take into account yet again (which was my<br>
point that was missed), is the time and money factor. If you have a 1 day<br>
or 2 day install, you do not have time to spend all 2 days taking on<br>
customer requests when the customer is not yet up to speed with the<br>
capabilities of the system. A customer often doesn&#39;t know what they need<br>
until they get to use the system, then their requirements frequently<br>
change. If you have unlimited time and money then by all means, spend<br>
every waking moment analysing each and every item raised, Cameron would<br>
probably tear his hair out.<br>
<br>
&gt;<br>
&gt;<br>
&gt; That specialist you hired is most likely looking at the X, Y and Z and<br>
&gt; then<br>
&gt; asking the customer... &quot;But what do you need X, Y and Z for?&quot; then showing<br>
&gt; them that they already HAVE X, Y and Z among the 10,000 other features.<br>
&gt;<br>
&gt;<br>
&gt; That quite neatly demonstrates my point I think.  Understand the<br>
&gt; problem...<br>
&gt; not only might the solution you are asking for not be ideal, but you might<br>
&gt; already be in possession of the solution !!!<br>
&gt;<br>
<br>
I don&#39;t think it does at all.<br>
<br>
&gt;<br>
&gt;<br>
&gt;   &quot;I have a legacy piece of software which very very rarely corrupts a<br>
&gt;    local data file - fact&quot;<br>
&gt;<br>
&gt; The real problem to be solved is how/why the corruption occurs...<br>
&gt; everything<br>
&gt; else is just sticking plaster, not a solution, and even the sticking<br>
&gt; plaster<br>
&gt; can only help if you apply the right sort of dressing correctly.<br>
<br>
Thats right, that is the root problem, but as this piece of software has<br>
been in the field for 8 years, and is being decommissioned, there isn&#39;t a<br>
lot of point in that is there. So a bandaid is more than adequate.<br>
<br>
&gt;<br>
&gt;<br>
&gt;   &quot;Regardless of the better long term solutions, we will take<br>
&gt;    a defensive programming measure to protect against the loading<br>
&gt;    of corrupt files.&quot;<br>
&gt;<br>
&gt; And my point in this area was that unless you understand how/where the<br>
&gt; corruption is occurring, the defensive measures you might take may very<br>
&gt; well<br>
&gt; end up not being defensive at all.<br>
<br>
If you validate a CDS file, and don&#39;t load it if it is corrupt. That is a<br>
defensive measure.<br>
<br>
&gt;<br>
&gt; e.g. the idea of checksuming the output from the server...  if the data<br>
&gt; coming from the server is corrupt from the get-go, then check-summing<br>
&gt; helps<br>
&gt; you not one little bit.<br>
&gt;<br>
<br>
Agreed which is why I didn&#39;t ask about it.<br>
<br>
&gt;<br>
&gt;<br>
&gt; You initially blamed the corruption on a flaky wifi connection - highly<br>
&gt; unlikely for the reasons that I and others have explained.  You then<br>
&gt; explained that you were streaming the data, so the corruption might occur<br>
&gt; in<br>
&gt; sporadic bytes in the stream.<br>
<br>
I do not believe I did suggest the contents of the stream would be<br>
changed. What I said was that a TCP steam can be disconnected.  this was<br>
yet another wild assumption on your part. If you send a 1GB file through a<br>
stream, it is NOT as Kyley suggested an All or Nothing approach. You are<br>
taking bytes into a stream. It is up to you whether or not you discard the<br>
stream based on a disconnection or not. That decision point is out of my<br>
control as it is Midas + DBX4MySQL which manages this.<br>
<br>
&gt;<br>
&gt; But then you seemed attracted to the idea of using XML as a potential way<br>
&gt; forward, which would seem to contradict the streaming nature of the data<br>
&gt; transmission.<br>
<br>
The incorrect assumption you made at the beginnning was that the CDS file<br>
was coming from the server as a file payload. Its not. The client is<br>
connecting to MySQL DB server directly. All suggestions and<br>
misunderstandings about hashing, file downloads, etc were based on that<br>
incorrect assumption.<br>
<br>
&gt;<br>
&gt; And now you admit:<br>
&gt;<br>
&gt;    &quot;I do not know yet where this corruption occurs. DB Server, Drivers,<br>
&gt;     In Memory, Saving of the file, Server DB.&quot;<br>
<br>
I don&#39;t, and it doesn&#39;t matter. Why ? Because at a rate of 1/10000 it is a<br>
manageable issue, and with the software being decommissioned it is good<br>
business sense to investigate the server mechanics. its better to bandaid<br>
and move on.<br>
<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;   &quot;Its not true to take the standpoint that if someone asks for the<br>
&gt; solution<br>
&gt;    then they should be able to provide it e.g  If I ask for Word 2010<br>
&gt; should<br>
&gt;    I be capable of sitting down and writing the application suite?&quot;<br>
&gt;<br>
&gt; I didn&#39;t say that they *should* be able to provide it in the sense that<br>
&gt; you<br>
&gt; took it to mean - I said as to draw attention to the inherent<br>
&gt; contradiction.<br>
&gt; The only way you can confidently ask for a solution in the form of a<br>
&gt; solution specification, without explaining the problem, is if you fully<br>
&gt; understand the problem and *could* provide the solution yourself.  In<br>
&gt; which<br>
&gt; case, you would never have needed to ask someone else to provide the<br>
&gt; solution for you.<br>
<br>
Thats just rubbish.<br>
<br>
&gt;<br>
&gt; In other words, when someone asks for a solution, rather than stating a<br>
&gt; problem, the likelihood is that they are asking for the wrong solution<br>
&gt; from<br>
&gt; the very start!<br>
<br>
Statistically probably correct more often than not, but still an arrogant<br>
assumption that the person is clueless / uninformed of possible solutions.<br>
<br>
Its also arrogant to assume you know everything abou the motivation and<br>
drivers as to why the person asked the question in the first place.<br>
<br>
For example in this case, the fact that the software is being<br>
decommissioned and the fact that its rarity does not make a server<br>
solution fiscally viable.<br>
<br>
&gt;<br>
&gt;<br>
&gt; Your &quot;Word 2010&quot; example this is a quite different sort of request from<br>
&gt; what<br>
&gt; we are actually discussing (it&#39;s not a &quot;technical solution&quot; just a<br>
&gt; shopping<br>
&gt; list), never-the-less even this inappropriate parallel can be used to<br>
&gt; illustrate the same point:<br>
&gt;<br>
&gt;<br>
&gt; If you ask for Word 2010, should I just sell it to you simply because you<br>
&gt; can&#39;t write it yourself ?<br>
<br>
That logic much like the rest of your logic is flawed. I did not say that<br>
you should sell it to me because I could not program it. You should sell<br>
it to me because I asked to buy it.<br>
<br>
I am asking to buy it, because I don&#39;t want to program it.<br>
<br>
&gt;<br>
&gt; Or should I first ask what you need it for.... ?<br>
&gt;<br>
&gt; If you tell me you want it for doing bulk emails, and you heard that Word<br>
&gt; 2010 has some neat mail-merging capabilities, then I am pretty confident<br>
&gt; that I can sell you a better solution for your needs than just handing<br>
&gt; over<br>
&gt; a copy of Word 2010.<br>
<br>
Again you are incorrectly assuming that the person asking the question is<br>
a retard.<br>
<br>
&gt;<br>
&gt; I could just give you what you want, but that may not be what you need.<br>
&gt;<br>
<br>
Its not your decision to make.<br>
<br>
&gt;<br>
&gt; Incidentally, nobody &quot;gave me&quot; a blog.  I created my blog in order to<br>
&gt; share<br>
&gt; my skills and experience and - if my stats are to be believed - many, many<br>
&gt; people appreciate it.<br>
<br>
Actually I&#39;ve found your blog to be very good and useful. I feel that if<br>
you reigned in the arrogance a tad, you might get places faster.<br>
<br>
&gt; I gain some sense of satisfaction from the fact that people (well, *some*<br>
&gt; people at least) seem to appreciate my effort, but it certainly doesn&#39;t<br>
&gt; &quot;go<br>
&gt; to my head&quot;.<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; NZ Borland Developers Group - Delphi mailing list<br>
&gt; Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a><br>
&gt; Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
&gt; Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject:<br>
&gt; unsubscribe<br>
&gt;<br>
<br>
<br>
_______________________________________________<br>
NZ Borland Developers Group - Delphi mailing list<br>
Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a><br>
Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject:<br>
unsubscribe<br>
<br>
_______________________________________________<br>
NZ Borland Developers Group - Delphi mailing list<br>
Post: <a href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</a><br>
Admin: <a href="http://delphi.org.nz/mailman/listinfo/delphi" target="_blank">http://delphi.org.nz/mailman/listinfo/delphi</a><br>
Unsubscribe: send an email to <a href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</a> with Subject: unsubscribe<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Kyley Harris<br>Harris Software<br>+64-21-671-821<br>