Archive for December, 2008

Simplexity

1 Comment »

I just finished Simplexity. It was interesting (kept my attention), but it seemed to really lack a “point”. It began as though it was trying to attempt to break down what made things simple or complex; maybe even implied that it would shed light on why seemly simple things are really complex. In the end, it contained several interesting chapters about various topics and why those things were probably not as simple as you might have expected. This, in my experience, tends to frequently be the case. Over the years, I’ve sometimes been assigned systems to work on that seemed, upon assignment, would be the most boring possible system to work on. Almost inevitably, there was much more to the problem than you would ever have anticipated, and the system was more interesting than I would have guessed.

As an interesting collection various studies and what makes them more complex than you would have thought, it was a pretty good read. If you’re looking for a premise and a exposition that attempts to convince you of that premise, well, I’m not quite sure what the “premise” was, so I guess I wasn’t particularly convinced.


Storm

No Comments »

I just listened to this on Pharyngula and enjoyed it very much, so I thought I’d post it here.

I guess many of us secretly wish we could spontaneously launch such a delightful tirade against the “woo” that seems to get so little scrutiny but leaves us incredulous, not only that it’s just been said, but even more so, that it doesn’t get questioned.

(I just updated the youtube reference. It appears the original was pulled by the poster. If you enjoy it you might want to check out more of Tim Minchin. He has some very funny stuff (warning, it’s not all exactly “family (or work) friendly)”.


The Black Swan

No Comments »

Finished reading The Black Swan.  Very interesting.  I’m sure that many will find it unsatisfying.  His main point centers around the idea that much of what we try to “risk manage” is fundamentally unpredictable.  Maybe more precisely, that common methods of managing risk that are based upon the impact of significant outliers being diminishingly small.  This is based on an assumption that these things follow a gaussian distribution (i.e. a bell curve).  I think he makes a very compelling argument that there are some things that necessarily follow that type of distribution, while other things are not constrained that way (and in fact, by nature, will not follow such a distribution).   Examples of these other things include the success of books, the accumulation of riches, and many other things where getting off to a good start has a compounding effect (once a book gets a “best seller” label more people want to read it, which makes it a bigger seller, which, well, you get the idea).

Incredibly, he points out the risks that banks were taking while fooling themselves that their risk management was protecting them.  So in a way, he called the current situation ahead of time.  Don’t get too excited, his main point is that these things can’t be predicted.  He certainly didn’t predict what or when, only that they were at much more risk of a “black swan” (an unexpected, even unpredictable, event with extraordinary consequences) than they predicted.

So what is “unsatisfactory”?  If you’re looking for how to predict these Black Swans, the premise is that they are not predictable.

Funny, that’s also what made it rather satisfactory for me.  He doesn’t feel compelled to wrap things up nice and neat.  There’s a good deal of information about how we fool ourselves into believing that these things are predictable.  For example he points out how we always seem to be able to draw up a narrative explanation of why these things happened and why they make perfect sense (in hindsight of course).  So, if you’re like me and always amazed about how the pundits can explain, very logically, how these things happened, after the fact, but don’t ever predict them ahead of time, or if you’re constantly amazed at how there seems to be a complete absence of going back and evaluating the accuracy of pundit predictions, then you’ll probably enjoy the book.


Pharyngula: Soon, we’ll be reading your minds!

1 Comment »

I promise, not every post will be just a pointer to some other blog, but this is pretty incredible.  Researches used MRI scans and were able to “read” what the subject was seeing by looking at the MRI.

Pharyngula: Soon, we’ll be reading your minds!.


National Geographic accepts PhotoShop blunder

7 Comments »

Wow, I follow this pretty funny site called Photoshop Disasters.  There are very funny mistakes that people have made when trying to manipulate images in Photoshop.  This one, however, made it into a National Geographic competition (and was a Viewer’s Choice winner).  Some idiot tried to fake one of those shots where the sky is mirrored in the water, only he forgot that the mirrored sky should be…. uh…. mirrored!!!.

National Geographic contest Pohotshop blunder

National Geographic contest Pohotshop blunder

PhotoshopDisasters: National Geographic: Here’s Your Prize Cheaty McCheaterson.

(12-27-2008 update:  National Geographic has pulled the picture from the contest)


New Eagle Scout in Cargal clan

No Comments »

Well, it’s official. Christopher (our younger son) went for his Eagle board of review this evening and is now an Eagle Scout. It’s something of a tradition in our family. My father was an Eagle Scout. My brother and I are Eagle scouts, and now each of our sons are Eagle scouts (Christopher’s brother David made Eagle a couple of years ago).

Christopher’s project was to put up signs giving directions in Providence Canyon State Park here in Georgia. Apparently, they were much needed. When we met with the ranger to decide on sign locations, we were constantly stopped for directions. It was much the same the day we returned to put up signs. So, if you find yourself in Providence Canyon, and you know where you are… 🙂


About the title…

No Comments »

I had to think of something clever (and slightly ironic) for a blog name. How else can you be a hip blogger?

So if you feel like you’re stuck in a episode of a Bob Newhart sitcom, or “Green Acres” (well, with those references, I guess I just blew any pretense of being a cool, ironic, hip, young blogger), or maybe a Dilbert cartoon (yeah, that’s better), then you know a bit how I feel, and why I chose this title.

Incredulous; I find this is my reaction more and more often these days. There seems a constant stream of “things that make you go ‘huh?'”, so I find myself frequently incredulous of the things I see. I guess the question is, will I blog about them? I don’t really know. I suppose, if I don’t it will just leave you, the reader, what else..”incredulous” that I gave my blog this name and didn’t blog about those things. (How ironic would that be)


Thread aware IMAP message purge

No Comments »

I subscribe to a number of mailing lists, and use .mac (mobile.me) IMAP for my email. I don’t like to delete everything immediately (so I can follow back through a thread if needed). So, I started looking for a way with mac mail, to have message threads cleaned up after a period of time. Of course, I’d like that period of time to vary by mailbox.

Naturally, this doesn’t seem to be possible with the native capabilities of mac mail, so I started looking into scripting something for mac mail. After a bit of looking around, this seemed less than productive, and it dawned on me that Ruby has an IMAP library. So I set about building the following script to take care of keeping my mailboxes managed.

The idea is that any message in a thread with a message in the last X days (configurable by mailbox) will be retained. All other messages are deleted.

The code is not particularly optimized, and may take some time, particularly on the initial execution if you have a lot of history built up. I’m open to suggestions for improvement, so fire away.

WARNING: This code is tested with the mobile.me IMAP server for my personal needs. If you want to use it, please feel free, but you may have to modify it for your particular IMAP server. I make no warranty, implied, inferred, suggested, specific, or otherwise that it will suit your purposes, that it will not delete every last email you’ve ever received, etc. (but hey, it works for me, and it might save you some time in a similar task)

“cleanMail.rb”:

#!/usr/bin/ruby
require 'net/imap'
require 'date'
require 'time'
require 'yaml'

Config = Struct.new(:imapServer, :userid, :password, :purgePeriods)    

root = File.dirname($0) +File::SEPARATOR
$stderr = $stdout = File.new(root+"cleanup_#{Date.today}.log",'a')
config = YAML.load_file(root+'mailClean.yaml')

imap = Net::IMAP.new(config.imapServer)
imap.login(config.userid,config.password)

puts "executing : #{Time.now}"
config.purgePeriods.each do |mailbox,days|
  pDate = Date.today - days
  delCount = 0
  puts "====(#{mailbox}:purge before #{pDate})===="
  imap.select(mailbox)
  msns = imap.search(['NOT','NEW'],'US-ASCII')
  threads = {}
  sl = msns.slice!(0..200)
  while (sl.length>1)
    sl = [sl] if sl.class == 'Fixnum'
    data = imap.fetch(sl,['ENVELOPE'])
    data.each do |d|
      env = d.attr['ENVELOPE']
      next unless env.date
      subject =  env.subject || ''
      threadSubject = subject.sub(/^Re:s*/i,'')
      dt = Date.parse(env.date)
      if threads[threadSubject]
        t = threads[threadSubject]
        t[:latest] = dt if dt > t[:latest]
        t[:msns] << d.seqno
      else
        threads[threadSubject] = {:latest => dt,:msns =>[d.seqno]}
      end
    end
    sl = msns.slice!(0..200)
  end
  threads.each do |key,val|
    if val[:latest] < pDate
      puts "#{key} == #{val[:latest]} #{val[:msns].inspect}n"
      delCount += val[:msns].length
      imap.store(val[:msns],'+FLAGS',[:Deleted])
    end
  end
  puts "deleted #{delCount} messagesn"
  imap.expunge
end

imap.logout

You’ll need to have a “mailClean.yaml” file similar to the following in the same directory as the cleanMail.rb file. Of course, you’ll need to supply your own IMAP server name, user id, and password. And, the example mailboxes are mine, so you’ll need to tailor to your mailbox structure (just leave out mailboxes that you don’t want the script to manage). in the purgePeriods, just enter each IMAP mailbox you want to manage and the number of days after which a thread should should expire.

--- !ruby/struct:Config
imapServer: <your imap server>
password: <your password>
userid: <your userid>
purgePeriods:
  Tech: 30
  Mac/iTunes: 30
  Humor/Jokeroo: 360
  Drafts: 360
  Deals: 30
  Junk: 30
  Programming/Ruby/Heroku: 60
  Mac/MacWorld: 90
  CNET: 30
  Programming/Ruby/Sripting Leopard: 90
  Programming/Ruby/IronRuby: 90
  Programming/ANTLR: 60
  Humor/Clean Laffs: 30
  Humor/Bizarre Video: 30
  Humans: 30
  Programming/Ruby/Ruby on Rails: 90
  Programming/GWT: 30
  Mac/Apple: 360
  Lockergnome: 30
  Programming/Ruby/Rb Appscript: 30
  Troop 169: 120
  Programming/Ruby/Ruby Quiz: 30
  Programming/Ruby/Ruby Core: 90


The Black Swan

1 Comment »

I’m currently reading The Black Swan by Nassim Nicholas Taleb.
So far, it is quite interesting. Largely about how many things are unpredictable, despite our best attempts, after the fact, to identify why we should have predicted them. That’s a gross over-simplification I’m sure.
It is particularly interesting in light of the current economic disaster. Obviously, written before the events we are currently experiencing, he makes reference to previous troubled markets, and yet it seems even more applicable to what is currently going on.

 


Hello World

No Comments »

Well, here we go.  Who knows what I’ll blog about… mainly random stuff.
If you’re interested in following my blog, you should probably seek counseling for your condition


Edit translation
Machine translation (Google):
Loading...
Copy to editor
or Cancel