March 2007

Beware the Ides of March

You might be Gaius Julius Caesar if:

  • You’ve ever been proclaimed dictator for life

  • Though you might consider teaming up with pompous and crass people
    to rule the known world, you didn’t give the pompous one your daughter
    to seal the deal.

  • Crossing a river is among the most remembered moments of your life

  • You never really believed in omens

  • You kept the Queen of Egypt as a consort

  • Purple robes and laurel crowns suit your complexion

  • You didn’t invent [leap years][], but you did [bring them to the
    western world][]

  • Brutal men murdered you in the Forvm.

  • You died 2050 years ago today

katallen

Comments (0)

Permalink

Why SELinux is not like assembly language

Sitting at the SELinux symposium this week, I’ve heard some of the
smartest people in the room compare SELinux’ current state to assembly
language—and they want better languages. But I just heard a
different speaker suggest that an administrator faced with difficult
SELinux policy authoring "make the computer do the hard work for you."

But this is a special sort of work. This work is a kind of thinking.
Historically, computers have only rarely been good at thinking work.
In fact, they’re only good at one very special sort of thinking work:
those where we can express a simple algorithm that can be reliably
applied. For example, computers are good at playing Chess, but not so
good at solving or writing chess problems interesting to humans.
Computers are not generally good at creative thinking. It’s
troublesome to need to restate this.

Given this constraint, obvious as it should be, how did we get past
assembly language? We built compilers. We built interpreters. We
built libraries, particularly sophisticated runtime libraries,
bringing the flexibility of interpreters to compiled languages.
What’s the biggest advantage of modern languages over assembly
languages? I don’t expect much contradiction when I celebrate the
Garbage Collector.

A simple GC can be written in assembly language, then used by other
assembled programs. A simple compiler can be written in assembly
language, then used to produce new programs. The first LISP
interpreters were written in an assembly language 50 years ago using
just this strategy. The core idea here is abstraction: building tools
with simpler interfaces than contents. And the SELinux community
have provided some abstractions. But they haven’t provided them using
SELinux. They’ve provided them using components outside the system.
This is more like a card-punch than a compiler.

There is no ability to use SELinux itself to build new SELinux
capability. In that critical way, it is not like assembly language.
We should not expect to see self-reinforcing, exponential growth in
SELinux capability: SELinux, as a constraining rather than enabling
system, is not the right shape for that.

bts

Comments (0)

Permalink

The TSA is deeply confused

On the way out of Logan’s terminal A this week, I saw two signs
immediately adjacent. The first said that due to an elevated security
condition of ORANGE, no liquids could be brought through security or
onto a plane. The second said that liquids could be brought through
in a single one quart bag containing three-ounce containers. Between
them was a scowling TSA officer, periodically and loudly instructing
passengers to read all signs regarding transport of liquids, firearms,
and similar dangerous devices.

He didn’t seem to want his picture taken, so I do not have one to show
you. But surely this is an experiment in how miserable citizens can
be made. They can’t accidentally have two signs like that up one next to
another. And the local TSA chief can’t do something that twistedly
awful on his own authority. The directive to do so must have come
down from the central TSA bureaucracy, perhaps at the level of unified
DHS.

bts

Comments (0)

Permalink

By grace alone through faith we are justified

The title is one of the core beliefs of the Lutheran church. It’s often… well, alright: it’s rarely heard at all. But by those who do hear it, it’s often misunderstood to mean this:

As a sort of special present, we’re offered a deal: in exchange for belief in Jesus’ divinity and agreement to serve His interests, He’ll intercede with His father to prevent the punishment we’d otherwise receive.

This is a cosmic blackmail scheme. I can’t imagine anyone happily follows such a God—with this understanding, one must either depart the Church in pride, or stew uncomfortably on it. But there are alternate explanations. For example, here’s one based on early chapters of Marcus Borg’s Meeting Jesus Again for the First Time:

Humans were built as imperfect creatures. Part of that imperfection is a tendency to do things that make us and those around us unhappy. Part of that imperfection is a bad trade-off of risk vs. long term reward. We can call the behaviors based on these imperfections sin.

With this understanding of sin, we can see why the designer of mankind might want to issue a patch. We might prefer, in the interests of ourselves and our ancestors, that he’d issued it further in the past. Why was this done only after thousands of years of human history? I’m not sure, and that’s a subject for another post. For now, consider that it might be ineffable and it might be a requirement for human society to evolve to a certain point from its origins. That’s a terrible sort of answer, and I look forward to expanding on it later.

We can call the patch justification. We are irregular and broken: we commit unjust acts. It would be nice to repair humanity and human society. Sometimes this justification is thought of as being saved from an external source of sin. Then we call it salvation. I’m going to stick with the term justification, though, to emphasize that this is about internal changes to individuals and communities being made just.

We are in bondage to sin and cannot free ourselves.

That is, we cannot repair the brokenness within ourselves. We can teach our children to be better than we are, but not better enough to fix this. We can construct Utopian artificial societies… but they turn into horrors. We need help from outside the system to repair the system. That help is called grace. But maybe we can help! Maybe there’s something we can do to accept the helpful patch and assist in its application! Well, for more reasons that I won’t go into here, we can’t. This is an open debate within the Christian community. The old Lutheran dogma says grace alone, but Catholics and others will tell you that good works are required. What’s a good work? Charity, benevolence, just rule and obedient service… and belief. Belief as a requirement for salvation is part of the technical term “good work.” When Lutherans write “grace alone,” we mean that you don’t have to hold to any particular dogma to receive justification. There is no test to pass—and therefore no test to study for. Nothing humanity can do, individually or collectively, can help it receive justification.

That could be the end of the message. We could say “By grace alone we are justified.” Sometimes we do: a different Lutheran creed says simply, “Grace alone.” The creed I used in the title says a bit more, though. It tells us what the patch looks like: what change will be made to humans and to humanity in order to justify us.

We are offered (by grace) a new relationship with God. In the distant past, God spoke only to a few prophets. Even fewer spoke back. Most people did not have a meaningful relationship with God. If you were lucky, you lived in a place that knew God’s laws for how mankind should believe. But Law is a narrow channel for a relationship: most people today don’t have a relationship with their government, for example. The new relationship that is offered to us is faith.

Faith is not belief or adherence to doctrine. Faith is participation in a relationship with God. It’s not a demanded creed to which we must subscribe in order to receive the patch of justification. It is the patch of justification: a change in the relationship between God and Man, initiated and sustained by God’s unilateral action. That is, the process of justification operates through faith, not as a magic trick performed after faith.

By grace alone through faith we are justified.

Now we can understand this as a statement densely packed with technical terms:

  • Grace: action by God above and beyond what he committed to in prior covenants with Man.
  • Alone: unilateral action. When we say “by grace alone,” we mean that only grace accounts for the phenomenon described.
  • By: a description of initiatory mechanism: the reason why something comes to be.
  • Faith: participation in a relationship with God.
  • Through: a description of operating mechanism: the means by which something comes to be. When we say “through faith,” we mean that the described phenomenon operates by means of faith.
  • We: Mankind, collectively, individually, and as the communities intermediate between the individual and the species.
  • Justified: repaired, such that we are no longer troubled by sin.
  • Are: present indicative. When we say we “are justified,” we mean that the process of justification is continuous and ongoing. We have not been justified in a way that operated and then ceased, completed. We are justified each day anew by the continued operation of a faith that exists by continued operation of grace.
  • Sin: flaws in the operation of Man (see “We” above).

bts

Comments (1)

Permalink

On Granularity

The use of the term "granular" in information assurance and in
computer science in general is driving me mad. It’s common in this
field to produce a detailed access control system, superseding
all-or-nothing systems. For example, I am listening now to a talk on
a new mandatory access control (MAC) system for Macintosh (Mac)
computers. It has several hundred privileges, rights, and
capabilities which can be granted. It distinguishes between a
process, the executable from which it was run, any filename for that
inode, and so on. This is described by those writing papers on the
subject as a "fine-grained" system. This is reasonable phrase.

But the fellow on the stage has described this as a granular system.
Sometimes he refers to it as a "more granular" system. I’m in pain.
The dictionary on this computer does provide a meaning for "granular"
characterized as technical:

the scale or level of detail present in a set of data or other
phenomenon

But this is a descriptive definition: people are using the word in
this way, and now it’s documented. As a prescriptive matter, this is
a foolish use of the word. To increase the granularity of an image, a
substance, or any other otherwise continuous medium is to reduce the
number of grains, increasing their size. If we say that to increase
the granularity of a discontinuous (that is, digital) medium is to
increase the number of grains, reducing their size, we sap clarity
from the word.

If this continues, I may loose my mind.

( with this one exception, Chris Vance of SPARTA’s presentation on
SEDarwin was clear and interesting. It looks like Leopard will have
some MAC capability, perhaps enough to do something useful.
)

bts

Comments (0)

Permalink