Rhett Aultman

Engineer, athlete, and atheist Pagan

By

Welcome, New Readers!

If you’ve stopped by my blog today (March 31, 2013) or shortly thereafter, there’s a good chance you’ve found me via my post at Humanistic Paganism.  Welcome!  I was actually rather surprised by the warm reception that my prior post, “Care and Feeding of Your Atheist Pagan“, received, especially in light of how prior posts about atheism and Paganism hadn’t had the same traction.  I am, however, quite proud to know I’ve contribute meaningfully to the community, and I’m glad to see an emerging tolerance for my sort of perspective.  The post was actually roughly two years in the making, and was based on my own experiences being out as an atheist among my Pagan colleagues.  All of the different points I raised actually came from experiences I’d had, often more than once, with close friends and colleagues.

Many people are really surprised to know that I spent two years editing that article in an “on-again-off-again” fashion, but sometimes it takes a while to find the right way to express yourself.  In fact, a major challenge in editing the piece was to produce something that spent more time speaking for my perspective than criticizing others.  It’s very easy to write a critical blog post, but writing something from the heart that really speaks for your wishes, your perspective, and your side takes a lot of time and effort, and many times, I would edit out one form of criticism only to find I’d criticized something else in the process.

I hope that perhaps you’ll consider adding this blog to your aggregator or visiting somewhat often.  If you look through older posts, you’ll find it to be more of a general “posts about life” format, but I do intend to make this a venue for posting about more personal topics than I have in the past.  In fact, if it weren’t the wee hours of the morning when I write this, I’d be working on a post about tea ceremony (a favorite subject of mine) and what lessons I think it might offer modern Pagans.

Consider that last paragraph a teaser for the post.  Thanks for stopping by.  I hope we can be friends.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

By

Care and Feeding of your Atheist Pagan

I’ve been meaning to write an article like this for a while now, and in my mind, I’ve done it under a number of different titles.  It started life as “What is an Atheist Pagan, Anyway?”  Over time, though, I’ve realized that’s really not the most satisfying tack for such an article.  Nobody elected me Emperor of Atheist Pagans, so I can’t make statements about what we all are.  Finally, a series of email exchanges with one of my fellow mystic friends brought the structure of this article to its forefront, because I’ve noticed that there is a predictable mutual confusion in our interactions.  The reason why I feel something of a “care and feeding” style article is better is that the theme is a bit more fun, casual, and personal.  I can’t speak for others, but I don’t require actual care and feeding, though I do sometimes enjoy being a pet.

So, let’s start back at the beginning.  If you’re reading this, and if you’re Pagan, and if you’re associated with a somewhat diverse Pagan community, there is a distinct possibility that someone you know through that community is an atheist.  This may or may not come as a surprise to you.  Amidst the vast diversity of people working with different pantheons, with the God and Goddess, with the divine intelligences of Qabalah, the hordes of spirits in Goetia…there are a few of us who went up to the smorgasbord of divinity and actually concluded our plates were beautiful when empty.  We are among you, we know your gods and your spirits and all the rest, and we might even use them, but we don’t identify with them as being our gods.  We might not even consider divinity to exist “out there.”  But we still find a deep, powerful connection to the practices, to the blending of ideas and thoughts, to the experiences we gain, and from the community we keep.  We might even use some of those gods you do, but just think about them differently.  I’m one of them, and I use the term “atheist Pagan” to describe myself and the others like me I’ve met on the way.

And I think there’s one thing I think we could agree on (other than agreeing that we’re atheists), and that’s this– other Pagans don’t always know what to do with us.  There are a number of very good reasons why this happens, and I’m not going to hash them out too much here.  Instead, I’d like to just focus on some things that you, my dear reader, can do that could mean a lot to any of the atheist Pagans in your community.  Please keep in mind that you might have some atheists in your community right now and not know it.  I’ve met more than a few who don’t speak very loudly about their atheism.

So, without further ado, care and feeding of the atheist Pagan in your life.

Do not challenge your atheist Pagan about why he or she doesn’t believe in your gods/deities/spirits/etc.

I know it may seem really strange to have a conversation with someone who’s a Pagan and an atheist.  You might also genuinely want to know how this person came to reach his or her particular perspective.  It’s totally fair to ask in a warm and friendly way, the way you might ask your Asatru friend what attracts him or her to the Norse pantheon.  It’s very important, though, that you not ask your atheist Pagan as if you’re demanding he or she defend his or her choices.  Don’t ask like you’ve encountered something weird.  Go back in time a bit to when you to identify yourself as Pagan to others.  No doubt you remember some people in your life treating you like you were full of strange ideas because you wanted to believe in many gods (or in some all-encompassing deity of nature, or some other non-mainstream theology).  It sure must have felt exhausting to have to explain and defend yourself over what was, quite honestly, your truth.  Atheist Pagans go through this, too.  We often get it from Pagans over our atheism, from other atheists for our Paganism, and from mainstream people over both.  Beyond that, consider this– Pagans want the tolerance of diversity.  This means monotheists, polytheists, pantheists, and atheists, too.

Don’t tell your atheist Pagan that he or she isn’t “really” an atheist or “really” a Pagan.

This actually comes up more than you might think, usually in the nicer version of “you’re not really an atheist.”  It’s almost meant as a compliment, often from someone who’s taken crap from particularly adversarial atheists in the past.  There’s a stereotype about atheists that we’re all loudmouths who won’t rest until we’ve destroyed everyone’s favorite spiritual beliefs and paved the entire noosphere over with a fresh coating of empirical materialism.  Atheism is actually a very, very simple standpoint– you become an atheist when you have no deity, and that’s it.  The definition itself is very, very general, and throughout history, there have been many, many different ways to arrive at that state.  An atheist might believe that deity does not exist, that the metaphysics of the universe simply does not define a place for deity, that deities exist but should not be treated in the customs one gives deities, or any of a number of other positions.  Most of the atheist Pagans I’ve had the pleasure to meet do tend to have a pretty strong materialistic streak to their worldviews (and, honestly, most Pagans do, in general), but not many of them are not out to constantly openly criticize every religious belief or superstition they come across.

On the other hand is the assertion that atheist Pagans aren’t “really Pagan.”  While atheism and Paganism may seem, to some, irreconcilable, there isn’t a theological test associated with being Pagan.  Generally, Pagans are respectful of one another’s pantheons while focusing on their own.  This doesn’t actually preclude having a personal pantheon with zero gods in it.  Atheist Pagans are like any others who don’t necessarily share your personal pantheon.

Don’t presume your atheist Pagan is less spiritually capable or fulfilled.

How I got to be an atheist is a fairly long and winding story, so I’ll give you the “tl;dr” version– I was finally honest about myself that “the gods” just “weren’t there.”  I spent several years trying very hard with a number of practices, and had a lot of very interesting experiences along the way, but I just never really felt anything that really left me feeling strongly driven to the reality of deity.  This is the opposite experience of most Pagans, but it’s just as real and credible.  It actually takes a lot, in a community that takes its spirituality so personally, to admit that.  I just don’t feel the same connections others do, and it’s inauthentic and painful for me to make myself try to be any other way about it.  The first thing Pagan theists tend to inject into this is that I’m “just blind.”  This is basically an assault on my own sense of authenticity, and the only authority to that position is that the theism is seen as the default.  If atheism were the default position, theists would be accused of hallucinating their deities.  So, no, I’m not “just blind,” and neither is any other atheist.  Because the theistic position is the default one, pretty much all atheists have explored it and explored what it might mean to them, and they ultimately reject it.

Don’t assume that our lack of gods means we’re ignorant, stubborn, or magickally handicapped.  It’s easy to think that, because you see or hear spirits or deities or whatever, that we must be “blind” or “deaf” to them.  The metaphor is a problematic one, especially since it actually claims that anyone with a different experience (a Buddhist, perhaps) is just as “blind” to your reality.  An atheist Pagan may not experience the same things you do, but in the incredible mess of subjectivity that makes up human perception, remember that it’s really hard to hold claim to having the objective opinion.  Also, remember Christians used to claim the default position and ascribe madness to those who talked to ghosts or received messages from old gods.

Don’t presume that being an atheist means rejecting all magick, all religion, or all new age thought.

This is yet another stereotype.  Certainly, some atheists are just like that.  That sort of atheist, though, is also probably not going to get a lot of joy out of also wanting to be part of the Pagan community.  Again, atheism is mostly a position about the existence of deity, and that particular question can be addressed in many ways.  The question of deity has little to do with the question of the soul, of an afterlife, of the existence of magickal “energy,” of the mechanism and efficacy of astrology or other means of divination, or really any other subject that’s applicable to most magick, mysticism, or other Pagan practices.  On these subjects, atheist Pagans have just as much philosophical, cosmological, and practical diversity as anyone.  Your atheist Pagan may enjoy taking part in many of the “conventionally Pagan” practices out there, and may do so for reasons very much like your own or ones very different from you.  You can’t conclude a person’s complete magickal identity based solely on their perspectives about divinity.

Do understand that your atheist Pagan is attracted to Paganism.

That may seem really strange to you, but there is probably a lot more going on in your own flavor of Paganism than you realize.  There can be all sorts of wonderful reasons an atheist may continue to choose a path mostly regarded as Pagan.  Your atheist Pagan may feel very strongly acculturated to Pagans and their ways.  He or she might follow a path that doesn’t include the worship of deities but which is heavily built from the fabric of contemporary Paganism.  He or she may work with a “sacred non-entity” much like Tilich’s “ground of being.”  He or she may actually still work with deities but see them as emotionally moving fictional characters or symbols.  The reasons are myriad, but there is one thing for certain– your atheist Pagan hangs around you because he or she wants to.  There is something in the connection you share that’s important.  That goes for your common community, too.  It may seem strange because an atheist Pagan seems at odds with stereotypes about atheists, but there are already many fine atheist communities out there, and yet there are many atheists who’d rather be with the Pagans.

Do invite your atheist Pagan to your rituals, ceremonies, and festivals.

Have you ever gone with one of your Christian friends to a church, or perhaps to a temple with a Jewish friend or to a mosque with a Muslim friend?  Maybe you went along to a Buddhist temple once or to…oh, I don’t know.  Maybe you even hung out in a Scientology center or drummed with some Hare Krishnas because someone you knew and liked asked you along.  No doubt, you were respectful of your hosts and possibly participated a little.  Maybe you even learned something.  Many, if not most, atheists are just as capable of joining in a religious service at a level somewhere between respectful detachment and enthusiasm.  One of the most wonderful things about the Pagan community is its diversity of ideas and experiences available for those of cosmopolitan mindset to enjoy.  Just because someone doesn’t experience your closest deity doesn’t mean he or she won’t enjoy experiencing your expression of that divine connection.  Rituals are stimulating and fascinating things to be a part of.  Anyone who’s going to proselytize about gods not existing at a ritual is a real jerk, and since you probably don’t have jerks for friends, your atheist Pagan is probably not a jerk, either.

Let’s say that your atheist Pagan passed up on coming to your big Freya working.  That doesn’t mean the invitation wasn’t welcome!  It’s nice to be invited to things.  It’s a sign of friendship.  It shows you’re thinking about that person and wanting to see them happy.  That alone is worth it.

Do ask your atheist Pagan about his or her story, and be open to sharing yours.

It’s not a fast or straight path to an atheistic position, let alone one that still carries the Pagan flavor.  Like many Pagans, your atheist Pagan is probably very happy to talk about his or her path.  It’s probably one that’s very personal, idiosyncratic, and heterodox, and since atheist Paganism, unlike Wicca or Golden Dawn or other paths, doesn’t really have any manuals, your atheist Pagan has been finding his or her way alone for quite some time.  We like sharing our truth, just like other people do.

At the same time, there’s a good chance an atheist Pagan you know wants to know about your own path, your own history, and your own truth.  Most Pagans I have known geek out on spirituality, even if it’s from an informally anthropological point of view.  Empathy and friendship carry an aspect of seeing the world through someone else’s eyes.  Don’t be afraid to lend yours.

Do feel free to compliment your atheist Pagan from your own worldview.

I don’t mean to sound like a braggart, but I do get compliments on the way I comport myself in ritual.  When I feel a connection to a working, I am absolutely voracious for it.  I just want to take it and make every last little bit of it become part of me until performing that working is as natural to me as making a cup of tea.  I want to live in the working.  I want to blur the lines of where I end and where my performance begins.  In my own little cosmology, I don’t really consider (or, despite years of working on it, even experience) common magickal concepts like “energy.”  In fact, my adopting a paradigm that doesn’t really focus much on energy is due to my own lack of experience for it…or at least in my not experiencing it in the way so many others around me have.  But, when someone comes up to me after ritual and says I was working the energy well, does it bother me?  Of course not.  I know those people are speaking their truth, and that they ultimately are trying to tell me how my own work made them feel moved.  That’s a wonderful, wonderful thing.  Of course, not all people are the same, and I’m sure you’ll find some atheist Pagan out there who will get uncomfortable or try to correct you, but it’s still a far better thing to try to share yourself with others than to not; the latter means not making an important personal connection with someone in your community.

Conversely, a compliment from an atheist might not share your own spiritual vocabulary.  Remember, though, that the compliment is still genuine and meant with love, and it is not a dismissal of your own experiences simply because it doesn’t reflect your experiences.  You may genuinely feel you’re “running the energy,” while another person might think you’re “a talented performer.”

Recognize atheism as a philosophy that shapes, rather than contradicts, spirituality.

Ultimately, this is what all the other things come down to.  There have been atheists who’ve strongly contributed to every major religion of the world.  Yes, even Christianity.  If you haven’t read of the existentialist Christianity of Paul Tilich, you should check it out.  Atheism has, over the past century or so, seen a very serious restriction in its definition.  There are many reasons for it, not the least of which are religious interests in America using politics to attempt to restrict science and science education.  In a broad historical perspective, though, there have been atheist philosophies within every religious tradition and several religious traditions that classify the cosmos in such a way that there’s simply no room for deities to exist.  Your atheist Pagan might take a highly psychological viewpoint on divinity, or may believe that divinity isn’t an entity and thus not subject to existence, or may think divinity is simply “the absolute,” or may simply not really feel concerned with questions about divinity.  Much as atheist philosophers have shaped the history of Hinduism, Buddhism, Judaism, and various aspects of Christianity, atheists in the Pagan community are there, keeping things from becoming ossified into some canonical form of religiosity.  Our lack of commitment to existential divinity is a feature, not a bug, and there’s a good chance that we were quite welcome to the discussion before we brought up that whole atheism thing.  Let us hang out.  Tell us if we’re telling you what your spiritual reality should be; let us have our spiritual reality and speak from it.  We’ll get along fabulously.  I promise.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

By

My Perfect Altar

My altar is always perfect.  Nowhere upon it are trinkets or tchotchkes, forgotten, to gather dust.  Ashes of incense or stains from forgotten offerings do not blemish it.  It never needs to be cleansed, and nothing upon it polished, for it bears no icons or statues.  I never leave my fingerprints upon it, nor my footprints before it, for I never come to it to pray.

How perfect and beautiful is this simple and artless thing.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

By

Bike Party and the Stupidity of Crowds

Tonight, I had the pleasure of attending the 90s Dance Party Ride, the February ride organized by East Bay Bike Party.  This is the first Bike Party ride I’ve attended since I moved to Oakland, and, to be honest, I wasn’t a frequent rider at its South Bay sister, though South Bay Bike Party did sponsor a number of events that were incredibly helpful to my training in 2009.

There’s so much I want to like about the Bike Party concept.  Large, visible rides…even those that slightly inconvenience automobile traffic…are a critical aspect of bicycle awareness.  Bike Party achieves these rides without resorting to the aggressive “biketivism” that has become associated with Critical Mass.  Rather than being out to change the world, Bike Party is out to have a party.  I think there’s a great demonstration made in a bunch of cyclists (who have a right to the road) getting out, going on a ride like they belong there, and using various public and semi-public places to stage short parties.  I think it not only emboldens cyclists to take the road and to remember that public spaces belong to them, it also sends a message to those who watch Bike Party that you don’t need permission to organize, move, and assemble.  These are noble goals in social consciousness and they center around promoting a mode of transport that more people should adopt.

So, why am I not out there every month?  Well, it’s because somehow Bike Party attracts a kind of stupidity that I can only consider to be a little dangerous, and it always leaves me feeling a bit ambivalent.  Every Bike Party ride I’ve ever attended has seen some good contenders for a Darwin Award.  On one occasion, it was someone showing off his bike’s suspension by seeing how long he could ride in the middle of the Caltrain tracks (answer– 30 yards before flipping).  On another, it was someone trying to grab a lost bike chain off the ground…while in motion…while turning left…in a busy intersection.  On another, it was a fixie rider blowing through a stop sign.  Tonight was a particularly spectacular case because it involved bad ideas from multiple parties.

The first player in this ballet of bad ideas was actually a duo.  Someone had rigged a long-base trailer to his bike, but instead of hauling cargo on it, he was hauling a passenger.  I actually thought it was kinda clever at first…seeing some guy sitting down backwards on a bike trailer.  I hadn’t considered that being physically unprotected only inches from the road might be a bad idea.  Like a chemical reaction screaming for a catalyst, the bike and passenger were themselves perfectly fine and safe on their own.  But, of course, this is Bike Party.  Ask, and you shall receive…

And, in fact, someone came tearing down the oncoming traffic lane on his BMX bike, attempted to pull a tight turn into the moving pack of bikes, and crashed sideways into the bike right at its trailer hitch.  The riders of both bikes took nasty spills, as did the trailer passenger.  The trailer’s frame cracked apart from the stress of the impact.  The instigator of the crash (the guy on the BMX bike) was trying to play this off as “shit happens,” and the guy on the trailer bike was having none of that.  Things were close to coming to blows.  I helped the trailer passenger to the side of the road and tried to find out his condition, but he was strangely slow and confused in his responses.  I don’t suspect a head injury, because I’d yelled to him several times while he was on the bike and was also not responsive.  So, honestly, I suspect he was either very drunk or very high.  I also suspect the BMX rider might not have been wholly sober, but I base that only on reckless behavior and the tendency of many Bike Party riders to have a beer before they hit the road.

This makes me really wonder about the effect of a crowd and a seemingly liberated environment on people.  Part of the group ride experience is the sense that you’re in a pack of bikes large enough that you can feel safe and even feel empowered on the streets.  One bike has to dodge cars.  Twenty bikes is something for the car to deal with instead.  And so, despite the fact that Bike Party posts, and desperately tries to enforce, rules for a safe ride, I see them casually broken.  Bikes filling all the lanes.  Bikes in oncoming lanes.  Bikes running through lights.  Texting while riding.  Drinking while riding.  Riding drunk.  Riding high.  Riding dangerous or with dangerous equipment.  Pulling tricks in traffic or crowds.  I’ve seen all these things, and I’ve been at a total of four Bike Party rides.  The power of festival is that it suspends the rules temporarily, letting people explore an environment from a new, and sometimes forbidden, perspective.  But some of those rules exist so that you don’t break your ribs, and sadly, in these leaderless or semi-leaderless festival spaces, the poor choices of some end up injuring others or breaking property.

Worse than the sense of safety and liberation is likely the “he did it first” mentality.  You see this sort of thing often at red lights.  Rather than wait through a red light, someone plows through it and safely crosses.  This causes some others to try, and since they’re now in the intersection, several more people will believe they’re “running blocking” for them and also go.  Soon, an entire pack is crossing against the light because it becomes less safe to stop in the middle of the pack than to cross against the light.  In this way, bad thinking spreads until a much larger group is now doing it.

What’s unfortunate is that there is no effective solution to this problem.  The “leaders” of a Bike Party can’t really sanction anyone.  They desperately encourage others to be responsible and follow the rules of the road, but they aren’t listened to.  This isn’t a formal group…it’s just a spontaneous gathering of people…and so there’s no way that anyone can do anything about bad behavior other than to take matters in their own hands.  This property of spontaneously arising rather than being organized is simultaneously the group’s biggest strength and its biggest weakness.

And, indeed, this is a metaphor that can be applied to groups with roughly similar structures.  This includes Anonymous and Occupy Oakland.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

By

Let Me Tell You About Oakland

Oakland.  This is my city.  Really.  I own a home here.  I pay my property taxes here.  I have come to see the parts of my life spent in Tampa and South Florida as just “training wheels” for this city.  In a lot of ways, it’s where I’ve been practicing to live.  It is, culturally, my city.  There’s no doubt about it.  In the East Bay, people just do everything harder.  If Detroit and San Francisco had a lovechild, it’d come out like Oakland, and it’d be every bit the angry, ignored punk that Oakland is.

We have, of course, recently made news over our Occupy Oakland commune, which I have gladly supported for a mixture of reasons.  The latest headline is the shooting which happened near a BART station entrance just outside the camp.  The police investigation will, ultimately, get to the how and why of it, and hopefully it will yield a suspect.  I’m not interested in having the speculative back-and-forth about Occupy Oakland’s role in the shooting.  It wouldn’t surprise me if both the shooter and the victim had spent a few nights in the camp, though.  More on that in a second.

What I really want to impress, however, is how this is the sad normalcy for Oakland.  The shooting was homicide #101 for the year.  If you do the math, that’s nearly 10 homicides per month (we’ve fallen behind the average in November).  I had hoped to use a Crimespotting map to show you the year’s homicides, but it looks like their system has a hard time mapping a whole year.  Instead, I’d like to show you the map of homicides, aggravated assaults, and narcotics arrests for September 2011.  I added narcotics not because I have a moral objection to drugs but because, like it or not, the illicit drug trade does tend to provide a geographic anchor for other forms of crime, both as a function of the trade “defending its turf” and as a function of the desperation and out-of-control behavior that drug abuse and addiction bring with them.  Just for the heck of it, I cooked up this map for San Francisco for the same month.  Kindly note that I actually had to add violent robberies to the map just to put enough red dots on the map to show the geographic overlap easy.  The difference in violence between Oakland and San Francisco is enough that I added more crimes to San Francisco’s map just to help show the point.

You might also rightly note that violent crime in Oakland seems to not geographically cluster in Oakland like it does in San Francisco.  You’d be right.  Note that narcotics in Oakland don’t really geographically cluster, either.  Rather, drug crime and violent crime in Oakland are basically kept in check in the Temescal district, the Rockridge district and various affluent areas in the hills outlying.  The rest of Oakland, however, has been, essentially, ceded.  It’s a nice, even distribution of dope and violence, mostly in the slightly denser regions of the city.  East and West Oakland get it worst, but essentially, outside of Temescal, Rockridge and the hills, it’s everywhere.  This is very, very different from San Francisco, where there’s a hub of trouble…the typical “bad part of town.”

This underscores the experience of most Oaklanders I know.  For the record, I live in the San Pablo/Golden Gate district, not quite in “Oakland proper” but not quite in Rockridge or Temescal.  You might consider it a “frontier” zone into the more peaceful and affluent areas.  Since moving here in March, there have been three reported shootings in my immediate neighborhood, including one brutal homicide.  The neighborhood association email list is frequently used for discussion of local gunfire.  Every week, one of us directly sees a violent crime of some form.  Extended conversations have taken place regarding how to take action on our rash of burglary, which the Oakland Police Department are powerless to handle.  We all know which parts of which blocks are the rough ones, and 50 yards is often all that separates your peaceful home from a violent one.  We’ve even considered trying to pay for private security patrols.  There is a single emotional current that underscores the mix of paranoia and dejection I see in my neighbors — deep down, we all sincerely believe that nobody is capable of keeping our streets safe.

Keep in mind that I am describing the experiences of people living in a residential neighborhood in a relatively peaceful part of the city.  I’m not describing life in the more universally working class areas of West and East Oakland.  I’m also getting to enjoy this reportage from the vantage point of being pretty white and pretty privileged.  I recently heard, at a City Council meeting, that young African American men in Oakland have chance of meeting a violent death comparable to a US soldier on tour in Afghanistan.  Any conversation about race in Oakland can’t fit inside a blog post, but I still want to acknowledge the reality and drive home the point that I am, in fact, speaking from a much nicer position than a lot of people in Oakland.

This brings around my ultimate feelings about the recent shooting.  That someone was shot and killed in downtown draws no shock from me.  It’s tragic.  They’re all tragic.  There was a homicide in East Oakland that same week, and that was tragic, too.  The only thing that seems to make it feel noteworthy is that it didn’t happen a little closer to the 19th St BART station, because that’s a bit more of a hotspot for dealing and violence.  And, at that, only a bit.

If the victim and shooter were both found to have made use of the facilities at the Occupy Oakland camp, I also wouldn’t be surprised.  Why?  My experience, having visited the camp several times, is that a strong nucleus of the camp’s community is comprised of the city’s homeless.  Occupy Oakland is offering them something better than the lives they were living…there’s hot food, a bit of a home for yourself, and a chance to participate in a democracy.  So, they cling to it rather than to ongoing homelessness or the city’s taxed shelter system.  With the homeless come the social problems surrounding homelessness, and drug abuse and violence are definitely on that list.  The camp is a permeable community…people come and go from it all the time.  The question of violence among the city’s marginalized, particularly when there’s no strong geographic trends in our violent crime, was just one of time.

At best, you can call this a result of Occupy Oakland and not the fault of Occupy Oakland.  The fact is that this crime would have been considered second-rate news otherwise.  Like I said…few can name the other murder victim from that week.  How about the 100 who died already this year?  But, finally, the background noise of crime in Oakland is happening somewhere where we all have to talk about it.

This, ultimately, is why I continue my support for Occupy Oakland.  I have no illusions that the commune in downtown will somehow cause an important national revolution.  I am not even sure the Occupy movement is a vehicle for action, though it is certainly a vehicle for bringing light to grievances.  I don’t really even know that anything can be done at the city level to address the core complaints of the Occupy movement.  I’m no longer an earnest twenty-something, and I am not going to quickly buy big ideas about changing the world.

Occupy Oakland is doing something important in Oakland anyway.  It’s being a powerful irritant.  Oakland is a city with very long-lived and deep-seated social problems.  We have a city government with no good ideas about how to improve the city, so they instead turn to the old saw of courting industry to move in and “make jobs” (which hostages them to private interests).  We have a mayor who, like many mayors before, can’t pick a direction and take it.  Our redevelopment efforts drank the mid-2000s Kool-Aid and promptly died in the financial crash, making our downtown eerily empty and filled with a background static of crime and homelessness.  We have a police department who have so thoroughly alienated the public that they are seen a necessary evil…like a bully you bribe for protection.  Worst of all, though, is that Oakland carries with it a spirit of desperation…of wanting to hold on and hope…that creates a culture of deferring our real problems.  As long as the homelessness and crime stays scattered enough that it can be put out-of-mind for another day/week/year, then maybe, this time, business as usual will work.

This is where Occupy Oakland has created the biggest irritation.  They have, simply by existing, forced a public conversation about Oakland’s problems, including the institutional tendency to kick the can down the road.  Because of the homeless population in the camp, attempts at dispersing it, unless completely brutal, will only be a temporary measure that will, at best, move the camp to some nearby location.  Occupy Oakland has likewise demonstrated its ability to execute a significant public action if it wants to and thus shows the risks of angering the Oakland public.  This makes brutal police tactics a very costly thing, and I believe this makes the camp incredibly difficult to move.    Because the city chose to lead with a violent police action, Occupy Oakland no longer trusts the city (and why should they), making any potential negotiation nearly impossible.

This, ultimately, makes it difficult to just sweep everything on the rug and get back to business as usual.  I have no doubt that the camp is hurting the incomes of a number of businesses downtown, which is pushing them to demand the city council take action against the camp.  The city council has a genie that’s very difficult to put back in its bottle, and while this plays out, everyone in Oakland, from those who blame the camp to those who support the came, has something to complain about.  What they’re all complaining about is, essentially, the same thing– that our city is too weak to deal with the problems that make Occupy Oakland manifest in the first place, and nobody knows how to fix it.  As long as the camps exist, they require that we, as a city, address our real problems.

Ultimately, this is why I have supported Occupy Oakland, mostly through material donations and through volunteering a little bit of my time.  It’s not to advance broad economic justice (though that’s important to me).  It’s because I live in Oakland, I see the problems with Oakland, and I demand that they be considered as real problems and not just something to defer while the city council lures in some jobs with a tax break.  We can’t just consider our unemployment, homelessness, and crime to be things that are fixed by some gentrification downtown (even if this has been the pet project of multiple administrations).  Oakland has a 16% unemployment rate.  Bringing in some commercial real estate deals doesn’t fix that.  It also doesn’t fix the police’s estrangement from the community, the crime problem, or the racial animosities that simmer beneath the surface.

And, for the record, I don’t personally have amazing solutions to this problem.  I live in a representative democracy, where we hire people to solve the problems.  What I want is that my hired officials actually admit the real problem and lead the public process to addressing it.  Occupy Oakland’s existence keeps the chips on the table.  That’s why I want it there.

Police beatdown or peaceful community growth, nobody does it like the East Bay.  All in.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

By

On Creativity

I have a confession to make.  For most of my life, I have really not identified as being a creative person.  This might seem like a funny idea if you know me, because I do tend to generate some rather off-the-wall notions, but I generally haven’t really seen myself as someone who creates new, novel, and beautiful things.  I barely even identify as being inventive, since I feel like I still haven’t really generated the sort of amazing ideas that I might be proud to pitch for a start-up.  In a practical sense, I do make tactical solutions to problems, but I generally haven’t been the sort to solve problems people don’t yet know they have.

What’s particularly funny about this is that I do get praise for things like my cooking.  I do have a distinctive style when I cook and it continues to evolve as I gain more life experience, but I’ve never really considered my cooking a creative process.  Some of this, I suspect has to do with the fact that I’ve been cooking for myself since I was old enough to pull a step stool up to the stove, and so I regard cooking the way I regard reading or programming a computer– I have to strain to find a memory in my life where I didn’t already have these skills.  When you don’t know that you’re applying a skill, it’s hard to appreciate that you’re doing it.

But there’s actually a broader reason why I haven’t identified as creative, and that reason is because I have, for most of my life, bought into a series of cultural myths about what creativity is.  These have actually been heavily reinforced by the artistic skills which I was formally taught.  These are ideas about creativity which pervade modern American culture, which are reinforced by our telling of history, which are at odds with much historical fact, and which most people (myself included) unwittingly reinforce on a daily basis.  I’d like to go over a couple of these.

“Creativity is the process of generating some immaterial inspiration and translating it into a physical artifact which is wholly unique from all others.”  This has got to be the biggest and the most culturally destructive.  I think that this myth is repeated above all others in no small part because it pleases the artists most when they say it.  It also is partially true.  Someone well seasoned in an artistic skill will, once in a while, have some great vision and charge forth on it.  It’s happened to me– I once cooked a multi-course feast because the smell of a lemon gave me a vision of a feast on the coast of Northern Morocco.  Moments like these are incredible “flow” experiences, and so they become cherished and repeated.  But to say that this is the backbone of the creative process is like saying that earning hat tricks is the backbone of playing hockey.  Most athletes get their cherished peak moments on nights when all their lifelong-honed skills converge with a little good luck.  Most artists, I now realize, are the same way.  The difference is that people see the grind of the athletes because they play in public; an artist’s grind is more concealed, found only in archives of their notebooks and home recordings (if ever).

The second part of the myth is the notion of originality.  This is actually the part everyone repeats, and I daresay it enforces the first part of the myth.  Basically, this argues that anything which is a copy is wrong.  In some respects, I think this may be an outgrowth of our cultural feelings about plagiarism, but it is, at some level, overgrown and selective.  If I were, for example, to write a song which heavily borrows riffs from Iron and Wine, someone would tell me I was unoriginal.  If I prepared a dinner that borrowed significantly from Jacques Pepin, I will be praised for presenting a meal that is “faithful to the classics.”  So, of course, I have more cultural room to develop as a chef than I do as a songwriter, because faithfully copying a master is not criticized in cooking.

Copying, however, is essential to all learning, including in one’s artistic skills.  This is why the early and late phases of many artists’ careers look so different.  Consider, for example, The Beatles, whose early career sounded completely indistinguishable from much of the other early rock music.  Great painters like Picasso began within an established artistic milieu and slowly developed outward over time.  Even great inventors didn’t invent in a vacuum; many times they were part of a community that were all collectively attempting to invent a now-famous artifact.  The insistence on complete originality is purely a post facto rationalization generated by an artist or that artist’s representative.  It builds legends, gratifies egos, and enforces some space of the medium as someone’s “turf.”  It also happens to be a very expedient lie.

The lie happens to be a destructive one, too, because it discourages others from getting started.  Remember…when you get started, you basically have to copy.  If you’re learning an artistic skill, and you don’t think you’re copying someone or something else, it’s only because what your copying has been declared by our culture to be part of the “artistic commons.”  Whether it’s drawing a sphere with shading, sculpting a basic human form, knitting in two colors, or making duck confit, odds are you’re copying a technique someone developed long before you, but nobody makes you feel guilty for this because nobody is claiming ownership of the technique and shaming others for using it.  Yet the charge to “be original” is strong.  It is, perhaps, strongest with those who’ve been the greatest aficionados of a medium.  Music fans become musicians; art fans become artists.

And so, the enforcers of the myth now face the challenge of giving up that myth when it runs into the reality that creativity relies on a foundation of mimicking one’s role models.  It’s only after a massive backlog of works that the budding creative builds up the ability to start recombining those influences into something different.  Yet the talented aficionado is a talented critic.  As Ira Glass would say, you get into creative pursuits because you have good taste.  Skilled criticism and “good taste,” however, is the creative pursuit of mythologizing artists and their works; they, sadly, serve as a hindrance to becoming an artist, because it’s only after a lot of mimicry and “being derivative” that you have a vocabulary with which to build something different.

This leads to another part of that big myth, which is something I’ve been encountering since my childhood training in music– the idea that the creative process seamlessly moves from inspiration to execution.  You hear all these stories about famous composers writing music despite being deaf or great painters or artists sitting down to make a masterpiece in one go.  The process of developing the techniques that went into these creations, however, was a fluid and improvisational one.  Often, they come about while trying to recover from a mistake.  This is, in fact, at the core of the creative process, and it’s possibly the most relevant to a budding creative– making a lot of pieces and screwing up a lot until your brain builds a back catalog of techniques for coping with your mistakes.  Giving up the goal of technical precision at all steps leaves room for the result to stop being a function of constrained ideas and become something that arises in the moment.

This is not to say that technical precision isn’t desirable; on the contrary, it is an ultimate goal.  You cannot make something to order without technical precision.  You can’t get started on a creative improvisation without a basis of technical precision, either.  Any artist you think of as “great” has a fairly high degree of technical precision and mastery of tools and techniques.  But technical prowess should not be confused with creativity.  In fact, it is a sort of tool in the creative process, which lets you slide in and out of improvisation…

Technical skill is one of the consolations of the artist, just as grammar and syntax are the writer’s consolation.  It requires no imaginative powers, no creativity; it is just the right way of doing things.  It can provide a formidable rest, allowing one legitimately to postpone or disengage from the uncertain encounter with creative forces. –Roger Lipsey

It’s the fusion between a growing technical skill base and a willingness to engage with mistakes and odd turns in the production process, that ultimately leads to discovery.  This is a realization I only recently came to while working on my glass blowing.  I was attempting to stretch out a glass bubble for a bottle, only to end up making a holy mess of things.  In doing so, though, I challenged myself to find a way to some kind of completed work, and I ultimately ended up making an amazing ornament for my efforts.  Along the way, I learned a lot about making glass ornament caps in larger sizes and developed sculptural techniques I’d put off.

Don’t keep score based on your masterpieces; keep score based on your successful “saves.”

The cult of technical prowess is something I was taught at an early age when I took up the flute.  Most children are taught an instrument through classical training, which emphasizes the ability to read sheet music and perform under the direction of a conductor.  This is perfectly understandable, because classical training fits into a school classroom well and gets the kids playing together as a group.  It does, however, leave huge gaps in one’s musical skill base (which are often not filled in until college, if ever).  More importantly, if my informal chit-chat with other former band geeks is reliable, it leaves a significant deficit in understanding the creative process of music.  Specifically, years of being subservient to a conductor and composer creates the impression that being a creator of music will happen when you’re sufficiently good at your instrument, creating a “I’m not good enough to create” trap.  On the contrary, writing music isn’t about being a good instrumentalist…it’s an orthogonal set of skills and requires that you accept that pieces must be fiddled with until they happen, which playing completed works will never explain.

I was, at one point, getting disillusioned with my glass work because I was starting to develop technical competence but wasn’t “finding my voice,” and this is a direct result of thinking that creativity is just technical skill on overdrive.  I actually considered quitting, since I’d found yet another medium where I couldn’t create.  Since I’ve realized the source of my confusion, though, I’ve put aside time each week to have one piece where I do something absolutely crazy and new and then work to make it come together without breaking.  In so doing, I’ve come into the challenge of putting new skills and tricks into my arsenal, which I end up recombining into new things, and I’ve started to see my pieces get more and more interesting over time.

So, if you’re like me, your “inner critic” isn’t reciting that old saw about not being good enough to be creative.  No, it’s repeating concepts you’ve been using your whole life to mythologize the artists that you love.  While I do believe that a little mythologizing is great for one’s role models, it’s important to realize that these myths also aren’t the whole truth.  Creativity is not a function of being possessed of genius, rather it is an endless process of remixing from things you think are cool and worth copying combined with a willingness to improvise as you go along and see where things end up.

Creativity, ultimately, is process rather than product.  Products just fall out along the way, documenting the history of the process.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

By

ArcanOS PRE-MAGUS: frame allocator rudiments

It’s been entirely too long coming, but as of ArcanOS commit e1a75edd4b0a, the rudiments of the frame allocator are available.  Those who’ve followed the project will note that the memory manager was disabled and still hasn’t come back, but this will be coming along very soon.  Really, “memory manager” was a misnomer anyway, as the real goal was to have a basic malloc( )function.  Being able to summon up a pointer to an arbitrary chunk of memory could be considered “handy” for early development.  So, the original allocator is what I’ve been calling a “scratch pad allocator.”  Basically, it just assumes there’s a spare megabyte of RAM located just beyond the kernel’s load location and it uses this area for serving memory requests.  This actually was a pretty neat thing to have on hand in the early days of ArcanOS, before we were using paging and when it was more important to me to have a robust kernel debug log than it was to do anything else.  Of course, this had to be retired when ArcanOS switched over to paging, because the 1MB “scratch pad” shouldn’t be assumed to be mapped in.  No…the malloc( )function should necessarily rely on the paging system.

There are some distinct phases to go through in making a mechanism for allocating out the available RAM:

  1. Identify the physical addresses of all the RAM in system.
  2. Create a tracking system to know what RAM is free and which is used.
  3. Create a mechanism for mapping unused RAM into the address space of the process requesting it.

Step (1) was nicely done for us already by GRUB and the map is passed in as part of the multiboot info struct when GRUB dispatches to the kernel’s entry point.  To know where all the free RAM is in the system, you need only parse the struct.  Of course, to make use of the information in the struct, it’s handy to also tackle step (2), so that you have somewhere to record this information about available memory.  Since I think it’s probably the most minimal data structure possible (and, therefore, the easiest to read, learn, and explain…and thus in line with a goal of ArcanOS), I have opted for the ever-humble bitmap.  ArcanOS has an intentional design decision to target a very generic 32-bit x86 architecture and thus limits its address space to 4GB.  This is broken down into page-size chunks and each one gets a bit in the bitmap.  A 1 in the bitmap denotes free RAM, otherwise it should not be touched.

I set up the bitmap in memmgr.c in multiple passes.  In the first pass, I set the bitmap so that all the page frames are invalidated:

void frame_allocator_init(multiboot_info_t* mbi, uint32_t kernel_base, uint32_t kernel_end) {
	
	int i;
	int frames_allocated = 0;
	for(i=0; i<(PHYS_MEM_MAP_SIZE); i++) {
		phys_mem_map[i] = 0;
	}

Next, I iterate through the memory map given by GRUB and mark all the full and available 4KB frames as being available:

   multiboot_memory_map_t* mmap;
   for (mmap = (multiboot_memory_map_t *) (mbi->mmap_addr);
		(unsigned long) mmap < (mbi->mmap_addr) + mbi->mmap_length;
		mmap = (multiboot_memory_map_t *) ((unsigned long) mmap
								 + mmap->size + sizeof (mmap->size)))
	{
	 //_kern_print(" size = 0x%x, base_addr = 0x%x%x,"
		//	 " length = 0x%x%x, type = 0x%x\n",
			// (unsigned) mmap->size,
		//	 mmap->addr_high,
	//		 mmap->addr_low,
		//	 mmap->len_high,
	//		 mmap->len_low,
		//	 (unsigned) mmap->type);
			 
	if (mmap->type == MULTIBOOT_MEMORY_AVAILABLE) {
		 //Kindly note here that we will *NOT* be making use of the "high"
		 //fields here.  The memory manager is current capped at 4GB, so
		 //we will deal only with the lower 32-bits of addresses.
		 
		 //The goal here is to flip on the bits for available RAM.  After
		 //that, we will flip OFF the bits for the areas where the kernel
		 //was loaded and where the initial page tables sit.
		 
		 //The frame allocator is very happy to fail to mark partial
		 //frames as "not available."  This is a good, safe starting point
		 //as it means that the only physical memory allocated out will
		 //"really be there."
		 
		 uint32_t base = mmap->addr_low;
		 uint32_t len = mmap->len_low;
	
	     //First, advance up to the next page frame boundary.
		 if ((base % PAGE_SIZE) != 0) {
			 base = base + (PAGE_SIZE - (base % PAGE_SIZE));
			 len = len - (PAGE_SIZE - (base % PAGE_SIZE));
		 }
	
	     //As long as there is another frame to allocate, allocate it.
		 while (!(len<PAGE_SIZE)) {
			 mark_frame(base, FRAME_STATUS_FREE);
			 ++frames_allocated;
			 base += PAGE_SIZE;
			 len -= PAGE_SIZE;
		 }
	}
   }

And then finally I make sure that the space taken up by the kernel and the initial page directory and page tables is marked as unavailable.  This is important to remember to do…the space you’ve used before turning on your memory manager is, by definition, not available to use.  Otherwise, you’ll accidentally write over your page tables and other stuff you’ve so laboriously set up:

   //Now, time to make sure the page directory and any existing page
   //tables are never again re-allocated.
   mark_frame(INITIAL_PDE, FRAME_STATUS_USED);
   
   uint32_t* page_entry = (uint32_t*)INITIAL_PDE;
   for (i=0; i<1024; i++) {
		uint32_t pde_entry = page_entry[i];
		pde_entry &= 0xFFFFF000; //Page table address is in the upper 20 bits
		if (pde_entry != 0) {
			_kern_print("Located existing page at 0x%x and will mark it as used\n", pde_entry);
			mark_frame(pde_entry, FRAME_STATUS_USED);
		}
   }
   
   //Finally, mark off the area where the kernel is loaded
   kernel_base &= 0xFFFFF000; //Find the nearest page (rounding down)
   while(kernel_base < kernel_end) {
	   mark_frame(kernel_base, FRAME_STATUS_USED);
	   kernel_base += PAGE_SIZE;
   }
}

And, presto.  It’s a bitmap of memory.  The process of feeding free frames of memory back into the allocator is now a process of finding a 1 in the bitmap, calculating its physical address, and then updating the page directory and tables appropriately.  When I write that code, I’ll break it down on here.  I want to add that there are some obvious drawbacks to the use of a bitmap in this fashion.  The first is that the bitmap is going to be pretty sparse, meaning that space is dedicating to bits that will never actually be used.  The bitmap is also very minimal in what it can do– it’s a map of available RAM, but if a frame is marked as 0, there’s no way to tell why.  I also suspect that the process of returning frames to available RAM is not going to be as simple as it could be, and I further suspect that requesting large data extents (such as 4KB for making a new page table) may not go in a perfectly optimal fashion.  All of these, however, are hits I’m willing to take in exchange for the fact that it’s a simple, easy to code, and easy to explain data structure.  This shows how to take the information in a GRUB multiboot info struct and use it to build a map of the available page frames in memory, and being able to show this in a single blog post isn’t so bad.

So, the next step is to get the allocator allocating, which is to say the next step is to take frames out of the bitmap and map their physical addresses to available addresses in the kernel’s address space.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

By

Foot Injury

I haven’t said too much about my athletics on here yet, and this seems like as good a place as any to start, even if it is on a somewhat sad note.

For the most part, I’ve had two major activities driving my athletics– cycling and running.  Cycling is my “bread and butter” event.  I’m better at it and I like it more.  It’s also been a very practical activity, in that I can bike to get where I’m going and I get a workout, too.  In fact, most of my training has come in the form of commuting.  But, as my cardiovascular endurance grew, I took up running as a secondary activity.  I wouldn’t say that I’m a great runner, but I’ve done pretty good with it for what’s ultimately been a “back-burner activity.”  Going out and getting a good 6 miles on foot, seeing an area from that point of view…well, it’s just fun.  It’s great to run up the hills of Richmond and look out over the San Francisco Bay.  It’s great to run the back trails around hilltop castles in Cornwall.  And during times when cycling has come to feel like a daily chore, running became a way to keep my joy of exercise alive.

And, I should note, almost all the running I’ve done has been barefoot running.  I’ve been using some form of Vibram Five Fingers for years now.  It’s made all the difference to me, because I used to get pretty frustrating back pain from running, but barefoot running, and the associated changes in gait, took care of this problem.  Barefoot, I’ve run all over Florida, California, and Cornwall.  I was barefoot in my first 5k, and then my first 10k, and then my first Bay to Breakers, and finally in my first half marathon.  I seriously doubt I’d have ever made it this far if I hadn’t made the switch to barefoot.

I mention this not just to shill for barefoot running but because I want to make it clear that I’m no rookie.  I’ve been running barefoot for years and I’ve even turned in some respectable times in my races.  But, now, it seems that my running may need to stop for an extended period of time, and I suspect that I’ve actually been a victim of my own success.  See, when I moved up to the East Bay, I saw the opportunity to use our train system for my commute, but I would need to still travel about 7.5 miles every day in order to cover the distances to and from the train stations.  Due to various reasons, a bike was out of the question, so I decided I’d try strapping on a backpack and running.  This seemed a pretty straightforward thing to do.  The contents of my backpack are only a couple of pounds (a tablet computer, wallet, and clothes, essentially), and running 7 miles is well within my reach, especially when each 7.5 mile day is actually 4 different runs.  And I’d be doing this 4 days a week, since I needed my car on Tuesdays.  Seemed like a great way to become a better runner, and I started to really look forward to the improvements in my times.

And this actually did work out pretty well for a couple of months.  I am beginning to suspect, however, that there were some odd aches and pains that I let slide which I shouldn’t have.  About six weeks ago, I finished my run to work experiencing some difficult pain in the bottom of my heel.  It was an intense but dull ache.  I ran home on it anyway, and then made it worse, and since then, I’ve had to stop running and heal.  After two weeks of being pain-free, I decided to try the daily runs again.  It only took one day of running to produce injury yet again.  Today, I’m limping around the office as the bottom of my foot aches with a strained/sprained sensation that runs all the way up to the base of my calf muscle.  I’m not 100% certain what I’ve done, but plantar fasciitis is my best guess.  I don’t believe that it’s been caused by a single acute episode but instead is the result of ongoing stress on my plantar fascia.  A likely story is that I may run with my heels a bit high and that this, coupled with a little extra weight from the backpack, has excessively stretched my plantar fascia.  No individual run caused the damage, but instead it’s been death by a thousand cuts as it’s crept up on me over time.

This is very frustrating, though, since it looks like I will have to back out of the Big Gay 10k, which is one of my favorite runs.  I also am going to have to seriously consider that I won’t be able to run in the San Jose Rock and Roll Half Marathon, either.  Normally, I’d make up the slack in exercise with cycling, but my trusty road bike, Thumper, was stolen a few weeks ago and the only cardio equipment in my home gym is an elliptical machine, which still involves a bit of foot flexing.  High intensity interval squats may be in my future for a few weeks.  This is probably a good excuse to surf more and to buy a new bike.

What’s not clear to me, though, is what to do to heal sooner and prevent this in the future.  I should see a doctor, but I’m too busy (and you’ll find out why soon enough), so I’m just trying to take it easy.  It’s likely this was a chronic problem so healing may take a very long time.  I’m also not sure if I’ll be able to return to barefoot running without running another injury risk.  If I can’t, then it quite likely could be the end of my running “career,” because I find no pleasure in running in shoes.  I ran barefoot as a child, and I take too much direct pleasure in feeling the ground beneath my feet.  I should consider, however, that it is constant barefoot running that led to this.  I have no arches in my feet, and that much engagement with my forefoot might have stretched some ligaments more than they can endure.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

By

The Long, Hard Road out of Segmentation

As of last night’s Pre-MAGUS check-in, ArcanOS now uses paging rather than segmentation.  Of course, this is a pretty critical step in the MAGUS goals.  Segmentation is really just a legacy aspect of x86 these days, and there are really no meaningful examples of its use in modern OS development.  So, why did I ever use segmentation in the first place?  Well, the biggest reason is that I inherited it.  Remember that ArcanOS began life as an early coursework lab for a teaching operating system called JOS, and very specifically an early introductory form of it that focused on the boot loader.  ArcanOS, like JOS, and like a lot of other operating systems, is designed to be a “higher half” kernel, which means that it is linked to 0xC00000, but it’s actually loaded at a much lower address (right at 1MB, for those playing along at home).  If you really want to split hairs, ArcanOS is linked at 0xC0100000 (which will change soon, possibly in the next check-in).  In order to really “run” ArcanOS, the x86 processor has to be set so that address 0xC0100000 is mapped to 0×00100000.

This was originally done with something the hobby OS community generally calls “the GDT trick“.  In order to run in 32-bit mode, an x86 requires you set up a GDT, and this will set the values of the segment registers.  These registers will be added to every address to get a final result that goes out onto the memory bus.  It turns out that, in this addition process, overflowing 32 bits will just cause a wrap-around.  So, you can exploit this to get your kernel’s link addresses to refer to its actual load addresses (0xC0000000 + 0×4000000 = 0×00000000 after wrap-around).  It’s good for getting things up and running, but you can’t really stake much on it after that.  Segmentation is inflexible and you can’t do any swapping with it.  On top of that, there are all sorts of memory addresses that correspond to physical hardware, and you have to remember to adjust those addresses to compensate for your segmentation trick.  Even more so, though, it seems that the GDT trick isn’t universally supported.  ArcanOS uses Bochs as its reference platform, but it would appear that VirtualBox doesn’t support the GDT trick.  Long story short– getting onto paging is pretty important.

So, this left me with some questions about how I wanted to get onto paging.  My first thought was to employ the GDT trick to jump into my proper kernel code, then set up paging and reload the GDT with segment descriptors that used a base of 0×00000000 (effectively turning off segmentation).  The more I considered this, though, the less I liked it.  Part of the reason ArcanOS started out using the GDT trick was because it also started out with its own boot loader and you have to set up a GDT to get into 32-bit mode in the first place.  ArcanOS now uses GRUB for its boot loader, though, and GRUB already sets up 32-bit mode and installs a GDT to support a flat memory model.  Why was I going to change the GDT only end up setting it back the way it was before?  No, this was a good opportunity to separate ArcanOS from its roots by just going straight to paging.

Setting up paging, it turns out, is a little bit easier than I thought.  You need about 12KB of memory to establish some initial page tables, and if you’re loading the kernel at 1MB, there’s usually plenty of room just under the kernel to use for those purposes.  After that, it’s really just zeroing-out the memory and stuffing some values in the tables.  Info on the layout of the tables, with reference for making a higher half kernel, is in an article on the OSDev Wiki.  The sticky wicket, in my mind, was that I would really just rather not write it in assembly.  I don’t mind writing in assembly, but for anything non-trivial (especially in a hobby project where my free time is at a premium), I trust a compiler more.  But…if I wanted to do this in C, wouldn’t I have to write it in the kernel proper, thus requiring I rely on the GDT trick?  As it turns out, the answer is “no.”  What I realized is that the code would be location-independent as long as all I did was write some simple loops and not refer to any memory except the page tables which I was trying to fill.  All of the control flow would be PC-relative (based on adding offsets to the current code location), so it would never care where it was really located as long as I called into it correctly.  The result is the init_paging( ) function in kernel/memmgr.c.  All I have to do to call the function is to store its address in a register, adjust its link address to its load address, and then call the function from the register.  I call this function, let it do its thing, and then I finish up setting paging in assembly.

Originally, I paged the first megabyte to itself and paged 0×00100000 to 0xC0100000.  This makes the hardware exposed in low memory easy to access, ensures my first page tables are mapped in, etc, and it ensures the symbols in the kernel were all mapped in.  And, then I set up paging and….crash.  Why?  Well, because I’m already running my code at 0×00100000…which is in the second megabyte.  The address of the current instruction was not mapped to anything!  So, once paging was turned on, my own code became inaccessible.  In the end, I ended up deciding to map the first four megabytes to themselves.  I’ll want to clean that out eventually, but for initialization, it’s something I can live with.  So, this was enough to get me into the ArcanOS kernel proper, but then…crash.  What was it this time?  Well…GRUB put the multiboot info struct below 0xC0100000, so that wasn’t mapped in.  Again, just to keep the bases covered, I mapped the first four megabytes to the address space starting at 0xC0000000.  This does mean there are currently two ways to access the same 4MB of memory, but it gets ArcanOS up and booting, and there should be some easy ways to clean this up.

Technically, with this view of memory, ArcanOS would have run just like the GDT trick was still being used, but I still did due diligence and I went through and stopped referring to addresses as being relative to KERNBASE.  My word of advice to any OS hobbyist who’s starting out– I really encourage you to consider doing rudimentary paging right from the start.  If you don’t, you’re going to get married to an address management scheme you’re likely to throw away later, and if you’ve been using it for a while, then it’ll take a harder portage effort to get off of it.  Just page your memory in from the get go.  If you’re using GRUB, even more to the point, because GRUB already set up the GDT for you to use paging with a flat memory model.  The biggest concern I had with setting up paging was that it looked hard at a time when I just wanted to get a kernel booting and doing some interesting things.  In reality, I was able to sling together a C function which would set up the page tables, and this made things very easy indeed.  Don’t get into using segmentation.  If you do, it’ll be a long, hard road getting back out.

So, from here, what I really need to do is clean up the paging a little bit.  Once I’m jumped into the kernel, I can stop identity-paging the first 4MB.  I also want to map only enough pages to hold the kernel.  Also, I don’t see a good reason to link the kernel at 0xC01000000 any more, since doing that was mostly to make the GDT trick a little bit simpler.  I have a good map of physical memory thanks to GRUB and I can make and manipulate pages, so this is everything the memory manager needs to be pretty full-featured.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

By

Perry v Schwarzenegger (Prop 8 Trial) Motion to Vacate Denied

I have been waiting all day to type that headline.  I deleted it and then typed it again.  It felt good both times.

Here’s a link to the order.  It contains a lot references you can follow if you want to go into the case law behind what’s written here.

In reality, we’re talking about a fairly small tributary of the long river that is the Perry v Schwarzenegger case, which is fairly commonly called the “Prop 8 case.”  The case is in a bit of a holding pattern as it waits in appeal in the 9th Circuit.  The 9th Circuit has certified a question to the California Supreme Court to determine if the intervening defendants in the case, broadly called “the Prop 8 proponents,” actually have standing.  I’m actually not going to go too much into that aspect of things today, though it would come as a surprise to nobody that I have opinions on the subject.  I just mention the state of affairs to set the stage a little.  Look for something interesting on that front in (hopefully) early autumn.

No.  Today we’re talking about an extra motion that was filed while everyone waits to wrestle with the question of standing.  The judge which presided over the case, Vaughn Walker, made a public statement this past April stating that he has been in a same-sex relationship for the past decade.  Proponents of Prop 8 subsequently filed a motion to vacate Walker’s judgment.  As the name implies, it’s a request to throw out the judgment.  The basis for this motion was that Walker, being in a same-sex relationship, had an obligation to disclose his relationship and, ultimately, recuse himself from the case.  I’m fairly sure that most people who’ve followed the case considered this motion to be fairly frivolous, but I still want to dig into it a little bit because I think it helps to clarify some things about judicial impartiality and the integrity of the judiciary.

It’s important to understand that the starting point, and indeed the default state, is the impartial nature of a judge.  Impartiality is part of the oath of a judge, and it’s affirmed repeatedly through case law.  In fact, impartiality is an essential component of maintaining a nation of laws in the first place, and if no officer can be found who stands by the law first and foremost, then the whole system falls apart.  Therefore, it’s important that judges be treated as impartial and that rules be established that allow the transparent testing for partiality in the minority of cases where a judge genuinely cannot be trusted to act in an impartial fashion.  To that end, we have something commonly known as Section 455 which lays out criteria on which a judge may be disqualified.  This motion to vacate focuses on two aspects of Section 455, which I’ll include here:

(a) Any justice, judge, or magistrate judge of the United States shall disqualify himself in any proceeding in which his impartiality might reasonably be questioned.

[...](b) He shall also disqualify himself in the following circumstances:

[...](4) He knows that he, individually or as a fiduciary, or his spouse or minor child residing in his household, has a financial interest in the subject matter in controversy or in a party to the proceeding, or any other interest that could be substantially affected by the outcome of the proceeding[.]

The proponents of Prop 8 challenged Walker’s impartiality based on the fact that he announced he was in a long-term same-sex relationship, citing violations of Section 455(a) and Section 455 (b)(4).  Let’s look at each of these in turn.

Section 455(b)(4) disqualifies a judge based on his or her potential to have a financial interest in a case, and that form of conflict of interest is undoubtedly the sort of thing that you try to avoid in an orderly and fair judicial system.  For example, if a judge (or the judge’s family) owns stock in a company involved in a case, then there’s a clear conflict of interest.  Other interesting cases that have come up in the past include things like the judge’s family possibly being in the class of a class-action suit.  Of the options available for disqualifying a judge, this is one of the more objective ones that can be put forward.

In the live blog of the oral arguments, you’ll see the attempt at pinning Walker’s relationship status to Section 455(b)(4).  Essentially, it goes like this: Walker’s in a ten-year relationship, which means he wants to get marries, which means that he wants to enjoy the financial benefits of marriage, which means he has a conflict of interests.  To put it another way, Walker isn’t capable of being impartial in a trial about gay marriage because marriage is financially advantageous and he could, if Prop 8 were ruled against, marry his partner.  Of course, this breaks down on a number of fronts.  There’s no evidence of intent to marry, for example, and there’s no reliable way to test it.  There’s the fact that marriage requires two people who want to marry and not just one, so you’d also have to test Walker’s partner.  There’s the fact that people change their minds quite a bit.  The fact that the Prop 8 proponents took the intent to marry as given ultimately broke their chain of logic.  See pages 9-10 for what I consider the more bash-it-with-a-hammer part of the order.  I’d quote it, but really…just read the whole thing.

So, this leaves Section 455(a).  The language for this rule requires a little bit of clarification.  It does not leave the door open to personal speculation, even if it seems “reasonable” for the party doing the speculation.  Instead, there is a test known as the “reasonable person” test that helps to make concrete the concept of Section 455(a) and to provide a test.  I’ll quote from the order:

In this context,the “reasonable person” is not someone who is “hypersensitive or unduly suspicious,” but rather a“well-informed, thoughtful observer” who “understand[s] all the relevant facts” and “has examined the record and law.”  United States v. Holland, 519 F.3d 909, 914 (9th Cir. 2008) (citations omitted).15  This standard does not mandate recusal upon the mere “unsubstantiated suspicion of personal bias or prejudice.”  Id. (citation omitted). [...] In addition, the Court recognizes that a fact is not necessarily a basis for questioning a judge’s impartiality merely because that fact might lead a segment of the public to question the judge’s impartiality.  Reasonableness is not determined on the basis of what a particular group of individuals may think, nor even on the basis of what a majority of individuals in a group believe to be the case.

This is something you see in law from time to time.  In order to provide a test of a concept, a sort of hypothetical person, with certain qualities, is conjured up and a discussion is held about what this person would conclude or know.  These constructed people are a method of trying to project the concepts of law into a hypothetical third party whose thoughts the parties in the case may discuss.

Very similar reasons were given for why Walker should have been dismissed under Section 455(a): he’s in a long-term same-sex relationship, which means his impartiality is in question.  To really reach this point, it would have to be demonstrated that his personal desire to marry his partner would have to be sufficient that he could not preside over the case in a professional and impartial fashion.  Again, however, there is no fact that can be pointed to in this instance, since the Prop 8 proponents are again basing this conclusion on the fact that he is in a long-term partnership.  If you review the live blog (linked above) at the 10:39 timestamp (and the ones slightly earlier), there is a distinct pattern where it is concluded that having a long-term partnership immediately implies a powerful desire to marry.  Walker never said one way or the other, though, and his silence, absent of any other evidence, can’t be construed as proof of partiality.  In the court’s order denying the motion to vacate, it exposes the crux of the issue:

A well-informed,thoughtful observer would recognize that the mere fact that a judge is in a relationship with anotherperson–whether of the same or the opposite sex–does not ipso facto imply that the judge must be sointerested in marrying that person that he would be unable to exhibit the impartiality which, it is presumed, all federal judges maintain.

Things might have been different if Walker had issued remarks in the public record about an obsession with marriage, with how the case was the only thing standing between him and being married, etc.  It’d show a massive emotional investiture in a major outcome.  He didn’t.  Furthermore, there is a lingering suspicion on the part of the proponents of Prop 8 that all same-sex couples must be practically obsessed with their ability to marry, to the point that Prop 8 is the only thing stopping them.  I’m pleased to see sexual orientation invoked in the “reasonable observer” test, because one can point to many unmarried long-term opposite-sex couples.  Why would a same-sex couple be any different?  People choose to marry for their own reasons in their own time.

That really seals it, but there are some extra parts with respect to the argument that Walker’s failure to disclose creates reasonable doubts about his impartiality.  Such an argument is, effectively, flipping the script.  It makes the assumption that, should you find out something about a judge you consider a threat to impartiality, the judge must have already known this, too, and decided to remain silent on the subject.  Silence, however, does not imply motive.  You can easily make an alternative motive the the one presented– the judge considered everything and concluded that s/he didn’t have any threats to being impartial.  Silence cannot be considered automatic evasion, and to accept this argument basically means that it’s possible to accuse a judge of being impartial whenever one of the parties finds something that s/he doesn’t like.  This completely subverts the system of presuming judges can take their oaths seriously and creating rules for challenging that assumption.  To adopt such a stance would be damaging to the integrity of the judiciary:

Contrary to the intent of Section 455, which was designed to preserve judicial integrity through practices of transparency, it is clear that fostering the practice of commencing a judicial proceeding with an extensive exploration into the history and psyche of the presiding judge would produce the spurious appearance that irrelevant personal information could impact the judge’s decision-making, which would be harmful to the integrity of the courts.

And that pretty much sews it up.  I see this not only as a positive result for marriage equality but a major re-affirmation of judicial integrity and impartiality in light of questions about sexual orientation, which itself is somewhat novel and relevant.  In addition, and this could just be my own armchair quarterbacking here, I think that the motion to vacate was an intentional tactic on the part of the Prop 8 proponents.  It’s been many months since I read Walker’s judgment, but I seem to recall it having a large number of findings of fact that leave the proponents’ case significantly wanting.  Under a de novo standard of review, the 9th Circuit would be able to provide an independent conclusion regarding questions of the law in the ruling but they would be working with the lower court’s records and findings of fact.  While I found Walker’s application of law in the case fascinating and damning, I could envision debate about it.  By comparison, the findings of fact will be the basis for review, and the Prop 8 proponents don’t want that.  Their only hope is to vacate the judgment and get a new trial and better facts.  That tack failed.

I do believe this is good all around.  Aside from any further motions, the next battleground will be regarding standing.  I’ll, hopefully, be back in autumn on that.

Share:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks

Switch to our mobile site