Thursday, October 31, 2013

Book Review: Ishmael

Ishmael Full Text Link

Modern man's original sin, which nettles me each time I fly home, or drive further than is essentially necessary:
"You’re captives of a civilizational system that more or less compels you to go on destroying the world in order to live."
This book held sadness for me but some wise lessons and hope.
   It asks what myths our culture has.  A myth doesn't have to be completely fantastical to be a myth, just a story of the world that captures culture's beliefs and values.  Some civilized myths I see are a tidy linear notion of progress, a belief in the exceptionalism, superiority, and unity of any nation, and the idea that we all have access to the same opportunities and gifts in life.  The core myth that Ishmael examines is the evil human conception that the world is made for us; that the natural world has value solely as its useful or enjoyable to people.  As Ishmael points out, this belief has had severe consequences in an ecological instant.  Like any belief or model that diverges too far from reality, it must eventually and painfully deflate.

I think the implicit belief that the world exists for our use and convenience does seem to be reflected in many of our actions, and we may be heading towards a point when that belief could collapse.  Human Appropriation of the Products of Photosynthesis estimates that our species is consuming or displacing 40% of the biomass of the planet.  This is such a large percentage where we can no longer count on the rest of the system to stabilize itself and our contributions to the load; we can easily throw the entire system out of balance.

Another critical message of Ishmael is that our window of time of recorded history is a minuscule slice of time on evolutionary, planetary, and cosmic scope.  Events we think of as ancient history are a few hundreds of generations ago; stories enacted by creatures so genetically near to us as to be indistinguishable.  Our few thousand years of experience of abjuring our place in nature and trying to chart our own history weigh against the few million years of stability achieved by mankind prior to that, and the hundreds of millions of years organized life has survived and thrived prior to that.  If that stability seems threatened now, our lack of perspective, alienation and self-centered values are to blame.

Many of creation myths we are familiar the place man somewhere between gods and animals, showing our powerful tendencies to place ourselves above the herd.  Accepting that instead we are short-lived conscious animals produced after epochs of selection and made of the same cosmic muck as the rest of the world actually feels pretty liberating.

It's not too late to redeem ourselves, though the world is churning forward recklessly fast.  We can accept our place in natural life as a fascinating and unusually social twig on the great evolutionary tree of life hundreds of millions of years old, and recognize that though we live and die in a few score trips around the sun, this planet or others can play host to thriving life for a few billion years.  We are not the final culmination of natural or intelligent life (nor is evolution the kind of optimization process that produces a final culmination) but we are clever, powerful and perhaps wise enough to act as stewards, not masters, of this bequeathment of life, for a time.

In terms of what forms our society might take to meet such ends I'm not sure.
How can we undo the hateful parts of the future we are barreling towards?  Still on my reading list,
Whole Earth Discipline proposes nuclear power and dense urbanism.  Population-wise we are likely already over our planets sustainable carrying capacity, so I think slowing or reversing that growth is essential.  I think much of the work to be done is social and spiritual as Gary Snyder suggests (http://forums.delphiforums.com/n/main.asp?webtag=overpopulation&ctx=&cacheTag=59-25&msg=1333.2); we need to undo fearful and compulsive thinking, both individually and collectively, to enable us to live in the world compassionately and without avarice.  Goal is that we may be able to demand less from the ecological web we are begrudgingly part of, without abandoning the knowledge, technology, or connectivity we have gained to date, so that we and untold generations to follow may live peaceful, prosperous, meaningful and fulfilled lives that our ancestors, foragers or farmers, would be proud of.

Footnote:
Ishmael spends a fair bit of time discussing the conflict between "Leavers" & "Takers", low-population foraging people and sedentary, domination-oriented agriculturalists.  One recent take I read about this conflict and transition (Coevolution of farming and private property during the early Holocene) which is discussed here:
http://lordoftheapes.blogspot.com/2013/06/agriculture-and-property.html talks about how the development of agriculture is closely tied to property rights; a farmer can gather in times of plenty and then not be compelled to share that surplus in times of famine.  Agriculture and property rights are a bit of a chicken-and-egg phenomenon, but they compose an evolutionarily stable strategy in simulation, which may, for moral and ecological better or worse, explain their dominating spread.

Saturday, October 26, 2013

Book Review: Topiary

Full text link:
http://dissidentvoice.org/wp-content/uploads/2012/11/Topiary.pdf

What a disturbing book!  Not a great classic, but a potentially powerful tale in our time.  Contrary to some reviewers I found this non-traditional parable readable, and what I understood I found disturbing.  Topiary is set in a nightmarish version of our own world and New York City in particular, where the technocratic engines of society (reduced from their familiar branding to singular titular entities: The Nation, The City, The University, Big Media, Tree of Knowledge Incorporated, The Network, The Infocracy) churn forward like a monstrous machine with no organic life left in them at all.

The identity of the protagonist resonated with me.  He is a younger man (and a bit of a hack in school, not a true artist) who worked at an ad agency (rather The Ad Agency!) producing pure talk and false images to incite desire. Lost and disillusioned by this work, he quits become Plantman, the maintainer of corporate flora.  His travels then take him through the offices and personalities of this nightmarish world, maintaining the few spots of life still found among the high rises where only money lives.  Though I have more hope for its value, I feel a bit lost and disillusioned in corporate knowledge work myself.  It sometimes runs contrary to the values and environment I held dear growing up, and those that people have lived with for a hundreds of thousands of years; perhaps I'm also meant to be a Plantman?

One of the issues I struggle with in my work (system software development) is separating out the accidental difficulties from the essential.  One item that stresses me greatly that seems almost entirely accidental is the working conditions; a cubicle to sit in in a nearly windowless building for roughly fixed hours per day.  Our buildings are interspersed with green walkways, and one can escape with a laptop to work outside the usual box, but I keenly feel the alienation and isolation from our ecosphere that Plantman mourns.

This novel is as a trip through our own contemporary society, particularly the elements perceived as admirable, powerful and influential, without the benefit of our myths, heroes and culture to cover the sharp edges.  Plantman is particularly critical of the role of media in both commercialism and nationalism.

With shame, I remember my attitudes as a younger man when America first invaded Iraq.  Even without television, I remember listening to radio coverage of our devastating opening bombardment (Shock and Awe?  What egotistical merda of a name is that?) with cheerful, tidy nationalistic pride.  Over the course of Topiary, The Nation wages a highly televised, one-sided The War with a Rogue Regime.  It blasts on prime-time in HD, and shows on giant televisions in the gym for employees to pump their body too.  There is little discussion about what weighty concern, grave necessity, or painful tortured moral cause led The Nation into war; it is nearly a media production to unite The Nation and The Citizens.

The crass, self-conscious use of artistic methods and expressions to incite desires and drive sales for private profit is a subject of intense criticism in Topiary.  Plantman's first soul-draining job is as a copy-writer.

As I see the world, we put a dangerous load of fragile ecosystems and non-renewable resources that may well doom us.  Buddhism and other traditions teach that one of the primary weaknesses of human nature is our predilection to desire that which we do not have; we always want more, more, more!  Even with little natural encouragement.  We also have a foolish proclivity to always seek novelty and fit images, roles, and groups that our presented to us.

To then dedicate the talents, energy, and effort of intelligent, driven people to exacerbate these natural weaknesses, spurring higher consumption and greater drain on our shared planetary resources, is irresponsible and unethical.  Consumeristic drives say that a product can balm some wound inside of us, can provide meaning, or makes us the people that we want to be.  In Topiary, Plantman's prime work as a copy-writer is EARN, a polished but completely crass ad campaign for a designer perfume that comports to be bottled sexual desire.  The cynical centerpiece is a print of a naturalistic wedding of unattainably beautiful beings entitled "EARN the moment.  Forever".

Many of cultural criticisms I've mentioned are well-worn to astute observers, but Topiary, aided by it's non-traditional syntax and narrative structure and dystopian subversion of modern life, relays them with a freshness and immersively disturbing quality that is like plunging your head into an ice-cold bucket and being held under unable to breathe.  The overriding arc of the book is that the frenzy, complexity, impersonal economics, and mechanization of modernity squeezes out the life in the world and in us.  Topiary highlights the scope of the changes we should make in how we live, the consequences each of us face for acting without caring or thinking, and the despair that could await us if we don't act to live our lives and change our world for the better.

Saturday, October 19, 2013

The Great Divorce Review



 I'm doubtful of literal supernatural truth to a Christian afterlife, but I thought that The Great Divorce was a thought-provoking exploration of the limits and traps of human nature, behavior and cognition.  In the same way that from a cosmic perspective, we live in a vast, profound,ancient and wonder-rich universe, but we spend much of our time bound in small human struggles and to tied to earthly pursuits and possessions, the shades in The Great Divorce each had their own ball & chain binding them to their condemned state; their own attachments preventing them from realizing salvation, each one a cautionary tale about cognitive, social and behavioral traps that keep us from realizing the greatness of the universe, and our belonging to it.
    I found the narrative structure of the story effective.  The structural similarity to Dante's Inferno, with the narrator finding himself without explanation in this strange land with his mentor, is a natural choice.  The manner in which the world around him has no immediate explanation, but all the people speculate about it to each other.  This evoked for me how we all find ourselves on earth, in a vast and complicated social and natural world with no obvious meaning, but we all search for such meaning and understanding together over our lives.  Their abrupt, contextualizing openings are similar as well:.  The Great Divorce starts  "I seemed to be standing in a busy queue by the side of a long, mean street"; Dante's Inferno "In the middle of the journey of our life, I came to myself, in a dark wood, where the direct way was lost."  These both are apt ways to begin dream-parables (what were you doing before you find yourself in a dream-world?) The contrast is that this is a tale based off a modern world much like our own.
    I found the  strange behavior of changing scales, time & dimensions in The Great Divorce evocative.  Hell/Purgatory is present but seems immaterial, and new streets and houses can be simply wished into existence.  There are few social ties or bonds of affection to hold people together and souls seem bitter and unpleasant, so the city sprawls and the world stretches on millions of miles almost empty, and curves in some odd way.  One of the residents uses a telescope to look across it, like the city itself is a cosmic sphere.
    Yet when the bus departs out of Hell/Purgatory, looking back what seemed to have been a vast chasm looks in retrospect to be a miniscule crack.  I thought (somewhat ironically) about Richard Dawkin's Middle World idea ; that we experience the universe as we do because our brain's are tuned for existence at certain scale, timespans, and energy levels, and we perceive time, scales, and energy levels with respect to that.  We can reason abstractly about behavior at other scales (especially using science and mathematics, tools that do not rely so heavily on our intuitions) but the conclusions about the universe we arrive at may "do violence to our common sense".  We might imagine that from an alien perspective, rather than "in the trenches", our own moral trajectory as individuals or a species might appear very differently.
    At the end of the story, before the narrator awakens, he has a flash of an illusion that what he is seeing is another perspective of mighty and vast immortal souls and ideals interacting with the finite and temporal chessboard of existence we inhabit; another slice of the intersection between the eternal and the everyday.  I feel a similar perplexity (that almost interferes with  my work and projects) when I try to understand how mathematical truths are derived from reality.  It's hard to imagine Platonic ideals existing beyond physical reality, but The Unreasonable Effectiveness of Mathematics in the Natural Sciences begs explanation to our minds.  This similarity may not have be foreign to Lewis's mind; in the Screwtape Letters he writes:
Above all, do not attempt to use science (I mean, the real sciences) as a defence against Christianity. They will positively encourage him to think about realities he can't touch and see
   Another idea I found evocative from The Great Divorce was that salvation or damnation were retrospective; if a soul arrived in heaven, time in Hell retrospectively became Purgatory, and earthly agony became glorious trials.  However, for souls stuck in Hell, even their prior pleasures or triumphs were poisoned and soured into their downfall.  I found traces of how happy older people have described earlier times of struggle in this metaphor.  The other secular idea it reminded me of is that selfish concerns that give us immediate temporal pleasure are ultimately shortsighted and unsatisfying.  In a glorious, mysterious universe without obvious anthropomorphic divinity and great doubt about the existence of individual immortal souls, a high aim we can hope for is to understand our own place and belonging to the cosmos and work to bring about a joyful future for other people, life-forms and intelligence who come after us and share the world with us, and savor our own brief time on the planet.  Even if immortal ideals don't independently exist in a Platonic sense, we can still strive towards them.  It's not a traditional after-life but it may be the best we got.

Tuesday, April 16, 2013

How to Be Useful

 

How to Be Useful is an interesting little book that recaps the highlights of success literature in the 20th century. I read it in parallel with Rework, which takes a very 21st century approach to business and work, and struck an interesting contract.  Some of Paul Graham's essays such as The Power of the Marginal also came into my mind as counter-arguments.  The initial snag of this book for me was the quirky cover and fetching title. How to Be Useful: A Beginner's Guide to Not Hating Work. Well, I consider myself a beginner, I certainly hope to be useful, and I definitely don't want to hate work, so this seemed like the book for me!

I had a wonderful and rich childhood and education (both of which prepared me well for software engineering) but I had little previous exposure to the office and the corporate institution, so this book was a helpful aggregate of others' hard-won (and occasionally gimmicky) thoughts on the subject. I also found relevant the experiences the author included from her own time in publishing, which seems to be far more ruthless and careerist than software, but similarly structured.

The structure of the book is interesting. The chapters follow a chronological progression in the time of the literature being examined. They also roughly follow a progression in the duration of employment at one position, from making striking first impressions to firing yourself in preparation for moving onwards and upwards.

The main resolution I took from the reading is that if you take how special and unique and interesting you are and shove it for a bit, and get busy to solving other people's problems and making their lives easier, professional success hopefully follows.
  • On Being a PoseurThis chapter makes a solid argument for it being morally sound and commendable to pursue a successful career, separate from base material desires, and to earnestly strive with all your capabilities, not just "hard work", for the things you want to achieve. It also criticizes the ironic detachment and disdain young and educated people sometimes have for professional life. Why try to act like you don't care about the things you care about? There isn't enough time for irony.
  • Dodging the Great Failure ArmyAn interesting chapter that focuses on Andrew Carnegie and the dawn of white-collar work. The bit that spoke to me the most was that while we are each multi-faceted and endlessly fascinating people, of great individual worth and virtue, you perhaps shouldn't be your uninhibited natural self in your professional position. To quote: "Forget yourself, he essentially said, and maybe try being somebody else a few hours a day. Maybe somebody better than you."
  • Party Tips for the Nouveau Riche
    The best ready advice from this chapter was that acting questions both makes you a better conversationalist and less overbearing to your co-workers, it's a good way to find your bearings in an organization.
  • On Near Universal Self-Absorption
    "Why talk about what we ant?  That is childish. Absurd.  Of course, you are interested in what you want.  You are eternally interested in it.  But no one else is."
  • The Master Mind
    This chapter discusses building a valuable circle of friends.  "Once you've found people with whom you can openly, sincerely discuss what you wish for, you spend less time dwelling on the pedestrian events of the day, or the smell of your cubicle neighbor's tuna sandwiches, and more time talking about things you actually want to bring into existence."
  • Checking Yourself at the Door
    On the advantages of dressing in upper-middle class styles: "While everyone else wrung their hands about how bad, how very sad, it was that all America was conforming, these thinkers started toying with the notion that blending in actually has its advantages.  Indeed, it has a kind of subversive power."
  • When It's Not Just About You
    Anecdote: "The downside to meritocracy is that those born on third base think they hit a triple, and everyone else is subject to self-loathing."
  • Interlude (Why Most Everything from the 1970's Doesn't Help)
    Shortly: everything written then presumed people were dumb.  And presuming that your audience is dumb never made for a quality product.
  • Self-Deprecation
    This chapter advertises self-deprecation as a useful tactic, especially for surviving "So where did you go to school" type conversations.  I like to think that this isn't necessary in 2013, but it may be.
  • On DefenseOne of my goals in life is to remain fearless enough to admit my errors freely and move to correct them directly.  Intellectual honesty above much else.  This chapter advertises a similar ethic.
  • The Uses of No
    As a software engineer, I love the concept of "firing yourself".  I think that the highest professional goal a programmer should shoot for in a given position is writing such excellent software, tests, tooling, and documentation that you can simply walk away from your duties and have them keep themselves running.  How much more courageous and less petty than making yourself necessary.

Sunday, January 15, 2012

YTinstant

I made a clone of ytistant to learn more about client side scripting.

You can play with it here or get the source here

Not sure how permanent these heroku links are...

Tuesday, May 10, 2011

Google I/O

On the train back to Philadelphia from the Google I/O Extended
conference in NYC. Props to Google NYC for hosting us for the streaming session and showing us around.

The Google NYC offices in the Port Authority building in Chelsea are
neat. I'm a sucker for the converted warehouse look, so it appealed to
me straight away. They still had alot of hustle and bustle getting the
space put together and remodeled, and expanded into new parts of the
building. One architectural feature I found funny was that their main
common spaces/auditoriums/rec rooms were located in the loading docks
for their (still working) truck elevators.



There was a big focus on Android graphics and HTML5 capabilities at the
sessions they showed us, which was really encouraging. I'm curious
about the capabilities of their RenderScript. It seems like the
documentation and examples are rather sparse, but it is some kind of
OpenGL wrapper + CUDA approximation that allows for high-performance
rendering or compute (simulation, encoding/decoding) that can run on
either the GPU or CPU as is appropriate.

Rather than Dalvik, then use an LLVM intermediate representation that is
targeted to the CPU's or GPU's available at run-time, which reminds me
of the Apple OpenGL emulation system using LLVM. This, plus the fact
that anyone that can is using LLVM as their back-end, really makes me
think I should pick it up. One nice RenderScript feature is that their
compiler automatically generates Java .class files for you that make
binding from your Android app quite painless.

I'm a little sad that Google chose to rebuild this stack rather than
support OpenCL and build a similar abstraction on top of it; I'd be
curious to hear the rationale. I don't think RenderScript will find for
larger software systems (serious physics engines, math libraries)
without more of a cross-platform nature; it's a pity they couldn't have
leveraged such that already exists for OpenCL, which promises alot of
the same benefit of heterogenous platform support.

Another good talk I saw was the Android ProTips. He actually ran over
alot of the same points on watching battery, connectivity, and docking
state that were covered in CIS542, Embedded Systems. He also showed
some really nice tricks using PassiveLocationProvider to take advantage
of Location updates that other apps requested to keep yourself
up-to-date.

Really, the number of system events that can be captured
and handled using Intents is really impressive, and one of my favorite
features of Android as a platform. I thought I was really clever when
we used them to capture document opening for SEASPrint, but apparently
that's just best practice.

Another neat Android library I learned about today in passing is
FileObserver, which is a low-level and powerful utility that I wasn't
really expecting. It's just a wrapper for the Linux inotify library,
but it let's you do neat things like the shader preview tool I talked
about last fall.

It's probably not that great a tool for general IPC since Android
applications view of the filesystem is really restricted, and there are
already higher-level tools like Intents to pass media and messages
between applications, but I can see it being used in content development
to push out asset changes to the phone during development for
interactive preview. Noone likes reinstalling an app to see changes.



At the reception after Google I/O, I bumped into one of Google's engineers for
Google Body, which uses alot of WebGL to render some really high resolution
datasets. I'd been curious about streaming 3d assets into the browser, so he
was really great to talk to.

He had some great points about the tradeoffs in streaming, storing, and
decompressing data when your host code runs in Javascript and your
rendering runs in accelerated OpenGL. This is especially difficult
since in Javascript you can't access custom native libraries for
compression/decompression or asset preparation. One option is using
browser builtin's like Gzip or Deflate content-type encoding to handle
your compression for you.

Test Driven Development: by Example

On the way back home Sunday, I also read most of Test Driven
Development
by Kent Beck, who is an author I have heard referenced alot
but never read.

Good quote: "Every programming practice encodes a value system,
explicitly of implicitly"

--Kent Beck

I used a fair bit of TDD on the mail server project, as well as
conformance testing, system testing, stress testing, and a dash of
regression testing. The SMTP protocol logic especially was developed
incrementally and test first.

The book was alright, the first step-by-step example was
a little wandering but eventually enlightening. I actually liked the
end of the book more, where he gives a large review of test patterns, as
well as design patterns and refactorings as applied to TDD.

One of the sections I enjoyed most was "How do you know if you have good
tests?". For me, one of the greatest benefits of TDD isn't that you
are left with tons of test artifacts that you can use for verification,
refactoring, or maintenance. It's that you can continually,
incrementally, and easily fire up and exercise your code base in little
chunks.

In this section, Kent Beck points out that bad tests can be an
indication of bad design in the production code. If you can't get your
code in a test hardness because of external dependencies of filesystems,
servers, or databases, it isn't the fault of unit-testing as a
discipline; your production code has too many dependencies. Similarly
if you feel you are instantiating 2/3rds of your code base to run one
object. Because unit tests exercise chunks of the codebase separately,
they verify that you really do have a modular design, and provide alot
of motivation to extract interfaces and encapsulted complicated and
concrete implementations.

This spat of reading on software engineering has really gotten me to
thinking about how to backport these techniques to languages less
focused on encapsulation and dynamic polymorphism (read: C). I might do
a series on modern and modular design techniques in plain-old C. It'd
be stuff most professional developers probably know about, but that
wouldn't show up in K&R.