Friday, December 12, 2008

Escape from Formal Systems

A few weeks ago we discussed this Discover article about the multiverse theory. (As an aside it's just sort of funny how when you've been concentrating on a particular subject all kinds of other, related memes come into your consciousness. Synchronicity, I think, is what Jung would call it). You'll remember that just prior to the publishing of the article I started reading Godel, Escher, Bach. While I didn't finish GEB, the part that I did read added quite a bit to my recent intellectual-religio quest. I was particularly struck by a passage early on in GEB where the author is discussing the differences between human thought and AI vis-a-vis formal systems. Humans have the ability to exit any system at will and survey the results, make judgements, or engage in some other system. Machines can, and often do, act unobservantly, i.e. completely immersed in the system. To wit:

How well have computers been taught to jump out of the system? ... In a computer chess tournament ... one program, the weakest of all the competing ones, had the unusual feature of quitting long before the game was over. It was not a very good chess player, but it at least had the redeeming quality of being able to spot a hopeless position, and to resign then and there, instead of waiting for the other program to go through the ritual of checkmating ... Thus, if you define "the system" as "making moves in a chess game", it is clear that the program had a sophisticated, preprogrammed ability to exit from the system. On the other hand, if you think of "the system" as being "whatever the computer had been programmed to do", then ... the computer had no ability whatsoever to exit the system.
Thus, it's all in how you define "the system". How PoMo.

The discussion of formal systems started to get me thinking about both the field of Physics and again my religious quest. Certainly the search for the grand unifying theory of physics is the search for the ultimate formal system. But my hunt for some kind of religio-spiritual truth was also a quest for the ultimate formal system. And, having just finished an election cycle, the search for, or adherence to a particular political ideology involves a formal system too.

If we ever find a grand unifying theory, two problems seem to arise (maybe three). The first is that it would seem that this unification would be subject to Godel's first incompleteness theorem: complete or consistent, not both. The second issue is that such a unification would be an example of a formal system that we (mankind) could not step out of and consider. Third, there's the fine tuning problem.

Here's something that struck me while reading that multiverse article. Certainly in Christianity (or Judeo-Christianity) we have the concept that Man is created in God's image. From a secular, socio-psychological perspective (or as Nietzsche might say), it's not hard to understand why the Man in God's image meme exists. And on the surface that meme seems incompatible with the concept of the multiverse. But it might just be right on. Going back GEB, if a defining characteristic of human intelligence is that it can, at will, step out of a formal system to make judgements or enter into a different formal system, and if human intelligence is created in the image of God, then God must be able to enter and exit formal systems at will too. But what sort of formal systems would a God deal with? Why not entire universes?

If God created the multiverse (i.e. an infinite set of universes), then ours is just one of an infinite number of permutations. Which helps assuage the fine tuning problem (we, then, aren't really fine tuned so much as just a probability). It also clears up the Man in God's Image meme. God can jump from one formal system (one universe) to the next just as we jump from Minesweeper to Solitaire. We inherit it from Him. And it sort of even answers the Godel Incompleteness problem in that whatever unification we came up with obviously wouldn 't be complete for all the other universes.

Yes, cramming the infinite and the unknowable into our puny linguistic constructs and conceptions is whack and narcissistic.

Thursday, December 4, 2008

The Secret of 2.0

I've got a separate post coming specifically on Twitter and it's ilk, but there was a phrase in this O'reilly post that really hit me.

"What's different, of course, is that Twitter isn't just a protocol. It's also a database. And that's the old secret of Web 2.0, Data is the "Intel Inside". That means that they can let go of controlling the interface. The more other people build on Twitter, the better their position becomes."

I sort of knew this, but it took this phraseology for me to really get it.

Two things immediately came into my head: 1) I need to ditch tiddly wiki and get some database backed blogging platform (or write my own). 2) Our typical clientele fundamentally does not understand this.

I'm starting to wonder why our community doesn't take a more Google (or even Amazon) like approach to their data. Aggregate it, put out some APIs and see what people do with it. Concentrate on availability, access, and environment/platform and get out of the way. Things like the DIB and DDMS and the rest of the standardized, top-down approach are starting to seem really heavy handed to me.

Solar Rigs

So I was reading this the other day and it got me to thinking: Who cares about the submarine, why don't we have just the "solar islands"? Imagine if we had huge solar islands (submersible even, so when the storms came they could just disappear for a while) in the same way that we have oil rigs. Or even solar islands that have wave/tidal generators on the underside. The downside of most alternative energy sources like wind and solar is that the equipment tends to exist in out of the way places where it's hard to get the produced energy to the grid. Obviously solar islands will suffer from the same hardship. It's just odd to me that we'd go through the effort of extracting oil from beneath the ocean floor, overcoming all kinds of challenges, yet solar islands (or farms) still are not widespread due to the overland distance thing.

Monday, November 10, 2008

Things I don't have time for: Golf, Religion ... coda.

Any effectively generated theory capable of expressing elementary arithmetic cannot be both consistent and complete.

In addition to being vexed by that proposition, a couple of other things started to move me off of the strict rationalist viewpoint. The more reading I did about this neo-rationalist movement, the New Atheists to some, the more uncomfortable I became with their rhetoric. The science they put forth is great. But it seems that this group is no longer content to let people "have their delusions". For Dawkins, Hitchens, et al, religion is dangerous. To be fair, this sentiment really solidified after 9/11 for that group. I don't want to rehash all of that. I understand the point they are making, but the more aggressive their speech gets about the dissolution of religion the more they sound like the lesser essays in TPA. When it's about the science it's fascinating. When it's about listing all the ills of religion, it's tedious. Bill Maher is the prototypical manifestation of this.

Additionally, as I mentioned last post, the rationalist re-education was still not complete. Maybe could never be complete. I couldn't shake this ... yearning for something. No matter how much sense the science made. Still though, the results of my Catholic experiment were never going to change. This is when, unexpectedly, Zen, of all things, started making sense to me. I think mainly because it's mum on the whole Godel imcompleteness thing (Zen would say that any sort of system is a figment of our imagination and so who cares about complete or consistent). Plus Zen doesn't have the "baggage of events". That is, things that are expected to *happen* and therefore are *verifiable*. I was thinking about Christianity today along those lines. How it waits for the end of the world. It's been 2000+ years and it hasn't happened. How long will the world go before people don't care/aren't fearful anymore? What if 2000 years is less than a nano-second in GodTime? What if the six billion years of the earth is a nano-second? And in another nano-second (i.e. another six billion years)
God destroys his creation? The entire history of the universe might be the blink of his metaphorical eye. Yet people right now are waiting for it. That whole "like a thief in the night" seems kinda ridiculous at times. That's the probelm with Christianity: specificity. And maybe that's why Zen makes sense to me at the moement: Lack of ... well anything. :)

So here I am ... a Zenful quasi-rationalist agnostic, unsatisfied as always. I wonder if it's part of the human condition to look to/for something outside the physical world or if it really is the God Delusion.

Tuesday, October 28, 2008

Things I don't have time for: Golf, Religion ... pt. 3

For whatever reason, a name that kept showing up on my meme-dar was Kurt Godel. I had, at some point, stumbled on his incompleteness theorem(s) and was captivated. I remarked to Ray (only somewhat tongue in cheek) that I thought it was sort of obvious. Specifically his first incompleteness theorem really spoke to me.

A while back I had read The Trouble With Physics by Lee Smolin and enjoyed it a lot. The author starts out by stating the five unifications that are missing from the current standard model, and goes on to describe the, as yet unsuccessful, efforts to round that model out. Whenever I think of Godel's first theorem I often think of this book, and the folly of looking for a complete system to describe the world, and the asaninity of stating, exactly, what you don't know.

Just recently, since I had Godel on the brain, I decided to plow through Godel, Escher, Bach. I'm just in the very beginning (strange loops). At one point, the author describes the shock and consternation when it was put forth that there are actually multiple different geometries beyond just Euclidian. Not all that alarming, until you consider that the idea, and subsequent debate, happened in the 1930s!!!!

It was only after reading about these multiple geometries that it occurred to me that my critique, or disdain for the current state of theoretical physics was somewhat at odds with my newly fashioned rationalist point of view. As I mentioned earlier, I was already having trouble fully excising all the residual spiritual thoughts, and now I'm confronted with an apparent incompatibility with my shiny new system. Not good. I had just figured everything out for God's sake! :)

Things I don't have time for: Golf, Religion ... pt. 2

The rationalist worldview that I adopted also dovetailed nicely with my interests in theoretical physics, astronomy, and math. So for a time everything fit together nicely. I wasn't "struggling" with competing worldviews that were inherently at odds. The rationalist view fit into this all-or-nothing mindset I described in the last post. There weren't any compromises necessary, no interpretations, no POMO deconstruction or relevatism. If nothing else, everything was a math equation at bottom and people tend not to argue with math :) . I felt like I had a "system" that "made sense" and that I could be at peace with. At least at first.

It turns out that it was a fair amount of work to re-train myself to think like a rationalist all the time. Whether it was due to Catholic upbringing or my study of Religion or D&D fanboydom, I kept catching myself thinking of non-empirical, non-rational, spiritual type things. I would have conversations with myself reminding myself that I don't believe that stuff anymore. It really turned out to be (mental) work. Not as arduous as living the conservative Catholic life, but work still. But all I had to do was read some more Dawkins (or listen to some evangelical Christian) to know that I had made a wise choice.

But always in the back of my mind ... this ... loneliness over the fact that, illusion or not, all the "other stuff" was now gone from my worldview.

Friday, October 24, 2008

Things I don't have time for: Golf, Religion ... pt. 1

You'll remember that about the time you started getting really good at golf I swore it off. My reasoning was that, in order to enjoy playing, I wanted to be somewhat proficient at the game, and I was only going to get proficient through practice. Practice, it seemed, was going to take not only time and money, but some sort of commitment too, and I knew that it wasn't going to happen for me on any of those fronts. So, rather than continuing my normal pattern of playing two or three times during the summer and just enjoying being out there, I decided to quit the game altogether. Can't/won't practice, can't/wont improve, game gets frustrating, no point in playing. Or something like that. It's an all or nothing position. If I can't do it right (or more accurately: the way I want) then cut it out completely.

What does this have to do with religion?

About the same time I swore off golf I went through a long period of spiritual reflection and general introspection. We've not talked explicitly about this thus far, so let me get some things on the record for context purposes. I was raised Catholic, baptized and confirmed. Both sides of my family are Catholic (save for some delusional fake orthodox members ... which is really another post). Jen is Catholic as well. Both our kids are baptized. However, I'm what you might call a "non-practicing Catholic". I took a comparative religion class in high school when I was 16, and never really looked back after that. The more I learned, the more difficult it got to think of the Church as the inviolate entity it claims to be. Trite, I know.

So, as it goes with kids, I started to think about how we would raise them. Is there any benefit to being "raised Catholic"? What sort of internal pressures there would be? etc. Jen and I decided to raise the kids Catholic (need to double check that that's still the case :-) ) and I figured that if we were going down that road that I should get my own spiritual junk in order. Hence the aforementioned period of introspection.

It ended up being a fairly long and intense period. Kind of unproductive too. I felt constantly agitated, and ultimately nothing really appealed to me. Nothing made sense. Nothing identified itself as a construct that I could view the world with. Throughout this period I experimented with being a good Catholic. Went to Church every Sunday. Read the Bible each night. Read commentary on the Gospels (which actually was very interesting). Prayed even. I decided that if anyone was going to "do Catholic" in this family we were going to do it right. So I sat down with the Catechism of the Catholic Church and starting reading about what the expectations are.

That lasted all of 20 minutes. You cannot live by the catechism without being a monk. Just not possible. Well that's not true. But it *is* really hard (not that the religious life is supposed to be easy). I just couldn't see forcing *that* kind of rigor on my family and living *that* kind of life. Besides I felt like I was faking it. And in a sense I kind of was faking it. The problem is that I never really made the intellectual commitment to it. And secretly the time and money sink(s) annoyed me. Sure, I could continue going to church. Continue sitting for an hour each Sunday listening to stuff I didn't really believe, frustrated that the kids won't sit still and that I could be running or something instead.

So I decided to just stop it all. Just like with golf. If I wasn't going to be a good Catholic, and really *get* something out of church and religious life and actually live it the way it's supposed to be lived, then what was the point? Like golf, if I wasn't going to commit to religion, then why bother doing any of it at all?

Nothing else during this period really spoke to me either. I picked up several books on religion that were teenage favorites and just couldn't get into them. Similarly, my favorite Philosophers weren't really helpful either (Epictetus, Aurelius, Eckhart, Spinoza, etc). Then ... on a whim ... I picked up The Portable Atheist. Wow.

Now I had been meandering toward a very naturalist/rationalist worldview on my own, but TPA really pushed me over the edge. It's not a fantastic book, in fact I think it devotes too many pages to essays that merely point out the shabby or depressing things that people have done in the name of religion over the years. But when it's good, it's very good. The essays by Carl Sagan, Primo Levi, Steven Weinberg, Richard Dawkins, et al. were outstanding. After months of searching, reading, thinking I had finally found something that stirred me. Something I could get onboard with. Specifically there was a passage from Steven Weinberg's essay that really got to me. I think I've mentioned it to you before. It's the one where he says he can understand religious conservatives because:

"... like scientists, [religious conservatives] tell you that they believe in what they believe in because it is true ..."

Weinberg said what he didn't understand was religious liberals because they:

"... seem to think that different people can believe in different mutally exclusive things without any of them being wrong, as long as those beliefs "work for them.""

This is the essay where he coins the term "not even wrong" Religious liberals are not even wrong in Weinberg's view. This passage, along with Primo Levi's anecdote about a man in a concentration camp praying and thanking God that someone else was chosen for execution, added to my failed attempt at playing the religious conservative, made it seem like uber-rationalism and atheism might be for me. Plus it's trendy. :)

Tuesday, October 21, 2008

Pottery and the Workplace

A really interesting entry this one from Coding Horror: Quantity Always Trumps Quality

On first read, I was really, really excited by the ideas presented there. It makes sense: you learn more about programming via the coding process and reviewing the outcome than you do *not* coding and just planning. Way back when I was a rhetoric & composition teacher, I used to teach a very iterative approach to writing: you're constantly going back and editing, rewriting, starting over with new ideas, splitting topics off, all sorts of things. You'd throw away ideas, come up with new ones, and keep working, getting better and better with each iteration. It made sense to my students, too: they really did seem to get better throughout the process, from the beginning of the semester to the end. Coding is very much like the writing process in that sense: the first iteration of a thing is very much likely not the thing you end up with. You'll fix bugs, refactor classes, and roll version numbers.

But then I started thinking, both examples (my teaching experience and the pottery class from the Coding Horror article) have one thing in common: they're both taking place in an educational environment. In both environments, there is very little consequence for short-term failure: you basically get to start over when you throw a piece away. As well, you get to "waste" resources: writing is just paper and pencil (or electrons and photons on a computer and screen) and pottery is clay, so you can basically make something and get rid of it if it doesn't work out.

This is in stark contrast to the workplace where time is the resource in shortest supply. Any time used that doesn't result in some deliverable is basically time wasted, and in the context of coding as a contractor, it's wasting the client's money. So I started thinking again about the writing process The first part of the process was *always* trying to figure out what you were trying to write about, even if eventually you threw that initial idea away. It wasn't necessarily coming up with a formal outline, and it may have even involved writing a few paragraphs and seeing where they led, but there was always some attempt to define where we were going before *really* starting off. (I'm guessing, too, that the pottery students also needed to at least have *some* idea about what kind of piece they were trying to make . . . they probably didn't just throw a blob of clay on and start turning.)

As well, there's another big difference between the educational environment and the workplace: in the workplace, people are assuming competence. The pottery class was training people who didn't have experience in how to create these pieces; it makes sense, then, that the more pieces you can create, the more experience you'll gain. Same in the writing class, where the more you write, the more you learn. It's different in the workplace, though. You're not there to learn, necessarily; you're there to produce quality products. You may learn along the way, you may have educational opportunities, but the primary reason for you being there is to make something worthwhile as efficiently as possible. And that means that you're in a position where you don't throw things away because they don't work: you spend some time planning so that they'll generally work on the first pass.

That's not to say that you won't refactor, revise, throw away prototypes, etc. But the idea is that you won't do that as often if you sit down to plan a little bit and draw on your own experience. So while the article sounds good at first blush, I think it may apply more to hobby projects we have to learn things about new languages or techniques than it does to our professional environments.

Thursday, October 2, 2008

Glassfish first impressions

I decided to experiment with your idea of creating a wiki for my internal home network for the purpose of storing all kinds of useful information that would otherwise be on a sticky note, in a notebook, or in some other ephemeral and easily trashable format. After extensive time looking at the Wikipedia entry for wiki software I settled (for reasons that I will go into in another post) on xwiki. After a quick scan of xwiki's install documentation I noticed that they had instructions for installing to Sun's Glassfish. Since Glassfish was announced I've had some curiosity toward it, but never the opportunity at work to really look at it. I thought that the rehabilitation of my home network might provide the ideal setting with which to give it a spin. So I downloaded it and put it on my webserver and turned to the xwiki documentation for the Glassfish install...

As you know I come from JBoss-land. JBoss pretty much is the begnning and end of my knowledge of J2EE Applicaiton Servers (I know Tomcat too, but I guess that's technically *just* a servelt container). So right away I was annoyed that the first step was to do a:

%java -Xmx256m -jar Glassfish-v2-blah.jar

JBoss for a long time has been a simple download and unzip operation. JBoss4.0.3SP1 experimented with a .jar distribution that you could double click on bringing up a GUI installer, but they abandoned it as the install dialog was too long and kind of confusing. Still though, even the one time JBoss did something other than a .zip, it was still as easy as double click.

The next thing that chafed was step two:

%ant -f setup.xml

Seriously? I need ANT on my webserver just to install the stupid App Server? I don't know how WebLogic and Websphere work, but really, does it need to be harder than unzipping something?

From there it just got worse ... another command line exercise to start the domain followed by instructions to go to the Glassfish webconsole for the deployment of my .war. Again my JBoss bias appears, but deployment can be as easy as drag and drop. Now, having been in the position where I've had to teach others the finer points of JBoss, I wasn't too upset at the Glassfish web console for controlling the server itself. Sometimes editing XML files just doesn't appeal to people. Sometimes it's nice being able to constrain the droids to a user interface. The Glassfish Web console is certainly much nicer and helpful than the JBoss equivalents. My only complaint is that the layout isn't all that intuitive (at least to me). I felt myself groping through the menus to find things that looked familiar. To be fair, I didn't spend a ton of time navigating through the web console and getting familiar with it, but it was opaque enough (translucent?) on first blush that it was clear I'd have to spend some time with the manual. Which brings me to the coup de grace...

The documentation totally $uX0rz. That's if you can even find it. It certainly isn't in big unmistakable letters on the Sun Glassfish site, and there's a bit of circular linking that goes on (including this abomination) before you settle on this page. Oh yeah ... in true Sun fashion Glassfish v2 is really "Sun Java System Application Server 9.1 update 1-9.1 Update 2". You're just supposed to know that. Kind of like SunOS 5.8 is really Solaris 8. I mean why have one name and a consistent marketing thrust when you can confuse and piss people off instead?

In the end I decided that experimenting with Glassfish at the same time I was experimenting with xwiki wasn't such a hot idea (too many variables when it comes to troubleshooting), so I dropped Glassfish and went back to Tomcat in this case (damn you JBoss 4.2.x). I'll likely look in on it later on. Give it some time for all that community written documentation to come pouring in. But for now ... meh.