Wednesday, June 23, 2010

Video Phones - The Future is Here

It's more than just marketing, I do believe this will change everything. I teared up when I saw the two people signing; a phone for deaf/hard-of-hearing folk, wow. Finally, after over 10 years since the Earth: Final Conflict props made me wish for video phones, the first generation has arrived. It won't be perfect, it will take time to go mainstream, but it's here. We're here. The future has arrived, and we get to live in it. How cool is that?

(Full video available on Apple's site: http://www.apple.com/iphone/features/facetime.html#facetime-video)

Monday, May 17, 2010

Paul Isaacs

Last night, my friend and coworker Paul Isaacs died from cancer, passing peacefully, surrounded by his wife and daughters.

Though I never had Paul as a classroom teacher, he became a mentor in my life in ways words can’t describe. The way he lived his life was a model I respected and admired. His wry sense of punny humor cracked me up almost every time. And his down-to-earth, welcoming voice calmed and gave a sense of peace.

As I’m discovering, befriending members of an older generation comes with a price. Though God alone may count our days, there exists an inherent likelihood that my older friends will die before me, perhaps long before me. I continue to struggle to wrap my mind around that reality. Simply put, I don’t want to.

Life rarely waits for anyone to “be ready”, though. And so, on the same day that I attended a wedding, heard God’s love spoken into my life, worshipped, prayed, cried, and even ran mundane errands, Paul had his last hours.

I found out this morning, the first email came from a mutual friend and coworker a little before 9:00. Official word from Paul’s principal came almost an hour later, after much of Facebook already knew. Finally, later in the day, we were given the go-ahead to post something on the school’s home page.

Days like today ignite in me a passion to work in the news industry. We live in a flat world, the word has to get out, people have to be told. To wait an hour, or worse, half a day, is unconscionable. News ought be instantaneous to the greatest degree possible.

Today God and I aren’t on good terms. If I’m honest, I’m pretty much pissed. Paul was younger than my parents, he has kids about my age, and he was a good man. If ever one needed proof that “only the good die young”, Paul epitomizes that. How God could allow this, why God offers healing to some but not others, these are the questions I’m battling. And I’m angry, and I’m sad, and I’m frustrated, and I’m torn.

And it’s okay, because God is big enough to handle my anger, my frustration, my questions. And it’s okay, because some day I will find peace. Maybe not answers, but peace. Paul did. His family did. I can too. Eventually.

Just not today.

Tuesday, May 04, 2010

Multithreading with PHP

It’s "not possible" according to Google. And maybe true multithreading isn't, but by modifying another user's code I found on PHP.net, this solution worked pretty well for me:

http://www.php.net/manual/en/function.proc-open.php#97713

Now a script that would have taken well over 10 minutes to run takes my server only 1 minute. Sweet.

Saturday, March 06, 2010

A Loving Argument

Argumentative by nature, I’ve been in my share of heated debates. Recently I posted a controversial news item on my Facebook wall, and one of my friends sent me a message challenging what I had written. That’s nothing new - for me, Facebook is all about starting conversations.

What is new, though, is the attitude of his letter and our subsequent responses back and forth. I’ve had written debates with this friend before, and today I realized what distinguishes our disagreements from just any typical argument: we share a love and respect for one another that transcends our differences.

Truly, writing my responses today felt very different from any other confrontational message I’ve written. And it took me a while to pin it down. But once I did, it hit me deeply. And it also set me at ease. Yeah, I’m still out to prove a point, to “defend” my side of the issue, but I didn’t feel as intense/aggressive/antagonistic as I normally would. I also realized: I’m actually okay living with the disagreement, because I respect this friend, and even though we disagree on a lot, that just means we have more to talk about :) The brotherly love is stronger than the argument, and that’s really cool to experience.

Monday, February 15, 2010

Fjeldberg Lutheran Church

Last week I visited friends in and around Ames, IA, and Sunday morning, before heading home, I attended a service at Fjeldberg Lutheran Church in Huxley. It’s a traditional-style ELCA congregation, but they caught me off-guard by using a slightly altered liturgical setting that I hadn’t experienced before. Throughout the whole service, there were definitely elements of the familiar: the creeds and Borg-like recitations I’d grown up with. But there were also new things, musical responses where I wasn’t expecting a musical response, or even more scary: different music with a traditional text.

Okay, it wasn’t really scary. It was actually a nice change from normal. Previously I’d assumed all traditional Lutheran services are made more or less equal. Apparently I was wrong. This service was just different enough from both my parents’ church and the student congregation at St Olaf to make it unique in it’s own right, while still retaining enough elements of the traditional to remain familiar.

And so I determined that it’s more challenging to follow along in a service that uses only a slightly different liturgy, verses a service that’s completely non-liturgical, where you’re always on guard for what might be coming next. At Fjeldberg I was never sure when to let my guard down, when it was safe to sink back into rote memory, and when there was going to be a new melody thrown at me.

I got plenty of practice sight-reading last Sunday. And I loved the challenge.

Monday, February 08, 2010

Partly Cloudy with a chance of Sermon

In watching all the special features in my DVD collection, tonight I watched the Pixar short called Partly Cloudy (this short was played before Disney's Up in the theatres). Ever since I first saw it in the theatre, I knew there was a deeper theological meaning I should be getting (albeit perhaps eisegetically; I won't claim that Pixar intended this deeper meaning). And then tonight, watching it again, I once again felt that tug: "there's something deep here, figure it out".

After pondering for a few moments and failing to think of anything brilliant, I turned to Google. Who would have thought a search for "partly cloudy pixar theological message" would turn up anything useful? But it did.

http://www.firstthings.com/blogs/theanchoress/2009/07/07/caritas-in-veritate-by-b-16-pixar/

Some, and by "some" I mean "all", of the quotations from Pope Benedict's encyclical went over my head, but the author's explication of Partly Cloudy's theological implications down right made me tear up. Taken with the blog author's interpretation, Partly Cloudy becomes an incredibly poignant 5-minute movie illustrating God's unique love, and unique Call for each of us.

I know Your Call won't always be easy, yet here I am Lord. Send me.

(turns out the video link on the blog doesn't work; the video is available here, though: http://www.redbalcony.com/?vid=24992)

Red Condor / Visi Bouncing Emails with Error Message "554 Failed: Malformed MIME header (in reply to end of DATA command))"

For the last two weeks I've on-and-off been puzzling over this issue: every email sent to users at visi.com from a PHP script I wrote bounces back with this error message: "554 Failed: Malformed MIME header (in reply to end of DATA command))".

Today I finally found the solution.

In my early searches, Google had nothing useful to say, so I'm writing this post in the hopes of helping some future PHP programmer who's banging his or her head against a wall in angst.

Here's the setup: for our online back-to-school / class registration system at Minnehaha (that I wrote), there's a PHP script that allows users to reset their forgotten passwords. Part of this process involves sending them an email with a unique identifier. The problem is that email wasn't always being delivered: users with visi.com email addresses did not receive their message. After examining the web server's logs, I discovered the error message above, something about a malformed MIME header.

I emailed Red Condor, Visi's filtering service (their name showed up in the log next to the bounce notice), and they wrote back in about 10 minutes. Literally. I was floored at how quickly their tech support responded.

Our first place of investigation was my custom headers. I need these so that the message is sent as HTML instead of plan text, but since it's human-made, it's the most logical place for a mistake. The PHP code looks something like this:

$headers = 'MIME-Version: 1.0'."\n".
'Content-Type:text/html;charset=iso-8859-1'."\n".
'From: Name <name@domain.com>'."\n";


One possible culprit was the line endings. The mail message spec dictates that all lines in the header need to end with \r\n (carriage return and a new line. For those too young to know what a carriage return is, Google for "typewriter"; it's an old-school laptop our parents and grandparents grew up using). If you'll notice, in my code above, I only have \n, not \r\n. IMPORTANT NOTE: If you're running PHP on a UNIX or Mac OS X server, the mail() command will add \r for you! So if you manually put in \r\n, you'll end up getting \r\r\n, which is bad.

So as far as I could tell, my headers were all correct.

Next, I manually grabbed my entire inbox from the mail server and examined it in a hex editor (Mac OS X users I recommend a free program called Hex Fiend). All my line endings were as they should be (Hex values 0D 0A).

I emailed back and forth a few times with Red Condor, and my tech support person suggested I capture the email coming from the server before it gets to the mail server, and then send them those bytes. I spent a day trying to figure out how to get PHP to dump an email into a file before giving up. I thought I'd never find the solution, until...

RC tech support suggested I try a packet capture.

Well that sounds fun. I know the concept, and I found a free program (CocoaPacketAnalyzer) to let me do it easily, but could I really find what I was looking for?

Yes, turns out.

I started a capture on the webserver, told the script to send an email to one of my Visi users, and then examined the packets that were sent. After a little searching I found the packet with the actual mail message, and here's the gold: all the bytes were correct except for the X-PHP-Originating-Script header, which had the dreaded \r\r\n trailing it.

How the heck do you get rid of that? It's not an error in my custom code, it's an error in PHP's mail() code!

Our network consultant Dan suggested I disable that header to see if that would solve Red Condor's rejection issue.

Google was helpful on this front: you can disable the X-PHP-Originating-Script header by setting mail.add_x_header = OFF in your php.ini file (and then restarting web services, obviously).

Turns out, disabling that header ALSO removed the extra \r. In my next packet capture, the extra byte was GONE and the email sent successfully, no more bouncing.

It's always something so small, so innocent. I don't know if Red Condor was rejecting the X-PHP-Originating-Script header or was just unhappy about the extra carriage return byte, but either way, I'm happy it's solved!

Thursday, February 04, 2010

Two Coins

Joanna and I have been hitting it hard this past week polishing up draft 2 of the FAR AWAY screenplay. We finished around 1:30am this morning, and I once again sent the script out to a lengthy list of friends and filmmakers for feedback.

Because of all the work we’ve been doing on the script, I’ve had no time to keep up with my RSS and podcast subscriptions until tonight. So this evening, as I was catching up with the posts from IMMD (ItMadeMyDay.com), I read this:
My 8 year old son wanted to donate money to Haiti after hearing a radio story about how difficult it is to get food to people right now. I expected $10, he gave $100 (half of his lifetime savings)! IMMD

Wow.

I mean, sure, even though January and February are both rather fiscally difficult months for me, I threw some money at the Red Cross after the earthquake. But not half my life savings. Not even half my paycheck for that week.

Now one can make an argument that, unlike the 8-year-old, I have other financial responsibilities: a house payment, food expenses, gas for the car, etc, that keep me from being able to donate at that percentage level. I don't think these are invalid, or even inappropriate, excuses. But they are excuses, nonetheless.

Last year I donated more to charities than any previous year in my life, and I'm hoping to best that again in 2010. Granted, having a full-time job sure helps :) But even so, I know I won't come anywhere close to what that 8-year-old did.

As he looked up, Jesus saw the rich putting their gifts into the temple treasury. He also saw a poor widow put in two very small copper coins. "I tell you the truth," he said, "this poor widow has put in more than all the others. All these people gave their gifts out of their wealth; but she out of her poverty put in all she had to live on." - Luke 21: 1-4

Sunday, January 17, 2010

Hiro Nakamura’s Real Super Power

NBC’s Heroes has recently taken over my life.

Okay, that’s slight hyperbole.

Many months ago, after getting hooked by a friend, I bought the first and second seasons on DVD, and now, after being home sick for over two weeks, I’ve not only had the chance to watch them, but also found myself addicted.

When I started watching the early episodes, I cringed whenever the Japanese heroes, Hiro and Ando, had a scene - I found them annoying and purposeless. As I’ve continued to watch, though, Hiro has become my absolute favorite hero (well, aside from Claire, of course).

Why?

Because he has the awesomest super power. That’s right: awesomest.

Hiro can stop and manipulate time, jump forward into the future and backward through history, as well as teleport himself and others anywhere on the globe. That’s pretty cool.

But Hiro’s real super power, the one I so admire, is his ability to see the world not as it is, but for what it should be. Hiro is an idealist, and I wish I shared in that super power.


After watching some of the DVD special features, I have also grown a tremendous respect for Hiro’s actor, Masi Oka. In addition to acting, Masi is/was a special effects software engineer, meaning he wrote the software used by the special effects animators on some big Hollywood movies. And Masi has worked as an animator at Industrial Light and Magic.

Seeing a computer-nerd-turned-actor who understands both sides of the camera absolutely warms my heart, and thus I have developed a great personal respect for Masi.


So, to all three people reading this blog: if you watch Heroes, who’s your favorite hero? Why?

Monday, December 07, 2009

Why I believe the Manhattan Declaration causes more harm than good

One of my friends recently blogged about something called the Manhattan Declaration. It’s a 7-page letter drafted by 3 conservative Christians expressing their opinions on how Christians should respond to several hot social issues.

After reading it, I found myself shaking, vastly disappointed not only in those "Christians" who created the Declaration, but also those who choose to endorse it. The Declaration claims to speak for Christians. Instead, it makes me ashamed to call myself one.

With my frustration vented in those words, the easy course would be to stop here. Instead, I feel I need to go into detail, to explain exactly why I’m so upset. I write this out of my own frustration, but also because I care: I care about seeing reform in the Church, and I see the Manhattan Declaration as moving us in the opposite direction from where we should be headed.

The Declaration itself appears to encourage such a reflection:

We call upon all people of goodwill, believers and non-believers alike, to consider carefully and reflect critically on the issues we here address as we, with St. Paul, commend this appeal to everyone’s conscience in the sight of God.

And so, after many hours, here is my critical reflection:




Preamble


The Declaration’s preamble lists some of the good things Christianity has done throughout history. There are some true gems in there: caring for the sick, fighting slavery, fighting for civil rights, etc. Yes, the Church has done some good. The authors conveniently forget things like the Crusades, the suppression of scientific advances (the earth is the center of the universe, remember?), the oppression of women (which continues in modern day Catholicism and several other denominations), etc. But in all fairness, none of those are core issues at stake, and being that this is a religious, not historical, document, I’m okay letting it slide. So, really, nothing terribly objectionable in the preamble.




Life


1) Abortion


The authors deserve great credit for including this statement:

We will work, as we have always worked, to bring assistance, comfort, and care to pregnant women in need…. [The] truly Christian answer to problem pregnancies is for all of us to love and care for mother and child alike.

This is a well thought out and healthy response, they did well here. Because I’ve gone back and forth in my views on abortion, while I personally [currently] disagree with their viewpoint on the immorality of all abortions, I can, on this topic, simply agree to disagree. If the authors and signers fulfill this social promise to care for the pregnant women in need (or, if not completely fulfill, at least give a good faith effort), then more power to them, and kudos.

With that said, though, I must also acknowledge the necessity of separation of church and state, something for which I have only in recent years gained an appreciation. By this I mean: the authors, and the Church, are welcome to hold their stance against abortions, but they ought not decree law, because, at least in this country, we are not a theocracy.

2) Embryonic Research


Sadly, the church has often stood opposed to science and scientific advances, so to hear that view reiterated in yet another modern day context doesn’t really surprise me.

At issue here is the question of when life begins (vs "potential life"), for which, to my knowledge, no one has yet produced a solid, definitive, and scientifically credible answer.

Personally, I believe there’s great potential benefit in embryonic research. To imagine that we could one day rehabilitate spinal injuries, I think it would be irresponsible not to pursue these advances. But I also don’t see this as a core issue of Christianity (in fact, *nothing* in the entire Declaration seems to be an actual core issue… hmm…), so again, I’m willing to agree to disagree.


3) Euthanasia


Death is tricky. When it comes to end-of-life care, I generally put it in these terms: what would I want if it were me or my family? My parents and I had that discussion a few years ago when Terri Schiavo was in the news. We all agreed: none of us wanted to be in that situation.

Heart-wrenching, end-of-life decisions are difficult enough, and thus belong solely in the hands of the family, their pastors, and the doctors, not politicians or religious protestors.

The flip side: opening the door to any form of legal euthanasia quickly becomes a slippery slope issue. The Church is right to be concerned and to encourage just legislation... but along with that comes a responsibility to approach the issue with intelligence. End-of-life decisions for patients with no chance of recovery in no way equates to eugenics, as the Manhattan authors seem to suggest.

I believe the message here ought to be: leave this one in the hands of individual pastors, rather than trying to apply a blanket, catch-all rule. Life and death are far too complex for that.

What the authors leave out


Left out of the discussion are capital punishment and war, in my opinion the most important "sanctity of life" issue. (There is one passing mention of war victims, but it’s barely noticeable). If the Church ought to be riles up about anything, I would want it to be riled up about these two issues. Unlike the issues the authors do bother to discuss, capital punishment actually affects living people, is morally dubious at best, and promotes punishment rather than rehabilitation - these are not New Testament ideals. (yes, the Old Testament condones capital punishment, but set in context, the OT law is one of the most progressive ancient world legal systems, on par with the Code of Hammurabi)

Related to war, one of the most important questions we can ask: why is my life as an American any more valuable than that of a non-American? If the Church truly wants to be counter-cultural, this would be a good place to start.


Marriage


I’ll lambast in a few moments, but first I must acknowledge some true pieces of gold. The Declaration rightly expresses concern over the dramatic increase in out-of-wedlock birth rate, infidelity, and divorces. They go on to state:

To strengthen families, we must stop glamorizing promiscuity and infidelity and restore among our people a sense of the profound beauty, mystery, and holiness of faithful marital love.

Amen. Well spoken. And I wholeheartedly agree. Hollywood and popular culture have cheapened marriage, and that saddens me. The Declaration authors are right to express their concerns.

Unfortunately, my agreement ends shortly thereafter. The Declaration goes on to, in my words, "lovingly condemn" homosexuals. Here’s what I mean. The authors do acknowledge that:

We, no less than they [homosexual persons], are sinners who have fallen short of God’s intention for our lives. We, no less than they, are in constant need of God’s patience, love and forgiveness.

On very basic principle, taken out of context, I agree with that statement… in that I agree ALL persons "have fallen short". And I truly must commend the authors on delivering what is perhaps the most gracious and loving language I’ve seen from the conservative’s camp on this topic. Seriously, their attention to nuance is inspirational, and at the very least, I pray that those who are more conservative would take what the authors have written to heart. There is some actual good that could come from it.

But the authors grievously err in their presupposition that homosexuality is inherently sinful. This is the hot button for me, since at least half of my closest friend group is GLBT, and some of them are in committed relationships more honoring to God than many heterosexual couples I know. I honestly can’t believe that the Church is still up in arms about homosexuality, seeing as it’s mentioned exactly 0 times in the Gospel (so clearly it was of fundamental importance to Jesus, the person we’re supposed to be imitating... wait…)

There are a few Biblical verses from Leviticus and Paul’s letters that are always used to condemn homosexuality, but these all speak of lustful acts performed in order to shame God (much the same as heterosexuals do all the time… except no one is persecuting them), and not about committed, monogamous marriages as we see them today. There are plenty of laws, for ALL people, heterosexual and otherwise, about sexual purity, but none that actually address homosexual marriage commitments. To any who disagree with me, the burden of proof is on you to provide any Scriptural evidence to the contrary. (I’d also add, if you bother to read Leviticus, in addition to sexual purity laws, it also commands believers to stone anyone who works on the Sabbath, to stone adulterers, and not to weave cloth from two different kinds of thread. I’m always curious why the conservatives don’t ever try to enforce these laws...)

The Declaration expresses concern about "family values". I would pose this question for consideration: how are "family values" threatened by monogamous, committed, publicly accountable marriage covenants between two people who love each other and want to raise a family? That seems like a pretty good definition of "family values" to me. Why should gender matter?

The Declaration goes on to purport that allowing equal marriage rights will lead to polygamous or incestuous marriages… I don’t know any effective method of arguing against irrationality, so my only response is for anyone who actually believes that to go out and talk to a gay person, rather than about them.

Now here’s what really doesn’t make any sense to me: in the Declaration’s previous section, discussing "life", the authors say the following:

We call on all officials in our country, elected and appointed, to protect and serve every member of our society, including the most marginalized, voiceless, and vulnerable among us.

The Bible enjoins us to defend those who cannot defend themselves, to speak for those who cannot themselves speak.

I can’t possibly be the only one to spot the irony: the authors first claim a desire to serve and protect the marginalized, those who are defenseless, but then proceed to attack one of the most commonly marginalized groups today: the GLBT community. Does Christian hypocrisy surprise me anymore? No, of course not, we’re all human. But it does disappoint me. The authors would do well to read their own work, perhaps it would enlighten them.

More importantly, though: how is a GLBT Christian supposed to respond? I’m a straight, white, middle class American male, I have it pretty easy in life, and this isn’t an issue I’ve personally had to wrestle with. But half of my closest friends have. How does one choose between their faith in God and their sexual identity? It’s as perverse as if asking an African-American to choose either their ethnicity or their faith. The homophobia and prejudice presented by the Declaration is as vile as racism, sexism, and religious intolerance. It’s saying that being the person you were born is a sin. I thought we’d moved past that in this country, and so it saddens me greatly that the Church, of all organizations, should be the one promoting continuing persecution. Have we learned nothing from the civil rights and suffrage movements?

For over 260,000 signers of the declaration to date, the answer is apparently "no".

I find it revolting when fear and prejudice try to hide behind God’s name.

If individual churches choose to oppose to equal marriage rights, I suppose that’s their prerogative. To those churches I say this: remember the separation between Church and State, and keep your hatred, fear, and prejudice out of my legislature.


Religious Liberty


I was hoping this section might have discussed the recent trend of saying "Happy Holidays" instead of "Merry Christmas". Because I might have been in agreement with the authors had they touched that subject.

No such luck.

1) Conscience Clauses


The authors express their unhappiness that Christian health-care professionals are forced to refer or perform abortions. While I can appreciate such a person’s plight, each individual chose that profession, and with accepting their job agreed to do their job.

The Declaration also laments the closing of a Catholic adoption agency because they discriminated against GLBT adopters. I believe that’s referred to as "illegal discrimination"… I guess I don’t understand what part of "illegal" didn’t make sense to the authors...

One of my friends was fired from her job at a so-called "Christian" Bible camp last summer. It was her second year, she’d worked there the previous summer, was well-liked, had many friends amongst the staff. But it came out that she was in a loving, committed, Christian relationship. With another girl. She was told to choose: leave her employment, or leave the girl she was dating.

I wish she would have pursued legal action; unfortunately, the camp will get away with it.

2) Hate Crimes Laws


The authors are concerned that new legislation will prevent pastors from preaching against homosexuality and abortion from the pulpit.

I’m undecided here, because there is that line between Church and State. As for abortion, while I disagree with the view, I’m inclined to say such speech is protected under the 1st Amendment. I don’t particularIy see the church alienating those who have had abortions, but if that’s what the pastors really want to do, I think it’s their right. I can at least hope they’ll approach such a topic with a view of love and reconciliation.

As concerns anti-homosexual speech from the pulpit, this equates to no less than preaching about hating black people, or women, or Jews, or Indians, of Muslims, or anything. Whatever laws govern other hate speech ought also apply to sermons related to anti-homosexuality.

A couple years ago, one of my very best friends, who also happens to be homosexual, and an atheist, was hired as a church secretary. Since then, she has come to believe in God again. What would have happened if that church had turned her away?

The End


The Declaration ends with an invitation to incite civil disobedience against unChristian and unjust laws. Laws that give people equal rights and stuff. Because, of course, it’s not like that’s what our country was founded on or anything. Christianity ought to be defined by who we include, rather than who we choose to exclude from Jesus’ table.

The Declaration was written by leading conservative Christians, and cannot be assumed to speak for all Christians world-wide. Instead of bringing church unity, it instead alienates people like me - people who are already fed up with "the Church". It alienates and marginalizes those who have had abortions, those who are divorced, the GLBT and Christian GLBT communities, and those who have had to make difficult end-of-life decisions for their loved ones. Rather than offering reconciliation with God, the Declaration builds one more obstacle between God and the people He loves.

The Declaration causes more harm than good.