<?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: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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>FLUSH BUFFERS</title>
	
	<link>http://flushbuffers.com</link>
	<description>Commentary on 4th Dimension development</description>
	<lastBuildDate>Fri, 13 Aug 2010 23:01:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/flushbuffers/HiLd" /><feedburner:info uri="flushbuffers/hild" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Thibaud is blogging</title>
		<link>http://feedproxy.google.com/~r/flushbuffers/HiLd/~3/d27EVpF7uZo/</link>
		<comments>http://flushbuffers.com/2010/08/13/thibaud-is-blogging/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 23:01:55 +0000</pubDate>
		<dc:creator>Bryan Green</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://flushbuffers.com/?p=145</guid>
		<description><![CDATA[Thibaud Arguillère is blogging]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.4d.com/company/blogs/Thibaud%20Arguill%C3%A8re/">http://www.4d.com/company/blogs/Thibaud Arguillère/</a></p>

<p>It looks like he started in June 2010. Worth a read, in my opinion.</p>
<img src="http://feeds.feedburner.com/~r/flushbuffers/HiLd/~4/d27EVpF7uZo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://flushbuffers.com/2010/08/13/thibaud-is-blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://flushbuffers.com/2010/08/13/thibaud-is-blogging/</feedburner:origLink></item>
		<item>
		<title>Où est le chien?</title>
		<link>http://feedproxy.google.com/~r/flushbuffers/HiLd/~3/V8_2-jYXtG4/</link>
		<comments>http://flushbuffers.com/2010/08/07/ou-est-le-chien/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 22:27:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Historical]]></category>

		<guid isPermaLink="false">http://flushbuffers.com/?p=101</guid>
		<description><![CDATA[In 4D 2003 and prior, there is a picture of a dog used as the QuickTime sample image. In 4D 2004 and after, the dog is replaced by horses. My question: Où est le chien?]]></description>
			<content:encoded><![CDATA[<p><img src="http://flushbuffers.com/wordpress/wp-content/uploads/PICT-9000-2003-and-before.jpeg" alt="PICT=9000 from 4D 2003 and before" title="PICT-9000-2003-and-before.jpeg" border="1" width="132" height="148" /></p>

<p>One of the fun things to do with 4D is to take it apart. Long-time Mac users know how to edit an application&#8217;s resources, and sometimes you can find rather interesting artifacts in that way.</p>

<p>As it happens, in 4D 2003 and earlier, resource PICT ID=9000 was a picture of a dog. It is used for a QuickTime preview or something. This made me ask myself the question, &#8220;Whose dog is it, anyway?&#8221; I remember asking <em>Someone French</em> this question at a 4D Summit long ago, and I was interested to learn that it is (supposedly) François Marchal&#8217;s dog. It was nice to know that it was actually someone&#8217;s dog, and not just a dog from a clip art collection. I&#8217;ve always wondered about the dog&#8217;s name. Is it Buddy? Is it Rex? Anyway, the picture is a nice little Easter Egg in 4D and it made me happy to know a little bit of the story behind it.<span id="more-101"></span>
One day I decided to check 4D 2004 to see if François Marchal&#8217;s dog was still there. It wasn&#8217;t! PICT ID=9000 was no longer a picture of a dog, but instead a picture of two horses. Alors! What has happened here? Où est le chien? I miss him already! I hope he is doing OK.</p>

<p><img src="http://flushbuffers.com/wordpress/wp-content/uploads/PICT-9000-2004-and-after.jpeg" alt="PICT=9000 from 4D 2004 and after" title="PICT-9000-2004-and-after.jpeg" border="1" width="99" height="111" /></p>

<p>So now the question is &#8220;Whose horses are they, anyway?&#8221;</p>

<p><em>I originally posted this message in 2007, in an earlier incarnation of this weblog. François Marchal was kind enough to answer in a comment:</em></p>

<blockquote>
  <p>2007-10-11 14:57:31</p>
  
  <p>My Golden Retriever <em>Ness</em> is now an old dog, but still alive and happy. Let me introduce the horses. The grey arabian mare is my beloved horse <em>Hassira</em>. The black one is a &#8220;Cheval de Mérens&#8221;, he is my wife&#8217;s horse. He is now 20 years old and still in pretty good shape and ready for a ride. Those pictures are not specially an easter egg, but are used as a preview in the Quicktime dialog, to show picture transformation when using various components.</p>
  
  <p><em>- François Marchal</em></p>
</blockquote>
<img src="http://feeds.feedburner.com/~r/flushbuffers/HiLd/~4/V8_2-jYXtG4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://flushbuffers.com/2010/08/07/ou-est-le-chien/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://flushbuffers.com/2010/08/07/ou-est-le-chien/</feedburner:origLink></item>
		<item>
		<title>Review: CurrPorts by NirSoft</title>
		<link>http://feedproxy.google.com/~r/flushbuffers/HiLd/~3/HnYjmKmELug/</link>
		<comments>http://flushbuffers.com/2010/08/04/review-currports-by-nirsoft/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 01:12:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://flushbuffers.com/?p=93</guid>
		<description><![CDATA[The netstat utility is quite valuable to monitor which TCP/IP ports are open when developing on Windows. Recently I discovered the free CurrPorts utility from NirSoft, which I like much better.]]></description>
			<content:encoded><![CDATA[<p><img src="/wordpress/wp-content/uploads/cports_icon.gif" alt="CurrPorts Icon" title="CurrPorts Icon" /></p>

<p>If you develop in 4D on Windows, or even if you only test in 4D on Windows, eventually you&#8217;ll need to know which TCP/IP ports are open and which application opened them. Windows has a handy built-in Command-Line Interface program called <a href="http://en.wikipedia.org/wiki/Netstat" title="To the Wikipedia!"><em>netstat</em></a> that does this nicely.</p>

<p>The problem with <em>netstat</em> is that doesn&#8217;t update by itself. You have to run it each time you are curious about open ports. This lack of convenience led me to search for an alternative. I was happy to discover <a href="http://www.nirsoft.net/utils/cports.html"><em>CurrPorts</em></a>. It displays the same information, but updates itself every few seconds and visually marks the changes to make them easier to see.</p>

<p><span id="more-93"></span>Here&#8217;s a comparison:</p>

<p><em>netstat</em> works like this in the Command Prompt window:</p>

<pre><code>C:\&gt;netstat -a -n

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:25             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:1026           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:6646           0.0.0.0:0              LISTENING
  TCP    127.0.0.1:1031         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:1056         127.0.0.1:1057         ESTABLISHED
  TCP    127.0.0.1:1057         127.0.0.1:1056         ESTABLISHED
  TCP    127.0.0.1:1059         127.0.0.1:1060         ESTABLISHED
  TCP    127.0.0.1:1060         127.0.0.1:1059         ESTABLISHED
  TCP    127.0.0.1:5152         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:5152         127.0.0.1:1058         CLOSE_WAIT
  TCP    127.0.0.1:5354         0.0.0.0:0              LISTENING
  TCP    127.0.0.1:27015        0.0.0.0:0              LISTENING
  TCP    192.168.64.132:139     0.0.0.0:0              LISTENING
  UDP    0.0.0.0:445            *:*
  UDP    0.0.0.0:500            *:*
  UDP    0.0.0.0:1025           *:*
  UDP    0.0.0.0:3456           *:*
  UDP    0.0.0.0:4500           *:*
  UDP    127.0.0.1:123          *:*
  UDP    127.0.0.1:1044         *:*
  UDP    127.0.0.1:1900         *:*
  UDP    192.168.64.132:123     *:*
  UDP    192.168.64.132:137     *:*
  UDP    192.168.64.132:138     *:*
  UDP    192.168.64.132:1900    *:*
  UDP    192.168.64.132:5353    *:*
  UDP    192.168.64.132:6646    *:*

C:\&gt;
</code></pre>

<p>Addresses (0.0.0.0 means listening as a server), ports, and the state of the TCP/IP connection are indicated clearly. However, if you want to see them again, you have to run <em>netstat</em> again &mdash; and you&#8217;re responsible for noticing what changed since the last time you ran it. Useful to a point, but tedious in practice.</p>

<p><em>CurrPorts</em> opens its own window, and presents all the same information available in netstat &mdash; but in a beautiful, compact, self-updating display. And, to add some extra-nice value, it can log its output in several different formats for later debugging.</p>

<p><img src="/wordpress/wp-content/uploads/currports-window.jpeg" alt="CurrPorts Window" title="CurrPorts Window" /></p>

<p><em>CurrPorts</em> is much nicer than <em>netstat</em> as a visual tool!</p>

<p><a href="http://www.nirsoft.net/utils/cports.html"><em>CurrPorts</em></a> is the work of Nir Sofer, an old school <a href="http://www.catb.org/jargon/html/H/hacker.html" title="Jargon File definition">hacker</a> who very generously publishes several excellent utilities for free under his company name <a href="http://www.nirsoft.net/">NirSoft</a>. Judging from <a href="http://blog.nirsoft.net/">his blog</a> he&#8217;s a helpful, intelligent fellow. Thank you, Nir, for publishing <em>CurrPorts</em>!</p>

<p>If you develop in 4D, eventually you&#8217;ll have to work with TCP/IP. And, even if you&#8217;re a fanatical Mac user, you&#8217;ll have to test on Windows. <em>CurrPorts</em> makes that a more pleasant experience. I use and recommend it!</p>
<img src="http://feeds.feedburner.com/~r/flushbuffers/HiLd/~4/HnYjmKmELug" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://flushbuffers.com/2010/08/04/review-currports-by-nirsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://flushbuffers.com/2010/08/04/review-currports-by-nirsoft/</feedburner:origLink></item>
		<item>
		<title>4D DEVCON 1994 Notes</title>
		<link>http://feedproxy.google.com/~r/flushbuffers/HiLd/~3/5ycYQQZXpSE/</link>
		<comments>http://flushbuffers.com/2010/08/01/4d-devcon-1994-notes/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 01:44:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Historical]]></category>

		<guid isPermaLink="false">http://flushbuffers.com/?p=85</guid>
		<description><![CDATA[4D ACIUS DEVCON 1994 in San Jose was my first and very special to me. I flew down from Anchorage and met 4D Luminaries and Personalities. These are my notes.]]></description>
			<content:encoded><![CDATA[<p><img src="http://flushbuffers.com/wordpress/wp-content/uploads/4d-devcon-1994-badge-sm.jpeg" alt="4D DEVCON 1994" title="P4D DEVCON 1994" border="1" width="302" height="223" /></p>

<p>In July 1994 I flew down from Anchorage to attend the annual 4D DEVCON 1994 at the Fairmont Hotel in San Jose. It was the first I&#8217;d ever attended in person. I was awe-struck by Silicon Valley and star-struck by all the 4D Luminaries and Personalities. For me, it might as well have been another world.</p>

<p>I took 48 pages of hand-written notes over the course of the event. They are a little time capsule of what was and wasn&#8217;t important at the time. They make for an interesting artifact.<span id="more-85"></span><p><a href="http://flushbuffers.com/wordpress/wp-content/uploads/4D-DEVCON-1994-Notes-19940711.pdf"><img class="PDF" src="/wordpress/wp-content/uploads/4D-DEVCON-1994-Notes-19940711_Page_01.jpg" border="1" /><br /><em>4D DEVCON 1994 Notes</em></a></p></p>

<p>That year the big news was 4D Universal, which was to place 4D squarely in the technology mainstream on Mac OS, Windows, and UNIX. ACI&#8217;s write-once, run anywhere platform pre-dated Sun&#8217;s Java by 18 months (though what we saw was definitely a demonstration and not a shipping product). It was very impressive to see three monitors, three keyboards, and three projectors on stage. Laurènt started 4D Server on UNIX running on a SUN Sparc 5 and issued queries from both Mac OS and Windows. That was trippy stuff in pre-web 1994!</p>

<p>One highlight for me was the Advanced Class from Jean-Pierre Ribreau, the famous JPR. In class we learned all sorts of internals about 4D, intricacies of Externals, and how to improve performance. You can see in the notes that my American ears didn&#8217;t hear his name correctly, and I likened him to Jacques Cousteau. I hope he&#8217;ll forgive me.</p>

<p>They keynote was full of people I knew only by name: MDD, Mark Vernon, and Laurent Ribardière. I wrote &#8220;nil&#8221; as my notes for MDD; I hope she will overlook that! Mark Vernon presented sales statistics: 12,000 servers and 50,000 users. In addition to his 4D Universal demonstration, Laurent showed performance statistics for 4D on PowerPC hardware, which was relatively new at the time.</p>

<p>4D Chart and 4D Compiler 2.2 were the new add-on products that year. 4D Compiler was US $1000, a price that made my head spin, but I bought it anyway. It was pure guilt: I had cracked the compiler&#8217;s copy-protection a year before and had been using it daily so I came clean with my licensed copy.</p>

<p>At the vendor area I bought Walt Nelson&#8217;s 4D for Fun and Profit and had him sign it. I also bought Garri Ogata&#8217;s 4D Command Reference Cards. I saw many other interesting third-party products and enjoyed them all.</p>

<p>The best part of the conference for me was the lobby of the Fairmont. It was the unofficial place to be. Well-known developers held court, and not-so-well-known developers like me hung on their every word. I met in person those I had known only on the CompuServe Forum. It was a very wonderful experience.</p>
<img src="http://feeds.feedburner.com/~r/flushbuffers/HiLd/~4/5ycYQQZXpSE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://flushbuffers.com/2010/08/01/4d-devcon-1994-notes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://flushbuffers.com/2010/08/01/4d-devcon-1994-notes/</feedburner:origLink></item>
		<item>
		<title>Natural Intelligence 4D Proficiency Test</title>
		<link>http://feedproxy.google.com/~r/flushbuffers/HiLd/~3/zY14JJZFsgk/</link>
		<comments>http://flushbuffers.com/2010/05/14/natural-intelligence-4d-proficiency-test/#comments</comments>
		<pubDate>Fri, 14 May 2010 07:08:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Historical]]></category>

		<guid isPermaLink="false">http://flushbuffers.com/?p=61</guid>
		<description><![CDATA[In 1994 I applied for a position at Natural Intelligence. They sent me this 4th Dimension Proficiency test. Here are my answers!]]></description>
			<content:encoded><![CDATA[<p><img src="/wordpress/wp-content/uploads/nilogo.jpg" alt="Natural Intelligence Logo" title="Natural Intelligence Logo" /></p>

<p>In the early 1990s <a href="http://web.archive.org/web/19961111222551/http://www.natural.com/">Natural Intelligence</a> was one of the premiere 4th Dimension development consultancies. Founded in Cambridge, Massachusetts by Joshua Wachs and staffed by luminaries including Hillel Cooperman and Aparajita Fishman, NI produced the most advanced and well-known 4D tools of the time: <a href="http://web.archive.org/web/19961111223842/www.natural.com/pages/products/easy4d/index.html">Easy4D</a>, <a href="http://web.archive.org/web/19961111223915/www.natural.com/pages/products/qcp/index.html">QuickCode Pro</a>, and <a href="http://www.aparajitaworld.com/site/products/ObjectTools/">ObjectTools</a>.</p>

<p>At DEVCON 1994, my first, I met Josh. NI was growing, and he was actively recruiting. I took him up on an offer of an interview, and as a prerequisite I received the famous Natural Intelligence 4th Dimension Proficiency Test.<span id="more-61"></span></p>

<p>True to the pre-Internet technology of the day, I received the test by <a href="http://en.wikipedia.org/wiki/Fax">Fax</a>. It is now old and yellowed, but still legible after 16 years. It contains details reflective of NI: beautiful typography, careful layout, formal but respectful language, and technical excellence.</p>

<p><a href="http://flushbuffers.com/wordpress/wp-content/uploads/ni-fax-1994.jpeg"><img class="FAX" src="/wordpress/wp-content/uploads/ni-fax-1994-small.jpeg" /><br /><em>Natural Intelligence Fax</em></a></p>

<p>I was enamored of NI, and wanted that interview. I carefully built my response in kind with what I knew then as beautiful typography, a careful layout, formal but respectful language, and the best 4D code I knew how to write. It&#8217;s interesting how much things have changed and how much they haven&#8217;t.</p>

<p><a href="http://flushbuffers.com/wordpress/wp-content/uploads/Natural-Intelligence-4D-Proficiency-Test.pdf"><img class="PDF" src="/wordpress/wp-content/uploads/ni-4d-test.jpeg" /><br /><em>Natural Intelligence 4D Proficiency Test</em></a></p>

<p>Based on my response, I did get an interview with NI. It was a long flight from Anchorage to Boston followed by an exciting and exhausting all-day interview with more people than I could count. An offer followed the next week, which I fitfully considered and eventually turned down in favor of another from Apple. I recall finally connecting with Josh by telephone at his booth on the floor of <a href="http://web.archive.org/web/19981212030718/www.macworldexpo.com/">MacWorld Boston</a> to tell him my decision. It was a tough choice.</p>

<p>In the later 1990s NI applied their amazing talents to the up-and-coming Java platform. They produced the <a href="http://www.encyclopedia.com/doc/1G1-17978768.html">first Mac-based Java IDE</a>, which they called <a href="http://web.archive.org/web/19961114033826/http://www.roaster.com/">Roaster</a>. It included a Java JVM they had written, even more insanely difficult to do then than today. It reflected their technical greatness. They also produced a news website, <a href="http://web.archive.org/web/19990831174251/www.intelligence.com/archive.asp?date=2/1/99">Intelligence.com</a>.</p>

<p>In 1999 NI was sold to <a href="http://web.archive.org/web/20010513094726/http://www.circle.com/">Circle.com</a> and evaporated into the Internet Bubble of the early 2000s. <a href="http://www.hillel.com/">Hillel Cooperman</a> moved on to achieve further greatness at Microsoft&#8217;s <a href="http://en.wikipedia.org/wiki/Macintosh_Business_Unit">Macintosh Business Unit</a> and lately with <a href="http://www.jacksonfish.com/">Jackson Fish Market</a>. <a href="http://www.aparajitaworld.com/blog/">Aparajita Fishman</a> remains a highly-regarded 4D Developer and publisher of <a href="http://www.aparajitaworld.com/site/products/Active4D/">Active4D</a>. <a href="http://www.joshua.com/">Joshua Wachs</a> is changing the world of online activism at <a href="http://www.echoditto.com/users/joshua-wachs">Echo Ditto</a>.</p>

<p>Life might have turned out very differently for me had I accepted Josh&#8217;s offer; the Natural Intelligence 4D Proficiency Test remains an interesting memento of that decision.</p>
<img src="http://feeds.feedburner.com/~r/flushbuffers/HiLd/~4/zY14JJZFsgk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://flushbuffers.com/2010/05/14/natural-intelligence-4d-proficiency-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://flushbuffers.com/2010/05/14/natural-intelligence-4d-proficiency-test/</feedburner:origLink></item>
		<item>
		<title>NUG Traffic Uptick</title>
		<link>http://feedproxy.google.com/~r/flushbuffers/HiLd/~3/KDTp6LLLRZY/</link>
		<comments>http://flushbuffers.com/2010/04/29/nug-traffic-uptick/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 08:21:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://flushbuffers.com/?p=54</guid>
		<description><![CDATA[There's an uptick in traffic on the NUG, and it reflects an uptick in the community's health.]]></description>
			<content:encoded><![CDATA[<p>One of the best indicators of a development community&#8217;s health is its internal communication: more talk means more health; less talk means less health; no talk means the community is dead.</p>

<p>For better or worse, the <a href="http://lists.4d.com/mailman/listinfo/4d_tech">4D iNUG Tech Mailing List</a> &mdash; the NUG &mdash; is the main conversation for 4D Development. It&#8217;s where we all talk to each other, all the time.</p>

<p>There are a few places where the NUG&#8217;s messages are posted in web page form. <a href="http://dir.gmane.org/gmane.comp.lang.inug-4d.tech">GMane</a> is my favorite. It includes a graph of <em>Messages per day</em> since it started tracking the NUG back in 2005.</p>

<p><img src="/wordpress/wp-content/uploads/nug_traffic.jpg" alt="4D iNUG Traffic" title="4D iNUG Traffic" /></p>

<p>Lately I noticed a trend. An uptick. We&#8217;re talking more.</p>

<p><span id="more-54"></span>Where the messages per day had been on a long slow decline since 2005, in late 2008 there was an <a href="http://mathworld.wolfram.com/InflectionPoint.html">inflection point</a>. The number of messages per day increased. It&#8217;s a subtle but significant turnaround! That trend appears to continue.</p>

<p><img src="/wordpress/wp-content/uploads/nug_traffic_uptick.jpg" alt="4D iNUG Traffic Trends" title="4D iNUG Traffic Trends" /></p>

<p>I attribute the uptick to improved developer confidence. In late 2008 <a href="http://www.slicksurface.com/blog/2008-10/my-personal-thoughts-on-4d-summit">4D Server v11 was shown publicly at the 4D Summit</a>. Since then, 4D v11 has improved in stability and reliability from version 11.3 through version 11.6. As well, significant vendor projects have appeared or improved: <a href="http://www.4d.com/us/products/wakanda.html">Wakanda</a>, <a href="http://www.4d.com/us/products/4dweb20pack/flex.html">4D for Flex</a>, <a href="http://www.4d.com/us/products/free/4dpop.html">4D Pop</a>, <a href="http://www.4d.com/us/products/free/4dsvg.html">4D SVG</a>, and the <a href="http://kb.4d.com/kbase.shtml">4D Knowledgebase</a>. The third party market reflects this same trend; significant products have also appeared since then.</p>

<p>Lest I appear too much a shill, I will recognize that there have been some negative events in the platform, mostly minor (but still aggravating). But, nothing speaks like numbers: look at that graph and decide for yourself. Like a stock price that anticipates the confidence of the market, our GMane graph shows it: 4D is on an uptick!</p>
<img src="http://feeds.feedburner.com/~r/flushbuffers/HiLd/~4/KDTp6LLLRZY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://flushbuffers.com/2010/04/29/nug-traffic-uptick/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://flushbuffers.com/2010/04/29/nug-traffic-uptick/</feedburner:origLink></item>
		<item>
		<title>Autographed 4D v3 Key Disk</title>
		<link>http://feedproxy.google.com/~r/flushbuffers/HiLd/~3/OuLAuhaJPXQ/</link>
		<comments>http://flushbuffers.com/2010/04/20/autographed-4d-v3-key-disk/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 09:20:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Historical]]></category>

		<guid isPermaLink="false">http://flushbuffers.com/?p=34</guid>
		<description><![CDATA[One of my favorite bits of 4D Memorabilia is my Signed 4D v3 Key Disk.

Key... disk? What is this, you might ask? Children, gather ’round and learn of the great mystery of a key disk and of the night when mine was signed by its author in the exotic surroundings of an Egyptian temple.]]></description>
			<content:encoded><![CDATA[<p><img src="/wordpress/wp-content/uploads/4D-v3-Key-Disk.jpg" alt="Autographed 4D v3 Key Disk" title="Autographed 4D v3 Key Disk" /></p>

<p>One of my favorite bits of 4D Memorabilia is my Signed 4D v3 Key Disk.</p>

<p>Key&#8230; disk? What is this, you might ask? Children, gather ’round and learn of the great mystery of a key disk and of the night when mine was signed by its author in the exotic surroundings of an Egyptian temple.</p>

<p><span id="more-34"></span>In the mists of the time before the Internet, before all computer activity could be registered and monitored online, there was a problem: how do you keep people from accidentally using too many copies of non-open-source software?</p>

<p>Computers of that epoch had an interesting and primitive portable storage medium called the <a href="http://en.wikipedia.org/wiki/Floppy_disk">floppy disk</a>. These were much like a <a href="http://en.wikipedia.org/wiki/USB_flash_drive">USB flash drive</a> but with much, much smaller capacity &mdash; on the order of 0.001 gigabytes per device.</p>

<p>Typically, a software application would be distributed on a collection of these floppy disks. If the application was small, it might fit on one floppy disk which the user would use directly when they wanted to run that application. If the application was large, the user would install on their internal hard disk by starting a program on the first floppy disk, and then insert the rest in the series as prompted. This would place the entire application and its supporting files on the internal hard disk. For example, the Microsoft Office of that time was distributed on a collection of over 40 individual floppy disks &mdash; even 4th Dimension had 4 or more floppy disks. This is a strange concept today, but it certainly made sense at the time and worked rather well &mdash; unless one of the floppy disks had a corruption problem, which made installation a challenge.</p>

<p>When a software vendor of that time wanted to copy-protect their application, they had only the floppy disk drive as their means of deployment. Strange as it may seem, computers were only very rarely connected to the Internet. So, the vendor would distribute a specially-formatted floppy disk &mdash; usually with purposefully-introduced corruption in known locations on the disk medium that only the application knew how to decode properly. Because these floppy disks were corrupted in a controlled way they were not easily reproduced by end-users, and thus the special floppy disk became a key for the application. (Of course, very clever users could duplicate the key disks with concerted effort and especially clever users could reverse-engineer the application and circumvent &mdash; or “crack” &mdash; the copy-protection, but that discussion is best left for another time.)</p>

<p>Thus, for the first three major US versions of 4th Dimension, from about 1987 until 1996, the Key Disk was a carefully-guarded possession of any 4D Developer. The copy-protection scheme employed by ACIUS involved a random check: approximately every third time the Developer launched 4D, it requested the Key Disk.</p>

<p>In July 1994 I brought my Key Disk to the annual 4D DEVCON, my first. My hope was to have <a href="http://www.4d.com/us/company/about/team.html">Laurent Ribardière</a> sign it, which he did during a memorable moment at the DEVCON Party. I thought it was very cool to have the author sign his work!</p>

<p>The main event of the 4D DEVCONs of those days was the DEVCON Party, which was lavish and always memorable. In 1994, the DEVCON Party was held at the <a href="http://www.egyptianmuseum.org/">Rosicrucian Museum</a> in the Alhambra District of <a href="http://en.wikipedia.org/wiki/San_Jose,_California">San Jose, California</a>. The Museum is themed after the Temple of Amon at Karnak, and is utterly surreal.</p>

<p>On that night, I stood on the porch of the museum waiting to get Laurent&#8217;s attention. He was there chatting with the other members of the French contingent, who were smoking cigarettes outside as they must do in the United States. At the right moment I introduced myself to Laurent, shook his hand, and asked him to sign. He was quite amused to do so, but was very gracious and honored my request. The brightly-lit surroundings, the smoke from the strong French cigarettes, and the very warm and bright night all added to the surreality of the moment for me.</p>

<p>And so, my signed 4D v3 Key Disk remains one of my most treasured pieces of 4D Memorabilia. I keep it on my desk to remind me of the time when the Internet was not known, and of that rather surreal night when I asked Laurent to autograph my key disk.</p>
<img src="http://feeds.feedburner.com/~r/flushbuffers/HiLd/~4/OuLAuhaJPXQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://flushbuffers.com/2010/04/20/autographed-4d-v3-key-disk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://flushbuffers.com/2010/04/20/autographed-4d-v3-key-disk/</feedburner:origLink></item>
		<item>
		<title>somiO</title>
		<link>http://feedproxy.google.com/~r/flushbuffers/HiLd/~3/_SpjOZCCVPw/</link>
		<comments>http://flushbuffers.com/2010/04/19/somio/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 22:31:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Historical]]></category>

		<guid isPermaLink="false">http://flushbuffers.com/?p=15</guid>
		<description><![CDATA[There is an Easter Egg that has been hidden in 4th Dimension for many years, since 4D 6.0 and probably before. Here's how to make it appear...]]></description>
			<content:encoded><![CDATA[<p><img src="/wordpress/wp-content/uploads/somiO.jpg" alt="Easter Egg in 4D v11: Asmae Benkirane" title="Easter Egg in 4D v11: Asmae Benkirane" /></p>

<p>There is an <a href="http://en.wikipedia.org/wiki/Easter_egg_&#40;media&#41;" title="Easter Egg">Easter Egg</a> that has been hidden in <a href="http://www.4d.com/">4th Dimension</a> for many years, since 4D 6.0 and probably before.<span id="more-15"></span>Here’s how to make it appear:</p>

<ol>
<li><p>Single-click somewhere in the application. (I use an unused part of the menu bar for this.)</p></li>
<li><p>Carefully type <code>"somiO"</code>, with a Shift-O for the last character.</p></li>
<li><p>Continue to hold down the Shift key.</p></li>
</ol>

<p>You will see a small window open in the center of the screen. It contains a picture of 4D SAS’s Chief Visionary Officer and EVP of Engineering <a href="http://www.4d.com/us/company/about/team.html">Asmae Benkirane</a>, who must be a very special person to have her picture embedded inside 4D!</p>

<p>Be careful not to hold down the shift key for too long &mdash; all, and we mean ALL, event processing stops during this time. As soon as you release the Shift key, the window disappears and processing returns to normal.</p>

<p>Perhaps a future version will have an updated picture of Asmae! In any case, her picture is a lovely hidden feature and a wonderful Easter Egg.</p>
<img src="http://feeds.feedburner.com/~r/flushbuffers/HiLd/~4/_SpjOZCCVPw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://flushbuffers.com/2010/04/19/somio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://flushbuffers.com/2010/04/19/somio/</feedburner:origLink></item>
		<item>
		<title>Why would you want to do that?</title>
		<link>http://feedproxy.google.com/~r/flushbuffers/HiLd/~3/OMuPp7AH6fs/</link>
		<comments>http://flushbuffers.com/2010/04/16/why-would-you-want-to-do-that/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 04:37:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://flushbuffers.com/wordpress/?p=1</guid>
		<description><![CDATA[My explanation of “Why would you want to do that?”]]></description>
			<content:encoded><![CDATA[<p>There’s an old joke in the 4D Development Community, and it goes something like this:</p>

<blockquote>
  <p>Developer 1: <em>Hey, wouldn’t it be great if 4D could (insert interesting thing here)?</em></p>
  
  <p>Developer 2: <em>Why would you want to do that?</em></p>
  
  <p>Both Developers: <em>Pause, look at each other, then laugh hysterically.</em></p>
</blockquote>

<p><span id="more-115"></span>I&#8217;ll save the full explanation for another article, but if you answer “Why would you want to do that?” you show that you&#8217;re a bit out of touch with your constituency. It’s something of a self-fulfilling prophecy &mdash; if you don’t already understand why you would want to do that, you’ll probably never be convinced of its importance, and will never do it.</p>

<p>For me, a member of the 4D Development Community (to varying degrees) for 20-plus years, the punch line to the joke describes why I am now writing about the Community in a blog format: almost nobody does it. There are deeper reasons, but for today I’ll leave it that <a href="http://flushbuffers.com/">FLUSH BUFFERS</a> is my response to “Why would you want to do that?”</p>
<img src="http://feeds.feedburner.com/~r/flushbuffers/HiLd/~4/OMuPp7AH6fs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://flushbuffers.com/2010/04/16/why-would-you-want-to-do-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://flushbuffers.com/2010/04/16/why-would-you-want-to-do-that/</feedburner:origLink></item>
	</channel>
</rss>
