Lately I've been getting enthused about a couple of Firefox plugins. They're both raw but I think they both point to the way forward for the programmable web.
Ubiquity is basically a command line for the web - a way to apply "verbs" to user input and web pages. Sample usage (and built in commands) include a "map" command to quickly build a googlemap and insert it into, say, the html in your webmail interface. What's cooler is that it provides infrastructure to quickly build additions to the browser that before would have to be packaged as bookmarklets or Firefox extensions. In the case of extensions it's frequently not worth the trouble and bookmarklets provide a lousy UI and development experience.
Ubiquity comes with a built in editor and commands can be tried out live in the editor or installed without any restarting required. To be honest the ease of writing commands made me think of emacs - executing code in the same tool you're writing it without any sort of compile->execute cycle. I even quickly whipped up an unwrap command when I was repetitively pasting sql statements from mysqlbinlog in a console to phpMyAdmin to restore some damaged data. Newlines inserted by the console were messing up the sql statements and visually scanning each statement was error prone. 30 seconds after thinking about it I had a two line Ubiquity command up in the editor that allows me to select some text in a textbox and unwrap it...
Along the same lines is the other Firefox extension Jetpack. This is even more alpha - but perhaps even cooler than Ubiquity. Similarly Jetpack comes with it's own editor that allows you to run code or install Jetpack features without a restart. While Ubiquity aims at interacting with webpages, Jetpack aims at interacting with the browser and exposes an API to let you play with notifications, the status bar, tabs and includes JQuery to easily slice and dice html and access web API's. Want to write an extension that shows your unread GMail message count in the status bar? The Jetpack tutorial does this in 45 lines of code and you can execute the code as part of the tutorial and immediately see the message count display. I can see Jetpack giving Firefox's conventional plugin infrastructure a serious challenge - I've already replaced one of my plugins with a few lines of javascript in Jetpack and I'll release it after I've added a couple of features.
Jetpack reminds me even more strongly of my Emacs environment. Emacs is famously "the programmable editor" and until you've taken advantage of that environment you don't know what an advantage that is. Firefox, with the new speed improvements to its Javascript engine, and new and easier methods of adding programmable functionality is becoming the programmable browser.
I've been interested in the Atonement for a long time. Basic to
Christian belief is the idea that because Christ died, my sins are
forgiven and I am reconciled to God. How exactly this occurs
is not spelled out - and the New Testament uses different metaphors to
describe the work of atonement.
Most modern evangelical thought has tended to emphasis just one of
these metaphors. For many evangelical Christians atonement =
Penal Substitution. The famous Four Spiritual Laws
tract explains that sin separates man from God and "... that God has
bridged the gulf which separates us from Him by sending His Son, Jesus
Christ, to die on the cross in our place to pay the penalty for our
sins."
This is the Judicial metaphor and it is usually tightly connected
to the concept of Justification: sin is transgression of God's moral
law, God as Judge demands the penalty of death (Romans 6:23 the
wages of sin is death) and Jesus offers his own death as
satisfaction of the penalty guilty humanity owes. God as Judge than
dismisses the charges against us since the penalty has been paid in
full.
I didn't grow up opposed to the idea of Penal Substitution, it just
always seemed ... insufficient. If Penal Substitution is the wholly
sufficient explanation for our atonement and justification, what are we
to do with Scriptures like
Hebrews 2:14-15
14Forasmuch then as the children are partakers of
flesh and blood, he also himself likewise took part of the same; that
through death he might destroy him that had the power of death, that
is, the devil; 15And deliver them who through fear of death were all
their lifetime subject to bondage.
or
Colossians 2:13
And you, being dead in your trespasses and the
uncircumcision of your flesh, He has made alive together with Him,
having forgiven you all trespasses, 14 having wiped out the
handwriting of requirements that was against us, which was contrary to
us. And He has taken it out of the way, having nailed it to the
cross. 15 Having disarmed principalities and powers, He made a public
spectacle of them, triumphing over them in it.
Clearly these passages are not using the sort of language that fits
into a judicial model. But I didn't know exactly what to make of them
until I bumped into the term Christus Victor. Thanks to an article by Derek
Flood at sharktacos.com (very highly recommended) I began to have
a vocabulary to identify the drama described in Scriptures where the
Atonement is the victory of Jesus through his death and resurrection
over the powers that oppress us and keep us separated from God. Christ
the Victor!
The result for me of identifying the Christus Victor model in the
New Testament hasn't been to challenge the Penal Substitution model as
much as to emphasize the mystery at the heart of the atonement cannot
be neatly packaged - the New Testament has a variety of models and
metaphors to describe the atonement and each has it's contributions to
make to our understanding and experience of the Christian life. I've
several times done a "multiple metaphors of the atonement" style class
or Biblestudy - looking at the Priestly/Sacrificicial,
Financial/Ransom, Juridical/Justification, and Military/Victory
metaphors for the atonement. But recent reading has left me wondering
if perhaps the language we use to understand the atonement plays a
decisive more role in determining our life in Christ.
I recently got around to reading Christus
Victor - the 1931 work by Gustaf Aulen who coined the
term. Christus Victor is basically a polemic survey of the
various theological takes on the atonement with the assertion that the
chief view of the atonement in the New Testament and Patristic
writings has been lost since Anselm and Abelard and we've been left
with the "objective" and "subjective" theories of atonement presented
as the only choices. (briefly: "objective" atonement sees the passion
as directed towards God; Penal Substitution or Satisfaction falls
under this rubric. "Subjective" theories tend to see the atonement as
aimed at humanity; the "Moral Influence" theory of atonement which
sees Jesus sinless death as example of God's love to us. Presented
with those two choices, of course, evangelicals rightly tend to
gravitate towards the Objective theories. Aulen thinks this is a false
choice and calls the narrative/dramatic account of victory over
opposing powers to earn humanity's freedom from sin, death and hell
the "Classic Theory" of atonement.)
I can't do justice to Aulen's arguments in this space (and really
- if you're interested you should just go read the essay at sharktacos). Most
interesting to me, however, were the observations that over and
against Penal Substitution, Christus Victor takes into account the
enemy (Satisfaction, for instance, needs no devil; God is sinned
against, God demands Payment for sin), the incarnation and Jesus life
of obedience, and the resurrection itself which is the capstone of
Christ's Victory but seems somewhat inessential (besides being a note
of Divine approval) in most atonement theology. It also suceeds in
capturing the ambivalent nature of the operation of the Law in
Scripture - blessed because it is true but ultimately against us and
our opponent (among the powers defeated by Christ) because it cannot
lead us into fellowship with God. Penal Substitution, despite being
strongly associated with the reformation takes a legalistic view in
which the Law's demands are immutable and cannot be broken - God will
not forgive us without satisfying the demands of the Law. I have
always wondered what the Penal Substitutionary model makes of Jesus'
profligacy in forgiveness of sins. To the paralytic, the woman caught
in adultery, the prostitute who washed Jesus feet with her tears, the
thief on cross - Jesus extends forgiveness of sins without worrying
about the demands of the Law.
Aulen also takes an interesting tour from the Patristic Fathers,
through Medieval commentators and onto the Reformation, arguing most
interestingly that Luther's atonement theory was mostly of the
"Classic" type though largely misunderstood by his contemporaries and
heirs. The historical treatment was mostly new to me (I haven't read
much Anselm or Abelard. or Luther, for that matter) and a fairly
convincing explanation of how penal substitution grew out of a
medieval legal backdrop (concepts like penance and indulgences fit
right into the western concept of justice).
Fresh on the heels of Christus Victor I got around to
reading a gift from my sister-in-law: Joel B. Green and Mark Baker's
Recovering
the Scandal of the Cross (Joel is one of her Professors at
Fuller). Recovering the Scandal... is a little less
straightforward - in part it is also a critique of the dominant Penal
Substitution model but it's purpose is not so much to replace it with
another model as it is to emphasise the necessity and desirability of
having multiple models for the atonement.
Green & Baker also provide a historical tour of atonement theology
that covers some of the same ground. They review the language of the
New Testament in regards to salvation and atonement and agree with
Aulen that the Christus Victor best characterizes the Patristic
writings (with a few variations). They also cover Anselm and Abelard
and use Princeton Seminarian Charles Hodges as an expounder of Penal
Substitution from the 20th century. Most interestingly, however, they
move from a critique of existing models to relating several attempts
at contextualizing the Good News of Christ's atoning work in models
that communicate to a particular.
The Penal Substitution Model makes assumptions about the concepts
of justice, punishment, guilt, and satisfaction that are only coherent
within western cultural understandings. In Japan, for example, the
judiciary operates under a shame/alienation framework that
seems strange to western minds. Justice, in the west, is exemplified
by the blind (and therefore impartial) goddess Justicia with scales
and sword in either hand. Japanese culture as related by Norman Kraus,
a missionary teaching theology in Japan in the early 80's, sees
justice as the wise decision made by judges having taken into account
the context and rendering the decision that will best preserve
relationships in the community. Because shame, rather than guilt, is
the primary cultural deterrent the ideas of forgiveness and
propitiation as communicated by Penal Substitution do not resonate
with Japanese culture.
Clearly Biblical truths should not be cast aside in order to
conform to human culture. As Green & Baker point out, however,
emphasizing the sense of sin as alienation from God and the
atonement as Jesus entering into shame and dishonor in order to
reconcile and restore us to God not only communicated meaningfully
within Japanese contexts, it may also be closer to the scriptural
depiction of the atonement as well! After all, the cultures in which
the texts of the Old and New Testaments were written were also
shame/honor cultures as well.
While I found the other attempts at contextualizing the meaning of
the Atonement less successful, it was stimulating to think about how
we can best communicate the mystery of the work of Christ in
comprehensible ways. All metaphors break down at some point (if Christ
effected a Ransom, to whom was the price paid? If it was Satisfaction
of the Law's demands is God bound by the Law? Or did Jesus come to
save us from God?) All we can do is resort to narrative and metaphor
to explain the atonement. Not every metaphor is equally powerful or
explicative but some do have the virtue of communicating in the
"native language", so to speak, of a particular cultural group (I've
been thinking, for instance, about Jesus as Trickster to communicate
to the hacker/geek subculture I partially inhabit. The trickster (in
the jungian archetype sense) is much revered in hacker culture (as
embodied by words like "hack"). And Jesus' subversive relationship to
the religious/political power structure of His day as well as the
unexpected quality of His victory (achieved by submission to torture
and death) and his upside-down Kingdom could communicate within this
particular subculture in ways communication along the Penal
Substitution lines cannot. In fact - following Gregory of Nyssa's
imagery of Christ as a baited hook proffered to Evil, the Godhead
concealed in humanity, Life swallowed by death which cannot contain it
- the act of the Atonement might be classified as a clever hack. This
will doubtless be seen as a sacrilegious characterization outside
of hacker circles.
Besides being encouraged to think about how to think about the
atonement Recovering the Scandal... also had the salutary
effect of challenging my acceptance of the exclusive use of Penal Substitution
language. About halfway through the book I became increasingly aware
of my uncomfortableness with their polemic against Penal
Substitution. For example:
Hodge's penal substitution model takes sin very seriously in that it
presents sin as a huge barrier between God and humans. Yet it is a
limited concept of sin that portrays it only in terms of moral failure
or transgression of a law. Even within that concept of sin, however,
the model does not intersect with the day-to-day reality of actual
people. Describing the atonement as a legal transaction within the
Godhead removes it from the historical world in which we live and
leaves it unconnected to personal or social reconciliation. And in
actuality it only addresses our reconciliation with God at an abstract
level. That is to say, it is so objective, so outside of us (and in a
sense outside of God) that what changes through the cross is a legal
ruling. According to the logic of the model, an individual could be
saved through penal substitution without experiencing a fundamental
reorientation of his or her life.
Ethically this model has little to offer
p149
Should we be doing theology on this sort of ends-oriented basis?
Surely as exegetes the question to grapple with is "what does the text
communicate", not "how will this work out". And it is undeniable that
the concept of Satisfaction is in the Bible and in places hints at a
Penal understanding (Isaiah 53, for example). It wasn't until I had
moved on to other reading that I realized I had the ends-analysis
exactly backwards.
J. Denny Weaver, contributing to Anabaptist
Currents analyzed the ways in which atonement theology contributes
(or fails) to ecclesiology. One key statement stuck out to me:
The doctrine of substitutionary atonement allows the
same kind of substitution to occur in the area of theology. Defining
salvation in terms of escape from guilt and deserved penalty - a legal
transaction with God - provides a theological way to talk about
salvation apart from considerations of discipleship, nonresistance,
and love of enemies. It thus enables and reinforces an understanding of
salvation that is separate from ethics.
p35, The Church,
Pietism and Nonresistance
Perhaps my question needs to be reversed. Is it possible that the
Church in the West has selected Penal Substitution as the primary
means of understanding the atonement precisely because it does lack an
ethical dimension? Jesus came to preach the Kingdom of God the
synoptic Gospels agree, and yet western Churches and western theology
sees the Kingdom and discipleship as an optional add-on (at best) to
the core message of Salvation (always understood in a juridical
sense). Salvation as a legal transaction does allow us to do away with
or render optional ecclesiology, discipleship, and ethics. But for the
purposes of much of the Church this has been a feature, not a bug,
which allows a Christianity neutered down to become a private
transaction which need not affect the present.
Phrased like that it seems to me that a primary task of recovering
the New Testament vision of the Christian life is to reject with
prejudice exclusive claims for penal substitution and assert the
diversity of Biblical language and atonement models (with all their
implications for salvation).
Update: Fixed the spelling of Joel Green's name - thanks to
nothing_to_say who may now deign to comment, if she's not to busy
having coffee with Joel :)
You may notice (if you're visiting the site) that things are moved about. New menu entries appear, old ones disappear - but fear not! All the great blog content you've come to expect from the virtual pen of the metapundit is still here - it's just been dusted off and moved around a bit.
As threatened a bit ago I've split my blog up into two separate streams: a Tech Only Blog and a personal blog. If you're visiting the old url or subscribed to the old RSS feeds than things will continue to just work, but if you'd rather not hear Baypiggies reports and rants about PHP you can now subscribe to the personal RSS feed and not get any of the tech stuff. And of course you can subscribe to the Tech-Only RSS feed if my theological ramblings are starting to annoy you...
Do poke around - I've put up an essays section to link to the longer writing I've done and I'll try to keep it updated as I write more. I've also got some UI changes in the works to make it easier to find related content...
I added curiousprogrammer.wordpress.com to my emacs feed in bloglines after finding a cool tip that helps me out particularly with Django programming in Emacs.
One of the cool things about Emacs is that it's not just a text-editor, it's a whole ecosystem of code (or as the joke goes - a pretty cool operating system with a crappy built-in text editor). In exploring all the extensibility though - the built in major and minor modes, the many external modes available - it's easy to forget how much can be customised by setting a few variables.
I didn't even realise how much it was annoying me but the default way Emacs handles duplicate buffer names is kind of dumb. If you have multiple files with the same names the first buffer gets the filename and subsequent buffers get an index value. This isn't a problem in most editing tasks - you occasionally see a choice of switching between foo.py and foo.py<1> and have to remember which is which.
In most code editing I do I don't have many identically named files. Django, however, makes this a little more annoying - each django app I have open has it's own models.py, views.py and likely a urls.py file. When I'm working simultaneously in several apps at once it's confusing every time I go to switch buffers... Thanks to this post, however, I added the following lines to my .emacs:
(require 'uniquify)
(setq uniquify-buffer-name-style 'reverse)
(setq uniquify-separator "/")
(setq uniquify-after-kill-buffer-p t)
(setq uniquify-ignore-buffers-re "^\\*")
And now see a choice between views.py/app1, views.py/app2, and views.py/app3 when switching buffers. Uniquify is comes with Gnu Emacs so there's nothing you need to install to scratch this particular itch.
Update: thanks to commenter Van Gale Van Gale for the catch - I added the necessary require line above. I also should have noted that this is built in on my Emacs 23 packaged by Ubuntu 8.10 - YMMV.