Sapolsky on toxo

Guided by Parasites: Toxoplasma Modified Humans (via boingboing and tobiastenney.com) .

After a few drinks, I love talking about the ramification of toxoplasmosis, particularily the possible effect on french national character discussed in the book Survival of the Sickest.

Eventlet: Asynchronous I/O for Grownups

Ted Dziuba sums up my feelings on eventlet.

More or less, it makes async less of a mindbending memory leaking headache.

Game theory management

Sitting here waiting for sixty billion libraries that compose tgext.geo to install and this gem pops up from @tenzochris: Rands In Repose: Gaming the System.

Something to try next time...

Sees candy

This summarizes my feelings on the subject of Tiger Woods better than I ever could have articulated myself.

Two Party!

Good stuff from xkcd that takes me back to what I thought was important when I was 12.

I favor approval voting or IRV chiefly because they mean we might get to bring back The Bull Moose party.

I second the emotion that we should bring back Bull Moose

Evolve

I'm a sucker for looking at the world of computing and software through the goggles of selective theory, so Paul's FOSS4G Keynote tickled all of my vestigial organs and unexploited spandrels. In the past, I have drunkenly compared the python web world to the Cambrian explosion and warned of the coming Permian Extinction to the annoyance of coders and geologist alike.

It was a timely talk for me. I just finished reading What is Life by science writer Dan Regis, author of The Great Mambo Chicken and the Transhuman Experience. It's a retrospective of sorts, named after a series of talks and a book by the infamous philosopher, physcist and cat lover Erwin Schrödinger in which he notably predicts that whatever life spring up from would be described in a "aperiodic crystal". Life is in some form a projection of information, in other words, the expression of a code.

Regis does nice job of bringing us from Schrödinger's time to the present where science is trying to create it's own forms of life while having alot of tension over what life is exactly. The basics are roughly agreed upon. Some rough combination of metabolism and replication can, from our humble monkey perspective, be called life.

Not insignificantly, we use the language of biology frequently when discussing software. Projects are growing and thriving or ill and dying. We talk about the software lifecycle. The code is the interesting thing though. Inert by itself, not even an exciting read except for those who really love it, it can be executed and thereby have another quality by which the environment can enact selection. Selection is pretty easy to understand here. It's people picking what works, what feels right, what makes them less anxious or more in control, what makes them feel part of the group, hopefully what makes them succeed over some other group of people selecting more poorly.

Paul states that the life and death of software is bound to programmer attention, and indeed, open source software has in the last 20 years shown that a lot of software can happen without the organs of business. The internet (efficient text base mode of communication) has provided the information sustenance for this explosion. Knowledge, and the ability to share it enables people to create code faster than ever before, creating a world of options for the consumers of code.

But I'd beg to amend the statement about attention a bit. Without programmers, there is no code, but without users (or more specifically usecases), code never has a reason to replicate or be compiled and executed (what I would call the software equivalent of metabolism). Inevitably, user interest will drive coder attention, either because the user and the coder are one and the same, or because users have something to offer the coder: data, money, wufi, whatever.

There is a transactional tension between the symbiotic relationship of coders and users. Virus writers have a complete disdain for the well being users, as do sometimes software vendors who would prefer to sell the same un-needed crap rather than improve (hello proprietary lockins). On the other end of the spectrum, good software is an indication of an equilibrium between sustaining developer attention and serving user's needs.

Much like punctuated equilibrium in the biological world, selection in software has it's own geography. Sometimes this is encapsulated by human organization like the corporation or the office or my laptop, but the landscape has started to grow it's own micro-climes around code transmission and replication itself. Sometime this are like speciation or geographic isolation (I can't import fortran into my python, but if I try really hard, I can do ruby on the appengine). Licensing makes software more or less friendly to conjugation. Virtual machines although for the propagation of code memes into arenas previously impossible as evidenced by the minature explosion of language new and old on the java vm: jython, jruby, clojure, scala and javascript to name a few.

Sometime factor are more akin to the primordial swamp. Systems like bitbucket and github that marry basic communication services with source control management, packaging, and hosting act like a virulent seed bank where ideas can lay dormant until someone realizes their utility and endeavors to resurrect them. Due to the ease of writing new code (thanks dynamic languages), code archaelogy is not the venerable profession it once was, but the sheer amount of code being preserved today means that alot of the answers are probably already out there, or the spandrels for the next big thing are just waiting to be discovered.

Faith in the FOSS

As a synchronistic follow-up to Ian Bicking's introspection on FOSS culture and the developer in the world, XKCD apes what the cultural norms of Linux users mean for healthcare.

As my friend Spanktar once said about the plone collective, "If I'm just patient, someone will have already written it for me".

via Boing Boing

Hack this punk (getting back on the horse)

After a long hiatus, I'm getting to write some code at work... for a real project.

The mental muscles are a little atrophied, the focus is starting to come back, the mind rejecting new frameworks like the body ejects foreign particles. It's a little painful, but good. Moving from the playing with code in my spare time to banging it out again is an adjustment, but like rolfing, seems to be a good one.

For me, it's good to reading something bracing and cautionary at times like these to remind you that you too at any moment may already be total jackass.

Some time you cast your net into the interwebs and get nothing but sweet sweet salty bilious wisdom and weirdness.

These pieces are reminders that for all the cerebral blather, coding is a social, emotional activity rooted deep in the lizard brain, steeped in fear, pain, loathing, hunger, lust, envy and other nasty animal tendencies. To cop larry wall, hubris, impatient, and laziness are virtues. Yes it can be elegant and artistic and creative, but that's true of almost any human activity from painting to accounting to shining shoes if one truly engages, so it's not worth dwelling on creative flair as an inherent quality of the activity itself.

A lot of the people who do this are weird, and the weirder they are, usually the more I love them. They aren't artist weird where they spend endless brain cycles rationalizing why what they do has value. They are weird because they find humor in something that they could never in a million years turn into a joke that would get them laid at a bar. This is the weirdness of experience gone right..

I think what Chris and Dzoba are railing about lack of experience which usually leads to more experience than the pan can handle, or alot of standing around and sucking. Zed Shaw is railing against the lack of experience that misses the point of the experience.

What got me thinking about this is I went on a bike ride tonight with my friend who's day job consists giving mice cocaine and seeing what they do when subjected to auditory and visual "stimulation". He calls it researching "experience seeking behavior", I call it hampster disco, but he spends alot of time thinking about why mice will continue to do something over and over that is not particularly good for them.

As he describes it, the brain, similar to a version control system, observes and commits to memory lots of paths or patterns of activity and stimullus. When a path leads to a reward, the brain merges that path into the corpus of experience that informs decision making. These "patches" become more and more reinforced the more time a pattern leads to a particular reward.

In times of extreme environmental stress, a selective benefit arises from quickly strengthening pathways that lead to something that fulfills a need. It allows one to adapt, break the normal routine, venture out of the cave, find food and get a nice little chemical reward in the brain. This works great when the path that leads to a reward is connected to something actually needed (food, water, shelter), but not so productive if the reward is given randomly (recreational substance abuse, shiny new frameworks, television, internet porn).

For example drugs, this means the brain of a formally class conscious well-to-do white guy can suddenly find it very rewarding to smoke crack all day with a social circle of people he previously never thought worth noticing. Random stimulus is truly an equalizer.

Back to the commandline. Code is driven by little rewards... passing tests, compiling code, working code, happy clients, fat paychecks, launch parties, open source love-ins, the joy of learning, and so on. Now more than ever thanks to the internet and open source, you can engage in the joys of tribalism and good old fashioned public displays of machismo. Maybe if we are lucky, we can get internet famous and speak at conferences and people will use our words like pointy sticks as they argue with each over things that don't matter to anyone. Or if we are really lucky, our code will stick around long enough hordes will curse our names over the pain it's inflicted upon them.

In the first version of the camel book to cover object oriented Perl, Wall inverts his virtues and talks about false laziness, false hubris, and false impatience (pointing a finger at abstraction). The gist is that at some point, the tasty breadcrumb trail can lead one into not being lazy enough, impatient enough and proud enough of oneself just to do the thing that works and keep moving. Suddenly you are trying to scale to infinity with no users or working code.

Coming out of a hiatus and I'm seeing where my cues are off in this regard. This piece from Chris Wanstrath where he tells rubycon to turn off the blogovision and get back to hacking things definitely struck a chord. Consuming lots of information does not make one smarter, but applying information regularly does. Time to get back into practice.

Anyway, it's nice to be writing code again.

Self-definition

Just finished reading Ian Bicking's Djangcon keynote. The anecdote about nurses popped out at me (my wife is nurse). At their best, both nurses and those who participate in open source put a premium on compassion and competence. In action, they are fundamentally about taking the time to required to exercise those values.

The other bit that struck me is that open source tends to work best in a modular fashion, decentralized, scaling up and down slightly depending on needs, jettisoning what no longer works. Projects come and go as they are needed. Sometimes code and ideas are recycled, sometimes not, but the past is rarely mourned beyond a few pints.

Most things in the industrialized world work the opposite, and the past 18 months have shown the issues with our institutional pillars. They depend on central control, and when they fail, they have a catastrophic effect, and require centralized attention, often at the expense of those that had nothing to do with the failure. Even if they do not fail, they often abstract the notion of those they serve to the point of eliminating compassion and competence. Look at banking, agribusiness, health care, government, and so on. Examples are plentiful.

The lesson here is that nothing in open source is ever too big to fail and that is a good thing. Open source often acts as a much freer market because participation in, adoption and support of open source are based on propositions of transparent and pure value rather than the abstraction of fiduciary value. If the value of the investment of time and labor is not compelling, projects fail or evolve. Failure happens all the time, and is an important defining and selective force. Failing fast and often means bad bets do not turn into pillars of dependency.

What allows this system of value to work has a lot to do with environment. Compassion and competence require time, money, and communication to create a culture. Without the internet and the wealth of the economy around it, open source would be relatively dormant as a movement. The internet facilitates communication and organization globally for a low cost. Those who participate have the time and means to add value to the system, as well as a shared understanding of the value proposition. The actors have more to benefit from sharing and collaboration than by not and understand this fact. Plus the cost of entry is very low, if you can afford a computer and internet connection.

How does one create such an environment though? The juggernaut of a centralized system will be composed of actors who have a lot to lose if things change radically. The challenge is how to grow more modular, transparent, value based environments that are better connected to the actual needs of providers and consumers from within these existing centrally skewed ecosystems.

Jimmy Carter, secret badass

In the macho world politics where toughness is posturing on an aircraft carrier with a sock stuffed in your flightsuit jock strap, it nice see someone formerly of that world show some real cojones.

In essay Losing my religion for equality he takes on his church and every other religion that has ever employed doctrine and dogma to keep women down. A well argued piece about the misuse of religion for the most backwards of power consolidation maneuvers.

And who else would shoot your cat and be big enough a man to leave an heartfelt apology note?