<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Andrew MacNeill - AKSEL Solutions</title><link>http://akselsoft.blogspot.com/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/akselsoft" /><description>Solutions for Today; Ready for Tomorrow.

Andrew MacNeill's blog about Visual FoxPro, databases, development, and technologies that sprout around the FoxPro and related communities.</description><language>en</language><managingEditor>noreply@blogger.com (Andrew MacNeill)</managingEditor><lastBuildDate>Sun, 27 May 2012 02:17:15 PDT</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1457</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><feedburner:info uri="akselsoft" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>45.28861</geo:lat><geo:long>-75.84756</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item><title>SwFox 2012 Ceil Silver Ambassador is Jun Tangunan!</title><link>http://feedproxy.google.com/~r/akselsoft/~3/ka6Ixz_6P5g/swfox-2012-ceil-silver-ambassador-is.html</link><category>swfox</category><category>FoxPro</category><category>VFP</category><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Sun, 27 May 2012 02:17:15 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-2581463979801188273</guid><description>Doug just &lt;a href="http://doughennig.blogspot.ca/2012/05/2012-ceil-silver-ambassador-announced.html"&gt;noted&lt;/a&gt; that Jun Tangunan will be the 2012 Ceil Silver Ambassador for this year's &lt;a href="http://www.swfox.net/"&gt;Southwest Fox&lt;/a&gt; conference. Jun blogs at &lt;a href="http://sandstorm36.blogspot.ca/"&gt;sandstorm36.blogspot.ca&lt;/a&gt;&amp;nbsp;and has some really cool ideas with his ssClasses for Visual FoxPro, some &lt;a href="http://sandstorm36.blogspot.ca/2012/02/sspolyclock-100-vfp-clock-widget.html"&gt;fun&lt;/a&gt; and some more&lt;a href="http://sandstorm36.blogspot.ca/2011/10/ssclasses-components-list.html"&gt; product centred&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Congrats Jun and hope to see you in October!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technorati.com/tag/FoxPro" rel="tag"&gt;FoxPro&lt;/a&gt; &lt;a href="http://technorati.com/tag/VFP" rel="tag"&gt;VFP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-2581463979801188273?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=ka6Ixz_6P5g:5eTEHgV55Fw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=ka6Ixz_6P5g:5eTEHgV55Fw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/ka6Ixz_6P5g" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2012/05/swfox-2012-ceil-silver-ambassador-is.html</feedburner:origLink></item><item><title>H600 Wireless Headphones Gotcha</title><link>http://feedproxy.google.com/~r/akselsoft/~3/C24PS068gg8/h600-wireless-headphones-gotcha.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Fri, 18 May 2012 06:36:42 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-4641836151851166147</guid><description>Just a note on the Logitech H600 found from eHow but the comment was buried and only available via the Google Cache so I thought I would repost it here.&lt;br /&gt;&lt;br /&gt;I'm using an H600 with a MacBook Pro. It stopped charging and I didn't know why. I came across this gem:&lt;br /&gt;&lt;br /&gt;Headline:&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: arial, sans-serif; font-size: x-small; line-height: 15px;"&gt;&lt;h3 class="r" style="display: block; font-size: medium; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-overflow: ellipsis; white-space: nowrap;"&gt;&lt;a class="l" href="http://www.ehow.com/how_7380575_logitech-headset-350-won_t-work.html" style="color: #1122cc; cursor: pointer;"&gt;&lt;em style="font-style: normal; font-weight: bold;"&gt;My Logitech Headset&lt;/em&gt;&amp;nbsp;350 Won't Work | eHow.com&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;i&gt;I&amp;nbsp;&lt;b style="background-color: #ffff66; color: black;"&gt;had&lt;/b&gt;&amp;nbsp;&lt;b style="background-color: #a0ffff; color: black;"&gt;trouble&lt;/b&gt;&amp;nbsp;with&amp;nbsp;&lt;b style="background-color: #99ff99; color: black;"&gt;my&lt;/b&gt;&amp;nbsp;&lt;b style="background-color: #ff9999; color: black;"&gt;h600&lt;/b&gt;&amp;nbsp;&lt;b style="background-color: #ff66ff; color: black;"&gt;logitech&lt;/b&gt;&amp;nbsp;&lt;b style="background-color: #880000; color: white;"&gt;headset&lt;/b&gt;&amp;nbsp;&lt;b style="background-color: #00aa00; color: white;"&gt;not&lt;/b&gt;&amp;nbsp;&lt;b style="background-color: #886800; color: white;"&gt;charging&lt;/b&gt;. I just got a steady orange light. I couldn't find much help online but what I did do was unplug&amp;nbsp;&lt;b style="background-color: #99ff99; color: black;"&gt;my&lt;/b&gt;&amp;nbsp;&lt;b style="background-color: #880000; color: white;"&gt;headset&lt;/b&gt;&amp;nbsp;turned the computer off for about 5 mins and even unplugged the computer. I tuened it back on , plugged in&amp;nbsp;&lt;b style="background-color: #99ff99; color: black;"&gt;my&lt;/b&gt;&amp;nbsp;&lt;b style="background-color: #880000; color: white;"&gt;headset&lt;/b&gt;&amp;nbsp;and viola! it started to blink slowly and is now&amp;nbsp;&lt;b style="background-color: #886800; color: white;"&gt;charging&lt;/b&gt;. I hope this helps someone else.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;So I took the USB wire out , tried it on a AC charger (didn't work) but then went down and plugged it into my PC - it started recharging as expected.&lt;br /&gt;&lt;br /&gt;I'll update this to see if it completely dies again. I hope not - I've been having terrible luck with all my wireless headsets (Blueant died, Plaintronics died and my original Logitech did too).&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/5492774-4641836151851166147?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=C24PS068gg8:agHj0hZsBaQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=C24PS068gg8:agHj0hZsBaQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/C24PS068gg8" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2012/05/h600-wireless-headphones-gotcha.html</feedburner:origLink></item><item><title>A Solution's Perspective</title><link>http://feedproxy.google.com/~r/akselsoft/~3/mbpRZmeljes/solutions-perspective.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Fri, 27 Apr 2012 04:03:47 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-157541025977149437</guid><description>There's an age-old image of project management that looks something like this:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-69n9O_A7U8Y/T5pZ59OAG7I/AAAAAAAAAQM/j3K1aD61mTA/s1600/Tire_Swing.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="311" src="http://4.bp.blogspot.com/-69n9O_A7U8Y/T5pZ59OAG7I/AAAAAAAAAQM/j3K1aD61mTA/s320/Tire_Swing.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And there have been various adaptations of it --- one I found recently (and appreciated) is this &lt;a href="http://weblogs.asp.net/jan/archive/2003/10/23/33085.aspx"&gt;one&lt;/a&gt; from Jan Tielens:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-kBLuq3Qb4Rc/T5paJUsFunI/AAAAAAAAAQU/sB3P8nZNOss/s1600/project.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-kBLuq3Qb4Rc/T5paJUsFunI/AAAAAAAAAQU/sB3P8nZNOss/s320/project.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;What is the actual process that a "solution" goes through? The client dreams up an idea or has a problem that needs to be solved. They attempt to describe it to someone who then attempts to build it. At the risk of anthropomorphizing a concept like a solution:&lt;br /&gt;&lt;br /&gt;The Birth: Wow...now this is more like it. I'm not just a little thought in someone's head anymore - I'm going to be great. I'm going to solve the world. Now I just have to figure out...&lt;br /&gt;&lt;br /&gt;The Terrible Twos: OK...I can go a variety of ways - I just need to focus on what I want to do. What?!? Who are you? Oh...I have to do it this way....no wait, now who are you?!? This way instead? Argh!!!&lt;br /&gt;&lt;br /&gt;Primary School: So I have to do this so I can really be what I want to be. That sucks. I guess you know better - you've done it before. But why can't I.....that works, doesn't it?&lt;br /&gt;&lt;br /&gt;Teenagers: No - stop - I'm not listening. I can do it this other way...oops, no I can't. Let me try it this faster way...oops. Damn! I'll pretend I didn't hear the other people telling me I couldn't do it that way.&lt;br /&gt;&lt;br /&gt;Technical School: Oh...I can also build that...and that...and that...but I really want to build something a little simpler...&lt;br /&gt;&lt;br /&gt;College: Fine. I'll do it your way. Oh, I can't just put a tire on a branch --- I have to put three ropes and a swing mechanism because...oh, I should put three swings so everyone else can swing too...ok. Isn't that really complicated? Oh - I should write all this down. Won't that slow me down? Ohhh....that will make me look smart.&lt;br /&gt;&lt;br /&gt;First Job: Hold on...let me take a step back. Maybe there's another way....nope that won't work. You mean, I have to pay someone for this? &amp;nbsp;But I can do it myself....or maybe...not. You know, I should keep a journal of all this stuff.&lt;br /&gt;&lt;br /&gt;Second Job: Remember when I thought I could do that....well, now I'm doing something else..but I really want to go back and finish it off....no, I didn't really keep up with my journal because I went through so many steps before.&lt;br /&gt;&lt;br /&gt;Bad Contracting: OK. I couldn't do it myself that way- so I'll ask some others to help (now, they get to go through the same steps as above only they BILL me). After I pay you, will you show me what you did and what didn't work? No? What did I pay you for? Why did I spend all that money or all that time?&lt;br /&gt;&lt;br /&gt;Good Contracting: OK - I couldn't do it myself - can you do it for me? You've done it before? OK - great. &amp;nbsp;Please just build me what I want. No....this is what I want...OK, this is what you're giving me. How long will this take? Really?!?&lt;br /&gt;&lt;br /&gt;Mentoring: OK - I couldn't do it myself - can you show me how you've done it before? Thanks...umm...this might be a little complicated...let me write it down so I remember what we're doing.&lt;br /&gt;&lt;br /&gt;Realization: Hold on. Let me take a step back - hit the reset button. What do I really want to do? Let's try it THIS way. Keep it simple.&lt;br /&gt;&lt;br /&gt;Upgrades: This is great - You know what would be really cool? If I could just do this. Let me try that.&lt;br /&gt;&lt;br /&gt;Sharing: Look what I did?!? You want to join in? Sure, come on in and join the fun.&lt;br /&gt;&lt;br /&gt;Sharing Upgrades: Yes, you can all play&amp;nbsp;but only one at a time. Why? Because it was originally for me, only. That's what I wanted. I suppose it would be great if I could have three swings for all of us, but why not just build three separate swings?&lt;br /&gt;&lt;br /&gt;Maturity: If only I had kept a single focus. If I knew then what I know now, I would have done d,e,f instead of x,y and z. It wouldn't have cost a fortune.&lt;br /&gt;&lt;br /&gt;Mid-life crisis: Maybe I should try and rebuild it from scratch....on second thought.&lt;br /&gt;&lt;br /&gt;Bad Senior Years : Hey, young whippersnapper. You can't do it that way. You young ideas - you never really think things through, do you? When I was your age...&lt;br /&gt;&lt;br /&gt;Good Senior Years: Hey, young whippersnapper. I don't think it will work that way - let me try and show you how we can do it. I had written up some steps on this...where are they? I can't find them. You know, I'm too old for this...let me try and remember how I did it. Sure, I'll write it down for you.&lt;br /&gt;&lt;br /&gt;Sound familiar? It should. What's funny is that when writing this, I can identify a real business process, colleague or technology step in each paragraph. Scalability? Do you really want three people on your swing on a single tree? You want a swing - do you really want to build scaffolding when all you want is a single swing? Kind of reminds me of the &lt;a href="http://gettingreal.37signals.com/ch04_Scale_Later.php"&gt;37 Signals Scaling&lt;/a&gt; commentary.&lt;br /&gt;&lt;br /&gt;Who do you resemble?&lt;br /&gt;&lt;br /&gt;In future posts, I'll discuss different ways of getting to success regardless of where your project is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-157541025977149437?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=mbpRZmeljes:a_ahC14gWws:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=mbpRZmeljes:a_ahC14gWws:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/mbpRZmeljes" height="1" width="1"/&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-69n9O_A7U8Y/T5pZ59OAG7I/AAAAAAAAAQM/j3K1aD61mTA/s72-c/Tire_Swing.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2012/04/solutions-perspective.html</feedburner:origLink></item><item><title>Using Gmail? - you NEED this</title><link>http://feedproxy.google.com/~r/akselsoft/~3/eDuAnBQftcU/using-gmail-you-need-this.html</link><category>gmail</category><category>google</category><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Fri, 20 Apr 2012 01:01:16 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-6967935046255133533</guid><description>If you are using gMail and ever wondered what your usage is really like, check out gMail Meter.&lt;br /&gt;&lt;br /&gt;What does this do? Well, it may help you change your email habits by showing your patterns.&lt;br /&gt;&lt;br /&gt;The link from LifeHacker is &lt;a href="http://lifehacker.com/5903456/gmail-meter-analyzes-how-you-use-your-email-effectively-or-not"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You create a new spreadsheet in Google Docs, name it Gmail Meter and then run a script from the Script Gallery.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-sB9h2EyAgso/T5EXG4p5ItI/AAAAAAAAAP0/i-KkZIhgE8E/s1600/2012-04-20_0356.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="172" src="http://3.bp.blogspot.com/-sB9h2EyAgso/T5EXG4p5ItI/AAAAAAAAAP0/i-KkZIhgE8E/s320/2012-04-20_0356.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-82dzJK2wkNQ/T5EXH-wB42I/AAAAAAAAAP8/JH3TdIasbW0/s1600/2012-04-20_0356a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="147" src="http://4.bp.blogspot.com/-82dzJK2wkNQ/T5EXH-wB42I/AAAAAAAAAP8/JH3TdIasbW0/s320/2012-04-20_0356a.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Then let the script run. It can take a while to run but you can just let it go, it will send you an email when it's done with all of the stats. What kind of stats? Here's just a smattering of the stats:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-EWVlFWIUFUw/T5EXDjFj_uI/AAAAAAAAAPc/WQ6E4VVoHMQ/s1600/2012-04-20_0353.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="138" src="http://4.bp.blogspot.com/-EWVlFWIUFUw/T5EXDjFj_uI/AAAAAAAAAPc/WQ6E4VVoHMQ/s320/2012-04-20_0353.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-wcck1Sem1wE/T5EXEOw07lI/AAAAAAAAAPk/MzTV9eI2lfU/s1600/2012-04-20_0353a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="214" src="http://3.bp.blogspot.com/-wcck1Sem1wE/T5EXEOw07lI/AAAAAAAAAPk/MzTV9eI2lfU/s320/2012-04-20_0353a.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-JU9BHz19tic/T5EXGflyP_I/AAAAAAAAAPs/L6FO3FNtLHU/s1600/2012-04-20_0353b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-JU9BHz19tic/T5EXGflyP_I/AAAAAAAAAPs/L6FO3FNtLHU/s320/2012-04-20_0353b.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Very cool!&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/5492774-6967935046255133533?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=eDuAnBQftcU:DVniaZol1Kk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=eDuAnBQftcU:DVniaZol1Kk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/eDuAnBQftcU" height="1" width="1"/&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-sB9h2EyAgso/T5EXG4p5ItI/AAAAAAAAAP0/i-KkZIhgE8E/s72-c/2012-04-20_0356.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2012/04/using-gmail-you-need-this.html</feedburner:origLink></item><item><title>Southwest Fox 2012 is two conferences in one!</title><link>http://feedproxy.google.com/~r/akselsoft/~3/UIKNRV8jetM/southwest-fox-2012-is-one.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Wed, 18 Apr 2012 01:25:20 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-692331401655761279</guid><description>&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;A new year &amp;nbsp;- a new Southwest Fox!!&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;Save the dates for Southwest Fox and Southwest Xbase++ 2012! The conferences take place October 18-21, 2012. This year we have two conferences as one great event at the same location. Southwest Fox has always served Visual FoxPro developers an opportunity to learn and extend their skills, and network with fellow developers. Alaska Software is working on PolarFox, a product that keeps the Visual FoxPro language alive in their next generation tool.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://swfox.net/"&gt;Southwest Fox - Home&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-692331401655761279?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=UIKNRV8jetM:j7X5ZdVPMfQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=UIKNRV8jetM:j7X5ZdVPMfQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/UIKNRV8jetM" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2012/03/southwest-fox-2012-is-one.html</feedburner:origLink></item><item><title>Why FoxPro Matters: Development</title><link>http://feedproxy.google.com/~r/akselsoft/~3/eSZrtvDs8PM/why-foxpro-matters-development.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Fri, 27 Apr 2012 08:56:48 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-1709951795201431529</guid><description>Every developer has a starting point. It isn't necessarily the first time they wrote a line of code or the first computer they worked with. Rather, it's the first time they "got" it - the first time, they were able to put the separate pieces (the data, the code, the interface, the entire experience) together, not just for a client but for themselves as well. It's the light-switch moment - the kindling of the passion. Some developers write code their entire life but never find a connection to data. Others become pure DBAs - they don't write application code; but rather focus on how the database interacts with others. But most applications rely on the convergence of the two, the content and the delivery, to create the final solution.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;When I meet a developer for the first time, I usually ask what they like to work with, what part of the development process gets their juices flowing. This helps me identify the best method of optimizing their strengths. There are a few common responses:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;a) doesn't matter - the sign of either a developer who's given up or hasn't found their true passion&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;b) code - best to focus on logic&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;c) data - great opportunity for analysis and conversion&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;d) both - versatile&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;e) setup/configuration - tweaker!!&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;But the responses are also dependent on the languages and tools they have worked with in the past.&amp;nbsp;Some languages are natural for this. They encourage data and code to work together. FoxPro is one of those tools. I have yet to meet a FoxPro developer who doesn't fall into the d) category above. When an architect talks about metadata tools, most FoxPro developers "get" it - because they are used to the meta-data that surrounds data, be it in the DBC or third party tools. &lt;br /&gt;&lt;br /&gt;This isn't to say FoxPro doesn't have its faults - but rather that its strengths revolve around the convergence of content and delivery. Years ago, that wasn't always the case. Programmers focused on the intricacies of the code, rather than the delivery. Today, there are many other tools and frameworks, especially in the web world (Ruby on Rails and other MVC come to mind), that focus on that same convergence.&lt;br /&gt;&lt;br /&gt;That convergence can be what separates success from failure and the tools that help ensure and promote a strong understanding and correlation between the two are usually the right tools for the job.&lt;br /&gt;&lt;br /&gt;For me, FoxPro has focused my attention on how data works with the solution. There's a reason why I see an application in terms of its data and how users can get to that data and turn it into valuable information.&amp;nbsp;If information is currency, then understanding how data turns into information is worth its weight in gold. FoxPro's value legacy will be in the developers who have that understanding and share it with their clients and their colleagues.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://technorati.com/tag/FoxPro" rel="tag"&gt;FoxPro&lt;/a&gt; &lt;a href="http://technorati.com/tag/VFP" rel="tag"&gt;VFP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-1709951795201431529?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=eSZrtvDs8PM:O8cTrvQMZMo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=eSZrtvDs8PM:O8cTrvQMZMo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/eSZrtvDs8PM" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2012/01/why-foxpro-matters-development.html</feedburner:origLink></item><item><title>But should you use Google Translate for Your Software?</title><link>http://feedproxy.google.com/~r/akselsoft/~3/9XEcH8dKr3o/but-should-you-use-google-translate-for.html</link><category>FoxPro</category><category>VFP</category><category>google</category><category>translations</category><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Sat, 10 Dec 2011 01:57:40 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-8647701814119967833</guid><description>Doug &lt;a href="http://doughennig.blogspot.com/2011/12/using-google-translate-from-vfp.html"&gt;wrote&lt;/a&gt; recently on using Google Translate to localize applications, giving step by step instructions on how to get translations automated from their online API.&lt;br /&gt;&lt;br /&gt;Rick Strahl had also&amp;nbsp;&lt;a href="http://www.west-wind.com/weblog/posts/2011/Aug/06/Translating-with-Google-Translate-without-API-and-C-Code"&gt;post&lt;/a&gt;ed about this earlier in November with ways to do this without needing the API.&lt;br /&gt;&lt;br /&gt;So we know it's possible - the question is : should you use it?&lt;br /&gt;&lt;br /&gt;Automated translations have come a long way from years ago when you had to use either specialized CDs or &lt;a href="http://babelfish.yahoo.com/"&gt;babel fish&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Still, the big challenge with localizing internally is ensuring your translations are accurate for its audience. Like Doug, I live in Canada where most government software must support our two official languages: English and French. Sounds easy, right? After all, both languages have been around for centuries - translation must be pretty straight forward. Not so much.&lt;br /&gt;&lt;br /&gt;Many moons ago, I worked for a company was delivering the same basic software to two separate government departments. The software needed translations for several terms, one of which was the word "Browse". We asked around, went to the official translation group within each department, and received.... four different translations, all of which could be used, but only one of which would make a different person happy.&lt;br /&gt;&lt;br /&gt;Also, consider how the terms are used. On a standard menu, we have File, Edit, Cut, Copy and Paste. A few interface guideline books I've read suggest that menu items should be treated as verbs but in the imperative sense, as though you are telling the computer to do something. Hey computer, "Save"! "Copy!", "Quit!" It makes sense.&lt;br /&gt;&lt;br /&gt;However, when translated to French, if I used the imperative, you might see terms like Sauvegardez! Copier! Quittez! (a sample of using imperatives can be seen &lt;a href="http://french.about.com/library/weekly/aa123099t.htm"&gt;here&lt;/a&gt;). &amp;nbsp;Using Babel Fish, Cut becomes Coupe ( as in "he cut the tape"). Google suggests Couper. But for the word Save, Google offers Enregistrer, whereas French software typically uses Sauvegarder.&lt;br /&gt;&lt;br /&gt;But, according to translators, in French, you rely on the standard verb. So the terms should appear as "Sauvegarder", "Copier", "Quitter". I'm not sure what the practice is in Germany or China or Mexico, but the problem likely recurs there.&lt;br /&gt;&lt;br /&gt;Heck, in 1995, when I was in Paris, while Canadian french software used the word "Aide" for Help, French applications there were simply using the ? to indicate the Help menu.&lt;br /&gt;&lt;br /&gt;This hasn't changed over time. I'm currently involved in a project where once again, one term comes up with at least 2 or three different possible valid translations.&lt;br /&gt;&lt;br /&gt;What's the right answer? If you rely on Google Translate too much, you'll find you run the risk of being Ford offering the "Pinto" in South America, or the &lt;a href="http://www.billcasselman.com/unpublished_works/bad_car_names.htm"&gt;LaCrosse&lt;/a&gt; in Quebec. Your best bet is to find someone who speaks the language natively to ensure your translations make sense.&lt;br /&gt;&lt;br /&gt;Of course, then you might find two people to help to do the translation and STILL end up with 5 possible translations for a single simple word.&lt;br /&gt;&lt;br /&gt;It's great that a company like Google (and Yahoo) offer translation sites we can all use. Thanks to the posts from&amp;nbsp;&lt;a href="http://doughennig.blogspot.com/2011/12/using-google-translate-from-vfp.html"&gt;Doug&lt;/a&gt; and &lt;a href="http://www.west-wind.com/weblog/posts/2011/Aug/06/Translating-with-Google-Translate-without-API-and-C-Code"&gt;Rick&lt;/a&gt;, FoxPro developers can easily take advantage of it through code. The Google translation API looks like it's making headway especially for menu style terms. But be sure to run it by some native speakers before releasing - it may save some embarrassment later on.&lt;br /&gt;&lt;br /&gt;I wonder if it would have been easier on that guy in the&amp;nbsp;&lt;a href="http://www.youtube.com/watch?v=VU6hmgTY76M"&gt;Geico&lt;/a&gt;&amp;nbsp;ad if he had simply looked up the guinea pig term for "row".&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technorati.com/tag/FoxPro" rel="tag"&gt;FoxPro&lt;/a&gt; &lt;a href="http://technorati.com/tag/VFP" rel="tag"&gt;VFP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-8647701814119967833?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=9XEcH8dKr3o:qQxdixDbDmU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=9XEcH8dKr3o:qQxdixDbDmU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/9XEcH8dKr3o" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/12/but-should-you-use-google-translate-for.html</feedburner:origLink></item><item><title>SitePoint eBook Sale for Developers</title><link>http://feedproxy.google.com/~r/akselsoft/~3/TTOkLeyL_zo/sitepoint-ebook-sale-for-developers.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Mon, 05 Dec 2011 01:03:02 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-7039754081497482108</guid><description>Over on the MadFox list, Jim noted a great sale over at SitePoint:&lt;br /&gt;&lt;br /&gt;"&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;SitePoint has an interesting 24 day, digital download Christmas Sale at:&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.sitepoint.com/sale/"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="color: #0000cc;"&gt;http://www.sitepoint.com/sale/&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Books are mostly available as PDF, .epub, and/or .mobi downloads.&amp;nbsp;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;You can purchase the daily bundle or individual books."&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;Check it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-7039754081497482108?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=TTOkLeyL_zo:8VEim7hmAEY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=TTOkLeyL_zo:8VEim7hmAEY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/TTOkLeyL_zo" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/12/sitepoint-ebook-sale-for-developers.html</feedburner:origLink></item><item><title>VFP Entity Framework 4 Provider</title><link>http://feedproxy.google.com/~r/akselsoft/~3/FhYc9gzx8EQ/vfp-entity-framework-4-provider.html</link><category>VFP</category><category>LINQ</category><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Mon, 14 Nov 2011 01:49:43 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-1118900677398710370</guid><description>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Tom Brothers pointed me to a new&amp;nbsp;&lt;a href="http://vfpefprovider.codeplex.com/"&gt;project&lt;/a&gt;&amp;nbsp;he's working on: &amp;nbsp;the successor to his LINQ for VFP work: an VFP entity framework 4.0 provider.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;This means using the VFP OLEDB driver, you can easily access FoxPro data in VS 2010 Entity Framework solutions.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The project is on&amp;nbsp;&lt;a href="http://vfpefprovider.codeplex.com/"&gt;Codeplex&lt;/a&gt;&amp;nbsp;but the post noted &lt;a href="http://www.randomdevnotes.com/2011/10/vfp-entity-framework-provider-v0-5/"&gt;here&lt;/a&gt; gives full details.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Great job, Tom!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-1118900677398710370?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=FhYc9gzx8EQ:emxs-TNLCEA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=FhYc9gzx8EQ:emxs-TNLCEA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/FhYc9gzx8EQ" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/11/vfp-entity-framework-4-provider.html</feedburner:origLink></item><item><title>Review: Version Control by Example</title><link>http://feedproxy.google.com/~r/akselsoft/~3/2HWTTVV0jXU/review-version-control-by-example.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Sat, 15 Oct 2011 02:37:16 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-6512659187452981231</guid><description>&lt;div&gt;It isn't surprising that most FoxPro developers think of one primary tool when version/source control is mentioned: Visual SourceSafe. After all, this was the Microsoft tool that was heavily promoted when version control integration was first promoted in VFP. (I recall &lt;a href="http://fox.wikis.com/wc.dll?Wiki~YAlanGriver"&gt;YAG&lt;/a&gt; and &lt;a href="http://fox.wikis.com/wc.dll?Wiki~FlashCreativeManagement"&gt;Flash &lt;/a&gt;introducing their Multi-User Project Manager for FoxPro which was my first introduction to how to let multiple developers work on the same project, absolutely needing some kind of version control)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But if you, like many other VFP developers, were geographically remote, you quickly discovered SourceGear's &lt;a href="http://sourcegear.com/sos/index.html"&gt;SourceOffSite&lt;/a&gt;, a SourceSafe client that made working remotely fast and easy. SourceGear's founder, &lt;a href="http://www.ericsink.com/"&gt;Eric Sink&lt;/a&gt;, has written on version control for years and SourceGear moved from assisting SourceSafe to &lt;a href="http://sourcegear.com/vaultpro/index.html"&gt;Vault&lt;/a&gt;, a SQL Server based alternative and additional tools, such as bug-tracking. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;VFP's integration of source control isn't perfect - most of it due to its use of the DBF/FPT format for MNX, VCX, SCX and FRX - and the existing &lt;a href="http://fox.wikis.com/wc.dll?Wiki~SccText"&gt;SCCTEXT &lt;/a&gt;has been improved in the past with &lt;a href="http://vfpx.codeplex.com/releases/view/12955"&gt;alternate SCCTEXT&lt;/a&gt; and &lt;a href="http://www.foxpert.com/downloads.htm"&gt;GenXML&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More recently, however, he's written on open-source version control systems, and no surprise, SourceGear has written its own distributed version control system, Veracity (also open-source). His new book, "Version Control By Example", however, isn't just about Veracity - it's about making Version Control even more accessible than before.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He takes the reader from the history of version control (v1 - SourceSafe , v2 - centralized version control, v3 - distributed version control) and then plunges into perhaps, one of the best examples of learning Source Control in recent memory. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Eric walks us through exactly the same development scenario, using &lt;a href="http://subversion.apache.org/"&gt;Subversion&lt;/a&gt;, Git, Mercurial and &lt;a href="http://www.sourcegear.com/veracity"&gt;Veracity &lt;/a&gt;as the version control tool. With Harry and Sally, two developers separated by an ocean and culture, we start with the creation of a software project and go all the way to its version 1.0 implementation, with the challenges of code conflicts, spelling changes, commenting and of course, the inevitable, "I'm going to work alone" mentality. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But the book also describes how different software (web, commercial, etc) implement version control and the internals of how each VCS handle some of the details. While Veracity is discussed, it isn't heavily promoted - this isn't your "here's why my product rocks" book - this is a discussion piece on the strengths and weaknesses of each tool.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Eric's writing style is fun and easy to read. With most developer books, readers pick and choose what chapters you read, and while you can do this with Version Control By Example, I read it cover to cover. You might think going through the same example four times would be boring - but Eric's minor changes make it a breeze (if you're looking for the many different ways Brits can say "happy" or "angry", this is just the sprig in the thicket!) Highlighting the differences in culture helps show the "real" development process.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My favourite chapter is the Best Practices where there are gems that even experienced software developers may not consider:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) &lt;a href="http://www.ericsink.com/vcbe/html/read_the_diffs.html"&gt;Read Diffs before getting latest versions.&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) &lt;a href="http://www.ericsink.com/vcbe/html/read_the_diffs.html"&gt;Check Diffs before checking in&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) &lt;a href="http://www.ericsink.com/vcbe/html/dont_comment_out_code.html"&gt;Don't Comment Out Code&lt;/a&gt;. (throw it away! - as some developers know, I just hate unnecessary comments  comments!)&lt;/div&gt;&lt;div&gt;Version Control By Example is available free &lt;a href="http://www.ericsink.com/vcbe/html/index.html"&gt;online&lt;/a&gt;, for &lt;a href="http://www.amazon.com/Version-Control-Example-Eric-Sink/dp/0983507902/ref=pd_rhf_p_t_1"&gt;purchase&lt;/a&gt;, for download, for &lt;a href="http://www.ericsink.com/vcbe/vcbe.epub"&gt;ePub &lt;/a&gt;and more. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you're looking for a new version control system, &lt;b&gt;read it&lt;/b&gt;. If you've never heard of version control before (hello students!!), &lt;b&gt;read it&lt;/b&gt;. If you're looking at changing your version control system (some of my clients are still using VSS), read it. If you're looking for a great dev book,  read it.  I received a copy and after reading it, the best thing I could do, as I do with all the best developer books, is &lt;b&gt;share it&lt;/b&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.ericsink.com/vcbe/"&gt;Version Control by Example&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-6512659187452981231?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=2HWTTVV0jXU:vM8h6-qsJjk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=2HWTTVV0jXU:vM8h6-qsJjk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/2HWTTVV0jXU" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/10/review-version-control-by-example.html</feedburner:origLink></item><item><title>Steven Black Speaking at Southwest Fox 2011</title><link>http://feedproxy.google.com/~r/akselsoft/~3/U6HA-ACUqDU/steven-black-speaking-at-southwest-fox.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Wed, 21 Sep 2011 10:24:54 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-3152832105807192678</guid><description>&lt;div&gt;Yet another great reason to go to &lt;a href="http://www.swfox.net"&gt;Southwest Fox&lt;/a&gt; (coming next month) - Steve Black will be speaking.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As Doug says, Steve's sessions are always lively,  thought-provoking and entertaining. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He's speaking on Techniques and Niche Marketing - two topics he certainly knows well. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Southwest still has about 70 openings left (25 of which are discounted)  so be sure to book now if you plan on going.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://doughennig.blogspot.com/2011/09/steven-black-speaking-at-southwest-fox.html"&gt;Doug Hennig: Steven Black Speaking at Southwest Fox 2011&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-3152832105807192678?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=U6HA-ACUqDU:V3DY7Z7fEoQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=U6HA-ACUqDU:V3DY7Z7fEoQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/U6HA-ACUqDU" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/09/steven-black-speaking-at-southwest-fox.html</feedburner:origLink></item><item><title>Glad we spent all that time on OLE DB</title><link>http://feedproxy.google.com/~r/akselsoft/~3/08c_YDl9lTA/glad-we-spent-all-that-time-on-ole-db.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Mon, 05 Sep 2011 03:45:56 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-5652238305578089568</guid><description>&lt;div&gt;&lt;a href="http://blogs.technet.com/b/dataplatforminsider/archive/2011/08/29/microsoft-aligning-with-odbc.aspx"&gt;Microsoft Aligning with ODBC - SQL Server Team Blog - Site Home - TechNet Blogs&lt;/a&gt;: &lt;/div&gt;
&lt;br /&gt;As the SQL Team notes:&lt;div&gt;&lt;i&gt;"The next release of Microsoft SQL Server, Code Name “Denali,” will be the last release to support OLE DB. OLE DB will be supported for 7 years from launch, the life of SQL Server Code Name “Denali” support, to allow you a large window of opportunity for change before deprecation. We encourage you to adopt ODBC in any future version or new application development. &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;
&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Making this move to ODBC also drives more clarity for our C/C++ programmers who can now focus their efforts on one API."&lt;/i&gt;&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;They forgot to mention "and make all of their efforts over the past few years wasted on supporting a technology that we would eventually kill"&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Microsoft's promotion of OLE DB over ODBC is similar to their enthusiasm behind WPF and Silverlight.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WPF's Browser implementation reminds me of the old ActiveX Document technology - it looks like a Browser but it downloads a WPF core to the client - technology that has its roots over 10 years ago.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When it comes to frustrating developers, Microsoft's actions in the past few years is fast becoming the gold standard. &lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When WPF was promoted as the upcoming technology, I asked a number of developers if new .Net programmers should skip learning WinForms and move right to that technology. "No" - I was told. Yet, with the exception of the code behind work, WPF is so different that WinForm developers face a steep learning curve - so much so that many keep on building these solutions.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WPF leans into Silverlight, which is on as slippery a slope as OLE DB (in my opinion). WPF's saving grace is XAML, which hopefully Microsoft keeps around for 10 years,  3 years longer than OLEDB. &lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the big pushing points for developers moving to VFP 9 was OLE DB, which fits into Visual Studio and .Net. &lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What was the point?&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Imagine what would have happened if those developer resources had been moved to other benefits from the FoxPro platform. Politics win, developers lose.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;a href="http://technorati.com/tag/FoxPro" rel="tag"&gt;FoxPro&lt;/a&gt; &lt;a href="http://technorati.com/tag/VFP" rel="tag"&gt;VFP&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-5652238305578089568?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=08c_YDl9lTA:9-ENofMHAXs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=08c_YDl9lTA:9-ENofMHAXs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/08c_YDl9lTA" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/09/glad-we-spent-all-that-time-on-ole-db.html</feedburner:origLink></item><item><title>On Modern Day Games</title><link>http://feedproxy.google.com/~r/akselsoft/~3/8-VbJ6YHLv0/on-modern-day-games.html</link><category>Random thoughts</category><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Mon, 29 Aug 2011 06:44:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-359272804457030516</guid><description>You see them advertised and they almost seem like a desperate attempt by companies like Parker Bros and Hasbro to recreate an era gone by: that of the family game night and the board game. &lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In some ways, they have returned. Note the popularity of Games with Friends on iPhone - but many of the games espoused are games that SHOULD rightfully still be popular because they are unpredictable. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While everyone who has ever played Monopoly always has a favorite game piece and property, the way the game unfolds is almost always a game of chance. Like playing with a deck of cards, each game is unique.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Come forward (or back) to the 80s' and the introduction of Trivial Pursuit. While there are some diehards who would play TP using the board and the little pies, the game evolved into more of a "pull out a card and let's see what you know" type of game. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Moving further into the 90s, and you see more of these games. SongBurst (one of my favorites) tests your music ability based on songs from a particular era (50s - 80s - note this was BEFORE the Singing Bee TV show)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;The thing most of these games suffer from is "age". Not just the age of the players but rather when they came out.  Playing a game of  Trivial Pursuit Family Edition requires that the "kids" group be in their 30s now. A question like "how many planets are there" suffers from days gone by.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Heck, going back in time, my parents had a game of Shakespeare  where you had to complete the sonnets (try playing that with the kids today). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Think of the fad a while back: the Murder Mystery sold in a box. You could only ever play the game once - after that, it was spoiled.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some games have tried to recapture the glory of the game of chance but with some silliness: Pictionary, Cranium (which combined a bunch of games including Charades). One particular favorite is Scattergories - where you write down words based on a category. If the categories don't really fit or you're tired of the same basic answers, why not create your own? It's a game designed to be "improvised"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This takes me to my main post. Many games these days have become computerized, offering DVDs of data or the like. So they all use some kind of storage device for their questions and answers. So my question is: are they using storage devices from the 80s?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Our daughter bought the game CatchPhrase, where you try to get the other player to say the word or phrase without saying it. Sounds like a classic game, right? And now that it's computerized, you know you aren't going to get the same questions repeated regularly. Heck, Trivial Pursuit would give you 1000 cards with 8 questions each and only if you played it every night for a year would you begin to remember them (and you know who they are, if you have ever played with them). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Even with a 1GB memory stick and averaging a phrase with 100 letters in it, you should easily have over 10,000,000 phrases - while you may get a few repeats, simply because of random polling, it's highly unlikely you would get the same set of questions in one sitting. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CatchPhrase has approximately 11 categories and phrases Everything from words like "Spill the beans" and "hot potato" to "Dick Cheney", "Weapons of mass destruction" ,"Hannah Montana" and "Top Chef". Yet, in the two times I've played the Food category, 90% of the phrases are the same. So maybe it's just Food, right? Nope - same thing with Everything. &lt;a href="http://en.wikipedia.org/wiki/Catch_Phrase_(game)"&gt;They&lt;/a&gt; say it contains 10,000 words.  That means 910 words per category.  So it doesn't really matter if they have a 1000 new words for the current generation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You'll run out sooner or later.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Is a 1GB stick really that hard to put into a game like this?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Better yet, can't they put a Wifi card in them and get updates online?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-359272804457030516?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=8-VbJ6YHLv0:XZ8ihiSZkxg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=8-VbJ6YHLv0:XZ8ihiSZkxg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/8-VbJ6YHLv0" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/08/on-modern-day-games.html</feedburner:origLink></item><item><title>Fun in the SQL Transaction Log</title><link>http://feedproxy.google.com/~r/akselsoft/~3/oPCoAseS9Eg/fun-in-sql-transaction-log.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Mon, 29 Aug 2011 06:43:07 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-9152565569343156238</guid><description>I've written about the SQL Transaction log &lt;a href="http://akselsoft.blogspot.com/2007_03_01_archive.html"&gt;before&lt;/a&gt; and since some of my clients don't have some of the great logging tools, I often find myself going back to the&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;select * from ::fn_dblog(NULL,NULL)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Recently, at one client, I've come across a bizarre problem that defies easy analysis. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The VFP application uses cursor adapters to talk to the SQL Server and in one of the processes, updates one table while adding a record to two other tables. In certain circumstances, the two new records were being added but the update of the other table would not. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While I'm still tracking down what is actively going on, I wanted to note some of the interesting aspects of the SQL Log and pose some questions &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A great &lt;a href="http://www.sqlservercentral.com/Blogs/Hugo/default.aspx?PageIndex=6"&gt;post &lt;/a&gt;in SQLServerCentral broke down the various operation types but it wasn't clear on others:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-9152565569343156238?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=oPCoAseS9Eg:xWTYks0gO7Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=oPCoAseS9Eg:xWTYks0gO7Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/oPCoAseS9Eg" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/08/fun-in-sql-transaction-log.html</feedburner:origLink></item><item><title>LINQ to VFP</title><link>http://feedproxy.google.com/~r/akselsoft/~3/NNRU-2CUErA/linq-to-vfp.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Mon, 29 Aug 2011 06:42:32 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-1201111948762225407</guid><description>&lt;div&gt;When asked about the state of Visual FoxPro, I often point developers to the &lt;a href="http://vfpx.codeplex.com/"&gt;VFPX &lt;/a&gt;site on CodePlex. After all, that's where the majority of VFP source code is and where many members of the VFP community place the most of funkalicious work they do (Jim Nelson continues to amaze with his PEM Editor, which should likely be renamed IDE/X, because he's now covering far more than just Projects, Events and Methods.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But there are OTHER places to find great VFP Code.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.foxite.com/"&gt;Foxite&lt;/a&gt; continues to get posts with very cool samples and there are other codeplex sites as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But recently, I was looking for ways to work with VFP Data in .Net and came across:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://linqtovfp.codeplex.com/"&gt;LINQ to VFP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Yep! Tom Brothers has built an iQueryable toolkit for FoxPro. Started in 2009, the latest version was updated on January 9th, 2011.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://technorati.com/tag/FoxPro" rel="tag"&gt;FoxPro&lt;/a&gt; &lt;a href="http://technorati.com/tag/VFP" rel="tag"&gt;VFP&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-1201111948762225407?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=NNRU-2CUErA:utVoFCh2HtY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=NNRU-2CUErA:utVoFCh2HtY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/NNRU-2CUErA" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/08/linq-to-vfp.html</feedburner:origLink></item><item><title>Multiple Class Implementations</title><link>http://feedproxy.google.com/~r/akselsoft/~3/mM3AFV96qTs/multiple-class-implementations.html</link><category>Handy Language Features:</category><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Mon, 29 Aug 2011 06:42:08 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-843430464968624331</guid><description>I'm doing a variety of work in both C# and VB.Net these days (as well as VFP). &lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Every now and then, I come across helpful concepts in the languages that are likely obvious to most developers but may not be known by all of them. If I find something that is of particular interest, I'll put it under these types of posts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Today, I had a class that implemented multiple interfaces. Both of these interfaces had a similar method: SetReadOnly. So you have two choices:&lt;/div&gt;&lt;div&gt;1. Create a new interface that this class can implement that has the SetReadOnly interface so I only have to implement the one&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Create two methods that implement that particular method.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Most people are used to VB.Net's handling for Select Case statements where you can put multiple conditions on one line:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Select &lt;/div&gt;&lt;div&gt;Case "A","B","C"&lt;/div&gt;&lt;div&gt;End Select&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What I wasn't aware of was that you can use it for Implements as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you add the "Implements xxxx", VS automatically adds the various functions that you have to implement. So in this case, I received TWO methods:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Public Function SetReadOnly() Implements Interface1.SetReadOnly&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and then &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Public Function SetReadOnly1() Implements Interface2.SetReadOnly&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I asked around briefly if this was necessary. As it turns out, it's not. You can easily do:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Public Function SetReadOnly Implements Interface1.SetReadOnly, Interface2.SetReadonly&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;End Function&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Handy way of reducing code.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-843430464968624331?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=mM3AFV96qTs:0izVEoyUlSM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=mM3AFV96qTs:0izVEoyUlSM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/mM3AFV96qTs" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/08/multiple-class-implementations.html</feedburner:origLink></item><item><title>Southwest Fox 2011 Giveaways</title><link>http://feedproxy.google.com/~r/akselsoft/~3/DAfcY_H4htM/southwest-fox-2011-giveaways.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Wed, 24 Aug 2011 04:19:42 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-3758821482855285696</guid><description>&lt;div&gt;Nothing like good products for attendees. Doug reports that &lt;a href="http://www.swfox.net/"&gt;Southwest Fox&lt;/a&gt; will have draws for three copies of DBi Technologies &lt;a href="http://www.dbi-tech.com/ProductPage_StudioControlsCOM.aspx"&gt;Studio Controls&lt;/a&gt; for COM.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As someone who has covered the dbiTech controls for many &lt;a href="http://www.aksel.com/whitepapers/ActiveXControls.htm"&gt;years&lt;/a&gt;, this is an awesome product offering.  The Appointment Scheduling alone is a great reason to have this in your toolbox but there's a lot more where that came from.&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;a href="http://doughennig.blogspot.com/2011/08/southwest-fox-2011-news.html"&gt;Doug Hennig: Southwest Fox 2011 News&lt;/a&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wonder what other goodies are in store for attendees.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-3758821482855285696?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=DAfcY_H4htM:PWZY5zXKIEE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=DAfcY_H4htM:PWZY5zXKIEE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/DAfcY_H4htM" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/08/southwest-fox-2011-giveaways.html</feedburner:origLink></item><item><title>UI Evolution vs Revolution (Part 1): Scroll Bars</title><link>http://feedproxy.google.com/~r/akselsoft/~3/F1dxreYfLmU/ui-evolution-vs-revolution-part-1.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Sun, 21 Aug 2011 02:34:08 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-2804228689868796516</guid><description>&lt;div&gt;(this post started as a comment so I might come back to it - or I might just start a series on UI changes)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I read&lt;/div&gt;&lt;a href="http://www.pcmag.com/article2/0,2817,2389437,00.asp?kc=PCRSS03079TX1K0000585"&gt;Why Windows 8 Might Fail | John C. Dvorak | PCMag.com&lt;/a&gt; ,typical Dvorak, whom I've been reading for , ouch, just about my entire life in computers. That seems strange to write. But every article I read on Lion and Windows 8 seems to talk about this strange trend of removing scrollbars. (Comment starts now):&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;The proof is scrollbars? Really?!?!? &lt;/span&gt;&lt;br /&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;How many of you actually use scrollbars? I'm not talking about moving up and down through a page, I'm talking about using the scrollbar as a tool instead of just a means of identifying where you are on a page.&lt;/span&gt;&lt;br /&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;If you're on a laptop, chances are you either a) use the keyboard or b) have gesture support which means you gesture "up" to move the page down.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;If you're on a PC, I still say the above still counts. New users will be confused initially but they will get it. &lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;If you're on a Mac, you're used to multi-gesture already.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;Scroll-bars work as a tool to indicate where you are. They aren't gestures - get over it. Granted, if they changed the visual clue (the thumb being at the top of the page meaning they were at the bottom), then it's a big thing. But no one is talking about this. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;If you believe in gestures, pulling something to the right makes the left move visible. Pulling something down shows the top of it. (try it). A scroll bar on a book would mean moving the thumb to the right would take you to the end. But with gestures, you would PULL the page to the left. &lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;Getting rid of scrollbars makes sense only if you start using Up and Down arrows on the page to indicate there is more or less text.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;But Letting the user choose how scrollbars work is about as idiotic as letting users reverse what mouse buttons do what. How annoying is it when you are used to using a Right mouse and then go to someone who uses a left mouse? We're not talking about moving to a different country and seeing the wheel on the different side of the car or reading right to left instead of left to right - we're talking about letting the user decide that the reverse method of doing something is the right way. Apple had this right years ago - put your mouse on whatever side you want but don't change how the mouse works.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;The idea of an "evolutionary" interface is tough to build - because users all "evolve" at a different pace. That is why it's taken 10 years for people to start getting over XP. &lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;Apple's approach has always been to revolutionize the interface and then slowly evolve certain aspects of it but then revolutionize it again. (System 1-7, Newton, OS/X, iPod, iPhone/iPad). Don't go to the "Apple steals what works" argument - this is their history. &lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; line-height: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;Microsoft's biggest successful contribution to revolutions was Excel but I'm sure there are others. The Office Ribbon wasn't a revolution but it came close. How successful is it really? What Microsoft "revolution" do you like?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, Verdana, sans-serif; font-size: 13px;"&gt;[Update: Yes, I would say Kinect makes a pretty good case for interface revolution, especially in how it allows developers to make it better.]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-2804228689868796516?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=F1dxreYfLmU:yXrrtZCX4eQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=F1dxreYfLmU:yXrrtZCX4eQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/F1dxreYfLmU" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/08/ui-evolution-vs-revolution-part-1.html</feedburner:origLink></item><item><title>Developer's Code</title><link>http://feedproxy.google.com/~r/akselsoft/~3/ZxPsJZF8Agg/developers-code.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Thu, 16 Jun 2011 06:56:33 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-7763833523329198140</guid><description>&lt;a href="http://www.thedeveloperscode.com/"&gt;Lessons, advice, and unadulterated opinions on web development - The Developer&amp;#39;s Code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Great document on a variety of lessons learned from development. My favorite (so far): #4 - The "Ivory Tower" Architect is a myth. &lt;br /&gt;&lt;br /&gt;Even if it was written by a young whippersnapper (KA WAI CHEUNG) at the age of 32. Someone should have suggested putting a year in the copyright, though. It was first posted around March of this year.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technorati.com/tag/FoxPro" rel="tag"&gt;FoxPro&lt;/a&gt; &lt;a href="http://technorati.com/tag/VFP" rel="tag"&gt;VFP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-7763833523329198140?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=ZxPsJZF8Agg:DGLk1NNxun0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=ZxPsJZF8Agg:DGLk1NNxun0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/ZxPsJZF8Agg" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/06/developers-code.html</feedburner:origLink></item><item><title>Southwest Fox 2011 Speakers and Sessions Announced</title><link>http://feedproxy.google.com/~r/akselsoft/~3/0KZ2yj5OIWY/southwest-fox-2011-speakers-and.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Wed, 01 Jun 2011 01:56:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-5350815910456647668</guid><description>&lt;a href="http://doughennig.blogspot.com/2011/05/southwest-fox-2011-speakers-and.html"&gt;Doug Hennig&lt;/a&gt; made a post of this but SW Fox looks like it will be really blast this year!&lt;br /&gt;&lt;br /&gt;True to form, it's like a diving board for FoxPro developers to explore new software development techniques and technologies in all their glory.&lt;br /&gt;&lt;br /&gt;VFP Techniques sessions include Class Design, subqueries, event-binding, Windows 7, cursor adapters, legacy code, multi-threading.&lt;br /&gt;&lt;br /&gt;New Technologies: Thor, Lightswitch, Cloud Storage, GoogleFy, Mercurial , jQuery and Silverlight.&lt;br /&gt;&lt;br /&gt;As &lt;a href="http://kevinragsdale.net/post/2010/08/12/Two-Great-Reasons-To-Attend-Southwest-Fox-This-Year.aspx"&gt;many&lt;/a&gt; have posted before, Southwest Fox is a whole series of conferences in one: there's the "actual" conference, the pre-conference, the post-conference, the "practice run session" previews that you can see as speakers practice their talks and then the "networking" conference, where you can talk with other FoxPro developers about how they do what they do.&lt;br /&gt;&lt;br /&gt;But also exciting are the Pre and post &lt;a href="http://www.swfox.net/workshops.aspx"&gt;shows&lt;/a&gt;: MVC3, SmartPhone and FoxInCloud. The annual Web Connection conference is being held right before the show and then there's a SilverSwitch World Roadshow right after.&lt;br /&gt;&lt;br /&gt;Sounds like October 26-29th, FoxPro developers should look to vacation in Arizona --- Gilbert, Arizona to be exact.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technorati.com/tag/FoxPro" rel="tag"&gt;FoxPro&lt;/a&gt; &lt;a href="http://technorati.com/tag/VFP" rel="tag"&gt;VFP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-5350815910456647668?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=0KZ2yj5OIWY:jxiXB66z0qw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=0KZ2yj5OIWY:jxiXB66z0qw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/0KZ2yj5OIWY" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/06/southwest-fox-2011-speakers-and.html</feedburner:origLink></item><item><title>Why The New Guy Can’t Code - Really?!?!</title><link>http://feedproxy.google.com/~r/akselsoft/~3/hxMBxcCjQQ4/why-new-guy-cant-code-really.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Sun, 08 May 2011 02:35:32 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-724586113935182258</guid><description>&lt;div&gt;&lt;set sarcasm="" on=""&gt;&lt;/set&gt;&lt;/div&gt;&lt;div&gt;Thank heavens Jon Evans posted &lt;a href="http://techcrunch.com/2011/05/07/why-the-new-guy-cant-code/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29"&gt;Why The New Guy Can’t Code&lt;/a&gt;, an explanation for all software development shops to read before hiring someone. This article explains that the evils of all poor hirings are:&lt;/div&gt;&lt;div&gt;a) Microsoft's fault&lt;/div&gt;&lt;div&gt;b) old systems&lt;/div&gt;&lt;div&gt;c) hungarian notation&lt;/div&gt;&lt;div&gt;d) not female&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's not the fault of poor HR, a bad interview, or even the lack of the supervisor's ability to explain a problem - no, the above are the reasons that the new developer "can't seem to get up to speed", "shows basic ignorance", and produces work that "is so kludgey that it...must be rewritten"&lt;/div&gt;&lt;div&gt;&lt;set sarcasm="" off=""&gt;&lt;/set&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK, I'll agree with a few points:&lt;/div&gt;&lt;div&gt;1. The brain-teaser questions. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sure, they're fun - HR loves them because they can remember them - but ultimately, they were designed to show how people think about problems and how people arrive at solutions. They aren't actually a bellweather, especially as most of them are posted online. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Can you imagine a MacGyver interview? "You're on a plane plunging to the ground, you have a paperclip and a coat-hanger and 10 people to save, how do you do it?"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How do you test knowledge? Yes, you ask them to solve a basic problem. Really though? The best interviews I've ever had or even given involved giving a real world scenario. "We're building such and such a system, how would you do it?" If you're what the company wants, you'll likely be describing the same system they are building. If you're good, you'll give some ideas that they may not have thought of (not that they would let on). If you're great, they'll simply walk out going " I have to hire this person". &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Old Systems.&lt;/div&gt;&lt;div&gt;Yes, we all get that the new systems provide features that no one had when growing up and learning systems. That doesn't mean those skills are not valuable. Maybe it's just me but I wonder how I would get along if everything changed and we lived in a world where electricity was &lt;a href="http://www.gutenberg.org/ebooks/1249"&gt;banned&lt;/a&gt; or forgotten.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm not saying that you have to know how to forge an steel but I remember years ago someone arguing for procedural programming over OOP and guess what? Today there are people who will argue for MVC or MVVM patterns or writing 1s and 0s over 0s. The fact is, learning programming is the &lt;a href="http://www.charlespetzold.com/code/"&gt;same &lt;/a&gt;- the tools make it easier, but they are still just tools. Learning &lt;a href="http://www.cc2e.com/"&gt;good programming techniques&lt;/a&gt; is the same, whether it be C+ or Python and Ruby.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Hungarian notation.&lt;/div&gt;&lt;div&gt;OK, I know Jon didn't go after hungarian notation as a concept - he merely used it as an example of someone making tons of money from an idea implemented by Microsoft but still, is hungarian "the dumbest widely-promulated idea in the history of the field"? While I'm sure a**hole programmers like to think that code should be unreadable except by themselves, MOST developers recognize that code should be read-able. While a variable named CustomerPhoneNumber is obviously a string even though it's named Number; if your newest hire is from a foreign country, they may not know that SocialSecurityID should be a string but EmployeeID is a numeric field because of the way a system was designed. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hungarian notation does solve a particular problem for any language. Is it perfect? No. Is it overused? Yes ; but then so is any naming convention that results in a variable named TableWasRetrievedByInvalidNumber (while a fabrication, naming variables descriptively have been taken way too far).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In retrospect, it's crazy to think that some people still have horses to travel, when there are cars or Segways. Despite the fact that roads were only built the size they are to accommodate them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. Not Female&lt;/div&gt;&lt;div&gt;Not even going there. I'm sure there are female programmers that suck, even if Jon's never met one.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't know Jon Evans, a fellow Canadian, but he calls himself a software engineer yet his &lt;a href="http://rezendi.com/aboutauthor.htm"&gt;history&lt;/a&gt; shows very little software engineering. He graduated from Waterloo and spent most of his time writing novels. While I'm sure he's done some software development, most of it appears to be in order to scrape by while writing. I'm sure the post was written with the best of intentions..actually, I think it was written more to incite than to explain.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Maybe the real message got lost in the wording: "Don't interview anyone who hasn't accomplished anything." As he accurately states: there is no excuse for software developers who don't have "something" that they can point to and say "I did this, all by myself!"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That isn't something new, though. If you hired someone without seeing what they could do, for ANY field, except maybe theoretical physics, you likely shouldn't be hiring. I wouldn't hire a writer without asking them to write something. I wouldn't hire a tester without either a) seeing them test or b) know their testing work. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And this isn't just about the new guy - there are lots of "old" guys who have gotten to the point where they rest on their laurels and don't improve. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The  comments on this post are what make this article: &lt;/div&gt;&lt;div&gt;a) Pair program a recruit with your top engineer for 30 minutes. (hell, I'd say any engineer)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;b) train before you hire&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;c) hire them to produce&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If the purpose of the article was to generate conversation (and is there any other reason?), then it succeeded.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-724586113935182258?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=hxMBxcCjQQ4:5CCb9ZWmhQU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=hxMBxcCjQQ4:5CCb9ZWmhQU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/hxMBxcCjQQ4" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/05/why-new-guy-cant-code-really.html</feedburner:origLink></item><item><title>7 dirty consultant tricks (InfoWorld)</title><link>http://feedproxy.google.com/~r/akselsoft/~3/XxPQ_SWKGFQ/7-dirty-consultant-tricks-infoworld.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Sun, 08 May 2011 03:59:02 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-57875171046993396</guid><description>InfoWorld had a neat article a few days back called &lt;br /&gt;&lt;a href="http://www.infoworld.com/print/157165"&gt;7 dirty consultant tricks (and how to avoid them)&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Those of us who are consultants should know that these are being done and should be pretty angry about it. Most of the practices listed here are the reasons why the right consultants (that would be us) don't get the jobs we bid on.&lt;br /&gt;&lt;br /&gt;Those who run consulting firms should know about these and know that they are the best way to stay in business.&lt;br /&gt;&lt;br /&gt;I wrote an response to this on my own web site more but thought I would share some of the immediate takeaways here:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. &amp;nbsp;If you (as a client) aren't starting your project with a measurable result by a specific date, then you need to break your project INTO those results first. Otherwise, assemble an internal team and maybe ask for some guidance but keep the deliverables in mind at all times. If you don't, it becomes a money pit.&lt;br /&gt;&lt;br /&gt;2.&amp;nbsp;I often look at my work as a consultant as being similar to a good plumber: if you want me to fix a problem, I'll do it as quickly as possible so I can move onto the next problem. If you want me to re-design or identify possible improvements to your plumbing system, it will take longer but I'll do it right.&lt;br /&gt;&lt;br /&gt;3.&amp;nbsp;Best thing to do is MEET with the actual team who will be doing the work.&lt;br /&gt;&lt;br /&gt;4. When dealing with fixed prices,&lt;br /&gt;I always think it's in the best interest of the client to look at per-diems but with a cap. It allows the consultant their opportunity to shine through but also limits the company's exposure.&lt;br /&gt;We once had our floors done by a company who looked at the floor and said "about $1600 labour based on x/day". By the end of the project, it was over $3400 because they didn't account for it right. This was a per-diem project and I should have thought first to put a cap on it. At the end, they still tried to weasel out of finishing the work and left us with a half-ass job.&lt;br /&gt;&lt;br /&gt;It's an interesting article - typical of InfoWorld who often target consultants in their columns but it's also an opportunity for consultants to identify and address them head-on, especially when dealing with new clients (who may read InfoWorld).&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-57875171046993396?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=XxPQ_SWKGFQ:uyJOAHVgT5M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=XxPQ_SWKGFQ:uyJOAHVgT5M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/XxPQ_SWKGFQ" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/04/7-dirty-consultant-tricks-infoworld.html</feedburner:origLink></item><item><title>WP7/IE9 Developer Bootcamp - Ottawa</title><link>http://feedproxy.google.com/~r/akselsoft/~3/0LGrFRUcEog/wp7ie9-developer-bootcamp-ottawa.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Fri, 15 Apr 2011 14:20:20 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-2041636624468184162</guid><description>&lt;div&gt;Something for the local Ottawa group...Microsoft Ottawa is doing a Developer Bootcamp on May 11th. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While some things don't sound that exciting ("Enhancing Pinned Sites with IE 9"), the HTML 5 session does look pretty cool. Despite Hachamovitch's recent &lt;a href="http://www.computerworld.com/s/article/9215825/Browser_rivals_mock_Microsoft_s_native_HTML5_claims"&gt;statements&lt;/a&gt; of "native HTML5", IE9's improved support for web standards is a good thing all around. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I look forward to building web sites that every browser can support. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That said, look to the &lt;a href="http://www.thefoxshow.com"&gt;FoxShow &lt;/a&gt;next week for an interesting interview with the &lt;a href="http://www.foxincloud.com"&gt;FoxInCloud&lt;/a&gt; guys.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032484141&amp;amp;Culture=en-CA"&gt;WP7/IE9 Developer Bootcamp - Ottawa&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technorati.com/tag/FoxPro" rel="tag"&gt;FoxPro&lt;/a&gt; &lt;a href="http://technorati.com/tag/VFP" rel="tag"&gt;VFP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-2041636624468184162?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=0LGrFRUcEog:LJ36zxaSDNw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=0LGrFRUcEog:LJ36zxaSDNw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/0LGrFRUcEog" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/04/wp7ie9-developer-bootcamp-ottawa.html</feedburner:origLink></item><item><title>Reality of  Unit Testing (Humour)</title><link>http://feedproxy.google.com/~r/akselsoft/~3/W7lByh-ZqeE/reality-of-unit-testing-humour.html</link><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Sun, 08 May 2011 04:20:41 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-5533506462833933267</guid><description>&lt;div&gt;If you haven't seen it, Dilbert for 3/24 sums up the way some unit testing zealots like to approach unit testing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/100000/10000/6000/600/116640/116640.strip.gif" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="99" src="http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/100000/10000/6000/600/116640/116640.strip.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.dilbert.com/strips/comic/2011-03-24/?Page=4"&gt;Dilbert comic strip for 03/24/2011 from the official Dilbert comic strips archive.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-5533506462833933267?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=W7lByh-ZqeE:T_w_v5--v7Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=W7lByh-ZqeE:T_w_v5--v7Y:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/W7lByh-ZqeE" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/03/reality-of-unit-testing-humour.html</feedburner:origLink></item><item><title>Southwest Fox 2011 Looking for Speakers</title><link>http://feedproxy.google.com/~r/akselsoft/~3/iP8h4Rl4DvY/southwest-fox-2011-looking-for-speakers.html</link><category>swfox</category><category>FoxPro</category><author>noreply@blogger.com (Andrew MacNeill)</author><pubDate>Wed, 09 Mar 2011 14:29:14 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5492774.post-5096973271468728469</guid><description>&lt;span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 16px;"&gt;&lt;a href="http://doughennig.blogspot.com/2011/03/southwest-fox-2011-call-for-speakers.html"&gt;Doug Hennig: Southwest Fox 2011 Call For Speakers&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;Southwest Fox is gearing up for the 2011 conference season by issuing an open call to speakers.&lt;/div&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;Go to the&amp;nbsp;&lt;a href="http://www.swfox.net/callforspeakers.aspx"&gt;Speakers&amp;nbsp;&lt;/a&gt;page for details.&lt;/div&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;As with last year, they are looking for a wide variety of topics from core VFP, extending VFP, new technologies and becoming better developers.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;This year's SW Fox is&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; line-height: 24px;"&gt;October 26-29, 2011&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 16px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; line-height: 24px;"&gt;SanTan Elegante Conference &amp;amp; Reception Center/Legado Hotel&lt;br /&gt;Gilbert, AZ&lt;/span&gt;&lt;/span&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;"&gt;Session proposals are due by March 28.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif; font-size: 16px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5492774-5096973271468728469?l=akselsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=iP8h4Rl4DvY:cd9u3l-o9kk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/akselsoft?a=iP8h4Rl4DvY:cd9u3l-o9kk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/akselsoft?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/akselsoft/~4/iP8h4Rl4DvY" height="1" width="1"/&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://akselsoft.blogspot.com/2011/03/southwest-fox-2011-looking-for-speakers.html</feedburner:origLink></item></channel></rss>

