<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	
	>
<channel>
	<title>
	Comments on: Finish Strong	</title>
	<atom:link href="https://themusingsofthebigredcar.com/finishing-strong/feed/" rel="self" type="application/rss+xml" />
	<link>https://themusingsofthebigredcar.com/finishing-strong/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=finishing-strong</link>
	<description>53 years and 204,000 miles of business, CEO, leadership, startup, political, military wisdom</description>
	<lastBuildDate>Sun, 27 Nov 2016 23:06:00 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9.12</generator>
	<item>
		<title>
		By: sigmaalgebra		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3215</link>

		<dc:creator><![CDATA[sigmaalgebra]]></dc:creator>
		<pubDate>Sun, 27 Nov 2016 23:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3215</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://themusingsofthebigredcar.com/finishing-strong/#comment-3214&quot;&gt;Lawrence Brass&lt;/a&gt;.

Thanks.

I suspected there was a relevant RFC or two available somewhere.  Some months ago I did look into the situation on standard log file syntax and do have some notes.

&#062;  The problem is that in Windows it is not the standard, so if you want 
to send log messages to a syslog server in Linux from a web server 
running in Windows, along with your own messages you will have to 
configure a  &quot;syslog agent&quot;.

I am rendering unto Windows what is Windows and not trying to do anything with real, official, Gates-blessed, Windows log messages or the Microsoft tools for such messages.

Instead I&#039;m just trying to handle just messages from my running application level code, messages my code writes.  

Here is a sample message my software wrote by calling the Windows logging tool, that is, my message after I ripped out the gibberish Windows put in:

&lt;blockquote&gt;20160227 042015.787000 UTC Universal 0.0.0.0 search_inputs.aspx SSS_retrieve 1002 Unexpected condition. return_code = 1002 Exception thrown. error_code = 1003 err.number = 5 err.source = mscorlib err.description = End of Stream encountered before parsing was completed.&lt;/blockquote&gt;

That message and a glance at the code, with my voluminous comments, will give a good explanation of just what the heck happened.  

Maybe I&#039;ll glance at the RFC and other standard stuff, but I know basically what I want -- some fixed fields followed by some name-value pairs with blanks for delimiters, just the first 128 or so ASCII characters, and no gibberish.

For sending the message, I will just use my own code, and it will use just simple as possible TCP/IP sockets.  Really, my server farm log file server won&#039;t be using any Windows code that is specific to log files.  

For UDP, sure, that would be sufficient and more efficient, but, still, I&#039;ll just use TCP/IP anyway if only because it&#039;s my general purpose, workhorse means.  

Sure, a Linux box connected to the serer farm LAN could receive the messages just fine.  Heck, in principle could use a Raspberry Pi with a TCP/IP stack and thumb drive!  The log file server just receives a string via TCP/IP and writes it to a file -- the string could be a recipe for chocolate cake as far as the server is concerned -- so, anything with a TCP/IP stack that could write a file and run a little program could be used as the log server.  But, I&#039;m working with Windows so don&#039;t want the overhead of also working with Linux.  I picked just one of those two, Windows, and not both.
 
Sure, in a Web server, say, Microsoft&#039;s IIS, the Windows code did me a nice service:  There could be at one time several Web pages using the Windows tools to write to the Web site log.  So, Microsoft had to &lt;i&gt;serialize&lt;/I&gt; the writing so that each message got written without being interrupted by messages from other Web pages.

So, what will my log server do about several executing program instances, each on its own thread all wanting to write to the log at the same time?  Sure:  At the log server, run that code all on just one thread and set the TCP/IP input queue to a relatively high number, say, 100 messages, and use the TCP/IP FIFO mechanism to handle the &lt;i&gt;serialization,&lt;/i&gt; contention, whatever want to call it.  If that fails, e,g., a sender trying to connect gets a TCP/IP timeout, then I&#039;ll think of a patchup!  E.g., a program getting such a timeout should report it to its own console log or some such.

Thanks.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://themusingsofthebigredcar.com/finishing-strong/#comment-3214">Lawrence Brass</a>.</p>
<p>Thanks.</p>
<p>I suspected there was a relevant RFC or two available somewhere.  Some months ago I did look into the situation on standard log file syntax and do have some notes.</p>
<p>&gt;  The problem is that in Windows it is not the standard, so if you want<br />
to send log messages to a syslog server in Linux from a web server<br />
running in Windows, along with your own messages you will have to<br />
configure a  &#8220;syslog agent&#8221;.</p>
<p>I am rendering unto Windows what is Windows and not trying to do anything with real, official, Gates-blessed, Windows log messages or the Microsoft tools for such messages.</p>
<p>Instead I&#8217;m just trying to handle just messages from my running application level code, messages my code writes.  </p>
<p>Here is a sample message my software wrote by calling the Windows logging tool, that is, my message after I ripped out the gibberish Windows put in:</p>
<blockquote><p>20160227 042015.787000 UTC Universal 0.0.0.0 search_inputs.aspx SSS_retrieve 1002 Unexpected condition. return_code = 1002 Exception thrown. error_code = 1003 err.number = 5 err.source = mscorlib err.description = End of Stream encountered before parsing was completed.</p></blockquote>
<p>That message and a glance at the code, with my voluminous comments, will give a good explanation of just what the heck happened.  </p>
<p>Maybe I&#8217;ll glance at the RFC and other standard stuff, but I know basically what I want &#8212; some fixed fields followed by some name-value pairs with blanks for delimiters, just the first 128 or so ASCII characters, and no gibberish.</p>
<p>For sending the message, I will just use my own code, and it will use just simple as possible TCP/IP sockets.  Really, my server farm log file server won&#8217;t be using any Windows code that is specific to log files.  </p>
<p>For UDP, sure, that would be sufficient and more efficient, but, still, I&#8217;ll just use TCP/IP anyway if only because it&#8217;s my general purpose, workhorse means.  </p>
<p>Sure, a Linux box connected to the serer farm LAN could receive the messages just fine.  Heck, in principle could use a Raspberry Pi with a TCP/IP stack and thumb drive!  The log file server just receives a string via TCP/IP and writes it to a file &#8212; the string could be a recipe for chocolate cake as far as the server is concerned &#8212; so, anything with a TCP/IP stack that could write a file and run a little program could be used as the log server.  But, I&#8217;m working with Windows so don&#8217;t want the overhead of also working with Linux.  I picked just one of those two, Windows, and not both.</p>
<p>Sure, in a Web server, say, Microsoft&#8217;s IIS, the Windows code did me a nice service:  There could be at one time several Web pages using the Windows tools to write to the Web site log.  So, Microsoft had to <i>serialize</i> the writing so that each message got written without being interrupted by messages from other Web pages.</p>
<p>So, what will my log server do about several executing program instances, each on its own thread all wanting to write to the log at the same time?  Sure:  At the log server, run that code all on just one thread and set the TCP/IP input queue to a relatively high number, say, 100 messages, and use the TCP/IP FIFO mechanism to handle the <i>serialization,</i> contention, whatever want to call it.  If that fails, e,g., a sender trying to connect gets a TCP/IP timeout, then I&#8217;ll think of a patchup!  E.g., a program getting such a timeout should report it to its own console log or some such.</p>
<p>Thanks.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Lawrence Brass		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3214</link>

		<dc:creator><![CDATA[Lawrence Brass]]></dc:creator>
		<pubDate>Sun, 27 Nov 2016 22:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3214</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://themusingsofthebigredcar.com/finishing-strong/#comment-3211&quot;&gt;sigmaalgebra&lt;/a&gt;.

syslog, RFC 5424 compatibility is a nice design goal because you gain some benefits, as the third party analytics functionality you mention. The problem is that in Windows it is not the standard, so if you want to send log messages to a syslog server in Linux from a web server running in Windows, along with your own messages you will have to configure a  &quot;syslog agent&quot;. Sending messages to a syslog server from your code is relatively easy because it is basically an UDP send.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://themusingsofthebigredcar.com/finishing-strong/#comment-3211">sigmaalgebra</a>.</p>
<p>syslog, RFC 5424 compatibility is a nice design goal because you gain some benefits, as the third party analytics functionality you mention. The problem is that in Windows it is not the standard, so if you want to send log messages to a syslog server in Linux from a web server running in Windows, along with your own messages you will have to configure a  &#8220;syslog agent&#8221;. Sending messages to a syslog server from your code is relatively easy because it is basically an UDP send.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: sigmaalgebra		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3211</link>

		<dc:creator><![CDATA[sigmaalgebra]]></dc:creator>
		<pubDate>Thu, 24 Nov 2016 22:27:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3211</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://themusingsofthebigredcar.com/finishing-strong/#comment-3205&quot;&gt;Lawrence Brass&lt;/a&gt;.

Thanks.  

I&#039;ve tried to stick with the first 128 or so characters of ASCII and ignore Unicode and have mostly been successful!  

It&#039;s good that Microsoft has done the good and right things to support Unicode, and if my startup &lt;i&gt;goes international&lt;/i&gt; or otherwise has to handle a lot more than those first 128, then I will thank Microsoft.

In places Windows is willing to write a file of its options; looking at that file with my favorite ASCII editore, KEdit, shows gibberish characters; but looking at the file with Microsoft&#039;s Notepad gets rid of the gibberish and shows just clean text and numerical data.  Then SELECT all that content, copy it to the system clipboard, pull it into my favorite ASCII editor -- still gives clean content without gibberish characters.  I have successfully avoided looking into just why.

Well, with your suggestion, I just went to my file system directory with lots of log files from the Windows tools for writing logs (since all my planned code does run on my development computer and I have run it many times so have lots of log files) and had Notepad display one of the  files.  Yup, even  Notepad displayed the little rectangles indicating gibberish characters.  I looked at the file in hex and saw that the rectangles were from hex 10 and other relatively small numbers, in ASCII intended for controlling old serial telecommunications equipment going way back, maybe to teletypes in the 1930s.  

I suspect that these gibberish characters are being used as delimiters in some syntax -- maybe somewhere there is come Bachus-Naur Form (BNF) syntax for such log files.

Whatever:  I need a good log file facility, tool, function, server, whatever call it.  Microsoft is not so good on documenting the syntax they use, and I don&#039;t want to try to reverse engineer what they are doing by gussing, throwing at the wall, and stopping as soon as something appears to stick -- I&#039;ve done such things too often.

And there&#039;s no biggie problem:  I can just set up a little single threaded program that receives communications via simple TCP/IP sockets.  Each such message will have just the first 128 ASCII characters, one per 8 bit byte.  The BNF will be dirt simple -- a sequence of &lt;i&gt;tokens&lt;/i&gt; where each token is a string without blanks and delimited by blanks.  But if I get too wound up, I may let a token be delimited by double quote marks, , [ and ], or { and } -- bummer, overkill, leave for later where the simple syntax is a subset of the overkill one!  But long ago I wrote code for the overkill syntax and use it for reading ASCII files of input options for programs. It works fine.  So, I might reuse that old code.  Nope -- just use KISS, keep it simple, stupid!  

That KISS solution should be good enough for the first $1 B  in company value; if the KISS solution is not good enough for the first $1 T, then cross that bridge then!

Besides, the BNF is just for the lexical parsing and syntax; I can still use reserved tokens for  implement desired semantics!

So, each line of the log file should have one log message -- no multiline log file messages permitted!  If a string sent to the log file contains LF or CR characters, then that is a misuse of the facility!

Each message starts with time and date, Greenwich Mean Time (GMT) or Coordinated Universal Time (UTC) depending on how correct want to call it.  So, presto, bingo, don&#039;t have to worry about missing hours or clocks jumping backwards due to daylight savings time!  And have the time data as a token with no blanks, all tokens the same length, and so that sorting as ASCII characters also sorts in time sequential order!

Then have tokens for the executing instance of the program, the name of the program, the function being executed, and the sequential number of the message in that function (uh, my favorite text editor has a little command that sequentially numbers such code components!) -- so, have the origin of the message uniquely identified.  Then have more specific data, say, from a Web server, the IP address of the user, the user ID (UID) if are having the users login.  Then have the rest of the message -- evidence of a hacking attempt, unexpected condition in the software, software error, routine report of some possibly useful   data, maybe for analyzing the UI/UX, etc.

In the code for all my Web pages, to write to the log file, I call the same function I wrote with the same list of parameters (call &lt;i&gt;signature&lt;/i&gt;).  So, just keep that function name and the uses of it and, then, just
change the function to send the data to the log
file server instead of calling Microsoft&#039;s function.  Maybe more
work to describe here
than to implement the
thing!

Sure, for &lt;i&gt;scalability,&lt;/i&gt; should
want an easy way to 
have more than one
instance of the log file
server running!  There should be an easy way to do that.  

And, sure, just one such server would be a 
&quot;single point of failure&quot;
for the whole Web site
and a reliability threat.  So, implement an automatic facility to switch over to a backup log file server -- do that later!

So, net, &quot;Look, Ma, no gibberish characters in the site log files!&quot;.

Thanks.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://themusingsofthebigredcar.com/finishing-strong/#comment-3205">Lawrence Brass</a>.</p>
<p>Thanks.  </p>
<p>I&#8217;ve tried to stick with the first 128 or so characters of ASCII and ignore Unicode and have mostly been successful!  </p>
<p>It&#8217;s good that Microsoft has done the good and right things to support Unicode, and if my startup <i>goes international</i> or otherwise has to handle a lot more than those first 128, then I will thank Microsoft.</p>
<p>In places Windows is willing to write a file of its options; looking at that file with my favorite ASCII editore, KEdit, shows gibberish characters; but looking at the file with Microsoft&#8217;s Notepad gets rid of the gibberish and shows just clean text and numerical data.  Then SELECT all that content, copy it to the system clipboard, pull it into my favorite ASCII editor &#8212; still gives clean content without gibberish characters.  I have successfully avoided looking into just why.</p>
<p>Well, with your suggestion, I just went to my file system directory with lots of log files from the Windows tools for writing logs (since all my planned code does run on my development computer and I have run it many times so have lots of log files) and had Notepad display one of the  files.  Yup, even  Notepad displayed the little rectangles indicating gibberish characters.  I looked at the file in hex and saw that the rectangles were from hex 10 and other relatively small numbers, in ASCII intended for controlling old serial telecommunications equipment going way back, maybe to teletypes in the 1930s.  </p>
<p>I suspect that these gibberish characters are being used as delimiters in some syntax &#8212; maybe somewhere there is come Bachus-Naur Form (BNF) syntax for such log files.</p>
<p>Whatever:  I need a good log file facility, tool, function, server, whatever call it.  Microsoft is not so good on documenting the syntax they use, and I don&#8217;t want to try to reverse engineer what they are doing by gussing, throwing at the wall, and stopping as soon as something appears to stick &#8212; I&#8217;ve done such things too often.</p>
<p>And there&#8217;s no biggie problem:  I can just set up a little single threaded program that receives communications via simple TCP/IP sockets.  Each such message will have just the first 128 ASCII characters, one per 8 bit byte.  The BNF will be dirt simple &#8212; a sequence of <i>tokens</i> where each token is a string without blanks and delimited by blanks.  But if I get too wound up, I may let a token be delimited by double quote marks, , [ and ], or { and } &#8212; bummer, overkill, leave for later where the simple syntax is a subset of the overkill one!  But long ago I wrote code for the overkill syntax and use it for reading ASCII files of input options for programs. It works fine.  So, I might reuse that old code.  Nope &#8212; just use KISS, keep it simple, stupid!  </p>
<p>That KISS solution should be good enough for the first $1 B  in company value; if the KISS solution is not good enough for the first $1 T, then cross that bridge then!</p>
<p>Besides, the BNF is just for the lexical parsing and syntax; I can still use reserved tokens for  implement desired semantics!</p>
<p>So, each line of the log file should have one log message &#8212; no multiline log file messages permitted!  If a string sent to the log file contains LF or CR characters, then that is a misuse of the facility!</p>
<p>Each message starts with time and date, Greenwich Mean Time (GMT) or Coordinated Universal Time (UTC) depending on how correct want to call it.  So, presto, bingo, don&#8217;t have to worry about missing hours or clocks jumping backwards due to daylight savings time!  And have the time data as a token with no blanks, all tokens the same length, and so that sorting as ASCII characters also sorts in time sequential order!</p>
<p>Then have tokens for the executing instance of the program, the name of the program, the function being executed, and the sequential number of the message in that function (uh, my favorite text editor has a little command that sequentially numbers such code components!) &#8212; so, have the origin of the message uniquely identified.  Then have more specific data, say, from a Web server, the IP address of the user, the user ID (UID) if are having the users login.  Then have the rest of the message &#8212; evidence of a hacking attempt, unexpected condition in the software, software error, routine report of some possibly useful   data, maybe for analyzing the UI/UX, etc.</p>
<p>In the code for all my Web pages, to write to the log file, I call the same function I wrote with the same list of parameters (call <i>signature</i>).  So, just keep that function name and the uses of it and, then, just<br />
change the function to send the data to the log<br />
file server instead of calling Microsoft&#8217;s function.  Maybe more<br />
work to describe here<br />
than to implement the<br />
thing!</p>
<p>Sure, for <i>scalability,</i> should<br />
want an easy way to<br />
have more than one<br />
instance of the log file<br />
server running!  There should be an easy way to do that.  </p>
<p>And, sure, just one such server would be a<br />
&#8220;single point of failure&#8221;<br />
for the whole Web site<br />
and a reliability threat.  So, implement an automatic facility to switch over to a backup log file server &#8212; do that later!</p>
<p>So, net, &#8220;Look, Ma, no gibberish characters in the site log files!&#8221;.</p>
<p>Thanks.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Lawrence Brass		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3210</link>

		<dc:creator><![CDATA[Lawrence Brass]]></dc:creator>
		<pubDate>Thu, 24 Nov 2016 01:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3210</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://themusingsofthebigredcar.com/finishing-strong/#comment-3209&quot;&gt;sigmaalgebra&lt;/a&gt;.

Happy Thanksgiving, Dr. Sigma. Best wishes.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://themusingsofthebigredcar.com/finishing-strong/#comment-3209">sigmaalgebra</a>.</p>
<p>Happy Thanksgiving, Dr. Sigma. Best wishes.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: sigmaalgebra		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3209</link>

		<dc:creator><![CDATA[sigmaalgebra]]></dc:creator>
		<pubDate>Thu, 24 Nov 2016 01:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3209</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://themusingsofthebigredcar.com/finishing-strong/#comment-3206&quot;&gt;JLM&lt;/a&gt;.

Many thanks.  About to leave for some groceries and a dinner -- I&#039;ll pick up an apple, cherry, or pumpkin pie!  

My family did a big deal on turkey day, and I did in my marriage.  Used Dad&#039;s turkey recipe he got from his mom who used very lean wild turkeys so used a bread stuffing with  a lot of fat, onions, stock, etc.  At the end of the roasting, the bottom of the roasting pan had lots of good base for gravy!  

Applying Dad&#039;s recipe to a modern, say, Butterball turkey, is real overkill but really good!  And I used to tweak the gravy a little to have it more like what I learned about French sauce making -- reduce the liquid to concentrate flavors, maybe with some dry white wine, use some of the usual suspects, garlic, bay leaf, parsley, strain it, make a white roux using the fat from the roasting pan, combine and make a thick gravy, thin with milk or cream, adjust salt and pepper.  

Once after Turkey day, made a stock from the turkey bones and was boiling it down.  Had the back door open.  In wandered a hungry kitty cat.  She was with us for years!

Once after turkey day, Dad and I got up about 2 AM and drove to Reelfoot Lake in NW TN for duck hunting.  For lunch, we make sandwiches out of left over turkey.  Wrapped the sandwiches in AL foil.  In the duck blind, for heat, we had some charcoal in a left over five quart can.  So, to warm the sandwiches for lunch, just set them in the foil on the charcoal.  GREAT sandwiches!  That some parts were burned was okay!  Ah, maybe how good the sandwiches were had something to do with standing most of the morning in that duck blind!

It&#039;s corny but still pretty good:  In a casserole dish of, say, 1 quart put a piece of toast.  Top that with a thin slice of good ham, maybe smoked.  Cube some of the roast turkey.  Top with some of the turkey gravy (can&#039;t have too much turkey gravy!).  Warm that in the microwave and maybe brown the top under a broiler.  Can make a nice main dish.

Many thanks.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://themusingsofthebigredcar.com/finishing-strong/#comment-3206">JLM</a>.</p>
<p>Many thanks.  About to leave for some groceries and a dinner &#8212; I&#8217;ll pick up an apple, cherry, or pumpkin pie!  </p>
<p>My family did a big deal on turkey day, and I did in my marriage.  Used Dad&#8217;s turkey recipe he got from his mom who used very lean wild turkeys so used a bread stuffing with  a lot of fat, onions, stock, etc.  At the end of the roasting, the bottom of the roasting pan had lots of good base for gravy!  </p>
<p>Applying Dad&#8217;s recipe to a modern, say, Butterball turkey, is real overkill but really good!  And I used to tweak the gravy a little to have it more like what I learned about French sauce making &#8212; reduce the liquid to concentrate flavors, maybe with some dry white wine, use some of the usual suspects, garlic, bay leaf, parsley, strain it, make a white roux using the fat from the roasting pan, combine and make a thick gravy, thin with milk or cream, adjust salt and pepper.  </p>
<p>Once after Turkey day, made a stock from the turkey bones and was boiling it down.  Had the back door open.  In wandered a hungry kitty cat.  She was with us for years!</p>
<p>Once after turkey day, Dad and I got up about 2 AM and drove to Reelfoot Lake in NW TN for duck hunting.  For lunch, we make sandwiches out of left over turkey.  Wrapped the sandwiches in AL foil.  In the duck blind, for heat, we had some charcoal in a left over five quart can.  So, to warm the sandwiches for lunch, just set them in the foil on the charcoal.  GREAT sandwiches!  That some parts were burned was okay!  Ah, maybe how good the sandwiches were had something to do with standing most of the morning in that duck blind!</p>
<p>It&#8217;s corny but still pretty good:  In a casserole dish of, say, 1 quart put a piece of toast.  Top that with a thin slice of good ham, maybe smoked.  Cube some of the roast turkey.  Top with some of the turkey gravy (can&#8217;t have too much turkey gravy!).  Warm that in the microwave and maybe brown the top under a broiler.  Can make a nice main dish.</p>
<p>Many thanks.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Lawrence Brass		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3208</link>

		<dc:creator><![CDATA[Lawrence Brass]]></dc:creator>
		<pubDate>Wed, 23 Nov 2016 23:52:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3208</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://themusingsofthebigredcar.com/finishing-strong/#comment-3207&quot;&gt;JLM&lt;/a&gt;.

Happy Thanksgiving for you too Jeff!

We don&#039;t celebrate it explicitly as you up there, I guess our December 24 dinner resembles all the spirit of your celebration. My greetings to you goes with that spirit.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://themusingsofthebigredcar.com/finishing-strong/#comment-3207">JLM</a>.</p>
<p>Happy Thanksgiving for you too Jeff!</p>
<p>We don&#8217;t celebrate it explicitly as you up there, I guess our December 24 dinner resembles all the spirit of your celebration. My greetings to you goes with that spirit.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: JLM		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3207</link>

		<dc:creator><![CDATA[JLM]]></dc:creator>
		<pubDate>Wed, 23 Nov 2016 23:44:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3207</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://themusingsofthebigredcar.com/finishing-strong/#comment-3205&quot;&gt;Lawrence Brass&lt;/a&gt;.

Happy Thanksgiving! ,]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://themusingsofthebigredcar.com/finishing-strong/#comment-3205">Lawrence Brass</a>.</p>
<p>Happy Thanksgiving! ,</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: JLM		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3206</link>

		<dc:creator><![CDATA[JLM]]></dc:creator>
		<pubDate>Wed, 23 Nov 2016 23:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3206</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://themusingsofthebigredcar.com/finishing-strong/#comment-3204&quot;&gt;sigmaalgebra&lt;/a&gt;.

Happy Thanksgiving!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://themusingsofthebigredcar.com/finishing-strong/#comment-3204">sigmaalgebra</a>.</p>
<p>Happy Thanksgiving!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Lawrence Brass		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3205</link>

		<dc:creator><![CDATA[Lawrence Brass]]></dc:creator>
		<pubDate>Wed, 23 Nov 2016 23:41:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3205</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://themusingsofthebigredcar.com/finishing-strong/#comment-3204&quot;&gt;sigmaalgebra&lt;/a&gt;.

Those gibberish characters may be that you are looking at them from a different encoding, have you checked that? Just a few days ago I was processing what I thought to be an ASCII file, but things were not working as expected. Turned out that it was UTF-8 encoded which is variable length encoding in a way that a clean ASCII file can be considered UTF-8 because ASCII is a subset of UTF-8. When I corrected that all the reported &#039;errors&#039; disappeared magically.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://themusingsofthebigredcar.com/finishing-strong/#comment-3204">sigmaalgebra</a>.</p>
<p>Those gibberish characters may be that you are looking at them from a different encoding, have you checked that? Just a few days ago I was processing what I thought to be an ASCII file, but things were not working as expected. Turned out that it was UTF-8 encoded which is variable length encoding in a way that a clean ASCII file can be considered UTF-8 because ASCII is a subset of UTF-8. When I corrected that all the reported &#8216;errors&#8217; disappeared magically.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: sigmaalgebra		</title>
		<link>https://themusingsofthebigredcar.com/finishing-strong/#comment-3204</link>

		<dc:creator><![CDATA[sigmaalgebra]]></dc:creator>
		<pubDate>Wed, 23 Nov 2016 23:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://themusingsofthebigredcar.com/?p=5333#comment-3204</guid>

					<description><![CDATA[Yes, there are many reasons it is possible to delay the launch of Version 1.0 too long.  But it&#039;s also possible to launch Version 1.0 too soon, e.g., have a case of vast goals with half-vast planning.  Before heading out into the Atlantic, want to be sure the ship will float, including in high winds, in the North Atlantic, in winter.  

Yes, delaying Version 1.0 too long is easy.  But there is also something easier too many people know too much about, learned by &quot;paying full tuitioin&quot; -- simple, ordinary, failure.  Want success.  Certainly want to avoid failure.

Concern 1:

&lt;blockquote&gt;You only get one chance to make a good first impression.&lt;/blockquote&gt;

Or, similarly, &quot;Measure twice.  Saw once.&quot;

Concern 2:

To go from 0 to more, to the first 1000 customers, to make progress at all, may have to get publicity, say, via a writer in the tech media.  For that, the writer has to be impressed enough to write an article.  So, Version 1.0 has to be good enough to impress a tech writer.

Concern 3:

Supposedly there are a lot of people nearly no one has heard of who had and still have a &lt;i&gt;better mousetrap&lt;/i&gt; and, thus, don&#039;t believe the common

&lt;blockquote&gt;Build a better mousetrap, and the world will beat a path to your door.&lt;/blockquote&gt;

Instead, have to do well on launch excitement, buzz, both steak and sizzle.

Alpha test is important:  That&#039;s where detect and fix the worst of the bugs, rough edges, etc.

Beta test is important:  That&#039;s where get real, that is, blunt, objective, feedback from real target users, likely nearly all strangers.  

If want to get equity funding, then early, rapid growth is important (likely nearly the only thing early stage funders look for), and one of the best sources is &lt;i&gt;viral&lt;/i&gt; growth.  So, if have a feature that stands to do good things for viral growth, implement that in Version 1.0 or wait?  Hmm ....

Concern 4:

There is

&lt;blockquote&gt;If you fail to plan, then you plan to fail.&lt;/blockquote&gt;

So, maybe there is the best news:  The users are thrilled and arrive by the thousands.  Then, suddenly, for some unexpected reason, there is some big publicity, and then users arrive by the millions.  

So, don&#039;t want this good news to kill the business.  So, want a way to throttle this success, e.g., have users need a user ID (UID) and password (PW), apply for those, and wait in a FIFO queue.  So, need to be able to implement that feature during the mad rush or have it working by, say, beta test and turn it on if needed during Version 1.0.

Also want user feedback e-mail and advertiser feedback e-mail.

Here&#039;s one:  The Web server and, really, the rest of the server farm need a log file.  Okay, Microsoft has some code for that.  Of course, at a live Web site that is at all successful, the log file can get some thousands, maybe millions, of lines of data a day.  But the Microsoft code is for a little Microsoft viewer program where get to look at a few dozen log file lines at a time.  Bummer.  Yes, can write some code to parse that log file and write some code to analyze the parsed data, but Microsoft doesn&#039;t describe the contents; there are a lot of gibberish characters; so have to throw away the gibberish characters, etc.  

So, really should have an okay log file server for the whole server farm.  Then, sure, likely don&#039;t do much with the file unless and until there is some serious need, but at least do have the log file server, have the server farm production software sending log messages to it, and have the server writing the messages to a disk file, yes, with an option to tell the log file server to close that file and start a new one.

Sure, the Web server(s) need a session state server.  So, if have one, say, with just TCP/IP socket communications, sending/receiving serialized versions of instances of classes, using, say, two instances of a collection class to store the session states and keep track of their delete times, then just copy that code, rip out most of it, put in a few lines to write to a file, modify the feature that lets the code receive real time commands and respond with messages, and, presto, bingo, have a server farm log server.  Worth doing it before Version 1.0, likely before beta test. 

Ah, sounds like when to take &quot;that big step off&quot; to Version 1.0 needs some judgment!  Gee, that business might need some judgment!  Amazing!]]></description>
			<content:encoded><![CDATA[<p>Yes, there are many reasons it is possible to delay the launch of Version 1.0 too long.  But it&#8217;s also possible to launch Version 1.0 too soon, e.g., have a case of vast goals with half-vast planning.  Before heading out into the Atlantic, want to be sure the ship will float, including in high winds, in the North Atlantic, in winter.  </p>
<p>Yes, delaying Version 1.0 too long is easy.  But there is also something easier too many people know too much about, learned by &#8220;paying full tuitioin&#8221; &#8212; simple, ordinary, failure.  Want success.  Certainly want to avoid failure.</p>
<p>Concern 1:</p>
<blockquote><p>You only get one chance to make a good first impression.</p></blockquote>
<p>Or, similarly, &#8220;Measure twice.  Saw once.&#8221;</p>
<p>Concern 2:</p>
<p>To go from 0 to more, to the first 1000 customers, to make progress at all, may have to get publicity, say, via a writer in the tech media.  For that, the writer has to be impressed enough to write an article.  So, Version 1.0 has to be good enough to impress a tech writer.</p>
<p>Concern 3:</p>
<p>Supposedly there are a lot of people nearly no one has heard of who had and still have a <i>better mousetrap</i> and, thus, don&#8217;t believe the common</p>
<blockquote><p>Build a better mousetrap, and the world will beat a path to your door.</p></blockquote>
<p>Instead, have to do well on launch excitement, buzz, both steak and sizzle.</p>
<p>Alpha test is important:  That&#8217;s where detect and fix the worst of the bugs, rough edges, etc.</p>
<p>Beta test is important:  That&#8217;s where get real, that is, blunt, objective, feedback from real target users, likely nearly all strangers.  </p>
<p>If want to get equity funding, then early, rapid growth is important (likely nearly the only thing early stage funders look for), and one of the best sources is <i>viral</i> growth.  So, if have a feature that stands to do good things for viral growth, implement that in Version 1.0 or wait?  Hmm &#8230;.</p>
<p>Concern 4:</p>
<p>There is</p>
<blockquote><p>If you fail to plan, then you plan to fail.</p></blockquote>
<p>So, maybe there is the best news:  The users are thrilled and arrive by the thousands.  Then, suddenly, for some unexpected reason, there is some big publicity, and then users arrive by the millions.  </p>
<p>So, don&#8217;t want this good news to kill the business.  So, want a way to throttle this success, e.g., have users need a user ID (UID) and password (PW), apply for those, and wait in a FIFO queue.  So, need to be able to implement that feature during the mad rush or have it working by, say, beta test and turn it on if needed during Version 1.0.</p>
<p>Also want user feedback e-mail and advertiser feedback e-mail.</p>
<p>Here&#8217;s one:  The Web server and, really, the rest of the server farm need a log file.  Okay, Microsoft has some code for that.  Of course, at a live Web site that is at all successful, the log file can get some thousands, maybe millions, of lines of data a day.  But the Microsoft code is for a little Microsoft viewer program where get to look at a few dozen log file lines at a time.  Bummer.  Yes, can write some code to parse that log file and write some code to analyze the parsed data, but Microsoft doesn&#8217;t describe the contents; there are a lot of gibberish characters; so have to throw away the gibberish characters, etc.  </p>
<p>So, really should have an okay log file server for the whole server farm.  Then, sure, likely don&#8217;t do much with the file unless and until there is some serious need, but at least do have the log file server, have the server farm production software sending log messages to it, and have the server writing the messages to a disk file, yes, with an option to tell the log file server to close that file and start a new one.</p>
<p>Sure, the Web server(s) need a session state server.  So, if have one, say, with just TCP/IP socket communications, sending/receiving serialized versions of instances of classes, using, say, two instances of a collection class to store the session states and keep track of their delete times, then just copy that code, rip out most of it, put in a few lines to write to a file, modify the feature that lets the code receive real time commands and respond with messages, and, presto, bingo, have a server farm log server.  Worth doing it before Version 1.0, likely before beta test. </p>
<p>Ah, sounds like when to take &#8220;that big step off&#8221; to Version 1.0 needs some judgment!  Gee, that business might need some judgment!  Amazing!</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
