<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BKeeney Briefs &#187; Opinion</title>
	<atom:link href="http://www.bkeeneybriefs.com/tag/opinion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bkeeneybriefs.com</link>
	<description>Software Development Using REAL Studio</description>
	<lastBuildDate>Sat, 04 Feb 2012 19:36:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Recordset.idxField vs Recordset.Field</title>
		<link>http://www.bkeeneybriefs.com/2012/02/recordset-idxfield-vs-recordset-field/</link>
		<comments>http://www.bkeeneybriefs.com/2012/02/recordset-idxfield-vs-recordset-field/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 19:36:40 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[REALbasic]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[REAL Studio]]></category>
		<category><![CDATA[recordset]]></category>
		<category><![CDATA[Speed]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=1037</guid>
		<description><![CDATA[Yesterday I was complaining about my OPC project and I&#8217;ve added a few more bullet points in the comments section.  This morning I added a comment about how the idiot developer used Recordset.idxField(index) rather than Recordset.Field(&#8220;FieldName&#8221;).  I hate it when developers use idxField because it makes it tough to read and I constantly have to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bkeeneybriefs.com/2012/02/dear-idiotic-developer/" target="_blank">Yesterday</a> I was complaining about my OPC project and I&#8217;ve added a few more bullet points in the comments section.  This morning I added a comment about how the idiot developer used Recordset.idxField(index) rather than Recordset.Field(&#8220;FieldName&#8221;).  I hate it when developers use idxField because it makes it tough to read and I constantly have to go back and look at the query and count fields.  In the short term I modify the query string in the IDE and put index comments in the in string.  Something like this:</p>
<p>s = &#8220;Select field1, &#8221; _ //1</p>
<p>+ &#8220;field2, &#8221; _ //2</p>
<p>and so on but it&#8217;s still a pain.</p>
<p>Anyway, Christian S. posted a comment that got me thinking.  He said:</p>
<blockquote><p>idxField is good. It can speedup applications a lot.</p></blockquote>
<p>Is that really true?  I have never tested it so I created a little test application using an actual query from the project I&#8217;m working on.  I run the same query twice.  The first time I loop through the recordset using nothing but idxField and the second time I use nothing but field which uses the field name.  The results are interesting and confirmed my suspicions.</p>
<p>If I run my two functions just once and bring back only 1 record and do one read in the function the idx field is indeed faster by about 50%.  However my testing differences range from 6 to 300 microseconds faster and while I didn&#8217;t average out all the results, I&#8217;d say most times it was around 60 microseconds faster.  I ran this test a lot to see if I would see a wider variation but did not.  My 300 microseconds difference happened just once out of about 25 runs.</p>
<p>I changed my query so that instead of bringing back 1 record it brings back over 700 and I loop through the recordset and then do the same same test.  IdxField comes back about 15% faster.  When I loop through the same row 10,000 times there is no statistical difference which means that while Field is slower it&#8217;s a one time hit since my tests show that even doing the same pull 10,000 times the total difference between the two functions is still only about a 10-15% difference in overall speed.</p>
<p>My conclusion is that yes, idxField <em>IS</em> faster than using Field but to say it speeds up an application &#8220;a lot&#8221; is an exaggeration.  In 10 years of Real Studio consulting work I have rarely done an application that requires that much speed from the queries.  If you have any sort of graphical user interface I think it safe to say that updates to the controls on screen are significantly slower than pulling data out of the recordset.  That&#8217;s NOT to say that the query itself is fast because often times that is the most limiting factor.</p>
<p>I won&#8217;t discourage you from using idxField.  If you do, though, I really encourage you to use constants named after your fields.  So perhaps you create a constant named kField1 and the value is 1 for the first field in your recordset.  The only drawback to this approach is that you (or the developer after you) will change the SQL query and all the code using idxfield no longer works because your field order is different.</p>
<p>I much prefer the explicitness of using Field because I never have to worry if I change my field order.  It&#8217;s very readable.  It&#8217;s not perfect and there are plenty of reasons why it&#8217;s not the best (there&#8217;s a reason why we use <a href="https://www.bkeeney.com/realbasic/activerecord" target="_blank">ActiveRecord</a> in a lot of projects).  Use what&#8217;s best for you and what&#8217;s best for the five years from now.</p>
<p>What say you, RB developers?</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2012/02/recordset-idxfield-vs-recordset-field/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Dear Idiotic Developer</title>
		<link>http://www.bkeeneybriefs.com/2012/02/dear-idiotic-developer/</link>
		<comments>http://www.bkeeneybriefs.com/2012/02/dear-idiotic-developer/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 21:48:34 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Customers]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[REALbasic]]></category>
		<category><![CDATA[REAL Studio]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=1031</guid>
		<description><![CDATA[Dear Idiotic Developer: OPC is our internal slang for Other Peoples Code.  I&#8217;ve talked about this before but just in case you&#8217;ve never been here before, OPC projects are always the most dangerous kind of projects to work on.  They can quickly become a rats nest and cause no end of grief mainly because you [...]]]></description>
			<content:encoded><![CDATA[<p>Dear Idiotic Developer:</p>
<p>OPC is our internal slang for Other Peoples Code.  I&#8217;ve talked about this before but just in case you&#8217;ve never been here before, OPC projects are always the most dangerous kind of projects to work on.  They can quickly become a rats nest and cause no end of grief mainly because you have to figure out what the original programmer (or programmers) was thinking.  Because it&#8217;s a Friday afternoon and I&#8217;ve been up to my elbows in digging through your OPC project all week here is my list of complaints:</p>
<ul>
<li>Poor variable names:  Variables such at &#8216;tmpd&#8217; and &#8221;bDbDl&#8221; don&#8217;t tell me anything.  Long variable names aren&#8217;t going to kill you and using Real Studio&#8217;s autocomplete will (usually) make this a non-issue.</li>
<li>Three Letter Acronym (TLA) Variable names:  Stop being lazy and use some real words.  Obviously you didn&#8217;t expect someone else to read your code in five years.  If I ever find you I promise I will mock you.  I hope you are doing a better job of naming variables in your new job than your last one!</li>
<li>Poor method names:  Methods named &#8220;SelAcc&#8221; and &#8220;DoWork&#8221; don&#8217;t give me any type of clue on what it does &#8211; especially when you have no comments in your code.</li>
<li>Nested If-Then Blocks from Death:  There are times you need to do this but it&#8217;s been my experience if you&#8217;ve got more than 2 or 3 at any given time your method is too long and should be broken up into smaller methods.  Keep it simple.  Complexity kills.</li>
<li>Multiple nested loops from death:  See nested if-then blocks from death above.</li>
<li>Long methods:  This kinds of goes with the previous two.  If your methods scroll and scroll and scroll you have a problem.  If you had a problem in that method (i.e. it throws an exception) good luck finding the problem.  Break it up into smaller chunks of code.  Perhaps you can take the 100 lines of code you have the first part of your IF statement and break that out?  Just sayin&#8217;.</li>
<li>Controls using the default names:  Really, you expect me to figure out the difference between TextField1 and TextField11 by making me look at the UI?  Next time, please use a name that will mean something to you in code.</li>
<li>Controls using generic names:  On the flip side you used a name different than the default one.  Good for you.  Perhaps next time you can use something other than &#8216;s&#8217; for its name because it took me a while to figure out it was damn text field rather than just a plain string.</li>
<li>Constant names versus property names:  Quite ingenious the way you used the same constant name as a property name so that the IDE doesn&#8217;t help me in autocomplete.  Thanks.  That&#8217;s ones special.</li>
<li>Stop trying to be fancy:  I get it.  You went to whiz bang college and learned some cool programming tricks and techniques and you&#8217;re pretty smart.  Remember, you&#8217;re writing for your boss/client/person who signs your paycheck so don&#8217;t forget that you&#8217;ll eventually move on/get fired/hit by a bus.  Be nice to the poor bastard that has to learn your code after you.  Assume they do not have your skill set.</li>
<li>No comments/documentation.  Of course given all the previous bullet points this one isn&#8217;t surprising.  Would it have killed you to put a sentence &#8211; ONE SINGLE &amp;*^!@% SENTENCE &#8211; describing what a method does?  If you hadn&#8217;t done all of the above items too that&#8217;s all it would have taken but instead you have ZERO comments in 10,000+ lines of code.</li>
</ul>
<p>But, I must say thanks for reminding me why I don&#8217;t like working on OPC projects.  You&#8217;ve taught me that just saying &#8220;no&#8221; in future projects will make my life easier and less complicated.  My wife, kids, and dog will like me better if I don&#8217;t take another OPC project.</p>
<p>I think if I had any advice for programmers just starting out.  Spend six months fixing Other Peoples Code (OPC) and see what drives you absolutely bonkers.  Then, and only then, can you start writing your own code.  You&#8217;ll hate it but it will give you some very valuable experience early in your career, on the things <strong>not</strong> to do.  Being kind to the developers that come after you is just as important and by doing this you&#8217;ll know.</p>
<p>Ultimately I&#8217;m a lazy programmer.  Not that I don&#8217;t do the work I just don&#8217;t want to work <em>that</em> hard at figuring out old code.  If you name your variables and methods properly and consistently, keep your methods short, and if you write minimal comments it&#8217;s not that hard to figure it all out later.  Having to guess at someone else intent makes my head hurt.</p>
<p>Sincerely,</p>
<p>Bob</p>
<p>So dear readers what OPC foibles drive you crazy?</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2012/02/dear-idiotic-developer/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Busy Month</title>
		<link>http://www.bkeeneybriefs.com/2012/01/busy-month/</link>
		<comments>http://www.bkeeneybriefs.com/2012/01/busy-month/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 20:00:02 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[REALbasic]]></category>
		<category><![CDATA[consulting]]></category>
		<category><![CDATA[REAL Studio]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=1029</guid>
		<description><![CDATA[I haven&#8217;t been posting much this month for a reason.  This is, in all seriousness, the busiest January we&#8217;ve ever had for Real Studio consulting (and we&#8217;ve been doing this for over ten years!).  All three of our full-time Real Studio developers are maxed out on projects and not just on single large projects either. [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t been posting much this month for a reason.  This is, in all seriousness, the busiest January we&#8217;ve ever had for Real Studio consulting (and we&#8217;ve been doing this for over ten years!).  All three of our full-time Real Studio developers are maxed out on projects and not just on single large projects either.  We all have multiple projects awaiting our attention as soon as we have the time.</p>
<p>Being <em>that</em> busy is always a good thing-bad thing proposition.  My backlog of Real Studio training videos just gets bigger by the day.  Oh well, they&#8217;ll wait until I&#8217;m slow or want to do something completely different for a few days.</p>
<p>I&#8217;ll admit that I have been very critical of Web Edition &#8211; especially when it first came out.  I felt that it was released too soon with obvious bugs and holes in the frameworks, wasn&#8217;t adequate testing, and was without features that were necessary.  A lot of that has changed recently (though WebMoviePlayer still burns a hole in my stomach) and we&#8217;ve found that most projects these days have some sort of web component in them.  Web Edition fills that need for us and while it may not be the best, fastest, scalable, or comprehensive web platform to deal with it has increasingly become a part of our standard package.</p>
<p>I mention this because all three of our developers are working on projects where Web Edition is used to some extent in <em>conjunction</em> with the desktop apps.  I think it safe to say that about 1/4 of all our Real Studio work is using Web Edition.  Not bad considering it wasn&#8217;t really usable until mid-Summer 2011.</p>
<p>Web Edition is much like Real Studio desktop apps.  You have limited options and there are a bunch of compromises that you might not be able to live with.  If you can live with the compromises, development is very fast.  While deployment can be kind of a pain it seems that most of them revolve around three or four issues (FTP transfer, file permissions, 32 bit compatibility libraries, and the .htaccess file).  The fact that you can reuse much of your code between desktop and Web Edition is icing on the cake.</p>
<p>Anyway, that&#8217;s what&#8217;s up with us.  How is 2012 starting for you?</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2012/01/busy-month/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Beginners Don&#8217;t Stay Beginners Very Long</title>
		<link>http://www.bkeeneybriefs.com/2012/01/beginners-dont-stay-beginners-very-long/</link>
		<comments>http://www.bkeeneybriefs.com/2012/01/beginners-dont-stay-beginners-very-long/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 20:47:49 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[REALbasic]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[REAL Studio]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=1021</guid>
		<description><![CDATA[There have always been Real Studio users that have been critical of the company and their products.  I have been known to throw a fit every now and then when I get bit by a bug.  There are currently several users in the Real Software forums that seem to be overly critical of the company [...]]]></description>
			<content:encoded><![CDATA[<p>There have always been Real Studio users that have been critical of the company and their products.  I have been known to throw a fit every now and then when I get bit by a bug.  There are currently several users in the Real Software forums that seem to be overly critical of the company these days.  These users go out of their way to hijack threads and tell everyone what a crap product Real Studio is and how Real Software is screwing everyone over.</p>
<p>I get their anger.  I really do.  I&#8217;ve been using Real Studio for ten years now working on a commercial products for clients all over the world.  Some of those are private apps, some are vertical market commercial apps and some are mass market  commercial applications.  I have probably been bitten by a bug in nearly every release and on every project.  It sucks but thankfully I&#8217;ve been able to find workarounds to most and come up with alternatives to others.</p>
<p>Don&#8217;t get me wrong, I&#8217;m not happy about bugs.  As a developer dealing with bugs is part of the job.  When I was an electrical engineer I dealt with hardware and software bugs ALL the time.  Try explaining to the client why a 1500 degree furnace stopped working because of bad firmware or why you stopped an automobile assembly line because a PLC glitch  When I was doing Visual Basic 6 development my code was a masterpiece of workarounds.  There is no excuse for bugs but they happen.  It&#8217;s part of my job to identify them and work around them.</p>
<p>One Real Studio user sent <em>ME</em> an email explaining how crappy Real Studio is.  It was reasonably intelligent email from someone who felt very passionately about the subject.  It was obvious he had a history of using Real Studio as a consultant.  I disagree with him on most every part of his email but I can sympathize.  Am I becoming to ingrained to &#8216;just dealing with it&#8217;?  I dunno.</p>
<p>Part of the problem, I feel,  is that Real Studio is geared for beginners and hobbyists.  That&#8217;s great and it&#8217;s how many long time users started.  Beginners don&#8217;t stay newbies very long if they stick with the product.  Soon enough they get past the initial learning curve and figure out how to ask the questions they couldn&#8217;t even formulate before and this is where the experience sometimes falls apart for many Real Studio users.</p>
<p>It feels sometimes that RS is solely interested in getting new users (and hobbyists at that).  New users are not a bad thing (in fact they are critical to any company).  However, isn&#8217;t retaining existing customers even more important?  You&#8217;ve already done the hard work in getting them to buy into the platform.  All you have to do is find the way to get them to stick with the product and ideally find ways to get them to upgrade to a higher priced product.</p>
<p>The Personal license is so cheap it&#8217;s practically giving it away at $99.  The Professional version is $299 so for every Professional license you have to get three Personals.  The Enterprise Edition is $995 so for every one Enterprise license you need ten Personal licenses.  Now, I don&#8217;t know what the renewal rate is among the licenses but I would suspect that Pro and Enterprise users renew more often Personal license users.  I know from a business standpoint my toolset is part of the cost of doing business so why NOT keep upgrading until I no longer use the tool?</p>
<p>My point is that Pro users are valuable and Enterprise users should be the most valued customers.  Instead, many of us feel abandoned for a variety of reasons.  As an Enterprise user I really like being able to use Web Edition, and use the product on all three platforms.    IDE Scripting, Build Automation are nice, but I could live without them.  I use the Profiler maybe once a year so it&#8217;s a feature that is wasted on me.  What makes the Enterprise edition worthy being an Enterprise product?  What are the compelling features for people to upgrade to Enterprise?  Not much at this point.</p>
<p>I&#8217;ve been doing this for ten years and I&#8217;ve been asking for the same things over and over again:  a grid component, a calendar control, date and time controls, less flickering in Windows, and finally reporting.  I lobbied hard for reporting and I feel like a fool for doing so since the reporting tool in Real Studio isn&#8217;t what I need (nor can use).  Instead I feel like I got a checkmark on a marketing page.</p>
<p>Granted, there are alternatives to many of the things I mentioned.  That&#8217;s not the point.  Instead of giving me the things I could use, today, in selling the product to my clients, I&#8217;m getting a new User Interface that will probably have some major bug when introduced that will make it less than ideal to use.  Did I ask for a new UI?  No.  I could think of a dozen things I&#8217;d like to see BEFORE a new UI comes down the pike.</p>
<p>So my hope for 2012 is some focus on features that Pro and Enterprise users need.  You can debate all day long on what those features are but the fact no one from RS has ever seriously asked me (or any other pro developer that I know of) what I need.  That says what they are focusing on instead.  Perhaps with some true Enterprise features more people would purchase Enterprise.</p>
<p>Well, but then again, I&#8217;m a long time Enterprise user and probably a bigger pain to support than those ten Personal licenses.  Happy coding!</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2012/01/beginners-dont-stay-beginners-very-long/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Bugs Are In The Eye of the Beholder</title>
		<link>http://www.bkeeneybriefs.com/2011/12/bugs-are-in-the-eye-of-the-beholder/</link>
		<comments>http://www.bkeeneybriefs.com/2011/12/bugs-are-in-the-eye-of-the-beholder/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 17:05:31 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[REALbasic]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Web Edition]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[REAL Studio]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=1018</guid>
		<description><![CDATA[The other day someone on the NUG list posted a somewhat lengthy message on Web Edition bugs. They were asking &#8220;why was Web Edition so buggy after a whole year?&#8221; Here is my response (mostly the same but with some changes). Sure, Web Edition has more than its share of bugs. Like all bugs, however, [...]]]></description>
			<content:encoded><![CDATA[<p>The other day someone on the NUG list posted a somewhat lengthy message on Web Edition bugs. They were asking &#8220;why was Web Edition so buggy after a whole year?&#8221; Here is my response (mostly the same but with some changes).</p>
<p>Sure, Web Edition has more than its share of bugs. Like all bugs, however, it all depends upon the beholder.  What bug causes the most pain for RS&#8217; is the one that gets fixed first.  I&#8217;ve seen a lot of the same things the community has discovered and have just worked around them (where I can).  I was using WE in a commercial project during the first beta ( a year ago) and while we got it to work it wasn&#8217;t very good.  That one project probably generated over a hundred feedback reports.  In my opinion WE really hasn&#8217;t really been usable until 2011 R3.</p>
<p>Part of the problem, in my opinion, is that RS has NOT created enough Web Edition applications for themselves.  If you don&#8217;t thoroughly exercise the framework you just don&#8217;t see the things you&#8217;d see in a big, complex application (like we are creating).  There is ONE real world example of Web Edition on their website.  While I don&#8217;t know how many examples are &#8216;enough&#8217;, I know that one is definitely <em>not</em> enough.</p>
<p>Web Edition exposes the same problems that we all see in Cocoa, Carbon, and in the IDE on a regular basis.  Unless RS experiences the pain it won&#8217;t get fixed in a timely manner because it&#8217;s not as important to them.  The Reporting editor and generator and the database editor are but two examples of things in the IDE that RS doesn&#8217;t use in ANY of their products. It shows because there are gaping wholes in usage that make them unusable for many developers.</p>
<p>RS takes pride in saying they eat their own dog food because they use Real Studio to make Real Studio.  Admirable, but they tend to be on a restricted diet since they don&#8217;t eat everything on the menu.  They rarely change the menu&#8217;s for the IDE so the Menu Editor hasn&#8217;t seen many changes or enhancements.  As far as I know, they don&#8217;t use a database in the IDE so I see no reason why they&#8217;d be using the database editor on a regular basis.  They don&#8217;t do much with StyledText or Movies so its no surprise that those classes are minimalistic (at best).</p>
<p>Since the IDE has no need for date pickers, they have never provided one.  Likewise, the Listbox is good enough for the IDE while we&#8217;ve been asking for a more powerful grid component for years.  Full RTF support?  Forget about it because StyledText is good enough for the IDE. A better toolbar control? Well that one&#8217;s a bit of a mystery since the IDE is obviously using something different than what they provide to us.</p>
<p>My point is I&#8217;m not sure why anyone would be perplexed about long standing bugs.  Sure, they&#8217;re painful to you and me (and my clients), but they&#8217;re not (as) painful to RS.</p>
<p>Lobbying the community to get Feedback reports higher in the list is about the only way to realistically get a bug fixed. But even that is a crap shoot as there are quite a few bugs (not feature requests) very high on the list that have been there for a long time. So the only thing conclusion that I can come up with is that the bug that all the rest of us are seeing isn&#8217;t painful to RS so therefor it isn&#8217;t a priority for them.</p>
<p>This is my opinion as a ten year Real Studio consultant.  I know and respect most of the engineers and staff at RS and I think they do a remarkable job.  However, I think as a company they mostly ignore those like me (an Enterprise user that ponies up thousands of dollars per year) and focus, almost exclusively, on the hobbyists (that bring in a hundred dollars a year at best).  If they could make me happy(ier) the hobbyists would come along anyway (see history of Visual Basic).</p>
<p>Bugs happen in every software product. I remember grousing about Visual Basic bugs when I was a big VB6 user. I know that my code back then had plenty of work arounds for bugs in their API. There is no doubt that Microsoft had more developers working on the product (as a whole) than RS has working on Real Studio. There&#8217;s also no doubt that VB6 has a considerably larger user base than Real Studio. I feel that this resulted in more workarounds being posted and more alternate solutions.  The reverse is that our smaller community doesn&#8217;t have as many solutions and documented workarounds so it feels worse but I feel that it isn&#8217;t.</p>
<p>Anyway, that&#8217;s enough on my opinions about bugs and such.  Have a good New Year and be safe. Happy coding!</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2011/12/bugs-are-in-the-eye-of-the-beholder/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Real Studio 2011 Release 4 [u]</title>
		<link>http://www.bkeeneybriefs.com/2011/12/real-studio-2011-release-4/</link>
		<comments>http://www.bkeeneybriefs.com/2011/12/real-studio-2011-release-4/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 14:59:46 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[REALbasic]]></category>
		<category><![CDATA[Web Edition]]></category>
		<category><![CDATA[REAL Studio]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=997</guid>
		<description><![CDATA[Real Studio 2011 Release 4 was released this week by Real Software.  This release marks a number of significant changes that might affect how your application behaves so take care when making the decision to upgrade (as you should with all new releases of your development environment). The first significant change in R4 is that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://docs.realsoftware.com/index.php/What%27s_new_in_REAL_Studio_2011_R4%3F" target="_blank">Real Studio 2011 Release 4 </a>was released this week by <a href="http://www.realsoftware.com/" target="_blank">Real Software</a>.  This release marks a number of significant changes that might affect how your application behaves so take care when making the decision to upgrade (as you should with all new releases of your development environment).</p>
<p>The first significant change in R4 is that it no longer compiles for PowerPC (PPC) which means that Universal Binaries can no longer be built.  Mac OS X versions 10.5 (Leopard) and better are now supported.  I have not tested this premise but your app <em>might</em> run on older versions of Mac OSX, please let us know your experience.</p>
<p>The R4 release sports a huge number of Cocoa fixes.  Cocoa is now mostly usable but there are still bugs and oddities in this version.  Drawers, StyledTextPrinter and MoviePlayers do not work in this release.  Drawers are not used (much) in Mac OS X any more and not many use StyledTextPrinter but the MovePlayer could be a significant problem for quite a few RB developers.  However, if your app makes use of these controls and classes you will not be able to upgrade and will have to wait for a future release of Real Studio.</p>
<p>You REALLY need to start testing your apps in Cocoa (if you haven&#8217;t started already).  You are bound to find something that RS hasn&#8217;t fixed yet, or, at a minimum, requires some additional optimization.  One bug that has hit us particularly hard in trying to port one of our apps to Cocoa happens when trying to access a toolbar with a separator.  When accessing it an un-trapped exception occurs which means your application goes &#8220;poof&#8221; and there is nothing you can do to catch it.  &lt;<a href="feedback://showreport?report_id=18971" target="_blank">feedback://showreport?report_id=18971</a>&gt;</p>
<p>Another Cocoa bug that&#8217;s affecting some of our projects is the graphics object.  If you use FillRect or ClearRect on a picture that ISN&#8217;T new it is extremely slow.  So, for example if you have an overall picture and you&#8217;re just updating a section of it, it will be very slow.  &lt;<a href="feedback://showreport?report_id=18915" target="_blank">feedback://showreport?report_id=18915</a>&gt;</p>
<p>Cocoa really is different than carbon and some things that appear to be bugs aren&#8217;t necessarily so.  For example, all fonts in carbon apps can be made italic.  In Cocoa not all fonts have an italic version so it won&#8217;t render it in italic&#8217;s regardless of the setting.  Carbon just happened to force an italic version regardless of the font whereas Cocoa won&#8217;t.</p>
<p>Web Edition has changes too.  The first is that all Web Edition projects now require the app.ApplicationIdentifier to have a value.  The IDE will no longer allow it to be blank and if it&#8217;s not filled in when opening an older project one is added for you (so be aware of it).  This is important because the each Web App running on the server must have a unique identifier.</p>
<p>The WebListbox received some much needed attention in this release.  Column widths now work properly (yay!) and no longer shows an extra column.  A new boolean property, called Multiline, was added to match desktop listboxes more closely and when set to true, each row will expand automatically to fit all the text.  If false, text is truncated to one line with ellipses if it&#8217;s larger than one line.</p>
<p>The WebToolbar has some new style options available.  <del>These are not documented but</del> You have control over the WebToolbar background, button, disabled button, item, toggled style and toggled disabled styles.  You can make some interesting combinations with these new style options.</p>
<p>Dynamic Constants in Web Edition can now be retrieved by language.  The WebPicture class now has 3 new constructors.  Unfortunately, you still can&#8217;t use dynamic constants like you can in the desktop editions so you have to code this manually.</p>
<p>Lest our Windows brethren feel left out there are a number of significant bug fixes in store for them as well in this release.  A number of memory leaks were fixed.  Drawing of primitives (rects, ovals, etc) are no longer off by a pixel (yay!).  When GDIPlus is enabled, Windows apps can now draw anti-aliased.</p>
<p>One of the biggest changes in R4 is that pictures and colors now support alpha channels and allow you to set their translucency.  This is a big deal for any plugin authors that deal with pictures as they will have to rewrite their plugins to check for the alpha channel or lack thereof.  It promises to be a nightmare for them since older versions or Real Studio won&#8217;t support it but newer ones will.  Be aware of this change if you rely upon 3rd party plugins that use, return, or otherwise manipulate graphics.</p>
<p>Be aware that the database plugins included in R4 are NOT backwards compatible.  Like many Mac developers I have multiple versions of Real Studio in the same folder so I can have the same plugin set across versions.  If you try to run an older version of Real Studio using the R4 database plugins Real Studio will fail silently.  I expect numerous reports of older versions of Real Studio to suddenly start &#8216;failing&#8217; because of the change to the plugin format.</p>
<p>I&#8217;ve been using R4 since practically the first alpha.  I am converting my <a href="http://www.bkeeney.com/RealStudioTraining/realstudiotraining.cgi" target="_blank">training videos to work in Web Edition</a> and I&#8217;m fast approaching release.  It wasn&#8217;t until this weekend that I found a bug when saving using the version control format.  If you use the WebToolbar and assign icons to a button the changes will not get written out properly &lt;<a href="feedback://showreport?report_id=19231" target="_blank">feedback://showreport?report_id=19231</a>&gt;.  This really sucks because I have to go back to binary format &#8211; again.  Sadly, Web Edition has been rife with version control format bugs since the very first release and these woes continue.  It is obvious that the RS developers do not use version control format when testing Web Edition features.</p>
<p>Unlike many Real Studio releases, Release 4 is a huge bug fix release (well over 200).  The number of Cocoa changes is significant and developers should start porting and testing their apps in Cocoa.  It is really important for you to do so.  As with many releases there are some changes you might not be able to live with and some changes have been made in the background for future changes.</p>
<p>At the Real Studio Database Days training in Frankfurt Germany in early November, Geoff Perlman, CEO of Real Software, said that 2012 Release 1 would probably be the first release where Cocoa would be enabled by default.  What went unasked was whether or not the IDE itself will be a Cocoa application or not, but I would presume that it will be.  Regardless, the march to full Cocoa support goes on and you should be preparing for it sooner rather than later.</p>
<p>Happy coding!</p>
<p>[Update:  The WebToolbar styles are now in the online Wiki]</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2011/12/real-studio-2011-release-4/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Crazy Month</title>
		<link>http://www.bkeeneybriefs.com/2011/10/crazy-month/</link>
		<comments>http://www.bkeeneybriefs.com/2011/10/crazy-month/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 18:11:44 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=976</guid>
		<description><![CDATA[It&#8217;s been a while since I&#8217;ve posted something.  There&#8217;s a reason for that.  First, business is good and all of our developers are busy and will be busy for the winter.  That&#8217;s an awesome thing! My Nigeria trip at the end of September really put some work on hold until I got back.  Thankfully I [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I&#8217;ve posted something.  There&#8217;s a reason for that.  First, business is good and all of our developers are busy and will be busy for the winter.  That&#8217;s an awesome thing!</p>
<p>My Nigeria trip at the end of September really put some work on hold until I got back.  Thankfully I have some really cool (and patient) clients that are flexible in their schedule and were accommodating to the change in schedule due to travel and as a couple of emergency projects showed up.</p>
<p>Then we sold our house that had been on the market since June.  Then we bought a house (24 hours later).  And then moved out (and in to the new house) less than 2 and a half weeks later.  Even our Real Estate agent (who does 120 homes a year) says that this sequence is fast, fast, fast!  The one positive note is that the movers complimented us by saying we were &#8220;really organized&#8221; and I&#8217;d say so as in less than 48 hours we are about 85% unpacked.</p>
<p>Prospective clients keep showing up and asking for quotes.  There are a LOT of people asking for quotes from us to take their VB6 applications and rewrite them into Real Studio.  Most are scared away by the price (because there are no conversion tools so it&#8217;s really a rewrite) but a few have been serious enough to continue the conversation.</p>
<p>It really is a good time to be a Real Studio developer.  Every developer I know is busy and that&#8217;s a really good thing.  If you are not part of the <a href="http://www.realsoftware.com/support/prioritysupport.php" target="_blank">Real Software Developer Referral Program</a> you should be as it&#8217;s a great way to get leads.  One project and it pays for itself.</p>
<p>I barely have things unpacked from the house move and I&#8217;m off to the <a href="http://www.monkeybreadsoftware.de/realbasic/events/#databasedays" target="_blank">Real Studio Database Days</a> training in Frankfurt, Germany where I&#8217;ll do a short presentation on our <a href="https://www.bkeeney.com/realbasic/activerecord" target="_blank">ActiveRecord</a> implementation.  I must be crazy.</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2011/10/crazy-month/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Steve&#8217;s Legacy</title>
		<link>http://www.bkeeneybriefs.com/2011/10/steves-legacy/</link>
		<comments>http://www.bkeeneybriefs.com/2011/10/steves-legacy/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 14:18:54 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Steve Jobs]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=970</guid>
		<description><![CDATA[Steve Jobs changed my life &#8211; literally and figuratively.  It&#8217;s been a long journey even though I feel like it&#8217;s just getting started. My first exposure to an Apple computer was my friend Mike.  His parents owned a machining company and were using an Apple II for a bunch of business things.  We used it [...]]]></description>
			<content:encoded><![CDATA[<p>Steve Jobs changed my life &#8211; literally and figuratively.  It&#8217;s been a long journey even though I feel like it&#8217;s just getting started.</p>
<p>My first exposure to an Apple computer was my friend Mike.  His parents owned a machining company and were using an Apple II for a bunch of business things.  We used it for games &#8211; and my, oh my, what fun those games were.  Of course they&#8217;re pitiful compared to todays games but they were outstanding for their time.</p>
<p>Because I couldn&#8217;t live and his parents business (though I mightily tried) I found other sources.  Even though I was in high school, I got permission to use the one (!) Apple II at the elementary school (my school was small &#8211; it was all one building) where I did my first programming by creating a Dungeons and Dragons character creator using Apple BASIC.</p>
<p>Then I went to college where I was surrounded by DOS machines.  It was an engineering school and these things were everywhere.  When I got drafted to publish a parents newsletter for my fraternity I discovered the two little dinky Macintosh Plus computers in the corner of the computer lab, a LaserWriter printer, and a piece of software called PageMaker.  My love affair with the Macintosh began.</p>
<p>And it continued to grow.  I learned PageMaker, FreeHand, and Persuasion like the back of my hand.  I worked for a company called MacTemps and made good money using those skills and worked my way through college.  While my engineering contemporaries were doing their reports and graphs by hand I was turning them in on laser printed paper.  What took them hours to prepare took me one.</p>
<p>I remember vividly my first Mac Plus and my first Mac SE.  I was passionate about those Mac&#8217;s.  I have no doubt my fraternity brothers were bored of me extolling the virtues of using a Mac.  Well, I was right, wasn&#8217;t I?</p>
<p>I went to a Mac users group conference in Ann Arbor, Michigan (circa 1988) where I saw my first 1 GB hard drive the size of a suitcase.  We were all wondering how we&#8217;d fill up a hard drive that size.  This is also the same conference where I shook Bill Gates&#8217; hand just before he walked on stage to deliver the keynote speech (at a Mac conference remember).  Microsoft wasn&#8217;t always the anti-Apple company &#8211; MS Word and Excel were pretty slick back in those days.</p>
<p>Since college I&#8217;ve owned many Mac&#8217;s.  A Mac II LC (the pizza box Mac), probably something from the Performa line, a G3, a G4, a G5, several of the all-in-one iMac&#8217;s, a PowerBook laptop, a G3 laptop, a MacBook Pro, and a MacBook Air.  These machines helped convert me from an engineer to a programmer.</p>
<p>In my early consulting days I had a crappy Dell in the corner simply so I could use Visual Basic and Access.  Now days I simply fire up VMWare or Parallels (depending upon computer) and use Vista, Win7, XP or any number of Linux distro&#8217;s.</p>
<p>I resisted the iPod, at first, thinking it was a crappy name and Apple wasn&#8217;t an electronics company.  But when the iTunes music store showed up it changed my mind and how I bought music.  I now buy more music without ever leaving home.</p>
<p>I had resisted using a cell phone for years but finally gave in when I got married.  My cousin gave me an old HandSpring Palm phone which lasted for years.  When the iPhone came out I willingly jumped in because I figured it had to be better than the Handspring phone.  My oh my, was it ever.  I think we&#8217;ve owned every generation of phone since and I don&#8217;t leave the house without checking to see if I have keys, wallet and iPhone.</p>
<p>Like the iPod before it, the iPhone changed the way I purchased software.  No longer did I need to go to a store to browse software boxes.  Now, I go to an app, browse the selections, read reviews and then purchase and download it practically instantaneously.  What a game changer.</p>
<p>When the iPad came out there was never any question of getting it.  We were already big iPhone users and to start with several hundred apps without buying anything?  It was a no brainer.  No reason not to get it.  It&#8217;s now used daily.  It goes with us on trips (of any type) and like the iPod before it, it&#8217;s changed the way I consume books.  I now purchase books without ever going to a brick and mortar store and I read more than I did before.</p>
<p>So this is a big thank you to the man I consider to be the biggest tech visionary of my time.  He started from humble beginnings and created, several times, new markets where others followed.</p>
<p>I could certainly argue that Microsoft would not be the company it is today without the Macintosh influencing how it did Windows.  The music industry resisted online sales until Apple proved they could make money on it.  The entire cell phone industry is undergoing a complete transformation now because of the iPhone.  The tablet market is undergoing a radical shift because of the iPad.</p>
<p>And that&#8217;s just Apple.  Steve bought a little company called Pixar that did computer animation.  It had a string of blockbuster movies that weren&#8217;t just about the animation it was about telling the story.  Many imitators have followed.</p>
<p>Even before that, when he got pushed out of Apple, he never stopped trying to think outside the box.  He helped found NEXT computer.  It was an awesome computer for it&#8217;s time but too expensive and it never took off.  But it was a NEXT Computer that was the first web server.  And it was the NEXT operating system that Apple used to reinvent itself after Steve came back.</p>
<p>Steve Jobs unique.  He was an a**hole to some and inspired intense loyalty to others.  His leadership style was unique and he was a consummate salesman showing us not what we asked for but what we were really looking for.</p>
<p>He died too young.  Or, he died after accomplishing much more than most.  He did &#8216;insanely great things.&#8217;  And we will miss him.</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2011/10/steves-legacy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Comfort Zones</title>
		<link>http://www.bkeeneybriefs.com/2011/09/comfort-zones/</link>
		<comments>http://www.bkeeneybriefs.com/2011/09/comfort-zones/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 18:54:21 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[REALbasic]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[REAL Studio]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=959</guid>
		<description><![CDATA[We all have our comfort zones.  You know, we do the things we&#8217;re comfortable doing because we&#8217;ve done it a lot or we don&#8217;t have to think about it very hard.  I have them, you have them, we all do.  It&#8217;s part of human nature. I guess I must be getting older (and wiser?) because [...]]]></description>
			<content:encoded><![CDATA[<p>We all have our comfort zones.  You know, we do the things we&#8217;re comfortable doing because we&#8217;ve done it a lot or we don&#8217;t have to think about it very hard.  I have them, you have them, we all do.  It&#8217;s part of human nature.</p>
<p>I guess I must be getting older (and wiser?) because every now and then I leave my comfort zone on purpose.  I always get more out of the experience than I bargained for though not always in the way I expect.</p>
<p>Today, I embark on one of those radical departures from my comfort zone.  I am going to Nigeria to do Real Studio training for a company thinking about switching to Real Studio for their business needs.  This is a great opportunity for me to teach (something I like doing) about a product I spend a lot of time using.  Getting to travel when someone else is paying is even better.  I&#8217;ve managed to do this for London and Hong Kong in addition to many US and Canadian cities too numerous to mention.</p>
<p>This will be an interesting adventure.  I&#8217;ve never been to Africa and I&#8217;m going to a place that has a State Department travel warning.  Oh joy.  But, I believe (and hope) that my hosts are taking good care of me and handling security.  Since they seem to do this for their European bigwigs I don&#8217;t expect that to be a problem.  But I do have addresses and phone numbers for the US Embassy and other security &#8216;options&#8217;.  Never hurts to have a plan B.</p>
<p>The joys of international travel begins with the immunizations.  I joke that I&#8217;m now prepared for any sort of post apocalyptic disaster when the diseases hit.</p>
<p>Unlike my year long stay in Hong Kong 15 years ago where the internet was still kind of special, I fully expect I&#8217;ll be &#8216;online&#8217; for a good portion of my stay.  It will be interesting to see how well all that works as I&#8217;ve been told to expect power outages and variable internet connectivity.</p>
<p>Speaking of the internet:  I like to joke with people that I&#8217;m going to Nigeria to go find that damn prince that keeps sending me all those emails!</p>
<p>By nature I&#8217;m an introvert and I am a little concerned that one of most populous cities in Africa will be overwhelming.  It wasn&#8217;t a big deal in Hong Kong so I don&#8217;t expect to be a problem here, but you just never know.  The other thing that could take some getting used to is being the clear and obvious minority.  In Hong Kong it wasn&#8217;t too bad because there were Brit&#8217;s everywhere and they were just part of the environment.  I don&#8217;t think I&#8217;ll be afforded the same luxury on this trip.</p>
<p>I work for myself so I don&#8217;t talk a lot.  I know that when I do my training videos and I spend 3 or 4 hours talking into a computer I have to be careful and drink extra water so the pipes don&#8217;t start to hurt.  I&#8217;ll be training for 8 hours a day for 5 days so it could be rough.  Add in that I can&#8217;t drink the tap water and it will be even more interesting.</p>
<p>Packing for an overseas trip is harder than a domestic trip.  If you go to Chicago and forget your deodorant you pop into your local Walmart (even gas station) and just pick some up.  I don&#8217;t know, does Nigeria even have Walmart or a local equivalent?</p>
<p>Anyway, I look forward to this adventure.  I&#8217;m sure it will generate many stories and laughter (at my expense probably) and I can&#8217;t wait to tell you all about it.</p>
<p>I&#8217;m sure I&#8217;ll give an update once I&#8217;m back.  Happy coding!</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2011/09/comfort-zones/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Favorite New Feature in 2011 Release 3</title>
		<link>http://www.bkeeneybriefs.com/2011/08/favorite-new-feature-in-2011-release-3/</link>
		<comments>http://www.bkeeneybriefs.com/2011/08/favorite-new-feature-in-2011-release-3/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 21:06:17 +0000</pubDate>
		<dc:creator>Bob Keeney</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[REALbasic]]></category>
		<category><![CDATA[happy]]></category>
		<category><![CDATA[REAL Studio]]></category>

		<guid isPermaLink="false">http://www.bkeeneybriefs.com/?p=948</guid>
		<description><![CDATA[If you use graphics a lot in your projects, you&#8217;ve probably found Real Studio to be a painful to use at times.  If you changed the graphic file, you would have to reload the project for it to take effect.  If you found that to be a pain too, then 2011 Release 3 contains much [...]]]></description>
			<content:encoded><![CDATA[<p>If you use graphics a lot in your projects, you&#8217;ve probably found Real Studio to be a painful to use at times.  If you changed the graphic file, you would have to reload the project for it to take effect.  If you found that to be a pain too, then 2011 Release 3 contains much goodness for you.</p>
<p>I discovered this today while I was adjusting my window layout.  I decided that my BevelButton icon needed to be 48&#215;48 rather than 32&#215;32.  I had the Window editor still open when I copied the graphic with the same name as the old one into the same location.  A few seconds later the BevelButton updated with the new icon with no actions taken by me.  Yay!</p>
<p>Of course, it&#8217;s possible this has been in Real Studio for a couple of releases until now but I&#8217;ll give the credit for this release.  Sometimes it&#8217;s the little things that make you happy.  :)</p>
<p>&nbsp;</p>
            <script type="text/javascript">  linkscolor = "000000";  highlightscolor = "888888";  backgroundcolor = "FFFFFF";  channel = "none";   </script><script type="text/javascript" src="http://www.addmarx.com/dynamicbookmark_compressed.php"></script><span><a onClick="clickDynamic1(this); return false;" href="http://www.addmarx.com"><img style="padding:0px; margin:0px" src="http://www.bkeeneybriefs.com/wp-content/plugins/addmarx/sharebookmarx.png" border="0"></a></span><span style="position:absolute; z-index:1000001; margin-top:24px; margin-left:-127px; visibility:hidden;"><iframe id="addmarx_empty" scrolling="no" frameborder="0"></iframe></span><p class="addmarx_spacer"></p><!-- Please place the above code into your site where you want to have a bookmark/share/publicize link. Please do not change any of the code aside from the link text or image, or else the code may not work properly.  -->                  ]]></content:encoded>
			<wfw:commentRss>http://www.bkeeneybriefs.com/2011/08/favorite-new-feature-in-2011-release-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

