<?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>keeping simple</title>
	<atom:link href="http://www.yodaiken.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yodaiken.com</link>
	<description>Systems software technology and business</description>
	<lastBuildDate>Fri, 06 Aug 2010 21:07:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>memories</title>
		<link>http://www.yodaiken.com/2010/08/memories/</link>
		<comments>http://www.yodaiken.com/2010/08/memories/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 21:06:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[academics]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[rtlinux]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=1016</guid>
		<description><![CDATA[For some reason, all copies of an early variant of RTLinux called &#8220;myrtlinux&#8221; by its Italian &#8220;author&#8221; have disappeared from the web, but thanks to some archives we can find some fragments from old days.  For example, within a year or two of this email, the story had changed rather  dramatically. To me, there were [...]]]></description>
			<content:encoded><![CDATA[<p>For some reason, all copies of an early variant of RTLinux called &#8220;myrtlinux&#8221; by its Italian &#8220;author&#8221; have disappeared from the web, but thanks to some archives we can find some fragments from old days.  For example, within a year or two of this email, the story had changed rather  dramatically. To me, there were important lessons about the memories of academics who could get grants by not remembering and the principles of  &#8220;free software&#8221; advocates who could get  paid by being indignant in the right direction. (sorry if this is too cryptic, but I want to get some of this material back on line for a variety of reasons).</p>
<blockquote>
<pre><strong><span style="font-size: xx-small;">From:       <a href="http://marc.info/?a=90366851600001&amp;r=1&amp;w=2" onclick="pageTracker._trackPageview('/outgoing/marc.info/?a=90366851600001_amp_r=1_amp_w=2&amp;referer=');">mante () aero ! polimi ! it (Paolo Mantegazza)</a>
Date:       <a href="http://marc.info/?l=linux-rt&amp;r=1&amp;w=2&amp;b=199803" onclick="pageTracker._trackPageview('/outgoing/marc.info/?l=linux-rt_amp_r=1_amp_w=2_amp_b=199803&amp;referer=');">1998-03-16 15:52:14</a></span>
[<a href="http://marc.info/?l=linux-rt&amp;m=89007403925418&amp;q=raw" onclick="pageTracker._trackPageview('/outgoing/marc.info/?l=linux-rt_amp_m=89007403925418_amp_q=raw&amp;referer=');">Download message RAW</a>]</strong>

Hello, fresh news on using the FPU within RTLinux.
I've been able to convince a collegue, performing active vibration control
of plates to decrease the transmitted noise, to use RTLinux with the FPU
support of my variant. (I was smart in having the other take the risk,
wasn't I?). Please note that is the same technique I posted some time ago
for an rt_prio_sched of the standard release.
They are sampling the response of three piezosensors, carry out some signal
conditioning and simple compensation and evaluate a direct proportional
feedback to actuate three piezoactuators. They use a 200 Mhz plain Pentium
and  conditioning and feedback are performed by using the FPU without any
problem, with X running and with the system lively, at 18 Khz. The signal
are checked on a scope.
For those interested the piezo sensors and actuators are three ceramic disks
bonded to the panel. The DA acquisition are carried out with a DAS1600 card
along with two DA conversions, the third DA output with some other card
whose brand I forgot.
This is a preliminary activity in view of the implementation of a neural
controller. The only way they found to crash the system was to unplug the
computer by stepping onto a flying socket.
After these simple tests their doubts on using RTLinux are fading away and
I am happy that they can trust me somewhat more now.
I have not checked the system personally yet, but this is just a
confirmation of my testings.
Having understood that "fixed FPU support" meant "sound and working" I'm
eagerly waiting for the new 2.2.xx related RTLinux release with a native
improved FPU support.
Ciao, Paolo.
</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/08/memories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtualization and power use and spreadsheet games (updated)</title>
		<link>http://www.yodaiken.com/2010/07/virtualization-and-power-use-and-spreadsheet-games/</link>
		<comments>http://www.yodaiken.com/2010/07/virtualization-and-power-use-and-spreadsheet-games/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 22:34:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[data center]]></category>
		<category><![CDATA[green power]]></category>
		<category><![CDATA[green computing]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=995</guid>
		<description><![CDATA[Here&#8217;s a thought experiment. Suppose each server uses X watts idle and X+Y watts busy. If you have N programs that currently run on N servers that are Z% idle then in the best case you really only need D= (100-Z)/100*N servers. So in a perfect world you have D machines busy all the time [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a thought experiment. Suppose each server uses X watts idle and X+Y watts busy. If you have N programs that<br />
currently run on N servers that are Z% idle then in the best case you really only need D= (100-Z)/100*N servers. So in a perfect world you have D machines busy all the time for D*(X+Y) power use instead of N*(Z/100)*X + N*(100-Z)/100 *(X+Y).</p>
<p><img class="alignright size-medium wp-image-1001" title="powermeter" src="http://www.yodaiken.com/wp-content/uploads/2010/07/powermeter-300x207.jpg" alt="" width="300" height="207" /><br />
Something like this</p>
<table>
<tbody>
<tr height="20">
<td width="64" height="20">N</td>
<td width="207">servers=</td>
<td width="64" align="right">200</td>
<td width="64"></td>
<td width="64"></td>
</tr>
<tr height="20">
<td height="20">Z</td>
<td>idle rate=</td>
<td align="right">70</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20">D</td>
<td>need=</td>
<td align="right">60</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20">X</td>
<td>idle watts=</td>
<td align="right">150</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20">X+Y</td>
<td>busy watts=</td>
<td align="right">800</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Power use=</td>
<td align="right">69000</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Consolidated Power use=</td>
<td align="right">48000</td>
<td>Savings=</td>
<td align="right">21000</td>
</tr>
</tbody>
</table>
<p>Ok that rocks, 21KW/hour. But can you really get that savings?  If program 1 and program 2 need to run at the same times: you can&#8217;t save anything on them[1] and then the virtualization itself adds cycles for purely overhead and increases memory which burns more power. Suppose we now add K% as the overhead measure &#8211; real need R= D+D*K/100. If  K=20, we cut savings in half. But 20 seems wildly overoptimistic to me, so put it at 50.  We&#8217;re still only needing 72 servers instead of 200, but they are running flat out so we actually increase power use.</p>
<table>
<tbody>
<tr height="20">
<td width="64" height="20">K</td>
<td width="207">overhead=</td>
<td width="64" align="right">50</td>
<td width="64"></td>
<td width="64"></td>
</tr>
<tr height="20">
<td height="20">R</td>
<td>need with overhead=</td>
<td align="right">90</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Consolidated Power use with overhead=</td>
<td align="right">72000</td>
<td></td>
<td align="right">Savings= <span style="color: #ff0000;">-3000</span></td>
</tr>
</tbody>
</table>
<p>That does not rock.   But here&#8217;s the kicker &#8211; if we reduce idle power to 25Watts, maybe by turning off idle machines, a 50% overhead rate for virtualization means virtualization increases power use by 20KW. If we can reduce idle power to 1 watt, even at 10% overhead, virtualization increases power use.  So what are the real numbers? I have not seen any published studies (of actual data centers) &#8211; maybe there are some.</p>
<p>If you want a copy of the xls, send me an email. Maybe I set it up wrong.</p>
<p><a href="http://www.hpl.hp.com/personal/Lucy_Cherkasova/papers/final-perf-study-usenix.pdf" onclick="pageTracker._trackPageview('/outgoing/www.hpl.hp.com/personal/Lucy_Cherkasova/papers/final-perf-study-usenix.pdf?referer=');">http://www.hpl.hp.com/personal/Lucy_Cherkasova/papers/final-perf-study-usenix.pdf</a></p>
<p>This claims lower levels of overhead</p>
<p><a href="http://www.engineyard.com/blog/2009/10-years-of-virtual-machine-performance-semi-demystified/" onclick="pageTracker._trackPageview('/outgoing/www.engineyard.com/blog/2009/10-years-of-virtual-machine-performance-semi-demystified/?referer=');">http://www.engineyard.com/blog/2009/10-years-of-virtual-machine-performance-semi-demystified/</a></p>
<p>but I&#8217;m unconvinced. In particular, I&#8217;m curious about memory usage.</p>
<p>This is funny.</p>
<blockquote><p>The benchmark itself reported its elapsed time by calling a function to find the system time at both the beginning and end of the benchmark.  The elapsed time reported by the benchmark was less than the wall-clock elapsed time.  What we hypothesize is that, due to the unrelenting CPU consumption by the benchmarks, the virtualization layer was unable to update its clock with the virtual CPU clock ticks.  This phenomenon is mentioned in [10] and [11] but we feel that this type of CPU workload severely exaggerates the situation.</p>
<p><a href="http://www.cmg.org/measureit/issues/mit39/m_39_1.html" onclick="pageTracker._trackPageview('/outgoing/www.cmg.org/measureit/issues/mit39/m_39_1.html?referer=');">http://www.cmg.org/measureit/issues/mit39/m_39_1.html</a></p></blockquote>
<p>See the last letter in this</p>
<p><a href="http://serverfault.com/questions/135431/is-virtual-machine-slower-than-the-underlying-physical-machine" onclick="pageTracker._trackPageview('/outgoing/serverfault.com/questions/135431/is-virtual-machine-slower-than-the-underlying-physical-machine?referer=');">http://serverfault.com/questions/135431/is-virtual-machine-slower-than-the-underlying-physical-machine</a></p>
<p>While it is obvious that load is critical in any analysis, it may not be obvious how for example memory usage can depend on scheduling. If VM1 and VM2 run serially, memory usage is the max of the two, if they overlap it is the sum &#8211; unless it&#8217;s ok to slow them both down with more VM operations &#8211; which will, of course, increase the time to complete which uses capacity since that time is now not available for a third VM etc.</p>
<p>It&#8217;s also important to understand whether overhead is per VM. Suppose that we have 2% overhead per VM, all roughly the same size and 10 VMs. Is this overhead additive? Clearly cpu time is additive and so is I/O time, memory pressure is fuzzier and depends on how many VMs we run at any one time.</p>
<p>Notes</p>
<p>[1] If you have multiple cores, which you do, then if there are enough cores to run VM1 and VM2 in parallel, no problem. And this brings up the question of the relative power use, say of 2 dual core machines versus one 4 core machine or other multiples. Note that it&#8217;s hard to get power savings by turning off 4 of the 8 cores of a 8 core machine, but possibly easy to power down the one 4 core machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/07/virtualization-and-power-use-and-spreadsheet-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft by the numbers</title>
		<link>http://www.yodaiken.com/2010/06/microsoft-by-the-numbers/</link>
		<comments>http://www.yodaiken.com/2010/06/microsoft-by-the-numbers/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 23:41:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[operating systems]]></category>
		<category><![CDATA[software business]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[bloat]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=990</guid>
		<description><![CDATA[From correspondent AY: 150,000,000 Number of Windows 7 licenses sold, making Windows 7 by far the fastest growing operating system in history. &#60;10 Percentage of US netbooks running Windows in 2008. 96 Percentage of US netbooks running Windows in 2009. 9,000,000 Number of customer downloads of the Office 2010 beta prior to launch, the largest [...]]]></description>
			<content:encoded><![CDATA[<p>From correspondent AY:</p>
<blockquote><p>150,000,000<br />
Number of Windows 7 licenses sold, making Windows 7 by far the fastest growing operating system in history.<br />
&lt;10<br />
Percentage of US netbooks running Windows in 2008.<br />
96<br />
Percentage of US netbooks running Windows in 2009.<br />
9,000,000<br />
Number of customer downloads of the Office 2010 beta prior to launch, the largest Microsoft beta program in history. [source]<br />
24%<br />
Linux Server market share in 2005.<br />
33%<br />
Predicted Linux Server market share for 2007 (made in 2005).<br />
21.2%<br />
Actual Linux Server market share, Q4 2009.</p>
<p><a href="http://blogs.technet.com/b/microsoft_blog/archive/2010/06/25/microsoft-by-the-numbers.aspx" onclick="pageTracker._trackPageview('/outgoing/blogs.technet.com/b/microsoft_blog/archive/2010/06/25/microsoft-by-the-numbers.aspx?referer=');">http://blogs.technet.com/b/microsoft_blog/archive/2010/06/25/microsoft-by-the-numbers.aspx</a></p>
<p><img class="alignright size-thumbnail wp-image-846" title="fat_dog" src="http://www.yodaiken.com/wp-content/uploads/2010/03/fat_dog-150x150.jpg" alt="" width="150" height="150" /></p></blockquote>
<p>Those last numbers are especially damning since Linux started with superior technology, has an easier business model if your only goal is market share, and did not have a legacy ball-and-chain anywhere near the size MS has to drag along. But years of directionless bloat have taken a toll and the sponsor driven decisions to go for traditional &#8220;server/OS&#8221; technology methods in place of trying to find solutions to current customer problems has been very damaging.</p>
<p>Even discounting the obvious PR froth of this article: <a href="http://www.eweek.com/c/a/Linux-and-Open-Source/Linux-Losing-Market-Share-to-Windows-Server/" onclick="pageTracker._trackPageview('/outgoing/www.eweek.com/c/a/Linux-and-Open-Source/Linux-Losing-Market-Share-to-Windows-Server/?referer=');">http://www.eweek.com/c/a/Linux-and-Open-Source/Linux-Losing-Market-Share-to-Windows-Server</a> it is an interesting trend.</p>
<p>and just for kicks from April 2000</p>
<blockquote><p>
&#8220;During his presentation on scaling Linux to the enterprise, BitMover, Inc. CEO Larry McVoy raised a few furrowed eyebrows at the recently-held Colorado Linux Info Quest (CLIQ). His message: Symetric multiprocessing (SMP) scaling may be hazardous to your operating system (OS) health.&#8221;</p>
<p>&#8220;McVoy said that the level of harm is &#8220;directly proportional&#8221; to the amount of scaling and is &#8220;worse than linear&#8221; in the number of processors. Converting a uniprocessor OS to a four-way SMP OS introduces a &#8220;small amount of damage.&#8221; Converting the four-way SMP OS to a 32-way SMP OS does even more damage, he told the crowd. McVoy calls this phenomenon &#8220;the locking cliff.&#8221;"</p>
<p>&#8220;The bottom line, said McVoy, is that: &#8220;Linux needs to have bragging rights on &#8216;big iron&#8217; to be taken seriously in the enterprise. But the traditional way of getting those rights involves a series of changes which do a lot of damage to the source base. So the problems are that Linux needs to scale, and traditional scaling is a bad idea. Linux will use traditional scaling if nothing else shows up,&#8221; he said, &#8220;but SMP clusters is a better way to do it. I&#8217;m the driving force behind that and I&#8217;m not driving because I&#8217;m wrapped up in BitKeeper.&#8221;"</p></blockquote>
<p>http://www.linuxtoday.com/news_story.php3?ltsn=2000-04-13-010-06-NW&#038;tbovrmode=3</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/06/microsoft-by-the-numbers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Doing it wrong: Poul-Henning Kamp</title>
		<link>http://www.yodaiken.com/2010/06/doing-it-wrong-poul-henning-kamp/</link>
		<comments>http://www.yodaiken.com/2010/06/doing-it-wrong-poul-henning-kamp/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 21:26:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=983</guid>
		<description><![CDATA[Kamp writes to explain that virtual memory behavior can be important for program performance. That is, he explains From the programmer&#8217;s standpoint, the working set of information is the smallest collection of information that must be present in main memory to assure efficient execution of his program. But that note is actually from Peter Denning&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Kamp <a href="http://queue.acm.org/detail.cfm?id=1814327" target="_blank" onclick="pageTracker._trackPageview('/outgoing/queue.acm.org/detail.cfm?id=1814327&amp;referer=');">writes </a> to explain that virtual memory behavior can be important for program performance. That is, he explains</p>
<blockquote><p>From the programmer&#8217;s standpoint, the working set of information is the smallest collection of information that must be present in main memory to assure efficient execution of his program.</p></blockquote>
<p>But that note is actually from Peter Denning&#8217;s classical article (<a href="http://portal.acm.org/citation.cfm?doid=363095.363141" onclick="pageTracker._trackPageview('/outgoing/portal.acm.org/citation.cfm?doid=363095.363141&amp;referer=');">http://portal.acm.org/citation.cfm?doid=363095.363141</a> and <a href="http://cs.gmu.edu/cne/pjd/PUBS/WSModel_1968.pdf" onclick="pageTracker._trackPageview('/outgoing/cs.gmu.edu/cne/pjd/PUBS/WSModel_1968.pdf?referer=');">http://cs.gmu.edu/cne/pjd/PUBS/WSModel_1968.pdf</a> ) published in 1968 in Communications of the ACM &#8211; the same publication in which Kamp&#8217;s article appeared more than 40 years later. Kamp&#8217;s main result is that a search algorithm over a very large set of objects will perform poorly if it encounters a large number of page faults (if the working set is too large for the physical memory allocated to the process) ! Not since a researcher  explained during a talk at a serious academic conference that memory speeds could rival or outweigh processor speed in determining performance have I been so shocked but since that researcher was from Harvard, he had an excuse . The publication of Kamp&#8217;s article in ACM Communications shows something about the culture of computer science as an academic field these days.</p>
<p>Kamp&#8217;s article is easy to mock but, at least he&#8217;s doing some performance analysis and measurement &#8211; things that are definitely out of fashion in the field.  And he cares about performance.</p>
<blockquote><p>What good is an <tt>O(log2(n))</tt> algorithm if those operations cause page faults and slow disk operations? For most relevant datasets an <tt>O(n)</tt> or even an <tt>O(n^2)</tt> algorithm, which avoids page faults, will run circles around it.</p></blockquote>
<p>Indeed.</p>
<blockquote><p>A classic blunder in optimization was committed some years ago by one of the major software vendors. We had their first interactive timesharing system, and it was a &#8220;learning experience&#8221; in a variety of ways. One such experience was that of the FORTRAN compiler group. Now any compiler writer knows that the larger the hash table you use for a symbol table, the better your performance on lookup will be. When you are writing a multipass compiler in a 32K mainframe, you end up using a relatively small symbol table, but you create a really, really good hash algorithm so that the probability of a hash collision is reduced (unlike a binary seach, which is log n, a good hash table has constant performance, up to a certain density, so as long as you keep the density below this threshold you might expect that you will typically have an order 1 or 2 cost to enter or lookup a symbol, on the average. A perfect hash table (which is usually precomputed for constant symbols), has a constant performance between 1.0 and 1.3 or thereabouts; if it gets to 1.5 you rework the hashing to get it lower).  So anyway, this compiler group discovers that they no longer have 32K, or 128K, or 512K. Instead, they now have a 4GB virtual address space. &#8220;Hey, let&#8217;s use a really big hash table!&#8221; you can hear them saying, &#8220;Like, how about 1 MB table?&#8221; So they did. But they also had a very sophisticated compiler technology designed for small and relatively dense hash tables. So the result was that the symbols were fairly uniformly distributed over the 256 4K pages in that 1MB, which meant that every symbol access caused a page fault. The compiler was a dog. When they finally went back to a 64K symbol table, they found that although the algorithm had poorer &#8220;absolute&#8221; performance from a purely algorithmic viewpoint (taking many more instructions to look up a symbol), because it did not cause nearly as many page faults, it ran over an order of magnitude faster. So third-order effects do matter. <a href="http://www.flounder.com/optimization.htm" onclick="pageTracker._trackPageview('/outgoing/www.flounder.com/optimization.htm?referer=');">http://www.flounder.com/optimization.htm</a></p></blockquote>
<p>You also have to worry about that constant factor hidden in the Big-O notation.</p>
<p>What&#8217;s interesting is how basic knowledge in computer science keeps being lost. There is no culture of measurement, education ignores basic technology, and engineering methodologies are discarded.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/06/doing-it-wrong-poul-henning-kamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Process algebra reconsidered</title>
		<link>http://www.yodaiken.com/2010/05/process-algebra-reconsidered/</link>
		<comments>http://www.yodaiken.com/2010/05/process-algebra-reconsidered/#comments</comments>
		<pubDate>Fri, 07 May 2010 16:23:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[specification]]></category>
		<category><![CDATA[theoretical computer science]]></category>
		<category><![CDATA[automata]]></category>
		<category><![CDATA[milner]]></category>
		<category><![CDATA[non-determinism]]></category>
		<category><![CDATA[process algebra]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=958</guid>
		<description><![CDATA[Paper is here. The following incorrect claim is not unusual in the process algebra literature. Basically, what is missing [in classical automata theory] is the notion of interaction: during the execution from initial state to final state, a system may interact with another system. This is needed in order to describe parallel or distributed systems, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.yodaiken.com/papers/processalgebra.pdf" target="_blank">Paper is here.</a><br />
The following incorrect claim is not unusual in the process algebra literature.</p>
<blockquote><p>Basically, what is missing [in classical automata theory] is the notion of interaction: during the execution from initial state to final state, a system may interact with another system. This is needed in order to describe parallel or distributed systems, or so-called reactive systems. When dealing with interacting systems, we say we are doing concurrency theory, so concurrency theory is the theory of interacting, parallel and/or distributed systems.[Bae05]</p></blockquote>
<p>Actually a sophisticated notion of state machine product was developed for representing composition of &#8220;interacting&#8221; state machines starting in the 1950s[HS66]. A general survey can be found in a monograph by Gecseg[Gec86], Domosi provides a more modern, more algebraic treatment [DN04] and [Yod09] provides practical techniques for construction of complex products.<br />
[...]<br />
The reader familiar with the process algebra literature will note that such an effort must find a way to model the non-determinism that is so fundamental to the process algebra world-view. Since deterministic programs are used to produce pseudo-random number sequences and to model Brownian motion and even the stock market (perhaps not the best example at this date) the problem is easier to solve than it appears at first. Section 4 will include a short discussion on the difference between &#8220;real&#8221; non-determinism and simulated non-determinism, but certainly there is nothing in the basic axiom set of Milner&#8217;s original process algebra that notices this distinction as far as I can see.</p>
<p><a href="../papers/processalgebra.pdf" target="_blank">To read more see the paper.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/05/process-algebra-reconsidered/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R.L. Moore topologist and racist</title>
		<link>http://www.yodaiken.com/2010/05/r-l-moore-topologist-and-racist/</link>
		<comments>http://www.yodaiken.com/2010/05/r-l-moore-topologist-and-racist/#comments</comments>
		<pubDate>Sat, 01 May 2010 21:13:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[academics]]></category>
		<category><![CDATA[point set topology]]></category>
		<category><![CDATA[racism]]></category>
		<category><![CDATA[UT Austin]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=953</guid>
		<description><![CDATA[If you read this down to the bottom you get a little hint, but you have to read something like this to understand what that little hint means. In graduate school she was very much alone, though she was a grader for an undergraduate course taken by Raymond Johnson. In her first class, she was [...]]]></description>
			<content:encoded><![CDATA[<p>If you read<a href="http://legacyrlmoore.org/chronology.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/legacyrlmoore.org/chronology.html?referer=');"> this</a> down to the bottom you get a little hint, but you have to read something like<a href="http://www.math.buffalo.edu/mad/special/RLMoore-racist-math.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.math.buffalo.edu/mad/special/RLMoore-racist-math.html?referer=');"> this</a> to understand what that little hint means.</p>
<blockquote><p><a href="http://www.math.buffalo.edu/mad/PEEPS/mayes_vivienne_malone.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.math.buffalo.edu/mad/PEEPS/mayes_vivienne_malone.html?referer=');">In graduate school</a> she was very much alone, though she was a grader for an undergraduate course taken by <a href="http://www.math.buffalo.edu/mad/PEEPS/johnson_raymondl.html" onclick="pageTracker._trackPageview('/outgoing/www.math.buffalo.edu/mad/PEEPS/johnson_raymondl.html?referer=');">Raymond Johnson</a>. In her first class, she was the only Black, the only woman. Her classmates ignored her completely, even terminating conversations if she came within earshot. She was denied a teaching assistantship, although she was an experienced (13 years) and excellent teacher. She wrote further:&#8221;I could not join my advisor and other classmates to discuss mathematics over coffee at Hilsberg&#8217;s cafe&#8230;. Hilsberg&#8217;s would not serve Blacks. Occasionally, I could get snatches of their conversation as they crossed our picket line outside the cafe.&#8221; She could not enroll in professor R.L. Moore class as he explicitly stated that he did not teach Blacks. Overlooking all this, one of her professors, complaining against the civil rights demonstrations, said to her: &#8220;If all those out there were like you, hard-working and studious, we wouldn&#8217;t have any problems.&#8221; Her reply: &#8220;If it hadn&#8217;t been for those hell-raisers out there, you wouldn&#8217;t even know me.&#8221;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/05/r-l-moore-topologist-and-racist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>out of the loop in silicon valley</title>
		<link>http://www.yodaiken.com/2010/04/out-of-the-loop-in-silicon-valley/</link>
		<comments>http://www.yodaiken.com/2010/04/out-of-the-loop-in-silicon-valley/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 21:35:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[marketing]]></category>
		<category><![CDATA[software business]]></category>
		<category><![CDATA[dumb VCs]]></category>
		<category><![CDATA[women in engineering]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=950</guid>
		<description><![CDATA[NYTimes. But when she was raising money for Crimson Hexagon, a start-up company she co-founded in 2007, she recalls one venture capitalist telling her that it didn’t matter that she didn’t have business cards, because all they would say was “Mom.” Another potential backer, reports Claire Cain Miller in The New York Times, invited her [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><a href="http://dealbook.blogs.nytimes.com/2010/04/19/out-of-the-loop-in-silicon-valley/?src=busln" target="_blank" onclick="pageTracker._trackPageview('/outgoing/dealbook.blogs.nytimes.com/2010/04/19/out-of-the-loop-in-silicon-valley/?src=busln&amp;referer=');">NYTimes. </a>But when she was raising money for Crimson Hexagon, a start-up company she co-founded in 2007, she recalls one venture capitalist telling her that it didn’t matter that she didn’t have business cards, because all they would say was “Mom.”  Another potential backer, reports Claire Cain Miller in The New York Times, invited her for a weekend yachting excursion by showing her a picture of himself on the boat — without clothes. When a third financier discovered that her husband was also a biking enthusiast, she says, he spent more time asking if riding affected her husband’s reproductive capabilities than he did focusing on her business plan.</p>
<p>Ultimately, none of the 30 venture firms she pitched financed her company. She finally raised $1.8 million in March 2008 from angel investors including Golden Seeds, a fund that emphasizes investing in start-ups led by women.</p></blockquote>
<p>On the other hand</p>
<blockquote><p>She learned how to handle male-dominated pitches early in her career,  when Rivals.com was buying another start-up. She was in the conference  room, pouring a cup of coffee, when the other company’s executives and  lawyers walked in. They proceeded to discuss the lowest bid they would  accept, as if she wasn’t there.</p>
<p>“They assumed I was the admin,” or secretary, she says. When the  group sat down to negotiate, she adds, “Their faces went white as  ghosts.”</p></blockquote>
<p>Priceless</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/04/out-of-the-loop-in-silicon-valley/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More state diagrams</title>
		<link>http://www.yodaiken.com/2010/04/more-state-diagrams/</link>
		<comments>http://www.yodaiken.com/2010/04/more-state-diagrams/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 04:27:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[software engineering]]></category>
		<category><![CDATA[specification]]></category>
		<category><![CDATA[theoretical computer science]]></category>
		<category><![CDATA[state machine diagrams]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=940</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div id="attachment_941" class="wp-caption alignleft" style="width: 310px"><a href="http://www.yodaiken.com/wp-content/uploads/2010/04/q5twopi.png"><img class="size-medium wp-image-941" title="q5twopi" src="http://www.yodaiken.com/wp-content/uploads/2010/04/q5twopi-300x262.png" alt="" width="300" height="262" /></a><p class="wp-caption-text">Length 5 queue </p></div>
<p><a href="http://www.yodaiken.com/wp-content/uploads/2010/04/q5scatter.png"><img class="alignright size-full wp-image-942" title="q5scatter" src="http://www.yodaiken.com/wp-content/uploads/2010/04/q5scatter.png" alt="" width="300" height="262" /></a></p>
<div id="attachment_944" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.yodaiken.com/wp-content/uploads/2010/04/andgate.png"><img class="size-medium wp-image-944" title="andgate" src="http://www.yodaiken.com/wp-content/uploads/2010/04/andgate-300x237.png" alt="" width="300" height="237" /></a><p class="wp-caption-text">An and-gate with 2 state delay</p></div>
<div id="attachment_948" class="wp-caption alignleft" style="width: 310px"><a href="http://www.yodaiken.com/wp-content/uploads/2010/04/and5twopi.png"><img class="size-medium wp-image-948" title="and5twopi" src="http://www.yodaiken.com/wp-content/uploads/2010/04/and5twopi-300x280.png" alt="" width="300" height="280" /></a><p class="wp-caption-text">and gate delay 5 ATT TwoPi rendering</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/04/more-state-diagrams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>limits of state diagrams</title>
		<link>http://www.yodaiken.com/2010/04/limits-of-state-diagrams/</link>
		<comments>http://www.yodaiken.com/2010/04/limits-of-state-diagrams/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 04:53:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[academics]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[specification]]></category>
		<category><![CDATA[theoretical computer science]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=927</guid>
		<description><![CDATA[Here&#8217;s a graph of a simple state machine of somewhat under 512 states that models  a dumb fifo queue. The initial state is &#8220;e&#8221; for empty. We can append 1,2 or 3 to this queue and can delete the first in. To simplify suppose the alphabet is {0,1,2,3} where 0 means &#8220;dequeue&#8221;  and the others [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a graph of a simple state machine of somewhat under 512 states that models  a dumb fifo queue. The initial state is &#8220;e&#8221; for empty. We can append 1,2 or 3 to this queue and can delete the first in. To simplify suppose the alphabet is {0,1,2,3} where 0 means &#8220;dequeue&#8221;  and the others mean to enq the designated number. Enqueue to a full queue has no effect on state. Ok, the diagram is completely unreadable &#8211; but click on the PDF to the right. It&#8217;s still unreadable. This diagram, generated with ATT&#8217;s &#8220;dot&#8221; program could undoubtedly be improved, but it shows why state diagrams are just not making it as descriptions of complex systems &#8211; this system is far from complex.<br />
<a href="http://www.yodaiken.com/wp-content/uploads/2010/04/q4-circle.png"><img class="alignleft size-medium wp-image-936" title="q4 circle" src="http://www.yodaiken.com/wp-content/uploads/2010/04/q4-circle-300x288.png" alt="" width="300" height="288" /></a><br />
<a href="http://www.yodaiken.com/wp-content/uploads/2010/04/q4statemachine.pdf">q4statemachine</a></p>
<p>To see the structure hidden in this diagram we have to look at it through algebra and programs.</p>
<div style="clear:all">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/04/limits-of-state-diagrams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How much should software cost?</title>
		<link>http://www.yodaiken.com/2010/04/how-much-should-software-cost/</link>
		<comments>http://www.yodaiken.com/2010/04/how-much-should-software-cost/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 13:09:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=920</guid>
		<description><![CDATA[The biggest VA outlay — and its biggest savings generator — was the Vista’s Computerized Patient Record System, the home-grown system for electronic health records that was found by the study to cost $3.6 billion. Other IT networks for administering medications with bar codes, picture archiving and communication systems and the Laboratory Electronic Data Interoperability [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>The biggest VA outlay — and its biggest savings generator — was the  Vista’s Computerized Patient Record System, the home-grown system for  electronic health records that was found by the study to cost $3.6  billion. Other IT networks for administering medications with bar codes,  picture archiving and communication systems and the Laboratory  Electronic Data Interoperability application together cost $470 million.</p></blockquote>
<p>Lots of money. Result &#8211; you can predict this right? Big government bureaucracy. Massive billion dollar software development project.  <a href="http://blogs.wsj.com/health/2010/04/06/study-vas-computer-systems-cost-billions-but-have-big-payback/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/blogs.wsj.com/health/2010/04/06/study-vas-computer-systems-cost-billions-but-have-big-payback/?referer=');">And the result is:</a></p>
<blockquote><p>The bottom line: “We conservatively estimate that the VA’s investments  in the four health IT systems studied <strong>yielded $3.09 billion in  cumulative benefits net of investment costs</strong> by 2007,” say the authors, a  team from Center for IT Leadership at Partners Healthcare in  Charlestown, Mass. The results looks at measures such as reduced  workloads, freed workspace and savings from items such as unneeded  medical tests and avoided hospital admissions.</p></blockquote>
<p>Ok. One should cultivate skepticism of such studies, but it is interesting. The system, by the way is not open source -<a href="http://en.wikipedia.org/wiki/VistA" target="_blank" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/VistA?referer=');"> it is public domain</a>. And it&#8217;s based on the venerable <a href="http://en.wikipedia.org/wiki/MUMPS" target="_blank" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/MUMPS?referer=');">MUMPS</a> so there, all you language purists. Look at this code fragment, from the Wiki entry, and weep.</p>
<pre>
<pre>%DTC
%DTC ; SF/XAK - DATE/TIME OPERATIONS ;1/16/92  11:36 AM
     ;;19.0;VA FileMan;;Jul 14, 1992
     D    I 'X1!'X2 S X="" Q
     S X=X1 D H S X1=%H,X=X2,X2=%Y+1 D H S X=X1-%H,%Y=%Y+1&amp;X2
     K %H,X1,X2 Q
     ;
C    S X=X1 Q:'X  D H S %H=%H+X2 D YMD S:$P(X1,".",2) X=X_"."_$P(X1,".",2) K X1,X2 Q
S    S %=%#60/100+(%#3600\60)/100+(%\3600)/100 Q
     ;
H    I X&lt;1410000 S %H=0,%Y=-1 Q
     S %Y=$E(X,1,3),%M=$E(X,4,5),%D=$E(X,6,7)
     S %T=$E(X_0,9,10)*60+$E(X_"000",11,12)*60+$E(X_"00000",13,14)
TOH  S %H=%M&gt;2&amp;'(%Y#4)+$P("^31^59^90^120^151^181^212^243^273^304^334","^",%M)+%D
     S %='%M!'%D,%Y=%Y-141,%H=%H+(%Y*365)+(%Y\4)-(%Y&gt;59)+%,%Y=$S(%:-1,1:%H+4#7)
     K %M,%D,% Q
     ;
</pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/04/how-much-should-software-cost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
