Social Memory Complex:
A political economy of the soul

Liberalism and Democracy
Keith Preston on Carl Schmitt

AlternativeRight.com is a site I've been interested in, if a bit wary of, since Keith Preston informed me of its launch earlier this year. I've seen some commentary there that I find not so challenging or interesting, but some of the articles provide food for thought. Of particular interest to me are the realist approaches of many on this alternative right, and acknowledging novel and new insight into the realities of our world need not necessitate the adoption of their politics nor the acceptance of their conclusions. As a staunch leftist egalitarian, I find that maintaining an open mind towards the reactionary wing forces me to ground my ideals in the human. Ignoring or rejecting the ugly is insufficient for those who take ideas and politics seriously.

Still, I was a bit taken aback when I first heard of Keith's plans for a four-part series of articles on German jurist Carl Schmitt (Part 1, Part 2). Here was a thinker who provided the legal basis for a continuity between Nazi-era totalitarianism and emergency, extra-constitutional measures in the present "War on Terror". But as it turns out, Schmitt's actual scholarship on these subjects has been rather narrowly read over the past eighty or so years. One need not adopt his advocacy for the establishment to see the problems with liberal democracies he pointed out. This passage from Keith's latest is particularly compelling:

At a fundamental level, there is an innate tension between liberalism and democracy. Liberalism is individualistic, whereas democracy sanctions the "general will" as the principle of political legitimacy. However, a consistent or coherent "general will" necessitates a level of homogeneity that by its very nature goes against the individualistic ethos of liberalism. This is the source of the "crisis of parliamentarianism" that Schmitt suggested. According to the democratic theory, rooted as it is in the ideas of Jean Jacques Rousseau, a legitimate state must reflect the "general will," but no general will can be discerned in a regime that simultaneously espouses liberalism. Lacking the homogeneity necessary for a democratic "general will," the state becomes fragmented into competing interests. Indeed, a liberal parliamentary state can actually act against the "peoples' will" and become undemocratic. By this same principle, anti-liberal states such as those organized according to the principles of fascism or Bolshevism can be democratic in so far as they reflect the "general will."

Read more...

Written by Jeremy Weiland on Tuesday, August 31, 2010 for Social Memory Complex
Tags: liberalism,democracy,parliamentarianism,politics
Comments

Subsilience
The Technology That Will Realize a Left Libertarian World

As much as I talk about revolution and theory, this is what is going to free humanity from large, centralized, bloodthirsty, inhuman domination. Hat tip to Kevin Carson for staying on top of this. Watch it all: it's important that we frame our political and economic ideas in terms of the possible, and this is certainly one way for us to achieve this in our lifetime. Please contribute to their cause!

Written by Jeremy Weiland on Tuesday, August 24, 2010 for Social Memory Complex
Tags: subsilience,opensource,agriculture,agrarianism,leftlibertarianism,technology
Comments

Because Killing Them All is Not an Option
Anarcho-pluralism as the peaceful alternative

Hey, anarchists, or really any reader who believes passionately in your political ideals for changing this world: depart with me on a thought experiment.

Your revolution succeeds. Through whatever means you think it possible, your fellow ________s have defeated the authoritarian/fascist/totalitarian forces and are ascendant. You, of course, know that your side will not rule in the same ruthless manner your enemy did.

Now what do you do with all these enemies whom you haven't killed or converted yet? The same beliefs that motivated them to oppose you in the past are likely not to be simply cast aside. After all, you didn't cast yours aside when you were out of power. As somebody experienced with dissidence, you know all too well that such people can take a long term view of their agenda and undermine the society you want to build in countless subtle ways.

Read more...

Written by Jeremy Weiland on Monday, August 23, 2010 for Social Memory Complex
Tags: pan-secessionism,anarcho-pluralism,leftism,politics,anarchism
Comments

The Unique One and the Universal

Over the past two to three years, I've engaged in many conversations featuring the appeal to moral principles asserted to be held in common. Some who've known me for a while may notice that over this period I've begun to distance myself from appealing to these moral principles as a basis for my arguments. This has been a rule I've adhered to largely from both my own investigations of my beliefs as well as the influence of Max Stirner's "The Ego and Its Own" (or, as Shawn Wilbur correctly points out is a better translation of the title, "The Unique One and Its Property").

Stirner taught me that abstractions and concepts ("spooks") often rule us just as completely and arbitrarily as corporeal authorities, and that true freedom requires one to break free of all preconceived notions of propriety, convention, and duty. This philosophy is often called "egoism" and is treated by many as a form of nihilistic realism culminating in an almost Nietzschean "will to power". All constraints on the ego are to be discarded in order for the self to express itself fully through its property, its ideas.

This causes understandable concern in many. The search for perfect and complete freedom is framed in terms that are positively anti-social. If adhering to ethical codes or moral laws or legal statutes or social conventions should displease you, why not throw them all out? After all, what makes them all more valuable than your own happiness? And I find this a hard argument to reject without appealing to other spooks.

Read more...

Written by Jeremy Weiland on Monday, August 16, 2010 for Social Memory Complex
Tags: leftlibertarian,philosophy,egoism,spirituality,lawofone
Comments

Anarchy and Organization, Continued

Does this sound like a certain left libertarian group you know?

It is true that there existed among us "social study groups", but we know how ephemeral and precarious they were: born out of individual caprice, these groups were destined to disappear with it; those who made them up did not feel united enough, and the first difficulty they encountered caused them to split up. Furthermore, these groups do not seem to have ever had a clear notion of their goal. Now, the goal of an organization is at one and the same time thought and action. In my experience, however, those groups did not act at all: they disputed. And many reproached them for building all those little chapels, those talking shops.

This is Amedee Dunois at the 1907 International Anarchist Congress in Amsterdam. Read the full speech here. We can learn a lot from the example of those who have gone before.

Written by Jeremy Weiland on Saturday, August 14, 2010 for Social Memory Complex
Tags: anarchism,organizational-behavior,left-libertarianism
Comments

Treeoid
Tree hierarchies for your Mongoid::Document objects

I'm a bit late mentioning this, but I released another super-beta gem in the hopes it might help another poor soul: treeoid, the missing "acts_as_tree" library for mongoid. It couldn't be simpler, really: it gives you a "parent" accessor and a "children" collection. On top of that, it provides a scope allowing you to list a set of treeoid objects in hierarchical order, which is perfect for front end integration.

The tests are there but nominal; I'd love to see them fleshed out. I also had some ideas for making it cooler; for example, I keep an array of an object's descendants in the object, allowing me to hierarchically order objects. This opens up some novel means to simplify how I implement the parent and children accessor. Imagine this:

field :ancestry, type => Array # contains ids of all ancestors including self, already exists
          
          # but instead of a parent_id accessor
          
          def parent_id
            ancestry.at(-2) # the parent can be fetched from the ancestry list
          end
          

This also allows all descendants of a given object to be easily fetched - if the id shows up in the ancestry, return it! It's this kind of out-of-the-box thinking that has really endeared MongoDB to me. I hope you can benefit from this and help me improve it. Or help with greedy. I'd love to get said help at CVREG's upcoming Why Day hackfest.

Read more...

Written by Jeremy Weiland on Wednesday, August 11, 2010 for Social Memory Complex
Tags: mongoid,ruby,rails,development
Comments

Thoughts on Revolution
Art, Hypocrisy, and Violence in Perspective

A friend gave the pamphlet The Iron Fist Behind the Invisible Hand to a friend of his, passing along his reactions to me. This essay is an attempt to answer some of his concerns, which I am not publishing here. However, I think it stands reasonably well on its own as a meditation on genuine change and its propensity for resulting in some kind of suffering. The friend began by asking,

With whom, economically and culturally, should or does the contemporary poet or artist identify?

I appreciate the question. My personal opinion is that I see no difference between the answer to this question and the answer to the question, "With whom should anybody identify?" You either see an unjust system as acceptable or not. How honest you are with yourself about the actual decision you're making is the real matter, and I don't think anybody scores perfectly in that area.

Read more...

Written by Jeremy Weiland on Sunday, August 01, 2010 for Social Memory Complex
Tags: leftlibertarian,politics,resistance,revolution,spirituality,counter-institutions,mutualism
Comments

Co-working in Richmond, VA

I'm interested in establishing a co-working community in Richmond, Virginia. To that end, I've taken the initiative in setting up a wiki page for anybody who's interested. If there's interest, I'd like to put together a regular "jelly" somewhere centrally located in Richmond to start. That's a nice, informal way for people to see if this is something worth expanding.

Please visit / edit wiki.workatjelly.com/rva and provide your ideas, suggestions, and contact information.

Written by Jeremy Weiland on Wednesday, July 28, 2010 for Social Memory Complex
Tags: richmond,local,coworking
Comments

Power of Numbers

What an astounding video; can you imagine something like this ever happening in our country?

Note also that the bad cop who was striking the victim gets away. Meanwhile, the good cop who was trying to stop the bad cop gets beat down. The lesson here is that it's not enough to be a good cop yourself; the blue wall of silence that protects so-called "bad apples" also endangers "good apples". However high and thick that wall is, there will always more of us than them.

Written by Jeremy Weiland on Tuesday, July 27, 2010 for Social Memory Complex
Tags: video,lawenforcement,policebrutality
Comments

Announcing greedy

This weekend I released my first ruby gem: greedy. Greedy provides a layer on top of the Google Reader API to facilitate the consumption of feed items syndicated by Google Reader for a given Google account. John Nunemaker's GoogleReader gem was the inspiration, but it used an authentication method that has been discontinued by Google. I switched to using the gdata gem.

Right now I can't figure out how to post information to the Google Reader API. Anybody who could help me figure out why my code isn't working is welcome to fork and submit pull requests - I know I'm missing something simple. When that feature works, you'll be able to use greedy to change the state of items to "shared", "read", "unread", etc. However, the code that merely consumes feed items is ready for action.

Greedy was extracted from another project that went up today, although not for the first time: leftlibertarian.org. Now that the Google Reader API stuff has been successfully extracted, the next step is to make the code that runs leftlibertarian.org into something anybody can use to publish their Google Reader stream as a website. Hopefully, that won't be too long in coming...

Written by Jeremy Weiland on Sunday, July 25, 2010 for Social Memory Complex
Tags: ruby
Comments

Nothing up their sleeve...

Like everybody else in their right mind, I'm interested in the new Top Secret America project from the Washington Post. There's definitely much about this ballooning, labyrinthine fourth branch of the government to discuss. The project promises to explore the lack of accountability arising from all the secrecy and compartmentalization, the confusion and duplication of effort resulting from the creation of so much analysis material, and the private contractors being used to soak up all that excess cash thrown at these agencies. In particular, the phenomenon of agencies going after the low-hanging intelligence fruit, instead of looking into new, unexplored threats seems to reinforce the truth that intelligence professionals are no different than any other government employee: doing the least work for the most pay.

As you read the Post's stories on this topic, remember that the organization has had a cozy relationship with the intelligence community for decades. While it's not unique among the press in that regard (look into Operation Mockingbird, the CIA's media infiltration program), the question must be asked: why publish this now? That's the real story in my opinion, because as far as I can tell the investigation by the Post isn't treading on any important ground others haven't covered already.

I'll leave you with this quote from a speech the Post's former owner, Katherine Graham, gave at the CIA in 1988.

Read more...

Written by Jeremy Weiland on Monday, July 19, 2010 for Social Memory Complex
Tags: intelligence,nationalsecurity,cia,nsa,dia,press
Comments

RailsConf Dispatch - Test Always?
How not thinking carefully about your test suite can hold you back

There were two conveniently sequential presentations today at RailsConf that reminded me of some thoughts I'd had regarding testing: Michael Feathers' talk on legacy code and Glenn Vanderberg's talk on real software engineering. It seems to me that both talks had a theme in common: what is the function of tests? Why do we want them, what role do they play from an engineering perspective in the larger process, and what precisely are they meant to indicate to us?

Michael at one point talked about the expense of 100% code coverage for tests, instead recommending we test the parts of the code that change the least and are most important. Ugly code in legacy projects has utility, he explained, and untested code is a rational response to churn. Afterwards, Glenn discussed software development in the context of engineering principles from older, more established disciplines like structural engineering, finding areas of similarity, analogy, and abject difference. However, his testing point compared experiments in code to experiments in more physical engineering fields, remarking on how relatively cheap tests are for us. I suppose the common thread I found concerned the emphasis on cost: that what it means for us to do our job well is to do it effectively, and not subordinate our conscience and creativity to a mechanical process.

For some background, I've been practicing behavior driven development for a year or two. I love the confidence that testing gives me, independent of the value to the client. Verifying that my code works is fine and all, but what lets me sleep at night is the assurance derived from approaching a problem in a rational, systemic manner. By moving in small chunks and expressing problems in terms I understand well enough to programmatically recreate, I ground myself in a real comprehension of the system I'm building at the most relevant level and stage. I avoid the confusion of jumping ahead, thinking too large scale or minutely, or making unwarranted assumptions that come back to bite.

Read more...

Written by Jeremy Weiland on Tuesday, June 08, 2010 for Social Memory Complex
Tags: ruby,rails,bdd,testing,development,railsconf
Comments

RailsConf Dispatch - Rescue Missions
Tammer Saleh on parachuting into disaster codebases

The first tutorial class at RailsConf on Rails Anti-Patterns has been phenomenal and incredibly validating given my experiences with consulting. Tammer Saleh gave a wonderful talk on how to handle troubled legacy codebases - what he calls "rescue missions". It's particularly relevant for me as much of my early freelance work centered on failing projects I was dumped into.

Because of the success of Rails, there's a lot of shitty code out there for you to fix. The harder issue is figuring out why shitty code was delivered, which can be trickier to figure out than you'd think. It can be really difficult to change the course of a project when much more than merely the code is dysfunctional.

Tammer suggested a ton of coping strategies, many of which end up being good practices for most situations. I'm sharing my cursory notes here in case others are interested. Feel free to strike up a conversation in the comments to explore these points. I'll link to the slides when they become available.

Read more...

Written by Jeremy Weiland on Monday, June 07, 2010 for Social Memory Complex
Tags: railsconf,refactoring,development,ruby,rails
Comments

GridFS with Mongoid and CarrierWave on Rails 3

Over the last week I've started a project with Rails 3 and I'm impressed. The increased configurability of the framework has not diminished its ease of use nor its core concepts in the slightest. You'll have to get used to a few new conventions, especially regarding routing, but there's lots of help out there.

Since this project is something I'm doing in my off time, I decided to experiment with MongoDB using the Mongoid framework. I had played with MongoMapper before, but always felt like I was using an ActiveRecord clone that didn't take advantage of the full capabilities of a document database and was forcing and ActiveRecord-style approach on me. With Mongoid you get has_many, has_one, and belongs_to relationships that map to MongoDB concepts like embedded documents. Mongoid is fully compatible with the ActiveModel interface for Rails3, and things like associations and nested attributes work out of the box.

I also had been hearing great things about CarrierWave from co-workers. It employs the concept of an "uploader" outside of the MVC ecosystem. The uploader handles resizing, storage, and all other details. In your model, you simply "mount" the uploader and you're golden. Of course, for this project the killer feature is the GridFS storage option, which is something I wanted to play with.

Read more...

Written by Jeremy Weiland on Wednesday, June 02, 2010 for Social Memory Complex
Tags: rails,ruby,mongodb,mongoid,carrierwave,rails3
Comments

ALL Vector Graphics

Many people, including I, lost track of where the ALL logo svg files were when my blog software and domain changed. For the record, here they are:

You're free to use these images for the purposes of promoting the Alliance.

Written by Jeremy Weiland on Wednesday, May 19, 2010 for Social Memory Complex
Tags: leftlibertarian,vectorgraphics,svg
Comments