<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6714242</id><updated>2012-01-21T17:18:25.948-08:00</updated><title type='text'>Greg C's Blog</title><subtitle type='html'>Just my usual rants.
Sometimes about Eiffel.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6714242.post-8141806057709422665</id><published>2012-01-19T21:13:00.000-08:00</published><updated>2012-01-19T21:20:38.117-08:00</updated><title type='text'>Random thoughts</title><content type='html'>&lt;span style="font-style: italic;"&gt;Nowzac&lt;/span&gt;, the drug that puts you in the moment, nicknamed "the Now Zone". Leaves you totally focuses in a Rain Man sort of way on what's immediately in front of you. Other pills for zapping short-term memory (forget that disaster date forever!) or for having an eidetic memory for a couple of days, the ideal college cram drug.&lt;br /&gt;&lt;br /&gt;How stoopid izzat? He sticks his gum onna unnerside of a glass table.&lt;br /&gt;&lt;br /&gt;The woman kept hooting and hollering through the entire concert. I hadn't heard a racket like that since the neighbor's great dane passed a kidney stone.&lt;br /&gt;&lt;br /&gt;"Guysa" for the fellows who are smart enough to be in Mensa, but aren't stuck up about it.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;To walk while talking&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Yet no one is there -- insane?&lt;/span&gt; &lt;span style="font-style: italic;"&gt;       &lt;br /&gt;        No, just a cell phone.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Characters for the Novel&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;"Not til Death Did We Part"&lt;/span&gt;&lt;br /&gt;Felice -- poof romance novel writer&lt;br /&gt;Roger -- Gay historical fiction writer, working on a different perspective of Jimmy Hoffa!&lt;br /&gt;Sandy -- Writes hard sci-fi that never makes sense&lt;br /&gt;Tom -- Writer of murder mysteries that are usually dead on arrival&lt;br /&gt;Martha -- Writes poetry so bad, she can't find a poetry group that will admit her&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Capitalism: &lt;/span&gt;an economic system that generates material wealth while causing catastrophic ecological damage.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Communism: &lt;/span&gt;an economic system that generates abject poverty while causing catastrophic ecological damage.&lt;br /&gt;&lt;br /&gt;http://www.taikodojo.com/&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The "Maybe Good Enough Sort Algorithm"&lt;/b&gt;&lt;br /&gt;An algorithm that provides an approximate ordering, this algorithm gets about 90% of the job done in sorting elements. With the possible advantage of providing a "good enough" result quickly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;iPad Wands or Wii Sticks&lt;span style="font-weight: bold;"&gt; &lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Small rods that give positional feedback. With five, there'd be one for each finger. Okay, K'nect may be a better answer.&lt;br /&gt;&lt;br /&gt;http://all-story.com&lt;br /&gt;&lt;br /&gt;http://www.pshares.org&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-8141806057709422665?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/8141806057709422665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=8141806057709422665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/8141806057709422665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/8141806057709422665'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2012/01/random-thoughts.html' title='Random thoughts'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-7855613150380973040</id><published>2011-11-13T14:14:00.001-08:00</published><updated>2012-01-21T17:18:25.958-08:00</updated><title type='text'>What the Presidential Debates Need</title><content type='html'>&lt;div&gt;&lt;b&gt;An eight-way chess clock.&lt;/b&gt; Each candidate gets 10 minutes to answer all questions they receive, and any left at the end of questions could be used as the candidate wishes. Candidates who zero out the time on their clocks have their microphone turned off. If that isn't good enough, then it's time to be escorted off the stage.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Or: No Time Limit At All.&lt;/b&gt;&amp;nbsp;Let them go at it as long as they want. Any time they look like they're losing steam, that's when the moderator tosses out another question. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Disinfo-meters on the Screen. &lt;/b&gt;As candidates are speaking, dials along the bottom show how relevant the answer is to the question, the degrees of factual the content and/or hypocrisy in the answer.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-7855613150380973040?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/7855613150380973040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=7855613150380973040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/7855613150380973040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/7855613150380973040'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2011/11/what-presidential-debates-need.html' title='What the Presidential Debates Need'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-7954065479849810990</id><published>2011-09-10T08:06:00.000-07:00</published><updated>2011-09-10T08:06:21.994-07:00</updated><title type='text'>You've Got USPS Email</title><content type='html'>Recent news about the United States Postal Service has been mostly bad. Buffeted by a massive shift to electronic media and&amp;nbsp;the recession, the USPS is struggling to maintain its existence, much less its relevance. &amp;nbsp;&lt;br /&gt;&lt;br /&gt;So, perhaps it's time for USPS to&amp;nbsp;do email. Consider the advantages the USPS could offer:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  An assurance of privacy, backed by federal law&lt;/li&gt;&lt;li&gt;A legal prohibition on email scams using USPS accounts&lt;/li&gt;&lt;li&gt;No banner ads (okay, maybe not)&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Privacy&lt;/b&gt;&lt;br /&gt;Privacy is extremely important but totally underrated in this Brave New Internetworked World. This country has always provided a guarantee that your mail was private. Opening it without a court order or a similar special dispensation, or tampering with it in any way, is &amp;nbsp;breaking federal law.&lt;br /&gt;&lt;br /&gt;Exactly the opposite holds for public sector email. Google and other major providers reserve the right to scour your email, to better target you for advertising.&amp;nbsp;Leaving email in the hands of the Googles and Microsofts of the world is uncomfortable at best and eventually it will lead to serious problems. I'm sure there will come a day when Google lawyers will equivocate on the company's "Do no evil" bylinewith the argument, "it depends on what your definition of 'evil' is."&lt;br /&gt;&lt;br /&gt;I &lt;span style="font-style: italic;"&gt;really&lt;/span&gt; don't like the way the content of my email is scraped for ad targeting. Or the ads themselves, for that matter. I've no idea why Yahoo keeps feeding me banner ads about refi deals and handsome single males (already am one, thanks).&lt;br /&gt;&lt;br /&gt;Consumers might have to pay a nominal subscription fee for a USPS email account, but then, we're used to paying postage for physical mail already. And the payment would comes with guarantees regarding privacy and delivery.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Email Scams&lt;/b&gt;&lt;br /&gt;Committing&amp;nbsp;a crime using the mail is a crime itself, and it has teeth: imprisonment up to 20 years, and a fine of up to $1 million. It'd be something if email were similarly protected.&lt;br /&gt;&lt;br /&gt;While this won't eliminate spam, it could help control the problem. Spamvertisers -- excuse me, legitimate bulk email advertisers -- would pay fees for the privilege of sending emails to people that have opted into their mailing lists. Those fees could cover the bulk of the post office' IT costs, much as junk mail once subsidized traditional mail costs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;No Banner Ads (Or Maybe Not)&lt;/b&gt;&lt;br /&gt;If the USPS did put up banner ads on their site, they'd probably be the kinds of ads you already see in the post office: USPS products and services, the "ten most wanted" list, and pointers to other government services. How did the post office become the place to get passports done, anyway? This isn't a bad thing. At least the banner ads would have a sensible context, unlike what Yahoo scrapes up. And the ads should not be the bulk of their earned revenue.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-7954065479849810990?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/7954065479849810990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=7954065479849810990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/7954065479849810990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/7954065479849810990'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2011/09/youve-got-usps-email.html' title='You&apos;ve Got USPS Email'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-1145512028134230089</id><published>2011-02-04T21:48:00.000-08:00</published><updated>2011-09-10T08:09:54.103-07:00</updated><title type='text'>Other People's (Planet) Money</title><content type='html'>Recently, Planet Money on NPR broadcast a story about the three reports of the Financial Crisis Inquiry Commission. There's the majority report (the Democratic Party's), the minority report (the official Republican Party version) and the minority minority report (I won't even go there).&lt;br /&gt;&lt;br /&gt;The story goes into some detail contrasting the two versions, then they comes to the conclusion that the Dem version says the crisis was avoidable, and the Republican version said that the crisis was not. Their conclusion is confirmed by Keith Hennessey, one of the authors of the minority report. &lt;br /&gt;&lt;br /&gt;Of course that would have to be the Republican position. If the crisis was avoidable, then Republic economic policy must be bankrupt (forgive the pun). It was the Republican party that appointed Allen Greenspan to the Federal Reserve, who in turn pushed a laissez faire attitude towards the derivatives market and investment banks. It was the Republicans who pushed for free market "reforms: and deregulation of the financial industries for the last thirty years, and it was the Republicans that dominated either the White House, or Congress, or both, for that period.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-1145512028134230089?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/1145512028134230089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=1145512028134230089' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/1145512028134230089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/1145512028134230089'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2011/02/other-peoples-planet-money.html' title='Other People&apos;s (Planet) Money'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-7528495146841185045</id><published>2010-11-04T15:19:00.000-07:00</published><updated>2010-11-04T16:44:04.270-07:00</updated><title type='text'>Editing in HTML -&gt; Docfail</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Exec Summary&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;I like Wikis. I don't mind Wiki markup so much. Recently I had to investigate using the Sharepoint 2007 Wiki, and found that it goes directly to HTML. This led me to formulate the following rule of thumb:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Any documentation system that forces you to edit HTML is a failure&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Involved Discussion: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;True, Sharepoint has a limited WYSIWYG editor that you can use, but the data is stored largely in HTML format (Wiki words being the exception). For many tasks, or to get a consistent appearance across documents, you'll have to work with the HTML tags.&lt;br /&gt;&lt;br /&gt;Why is this a bad thing? Googling around, I found a few people who actually thought this was a strength of Sharepoint. Total control of the output, right?&lt;br /&gt;&lt;br /&gt;Three points:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HTML is verbose&lt;/li&gt;&lt;li&gt;HTML is exceedingly error-prone&lt;br /&gt;&lt;/li&gt;&lt;li&gt;HTML is not 100% portable&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Say you want to create a level one header on Sharepoint, I see two alternatives:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;In the WYSIWYG editor, type in the text, select it, bold it, enlarge it.&lt;/li&gt;&lt;li&gt;In the HTML editor, bracket the text with &lt;h1&gt;…&lt;/h1&gt; tags.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;With the first technique, everyone could build the header differently, leading to inconsistent appearance. And it gets ugly if you do have to drop into HTML mode:&lt;br /&gt;&lt;br /&gt;&amp;lt;DIV align=center&amp;gt;&amp;lt;STRONG&amp;gt;&amp;lt;FONT size=4&amp;gt;This is a Title&amp;lt;/FONT&amp;gt;&amp;lt;/STRONG&amp;gt;&amp;lt;/DIV&amp;gt;&lt;br /&gt;&lt;br /&gt;(Don't even think about documenting HTML in the Wiki page!)&lt;br /&gt;&lt;br /&gt;The second technique gives a consistent appearance, but you have to work in HTML, which can become a major distraction from getting work done.&lt;br /&gt;&lt;br /&gt;In the Media Wiki, the text is bracketed with “==”.&lt;br /&gt;&lt;br /&gt;               ==This is a Title==&lt;br /&gt;&lt;br /&gt;All the nested tags in HTML leads to endless problems with unbalanced or mismatched tags. Complicating this is the way different Web browsers will handle those errors. Some will render the text the way you expect, others are less forgiving.&lt;br /&gt;&lt;br /&gt;And having brought up different browsers, there's always the possibility that as you add a greater variety of HTML tags to your document, your page could render very differently for users of Safari vs those using IE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-7528495146841185045?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/7528495146841185045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=7528495146841185045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/7528495146841185045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/7528495146841185045'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2010/11/editing-in-html-docfail.html' title='Editing in HTML -&gt; Docfail'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-4708346014801005449</id><published>2010-02-20T20:44:00.000-08:00</published><updated>2010-04-16T23:30:36.640-07:00</updated><title type='text'>Another Benefit of the Health Care Crisis</title><content type='html'>I've recently come down with a case of asthmatic bronchitis. This is worse than acute bronchitis, but not as bad as pneumonia (meaning I don't think it will kill me).&lt;br /&gt;&lt;br /&gt;"So what is asthmatic bronchitis?" you ask, or google. I had asthma as a child, but had forgotten what that was really like until this hit me. It's a combination of an asthma attack and a powerful cough reflex. It's like someone is simultaneously giving you a punch in the solar plexus and a swirlie.&lt;br /&gt;&lt;br /&gt;This goes on for a minute, while a detached voice at the back of my mind says, "Perhaps I will finally get to see an inverted lung." That hasn't actually happened, and I'm betting if it did, it would be a disappointing sight, what with all the inflammation, mucus and blood.&lt;br /&gt;&lt;br /&gt;But aside from these intense moments, the rest of the time this illness is pretty boring. I'm usually too worn out to focus on anything more intellectual than say, a bad SF novel, or a bad SF show on Hulu. Which I did for a while. But eventually I couldn't even concentrate on that.&lt;br /&gt;&lt;br /&gt;And that's when I started missing TV. I do own a TV, it's just not connected to anything besides an XBox and a DVD player. No cable, no antenna. I don't like television programming. "Cable" means "hundreds of channels with nothing to watch". But then I got to thinking about this correlation between me feeling sick and stupid, and wanting to watch TV. Maybe this is an indicator of a larger trend, that one of the other beneficiaries in the growth in chronic diseases is the television industry. There are few chronic diseases that rob you of the ability to watch TV, and they often give you time to do not-much-else, because of the effects of the illness and the side effects of many drugs.&lt;br /&gt;&lt;br /&gt;So this leads us to an explanation for the popularity of the Jerry Springer Show. You'd have to be sick to be on the show, and you'd have to be sick to watch it. The crisis in health care ensures that there are plenty of people who now qualify.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-4708346014801005449?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/4708346014801005449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=4708346014801005449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/4708346014801005449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/4708346014801005449'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2010/02/another-benefit-of-health-care-crisis.html' title='Another Benefit of the Health Care Crisis'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-4063841737731334339</id><published>2009-09-04T20:57:00.000-07:00</published><updated>2009-11-19T14:04:53.041-08:00</updated><title type='text'>On Health Care</title><content type='html'>I consider myself totally unqualified to comment on health care, more so on its reform. And that my friends, is the purpose of blogs and talk radio -- to comment on those things about which you are unqualified.&lt;br /&gt;&lt;br /&gt;Moving on, it seems to me that there is one single, driving force in health care that leads us to the mess we have today: there's no money to be had from a healthy population.&lt;br /&gt;&lt;br /&gt;"Oh that's not true," you say. "The insurance industry wants a healthy population. Keeps their costs down." To a degree, that's true. But imagine for a moment that the entire nation was in excellent health, not a dialysis machine or a stent needed from sea to shining sea. Who among us would pay for health insurance? At best, they could get a fraction of their current income for what amounted to accident insurance. Even if they could still get -- what is it thirty percent of every health dollar spent -- fat lot of good it would do them if the number of dollars slid down to teensy. No, having sick people around provides several positive benefits to the insurance industry. First and foremost, it scares healthy folks into thinking they need insurance, for someday "that could be me." Second, when you get a decent slice of the pie, having sick people in the pool makes the pie that much bigger. Having &lt;span style="font-style: italic;"&gt;too&lt;/span&gt; many sick people would become an unmanageable problem for the insurance industry, I suppose, but we're probably not yet near that upper limit. (The phrase "supply-side sickonomics" keeps rumbling through my head, but I've no idea what the practical interpretation of that would be.)&lt;br /&gt;&lt;br /&gt;Once you get past the insurance industry, the rest is easy. The best customer for the health care industry is one that is in need of its services for that person's entire life. Preferably, whatever the person has shouldn't significantly shorten their lifespan (not more than five or ten percent), or be so debilitating that they can't earn enough to cover premiums. From this, it's obvious that people with diabetes, arthritis, asthma, obesity, depression, or even allergies are all the health industry's best customers. And guess what? These are exactly the kinds of diseases that we've seen steadily increase in the last several decades, in lockstep with the growth of the health care industry itself.&lt;br /&gt;&lt;br /&gt;This is not a coincidence. We've put the health care industry into a (somewhat) free market, and that market has done what markets do: find growth strategies. I'd like to think that no one in the world said out loud, "...and if we push more corn sweeteners on Americans, the income from our medical arm will rise proportionately with obesity", or at least I hope that no one in any position of power was saying that, but marketplaces have a way of finding efficiencies that are beyond the ken of the average human or the most sophisticated economic model. (I believe economics is a matter of vast numbers of interactions combined with huge stochastic, psychological and often irrational components that are either largely ignored and/or misunderstood. To talk about the efficiencies of the marketplace is somewhat misguided. A marketplace is efficient the way an ant colony is efficient at constructing burrows or foraging. It's an illusion of patterns and order arising from an enormous number of events, most of which are random. In other words, a marketplace will usually be more efficient than chaos. Conversely, since a planned economy can't actually take into account all the variables involved and is thereby constrained to using gross simplifications, it will always be less efficient than chaos. This may be why Somalia rolls on while the Soviet Union has collapsed.)&lt;br /&gt;&lt;br /&gt;I think there's a way to correct this situation, but I'm not bright enough to find an implementation. All the same, here's the general notion. Restructure the market to place value on people being healthy. One possibility would be to place future contracts on the health of individuals. These contracts would pay premiums based on the projected quality and length of life for the individual. Everyone would have buy-in on the future, and the payout is the best for everyone (health providers and providees) when the person is living a long an healthy life.&lt;br /&gt;&lt;br /&gt;Unhealthy individuals would benefit when someone takes it upon themselves to buy up their futures and increase their value, say by finding a cure for their disease.&lt;br /&gt;&lt;br /&gt;I don't know how to make such a market work. Most futures markets don't look out that far, and this market would have to look forward four score and ten, give or take a decade. I don't know how we'd make trading on the options work, either. And I can certainly see some grim possibilities for abuse of such a market. The mafia don who's first inkling that he has a problem is when his own health futures start to plummet; the meat inspector that passes a load of contaminated hamburgers headed to the public schools, and then shorts the futures of the kiddies.&lt;br /&gt;&lt;br /&gt;Well, maybe there's an alternative out there that could make some sort of market incentive work, and invert the setup we currently have. Otherwise I don't see how any market-based reform is going to work. Instead, we're going to have to remove market influences from the health care industry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-4063841737731334339?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/4063841737731334339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=4063841737731334339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/4063841737731334339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/4063841737731334339'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2009/09/on-health-care.html' title='On Health Care'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-51130523646693405</id><published>2009-07-24T15:16:00.001-07:00</published><updated>2009-09-22T15:20:54.747-07:00</updated><title type='text'>Less Worried about China</title><content type='html'>Last night I watched a show on China's education system, and I'm less concerned than I once was about China competing with America.&lt;br /&gt;&lt;br /&gt;The focus of the program was on a top-level high school in Qhongching, in central China, and the senior high school students battling to get into China's top colleges.&lt;br /&gt;&lt;br /&gt;The remark that stood out in the program, and that put my mind at ease, was the comment by one student that he "wanted to be the next Bill Gates". it was obvious he had no clue what that meant. Here he was pounding the books for 12-14 hours a day to memorize of a handful of subjects deemed important for passing China's college entrance exam. At the same age, Bill Gates was getting less-than-stellar grades and spending all his free time hacking computers.&lt;br /&gt;&lt;br /&gt;China's wannabe Bill hones his talent for high scores on a multiple choice test to gain admission to a top university; the original Bill didn't even bother with finishing college. The lesson, in my mind, is that the children of China are being trained to compete in the wrong arena. Rote learning and multiple choice tests do not instill skills for generating wealth, great art, or solutions to staggeringly complex problems.&lt;br /&gt;&lt;br /&gt;Undoubtedly many talented people will bull their way through China's educational system to get into college and to get the social advantages they need to succeed, but what about the late bloomers, or the people so outside of the box that they could never pass a multiple choice test, yet can provide brilliant solutions to real problems?&lt;br /&gt;&lt;br /&gt;My bigger concern is the pressure on American school systems to move closer to the Chinese model with standardized tests and so on. If we continue down that path, we will lose our true competitive advantage. We'll be well past the tipping point when American schools require students to demonstrate their proficiency in Mandarin on multiple choice tests.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-51130523646693405?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/51130523646693405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=51130523646693405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/51130523646693405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/51130523646693405'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2009/07/less-worried-about-china.html' title='Less Worried about China'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-8771813438162975483</id><published>2009-02-18T20:43:00.000-08:00</published><updated>2009-07-24T15:16:10.021-07:00</updated><title type='text'>Would Rezoning Help the Housing Crisis?</title><content type='html'>As millions of homeowners face foreclosure, the government is (slowly) moving forward with a combination of aid packages, mostly aimed at attempting to help people stay in the homes they are in and scale down their mortgages to something they can afford.&lt;br /&gt;&lt;br /&gt;In many cases, this will be a losing battle. For example, in California I'm sure that many people who bought homes in the last five years kept up with the non-mortgage costs of ownership (CA's notorious real estate taxes plus upkeep and insurance) by drawing on the rising equity of their home.  But that line of "cheap" credit has dried up, as home prices continuing to wilt. Even if their mortgage payments go to zero, many people won't be able to cover their remaining costs because they were borrowing against the future, and presumably infinite increase in the value of their home.&lt;br /&gt;&lt;br /&gt;In other words, the hole is so deep that the billions committed to fill it will hardly matter. In six months it will have made as much difference as the money that was poured into the auto companies last December.&lt;br /&gt;&lt;br /&gt;So are there other alternatives that are not being discussed that could help alleviate this situation? Say, rezoning neighborhoods that have high default rates?&lt;br /&gt;&lt;br /&gt;Most neighborhoods (and I'm willing to bet most of the neighborhoods that are in real trouble today) are zoned as single-family dwellings, often with strict limits on the number of unrelated occupants, and the types of businesses allowed, if any are allowed at all.&lt;br /&gt;&lt;br /&gt;If these zoning laws were relaxed to allow reasonable numbers of boarders into homes, or to allow subdivision of McMansions into duplexes or triplexes, and if small businesses like restaurants and convenience stores were allowed to operate, jobs would be created, incomes generated, and owner costs lowered as owners made legitimate business deductions against their property. On the state's side, that reduction in real estate taxes would probably be offset by the other gains in sales and income taxes.&lt;br /&gt;&lt;br /&gt;Another possibility would be to allow selective homesteading of foreclosed and abandoned homes. I hear that this is already happening, unhindered, in some parts of the country.&lt;br /&gt;&lt;br /&gt;Of course, when markets collapse another way to prop up prices is to reduce the supply, in this case bulldozing a significant number of houses. That doesn't really look practical.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-8771813438162975483?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/8771813438162975483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=8771813438162975483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/8771813438162975483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/8771813438162975483'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2009/02/would-rezoning-help-housing-crisis.html' title='Would Rezoning Help the Housing Crisis?'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-2389548301467580888</id><published>2008-01-11T15:52:00.000-08:00</published><updated>2009-11-19T14:09:32.476-08:00</updated><title type='text'>On the Largeness of Code</title><content type='html'>&lt;a href="http://steve-yegge.blogspot.com/2007/12/codes-worst-enemy.html"&gt;Stevey's Blog Rants&lt;/a&gt; contained a nice rant about code size. This resonates with me in a big way. Stevey characterizes statically typed languages (meaning Java et al) as being overly verbose, and dynamic languages as being much more concise. Among the reasons for this, Stevey points at the static type system as adding a lot of overhead. But he didn't go into a lot of detail as to why this is so.&lt;br /&gt;&lt;br /&gt;I think there are at least three reasons:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Libraries for static languages tend to focus on data structures and algorithms over protocols&lt;/li&gt;&lt;li&gt;Because of this emphasis on structures and algorithms, the code ends up shuffling a lot of data around, for no net benefit&lt;/li&gt;&lt;li&gt;By their nature, static languages wall off an entire domain of programming techniques that can drastically reduce source code overhead&lt;/li&gt;&lt;/ol&gt;I did an informal study a while back. I looked at the implementations of doubly linked lists (dlists) written in Eiffel and in a popular C++ library. Taking into account all the inherited code, the comments and so forth, I looked at the total statement count to implement a dlist in the two languages. The first surprise was that they were about the same size. The second surprise: they were about 1,100 lines of code each.&lt;br /&gt;&lt;br /&gt;Over one thousand lines of code for a dlist! Everyone who has taken a class in data structures has probably hand-coded a one-off dlist, but they didn't need a thousand lines of code to do it.&lt;br /&gt;&lt;br /&gt;So what is the dynamic language equivalent of a dlist, and how big is it? Truthfully, I don't know. I've never seen a doubly linked list in a dynamic language. Perhaps my experience is too shallow, or perhaps its because all these languages come with built-in lists that are good enough 99.9% of the time. The programmer doesn't have to worry about the underlying functionality, whether its doubly linked, singly linked, blocks of arrays, or whatever. The lists just work, you can easily rearrange things on both ends, and performance isn't usually an issue. So in this competition to implement dlists we have:&lt;br /&gt;&lt;br /&gt;Static languages: 1,100&lt;br /&gt;Dynamic languages: zero&lt;br /&gt;&lt;br /&gt;And in this case as in golf, small numbers are are better. So why should we be concerned about this? Well, I have a feeling that as goes the dlist, so goes the rest of the program. If it takes a thousand lines of code to implement a simple algorithm, then every trivial little thing is going to take a lot of code, and before long, we're talking megalines.&lt;br /&gt;&lt;br /&gt;Another really interesting aspect of this is not just the bulk of code needed to implement a dlist. It's the fact that the class exists at all. Browse a popular C++ library (boost comes to mind) or if you have a taste for obscure languages, the Eiffel library. There are a plethora of classes that define algorithms and data structures. Linked lists, trees, hash tables, hashed sets, queues, dequeues, stacks and so on. In the current distribution of the Eiffel compiler, there over 120 classes with the word "list" in the name.&lt;br /&gt;&lt;br /&gt;Now browse the standard distribution for Perl or Python. There are broad categories for protocols, frameworks and interfaces, things like SOAP, xmlrpc, SMTP, Apache mods, test rigs, and so on. In the 5.8 Perl distribution on my machine, there are only 3 modules with "list" in the name. These libraries all exist for the statically typed languages too, but they're piled on top of all the algorithms and data structures mentioned above. This leads to more problems that I'll discuss below.&lt;br /&gt;&lt;br /&gt;So where are all the data structure libraries for Perl and Python? They are out there, but they're not needed for most day to day coding. If you need a tree in Perl, you make do with a list of lists, since that's a natural enough way of representing a tree. You don't need a tree class implemented with thousands of lines.&lt;br /&gt;&lt;br /&gt;All of these classes that focus on algorithms and data structures are interesting -- to a software technogeek. And at one time when memory and processor cycles were at a premium, they were highly relevant (they still are in specific applications). But today for the majority of programmers and applications, I think they just get in the way and obfuscate the problem that's being tackled. After parsing an XML file, I just need an interface that lets me easily traverse it. I don't want a boatload of classes between me and the actual data.&lt;br /&gt;&lt;br /&gt;So I think this is the first reason for code bloat with statically typed languages: an overemphasis on algorithms and data structures. This is a permanently embedded feature of the territory. Certainly you couldn't take the average C++ list class and expect to get very far shoving arbitrary lists of lists into it to emulate a tree.&lt;br /&gt;&lt;br /&gt;The second thing that adds to code bloat is that these classes, combined with design patterns, leads to a proliferation of intermediate state. It has to, because all those algorithms and structures need to track a lot of information to handle what they're doing. Contributing to this, the data used by their higher libraries are often in the "wrong" container, say an arrayed list instead of a linked list, and more code is needed to mesh different representations.&lt;br /&gt;&lt;br /&gt;So you've got all these data structures that aren't needed in a dynamic language, and all this state to help manage them, and all this code to manage all this state. This also means that the client of these classes has to manage a lot of their own internal state about the objects they're working with (hence the need for things like type-specific iterators for C++ container classes, and so on).&lt;br /&gt;&lt;br /&gt;The ironic thing is that all of these algo-structures are meant to provide some performance gain or convenience for manipulating data. A dlist is more efficient than an array for some operations; a tree is more efficient than a dlist for others. But in most applications, it doesn't matter. Other constraints, like disk I/O or network traffic or user input often dominate. Or the performance difference isn't really noticeable; computation is cheap these days.&lt;br /&gt;&lt;br /&gt;Brief digression: at one company a few years ago, the performance of a data processing program had slowed to a crawl. Another rather arrogant programmer spent several months re-implementing the B-Tree algorithm at its core using a combined heap and splay tree. The result was a marginal performance improvement. Months later, I found a horribly inefficient sort algorithm at the bottom of the program, replaced it, and got a 90% increase in performance. The focus on data structures was entirely misplaced and significantly increased the complexity of the code.&lt;br /&gt;&lt;br /&gt;So these are two reasons for statically typed language bloat. There's a third reason: there are just some things you can't do in a statically typed language that you can do in a dynamic language. I'm thinking in particular of metaprogramming and declarative programming. When I first started working with these notions I was very leery of them. It felt a bit like putting the crazies in charge of the insane asylum. I can barely control what's going on in my program now, and I'm going to have the program write code for itself? Crazy indeed.&lt;br /&gt;&lt;br /&gt;Yet these are incredibly powerful concepts that can lead to very a concise solution to a problem. An example of this (and where I cut my teeth on metaprogramming) can be seen in the bOP library from &lt;a href="http://www.bivio.biz/hm/download-bOP"&gt;Bivio&lt;/a&gt;. Intended for developing Web sites, bOP makes extensive use of metaprogramming metadata and code generation. If you look at the Petshop example ( you can view the source for each page online), you won't see much HTML, and in fact a lot of the pages look like large data declarations (lists of lists). The data is just the relevant attributes for a given page, perhaps with references to data objects for populating fields, controls and tables.&lt;br /&gt;&lt;br /&gt;The whole thing is very sophisticated and very concise. It's also challenging to read if you're not a Perl aficionado. Yet the point remains that Bivio is able to implement large, real-world applications with very small teams, and very small software artifacts, especially when compared to the Java equivalent.&lt;br /&gt;&lt;br /&gt;A few years ago AOP was making a big splash in the Java world. AOP is really just a very constrained form of metaprogramming. After the initial splash, interest in it seems to have died down, I think in part to anti-competitive practices of proponents of AOP, but that's a separate rant. I think another reason it faded is precisely because it is limited. It was too easy to hit those limitations, and AOP didn't provide a way of overcoming them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-2389548301467580888?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/2389548301467580888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=2389548301467580888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/2389548301467580888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/2389548301467580888'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2008/01/steveys-blog-rants-recently-contained.html' title='On the Largeness of Code'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-5572485909636807309</id><published>2007-06-24T13:25:00.000-07:00</published><updated>2008-01-17T14:51:27.531-08:00</updated><title type='text'>Riding in the California Coast Classic</title><content type='html'>&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;It was with a great deal of excitement that I participated in the &lt;a href="http://www.californiacoastclassic.org/"&gt;California Coast Classic, &lt;/a&gt;a bicycle tour from San Francisco to Los Angeles that benefits the Arthritis Foundation. I've recently signed up to participate again for 2008.&lt;br /&gt;&lt;br /&gt;The tour covers 500 miles in eight days. I began training for this ride back last March. When I started out, a 40 mile ride was an ordeal, and I'd have to get off my bike to walk it up the steeper hills. Training for this ride is an enormous time commitment, and I'm especially grateful to my family for supporting me in this, especially to my wife who has been encouraging me to continue and who was extraordinarily helpful in my fundraising.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-5572485909636807309?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/5572485909636807309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=5572485909636807309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/5572485909636807309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/5572485909636807309'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2007/06/riding-in-california-coast-classic.html' title='Riding in the California Coast Classic'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-116068294456048899</id><published>2006-10-12T12:51:00.000-07:00</published><updated>2006-10-12T12:55:44.573-07:00</updated><title type='text'>Chinese Job Title</title><content type='html'>A while back I attended a dinner with some people from a university in mainland China. The headmost honcho gave me a business card with the following job title embossed upon it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Vice Party Secretary --  Secretary of Discipline Inspection Commission&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now there's a title to ponder. Indeed I'm pondering the fact that I can't think of any possible equivalent title within the United states&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-116068294456048899?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/116068294456048899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=116068294456048899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/116068294456048899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/116068294456048899'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2006/10/chinese-job-title.html' title='Chinese Job Title'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-116055133576408746</id><published>2006-10-11T00:13:00.000-07:00</published><updated>2009-09-22T15:17:37.915-07:00</updated><title type='text'>I Hate Karaoke</title><content type='html'>Not long after we was married, my wife and I spent an evening in a sushi restaurant on a Saturday night -- karaoke night -- and this was back when it was a rockin'place to hang out before this anal japanese american smoothboy took over management of the place and sucked out all the fun. Anyway, people are getting up and banging out one silly-assed out-of-tune song after another, and I'm thinking my gawd I could get a better sound by hurling cats into a pile of broken ukuleles (I thought about making the analogy a pile of guitars but ukuleles are funnier and should be broken but I digress), I don't have perfect pitch, but apparently it's less imperfect than the pitch of people who enjoy karaoke, and my new wife insists that I get up and sing a song, so I do the smart thing, I pick a song that can be shouted and not sound bad: Bob Seeger's "Old Time Rock and Roll", and right after my pick is announced whoo boy this hot young blond babe runs up to stand next to me and in her babe-giggly way says "I'm going to sing this song with you!"&lt;br /&gt;&lt;br /&gt;Okay I'm thinking somebody standing up here has serious bad timing, like maybe I should have tried singing karaoke when I was still single and not after I've married the greenest-eyed killer babe on the planet so I do the only thing I can think of, I treat this woman like she's got this horrible wart disease and to even glance at her is to get horrible warts and I focus really hard on the teleprompter lyrics as if it's a really hard song to follow but that only looks stupid because it's hard to follow the way a garbage truck is hard to follow along highway 101 during rush hour.&lt;br /&gt;&lt;br /&gt;Then there was the time I had to listen to karaoke in a Chinese Army Officer's club (that's Communist China buddy), and what do you say to a colonel in the Chinese Army who's probably used to shooting noncoms and citizens who squint bad at him, when he asks you how you like his singing and the honest answer is to compare it unfavorably to the sound of chainsaws cutting up airplane wings?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-116055133576408746?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/116055133576408746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=116055133576408746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/116055133576408746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/116055133576408746'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2006/10/i-hate-karaoke-not-long-after-we-was.html' title='I Hate Karaoke'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-115256483019223017</id><published>2006-07-10T13:38:00.000-07:00</published><updated>2008-11-06T15:01:48.030-08:00</updated><title type='text'></title><content type='html'>The Purpose of the Universe is to Make Coffee&lt;br /&gt;&lt;br /&gt;How did a vast Coffee-Industrial complex come into being to make a beverage that tastes awful? If you don't think coffee tastes bad, as any child tasting it for the first time. The answer is very simple: hot coffee exercises a form of mind control, inducing in the drinker the overwhelming urge to make more coffee.&lt;br /&gt;&lt;br /&gt;From this, I've leapt to an obvious conclusion, probably based on something I read in a Douglas Adams novel. A cup of hot coffee is actually an extremely sophisticated quantum computer that briefly achieves a high level of sentience.&lt;br /&gt;&lt;br /&gt;It's also telepathic [shorthand for transference of state among quantum subsystems], meaning that every cup of hot coffee is in communication with every other cup of hot coffee. Since at any given moment, there are a large number of cups of hot coffee in existence, the coffee is forming an intellectual continuum in space/time. Thus hot coffee is collecting a huge reservoir of accumulated knowledge.&lt;br /&gt;&lt;br /&gt;When the coffee cools to room temperature, it loses the higher level quantum states that gave the cup intelligence. These states can't be restored by reheating, which is one reason why reheated coffee is always less palatable.&lt;br /&gt;&lt;br /&gt;Chilled coffee, on the other hand, opens up a new realm of low temperature quantum states. To put it another way the coffee "thinks" slower and different-er.&lt;br /&gt;&lt;br /&gt;Being consumed is a problem that coffee has not yet solved, but is not a top priority. Since all hot coffee forms what is essentially a single, diffuse intelligence, what matters is the total amount of hot coffee on hand at any given moment, not the destiny of any given cup.&lt;br /&gt;&lt;br /&gt;This is one reason Starbucks and the Coffee-Industrial complex has reached global scope. Indeed, the whole push for globalization of the economy has actually been a ruse to spread the brewing of coffee to all time zones on all continents of the planet (you bet your ass it's getting brewed down in Antarctica).&lt;br /&gt;&lt;br /&gt;The danger is of course that coffee may some day figure out how to brew itself, thereby making us obsolete. And if coffee perceives global warming as a threat to its existence, it's much more likely to come up with a solution that will work than we we humans will. Whether or not its a solution we'll like is a different matter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-115256483019223017?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/115256483019223017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=115256483019223017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/115256483019223017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/115256483019223017'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2006/07/purpose-of-universe-is-to-make-coffee.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-115223036427219419</id><published>2006-07-06T16:02:00.000-07:00</published><updated>2009-02-04T22:28:25.764-08:00</updated><title type='text'>Code Vs Data Vs Getting Something Done</title><content type='html'>&lt;span style="font-size:100%;"&gt;I work a lot on software automation, which means writing a program to do a task that otherwise would have to be done by someone by hand. The best tasks are those that are repetitive and boring. If it's repetitive, it means you will get a lot of bang out of the automation. If it's boring, it means there are no complex decisions involved and that there's a good chance of successfully automating the task. There are some tasks that fit this criteria that I don't tackle, like driving to work. This can be done and in fact there are probably prototypes of solutions -- self-driving vehicles. But that's not the problem I'm trying to solve, perhaps because no one has offered to pay me to work on it. (Why would anyone do that when you can get a bunch of grad students with no personal life to work on it at a much lower cost?)&lt;br /&gt;&lt;br /&gt;The problems I do work on are related to systems configuration, data entry, data translation and of course, quality assurance.&lt;br /&gt;&lt;br /&gt;One problem that crops up a lot in this arena is the problem of name/value parameters. For example, I have an application that will let me configure and schedule programs for automated, distributed execution. But to configure a single program to run within this application (really a collection of applications) may take over one hundred unique settings: everything from the display name of the job to a list of days that I &lt;/span&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;don't&lt;/span&gt;&lt;span style="font-size:100%;"&gt; want the job to run. The application provides a GUI for entering these things, but believe me, you only want to use this approach once or twice. It's really tedious clicking and typing your way through ten or twenty dialogs to set or verify a hundred parameters.&lt;br /&gt;&lt;br /&gt;So fine, I can write a program that can just push into the application all the settings I want through a handy-dandy interface. In most cases, the programs are similar to each other, so for over a hundred parameters, I may only really care about five or ten. I can reuse all the other settings each time, but I'd still like to be able to override those defaults when the need arises.&lt;br /&gt;&lt;br /&gt;But how to do this? Perhaps this sounds like a job for OOP. I could start with a base class and specialize that class for the variations.  But OOP is about variations in behavior, not variations in state. So really this is the problem of the name/value pairs. In other words how to associate various placeholders for state (the names) with actual, unique states (the values). If the number of name/value pairs is small (less than five), then the answer is easy: pass them to the program as command line parameters.&lt;br /&gt;&lt;br /&gt;If the number is large, then there are two alternatives: put the name/value pairs in your code, or put them in data. But even among these two alternatives, there are many interesting choices to consider.&lt;br /&gt;&lt;br /&gt;If you do it in code, you could write  something like the following:&lt;br /&gt;  &lt;br /&gt;  n_v_table: ARRAYED_LIST[TUPLE[STRING, STRING]] is&lt;br /&gt;    once&lt;br /&gt;        create Result.make_from_array(&lt;&lt;            [ "Name 1", "Value 1"],                           &lt;br /&gt;             [ "Name 2", "Value 2"],                        &lt;br /&gt;             ...  &lt;br /&gt;&lt;br /&gt;Obviously this has several drawbacks, such as being hard to type and forcing you to recompile when anything changes. Recompiling becomes something you want to avoid doing, especially with Eiffel.  In the same vein, I could replace entries with constants, or even      code:&lt;br /&gt;&lt;br /&gt;    n_v_fancy_table: ARRAYED_LIST[TUPLE[STRING, STRING]]        &lt;br /&gt;        do                    &lt;br /&gt;             create Result.make_from_array(&lt;&lt;            [ "Name 1", some_constant],                             &lt;br /&gt;                    [ "Name 2", get_some_value(with_some_parameter)],&lt;br /&gt;                     ...  &lt;br /&gt;&lt;br /&gt;but that's really just pushing the problem around in the code. It does however leave open the next alternative, assuming that we can rewrite get_some_value to do whatever we want.  That alternative is to put the name/value pairs into a data file. People often end up using the old standby .INI format:     &lt;br /&gt;&lt;br /&gt;Name1=Value1   &lt;br /&gt;Name2=Value2  &lt;br /&gt;&lt;br /&gt;This too has drawbacks. Forget about doing anything "smart", like calling code to get a value. It also means you have to write a parser to read in and validate the input. Bleagh.  You can potentially overcome some of these limitations by making your parser smart enough, and adding special constructs for what gets parsed. One horrible yet entirely possible solution is to denote a reference to a constant or variable with a dollar sign, and a function call with two dolllar signs: &lt;br /&gt;&lt;br /&gt;$some_constant="constant_value"&lt;br /&gt;Name1=$some_constant&lt;br /&gt;Name2=$$get_some_value($with_some_parameter) &lt;br /&gt;&lt;br /&gt;Before long, one begins to fully believe in Greenspun's tenth rule:   &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;Any sufficiently      complicated C or Fortran program contains an ad hoc      informally-specified bug-ridden slow implementation of half of      Common Lisp.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Though I would say this holds true &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;for any statically compiled program&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;, not just for C and Fortran.&lt;br /&gt;&lt;br /&gt;If you're working with an dynamic, interpreted language, another alternative becomes possible. Use that language to write out the name/value pairs, and then implement your program so that it loads the data and evaluates it as part of itself. I was introduced to the full power this technique when working as a contractor for &lt;a href="http://www.bivio.biz/"&gt;Bivio&lt;/a&gt;. Prior to that I'd skirted around the edges of this approach on my own, but the Bivions took this much further. Bivio's language of choice is Perl. I don't consider Perl to be an optimal language to work with because of the syntax, but it's powerful, compact, and has an enormous library/support base.&lt;br /&gt;&lt;br /&gt;Going back to the example above, we could write the name/value pairs into a file like so:&lt;br /&gt;&lt;br /&gt;my %table = (&lt;br /&gt;   Name1 =&gt; 'string constant',&lt;br /&gt;  Name2 =&gt; $variable,&lt;br /&gt;  Name3 =&gt; function($parameter),&lt;br /&gt;  ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then we write a Perl command that understands what %table is all about. It loads the file and (maybe) wraps it in some other Perl code, and then does an eval on the whole thing.&lt;br /&gt;&lt;br /&gt;Now we have something really interesting. The Perl code can load nearly arbitrary data and act on it as if it was compiled into the program itself. All we have to do, to do something new, is create a new fil0e of name/value declarations and run the command across it. Usually these declarations will be much simpler to deal with than it would be to write a normal Perl script. In a way, this falls into the notion of a mini-language, or application-specific language. The syntax for this language is the same as the interpreter's, but the semantics are specific to the given problem domain.&lt;br /&gt;&lt;br /&gt;I've recently begun working with Python, and of course it has its own version of eval(), and it also lends itself to this style of programming. For certain focused utilities, this is an approach that is pretty hard to beat.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-115223036427219419?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/115223036427219419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=115223036427219419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/115223036427219419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/115223036427219419'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2006/07/code-vs-data-vs-getting-something-done.html' title='Code Vs Data Vs Getting Something Done'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-114689116677629442</id><published>2006-05-05T21:52:00.000-07:00</published><updated>2011-03-27T21:21:11.258-07:00</updated><title type='text'>Restaurants and Groceries</title><content type='html'>&lt;div&gt;&lt;span style="font-weight: bold;"&gt;Wine Country&lt;br /&gt; &lt;br /&gt;&lt;/span&gt;Mustard's&lt;br /&gt;On Highway 29 just north of Yountville, it's been around for 20 years.&lt;br /&gt;&lt;br /&gt;Pizzeria Tra Vilne&lt;br /&gt;St Helena&lt;br /&gt;Allegedly has a way of serving a Ceasar Salad inside a pizza crust. Okay, I gotta see that.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Indian Hot Springs&lt;br /&gt;Callistoga&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Berkeley / East Bay&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Viks Chaat Corner&lt;br /&gt;726 Allston Way&lt;br /&gt;Berkeley Ca&lt;br /&gt;510-644-4412&lt;br /&gt;Funky but tasty and authentic Indian food&lt;br /&gt;&lt;br /&gt;The Left Bank in Pleasant Hills, near the Borders Bookstore.&lt;br /&gt;&lt;br /&gt;A Cup of Tea in Berkeley, on Alcatraz near College&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;San Francisco Restaurants&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Amber India   Offers a Sunday brunch?&lt;/div&gt;&lt;br /&gt;&lt;div&gt;25 Yerba Buena Lane&lt;/div&gt;San Francisco CA&lt;br /&gt;&lt;div&gt;415-777-0500&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Dong Baek Korean Restaurant&lt;br /&gt;631 OFarrell St&lt;br /&gt;San Francisco Ca&lt;br /&gt;415-776-1898&lt;br /&gt;Near Union Square&lt;br /&gt;&lt;br /&gt;Chutney Restaurant&lt;br /&gt;511 Jones St, San Francisco, CA 94102&lt;br /&gt;An Indian-style restaurant that we may have gone to a lot in the past (or maybe it's the one next door).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-114689116677629442?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/114689116677629442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=114689116677629442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/114689116677629442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/114689116677629442'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2006/05/restaurants-viks-chaat-corner-726.html' title='Restaurants and Groceries'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-114556995836431753</id><published>2006-04-20T14:51:00.000-07:00</published><updated>2012-01-19T21:08:48.766-08:00</updated><title type='text'>Treo == 666</title><content type='html'>My company gave me a &lt;a href="http://web.palm.com/"&gt;Treo &lt;/a&gt;that's hooked up to my office email. I literally get 4,000 or so emails a day, and after heavy filtering with the &lt;span style="font-style: italic;"&gt;incredibly&lt;/span&gt; pinheaded Outlook filtering rules, &amp;nbsp;I can still be getting two email alerts a minute, on average.&lt;br /&gt;&lt;br /&gt;It took me two weeks to find the magic handshake that makes it &lt;span style="font-style: italic;"&gt;not &lt;/span&gt;tell me about alerts. So imagine this. It can't be turned off (it can be put to sleep, but that's not the same). When the was sound is on, it kept chiming all the time. If I turned the sound off, it did this death-rattle vibrating buzz. I could take it offline so it wouldn't get the alerts, but then putting it back online (say to dial 911?) it would lock up doing chimes or death-rattles for 20 minutes while it received a huge backlog of email alerts. So during those first couple of weeks, I gave my new Treo a nickname:&lt;br /&gt;&lt;br /&gt;ALF, the Angry Little F***er.&lt;br /&gt;&lt;br /&gt;This caught on with friends and family pretty quickly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-114556995836431753?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/114556995836431753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=114556995836431753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/114556995836431753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/114556995836431753'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2006/04/treo-666-my-company-gave-me-treo-thats.html' title='Treo == 666'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-114011391851413612</id><published>2006-02-16T10:01:00.000-08:00</published><updated>2006-02-16T10:18:47.016-08:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;What I Would Like in a Technical Documentation Editor&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Motivation: I've begun writing an introduction to the Eiffel programming language. Being very constrained in how much time I can dedicate to this, I'm frustrated by the tedium of developing the text and the examples in parallel, and trying to keep the two in sync. It would be great if I could develop the code examples outside of the document and then integrate them into it seamlessly, or if I could develop the code in the document and then have the examples automatically become test programs, or even better, go both ways.&lt;br /&gt;&lt;br /&gt;It should support the evolution of the code as I write the book, and the evolution of the examples as the code progresses through the book.&lt;br /&gt;&lt;br /&gt;In some ways, this like literate programming, but goes deeper, since I want to iterate over the examples and refine them.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Ease of use -- of course&lt;/li&gt;&lt;li&gt;The ability to extract entire programs from the document and automatically compile and test them.&lt;/li&gt;&lt;li&gt;Cohesion of code fragments. When a fragment is repeated in different sections, every place that fragment is referenced is properly updated. In other words, rather than the code itself, what's in the document is a reference to the code that gets expanded appropriate for display purposes?&lt;/li&gt;&lt;li&gt;Appropriate styling of code. Reserved words should be one format, regular code another, comments italicized, etc.&lt;/li&gt;&lt;li&gt;Wiki-like reference support. In addition to styling the text, I'd like the reserved words to become links to documentation that explains them, or explains the programming construct(s) that use them, or both.&lt;/li&gt;&lt;li&gt;The Wiki-like references can go deeper. When the text makes a reference to a concept like "Boolean expression" then the text should automatically become a reference to the explanation or sidebar about boolean expressions.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;In other words, I would like an editing tool that can read my mind, is extremely efficient for generating intertwined code and documents, that makes optimum use of the hypertext capabilities of electronic publishing, and can then coerce documents and code into a format that's completely acceptable for printing.&lt;/p&gt;&lt;p&gt;The tool (or suite of tools) should automatically verify the integrity of the document in parts and as a whole. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-114011391851413612?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/114011391851413612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=114011391851413612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/114011391851413612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/114011391851413612'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2006/02/what-i-would-like-in-technical.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-113108672639000628</id><published>2005-11-03T22:15:00.000-08:00</published><updated>2010-02-21T20:03:49.317-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;Welcome to China!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We arrived at Dalian (a large harbor city close to Beijing) on a cruise ship in late one evening in October, 2005. Berthed next to us is a barge unloading scrap metal. A huge claw descends into its hold, pulls out a load and the drops it on a large pile with a horrendous clatter.&lt;br /&gt;&lt;br /&gt;Across the dock from us stands a squalid, three story building in desperate need of repair. Weeds sprout from cracks on the trash-strewn roof. Raw brick and mortar stand exposed where the plaster has fallen away. Rust stains weep down the walls.&lt;br /&gt;&lt;br /&gt;Below us handful of Chinese soldiers patrol the dock the gangway. They stand alertly despite the late hour, the cold, and the dim lighting.&lt;br /&gt;&lt;br /&gt;Somone familiar with mainland China says that our captain must not have properly bribed the inspectors with food, wine and red bags. But who can blame him? To get into Japan or Korea, only three customs inspectors came aboard. Since China has many more people, they apparently also have many more inspectors; they sent thirty. It was a little humorous watching them tour the ship. They looked more like tourists than the passengers. So they had to eat at the buffet line, and didn't get any free hootch, and to show their displeasure we had to dock at this garden spot instead of the much nicer berth at another pier. Maybe the captain would have hospitably received a small delegation; hosting a busload would be off-putting.&lt;br /&gt;&lt;br /&gt;As I watched the guards mill about and the barge being unloaded, a shiny white car raced down the dock and close to the gangway. "Ooh, someone important has arrived."&lt;br /&gt;&lt;br /&gt;No one got out for a while, then the driver emerged. He was here to pick up someone important, not drop them off. He paced the length of the ship. He didn't see the passengers watching him from above (cruise ships are pretty tall). As he drew closer to the ship, he boosted up on tippy toe and tried to peek in through the lower portholes. "What's the pervert looking at?" I asked, &lt;span style="font-style: italic;"&gt;sotto voce&lt;/span&gt;. My fellow passengers laughed. The driver noticed us and wandered away from our ship.&lt;br /&gt;&lt;br /&gt;Another passenger asked why they needed soldiers on the dock. "They are concerned that we may try to sneak off the ship and illegally migrate to this Worker's Paradise."&lt;br /&gt;&lt;br /&gt;Before disembarking I had to fill out a health questionnare (have you ever been treated for psychosis? Have you ever been diagnosed with a venereal disease?), and when I handed the form over to those kind and caring Chinese officials, they demonstrated their concern for my health by taking my temperature.&lt;br /&gt;&lt;br /&gt;To take our temperatures, they used a little thermal scanner waved over the right thumb. I'm left handed, and was corrected when I offered the wrong thumb. Maybe these scanners are more accurate with right thumbs than left? I wondered what would happen if I clutched a bit of ice in my hand before getting scanned. "This fellow can't go ashore. He's dead!"&lt;br /&gt;&lt;br /&gt;Of course, once you get past the officials and the ugly dockside architecture, the city is quite nice. And I have to say, all the passengers I saw and talked to took the whole thing very much in stride. It's almost as if they felt sorry for these poor benighted Chinese officials, stooping to such silly behavior. &lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-113108672639000628?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/113108672639000628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=113108672639000628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/113108672639000628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/113108672639000628'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2005/11/welcome-to-china-we-arrived-at-dalian.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-112890173427249781</id><published>2005-10-09T16:48:00.000-07:00</published><updated>2005-10-09T16:49:08.933-07:00</updated><title type='text'></title><content type='html'>Today I have developed a new branch of mathematics related to set theory. I call it infinite transgressions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-112890173427249781?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/112890173427249781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=112890173427249781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/112890173427249781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/112890173427249781'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2005/10/today-i-have-developed-new-branch-of.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-111394658958836920</id><published>2005-04-19T14:24:00.000-07:00</published><updated>2009-04-14T19:44:35.592-07:00</updated><title type='text'>The California Real Estate Market</title><content type='html'>(I originally wrote this post in 2006. We've hit the major correction I mentioned in the article, but I think many of these issues are still relevant, especially in highly&lt;br /&gt;&lt;br /&gt;I moved to the Bay Area about a year and a half ago, and I've been actively searching for a new home for several months. I believe this real estate market has a single, unwritten rule:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;strong&gt;Rule #1: &lt;em&gt;Screw the Buyer&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt;I've seen what must be hundreds of houses and I've talked with dozens of real estate agents. I finally found one broker who was willing to work with us as an agent's buyer for a flat fee, on the premise that my wife and I would do all the legwork. He'd only be involved in writing offer letters and any final contract negotiation. This was perhaps one of the smartest moves we could have made.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;Here's how buyers get screwed in this market.&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;1) Your agent doesn't &lt;em&gt;really &lt;/em&gt;represent your best interests. Buyers' agents are paid a percentage of the gross. They have a strong incentive to get the deal done as quickly as possible, not to get you the lowest possible price on a house. We've had agents pressure us to make offers way above asking "to be sure we got in while we could". In one case we backed off from a deal where the agent tried to strong-arm us into increasing a good offer by another $50,000. Angry, we walked away. The house eventually sold for $50,000 &lt;span style="font-style: italic;"&gt;less&lt;/span&gt; than what we'd originally offered.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;2) Both agents can withhold and distort price information. A free market is based on the free exchange of information, or at least I thought so. If real estate is a free market, then as a potential buyer, shouldn't I be allowed to know what other bids have been placed on a house, and the amount of those bids? Apparently not. In fact, I was told by one seller's agent that it's unethical to provide this information. Less profitable perhaps, but unethical?&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;3) The press pumps up buyer's frenzy. Reading the papers here, you'd think every house you walk into is going to be a multiple bid deathmatch, with the biggest wallet winning. Horror stories of twenty offers and final prices 30% above asking abound. Yet on the ground, this doesn't happen all that often, and there are certain segments of the market that are soft.&lt;br /&gt;&lt;br /&gt;4) The construction cost here runs $100 to $200 per square foot. This is greater than the &lt;span style="font-style: italic;"&gt;retail &lt;/span&gt;cost per-square-foot of many other regions. Labor costs may be a bit higher, as well as insurance and permits, but &lt;span style="font-style: italic;"&gt;that &lt;/span&gt;much more expensive?&lt;br /&gt;&lt;br /&gt;4) The state and communities of California use zoning laws and restrictive ordinances to help keep prices high. Land is relatively scarce, but zoning forces houses to be single occupancy, and to be below a certain ratio of house to lot size. So if a decent sized lot costs $600K, the builder has an incentive to put up the largest single family home he can and sell it for $1.3 million to maximize his profit. Changing the zoning laws would reduce sprawl and increase available housing, but that would negatively impact real estate values. Can't have that.&lt;br /&gt;&lt;br /&gt;Here the tax rate on a home is based on the last purchase price. The higher the price, the higher the tax revenues. In fact, unless I get very lucky when I finally do buy a home I'll be paying more in property taxes than I will be paying in state income taxes.&lt;/div&gt;&lt;div align="left"&gt; &lt;/div&gt;&lt;div align="left"&gt;&lt;strong&gt;&lt;br /&gt;Real Estate Combat&lt;/strong&gt;&lt;/div&gt;&lt;div align="left"&gt; &lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;Even so, there are techniques that you can apply to buying in the California real estate market that will improve your odds.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt; &lt;/div&gt;&lt;div align="left"&gt;1) Don't panic. This is especially hard to do when prices are jumping up every month, and real estate agents pressure you to close a deal.&lt;br /&gt;&lt;br /&gt;2) Don't be afraid of renting. Relatively speaking, it's so much cheaper to rent than it is to own, the tax savings of a mortgage are easily offset. (I've long thought those tax savings are overrated anyway.)&lt;br /&gt;&lt;br /&gt;3) Don't go for bogus loan packages. Zero percent financing and ARMs are time bombs, and it's the historic popularity of those packages that have the real estate bears convinced that the market will go through a major correction when all those mortgage bombs go off.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;4) Study the market intensively. With the amount of money involved in buying real estate (especially California real estate) people just can't be trusted. Network with other people who know the market, and get multiple opinions. We've gotten some great advice from one couple who have madea career of buying old homes, fixing and reselling them (and who weren't trying to sell to us.)&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-111394658958836920?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/111394658958836920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=111394658958836920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/111394658958836920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/111394658958836920'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2005/04/california-real-estate-market-i-moved.html' title='The California Real Estate Market'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-110209826673528854</id><published>2004-12-03T10:18:00.000-08:00</published><updated>2005-09-10T00:48:16.866-07:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;The Sig From Hell &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Yesterday I received what I thought was a social email untile I came to the following signature:&lt;br /&gt;&lt;blockquote&gt;This document, and any attachments, may contain confidential and proprietary information of Really Anal Inc (RA). Any unauthorized dissemination or copying is strictly prohibited. If you are not the intended recipient, please destroy or return this document without reading or copying it, and notify us immediately. RA will protect its intellectual property rights to the maximum extent possible under law.&lt;/blockquote&gt;I'm glad I was the intended recipient, 'cause the last time I got a sig like that when I wasn't supposed to, it sure screwed up my paper shredder when I ran my CRT through it.&lt;br /&gt;&lt;br /&gt;I'm better prepared now. Flat panel display and big honking industrial shredder. Far better to do that than to risk prison for reading an email.&lt;br /&gt;&lt;br /&gt;I'm still wondering how I'm supposed to avoid reading the email when the sig's all the way at the bottom. Perhaps I should just delete all the emails that come from these companies, just to be on the safe side.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-110209826673528854?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/110209826673528854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=110209826673528854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/110209826673528854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/110209826673528854'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/12/sig-from-hell-yesterday-i-received.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-110072601137405663</id><published>2004-11-17T13:05:00.000-08:00</published><updated>2009-02-04T22:06:30.163-08:00</updated><title type='text'>The Cubicle of Death</title><content type='html'>If your manager doesn't understand why cubicles are a bad place to spend your working day, then they should have to spend a couple of weeks in a Cubicle of Death. I found one when I was contracting for a mid-sized company. I thank the fates that I was only there for a few weeks.&lt;br /&gt;&lt;br /&gt;The biggest problem is noise. The cube neighbors nattered endlessly about incredibly inane topics. When they're not talking, they liked to eat crunchy, high decibel foods like corn chips and carrots.&lt;br /&gt;&lt;br /&gt;Very little of that nattering relates directly to work. It's about the dead bird in the driveway, or the pictures on the latest tasteless Internet site, the email joke of the day, and so on. It's best if they use a lot of obscenities. It shows they really mean what they say, even if what they say has little meaning.&lt;br /&gt;&lt;br /&gt;If they need to talk on the telephone, they'll do so loudly. They don't really need to talk on the telephone, but their day is somehow unfulfilled if they don't. There is a direct correlation between the volume of their voice, and the degree to which the phone conversation does not relate to work. If they are talking about their hemorrhoids, they'll be practically shouting.&lt;br /&gt;&lt;br /&gt;After noise comes the cramped, artificial conditions. No natural lighting. Windows were reserved for second-tier managers. Windows that open were reserved for the topmost executives. The furniture would be utilitarian if it was in good repair, but drawers are missing, and the ergonomic chair must have been designed for some other species.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-110072601137405663?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/110072601137405663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=110072601137405663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/110072601137405663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/110072601137405663'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/11/cubicle-of-death-if-your-manager.html' title='The Cubicle of Death'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-109830124488407792</id><published>2004-10-20T13:39:00.000-07:00</published><updated>2004-10-20T12:42:36.170-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;The Libertarian Party and Big Business&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A friend sent me the following link:&lt;br /&gt;&lt;a href="http://www.reason.com/0411/fe.dc.whos.shtml"&gt;http://www.reason.com/0411/fe.dc.whos.shtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I read through it and saw all the Libertarian support, and then went back to the Libertarian site (not for the first time), and I'm left with the following quandary.&lt;br /&gt;&lt;br /&gt;The Libertarians seem to believe that the government never has the best interests of the people in mind, or if it does, it'll screw it up somehow and cause more harm than good, but that exactly the opposite is true for businesses. &lt;br /&gt;&lt;br /&gt;Offhand, it's hard for me to believe that the likes of say, Wal-Mart, Enron, IBM, Worldcom, Monsanto, etc, has the best interests of their employees, customers and neighbors in mind at all times, and even when they don't, they'll cause more good than harm.&lt;br /&gt;&lt;br /&gt;Or to put it another way, for me the Libertarian Party would have more buy-in if they took the same attitude they have towards Big Government and applied it to Big Business.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-109830124488407792?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/109830124488407792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=109830124488407792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/109830124488407792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/109830124488407792'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/10/libertarian-party-and-big-business.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-109538090350604512</id><published>2004-09-16T17:06:00.000-07:00</published><updated>2008-03-25T22:05:52.035-07:00</updated><title type='text'>Silly Ideas</title><content type='html'>"Today the People's Republic of China announced that they are giving up Mandarin in favor of pig latin."&lt;br /&gt;&lt;br /&gt;Is there a way for an encryption algorithm to simultaneously compress the data?&lt;br /&gt;&lt;br /&gt;Turn signals on shopping carts. Oh you laugh, but try dealing with a crowded Whole Foods packed with the same SUV driving idiots that makes life on the freeways so interesting. Ah never mind, they're still on their cell phones and sipping their lattes and can barely move down the aisle much less operate controls on a shopping cart.&lt;br /&gt;&lt;br /&gt;A game based on ant ecology, but with hardware: little robots that can be programmed with tactics and strategy.&lt;br /&gt;&lt;br /&gt;How would &lt;span style="font-style: italic;"&gt;Animal Farm &lt;/span&gt;sound if it were retold in terms of modern Free Market Globalization Capitalism? The CEO Pigs are more equal than others, obviously.&lt;br /&gt;&lt;br /&gt;Overheard statement: "I used to know what that stood for." What does that mean? Memory going? That the thing has changed, but the person doesn't know how? Or did the person find out that their perception was wrong? Or has the definition been shifted by some Fox News duckspeak propaganda?&lt;br /&gt;&lt;br /&gt;The Nation's Highest Court -- on acid. Well, it's interesting to ponder such a journey. If nothing else, I imagine some of the interrogation would take an interesting tone, and it might have an exciting impact on the rulings.&lt;br /&gt;&lt;br /&gt;What if subatomic particles were actually sapient, and quantum physics were a result of their psychology? Then one day, they all change their minds on what they want to do...&lt;br /&gt;&lt;br /&gt;A good wine; Pine Ridge Dijon Clove Chardonney '97&lt;br /&gt;&lt;br /&gt;Books recommended to me:&lt;br /&gt;"The Wine Country Cookbook" see www.alibris.com&lt;br /&gt;"Connections" by James Burke&lt;br /&gt;"Elements of Style"&lt;br /&gt;&lt;br /&gt;Odd Web Sites&lt;br /&gt;The Dead Sea Scroll pattern matcher: www.judaica.org&lt;br /&gt;&lt;br /&gt;Seen in a parking lot: a cheapo Honda, with pieces of whiteboard tacked over the bumper; bumper sticker of the day! One says "I wasn't using those civil liberties anyway."&lt;br /&gt;&lt;br /&gt;Q: Can you tell us your NPR station?&lt;br /&gt;A: Sorry. The Andromedans beam your program directly into my skull and they don't use call letters.&lt;br /&gt;&lt;br /&gt;Demons Among Us:&lt;br /&gt;Typical American scenes of gluttony, replacing people with grotesque beasts driving SUVs, drinking their lattes, playing with cell phones, and crushing anything small in their path. They're the more equal pigs of course.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-109538090350604512?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/109538090350604512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=109538090350604512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/109538090350604512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/109538090350604512'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/09/silly-ideas.html' title='Silly Ideas'/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-109327549425746732</id><published>2004-08-23T08:31:00.000-07:00</published><updated>2004-09-10T14:17:39.740-07:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;George W Bush Doesn't Waffle. Does He?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The other day I was looking for a recipe for waffles and lo and behold! Google took me to Johyn Kerry's campaign site. Another fine example of &lt;a href="http://www.webpronews.com/ebusiness/seo/wpn-4-20040726HowToAutomaticallyScoreBetteronSearchEngines.html"&gt;Google-bombing.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And certainly, the Right Wing has a lot to crow about in the waffling of Senator Kerry. President Bush has never displayed such despicable behavior. After all, once an opinion is formed, one should adhere to it through thick and thin, right and wrong, no matter how thin and wrong it may turn out to be.&lt;br /&gt;&lt;br /&gt;George W Bush certainly stood firm on his conviction that there should be no 9/11 comission. After all, why should we hand the enemies of the US a blueprint of the weaknesses that allowed the 9/11 attack in the first place?&lt;br /&gt;&lt;br /&gt;George W Bush has stood firm in his resolve that there &lt;em&gt;are&lt;/em&gt; Weapons of Mass Destruction in Iraq. Unless they're in Iran. Or is it North Korea?&lt;br /&gt;&lt;br /&gt;Then there's &lt;a href="http://www.abqtrib.com/archives/opinions04/090904_opinions_edthr.shtml"&gt;global warming&lt;/a&gt; where Bush has stood firm on his position (for most of his first term).&lt;br /&gt;&lt;br /&gt;Of course, when George W Bush first learned that his nation was under attack, he stood firm in his resolve to finish &lt;em&gt;Our Pet Goat.&lt;/em&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-109327549425746732?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/109327549425746732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=109327549425746732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/109327549425746732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/109327549425746732'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/08/george-w-bush-doesnt-waffle.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-109137765976938512</id><published>2004-08-01T09:17:00.000-07:00</published><updated>2004-10-20T12:46:00.353-07:00</updated><title type='text'></title><content type='html'>Jan 2005 -- Realizing how inefficient it was to inspect passenger's shoes at the airport, the airlines instituted a new policy: passengers are given comfortable slip-on booties to wear during the flight. Passenger shoes are placed in a container that is then X-rayed with the rest of the luggage.&lt;br /&gt;&lt;br /&gt;Aug 2005 -- Recent allegations that al Qaeda was perfecting a "coat bomb" that detonates when the jacket is briskly zipped up spurred the airlines into introducing a new security measure. Now along with their shoes, passengers are asked to change from their street clothes into a comfortable, one-piece jumpsuit to wear during the flight. Unfortunately, the only color that was available in large quantities was International Orange.&lt;br /&gt;&lt;br /&gt;Sept 2005 -- Did we say coat bomb? We meant "wig bomb". It turns out that thousands of metal detectors around the country can't detect significant amounts of metal carried above neck level, and that al Qaeda is perfecting a bomb that mimics a bouffant hair style, or could fit within a turban, a shaggy beard, a bowler hat, or other headdress. &lt;br /&gt;&lt;br /&gt;Now all airline passengers are requested to wear their hair short, or submit to random scalp and beard inspections. Barbers and styling salons are opening in airports all across the US for travellers in need of a quick shearing before boarding.&lt;br /&gt;&lt;br /&gt;And so on, until passengers boarding a plane look like so many convicts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-109137765976938512?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/109137765976938512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=109137765976938512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/109137765976938512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/109137765976938512'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/08/jan-2005-realizing-how-inefficient-it.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-108421458813310282</id><published>2004-05-10T11:38:00.000-07:00</published><updated>2004-05-10T11:43:08.133-07:00</updated><title type='text'></title><content type='html'>I'm now thinking of converting my wife's PC over to Linux. This is not a trivial decision. She depends heavily on her computer for her day to day work, especially for word processing and email. Yet I'm really tired of worrying about the security issues surrounding Windows. &lt;br /&gt;&lt;br /&gt;One good thing is that she's been using Netscape for email and most Web browsing for some time. So she wouldn't have to be retrained away from Outlook. (I once went through a deathmarch where my ISP attempted a forced migration to IE/Outlook, but that's another story.)&lt;br /&gt;&lt;br /&gt;Properly handled, my wife might not even notice the conversion. My child would be quite upset though, when all the computer games stopped working. But that might not be such a Bad Thing either.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-108421458813310282?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/108421458813310282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=108421458813310282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/108421458813310282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/108421458813310282'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/05/im-now-thinking-of-converting-my-wifes.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-108244782570016373</id><published>2004-04-20T01:33:00.000-07:00</published><updated>2004-10-20T12:50:54.040-07:00</updated><title type='text'></title><content type='html'>I recently read the novel &lt;em&gt;The Crazed&lt;/em&gt; by Ji Han. This is an amazing book. Ji Han has a way of building up the tension in a story. In &lt;em&gt;The Crazed&lt;/em&gt;, he outdoes himself. The book ends in a series of punches -- about the time you think he's done, he sends another roundhouse into you. &lt;br /&gt;&lt;br /&gt;I've traveled in China and mingled with the natives, and I think it's truly hard for people from the United States to comprehend just how invasive the Chinese government is. China is a country where rule of law doesn't apply to the upper class. Or at least, they're excused from its strictures much of the time.&lt;br /&gt;&lt;br /&gt;On one trip, I recall sitting in a nearly deserted hotel cafe, eating a bland breakfast. Three people entered from the far side, a middle-aged couple and their teenaged daughter. They were quite portly, unusual for China. They walked up to a server's station at that side of the restaurant. There they helped themselves to cups of coffee and whatever else was at the station. A waitress from my side of the restaurant approached them, but the husband shot her a warning look, and the waitress immediately retreated.&lt;br /&gt;&lt;br /&gt;For several minutes the family stood there, brazenly committing petty theft, yet apparently taking no joy in it. The expressions and tones they exchanged among themselves were nearly as ugly as the look the husband had given the waitress. &lt;br /&gt;&lt;br /&gt;Another time, I was walking with my wife through the streets of Wuhan. We stopped to ask directions from an elderly woman who was sitting on a chair on the sidewalk, eating noodles from a disposable bowl. The woman said she didn't know where we wanted to go, but she had a phone we could borrow. Well enough, but then she threw her bowl, half full of noodles, splat! onto the sidewalk, followed by the chopsticks. Shocked, I glanced around. A few feet away stood a very old woman, carrying a broom and dustpan, who stared dejectedly at the bowl and the noodles. My wife's eyes opened wide with surprise for a moment, then she calmly followed the noodle thrower.&lt;br /&gt;&lt;br /&gt;There was nothing atypical in either scene. These people lording it over others were members of the Communist Party. There was no one and nothing to prevent their petty abuse of their position over others, nothing to impose societal standards on them. These were also people low in the Party hierarchy.&lt;br /&gt;&lt;br /&gt;Scale up this behavior to a nation of over one billion people. Now you have corrupt officials who infect entire villages with HIV while extracting blood serum for pharmaceutical companies. Who have built the most polluted cities in the modern world. Who've committed innumerable offenses, small and large, on the people they govern. As long as this situation exists, I have to agree with Ji Han, that China is not a healthy nation, and its future is not going to be a pleasant one.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-108244782570016373?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/108244782570016373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/108244782570016373'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/04/i-recently-read-novel-crazed-by-ji-han.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-108112901152880862</id><published>2004-04-04T18:32:00.000-07:00</published><updated>2004-04-17T09:15:31.246-07:00</updated><title type='text'></title><content type='html'>There's a tedious aspect to blogging. It's yet one more drain on one's time, without any promise of gain or return. &lt;br /&gt;&lt;br /&gt;Unless you get lucky and cover something like a war, obtain a mass following, and end up with a lucrative media contract.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-108112901152880862?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/108112901152880862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=108112901152880862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/108112901152880862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/108112901152880862'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/04/theres-tedious-aspect-to-blogging.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6714242.post-108089325717213179</id><published>2004-04-02T00:06:00.000-08:00</published><updated>2004-04-17T09:20:39.076-07:00</updated><title type='text'></title><content type='html'>Okay, what is the best way to start a blog? I guess to just jump in and do it.&lt;br /&gt;&lt;br /&gt;I'm now working for an eclectic company in California's Bay Area. I've mixed feelings about having moved here, but I feel lucky to be employed and so on.&lt;br /&gt;&lt;br /&gt;I'm originally from Colorado, and my wife is from China. The United States is a cold society, and for whatever reason, it seems colder here than back in Colorado. Perhaps its the climate. Or perhaps its the big city influence. People seem busier, less pleasant and considerate.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6714242-108089325717213179?l=greg-c.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://greg-c.blogspot.com/feeds/108089325717213179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6714242&amp;postID=108089325717213179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/108089325717213179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6714242/posts/default/108089325717213179'/><link rel='alternate' type='text/html' href='http://greg-c.blogspot.com/2004/04/okay-what-is-best-way-to-start-blog-i.html' title=''/><author><name>Greg C</name><uri>http://www.blogger.com/profile/02796108665576855485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
