eric the fruitbatBlog
Sounding out the Noosphere.

Posts from June, 2009

Fully Homomorphic Encryption

Posted by Eric Hennigan
On June 20th, 2009 at 11:06

Permalink | Trackback | Links In |

Leave a Comment |
Posted in Comp*, Ideas

I didn’t know it at the time I posted my idea on secure computing, but others have been working on the idea for quite some time. It turns out that Craig Gentry recently published Fully homomorphic encryption using ideal lattices. For those, like myself, who are not well versed in the crypto terminology, Scott Aaronson provides a nice summary.

First, in what might or might not turn out to be the biggest cryptographic breakthrough in decades, Craig Gentry has proposed a fully homomorphic encryption scheme based on ideal lattices: that is, a scheme that lets you perform arbitrary computations on encrypted data without decrypting it. Currently, Gentry’s scheme is not known to be breakable even by quantum computers—despite a 2002 result of van Dam, Hallgren, and Ip, which said that if a fully homomorphic encryption scheme existed, then it could be broken by a quantum computer. (The catch? Van Dam et al.’s result applied to deterministic encryption schemes; Gentry’s is probabilistic.)

So this essentially fulfills my idea, that in order to take advantage of cloud services, it’s imperative that you be able to store and compute in an encrypted domain. Otherwise, your service provider might spy on you.

Episcopals and Homosexuality

Posted by Eric Hennigan
On June 8th, 2009 at 01:06

Permalink | Trackback | Links In |

Leave a Comment |
Posted in Religion

I have been, for a very long time now, quite fascinated with how certain organizations and people respond to the idea of homosexuality. I am also quite interested in religious belief. So when the two intersect (with the usual fireworks) I can’t possible ignore it. When I heard (through the LGBT center at UCI) that St. Luke’s Episcopal Church in Long Beach was holding a forum on “Coming out to God”, I knew that I had to attend.

The panel wasn’t quite what I was expecting. A normal sized room, with about a dozen people in the audience (one gay couple together for 33years) and 4 people (2 lesbian, 2 gay) on a panel. They simply shared their life’s testimony, and then answered a few brief questions from the audience.

A couple of them had come from a traditional, highly conservative, Catholic background. When growing up, the most powerful aspect of Church doctrine was the “Sin, Confess, Absolution” cycle. God was portrayed as a judgemental god, and required that all his followers repent for their redemption. In this type of environment, being a homosexual is not something that one confesses without horrible social repercussions. So they remained closeted for quite awhile. When they finally did (internally) come to terms with “how God felt about homosexuals” they were able to bear some of the traditional ostracism, by drawing support from a different community: Episcopals.

A couple of the panelists also struggled for a very long time with their personal identity. They were under the impression that God wouldn’t love them unless they were straight. They couldn’t figure out wether the feelings they felt toward the same sex, and the lack of feeling towards the opposite sex, were fixed. One kept hoping for change, the other kept questioning. The text of the Bible didn’t initially help out very much, as it speaks sparsely on the issue (more about this next week). But over time, reality endured, the feelings didn’t change, so the understanding of the Bible did. Each finally came to the understanding that, on the whole, God sides with the oppressed and outcast, the second-class citizens. Each person also came to an emotional realization that God == Love, and that this love is channeled through the support of friends and the community. [St. Luke's in particular has been very active in pro-gay-marriage parades, and an active tightly-knit pro-homo ministry.]

The most interesting thread, that all panelists shared, was that they felt lost without a personal relationship with God, and were afraid of revealing their internal feelings when they conflicted with what is socially right and proper. Having been through an identity search myself, I can relate to this issue. It isn’t something that you willingly share with friends and family, and you can carry the burdensome questions about yourself for a quite a long time (years). Because almost everybody (with varying degrees) has a similar tale (and who wouldn’t during the adolescent transition to adulthood), and nearly everyone is going to have psychological crutches that they use for support during such a time, I can see why the need to have a relationship with God would become reinforced through the resolution of the personal crisis. Especially so when the issue is as deep as coming to terms with yourself as a homosexual, in a society which doesn’t always approve.

In America, the Episcopals have carved out for themselves a niche here. They embrace the plurality, with extended ministries of compassion and love; providing a safe, inclusive haven for the homosexuals outcast from other religions. (One of the panelists effectively lost his friends because they refused to be seen with him in public after he came out). For those that have a religious understanding of the world, the Episcopals have a wonderfully supportive community.

I actually attended so that I could hear the rationalizations that they have to go through to believe in a God that loves them in spite of the literal text in the Bible. But this will have to wait until next week, when one of the panelists gives a speech about what the Bible says concerning homosexuality. So next time, it’ll be back to logical argument; rather than observations about the emotional and psychological support that an inclusive, compassionate, religious community provides.

Building Linguistic Structure

Yesterday, I had an interesting thought. My advisor once made the cultural observation that many people in Computer Science invent their own language and then immediately write a self-hosting compiler. I agree that a compiler is quite a feat of engineering and serves as a nice test case to demonstrate that the language you’ve invented is powerful enough that it can handle real-world complexity. Unfortunately, this test fails in a few important ways.

First, It doesn’t actually show as much as you think it might. There is a very strong filter on failed languages. By using this test the author runs the risk of re-designing the language, specifically to insert constructs that help them build the compiler. Now, this isn’t necessarily a bad thing, except that compiler writing is now a fairly mature field. There are standard abstractions (esp. in the lexing and parsing) that a new language will probably not experiment with. So, the author will usually just build these existing and well-understood abstractions into the new language. Rather than encouraging language experimentation we get more of the same, but with different syntax.

Second, Not all useful languages even have their own compiler. I’m specifically thinking of the domain specific languages (DSL). Nobody would write an awk interpreter in awk; or a mail engine using sendmail (even if it is Turing Complete). These are languages designed to do a specific task, many of them are quite essential to their respective fields, but none of them are self-hosting. Nor should we expect them to be.

My argument here is that the cultural practice of writing a self-hosting compiler is a big distraction. New languages should be for experimenting with new linguistic constructs. We should be looking toward the DSLs, and incorporating their innovations into our more main-stream languages. Right now, we seem to be optimizing our languages for compiler construction.

I’d rather see our languages evolve in a different direction. I’m really eager to witness the birth of an AI. For this to happen though, we need languages for expressing patterns of thought, not patterns of bits. We need the ability to cohesively and flexibly assemble the stuff of thought. I’m thinking Society of Mind stuff here. We need languages that allow for statistical fuzziness, sloppy associativity, and the ability to construct metaphor.

The linguistic tools that we find useful for building compilers are not necessarily the same tools that will help us build a mind.