<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/blog/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://www.replacement-software.co.uk/blog/index.php?/feeds/atom10.xml" rel="self" title="OutFox the World! Dave Crozier's Blog" type="application/atom+xml" />
    <link href="http://www.replacement-software.co.uk/blog/"                        rel="alternate"    title="OutFox the World! Dave Crozier's Blog" type="text/html" />
    <link href="http://www.replacement-software.co.uk/blog/rss.php?version=2.0"     rel="alternate"    title="OutFox the World! Dave Crozier's Blog" type="application/rss+xml" />
    <title type="html">OutFox the World! Dave Crozier's Blog</title>
    <subtitle type="html">Dave Crozier's thoughts on Visual Foxpro and other happenings</subtitle>
    <icon>http://www.replacement-software.co.uk/blog/templates/default/img/s9y_banner_small.png</icon>
    <id>http://www.replacement-software.co.uk/blog/</id>
    <updated>2007-09-10T09:21:53Z</updated>
    <generator uri="http://www.s9y.org/" version="1.0-beta3">Serendipity 1.0-beta3 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/41-FoxForward-Conclusion.html" rel="alternate" title="FoxForward - Conclusion" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-09-10T09:21:53Z</published>
        <updated>2007-09-10T09:21:53Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=41</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=41</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/8-FoxForward-2007" label="FoxForward 2007" term="FoxForward 2007" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/41-guid.html</id>
        <title type="html">FoxForward - Conclusion</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p> Well, the conference is at an and and I have thoroughly enjoyed the whole thing. Apart from the obvious social networking it was really good to put faces to the names that you have communicated with via the good old Internet for many years. </p><p>It was especially great to meet Ed Leafe in person , as it was Mike Babcock and of course Kevin Cully who's hard work and dedication has produced a new fledgling conference that I can honestly say was the best I have ever attended. Kevin's attention to detail was perfection and his &quot;hassling&quot; of the presenters has produced the most complete set of conference notes that I have ever received. As those of you who have ever been to a conference know, the notes are ideal for revisiting the subjects covered after the event and after the &quot;brain fade&quot; has subsided.</p><p>Have I learnt anything?  - You bet</p><p>Would I come back again? - Kevin,make me the top of your list for next year</p><p>Would I recommend it to anyone? - Definitely, but even if you can't make the next FoxForward then just GO to any of the conferences, you will not regret it</p><p>As for me, I'm off this afternoon for a short flight around the Atlanta area and up to the north where I have been told that it is really pretty, before my journey back tomorrow.</p><p>Once again, thanks to everyone who made the conference special. I still have sessions from Bo Durban and Tod McKenna to blog about which I will try and do later this evening. The only small criticism I do have though, is that I wasn't able to make a couple of the sessions due to the conflicting timetable, but that is life and good reason to return next year.</p><p>Thanks Kevin and regards to your family who really handled all the registration and organisation superbly. See you (hopefully) next year.</p><p /> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/39-FoxForward-2007-Sunday-Morning.html" rel="alternate" title="FoxForward  2007 Sunday Morning " />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-09-09T14:12:57Z</published>
        <updated>2007-09-09T14:12:57Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=39</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=39</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/8-FoxForward-2007" label="FoxForward 2007" term="FoxForward 2007" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/39-guid.html</id>
        <title type="html">FoxForward  2007 Sunday Morning </title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p>Pictures available <a title="Pictures" href="http://www.replacement-software.co.uk/pictures/index.php?v=list&i=0&p=FoxForward%202007">HERE</a></p><p>Up nice and early so that I wouldn't miss Dave's first session after a good night out at Taco Mac where we seemed to invade the restaurant and consume a fair bit of beer in a short time whilst consuming extremely good buffalo wings in a murderous hot sauce! As usual the breakfast was &quot;expansive&quot; and Iconsumed lots of eggs &quot;over easy&quot; with toast as I seem to have developed an American style appetite since my arrival which I am also sure has increased my weight - substantially &lt;&lt;grin&gt;&gt;.</p><p><b>Does Your Application Understand You - Dave Bernard</b><br />Dave Explained how the future emerging technology will be the ability to mine your own data using a natural method in the same way you would enquire about information from a human being. We have had SQL for many years but the area of natural query has not really improved over the years despite the huge increase in processing power.</p><br />He then introduced Microsoft's English, which is a little known technology, and how it can be used to ask questions of a dataset in good old plain English. Hence, you can ask questions such as &quot;What works were created by Van Gogh?&quot; and this request is then parsed into a form of SQL which can be used to makea request on external data? Ever wanted the ability for clients to make general SQL requests on your data at any time WITHOUT being computer literate? In this case NQL (Natural Query Language) may help.<br /><br />Dave explained how he had first become involved in NQL in a proof of concept application to allow art lovers to browse around a museum and make verbal request for informatio about the artworks through a location aware PDA onto a central database and then recover the resultant information in pictorial or data form or even spoken form for relay back to the user. In his naivety and just like a good developer, Dave said &quot;no problem&quot; and started work bolting all the modules together using Microsoft Speech Server via a browser interface. The concept made use of SOAP services to transmit the small packets of speechfrom the PDA onto the Speech recognition server as the spoken word is produced. The model then converts this request via indirection into a fully fledged SQL Re<br /><br /><br />The English Query Engine is a Com Object and you can instantiate this and call a request in VFP no problem in about 8 lines of code which was very impressive - and it is bundled with SQL Server in MSDN, so you have a license if you have an MSDN Subscription.<br /><br />Next Dave set about detailing how the symantec of speech relates to data tables. There is obviosly a lot of mapping to  be done in order to plug in your own english buzwords and relate them to atual data, but this is a one off hit and if done correctly allows seemingly magical spoken requests to be made on the data. Very sophisticated and interestign stuff, even if you need to make allowances for heavily regional phrases - eeh bye gum!<br /><br />Once a data dictionary has been created you compile it into an EQD file and that is your bespoke Query application finished.<br /><br />Make a database of previously asked questions and how many times they have been requested and your VFP applications suddenly take on a magical quality with speech recognition, natural data selection and spoken response.<br /><br /><p><b>GDIPlusX Library: Over the Top - Bo Durban</b><br />Bo basically introduced the GDIPusX library on Codeplex and the amazing effects that can be generated using standard 100% VFP code in your applications. If you haven't already examined the great code in this project I'd recommend it 100%.</p><p>I won't go into the demonstrations Bo introduced as the are all available for download. However on really really neat trick that Bo introduced was as follows:<br />If you ever use Windows API or DLL calls in you will always have wondered where to define the DLL. Bo suggested that the best way - and a very neat trick - was to define a VFP function with the same name as the API. and within this Function define the actual API call itself. What is the trick? Well the firsttime you call the DLL function, VFP will find the Function in your .prg file which will in turn define the API as normal.However, the next time the DLL function is called, VFP will call the actual WIndows Function and ifnore the .PRG definition. Really neat and simple, but effective.. Should any other program issue a Clear DLL, then it doesn'tmatter as the same procedure detailed above will repeat itself. The conference fee was worth it just ofr this trick as I really like shortcuts like this.</p><p /><p><b></b></p>  
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/38-FoxForward-2007-Saturday-Afternoon.html" rel="alternate" title="FoxForward 2007 Saturday Afternoon" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-09-09T13:36:54Z</published>
        <updated>2007-09-09T14:12:36Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=38</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=38</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/8-FoxForward-2007" label="FoxForward 2007" term="FoxForward 2007" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/38-guid.html</id>
        <title type="html">FoxForward 2007 Saturday Afternoon</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
Pictures can be found <a href="http://www.replacement-software.co.uk/pictures/index.php?v=list&i=0&p=FoxForward%202007">HERE</a><p><a href="http://www.replacement-software.co.uk/pictures/index.php?v=list&i=0&p=FoxForward%202007" title="FoxForward 2007"></a> <b><p><b></b></p><p>Developing Desktop Applications with Dabo - Ed Leafe</p></b><br />Ed enthusiastically set of introducing his pet baby Dabo to a full attentive audience. Many of the attendees were non conversat with Python (said the English way!) but Ed said this wouldn't matter. He started off detailing the strengths of Python and how his VFP background had lead to the development of Dabo as a potential desktop replacement for VFP. Dabo is not a VFP clone in a different language but is a collection of the best bits and concepts in VFP, but running on a manufacturer independent language wrapper.<br /><br />Dabo encapsulates the WxPython set of widgets which, if you have ever used them seem to have a mnd of their own in that they are very inconsistent in the way the methods and properties have been put together. Ed and Paul McNett has taken all this inconsistency and wrapped it with a standard interface and property set for every control - in a similar way to VFP.<br /><br />Ed then generated a simple Dabo application on the Mac via the Dabo wizard to enquire upon a client database held on his home server many miles away and then ran exactly the same code on his Virtual XP machine unchanged. Unfortunately the internet connection was not working correctly (or was it Windows!) and he went on to show the visual class designer - all written in Dabo. This showed that slowly but surely Dabo is maturing to include all the visual tools that VFP developers are used to. Although a work in progress, take a look at Dabo (www.dbodev.com) as it may well give you a path to a manufacturer independent cross platform product. Ed is always willing to help out with any Dabo problems and the usergroup, although small is very active.<br /><br />Once the Internet connection came back the previously dormant demo came back to life - showing the resiliance built into Dabo and generating a sigh of relief from Ed.<br /><br />Definitely one to keep in your Browser Favourites and check on as the project is beginning to gather momentum at a great rate of knots.</p><p>Personally, I think that Ed should have gone straight into the Form Generation wizard at the start of his session, as it really does show that Dabo is maturing as the visual tools are generated and you can see real code generated from Dabo which bears a very similar resemblance to VFP! Not bad for the work of two dedicated guys in a short time.Oh, yes Ed failed the &quot;Pie-Thon&quot; test and collected 8 yellow cards which should generate a hefty forfeit - as yet to be decided by the judges who's decision is final - and I am the judge!</p><p><br /><b><br /><br />N-Tier Development in VFP - Michael Babcock</b><br />Michael explained the difference between 1 tier, 2-tier, n-Tier, Logical n-Tier and Pyhsical n-tier applications. He made the Analogy of Wiring systems in a home where each tier does what it is supposed to do and not someone elses job.</p><p> Change the wiring behnd the wall switch at your own peril!!!</p>He then went on to explain that the Isolation of logical parts UI (User Interface), DO (Data Object) etc makes maintenance considerably easier and swapping out the database back end should only mean changes in one layer, i.e. the DA (Data Access)<br /><br />Follwing this, he then moved to explain the Chain of Responsibility Pattern and its importance in the n-tier design. Understand this pattern better as a code implementation of &quot;Pass the buck&quot; within the following schema:<br /><br />UI(Get Customer) &lt;-&gt; BO (Not interested...pass it on) &lt;-&gt; DO (Go Get the data)<br /><p>Finally, before running through lots of code examples the audience were reminded the importance of allways progamming to interface not implementation. Having ignored this rule to my peril until about 10 years ago when I finally discovered that this simple rule saved me hours and hours of grief when system updates were required, I can say quite categorically that if you obey no other rule, then please take this one to heart.</p><p>A very interesting session by Mike who aimed it at a &quot;first time see&quot; audience but still gave food for thought to those of us who already use C/S and n-Tier technology.</p><p><b></b></p><p><b><br />Map Your Data using Mappoint - Stephen Bodnar</b><br />Stephen is the President and Founder of Geeks and Gurus and primarily works with VFP and SQL Server. I must admit to never having heard of Steve before even though I know about is company. MapPoint as you should know, allows you to create maps, find places, plot routes etc etc. Stephen showed the features within Mappoint which allow you to plot all the places within say 30 minutes drive time of home location along with showing all the restaurants within 10 minutes drive time.</p><p>Next, he showed the feature of mapping data from a VFP table of datapoints. Stephen must be the only person I know who has upgraded his notepad ...to a desktop, much to the amusement of the audience.<br /><br />The licensing conditions for Mappoint are that a copy of of the software needs to be purchased per desktop which is a little unfortunate even though only the ActiveX is used, not the full application in a wrapped system, but site licensing is available. For developers there is a free license available. </p><p>Mappoint uses a .UDL file format (Microsoft Data Link) to connect to VFP data. This is created as a text document with the extension .UDL. Click on the new UDL file and you will get a nice interfact to add in the data connection information in a similar way to the OCBC Connection designer. Point to a VFP data source and once the data is mapped between VFP and Mappoint then you can import data into Mappoint or Link it which allows a real time display of datapoints. The data source interprets VFP data by way of its mapping.<br /><br />In order to explore the Object map of Mappoint you are best using the VFP Object Browser. Stephen showed how to drag the constants from the Object Browser into an include file and showed up one error I didn't know about where the Hour/Minute variables are imported as Integers not reals. Thankfully, a fix for this can be found on Rick Strah's site which will get the constants in the correct format. Good old Rick saves the day again.<br /><br />Next, Stephen showed a few demonstrations using VFP .prg files with MapPoint and traced through the programs in real time showing the MapPoint Object running interactively. One interesting feature ws using the optimise route feature where a shortest rout linking &quot;n&quot; points was shown. An instant answer to the &quot;Travelling Salesman&quot; problem which I wrote at University for my thesis many years ago!<br /><br />Next, we saw adding straight lines between points (eg Airline Flights), followed by a small demo lassoo'ing data points within the shape area which showed how data can be captured within a user defined area within MapPoint with subsequent exporting to VFP. The use? Well how about being able to extract all the pub addresses within 10 minutes walk from a home location into VFP, you will never go thirsty again!<br /><br />Finally, to link it all together Stephen showed a demonstration of loading a theoretical set of jobs/locations for a ficticious transport company into Mappoint with a time for each job in a service environment. Mappoint then calculated a jobsheet identifying the jobs for a crew to use during the day with the total job elapsed time and total distance travelled.<br /><br />Altogether, a very interesting session, albeit that I have done similar demonstrations using the online MapPoint (yet to be blogged about) as well as Google Earth (see my VFP section). Even so it does show how VFP can use external applications to enhance its UI and create added functionality to many applications.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/37-FoxForward-2007-Saturday-Morning-Session.html" rel="alternate" title="FoxForward  2007 Saturday Morning Session" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-09-08T18:31:19Z</published>
        <updated>2007-09-09T14:52:57Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=37</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/8-FoxForward-2007" label="FoxForward 2007" term="FoxForward 2007" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/37-guid.html</id>
        <title type="html">FoxForward  2007 Saturday Morning Session</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<b><p><b>Pictures can be found <a href="http://www.replacement-software.co.uk/pictures/index.php?v=list&i=0&p=FoxForward%202007">HERE</a></b></p><p>Test Driven Development - Alan Stevens</p></b><p>Having mistakenly thought that the session started at 9:00am as opposed to 8:00am we skipped breakfast and hurriedly entered the session a little late but non the less looking forward to an interesting talk on something that I have been meaning to investigate further for a long long time - Test Driven Development. (TDD)<br /> </p><p>Alan admitted that he is not as &quot;consistent&quot; at using all the TDD features, good man as he is obviously human! His recommendation is Pay Cash - Pay up now and swallow the bitter testing pill at day 1 rather than an even BIGGER pill later on. The resultant costs are flat and not exponential (as is convoluted retrospective bug fixing)- HOWEVER, this is not the natural way that we (and Alan) goes normally. We want to satisfy customers and deadlines. The suggestion made -&gt; Forget Deadlines and Customer Requirements, concentrate on getting the code correct.<br /> </p><p>This normally hits you very hard in terms of good design, in that time perfecting the design is not insubstantial. Once this basic design has been done, then and only then, can you test out your classes easily using something called dependency Injection where we always pass in what is required to test the class. Take the attitude a little pain now will mean less pain later.</p>Alan admitted to becomming more conservative as he gets older and now likes to say in development meetings &quot;hold on, lets not put this change in quite now&quot; which he never thought he would ever be saying. Maybe wisdom comes from years of development and more relevant, years of fixing bugs that could have been avoided easily in the initial stages of development.<br /><br />Next a small testing session was started with Foxunit and the rudimentart way to use it was shown. The secret to getting the best out of Foxunit is to test using very granular and simple test. Never think &quot;I don't need to test for that&quot; as it will eventually catch you out, if not the next person to change the code. Never think that this test is beneath you. It may well be, but reviewing the code after 9 months when changes are required will involve a re-learning of the system as it won't be obvious any more.<p>Alan then set up a simple ToDo list class object, showing how to add tests and what type of tests to use. All simple stuff but requiring  lots of structure and perseverence....but this will pay dividends in the future, honest.</p><p>I for one, have looked at TDD a number of times and wondered whether it was really for me. Alan confirmed that it wasn't for everyone ...or every application. His recommendation -&gt; Try it out out for 30 days, you have nothing to lose but a lot to gain. I think I'll take up his offer and report back on the results in a future blog.</p><p /><p><b></b></p><p /><p><b>Foxtrails - Brian Marquis</b><br />Ever thought about getting into Web Apps but couldn't decipher the frameworks produced by other people? Well in that case Foxtrails may well be for you. Brian said that he had been impressed with the simple structure of Ruby on Rails as well as by the design philosophies of YAG in his development of the Codebook. Add a requirement for a commercial web application and Foxtrails was born.</p><p>Using a minimal number of Com DLL's i.e only one, that need to be compiled, generating web apps becomes relatively simple using Foxtrails as all the procedures/methods in the application are simply held in .prg files which are placed in sub folders off the main application folder. The result is no recompilation of the application as the .prg files are recompiled by Foxtrails at runtime. minimal dowtime, no restarting the web app and as near to &quot;live design&quot; as you can get - all in VFP.</p><p>Foxtrails has an architecture based on MVC methodology and a folder structure loosly in the form of Ruby on Rails. The obvious name VFP on rails has not been used to maintain friendly relationships with other &quot;more interested&quot; parties as well as potential legal action shall we say.</p>The advantages of Foxtrails are <br />1. Ease of understanding<br />2. Minimal recompilation when changing <br />3. Simple naming conventions<br /><br />A VFP Com object drives the .prg files so we don't need to down the server on a regular basis, simply recompile the prg and place the fxp in the relevant folder. Job done:<br /><br />Obvious and easy - yes but most of the good ideas are.<br /><br />I have a particular wish to further Brian's efforts as I feel that the simplicity of the design allows a web application to be simply and quickly developed. Having spoken to Brian, he wants to add in the ability to connect seemlessly to multiple back end data and having done some work using Andy Kramek's Data classes I think that mating the two systems together would be a huge step forwards. Hopefully I will be able to dedicate some time to this in the next couple of months.<br /><p>So, If you are looking at any type of web development or even thinking of your first VFP web application, I encourage you to take a look at Foxtrails and give Brian a hand in the development of the project - even if is os only via a message of support.</p><p><b></b></p><p><b><br />Using the Cursor Adapter and Session Class in a B/O Framework - David Stevenson</b><br />I found an instant affinity with David due to the fact that his beard is nearly as grey as mine - but he does have slightly more hair! &lt;BG&gt;</p><p>His session was all about his framework and the wrapper class he is developing for encapsulating Session class as a Business Object. I could instantly relate to the methodology that David has used in this project as I face similat problems at Flexipol, i.e I have objects, the bags that we manufacture, each of which has many many attributes (width, depth, height, gussets etc etc) which have grown and grown to the stage that 254 attributes (Fields) are not sufficient. The obvious solution is to add in an associate table with another set of 254 fields (properties) etc etc. This solution is not ideal however as it is messy as the number of associate tables increases. </p><p>David's solution is to encapsulate the record data from multiple fields into a collection object so it becomes simply one object to deal with in the BO as opposed to discrete table entries. &quot;Centralisation Rules&quot; is the phrase in this case and makes dealing with complicated objects (bill of materials comes to mind) much easier.</p><p>Our brief discussion after the session did reveal that we have indeed encountered similar problems. David's work is a work in progress at present and I will certainly use the ideas he presented in the future. At least I know why we both share the grey beard. It is dealing with changing specifications which in my case has resulted in a &quot;plastic gag&quot; object which initially had 20 properties, now having in excess of 2000 properties.</p><p>Keep posted with David's website to track the development of the really cool code in his classes.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/35-FoxForward-2007-Friday-Evening.html" rel="alternate" title="FoxForward  2007 Friday Evening" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-09-08T17:54:15Z</published>
        <updated>2007-09-09T14:52:32Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=35</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=35</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/8-FoxForward-2007" label="FoxForward 2007" term="FoxForward 2007" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/35-guid.html</id>
        <title type="html">FoxForward  2007 Friday Evening</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<b><p><b>Pictures can be found <a href="http://www.replacement-software.co.uk/pictures/index.php?v=list&i=0&p=FoxForward%202007">HERE</a></b></p><p>Instrumenting your VFP Application - Dave Bernard</p></b><br />I went into this session not knowing anything about why and how of the expression &quot;Instrumenting&quot;. Was this just a way of adding music into your applications perhaps? Well I was soon put at ease by Dave Bernard's smooth style as he described instrumentation as being the method of recording events within any application in such a way that errors or potential errors as well as bottlenecks (percieved and actual) could be looked at using metrics produced by the Instrumentation methodolgy.<br /><br /><p>Dave had a surprise video conference guest in the form of Bill Gates (Who is he???) demonstrating just how Windows is ....well prone to errors shallwe say!! (See Pictures if you don't believe me). Nice one Dave.</p><p>For those of you well acquainted with the VFP debugger Instrumentation, is in a way an equivalent of the VFP event log but with much more sophistication. Dave showed us one of his web apps where every single data change is logged out to an audit file in such a way that really useful statistics can be gained on potential bottlenecks in system performance and operator performance. </p><p>How many times have wee all been faced with the customer stating &quot;<i>The program is too slow</i>&quot;, &quot;<i>The system is losing info</i>&quot; or <i>&quot;But it works on my machine</i>&quot;.<br />
How you deal with those errors without sufficient information as to the actual error? Was it an operator fault or system fault? Was it due to outside influences beyond our control? These are important questions that can only be answered by having as much information about the error or its occurrence as possible. Could you identify what caused an application error 3 months after the event? Dave cerainly could.</p><p>In addition to actual error solving, this whole methodology allows you to keep in front of the customer, even letting them know when they have had errors before they are reported. Obviously, huge brownie points can be gained with this approach. </p><p>Dave stressedthe main things he uses Instrumentation for.</p>1. Optimise the slow bits of the application<br />2. Reduce the load on the servers<br />3. Optimise bandwidth<br />4. Generate real time alerts<br />5. Refactor before a bit of code becomes critical<br />6. Improve curtomer experiences.<br /><br /><p>I'm sure you will agree that these are all aims which we try, but not necessarily achieve, but most of all CYA - or <b>Cover Your Arse!</b></p><p>Although Dave showed very little code, what of it he did show, was simple in nature but provided logging details for all data changes in an application. This has grown into a very sophisticated system in terms of the data analysis but those of us who haven't explored this concept can start small and grow it according to our needs.</p><p>All I can say is that I shall certainly look at Dave's methodology with a view to adding &quot;aggravation protection&quot; to my applications from now on.</p><p>An Excellent Session.<b></b></p><p><b></b></p><p /><p /><p><b>Web Connection Revisted - Stein Goering</b><br />Just how do you cam in many years of Rick Strahl's life into a 75 minute session? Stein had the unenviable task of introducing the new, better Web connection features and to some it was the first time that they had even seen the product.<br /><br />Stein described a very quick review of the Web Connection product and its major characteristics. He then showed many of the improvements that Rick has made to the Web Connect Controls and how they now interact with the user i.e drop down combo boxes and buttons etc.<br /><br />He covered the improved Grid component and its added features and also showed us a little of the underlying code and how easy it is to change the display properties and added features such as the page index (Page &quot;1&quot;, &quot;2&quot; ...etc.) for the new grid.<br /><br />Lots of information to get through here and a small glitch in Stein's software setup meant that the session was a little rushed but nontheless it was an enjoyable intro into the capability of this awesome product. All I need to do now is find a real killer application to put it to use with!</p><p>Now off for a well earnt drink and a good meal</p><br />
 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/34-FoxForward-2007-Friday-Introduction.html" rel="alternate" title="FoxForward 2007 Friday Introduction" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-09-08T15:19:01Z</published>
        <updated>2007-09-09T14:55:04Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=34</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=34</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/8-FoxForward-2007" label="FoxForward 2007" term="FoxForward 2007" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/34-guid.html</id>
        <title type="html">FoxForward 2007 Friday Introduction</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<b><p><b>Pictures can be found <a href="http://www.replacement-software.co.uk/pictures/index.php?v=list&i=0&p=FoxForward%202007">HERE</a></b></p><p>Introduction</p></b><br />Well the big event is here at last. I'm in Sunny Alpharetta Georgia and finally putting a face to all the names of guys in the various VFP <b>lurking places</b>. <br /><br /><p><a href="http://www.replacement-software.co.uk/pictures/index.php?v=list&i=0&p=FoxForward%202007" title="FoxForward 2007"></a>After my arrival on Thursday Evening, I finally managed to track down Kevin Cully the orgaiser of the conference who had tentatively aranged to meet any early attendees in the reception area of the hotel where the conference is held - and what a nice hotel it is. Unfortunatly my flight was delayed and I didn't arrive until Kevin had left the lobby area after a &quot;no show&quot; by anyone but fortunately caught him on the phone after he had purchased a Chinese take out meal. We ended up going back to the restaurant with Kevin's take out and making it a take in much to the confusion of the staff and then to top it all he couldn't eat it all and the take in became a take out once again.</p><p>Ed Leafe Arrived the next day and obviously had a problem with his developing Alzheimers <img src="http://www.replacement-software.co.uk/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /> in that he had forgotten to book a room, so I offered to pitch in and help as I had a twin booked anyway, so he will be staying over 'til Sunday.</p><b><br />Conference Opening</b><br />Typical of the way this conference is to progress the opening by Kevin was low key, basically asking everyone to just socialise and make use of the networking aspect of the conference as much as the technical content. I must admit that the chili cheese provided as pre conferenc nibbles woke me up with its kick - good thinking Kevin.<br /><br />In a Inter Continental argument betweek Ed, myself we decided that Red and Yellow cards (in the soccer sense) would be handed out during the conference for anyone using the American pronunciation of Pythin i.e &quot;Pie Thon&quot; as opposed to the correct English where the &quot;Y in Python is not emphasised.<br /><br />Within the next five minutes we had 3 Yellow cards and a possible Red card issued. Once a forfeit has been decided on, this should be real fun!<br /><b><br />Evening Social</b><br />After the sessions we migrated over to the bar accross the road after being marshalled under the auspice of being Kevin (The teacher)'s. We almost, but not quite, all held hands whilst we crossed the road just like in primary school.<br /><br />Ed and myself tried vehemently tried to get everyone to drink the Guinness - but at room temperature as opposed to freezing cold! Why, why is it only in the UK where beer is server at the correct &quot;room temperature&quot; which in terms of destroying your taste buds also can inflict frostbite on your innards?<br /><br />Well we all put the word to rights and quaffed lots of alchohol but then Then the bombshell -  a deep dark kept secret admiission from Ed that he likes &quot;<i><u>Echo and the Bunnymen</u></i>&quot; - WHAT??? All my respect and admiration of him is suddenly put on hold - is this the end of our world as we know it!<br /><br />Also we watched proper football (soccer) on the television and triedtoexplaint the finer points of the offside rule to the  audience who are used to &quot;pointy ball&quot;. This was followed by highlights of the Rugby World Cup and I just gave up trying to explain ANYTHING about the game - apart from agreeing that the players a real &quot;hard Men&quot; who you wouldn't like to cross on a dark night.<br /><br />After leaving the Leaping Leprechaun (I think that was what it was called), we adjourned back to the hotel reception and proceeded to partake of a nice single malt which I brought over from the UK and finally departed after a thoroughly enjoyable day.<br /><br />After a coule of drinks and a &quot;put the world to rights&quot; with Bo Durban, Kevin Ragsdale and Ed we finally retired looking forward to the next day - I hope Ed doesn't snore.....I do so I also hope he has some ear plugs!<br /><br /><br /><br />
 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/33-Time-for-some-Blogging.html" rel="alternate" title="Time for some Blogging" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-08-20T10:04:29Z</published>
        <updated>2007-08-20T10:21:37Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=33</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=33</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/1-Visual-Foxpro" label="Visual Foxpro" term="Visual Foxpro" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/33-guid.html</id>
        <title type="html">Time for some Blogging</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p>    For the last few months I've been really busy here at work involved in upgrading the basic VFP system and getting rid of all that programming you did some 12 years ago that worked - but not in the way you would write it now. So, I've been refactoring lots and lots of code and come up with loads and loads of hints/tips etc. which I aim to publish over the next few weeks.</p><p>In addition I'm really looking forward to going to FoxForward in September and meeting with the other VFP developers &quot;over the pond&quot;. According to Kevin Cully I'm the only Brit going so if they have a prize for the &quot;visitor from the most distance away&quot; I hope to win it!.</p><p>Anyhow, stand by for a few snippits of VFP Code to and for a starter:</p><p>Loading VFP Cursors into Excel is a real pain and Jaime Vasquezl on the Profox group came up with a neat method to load using an ADODB connection. You still have the 64K record count restriction but memo fields do get translated which is a big plus:</p><p /><p>******<br /><strong> Start of Code<br />*<br /></strong> Create ado connection and recordset object <br />*<br />loConn = NewObject('ADODB.Connection') <br />loRs = NewObject('adodb.recordset')</p><p>cPath=&quot;C:\dev\flexipol\flexispec\data\&quot;<br />cConnection_String = &quot;Provider=vfpoledb.1;Data Source=&quot;+cPath<br />cConnection_String =cConnection_String +&quot;;Collating Sequence=general;&quot;<br />*<br />loconn.ConnectionString=cConnection_String</p><p>cSQL=&quot;select all Id from works.dbf where primary_key&gt;14365&quot;</p><p>loconn.Open<br />lors.Open(cSQL, LoConn)<br /><br /><br />*Excel object:<br />loExcel = NewObject(&quot;Excel.application&quot;) <br />loWorkBook = loexcel.Workbooks.Add <br />loWorkSheet = loexcel.ActiveWorkbook.Worksheets.Add<br />loExcel.visible = .T.    <br />loworksheet.range(&quot;A1&quot;).CopyFromRecordset(lors)    &amp;&amp; copy data to excel<br />*<br />* End of Code<br />***********</p><p>There it is - your data in the seheet of a new workbook and no import/export required. OK, you can use _Screen.DataToClip but I like the above method better as it doesn't involve the volatile clipboard.</p><p>More goodies to follow soon.</p><p><br />
</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/32-Flying-again.html" rel="alternate" title="Flying again" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-08-20T08:55:53Z</published>
        <updated>2007-08-20T09:16:37Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=32</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=32</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/4-Flying" label="Flying" term="Flying" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/32-guid.html</id>
        <title type="html">Flying again</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p>After many months of being without a n aircraft at my disposal I've invested in a Designworks CT. The aircraft is just tremendous and flies at 130knots with a fuel burn of just 10 litres per hour as opposed to 38 litres per hour and only 100knots in the PA28. Now I can do more an more flying without each trip costing the best part of £100. OK it's only a two seater but what the hell - it's like driving a thoroughbred racehorse after having been on a donkey!</p><p>The othe good news is that I'm taking my Flying Instructors course on Oct 22nd and 3 weeks after that I'll be able to teach, which has been an ambition for a number of years.</p><p align="baseline">Take a look at the new member of the family below - Beautiful</p><p align="baseline"><a class="serendipity_image_link" href="http://www.replacement-software.co.uk/blog/uploads/G-CENEAtRest.JPG"><img width="267" height="200" style="border: 0px none ; float: left; padding-left: 5px; padding-right: 5px;" src="http://www.replacement-software.co.uk/blog/uploads/G-CENEAtRest.JPG" /></a></p><p /><p /> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/31-A-little-light-hearted-humour.html" rel="alternate" title="A little light hearted humour" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-01-10T17:22:03Z</published>
        <updated>2007-01-10T17:37:11Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=31</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=31</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/3-General" label="General" term="General" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/31-guid.html</id>
        <title type="html">A little light hearted humour</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>At the office, Celia's husband keeps telling her that she moves with the speed of a sloth. So, given the challenge I mashed up a small video of WHY!. Sorry Celia, but I couldn't resist!</p><p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/ONSkq4LlPBc"></param><embed src="http://www.youtube.com/v/ONSkq4LlPBc" type="application/x-shockwave-flash" width="600" height="350"></embed></object> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/30-unknown.html" rel="alternate" title="" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-12-08T23:14:55Z</published>
        <updated>2006-12-08T23:14:55Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=30</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/4-Flying" label="Flying" term="Flying" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/30-guid.html</id>
        <title type="html"></title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Unfortunately I've now sold my share in G-ASHX, so no more flying for a while until I can decide what to get a share in instead. Boo Hoo!!! 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/29-VFP-integration-with-Microsoft-Virtual-Earth.html" rel="alternate" title="VFP integration with Microsoft Virtual Earth" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-10-23T14:01:43Z</published>
        <updated>2006-10-27T22:09:06Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=29</wfw:comment>
    
        <slash:comments>4294967291</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=29</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/1-Visual-Foxpro" label="Visual Foxpro" term="Visual Foxpro" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/29-guid.html</id>
        <title type="html">VFP integration with Microsoft Virtual Earth</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Having not had much to do over the weekend I thought I'd take a look at the Microsoft equivalent to Google Earth and try and get it working with Visual Foxpro. The results can be downloaded at the link after the pictures:</p><p /><p /><p /><p /><div class="serendipity_imageComment_left" style="WIDTH: 500px"><div class="serendipity_imageComment_img"><img height="385" src="http://www.replacement-software.co.uk/blog/uploads/VFP_Virtual_Earth_Demo_2.jpg" width="500" /></div><div class="serendipity_imageComment_txt">Real Map View</div></div><div class="serendipity_imageComment_left" style="WIDTH: 500px"><div class="serendipity_imageComment_img"><img height="385" src="http://www.replacement-software.co.uk/blog/uploads/VFP_Virtual_Earth_Demo.jpg" width="500" /></div><div class="serendipity_imageComment_txt">Road Map View</div></div><p> </p><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p /><p><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></p> <br /><a href="http://www.replacement-software.co.uk/blog/index.php?/archives/29-VFP-integration-with-Microsoft-Virtual-Earth.html#extended">Continue reading "VFP integration with Microsoft Virtual Earth"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/28-Visual-Foxpro-VFP-Soundex-Replacement.html" rel="alternate" title="Visual Foxpro (VFP) Soundex Replacement" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-10-11T06:32:31Z</published>
        <updated>2006-10-12T20:02:43Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=28</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=28</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/1-Visual-Foxpro" label="Visual Foxpro" term="Visual Foxpro" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/28-guid.html</id>
        <title type="html">Visual Foxpro (VFP) Soundex Replacement</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Yesterday on <a title="Signup for Profox" href="http://leafe.com/lists">Profox</a> (sign up if you don't subscribe to the Profox List please) Ken Kixmoller (sorry if I spelt your name wrongly Ken but I'm working on memory) asked about a replacement for the VFP Soundex() function. The native Soundex() function in VFP is pretty well useless in that it will not disseminate (is that spelt correctly?) between words that are quite obviously similar and that is why it is probably not used by developers very often.</p><p>I discovered a replacement for this some years ago which I modified as it didn't work correctly in its native form. Revisiting the source code I discovered that the prolific <a href="http://www.sweetpotatosoftware.com/SPSBlog/default.aspx">Craig Boyd</a> had a hand in the conversion of the software from VB into Visual Foxpro. Here is a link to a download for the <a title="Soundex Download" href="http://www.replacement-software.co.uk/vfp/Soundex.zip">Soundex() source code replacement</a> and associated demonstration. </p><p><font style="BACKGROUND-COLOR: #faffff">I hope it is of use to some of you out there.</font></p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/27-Spyware-Damned-Spyware!.html" rel="alternate" title="Spyware Damned Spyware!" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-10-11T06:10:33Z</published>
        <updated>2006-10-11T06:32:03Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=27</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/3-General" label="General" term="General" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/27-guid.html</id>
        <title type="html">Spyware Damned Spyware!</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Earlier this week one of my client's network systems became infected with a particularly virulent form of adware which included the Zango infection. How, I don't know but all the usual solutions such as <a title="Adaware SE Download" href="http://www.download.com/Ad-Aware-SE-Personal-Edition/3000-8022_4-10399602.html?tag=lst-0-1">Adaware SE</a> and <a title="Spybot Download" href="http://www.download.com/Spybot-Search-Destroy/3000-8022_4-10401314.html?tag=lst-0-1">Spybot</a> refused to remove the infection. By trolling around the Net I discovered  <a title="Spitrem Download" href="http://www.help2go.com/Tutorials/Spyware_Information/Remove_SpyAxe_with_smitRem.exe_(formerly_SpyAxeFix.exe).html#cooliris">SpitRem</a> (formerly SpyaxeFix) which finally removed the offending adware. In additio there is a useful article on using Spitrem as well as <a href="http://forums.mcafeehelp.com/viewtopic.php?t=75889">RogueScanFix.exe (another cleaner)</a> This could be a useful addition to your armoury against the dreaded spyware. I certainly saved me a load of time. </p><p>If these infections are done to increase revenue then it is a mystery to me as all I can see them doing is to alienate the user from the very products that they are supposed to promote. A plague of locusts on all those who write adware!</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/26-Craig-Boyd-Strikes-again-with-Compression-Library.html" rel="alternate" title="Craig Boyd Strikes again with Compression Library" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-10-02T08:25:02Z</published>
        <updated>2006-10-02T08:25:02Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=26</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=26</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/1-Visual-Foxpro" label="Visual Foxpro" term="Visual Foxpro" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/26-guid.html</id>
        <title type="html">Craig Boyd Strikes again with Compression Library</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Well Craig Boyd that unstoppable steam train of a VFP developer has been at it again and released a full <a title="Compression Library Link" href="http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,9d77301c-460e-44ec-abd5-855d06829b31.aspx">Compression Library</a> to manipulate ZIP files directly from VFP using a native VFP .FLL file. Well done Craig and I'll certainly be looking at that over the next few days.  
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.replacement-software.co.uk/blog/index.php?/archives/25-Useful-Utilities-and-VFP-with-MSComm32.ocx.html" rel="alternate" title="Useful Utilities and VFP with MSComm32.ocx" />
        <author>
            <name>Administrator</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-09-26T08:04:26Z</published>
        <updated>2006-09-26T08:23:14Z</updated>
        <wfw:comment>http://www.replacement-software.co.uk/blog/wfwcomment.php?cid=25</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.replacement-software.co.uk/blog/rss.php?version=atom1.0&amp;type=comments&amp;cid=25</wfw:commentRss>
    
            <category scheme="http://www.replacement-software.co.uk/blog/index.php?/categories/3-General" label="General" term="General" />
    
        <id>http://www.replacement-software.co.uk/blog/index.php?/archives/25-guid.html</id>
        <title type="html">Useful Utilities and VFP with MSComm32.ocx</title>
        <content type="xhtml" xml:base="http://www.replacement-software.co.uk/blog/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Whilst browsing around I came across three really useful utilities that I think should have been added to windows from day one. The first one is <a title="Sourceforge Link" href="http://virt-dimension.sourceforge.net/">Virtual Dimension</a> which allows you to have a varying number of virtual desktops on your machine just like in linux. The second one <a title="WinRoll Website" href="http://www.palma.com.au/winroll/">Winroll</a> allows you to scroll up any window on the desktop so that you only see the Titlebar, hence freeing up screen space by simply right clicking on the titlebar. Written in pure assembler (I remember that) it uses up just 288K of memory. Finally, take a look at <a title="FolderGuide Download" href="http://www.freeware365.com/desktop/folderguide.htm">FolderGuide</a> which giver you fast access to your favourite folders as part of the contest menu in Windows Explorer. All these utilities help to make the drugery of using limited desktop space productive even if you've got 2 x 19&quot; monitors as I have at work!</p><p>Now back to some real work. Over the next week, I'll be posting some information next on using the Serial Comms activex component MSComm32.ocx within a VFP application for those of you who want to get into serial communications without the learning curve.</p> 
            </div>
        </content>
        
    </entry>

</feed>