<?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>Overanalyzed &#187; Business</title>
	<atom:link href="http://coollabssoft.com/blog/index.php/category/all/business-all/feed/" rel="self" type="application/rss+xml" />
	<link>http://coollabssoft.com/blog</link>
	<description>A Systems Analyst's thoughts on science, technology, programming, business, and occasionally politics.</description>
	<lastBuildDate>Sun, 08 Nov 2009 22:23:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Education or Ineducation</title>
		<link>http://coollabssoft.com/blog/2009/11/08/education-or-ineducation/</link>
		<comments>http://coollabssoft.com/blog/2009/11/08/education-or-ineducation/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 22:22:50 +0000</pubDate>
		<dc:creator>Chris Davenport</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[invention]]></category>
		<category><![CDATA[patent law]]></category>

		<guid isPermaLink="false">http://coollabssoft.com/blog/?p=13</guid>
		<description><![CDATA[I&#8217;ve been bugged for years over this problem of inventing things that already exist.
For example, I may spend a great deal of time working on a concept, and arrive at an inventive solution, only to discover, when telling someone else about it, that it&#8217;s already been invented.
I myself have done that to others, told them [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been bugged for years over this problem of inventing things that already exist.</p>
<p>For example, I may spend a great deal of time working on a concept, and arrive at an inventive solution, only to discover, when telling someone else about it, that it&#8217;s already been invented.</p>
<p>I myself have done that to others, told them their ideas already exist. I know Jeffy&#8217;s come up with a few.</p>
<p>After my most recent encounter with this problem, while working with a NAT traversal technique, I became annoyed at my education. </p>
<p><span id="more-13"></span><br />
I&#8217;m wondering whether because I am not fully briefed and up to date with the goings-on of the fields in which I am attempting to create, I need to pursue a greater education, and evaluating what I&#8217;ve already had as incomplete.</p>
<p>But today I was reading a comic, and another possibility occurred to me. Independent Invention and Non-obviousness.</p>
<p>Theoretically issued patents have satisfied the non-obvious clause, so any joe contemporary in the field shouldn&#8217;t be able to come up with it. But maybe when I spend days thinking about it, and come up with an answer, it still counts as non-obvious.</p>
<p>But it&#8217;s still independent invention. It seems to me that creating something that happens to be patented by others but totally unknown to you should still count. Still allow you to benefit from it, and possibly now fail the obviousness test.</p>
<p>Under that logic, someone who is only partially educated in the field experiences greatest advantage. On one hand, they&#8217;re not familiar with pre-existing solutions to the problems they&#8217;re encountering, so they waste time working on them. On the other, they could reinvent just about anything and use it carefree. But if we are to consider development of the field, and we assume that we&#8217;re fully versed, all the new technology is in non-obvious development along the same paths as have already been followed. History tells us that while much development happens along these lines, it is more the natural progression of the field than the sort of developmental leap that tends to happen when not versed.</p>
<p>There seems to be a natural point at which an invention is no longer non-obvious, and the point at which it is independently invented would seem to qualify. More to the point, techniques that would otherwise be considered public domain, and presumably taught in schools, </p>
<p>Under current law, that&#8217;s still infringement.</p>
]]></content:encoded>
			<wfw:commentRss>http://coollabssoft.com/blog/2009/11/08/education-or-ineducation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steady-state economy</title>
		<link>http://coollabssoft.com/blog/2009/04/14/steady-state-economy/</link>
		<comments>http://coollabssoft.com/blog/2009/04/14/steady-state-economy/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 00:49:11 +0000</pubDate>
		<dc:creator>Chris Davenport</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://coollabssoft.com/blog/?p=15</guid>
		<description><![CDATA[I&#8217;ve been wondering lately about what the steady state of the American dream is. What are the unavoidable outcomes if every player in the game is following that strategy?
Seems to me that there&#8217;s a finite number of lawns to mow. There are economies of scale, and it&#8217;s well known that when providing a service or [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been wondering lately about what the steady state of the American dream is. What are the unavoidable outcomes if every player in the game is following that strategy?</p>
<p>Seems to me that there&#8217;s a finite number of lawns to mow. There are economies of scale, and it&#8217;s well known that when providing a service or doing business, that results in a natural monopoly.</p>
<p><span id="more-15"></span></p>
<p>So if you push it all the way out, you have &#8220;MicroLawns INC&#8221;, that owns all of the lawn care business. Maybe there&#8217;s room for specialty? OK, that seems to be happening in the medical profession.. each doctor is a specialist, and the fields of specialty are rapidly narrowing. General practicioners are more and more rare, just because the development of new fields has been so aggressive.</p>
<p>So the extreme situation there is that everyone&#8217;s job is unique. Everyone works as hard as they possibly can on the thing they&#8217;re absolutely best suited to do, because anywhere that someone else can do better becomes grounds for them to outcompete you.</p>
<p>The monopoly would be composed of such people, so that the gestalt entity can handle all such situations, and thus compete better than a standalone individual.</p>
<p>There&#8217;s a lot lost in the fray.. no matter how diverse the menu of options, preferences are also diverse.. If every need shares that diversity, then there&#8217;s an unending list of meetable needs, which can be met optimally but not exactly by one provider. And that has a margin for improvement.</p>
<p>In a lot of ways, it&#8217;s a multidimensional market. I&#8217;m speaking in general and more abstract terms, but we&#8217;re all familiar with the idea, to use another context, of buying a new computer. Dozens of parts and features, you decide what you like or want, look at what&#8217;s available, and choose something that&#8217;s imperfect but close enough.</p>
<p>So there are a lot of margins&#8230; availability of information, availability of service/goods providers, mutability of aspects of the need..</p>
<p>Specifically, I&#8217;m trying to look at the situation in which those margins disappear. Because I think that&#8217;s what happens when the American dream is executed by all players until there is no more benefit possible to any player..</p>
<p>Further, I think as the game progresses, it becomes more and more challenging for the individual players. Jeffy&#8217;s got a thousand ideas on how to make a good product or make something better, like his  automatic plant waterers.. But he can&#8217;t compete with wal-mart or sky-mall.</p>
<p>I do believe there are upper limits to an individual&#8217;s ability. So what happens when you have someone who, trying as hard as they possibly could, fulfilling all the potential they have, has nothing to offer?</p>
<p>It&#8217;s easier to analyze with world of warcraft toons, because they have a finite set of abilities/attributes, a definite maximal ability, yet still participate in an economy. My paladin can&#8217;t become a better engineer than the best engineer on the server. Someone&#8217;s already got every recipe and max skill. There is a limited need for those people, assuming any of them will be happy with 10% of the available business, after the minimum availability is 10, there&#8217;s nowhere for my paladin to peddle. Wow still has margins of locality, but we can narrow it to the number of major cities reasonably. All that&#8217;s left is price, and we all have the same lower limit of costs, somewhere it&#8217;ll come down to the minimum gold value of playtime. (Sweatshops anyone?)</p>
<p>I wonder how close we are to that today. </p>
]]></content:encoded>
			<wfw:commentRss>http://coollabssoft.com/blog/2009/04/14/steady-state-economy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;It just works&#8221;</title>
		<link>http://coollabssoft.com/blog/2008/11/07/it-just-works/</link>
		<comments>http://coollabssoft.com/blog/2008/11/07/it-just-works/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 01:48:24 +0000</pubDate>
		<dc:creator>Chris Davenport</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[justworks]]></category>

		<guid isPermaLink="false">http://coollabssoft.com/blog/?p=9</guid>
		<description><![CDATA[There&#8217;s been a lot of talk about &#8220;It Just Works&#8221; lately, probably due to the renewed popularity of the Mac platforms. I recall quite a few &#8220;just works&#8221; promises in the past. Plug and Play was supposed to be that. Heck, the very meaning of the phrase is almost identical.
The problem with &#8220;It Just Works&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a lot of talk about &#8220;It Just Works&#8221; lately, probably due to the renewed popularity of the Mac platforms. I recall quite a few &#8220;just works&#8221; promises in the past. Plug and Play was supposed to be that. Heck, the very meaning of the phrase is almost identical.</p>
<p>The problem with &#8220;It Just Works&#8221; is &#8220;It Just Doesn&#8217;t&#8221;. </p>
<p><span id="more-9"></span><br />
I can&#8217;t count the number of times some unnamed thing has gone wrong and prevented something from &#8220;just working&#8221;. I had a windows box that lost its drivers. The built-in drivers that ship with windows. Lost. Plug in a USB key, and it asks you to install the USB Storage driver. Or the Floppy Disk driver. Could make it work, browse to the windows driver directory, find the file that&#8217;s already in the OS driver collection, and tell it to use that one, and it goes. Still, a normal user confronted with such things is immediately lost, all because windows can&#8217;t find it&#8217;s own driver database, which should &#8220;just work&#8221;, for a USB generic device, which should also &#8220;just work&#8221;.</p>
<p>This morning I had a RedHat 5 system that couldn&#8217;t see it&#8217;s PS/2 mouse. i8202 driver loaded, gets interrupts from the keyboard, no problem, no mouse. You&#8217;re not supposed to have to reboot Linux, but what can one do when the bus just won&#8217;t talk to the device? Yeah, yeah, go hardcore CTRL-ALT-F1 and drop that sissy graphical desktop. I did. But that&#8217;s not fixing my mouse. I&#8217;m just glad it wasn&#8217;t the keyboard. PS/2 mice are old technology that in my limited experience &#8220;just work&#8221; the large majority of the time, except this time it &#8220;just doesn&#8217;t&#8221;.</p>
<p>Virtually all of those situations are met with puzzlement and the suggestion to reinstall and/or reboot by the tech support of the world. I&#8217;ve been tech support, and I hate that approach because it doesn&#8217;t tell you how you got there or ensure you won&#8217;t get there again, though occasionally I have little option. Incidentally, that&#8217;s one of the things I dislike about the Mac. Fewer knobs and settings to fiddle with to fix things when they&#8217;re broken. I agree all the tweaks shouldn&#8217;t be presented to the user generally, but they should be accessible somewhere. Windows does a little better, though also much worse, if you have any experience with the registry (of doom!). Linux does better still, though again, much worse, virtually every knob and dial is available to a linux admin, you just have to know what where to find the knob, where to find the changes it makes, what to look for, and how to read what you find.. A lot is documented, and if you&#8217;re so inclined, you can probably go read the code, which you&#8217;ll have to do if google doesn&#8217;t pan out. Of course, now you&#8217;re a theoretical administrator who has all that time to fix the problem, and it&#8217;s probably pointless since they don&#8217;t pay or listen to noncorporeal sysadmins.</p>
<p>Of course, there are systems for which a reboot or reinstall meaningless&#8230;.</p>
<p>I set up powerline networking recently, HomePlug AV protocol, specific device is probably irrelevant, they all advertise &#8220;plug and go&#8221;. It didn&#8217;t work. My device was able to get an IP off my home network, but every time it tried to update itself, it failed. Could be poor circuit layout, too much distance, the unavoidable power strip I had in the mix. I relocated it to an adjacent outlet and did some testing, I was losing 14% of all pings. No explanation, no diagnostics or other setting manipulation possible. I upgraded the firmware. Blindly, I might add, since none of them mention what&#8217;s changed or why I&#8217;d want to upgrade. But it works now. More of a &#8220;it just works after you fiddle with it&#8221; situation, which is true of virtually everything.</p>
<p>SlingBox did the same thing. It&#8217;s been a great product for the &#8220;just works&#8221; situation, except now it&#8217;s forgetting remote codes. Error 93260000, nicely unexplained and ignored by their tech support. Forums are full of witch doctor fixes &#8220;reboot it twice and resave the configuration&#8221;, hold the power button for 5 seconds, etc. It&#8217;s only been a problem since the slingplayer 2.0 upgrade.. Which has had it&#8217;s hardware performance requirements jacked up to the point where my 2GHz laptop can&#8217;t play video anymore, even though it was doing fine with 1.5 at ~4300Kbps HD quality video, that&#8217;s now a .Net app, in case you&#8217;re one of the converted. Downgraded that, reset the slingbox, and the remote codes are working again, for about an hour. Reset the slingbox, and it works again.. Connect the next day with nothing touching it in between, and they&#8217;re lost again. It just doesn&#8217;t work anymore. Must be something in the slingbox configuration and/or box firmware upgrade, though I&#8217;ve read on their forums that folks who haven&#8217;t upgraded the slingbox firmware are having the same problem.</p>
<p>I&#8217;ve worked in software/hardware development of commercial products, and the issue is usually time and testing. Can&#8217;t test every configuration, can&#8217;t get every bug fixed, can&#8217;t get every feature in. If it&#8217;s a new or emerging standard, like powerline ethernet, there&#8217;s often a lack of test tools. In the end, it&#8217;s a business decision. Eventually it costs you less money to ship it as is than to continue to work on it.</p>
<p>So I understand the issues with making perfect products, and I take &#8220;just works&#8221; with a grain of salt, trying hard not to insert the doesn&#8217;t. If you work on such products, I encourage you to check the error codes that should never happen, expose the dials under a hood for those that need them, and try to give some minimially unique and preferably useful (to a user) output when everything goes tits up.</p>
]]></content:encoded>
			<wfw:commentRss>http://coollabssoft.com/blog/2008/11/07/it-just-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing software</title>
		<link>http://coollabssoft.com/blog/2008/09/10/designing-software/</link>
		<comments>http://coollabssoft.com/blog/2008/09/10/designing-software/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 21:04:39 +0000</pubDate>
		<dc:creator>Chris Davenport</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://coollabssoft.com/blog/?p=4</guid>
		<description><![CDATA[My own experience has been that one should shoot for simplicity, treat the business rules differently than design rules, and don&#8217;t put your data in your program. I prefer a toolbox approach, when you take it to the multiple subsystem level.

More interestingly&#8230; Let&#8217;s design &#8220;Hello World&#8221;. Standard thing to toss out to a starting programmer.

#include [...]]]></description>
			<content:encoded><![CDATA[<p>My own experience has been that one should shoot for simplicity, treat the business rules differently than design rules, and don&#8217;t put your data in your program. I prefer a toolbox approach, when you take it to the multiple subsystem level.<br />
<span id="more-4"></span><br />
More interestingly&#8230; Let&#8217;s design &#8220;Hello World&#8221;. Standard thing to toss out to a starting programmer.</p>
<pre class="prettyprint">
#include &lt;stdio.h&gt;

int main(int argc, char* const argv[])
{
    printf("Hello World!\n");
    return 0;
}
</pre>
<p>Pretty simple. But in the software world, things change. All the time. Our helloWorld isn&#8217;t multilingual. It can&#8217;t say &#8220;Hello World+dog&#8221;. There&#8217;s at least one bug in there too. Don&#8217;t try to have it say &#8220;Hello 95%[World]&#8220;.</p>
<p>You could go crazy with it.. add a flag on a command line argument so that it can say &#8220;hello world&#8221; and &#8220;hello world+dog&#8221;. Implement unicode routines, hit up a translation site, and hope you don&#8217;t get a <a href="http://boingboing.net/2008/07/15/chinese-restaurant-c.html">bad translation</a>. You can get clever with it and make it read the string from an external file, so you don&#8217;t have to recompile when the requirement changes for the 100th time.</p>
<p>If you make it sufficiently flexible and abstract, you&#8217;ll probably end up reimplementing the TYPE, ECHO, CAT old DOS/Gnu commands.</p>
<p>Which brings up an interesting point. We&#8217;re training programmers to use code to solve problems. Even really trivially simple ones.</p>
<p>What makes CAT or TYPE better than HelloWorld? Why are we not teaching programmers that anything you hardcode like that could end up changing?</p>
<p>That doesn&#8217;t mean we should design HelloWorld to be much more complicated, but recognizing that there are nearly equivalent complexity implementations that are more flexible in the ways that may change seems like a good idea.</p>
<p>I bet there&#8217;s some statistical analysis that can be made.. relating to the odds and difficulty of changing things.. We don&#8217;t really expect it to stop printing to the screen, so there&#8217;s no reason to design it so that it can edit wikipedia or recognize kittens in a photograph.</p>
<p>Theoretically we&#8217;re trying to minimize the lifetime of work that the program requires.</p>
]]></content:encoded>
			<wfw:commentRss>http://coollabssoft.com/blog/2008/09/10/designing-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Work Smarter not Harder</title>
		<link>http://coollabssoft.com/blog/2008/09/09/work-smarter-not-harder/</link>
		<comments>http://coollabssoft.com/blog/2008/09/09/work-smarter-not-harder/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 19:37:30 +0000</pubDate>
		<dc:creator>Chris Davenport</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://coollabssoft.com/blog/?p=3</guid>
		<description><![CDATA[I hear that a lot. Or I used to. Now it seems like I mostly hear &#8220;work more&#8221;.
That&#8217;s not the point. Today it struck me how weird the phrases &#8220;work harder&#8221; and &#8220;work smarter&#8221; really are.
What&#8217;s your work? Mine is largely coding and software design, minus the social tax of meetings.
So there&#8217;s a pretty simple [...]]]></description>
			<content:encoded><![CDATA[<p>I hear that a lot. Or I used to. Now it seems like I mostly hear &#8220;work more&#8221;.</p>
<p>That&#8217;s not the point. Today it struck me how weird the phrases &#8220;work harder&#8221; and &#8220;work smarter&#8221; really are.</p>
<p>What&#8217;s your work? Mine is largely coding and software design, minus the social tax of meetings.</p>
<p>So there&#8217;s a pretty simple variable substitution. &#8220;Code harder&#8221;. Which sounds insane. It&#8217;s almost meaningless. &#8220;Design harder&#8221;.<br />
What about smarter? &#8220;code smarter&#8221; or &#8220;design smarter&#8221;. Seems like a Good Thing. Totally opposed to KISS, so maybe not.</p>
<p>How &#8220;smart&#8221; should code or design be? Do you really want bobs_memcpy()? Class MemoryCopier? Seems to me that it should be as simple as it can be and get the job done, and no simpler. Sound familiar?</p>
<p>Asking for smarter code is asking for clever tricks. Asking for smarter design is asking for <a href="http://www.joelonsoftware.com/articles/fog0000000018.html">higher-altitude</a> standards. Doesn&#8217;t seem like a very good idea to me.</p>
]]></content:encoded>
			<wfw:commentRss>http://coollabssoft.com/blog/2008/09/09/work-smarter-not-harder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
