Daisyworld is a simplified model of the Gaia (Earth as organism) Hypothesis. A planet is populated by black daisies which absorb more solar radiation and white daisies which reflect it. Over time the temperature of the planet is regulated because the white daisies thrive when it’s warm. If it’s too hot the white population booms, increases the albedo of the planet and cools it down again. The black population then surges as the planet cools down and causes lower albedo and thus another round of warming.
This isn’t (directly) a post about global warming or race.
Replace the daisies with Democrats and Republicans. When Democrats are in power Republican voters are driven to the polls and vice versa. Homeostasis is guaranteed. Like daisyworld or the two-body problem it’s a toy system. It’s just never going to produce interesting results.
I think it’s time to break up the big parties (like the big parties should have broken up the big banks). Each party that achieves more than 20% of the popular vote is forced to split into two smaller parties. We have more than daisies. We have the three-body problem.
In addition to introducing some much needed chaos this could also turn the national political climate from us-vs-them to something more nuanced. Yes, there would still be left leaning and right leaning parties but they’d be forced to differentiate themselves through more than name calling and head stomping. We might have a political marketplace of ideas rather than affiliations.
I (used to) use Facebook for people I know well, LinkedIn for weaker ties and Twitter mostly for people I don’t know at all.
Over time though I’ve created identities on pretty much every network. With the increased interconnectedness of such sites when I stop using them I don’t stop posting…
I just discovered (in a spam filter) that someone was having a one sided conversation with me on Plaxo Pulse. I’m also actively posting (but not paying attention) on Buzz and goodness know how many other networks. I’m sure this inflates their active user count admirably but I’m now worried that undead me is being rude.
The social graph needs to work better in the other direction. Everything I post and comment on syndicates out like crazy but keeping track of responses just isn’t working.
The Thousand Autumns of Jacob de Zoet by David Mitchell
Stonking. It tells the tale of a Dutch clerk (de Zoet) at a trading post with the xenophobic Japan of 1799. It has the swashbuckling panache and anal research of Neal Stephenson's Baroque Cycle with just a dash of 'Big Trouble in Little China'. I hoped it was going to end with a 'to be continued...' but alas, Mitchell managed to wrap it up. Loved it.
- Man used hosepipe to punish son from BBC News - Home (That's not what I was expecting the hosepipe to be used for. I think the son got off lightly and the father is lucky not to be facing a hosepipe ban related death sentence.).
Think before you print? #etc#globalwarming#email Do you really imagine that I might care enough about your email to print it?
Updated on Saturday, October 1, 2022
Don’t tell me to think before printing your email.
Firstly, it’s not that special. You’re lucky if I’m reading it at all. Do you really think I want a copy for posterity? Am I going to have it framed? Let’s face it, your target audience is pre-Internet execs who have their secretaries print their emails out so they can dictate a reply back later.
Secondly, do you think your sanctimonious footer comes at no cost? Using the power of randomly Googling facts each bit takes 4.6µJ and 2.8 million emails are sent every second. Assuming a 60 character nag if everyone indulged that’s over 12kW of smugness. For approximately no pages of paper saved.
And don’t get me started on lawyers. We could probably stop global warming if they’d just skip the fifteen page footer explaining how it’s somehow your fault if they send their emails to the wrong address.
NurtureShock: New Thinking About Children by Po Bronson
I'm a big fan of Bronson and I became a father last Thursday, finishing this book the day after. NurtureShock is packed full of the latest research on child development from infants (I can't believe how happy I am that Baby Einstein doesn't work) to teenagers. If you're unwilling to vaccinate you can probably skip this, otherwise I'd say a must read for parents. But do check back - will update this review in eighteen years or so...
WAR by Sebastian Junger
WAR consists of Junger embedding with infantry trying to hold a valley in Afghanistan. He visits several times over the course of their deployment and gets caught up in a frightening amount of action. It's as much a book about dealing with this personally as it is about the soldiers he's there to cover. There's very little context about why the valley might be important, or about the war in general, just an account of the hard pointy end of warfare and the psychology of the troops before, during and after.
The New Rules of Marketing and PR: How to Use News Releases, Blogs, Podcasting, Viral Marketing and Online Media to Reach Buyers Directly by David Meerman Scott
It's a passionate manifesto for focusing on new media for marketing and PR, and a reasonable guide as to how to go about it. I found repeated chapters on the same topic to be a bit grating but if you're completely new to blogging I guess it could be helpful. Readers would be better served by including more on SEO basics and less on Second Life. Worth a read if you're not even blogging yet, probably a pass otherwise.
UAC shield icon in WPF #code#.net#c##wpf#uac#pinvoke How to add the correct UAC shield icon for each Windows version in .NET WPF using Win32 interop.
Updated on Sunday, May 2, 2021
WPF: When it's good it’s very, very good and when it’s bad it’s like sautéing your own eyeballs.
When you’re about to launch a process that will trigger an elevation prompt it’s polite to decorate it with the little UAC shield so the user knows what to expect. Of course there’s no such capability in WPF, and WPF controls have no handles so you can’t use SendMessage / BCM_SETSHIELD as with Windows Forms.
System.Drawing.SystemIcons.Shield seems promising, but it returns the wrong icon on Windows 7 (at least in .NET 4).
SHGetStockIconInfo will allow you to get the correct icon, but isn’t supported on Windows XP. I’ve just added the necessary interop signatures for SHGetStockIconInfo to pinvoke.net so I won’t duplicate that code here. Once you have the interop you can get the correct icon as a BitmapSource using the following code:
I've written an extension for BlogEngine.NET that automatically adds several different geographical tags to blog posts. I knocked this up for my Hikes blog. It might be useful for any blog where some of the posts are related to a real world location.
To get started download GeotagFromKML.zip (2.24 kb) and copy GeotagFromKML.cs to the App_Code\Extensions folder in your BlogEngine.NET instance.
The extension does two things. Firstly it looks for a link to a KML file when post is added or updated (it does this because each of my hike posts includes a Google Earth KML file for the hike). If a KML link is found then a paragraph is added to the post containing the longitude and latitude of the first coordinate in the KML file. The paragraph uses the Geo microformat. You can customize the text in settings for the extension. You can also regenerate by deleting the paragraph and saving the post.
The second function is to add ICBM and Geo Tag META tags when serving a post that contains the geotagged coordinates. You can take advantage of this without linking to a KML file, just include a location like this in your post:
Once you have geotagging up and running you might also want to add GeoURL to the list of ping services for your site.
Not much of a hike, but Twin Peaks is about as high as you can get in San Francisco and offers wonderful views on a clear day or night. Park here and then escape the throngs by walking up one or both of the peaks.
We often take guests from out of town up Twin Peaks. The occasion today was a first visit for a new native San Franciscan – Katherine Harper Ellison – seven days old on her first trip up to the top of Noe Peak.
.NET doesn’t support rebooting, logging off or shutting down your computer though a managed API. Searching for the best way to do this brings up three options: WMI, shutdown.exe and ExitWindowsEx.
I regard WMI as the last resort of the desperate. Weakly typed magic string juju.
Calling Process.Start(“shutdown.exe /r /t 0”) might work, but how would you know? And you’ve got the overheard of starting a new process just to accomplish a reboot. Lazy.
The best way to reboot is P/Invoke to ExitWindowsEx. Unfortunately there’s some really awful sample code out there which will either fail to do anything or mask any errors. I’ve included a drop-in class below that fixes these problems.
If you read all the way through the documentation for ExitWindowsEx you’ll find this:
To shut down or restart the system, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege. For more information, see Running with Special Privileges.
So just calling ExitWindowsEx won’t do anything. The sample code below adjusts the process token and then reboots (change the flags passed to ExitWindowsEx to shutdown instead, or to pass in a different reason). You’ll also get a Win32Exception if a failure occurs. Catch this, and you can tell the user that they need to reboot manually.
Packing for Mars: The Curious Science of Life in the Void by Mary Roach
It's Mary Roach, so no surprise that her book on space focused on how hard it is to take a crap (in space), how much engineering goes into disposing of crap (in space), and practical uses for crap on a Mars mission (including making it into radiation shielding tiles and reprocessing it into crap burgers). You'd think this book would be NASA's worst nightmare, but it's actually humanizing as well as fascinating. If you're a Roach fan you'll love it. If you haven't had the pleasure then this is a great place to start.
The Lion by Nelson DeMille
This sequel to The Lion's Game is disappointingly flat - Corey and Assad are fated to meet for a final confrontation and they do but after an initial sky diving sequence nothing really happens. There's very little tension, no plot, no struggles or setbacks for the hero or villain. DeMille really phoned this one in.
The Girl Who Kicked the Hornet's Nest (Millennium, #3) by Stieg Larsson
The second and third books could be just one (very) long book. Nest kicks off where Fire ended and slows the tempo down a bit, although not to the glacial pace of Tattoo. It's a fitting ending to the tale of Salandar, if a bit drawn out in the final sequence. Of course, a must read if you've ploughed through the first two.