<?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>a crank&#039;s progress</title>
	<atom:link href="https://www.paulbeard.org/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.paulbeard.org/wordpress</link>
	<description>&#34;The art of writing is the art of discovering what you believe.&#34;-- Gustave Flaubert</description>
	<lastBuildDate>Wed, 15 May 2013 01:12:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.2</generator>
	<item>
		<title>tap tap. Is this thing on?</title>
		<link>https://www.paulbeard.org/wordpress/2013/12/22/tap-tap-is-this-thing-on/</link>
				<pubDate>Mon, 23 Dec 2013 06:57:25 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[noted in passing]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6312</guid>
				<description><![CDATA[Test of posting to Google+ from my own site. If I posted here as much as I do on G+ I might have an audience. Works.]]></description>
								<content:encoded><![CDATA[<p>Test of posting to Google+ from my own site. </p>
<p>If I posted here as much as I do on G+ I might have an audience. </p>
<p>Works. </p>
]]></content:encoded>
										</item>
		<item>
		<title>The best education reform money can buy — until next time</title>
		<link>https://www.paulbeard.org/wordpress/2013/10/24/the-best-education-reform-money-can-buy-until-next-time/</link>
				<pubDate>Fri, 25 Oct 2013 02:26:17 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[education]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6304</guid>
				<description><![CDATA[We are in the midst of a transformation in the education reform industry, it seems, as big money is set to do to local school board races what it&#8217;s done to state and national elections. One local race, for a volunteer position, already has more than $125,000 in donations, with $100,000 donated to a PAC [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>We are in the midst of a transformation in the education reform industry, it seems, as big money is set to do to local school board races what it&#8217;s done to state and national elections. One local race, for a volunteer position, already has more than $125,000 in donations, with $100,000 donated to a PAC in large amounts (multiple $10,000 and $15,000 contributions) vs less than $30,000, with an upper limit of $900, on the other side. Both candidates are challenging for a vacant seat so there is no incumbency benefit there. </p>
<p>Since all of my political awareness started in the Reagan years, I&#8217;m forced to ask, what are they buying with that money? A school board seat is a volunteer position but demands a lot of time, with work sessions before most peoples&#8217; work day begins as well as public meetings, all of which also require preparation. Who wants to work an extra 20 hours a week for no pay? The board has oversight authority over the superintendent but doesn&#8217;t have executive power. So at best it can guide and support a superintendent or worse, allow them to run amok as we have seen with recent incumbents. But still worse, a majority could dismantle the public school system, all in the name of reform. </p>
<p>Local university science professor Cliff Mass has some idea what&#8217;s going on here. He sees this as <a href="http://cliffmass.blogspot.com/2013/09/wealthy-folks-try-to-take-over-seattle.html">the latest attempt to apply business management techniques to the classroom</a>. </p>
<p>So let&#8217;s look into that. </p>
<p>If a classroom or school were to be run like a manufacturing plant, this assumes that the raw materials coming in are of a consistent quality or that there is a refinement process that gets them to that standard. I think anyone who has ever been to school knows that students do not enter school as identical lumps of clay to be stamped or molded into shape. So what&#8217;s the solution in this manufacturing-patterned model? I haven&#8217;t heard anyone in the education reform industry discuss assessments for all incoming students or remediation for students who are not quite ready. I hear a lot about the standards teachers will be held to but nothing about the responsibility for student preparedness. </p>
<p>That responsibility lies at home. Students in the elementary grades are in school for six hours each of the 180 days in a school year. Of that, when you subtract lunch, enrichment like art, music, health and fitness/PE, and recess (anyone who says you don&#8217;t get recess in the working world needs to explain how coffee shops in business districts stay in business), it&#8217;s about 5 hours of instructional time. Where are the kids for the balance of the 24 hours? Same place they were for the first five years: in their family&#8217;s care. </p>
<p>What happens in a business when customers are lined up at the register or can’t through on the phone or can’t pick up their work at the promised time? Business that want to stay in business increase staff or improve their systems. I never hear anything about increased family support or improved social services in the schools to address a student’s lack of readiness. An elementary school with 300+ students in this large urban district might have a counselor for an hour or two a week. Many schools don&#8217;t have a full time art or music teacher as was common 30 or 40 years ago, or a full-time nurse. We have fewer staff per student than when many of the loudest voices for reform were in school. How does making something worse improve outcomes? </p>
<p>One of the goals I often hear about is making schools more efficient but since there are no details given, I have to assume that means &#8220;cheaper.&#8221; So that means high student:teacher ratios. So we have varied levels of preparedness and no remediation process and at the same time, we think that having more kids per teacher is somehow better. Where I have a hard time with this is that the people backing these ideas are considered to be very smart. They&#8217;re almost always successful business people and that&#8217;s taken as a proxy for intelligence in our culture. But no one ever asks them to defend specifics like higher student to teacher ratios as the means to improving education outcomes. If someone ran a grocery stores like this, shutting down cashier stations until customers started to leave, how successful would they be? </p>
<p>There seems to be some idea that processes are always improved by reducing the staff headcount. But there’s a point beyond which is doesn’t work. Nine women can&#8217;t make a baby in one month. But does anyone really think a teacher can reach and inspire and educate 30 kids as effectively as 20? Effectiveness is what we should be striving for, not efficiency. But how to measure that? The usual tests and assessments never seem to be enough. And those metrics point to teachers, not the students and their families, as the party most responsible for student outcomes. </p>
<p>Another idea that we hear a lot about is competition, that we need to make schools competitive. Why? Competitive with what? If you are going to set up a competitive structure and pit schools against each other, this means some students are going to go to second-rate schools. This doesn&#8217;t create winners, it creates losers. When did that become a desirable educational outcome? </p>
<p>What they mean is allowing for-profit schools to be set up alongside the public schools in publicly-funded and maintained buildings but with the freedom to ignore all the constraints of class size, of a centrally-mandated curriculum, and with the freedom to turn away students who might lower the school&#8217;s performance metrics. Why not just let public schools have that much autonomy? </p>
<p>In the past couple of years, a historically low performing middle school here in Seattle <a href="http://seattletimes.com/html/opinion/2021119423_bruce05reformmathseattleschoolsxml.html">secretly tossed out the district-mandated math curriculum, the poorly-regarded Discovery Math series, and used the Saxon math textbooks</a>. As a result, their math assessments were up sharply and the racial achievement gap narrowed. Kids who had struggled learned math better with those materials, based on objective measurements prescribed by the state. But the school had to break the rules to make that happen. You’d think reformers would be all over this as a vindication of their ideas. I’ve not heard anything. If anything, I suspect they would argue that this reinforces their attitudes toward teachers, a profound mistrust.</p>
<p>This mistrust of teachers and lack of respect for teaching as a professional discipline is a big component of the ed reform movement, an attitude that is unique in the developed world. Other countries and cultures respect teachers and parents expect their children to respect their teachers and value education. This growing antipathy toward public school teachers, beginning almost 100 years ago, is documented in Bryce Nelson&#8217;s book Good Schools: The Seattle Public School System, 1901-1930 [http://books.google.com/books?id=fymFQgAACAAJ&#038;dq=good+schools+seattle&#038;hl=en&#038;sa=X&#038;ei=jkxkUrvrLOKdigLF94H4DQ&#038;ved=0CD8Q6AEwAA]. Anyone who hopes to serve on the board or work in education policy who hasn&#8217;t read this isn&#8217;t ready yet. What Nelson found is that in the post-WWI era, just like today, there was increased pressure to make schools more efficient and accountable. This was an outgrowth of Taylorism, the time and motion studies fad that turned proud craftsmen into dissatisfied wage slaves. If you really want to know what teachers do all day, it seems like a simple problem to solve: go sit in some classrooms or help a teacher do kindergarten assessments and you&#8217;ll learn a lot more than you will protesting about the budget at a board meeting.</p>
<p>This devaluation of teaching as a profession is why we get things like Teach for America. It sounds like a great idea, taking recent college grads who haven’t yet begun their careers and putting them into classrooms in underserved areas. But what does it really say? It tells me that some people think that these five week wonders are good enough, that people who have gotten a four year degree in educations and then a post-graduate certification are not really worth it. There seems to be pretty obvious disconnect there, that we are concerned about underserved student populations but we don&#8217;t want to assign university-trained teachers to those schools. </p>
<p>Today’s teachers are trained to a higher standard than ever and at the same time education has become more complex, as we learn more about learning styles, cognitive and auditory issues that affect learning. Maybe if we valued professional educators as professionals, like engineers, nurses, even business school graduates, we wouldn&#8217;t have underserved student populations. If these educational reformers are serious about things like competition and autonomy, as they seem to be with charter schools, why aren&#8217;t they advocating for recruitment incentives in hard to fill positions? We know the answer already: Teach for America is cheaper and it furthers the goal of undermining professional educators. No one will admit that&#8217;s the goal but the net effect is the same. </p>
<p>As long as the public holds teachers accountable for student performance but not the parents or society as a whole, we’ll keep hearing these people talk endlessly about what’s wrong with the schools, never acknowledging that schools are a mirror of society. If you think your schools are broken, you might be right but that’s what doctors called “referred pain.” The cause of the pain isn’t where it hurts. But we keep applying fixes and wondering why they don’t take. </p>
]]></content:encoded>
										</item>
		<item>
		<title>Barack Obama as the last President of the United States?</title>
		<link>https://www.paulbeard.org/wordpress/2013/07/21/barack-obama-as-the-last-president-of-the-united-states/</link>
				<pubDate>Sun, 21 Jul 2013 18:52:01 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[observations]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6245</guid>
				<description><![CDATA[With his own claims to originalism fading fast, Scalia suggests liberal judicial activism, practiced by some of colleagues on the Court, is part of what brought about the Holocaust in Nazi Germany. The speech was an address to the Utah State Bar Association. [From Peak Scalia &#124; TPM Editors Blog] I wonder if this isn&#8217;t [&#8230;]]]></description>
								<content:encoded><![CDATA[<blockquote cite="http://talkingpointsmemo.com/archives/2013/07/peak_scalia.php">
<p>With his own claims to originalism fading fast, Scalia suggests liberal judicial activism, practiced by some of colleagues on the Court, is part of what brought about the Holocaust in Nazi Germany. The speech was an address to the Utah State Bar Association.</p>
<p>[From <a href="http://talkingpointsmemo.com/archives/2013/07/peak_scalia.php"><cite>Peak Scalia | TPM Editors Blog</cite></a>]
</p></blockquote>
<p>I wonder if this isn&#8217;t the wrong comparison to make, though I&#8217;m not looking through the lens of judicial activism.</p>
<p>Consider Barack Obama:<br />
• as the inheritor of a lot of policies and mechanisms he claims to oppose (like domestic surveillance or inequality): whether or not he does and what he could actually do about it is another discussion<br />
• with his non-aggressive (not to say passive) disposition (see above, what he could do about it vs someone more confrontational)<br />
• his political disadvantages (minority in the House, bizarre anti-productive rules in the Senate, passive to oppositional big media)<br />
• huge military expenditures, including politicized defense expenditures for weapons that will never be used (we&#8217;re buying tanks? Why? Do we need a navy larger than the next several nations&#8217; fleets combined? And why the F-35, other than contracts and jobs it represents?)<br />
• a massive state surveillance operation of which we have no idea the real cost, and the yet to be weighed divisive social effects<br />
• and the current economic morass with consolidation of power and wealth in every industry and the resulting inequality.</p>
<p>Who do you think of as a 20th Century political figure, given that description?</p>
<p>The name Mikhail Gorbachev ring a bell? He rose to power just as the wheels were coming off the wagon and there wasn&#8217;t a lot he could do about it. He inherited a state that had been hollowed out by ideology-driven economic policies and ruinous military spending. He ended presiding over the dissolution of an empire, as Russia became independent of the USSR along with other nations that had been &#8220;unified&#8221; into the old USSR — Ukraine, Belarus, the central Asian states, etc.</p>
<p>There&#8217;s a lot of muttering about secession or breaking the country up, letting intransigent states or regions go their own way, but there&#8217;s an assumption of choice to those arguments, of a new CSA breaking away. But what if as a precursor to or result of that happening, the federal government was rendered powerless, through budgetary hijinks or other political stunts (maybe congress members from the intransigent states refuse to return to DC or some other personal veto)?</p>
<p>Crazy? Possibly. Unbelievable? I&#8217;m not so sure. I continually find myself thinking on that memo from Buchanan to Nixon on the &#8220;bigger half&#8221; [1][2] and am reminded there are people — a lot of people — who would break the country up rather than see it accommodate ideas or people they oppose. That and referring to Frank Herbert&#8217;s Dune as a political text: &#8220;<a href="http://bit.ly/13vlYNP">He who can destroy a thing, controls a thing.</a>&#8221; This has been the SOP of the Republican congress since the Gingrich era, though he was more loyal to the idea of a continuing United States than many of his successors.</p>
<p>1. <a href="http://blogs.telegraph.co.uk/news/timstanley/100163806/after-wisconsin-and-north-carolina-america-has-its-silent-majority-now-it-needs-a-nixon/">http://blogs.telegraph.co.uk/news/timstanley/100163806/after-wisconsin-and-north-carolina-america-has-its-silent-majority-now-it-needs-a-nixon/</a></p>
<p>2. <a href="http://books.google.com/books?id=u7n3MMmktssC&amp;pg=PA606&amp;lpg=PA606&amp;dq=buchanan+%22bigger+half%22&amp;source=bl&amp;ots=jgGr5VD-_8&amp;sig=7s4xNXO1IAL_GEkxF5B9HhcV2xo&amp;hl=en&amp;sa=X&amp;ei=XCzsUZumBKepiAKi6IFI&amp;ved=0CGkQ6AEwCQ#v=onepage&amp;q=buchanan%20%22bigger%20half%22&amp;f=false">http://books.google.com/books?id=u7n3MMmktssC&amp;pg=PA606&amp;lpg=PA606&amp;dq=buchanan+%22bigger+half%22&amp;source=bl&amp;ots=jgGr5VD-_8&amp;sig=7s4xNXO1IAL_GEkxF5B9HhcV2xo&amp;hl=en&amp;sa=X&amp;ei=XCzsUZumBKepiAKi6IFI&amp;ved=0CGkQ6AEwCQ#v=onepage&amp;q=buchanan%20%22bigger%20half%22&amp;f=false</a></p>
]]></content:encoded>
										</item>
		<item>
		<title>90 degrees with no air conditioning? I need some lemonade.</title>
		<link>https://www.paulbeard.org/wordpress/2013/06/30/90-degrees-with-no-air-conditioning-i-need-some-lemonade/</link>
				<pubDate>Mon, 01 Jul 2013 06:36:09 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[food]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6243</guid>
				<description><![CDATA[Little heat wave here at present so we need to stay hydrated. You can only drink so much water and beer isn&#8217;t always the best choice if you have work to do. So lemonade it is. And none of that powdered mix. Do you even know what&#8217;s in that stuff? 1/2 cup sugar 1 cup [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Little heat wave here at present so we need to stay hydrated. You can only drink so much water and beer isn&#8217;t always the best choice if you have work to do. So lemonade it is. And none of that powdered mix. Do you even know what&#8217;s in that stuff? </p>
<ul>
<li>1/2 cup sugar</li>
<li>1 cup lemon juice </li>
<li>5 cups of water </li>
</ul>
<p>Stir, chill, and enjoy. </p>
<p>You can go to a full cup on the sugar but I find it too sticky and sweet. </p>
<p>That was easy, wasn&#8217;t it? So many things we are expected to buy ready-made or pre-packaged that are no better and are not much more convenient. Do you really need to buy microwave popcorn in those little bags with those nasty chemicals they use as flavorings? </p>
]]></content:encoded>
										</item>
		<item>
		<title>Building uniconvertor on OS X, post Snow Leopard</title>
		<link>https://www.paulbeard.org/wordpress/2013/06/17/building-uniconvertor-on-os-x-post-snow-leopard/</link>
				<pubDate>Mon, 17 Jun 2013 23:16:03 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[it could be called work]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6236</guid>
				<description><![CDATA[I have been doing some work with laser cutting and to that end, I need to translate files from Inkscape’s native SVG format to other formats, like plt or eps. For quite some time now, this has been failing, as the uniconvertor team — who supply the internal translation functions — have let their code [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>I have been doing some work with laser cutting and to that end, I need to translate files from Inkscape’s native SVG format to other formats, like plt or eps. For quite some time now, this has been failing, as the uniconvertor team — who supply the internal translation functions — have let their code base fall into decay.</p>
<p>Turns out the trick isn&#8217;t building uniconvertor, but the underlying library, sk1lib, where the real work gets done. For some reason, sk1lib doesn’t come with the developer-supplied distribution, even though the SK1project offers binary packages for Windows and umpteen variants of Linux. So you can successfully install uniconvertor but it doesn’t check dependencies, so you won’t know it doesn’t work until you try to run it. Annoying, that. They haven&#8217;t been particularly responsive, either. Too busy working on 2.0 which no one will care about is 1.x is broken.</p>
<p>I wish I had saved my error messages and other debris to better explain all this but it came together pretty quickly before I knew I was on the right track.</p>
<p>You’ll need the following distributions:</p>
<ul>
<li>the <a href="https://developer.apple.com/downloads/">Command Line tools from Apple’s Developer website</a> (or Xcode).</li>
<li><a href="http://www.freetype.org">freetype-2.4.12</a> (more recent releases may work, too)</li>
<li><a href="https://sourceforge.net/projects/lcms/files/lcms/">lcms-1.19</a> (I don&#8217;t if 2.x releases will work, so I&#8217;d stay with this one)</li>
<li><a href="http://sk1project.org/modules.php?name=Products&amp;product=sk1&amp;op=download">sk1libs-0.9.1</a> (I can&#8217;t vouch for any other version than these)</li>
<li><a href="http://sk1project.org/modules.php?name=Products&amp;product=uniconvertor&amp;op=download">uniconvertor-1.1.5</a></li>
</ul>
<p>Install the tools, if you don’t have them. Make sure they are up to date. I found I had to rip Xcode out and replace it with this toolchain to get things working. There were some issues with llvm/clang that seemed to clear up after I did that. Next, download, build and install FreeType2. I found this symlink was needed:<br />
<code lang="bash" xml:lang="bash">ln -s /usr/local/include/freetype2/freetype/ /usr/include/freetype</code></p>
<p>If I remember where I found it, I&#8217;ll credit the poster, though it seems to be a pretty common workaround.</p>
<p>Next, lcms: the usual drill: <code lang="bash" xml:lang="bash">./configure, make install clean</code></p>
<p>Then, build and install sk1libs.</p>
<p><code lang="bash" xml:lang="bash">python ./setup.py build; python ./setup.py install --record installed-files.txt</code></p>
<p>The installed-files.txt is just a list of the files that get installed, in lieu of an actual package manager.</p>
<p>And then this patch has to be applied to <code>sk1libs/src/utils/fs.py</code>, either before installation or after.</p>
<pre>
224c224
&lt;       return ['/System/Library/Fonts', '/Library/Fonts', os.path.expanduser("~/Library/Fonts")]
---
&gt;       return ['/',]
314c314
&lt;
---
&gt;
</pre>
<p>Without the patch, <i>the program will read every file on your system into some list</i>, for a purpose known to no man. The comments point to python 1.5 so I suspect it&#8217;s long overdue for review and refactoring. Credit for this goes to <a href="http://inkscape.13.x6.nabble.com/template/NamlServlet.jtp?macro=user_nodes&#038;user=360682">Valerio Aimale</a>. </p>
<p>Credit for this discovery goes to the Inkscape developers who are trying to get the OS X releases of Inkscape in parity with Windows and Linux.</p>
<p>Finally, uniconvertor-1.1.5 — <code lang="bash" xml:lang="bash">python ./setup.py build; python ./setup.py install --record --installed-files.txt</code></p>
<p>And that should do it. Test it out.</p>
]]></content:encoded>
										</item>
		<item>
		<title>next steps</title>
		<link>https://www.paulbeard.org/wordpress/2013/05/22/next-steps/</link>
				<pubDate>Thu, 23 May 2013 03:10:28 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[observations]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6228</guid>
				<description><![CDATA[Following up on this post I realize I have a very serious problem: the lack of self-esteem or value makes it hard to sell yourself or your ideas. If your underlying belief system is that everything you say or do is of no consequence, it makes it hard to get through the interview process, assuming [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Following up on <a href="http://www.paulbeard.org/wordpress/2013/05/15/something-i-learned-today/">this post</a> I realize I have a very serious problem: the lack of self-esteem or value makes it hard to sell yourself or your ideas. If your underlying belief system is that everything you say or do is of no consequence, it makes it hard to get through the interview process, assuming you can even get one.</p>
<p>If you don&#8217;t believe you deserve it, you won&#8217;t get it.</p>
<p>The best advice I could have given myself, had I realized it, is that relying on jobs that other people create and define is never going to work for me. Temperamentally and physically/biologically I&#8217;m better off doing my own thing. But then there it is: how do you sell whatever it is you&#8217;re doing or making if you don&#8217;t believe it&#8217;s any good? And how could it be good, if <i>you</i> made it?</p>
<p>Imagine how you would manage this if you were faced with having to find a whole new life for yourself in less than a month due to a failed domestic situation? If you&#8217;re a reasonably normal person, well-adjusted and comfortable with yourself, this may not be a big deal. You have friends or other resources.</p>
<p>But that&#8217;s not my situation. Thirteen years I have lived here and I have no network to draw on and not much in the way of local knowledge to use to navigate a new course. It&#8217;s going to be a rough stretch.</p>
]]></content:encoded>
										</item>
		<item>
		<title>swap usage monitor</title>
		<link>https://www.paulbeard.org/wordpress/2013/05/20/swap-usage-monitor/</link>
				<pubDate>Mon, 20 May 2013 23:23:27 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[it could be called work]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6217</guid>
				<description><![CDATA[Wrote this little thing to keep an eye on how swap usage grows. I find that when it exceeds physical RAM, things get boggy. #!/bin/sh PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin: LAST=`who -b &#124; cut -c18-50` RAM=`system_profiler SPHardwareDataType &#124; grep Memory &#124; awk '{ print $2 * 1024 }' ` TOTAL=`du -m /var/vm/* &#124; grep swap &#124; awk '{total = [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>Wrote this little thing to keep an eye on how swap usage grows. I find that when it exceeds physical RAM, things get boggy.</p>
<pre lang="bash" xml:lang="bash">
#!/bin/sh
PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:
LAST=`who -b | cut -c18-50`
RAM=`system_profiler SPHardwareDataType | grep Memory | awk '{ print $2 * 1024 }' `
TOTAL=`du -m /var/vm/* | grep swap | awk '{total = total + $1} END {print total}'`
if [ ${TOTAL} -ge ${RAM} ]; then
logger "swap in use = ${TOTAL}, exceeds installed RAM (${RAM}), last reboot was ${LAST}, recommend reboot"
open /var/log/system.log # this opens the log in the Console application so you can see it/can't ignore it.
fi
exit 0
</pre>
<p>Though, to be fair, it&#8217;s not as bad as when I had some useless never-looked-at Dashboard widgets. That was a performance killer. That discovery was inspired by <a href="http://aplawrence.com/MacOSX/mountain_lion_swap_siles.html">this</a>.I used to check this by simply using</p>
<pre lang="shell" xml:lang="shell">
du -sh /var/vm
6.0G    /var/vm
</pre>
<p>but that didn&#8217;t catch that there was a hibernation/sleepimage file in there.</p>
<pre lang="shell" xml:lang="shell">
-rw------T  1 root  wheel   4.0G May 22 01:12 sleepimage
-rw-------  1 root  wheel    64M May 22 04:05 swapfile0
-rw-------  1 root  wheel    64M May 22 04:05 swapfile1
-rw-------  1 root  wheel   128M May 22 04:05 swapfile2
-rw-------  1 root  wheel   256M May 22 04:05 swapfile3
-rw-------  1 root  wheel   512M May 22 04:05 swapfile4
-rw-------  1 root  wheel   1.0G May 22 04:05 swapfile5
</pre>
<p>That&#8217;s why I just add up the swapfiles themselves. The one thing I would add is a more informative display of the time since reboot: getting days (?) since reboot would be more informative. But that requires more jiggery-pokery with <code>date(1)</code> than I care to deal with. I&#8217;m sure some clever obfuscated perl could be cooked up but I want this to use only tools I know will be available.</p>
<p>Update: this just went off (opened up the Console app) and displayed these messages:</p>
<pre>
<br />May 22 21:59:04 ivoire com.apple.launchd[1] (com.apple.xpcd.F5010000-0000-0000-0000-000000000000[26487]): Exited: Killed: 9<br />May 22 21:59:04 ivoire kernel[0]: memorystatus_thread: idle exiting pid 26487 [xpcd]<br />May 22 22:04:32 ivoire com.apple.launchd.peruser.502[2211] (com.apple.cfprefsd.xpc.agent[26538]): Exited: Killed: 9<br />May 22 22:04:32 ivoire kernel[0]: memorystatus_thread: idle exiting pid 26538 [cfprefsd]<br />May 22 22:04:33 ivoire kernel[0]: (default pager): [KERNEL]: ps_select_segment - send HI_WAT_ALERT<br />May 22 22:04:34 ivoire kernel[0]: (default pager): [KERNEL]: ps_vstruct_transfer_from_segment - ABORTED<br />May 22 22:04:34 ivoire kernel[0]: (default pager): [KERNEL]: Failed to recover emergency paging segment<br />May 22 22:04:34 ivoire kernel[0]: macx_swapon SUCCESS<br />May 22 22:05:02 ivoire.paulbeard.org paul[26584]: swap in use = 4096, exceeds installed RAM (4096), last reboot was May 20 17:51 , recommend reboot
</pre>
<p>This — <code>Failed to recover emergency paging segment</code> — looks alarming. I doubt it is. It&#8217;s <a href="http://www.google.com/search?client=safari&amp;rls=en&amp;q=Failed+to+recover+emergency+paging+segment">not new</a>, in any case.</p>
]]></content:encoded>
										</item>
		<item>
		<title>Something I learned today</title>
		<link>https://www.paulbeard.org/wordpress/2013/05/15/something-i-learned-today/</link>
				<pubDate>Thu, 16 May 2013 04:09:54 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[observations]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6215</guid>
				<description><![CDATA[It&#8217;s taken me about 40 years to fully (?) process this. &#8220;J.T&#8221; is a simple, hour-long story of a young boy living in a New York ghetto, but it tackles some weighty issues. [From J.T. Reviews &#38; Ratings &#8211; IMDb] I saw this movie right after it came out, so around 1970. The &#8220;weighty issues&#8221; [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>It&#8217;s taken me about 40 years to fully (?) process this.</p>
<blockquote cite="http://www.imdb.com/title/tt0158681/reviews">
<p>&#8220;J.T&#8221; is a simple, hour-long story of a young boy living in a New York ghetto, but it tackles some weighty issues.</p>
<p>[From <a href="http://www.imdb.com/title/tt0158681/reviews"><cite>J.T. Reviews &amp; Ratings &#8211; IMDb</cite></a>]
</p></blockquote>
<p>I saw this movie right after it came out, so around 1970. The &#8220;weighty issues&#8221; it deals with are racism and poverty in mid 20th Century America but an 8 year old English boy living in Canada didn&#8217;t get any of that. You have to read a few more of the reviews to learn what I saw. And from what I can tell, I never saw the end of the movie, as you&#8217;ll see.</p>
<p>I saw it with my mother, in the front room of our house, and for some reason, I remember it as a summer afternoon, with long shadows everywhere. The storyline of the movie I remember was that a poor black kid finds a cat in an abandoned building and it becomes the center of his universe, something for him to love and care for, to look forward to being with. But some older boys who have nothing to love or care about find him sneaking into this old building and they catch him in the act of caring, of loving. They take the cat from him and play &#8220;keep away,&#8221; teasing and taunting, until one of them runs out to the street and slips, sending the cat into traffic where it is killed by a car, right in front of the young hero.</p>
<p>At this point, I burst into tears. All I saw was a small boy — like myself — who lost something precious due to the cruelty of others, out of the simple meanness and unempathetic jealousy of those who don&#8217;t know how to love.</p>
<p>My mother laughed at me for crying. She laughed at a child for expressing a natural emotion. She didn&#8217;t do it to minimize the effects or soften the blow. She offered no comfort, no compassion. She was no different from the boys on the screen, who hate to see anyone or anything receive love.</p>
<p>And that response to my openness, my willingness to openly feel, made me close up and hide that part of myself from the world. It made me fear rejection to the point where almost every decision I have made since then has been to avoid it. And to avoid rejection is to avoid life. It means not trying things, not risking exposure to the hurt that comes from being rejected.</p>
<p>My mother and I, if we were ever close, weren&#8217;t after that. Soon I was on my way to a new life in a new family in a new country south of the border, but that scabbed-over hurt stayed with me for years, many, many years. I expect the other changes only made me keep that of myself wrapped up tight.</p>
<p>It was only in the past 2-3 years I would allow myself to openly express that kind of feeling, to let the tears flow. And only rarely and at home.</p>
<p>I saw my mother twice after that before she died in 2003, a span of 33 years, and neither experience was positive. No, we weren&#8217;t close. There&#8217;s more but it&#8217;s not relevant here.</p>
<p>I didn&#8217;t realize until today that there was more of the movie after that scene, so badly was I hurt at the time. I never saw it or remembered it, I guess. I knew there was something about that moment, frozen in my mind, but I never quite realized what it was, what it all meant.</p>
<p>This has been coming clearer the past few weeks, the realization that I have shut myself off from far too many experiences and opportunities but not understanding why.</p>
<p>People think saying &#8220;no&#8221; doesn&#8217;t cost anything. It does. It can cost you everything.</p>
<p>It&#8217;s been a cathartic day. Just recounting the story brings more than a tear to my eyes. When I put it all together this morning, I was in pretty bad shape. And I expect the next few days will be up and down as I come to grips with the understanding of what happened and what I can do now.</p>
<p>I&#8217;ve always wondered why Philip Larkin&#8217;s &#8220;<a href="http://www.youtube.com/watch?v=1rjRYSfCJvM">This Be the Verse</a>&#8221; resonated with me. What he describes is not unique to my experience but now that first line is going to stay with me, at least as far as an apt description of one of my parents. It&#8217;s never been far from my mind…maybe now I understand why.</p>
<p>Following up <a href="http://www.paulbeard.org/wordpress/2013/05/22/next-steps/">here</a>.</p>
]]></content:encoded>
										</item>
		<item>
		<title>I had this idea 30+ years ago</title>
		<link>https://www.paulbeard.org/wordpress/2013/05/14/i-had-this-idea-30-years-ago/</link>
				<pubDate>Tue, 14 May 2013 22:11:38 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[it could be called work]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6213</guid>
				<description><![CDATA[A new emerging concept known as hybrid solar lighting may offer an effective way of routing daylight deep into buildings. Using parabolic reflectors, direct sunlight can be concentrated on a smaller mirror which after removing most of the Infra red component (which can be extracted as electricity), reflects a very focused beam of visible light [&#8230;]]]></description>
								<content:encoded><![CDATA[<blockquote cite="http://www.greenenergyjobs.com/career-guide/solar-energy-jobs/">
<p>A new emerging concept known as hybrid solar lighting may offer an effective way of routing daylight deep into buildings. Using parabolic reflectors, direct sunlight can be concentrated on a smaller mirror which after removing most of the Infra red component (which can be extracted as electricity), reflects a very focused beam of visible light on to the end of a optical fibre bundle. This cooled beam of concentrated full spectrum natural light can then be routed into the interior of buildings for illumination. The hybrid design allows this additional lighting source to be mixed with back up lighting to create a dynamic system that always maximises the amount of natural light fed into the building.</p>
<p>[From <a href="http://www.greenenergyjobs.com/career-guide/solar-energy-jobs/"><cite>Solar Power | Green Energy Jobs Career Guide</cite></a>]
</p></blockquote>
<p>Maybe not for task lighting but an easy win for hallways or ambient lighting.</p>
<p>I can recall when the idea came to me, around 1982, as I was walking along a corridor in an apartment/condo building in Florida. There were no windows but there were small wall sconces that radiated heat as I passed them. Perhaps it was the realization that there was all this heat and light outdoors, surrounding this air-conditioned darkness.</p>
]]></content:encoded>
										</item>
		<item>
		<title>network tuning, OS X Leopard edition</title>
		<link>https://www.paulbeard.org/wordpress/2013/05/13/network-tuning-os-x-tiger-edition/</link>
				<pubDate>Tue, 14 May 2013 03:48:26 +0000</pubDate>
		<dc:creator><![CDATA[paul]]></dc:creator>
				<category><![CDATA[it could be called work]]></category>

		<guid isPermaLink="false">http://www.paulbeard.org/wordpress/?p=6203</guid>
				<description><![CDATA[I had occasion to fire up an old PPC iMac G5 (OS X 10.5.8) the other week and was appalled at how slowly it performed at network access. So here&#8217;s what I did to fix it. Per Scott Rolande, there are tunable values for many aspects of the TCP stack. Handily, they live in a [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>I had occasion to fire up an old PPC iMac G5 (OS X 10.5.8) the other week and was appalled at how slowly it performed at network access. So here&#8217;s what I did to fix it.</p>
<p>Per <a href="http://rolande.wordpress.com/2010/12/30/performance-tuning-the-network-stack-on-mac-osx-10-6/">Scott Rolande</a>, there are tunable values for many aspects of the TCP stack. Handily, they live in a text file and can be tinkered with interactively.<br />
<code><br />
kern.ipc.maxsockbuf=4194304<br />
kern.ipc.somaxconn=512<br />
kern.ipc.nmbclusters=2048<br />
net.inet.tcp.rfc1323=1<br />
net.inet.tcp.win_scale_factor=3<br />
net.inet.tcp.sockthreshold=16<br />
net.inet.tcp.sendspace=262144<br />
net.inet.tcp.recvspace=262144<br />
net.inet.tcp.mssdflt=1440<br />
net.inet.tcp.msl=15000<br />
net.inet.tcp.always_keepalive=0<br />
net.inet.tcp.delayed_ack=0<br />
net.inet.tcp.slowstart_flightsize=4<br />
net.inet.tcp.blackhole=2<br />
net.inet.udp.blackhole=1<br />
net.inet.icmp.icmplim=50</code></p>
<p>This machines didn&#8217;t have a <code>sysctl.conf</code> file so I used copied his and used it to pull out the current values.</p>
<p><code>for i in `cut -d= -f1 sysctl.conf`; do sysctl $i; done<br />
kern.ipc.maxsockbuf: 8388608<br />
kern.ipc.somaxconn: 128<br />
kern.ipc.nmbclusters: 32768<br />
net.inet.tcp.rfc1323: 1<br />
net.inet.tcp.win_scale_factor: 3<br />
net.inet.tcp.sockthreshold: 64<br />
net.inet.tcp.sendspace: 65536<br />
net.inet.tcp.recvspace: 65536<br />
net.inet.tcp.mssdflt: 512<br />
net.inet.tcp.msl: 15000<br />
net.inet.tcp.always_keepalive: 0<br />
net.inet.tcp.delayed_ack: 3<br />
net.inet.tcp.slowstart_flightsize: 1<br />
net.inet.tcp.blackhole: 0<br />
net.inet.udp.blackhole: 0<br />
net.inet.icmp.icmplim: 250</code></p>
<p>A little different. Not sure why <code>kern.ipc.maxsockbuf</code> is so much higher on an old machine that maxes out at 2Gb of RAM…</p>
<p>To test throughput, I needed a test file.<br />
<code>hdiutil create -size 1g test.dmg<br />
.....................................................................................................................................<br />
created: /Users/paul/test.dmg</code></p>
<p>Over wireless G on a mixed wireless N/G network to a wired 100 Mbit host on a Gigabit switch, it managed a stately 12 Mbits/second.</p>
<p>Twelve minutes (12m19.024s) later:<br />
<code>sent 1073872981 bytes received 42 bytes 1452160.95 bytes/sec<br />
total size is 1073741824 speedup is 1.00<br /></code></p>
<p>Oy. Now to try it to a wireless destination, a 10.8.3 machine.</p>
<p>Hmm, interestingly, OS X handles rsync transfers a little differently: it blocks out space equivalent to the size of the file. This is checking the size of the file during the transfer. <code>du</code> tells a different story than <code>ls</code>. As you can see the file size never changes during the transfer. <code>du -h .test.dmg.GsCjdW; sleep 10 ; du -h .test.dmg.GsCjdW<br />
1.0G .test.dmg.GsCjdW<br />
1.0G .test.dmg.GsCjdW<br /></code></p>
<p>Using <code>ls -l</code> shows the actual size of the file, not the disk space set aside for it.</p>
<p>Still slow: <code>sent 1073872981 bytes received 42 bytes 1428972.75 bytes/sec</code></p>
<p>Took <code>12m30.961s</code>, the difference being because it went to sleep (out of boredom?).</p>
<p>After changing the various sysctl OIDs, things got much worse.</p>
<p>This is what I have on the 10.8.3 system:<br />
<code>kern.ipc.maxsockbuf: 4194304<br />
kern.ipc.somaxconn: 1024<br />
kern.ipc.nmbclusters: 32768<br />
net.inet.tcp.rfc1323: 1<br />
net.inet.tcp.win_scale_factor: 3<br />
net.inet.tcp.sockthreshold is not implemented<br />
net.inet.tcp.sendspace: 2097152<br />
net.inet.tcp.recvspace: 2097152<br />
net.inet.tcp.mssdflt: 1460<br />
net.inet.tcp.msl: 15000<br />
net.inet.tcp.always_keepalive: 0<br />
net.inet.tcp.delayed_ack: 0<br />
net.inet.tcp.slowstart_flightsize: 1<br />
net.inet.tcp.blackhole: 0<br />
net.inet.udp.blackhole: 0<br />
net.inet.icmp.icmplim: 250<br /></code></p>
<p>A 1Gb transfer takes too long (which of course is the problem) so I made a couple of small changes and tried a 100Mbit file. Down to 13 seconds. Hmm, not bad. The changes:<br />
<code>sysctl -w net.inet.tcp.sendspace=4194304<br />
sysctl -w net.inet.tcp.recvspace=4194304<br />
sysctl -w net.inet.tcp.mssdflt=1460<br /></code></p>
<p>I set <code>net.inet.tcp.[send|recv]space</code> to be half of <code>kern.ipc.maxsockbuf</code> and made the <code>net.inet.tcp.mssdflt</code> match the receiving system.</p>
<p>Now a 1Gb test file takes 53.287s. Copying from 10.8.3 to 10.5.8 took just 31.215s. After synchronizing the <code>net.inet.tcp.mssdflt</code> on the system I first tested with, transfers to there are down to 1m47.471s.</p>
<p>So some big improvements for not much effort. I&#8217;m sure there are lots of other tweaks but given the relatively little need for more improvement and the limited potential (the old 10.5 system on wireless G is frozen in time while the newer wireless N machines will see further improvements), I don&#8217;t know that I&#8217;ll bother. A twelve-fold increase in one direction and a 24-fold boost going the other way is pretty good. If I really cared, i.e., this was something I expected to do regularly, I&#8217;d run a Cat5 cable to it and call it done.</p>
<p>After a reboot to ensure the values stay put, I tested different copy methods as well, all with the same 1Gb file.</p>
<p>from the 100Mbit wired machine using <code>rsync</code>: 0m56.349s</p>
<p>same to/from, using <code>scp -C</code> for compression (since I used <code>rsync -z</code>): 1m40.794s</p>
<p>from the 10.8.3 system to the 10.5 system with <code>scp -C</code>: 1m35.228s</p>
<p>from the 10.8.3 system to the 10.5 system with <code>rsync -z</code>: 0m24.734s (!!)</p>
<p>from the 10.5 system to 10.8.3 with <code>rsync -z</code>: 0m38.861s</p>
<p>So even better after the reboot. Could be other variables in there as well. I&#8217;m calling it done.</p>
<p>UPDATE: the morning after shows a different story. I was puzzled that snmp monitoring wasn&#8217;t working so I took a look this morning and things are slow again, down to 5 Mbits/second from the 12 I considered poky. At this point, I&#8217;m not sure how reliable the benchmark data was or at least how I was evaluating it.</p>
<p>I&#8217;ll have to investigate further. I created some more test media by splitting up the 1Gb file into smaller ones, so I have a pile of 100Mbit and 10Mbit files as well. Part of the optimization I am looking for is good throughput for large files as well as being able to handle smaller files quickly. Large buffers and access to a good sized reserve of connections, in other words.</p>
]]></content:encoded>
										</item>
	</channel>
</rss>
