<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7634471</id><updated>2010-04-20T04:34:08.108-04:00</updated><title type='text'>Andrew Ross MacNeill - Articles &amp; White Papers</title><subtitle type='html'>A collection of all my FoxPro and other developer-related writings from Conferences, published white papers and other sources. Enjoy</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/default.htm'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='rss.xml'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7634471.post-8214058188515295640</id><published>2010-04-20T04:34:00.001-04:00</published><updated>2010-04-20T04:34:08.168-04:00</updated><title type='text'>This blog has moved</title><content type='html'>&lt;br /&gt;       This blog is now located at http://whitepapers.aksel.com/.&lt;br /&gt;       You will be automatically redirected in 30 seconds, or you may click &lt;a href='http://whitepapers.aksel.com/'&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;       For feed subscribers, please update your feed subscriptions to&lt;br /&gt;       http://whitepapers.aksel.com/feeds/posts/default.&lt;br /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-8214058188515295640?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/8214058188515295640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=8214058188515295640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/8214058188515295640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/8214058188515295640'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2010/04/this-blog-has-moved.htm' title='This blog has moved'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-478203631502240226</id><published>2009-06-01T10:44:00.002-04:00</published><updated>2009-06-01T10:58:20.562-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stored procedures'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='T-SQL'/><title type='text'>Refactoring T-SQL</title><content type='html'>While much has been said about the benefits of refactoring application code (see &lt;a href="http://vfpx.codeplex.com/Wiki/View.aspx?title=Code%20Analyst"&gt;VFPX Code Analyst&lt;/a&gt;), I typically haven't seen a lot of noise about refactoring T-SQL and stored procedure code. &lt;br /&gt;&lt;br /&gt;The refactoring features found in SQL Manager tend to be more about refactoring your database design but not about the actual content of the SPs.&lt;br /&gt;&lt;br /&gt;It's important to note that if you tend to rely on large stored procedures, then many of the same rules of refactoring apply:&lt;br /&gt;&lt;br /&gt;1. Keep it short and sweet.&lt;br /&gt;2. Make it readable.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So when dealing with a particularly unruly stored proc (over 1000 lines), I was quite happy to find Red Gate's &lt;a href="http://www.red-gate.com/products/SQL_Refactor/index.htm"&gt;SQL Refactor&lt;/a&gt; (here's a &lt;a href="http://www.simple-talk.com/sql/sql-tools/faster-database-development-with-sql-refactor/"&gt;post &lt;/a&gt;from the lead developer).&lt;br /&gt;&lt;br /&gt;Some of the features are pretty basic (renaming variables, etc) but the one of great interest was the Encapsulate as a new Stored Proc. &lt;br /&gt;&lt;br /&gt;As with a number of tools that are add-ons to other components, its overall usefulness might seem limited if you are building your stored procs either using testing patterns or have good code review sessions - but if you're inheriting or just watching one procedure get too big, it's definitely useful.&lt;br /&gt;&lt;br /&gt;What about your SQL applications? How big do you let your stored procedures get?&lt;br /&gt;What tools do you use?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-478203631502240226?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/478203631502240226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=478203631502240226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/478203631502240226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/478203631502240226'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2009/06/refactoring-t-sql.htm' title='Refactoring T-SQL'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-6427600883508852653</id><published>2009-05-22T13:40:00.002-04:00</published><updated>2009-05-22T13:44:51.445-04:00</updated><title type='text'>Refactoring and Profiling</title><content type='html'>(another session from Southwest Fox 2008)&lt;br /&gt;&lt;br /&gt;Refactoring is the art of clean-up and can be useful. Many books have been written about it, so it can seem daunting but the VFPX Code Analyst does make it easier. In this session, we see how the Code Analyst along with existing tools like the Coverage Profiler can make figuring out how to clean up your code can be made easy, simple and dare I say it, fun! &lt;br /&gt;&lt;br /&gt;You can also hear the full session on the FoxShow &lt;a href="http://akselsoft.libsyn.com/index.php?post_id=396265"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-6427600883508852653?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/6427600883508852653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=6427600883508852653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/6427600883508852653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/6427600883508852653'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2009/05/refactoring-and-profiling.htm' title='Refactoring and Profiling'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-3042632624905464038</id><published>2009-05-22T13:27:00.003-04:00</published><updated>2009-05-22T13:45:38.999-04:00</updated><title type='text'>Using VFPX : A Walkthrough features in CodePlex</title><content type='html'>This white paper is from a session originally given at Southwest Fox 2008, introducing many developers to how CodePlex works and how they can get involved with the VFPX Project.&lt;br /&gt;&lt;br /&gt;You can also hear the audio of this session &lt;a href="http://akselsoft.libsyn.com/index.php?post_id=396265"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So you want to help out in VFPX? This session goes through how to get started with the VFPX Project and dealing with issues like source control, the Wiki-style attitude of Codeplex and more. &lt;br /&gt;&lt;br /&gt;What Is VFPX?&lt;br /&gt;&lt;br /&gt;VFPX is the future of the Visual FoxPro IDE and developer tools we currently know today. It is based on the VFP 9 SP2 core but realistically, it is more like taking all of the tools that have grown up around the VFP engine and making them ours to grow and enhance. Microsoft is no longer doing active development on Visual FoxPro; the product is officially supported until 2015 but then many developers still have VFP 6 applications running and VFP6 support ended in 2004.&lt;br /&gt;&lt;br /&gt;Visual FoxPro has a long running tradition of community enhancements. Back in 1990, the FoxPro CompuServe forums were among the busiest, with new downloads and an environment of users helping other users. Some of these tools were shareware, others were simply demos of commercial products and others still were released into the public domain, making them free. Since CompuServe closed down and the web became what it is today, a number of different avenues have cropped up as a way for keeping the FoxPro community in touch. Many offer downloads (such as the Universal Thread and Foxite) while others continue on the discussion aspect of the FoxPro forums.&lt;br /&gt;VFPX is a community-driven effort to provide a single source for the latest in FoxPro tools, all offered under a single license for developers. It includes every FoxPro component provided by Microsoft that was written in xBase. For those developers who may have been unaware, a great deal of the tools provided with FoxPro, such as the Class Browser, Builders, Wizards and the Task Pane are all written in xBase, many of them by community members who were contracted by Microsoft. The Visual FoxPro engine (the executable and the runtime DLLs) are not being changed and are not available – but every other piece is. The last piece of core code that Microsoft provided for Visual FoxPro (Sedna) was put onto CodePlex. That's where we come in.&lt;br /&gt;&lt;br /&gt;While a lot of the existing pieces of VFPX are tools that improve the development experience, a growing number of them are interface controls and libraries that you can use to improve your own applications. Just as the FoxPro Foundation Classes (FFC) and Component Gallery provide samples and techniques for implementing technologies, VFPX includes GDIPlusX which makes working with graphics in your application easy or ThemedControls which provides standard Windows and Mac UI components written directly in FoxPro. &lt;br /&gt;&lt;br /&gt;If you have ever thought about how much better a particular tool in Visual FoxPro would be if it only had one extra feature, this is the opportunity to change it. If you have tools in your own developer arsenal that you think can benefit the entire developer community, propose it (more on that below) and get it in there. If you've developed interface components that you want to share with others, put it into the VFPX codebase. The main stipulation is that you will be offering it under a Shared Source license, making it available for anyone to use, change or distribute.&lt;br /&gt;&lt;br /&gt;Read more from the link enclosed here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-3042632624905464038?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/3042632624905464038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=3042632624905464038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/3042632624905464038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/3042632624905464038'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2009/05/using-vfpx-walkthrough-features-in.htm' title='Using VFPX : A Walkthrough features in CodePlex'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-2774219165166514222</id><published>2007-10-01T07:31:00.000-04:00</published><updated>2008-05-08T07:47:21.142-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vfpx'/><category scheme='http://www.blogger.com/atom/ns#' term='vfp'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><title type='text'>Using the VFPX Code Analyst</title><content type='html'>The Code Analyst is a tool in VFPX designed to make FoxPro application development and code maintenance easier. It combines the extensibility with a Code references-like interface, analyzing pieces of code or entire projects and identifying key areas for refactoring - similar to the Code Analysis tool in Visual Studio.&lt;br /&gt;&lt;br /&gt;You can identify your own project rules to highlight key areas of your application that may not match your own coding standards.&lt;br /&gt;&lt;br /&gt;A PDF version is available &lt;a href="http://www.aksel.com/whitepapers/CodeAnalyst.pdf"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-2774219165166514222?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/2774219165166514222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=2774219165166514222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/2774219165166514222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/2774219165166514222'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2007/08/using-vfpx-code-analyst.htm' title='Using the VFPX Code Analyst'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-6754494378900680438</id><published>2007-07-07T07:16:00.000-04:00</published><updated>2008-05-08T07:18:14.711-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='alerts'/><category scheme='http://www.blogger.com/atom/ns#' term='vfp'/><title type='text'>Alerting Users in your FoxPro Application</title><content type='html'>Every application needs a way of notifying users about something. The first "something" that may come to mind is an error, which unfortunately, needs a very special kind of alert or handler. But there are lots of other events that users need to be aware of, whether you as the developer plan for them or not. In January 2007 issue of FoxPro Advisor, Mike Lewis wrote about a forced system shutdown "event" that would let administrators get all users out of the system. If you are running a process that may take a while, you might need to let users know when it has been completed. If you have a large application, there could be many events that require user notification. Perhaps worse, there may be many events that your users could have reacted to, "if only they had known" before something was happening. Some applications rely on reports to display this information – but why waste paper when you can simply alert users to an event?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-6754494378900680438?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/alerts.htm' title='Alerting Users in your FoxPro Application'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/6754494378900680438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=6754494378900680438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/6754494378900680438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/6754494378900680438'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2007/07/alerting-users-in-your-foxpro.htm' title='Alerting Users in your FoxPro Application'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-261476525864943794</id><published>2007-07-01T07:42:00.001-04:00</published><updated>2008-05-08T07:46:42.703-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vfpx'/><category scheme='http://www.blogger.com/atom/ns#' term='vfp'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><title type='text'>Refactoring in Visual FoxPro</title><content type='html'>(this article was written prior to the Code Analyst but identifies the origins of where this tool came from)&lt;br /&gt;With the sheer number of functions, commands and tools available within Visual FoxPro, it's easy to find more than &lt;a href="http://fox.wikis.com/wc.dll?Wiki~HelloWorld~VFP"&gt;one way&lt;/a&gt; to do the job.&lt;br /&gt;&lt;br /&gt;So multiply the number of ways by the number of developers on your team, and it's pretty easy to see why code maintenance is pretty important.&lt;br /&gt;&lt;br /&gt;Refactoring is about making code more useable (not changing the functionality but making it easy to understand and maintain).&lt;br /&gt;&lt;br /&gt;This article presents 3 core concepts:&lt;br /&gt;1 - Never Use Keywords for variable or field names&lt;br /&gt;2 - Use the most recent functions where appropriate&lt;br /&gt;3 - Encapsulate, encapsulate, encapsulate&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-261476525864943794?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/refactoring.htm' title='Refactoring in Visual FoxPro'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/261476525864943794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=261476525864943794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/261476525864943794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/261476525864943794'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2007/07/refactoring-in-visual-foxpro.htm' title='Refactoring in Visual FoxPro'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-5861466279196968373</id><published>2007-06-01T07:27:00.000-04:00</published><updated>2008-05-08T07:28:07.879-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vfp'/><title type='text'>VFPX: New Tools based on Existing Code</title><content type='html'>Tools like Code Analyst and Class BrowserX all use code from existing Visual FoxPro tools. This is possible because in 2007, Microsoft released the code for all of their xBase components with a special license. This license allows developers to create and update components and applications based on these components. It explicitly gives two rights:&lt;br /&gt;&lt;br /&gt;Copyright – "a non-exclusive, worldwide, royalty-free copyright license to reproduce the software, prepare derivative works of the software and distribute the software or any derivative works that you create"&lt;br /&gt;&lt;br /&gt;Patent – "a non-exclusive, worldwide, royalty-free patent license under licensed patents to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the software or derivative works of the software"&lt;br /&gt;&lt;br /&gt;There are some limitations; primarily that you can't use the Microsoft name, must include any existing copyright notices, and that the software is provided "as-is" but the real benefit is with how it can apply to your existing applications. Want to build something similar to the Task Pane in your application? You don't need to reverse-engineer it – you can simply look in the existing code and re-use it. Thanks to the Fox Team!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-5861466279196968373?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/5861466279196968373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=5861466279196968373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/5861466279196968373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/5861466279196968373'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2007/06/vfpx-new-tools-based-on-existing-code.htm' title='VFPX: New Tools based on Existing Code'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-7992715910601742829</id><published>2007-03-01T07:50:00.000-05:00</published><updated>2008-05-08T07:52:39.295-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='foxpro'/><category scheme='http://www.blogger.com/atom/ns#' term='vfp'/><category scheme='http://www.blogger.com/atom/ns#' term='HackCX'/><title type='text'>Getting inside FoxPro Files</title><content type='html'>Here's one of the world's worst kept secrets: almost everything in FoxPro is really just a FoxPro table. &lt;br /&gt;&lt;br /&gt;Here's an &lt;a href="http://www.aksel.com/whitepapers/HackCX.pdf"&gt;article &lt;/a&gt;highlighting a useful tool from WhiteLight computing about how you can get inside FoxPro's designers, projects and reports.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-7992715910601742829?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/7992715910601742829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=7992715910601742829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/7992715910601742829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/7992715910601742829'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2007/03/getting-inside-foxpro-files.htm' title='Getting inside FoxPro Files'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-112609576186430884</id><published>2005-09-07T08:22:00.000-04:00</published><updated>2005-09-07T08:22:41.906-04:00</updated><title type='text'>Testing Toolbox</title><content type='html'>You always test every aspect of your application--- right ?&lt;br /&gt;&lt;br /&gt;Every application needs to get tested – either it gets done before the product is released, which is ideal or your users will do it for you, which usually turns out to be a big mistake. Even if you don't formally recognize testing in your project development cycle, you are still, in fact, testing from day one. Here are some tools and techniques that can help ease the pain of testing your Visual FoxPro application and adding it into your development process. Along the way, I'll try to answer some immediate objections to formalized testing.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aksel.com/whitepapers/Testing.htm" rel="testing"&gt;Testing&lt;/a&gt; &lt;a href="http://www.aksel.com/whitepapers/Testing.htm" rel="foxpro"&gt;Visual FoxPro Applications&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-112609576186430884?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/Testing.htm' title='Testing Toolbox'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/112609576186430884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=112609576186430884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/112609576186430884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/112609576186430884'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2005/09/testing-toolbox.htm' title='Testing Toolbox'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-112482837330627247</id><published>2005-08-23T16:19:00.000-04:00</published><updated>2005-08-23T16:19:33.336-04:00</updated><title type='text'>Show It and Support It : Screen Casting tools for everyone</title><content type='html'>Here's an article that was originally promised to FoxPro Advisor but they turned it down as it wasn't FoxPro-enough. Enjoy...&lt;br /&gt;&lt;br /&gt;As many third party vendors will tell you, building the product is only half the battle. The next part, getting people to use it, can be just as tricky. This isn't just a "vendor" issue either. Almost every application being put into production in any organization faces an uphill battle towards adoption. This is where all the great features you've spent months building help to get users excited about using it. But what good are features if your users don't know about them?&lt;br /&gt;&lt;br /&gt; It used to be that building a self-running video or demonstration of software required a great deal of expertise and money, hiring a production company who did the work in their own studio. Today, developers and trainers are building these "screencasts" themselves and in this article I'll go through several options that are available to you.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aksel.com/whitepapers/ShowItAndsupportit.htm"&gt;Show It and Support It : Screen Casting tools&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-112482837330627247?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/ShowItAndsupportit.htm' title='Show It and Support It : Screen Casting tools for everyone'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/112482837330627247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=112482837330627247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/112482837330627247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/112482837330627247'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2005/08/show-it-and-support-it-screen-casting.htm' title='Show It and Support It : Screen Casting tools for everyone'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-111304524784121375</id><published>2005-04-09T07:14:00.000-04:00</published><updated>2005-04-09T07:14:07.840-04:00</updated><title type='text'>Automating Communication with Instant Messenger</title><content type='html'>From Dec 2001 - but the usefulness is still there if you use an IM client.  Code samples are for Visual FoxPro.&lt;br /&gt;&lt;a href="http://www.aksel.com/whitepapers/messenger.htm"&gt;Automating Communication with Instant Messenger&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-111304524784121375?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/messenger.htm' title='Automating Communication with Instant Messenger'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/111304524784121375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=111304524784121375' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/111304524784121375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/111304524784121375'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2005/04/automating-communication-with-instant.htm' title='Automating Communication with Instant Messenger'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-111304480201557218</id><published>2005-04-09T07:06:00.000-04:00</published><updated>2005-04-09T07:06:42.016-04:00</updated><title type='text'>Using Drag and Drop In Visual FoxPro</title><content type='html'>I recently had to revisit this article (originally written in 2001) for a more recent project.&lt;br /&gt;&lt;br /&gt;I was implementing drag/drop but it also had to co-exist with a right-mouse click and a Double-click event that were pulling up Visual FoxPro forms. &lt;br /&gt;&lt;br /&gt;The objects being used weren't ActiveX controls but regular FoxPro controls, but if you use the standard DragMode and Drag events in the VFP base classes, they conflict with the Double-click and right-click events.&lt;br /&gt;&lt;br /&gt;The solution? Use the OLE Drag and Drop.&lt;br /&gt;&lt;br /&gt;Now one thing that's not mentioned in this article is a property called CreateDragImage. That's a property Windows uses often with ListView controls to create that shaded image that appears under the cursor when it's being dragged. Sadly, that function doesn't work properly with Visual FoxPro so you have to build your own cursor or icon to make it look right. &lt;br /&gt;&lt;br /&gt;This is one of those things where the FoxTeam at Microsoft might want to look for ideas for Visual FoxPro 10. Why? Because these are the little things that work in other environments but don't work in VFP that bug the FoxPro developers. There may be a hundred (valid!) reasons for it and it would take an army to figure them all out but they always cause those little moments where people go "damn! - why doesn't this work."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aksel.com/whitepapers/dragdrop.htm"&gt;Using Drag and Drop In Visual FoxPro&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-111304480201557218?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/dragdrop.htm' title='Using Drag and Drop In Visual FoxPro'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/111304480201557218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=111304480201557218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/111304480201557218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/111304480201557218'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2005/04/using-drag-and-drop-in-visual-foxpro.htm' title='Using Drag and Drop In Visual FoxPro'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-111304421703887405</id><published>2005-04-09T06:56:00.000-04:00</published><updated>2005-04-09T06:57:26.196-04:00</updated><title type='text'>Using SAPI with Visual FoxPro</title><content type='html'>An introduction to use SAPI and the use of speech recognition in Desktop Applications, written in Visual FoxPro&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aksel.com/whitepapers/sapi.htm"&gt;Using SAPI in FoxPro&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-111304421703887405?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/sapi.htm' title='Using SAPI with Visual FoxPro'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/111304421703887405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=111304421703887405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/111304421703887405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/111304421703887405'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2005/04/using-sapi-with-visual-foxpro.htm' title='Using SAPI with Visual FoxPro'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-111299365682855251</id><published>2005-04-08T16:54:00.000-04:00</published><updated>2005-04-08T16:54:16.830-04:00</updated><title type='text'>Claiming Feeds</title><content type='html'>&lt;p&gt;&lt;a href="http://feedster.com/claimfeed.php?key=15ef938a6f4134fd33fea0de2eaea445"&gt;No Need to Click Here - I'm just claiming my feed at Feedster&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-111299365682855251?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://about.feedster.com/claimfeed.php' title='Claiming Feeds'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/111299365682855251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=111299365682855251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/111299365682855251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/111299365682855251'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2005/04/claiming-feeds.htm' title='Claiming Feeds'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-109561598909021252</id><published>2004-09-19T13:46:00.000-04:00</published><updated>2004-09-19T13:46:29.090-04:00</updated><title type='text'>Using Genmenux</title><content type='html'>A session and white paper I gave back in 1994 at the German Devcon. From the white paper:&lt;br /&gt;&lt;br /&gt;If you have ever felt cheated by the FoxPro Menu Builder and the limits it places on you, GENMENUX offers a perfect solution.&lt;br /&gt;&lt;br /&gt;Just as GENSCRNX extends the FoxPro Screen Builder in ways that the original developers never imagined, GENMENUX attempts to extend the Menu Builder. The idea behind the "X" series of generators is that there are times when FoxPro does not provide everything required in the Power Tools. The "X" series provides the additional functionality that can add incredible power to these tools. &lt;br /&gt;&lt;br /&gt;A copy of this paper is also available &lt;a href="http://www.aksel.com/whitepapers/genmenux.htm"&gt;here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dfpug.de/konf/konf_1994/prog/121_224.HTM"&gt;Genmenux&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-109561598909021252?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.dfpug.de/konf/konf_1994/prog/121_224.HTM' title='Using Genmenux'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/109561598909021252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=109561598909021252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109561598909021252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109561598909021252'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2004/09/using-genmenux.htm' title='Using Genmenux'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-109491681181744645</id><published>2004-09-11T11:33:00.000-04:00</published><updated>2004-09-11T11:33:31.816-04:00</updated><title type='text'>Using FoxUnit</title><content type='html'>Here's a quick overview on how to use FoxUnit, an open-source unit testing tool from Vision Data Solutions &lt;a href="http://www.aksel.com/whitepapers/foxunit.htm"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Get it from &lt;a href="http://www.foxunit.org"&gt;FoxUnit.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-109491681181744645?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/foxunit.htm' title='Using FoxUnit'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/109491681181744645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=109491681181744645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109491681181744645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109491681181744645'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2004/09/using-foxunit.htm' title='Using FoxUnit'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-109415145155160892</id><published>2004-09-02T14:57:00.000-04:00</published><updated>2004-09-02T14:57:31.553-04:00</updated><title type='text'>Outlook Automation with VFP</title><content type='html'>An overview of how to automate Outlook with Visual FoxPro.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-109415145155160892?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/OutlookAutomation.htm' title='Outlook Automation with VFP'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/109415145155160892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=109415145155160892' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109415145155160892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109415145155160892'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2004/09/outlook-automation-with-vfp.htm' title='Outlook Automation with VFP'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-109414747126090556</id><published>2004-09-02T13:48:00.000-04:00</published><updated>2004-09-02T13:51:11.260-04:00</updated><title type='text'>ActiveX Controls: TreeView, ListView and more...</title><content type='html'>An early white paper on ActiveX controls, including how to use TreeViews,ListViews, DBI Technologies ctList (paid) , bbListview (shareware), and Eclipse's Cabinet control (a free control)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-109414747126090556?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/ActiveXControls.htm' title='ActiveX Controls: TreeView, ListView and more...'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/109414747126090556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=109414747126090556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109414747126090556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109414747126090556'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2004/09/activex-controls-treeview-listview-and.htm' title='ActiveX Controls: TreeView, ListView and more...'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-109414706913521446</id><published>2004-09-02T08:14:00.000-04:00</published><updated>2004-09-02T13:44:29.136-04:00</updated><title type='text'>Diagramming FoxPro: Automating Visio</title><content type='html'>From FoxTeach a few years ago, this paper explains how you can automate aspects of Microsoft Visio.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-109414706913521446?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/VisioAutomation.htm' title='Diagramming FoxPro: Automating Visio'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/109414706913521446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=109414706913521446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109414706913521446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109414706913521446'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2004/09/diagramming-foxpro-automating-visio.htm' title='Diagramming FoxPro: Automating Visio'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-109007634709952797</id><published>2004-07-17T10:57:00.000-04:00</published><updated>2004-07-17T14:38:31.043-04:00</updated><title type='text'>Using Installshield with VFP 8</title><content type='html'>White paper on using InstallShield with VFP 8 that also discusses InstallShield's Update Service. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-109007634709952797?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/Installshield.htm' title='Using Installshield with VFP 8'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/109007634709952797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=109007634709952797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109007634709952797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109007634709952797'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2004/07/using-installshield-with-vfp-8.htm' title='Using Installshield with VFP 8'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-109007606868237839</id><published>2004-07-17T10:44:00.000-04:00</published><updated>2004-07-17T11:31:53.670-04:00</updated><title type='text'>User Interface Design in Web and Windows</title><content type='html'>This is the white paper on user interface design that was given at a number of conferences including &lt;a href="http://www.devteach.com/"&gt;DevTeach&lt;/a&gt;&amp;nbsp;2003 and others. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;From the overview: &lt;br /&gt;"&amp;nbsp; Interfaces are a lot like people – no two are ever really alike. That can present a problem for developers and end-users. On one hand, you want to provide a clear , consistent and easy to use experience for the user. On the other, you want to showcase your graphical design skills. This session goes through some of the issues confronting interface designers today and how we can best deal with them. " &lt;br /&gt;&amp;nbsp; &lt;br /&gt;This session discusses the benefits of the Inductive User Interface, a concept that Microsoft initially showed in MS Money 2001 but has found its way into certain aspects of Windows XP, Office and other tools. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;Is the Inductive Approach really the best way? Well, it certainly works for new users, who can't discern between icons. As I look at my tool bar in IE right now, I can easily see that the magnifying glass means "Search" and that the left arrow means "Back". One icon that is pretty self-evident is the "Home" icon. Ever think about that one? I really back before 1989, a certain six-colored company introduced a product called Hypercard that featured, you guessed it, an icon for "Home". They really haven't changed from that time. But others certainly need some clarification and that's what the Inductive interface is about - it is TASK-oriented for those things that need to be explained. It's all over the web and slowly making its way into desktop apps. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;I work with an application for tracking issues that uses F5 to Discard and F6 to Save. Do you know how many times I've lost work because I mistakenly hit F5 instead? &lt;br /&gt;&amp;nbsp; &lt;br /&gt;Anyways...enjoy and please post comments if you like this format. Maybe you would prefer it if the articles or white papers were put up as posts. If so, please let me know that as well. &lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-109007606868237839?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.aksel.com/whitepapers/uidesign.htm' title='User Interface Design in Web and Windows'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/109007606868237839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=109007606868237839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109007606868237839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/109007606868237839'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2004/07/user-interface-design-in-web-and.htm' title='User Interface Design in Web and Windows'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7634471.post-108984058764506763</id><published>2004-07-14T17:29:00.000-04:00</published><updated>2004-07-14T17:29:47.646-04:00</updated><title type='text'>Welcome to White Papers, Conference Notes and Articles</title><content type='html'>I'll be posting stuff here very shortly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7634471-108984058764506763?l=www.aksel.com%2Fwhitepapers%2Fdefault.htm' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/108984058764506763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7634471&amp;postID=108984058764506763' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/108984058764506763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7634471/posts/default/108984058764506763'/><link rel='alternate' type='text/html' href='http://www.aksel.com/whitepapers/2004/07/welcome-to-white-papers-conference.htm' title='Welcome to White Papers, Conference Notes and Articles'/><author><name>Andrew MacNeill</name><uri>http://www.blogger.com/profile/03888444225785506598</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='00337981532127399469'/></author><thr:total>2</thr:total></entry></feed>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 