Mar 26


I’m feeling prescient this morning. From my upcoming play Terms of Use :

 AT RISE: ENTER MISS V. She is a young, beautiful, sexy woman wearing revealing clothing and a come-hither smile. She has a shiny helmet tucked under her arm and she speaks directly to the audience.


Welcome to the amazing world of Vermeerizent! Here, you can live out your wildest dreams. Do and be anything you have ever imagined. See, hear, touch, taste and smell anything - and everything! You'll swear it's all real. Join millions of people from all over the world who visit Vermeerizent every day! It's a whole new world in which to work, play, live, and love. There's no charge and there never will be. And it's easy to use! Just wear this - the V-Helm. Connect it to your network and we'll do the rest! You'll be amazed at how real it all is! So sign up for an account today. Vermeerizent: Free! and Amazing!

A fast-talking DISCLAIMER VOICE is heard as MISS V preens seductively.


Offer void where prohibited. Internet access required to use the service - fees may apply. V-Helm requires refundable deposit. Visit our website today for more details. Side effects may occur. Use at your own risk. Use of the Vermeerizent service subject to Terms of Use agreement.


Come to Vermeerizent. I'll be waiting for you.


Posted in Theater, Virtual Reality, Writing | Comments Off on Vermeerizent
Mar 12

Spinner Icon Generation Script

A potential employer asked me to code up a quick Android application as a challenge. I enjoyed doing it, but in the course of building it I discovered, surprisingly, that “image loading” spinner art was not just a simple web search away – or, at least, I wasn’t able to find any easily. Sure, I could pay for one – but why would I do that? Instead, I quickly cranked out something by hand, so I could submit the application. However, I thought to myself that as soon as I had a moment, I should write a quick script to generate a pretty spinner (prettier than I did by hand, that’s for sure.) Here’s the script:

#! /usr/bin/python

import math
from PIL import Image

def makeSpinner(filename, size, thickness):
    """Make a spinner image. A square image of size x size will be allocated.
    The spinner will be contained in a ring with an outer diameter of size
    and an inner diameter of size-thickness."""

    image ='RGBA', (size,size), 0)
    center = int(size / 2.0)
    radius = int(size / 2.0)

    angle = 0.0
    anglestep = math.atan(0.5 / radius) * (180.0 / math.pi)
    while angle < 360.0:
        bright = int(255 * (1.0 - angle/360.0))
        color = (bright, bright, bright, 255)
        angle_radians = math.pi * angle/180.0
        for r in range(radius-thickness, radius):
            x = round(center + r * math.cos(angle_radians))
            y = round(center - r * math.sin(angle_radians))
            coordinate = (int(x), int(y))
            #print coordinate, color
            image.putpixel(coordinate, color)
        angle += anglestep + '.png', 'PNG')

# Make the spinners for the application.
makeSpinner('ic_progress', 128, 16)
makeSpinner('ic_progress_small', 64, 8)

And here are the outputs of this script. I think they look pretty nice (although the one part that doesn’t show well here is the transparency):




This is just another example of how, right out of the box, with all its libraries, Python is a fantastic and versatile tool. I particularly like the ability to so easily generate and manipulate images! The whole project, including the script shown above, can be found here, on my github page.


Posted in Android, Programming, python, Tools | Comments Off on Spinner Icon Generation Script
Jan 07

Creeped Out or Relieved?

The web has started to serve ads to me for products and services meant to address my suicidal thoughts. That might be fine, except for the part about me not having any suicidal thoughts. I’m not sure whether I’m creeped out that the web thinks it can predict my psychological state, or relieved that it’s so bad at it.

Posted in Random | Comments Off on Creeped Out or Relieved?
Sep 06

Singulariteen: Playwright’s Notes

Fear of the future is part of our condition. We have the amazing power to imagine the deep future, and when we imagine all the things that can go wrong, it’s easy to get alarmed. Global Warming, Economic Chaos, Ecological Collapse, World War, Unstoppable Pandemics: our fears of the future can keep us up at night and even render us paralyzed in our daily lives.

But let’s be honest.  As much as we dread Catastrophe, part of us craves it!  We may even look forward to it, desperately wanting it to happen, in all of its gore-filled glory. Bring it on, we say. We hate our boring, humdrum lives. We hate being locked into a rut, we hate that we’re stuck running a script that somebody else wrote – and once it’s run, it’s done. We’re done.  We yearn for a big event which will disrupt that script and take us off that rail we’re on. Something exciting. Something interesting. A way to really live, even if the whole world has to die in the process. We WANT the Apocalypse!

Prophets have always known this, and this is why Prophecy has always been big business, from John the Baptist to John the Revelator to Ray Kurzweil, and while Kurzweil may be richer than the Johns ever were, their book will never be on the remainder pile. On the other hand, the Baptist’s head ended up on Herod’s silver platter, while Kurzweil’s will likely spend the next several centuries in a stainless steel vat of liquid nitrogen, waiting for his soul to be downloaded into a shiny new synthetic body. He may be in for a disappointment, but at least he is drinking the same Kool-Aid he’s selling.

Meanwhile, life goes on, and even as we imagine we are on the Eve of Some Big Event, we should all be aware of the wise words of Harold Camping, who is rumored to have said, “Prophecy is easy. Comedy is hard.”

Posted in Theater, Writing | Comments Off on Singulariteen: Playwright’s Notes
Aug 28

King, Obama, and the Surveillance State

On the 50th anniversary of Dr Martin Luther King Jr’s speech in Washington, DC, as our first black president speaks at the same spot, it might be a good idea to remember that in that time, Dr King was being spied upon, constantly, aggressively and thoroughly illegally. Dr King was never under suspicion of committing a crime. He was not a terrorist, nor did anyone believe he was a terrorist. At no point in time did any police agency stand before a judge and ask for a warrant to tap his phone, bug his hotel rooms, read his mail and follow his movements. The entire point of the effort was to discredit, harass, intimidate, and silence a man who was engaged in peaceful, Constitutionally-protected, political speech. The vast spying power of the state, justified by a need to fight an existential threat to the United States, was used instead to try to silence dissent. Because that’s what it’s always used for, then – and now.

Oh, and did you notice how well all those FBI agents following King around actually protected him from an actual, real terrorist? Right.

The major difference between then and now is that today, the state has the power to bug each and every one of us as thoroughly as it did King. We each have a microphone we carry around, that the FBI can turn on at will. They read our email. They know who we call and they know what we say. They track our movements. And all of this is done without a court order or even a suspicion of having committed a crime. And it is only a matter of time before the trove of information that is being gathered on us all is harnessed to squash dissent.

President Obama might consider this history when he stands up and talks in Dr King’s place, as his administration relentlessly advances the perpetuation and expansion of the National Surveillance State. He might, but he probably won’t.


Posted in Uncategorized | Comments Off on King, Obama, and the Surveillance State
Aug 28

Teaser for the Next Play

Coming in 2014: Terms of Use.

“We used to imagine that the Internet would be the vessel of our liberation, and it would take us to Utopia. Imagine our dismay as it slowly dawned on us that we were on a slave galley, and hopelessly far out to sea.”

Posted in Theater, Writing | Comments Off on Teaser for the Next Play
Aug 28

Singulariteen is Top Seller at the SF Fringe 2013!

I’m very pleased to announce that Singulariteen, my new Pre-Apocalyptic Nightmare Comedy, is the top seller of advance tickets at the 2013 San Francisco Fringe Festival! We are hard at work getting everything ready to rock a full house, and it’s shaping up to be an explosively funny show. It’s a very good time to get your tickets now and join us!

Posted in Theater, Writing | Leave a comment
Aug 14

On Being Surrounded by Smart and Committed People

I’ve been very gratified to see Singulariteen come together. We’ve been through only a week and a half of rehearsals, and the play is already blocked, the actors are starting to solidify their approaches to their characters, and most of the props are available. I told them last night that I think their audiences are going to be amazed at their work, and I believe that. I’m impressed with the energy and the passion that these exceptional folks bring to this work. It’s really invigorating to be surrounded by their energy.

Posted in Theater | Leave a comment
Jul 26

Announcing the Cast of Singulariteen!

Undefined Symbol Theater is proud to announce the cast of Singulariteen by Patrick M Brennan, directed by Hester Schell, which will have its world premiere at the San Francisco Fringe 2013:

HELEN : Terry Bamberger
GEORGE : Steve Menasche
EDDIE : Marcus D. Lance
SISSY : Emily Radosevich
JESUS : RJ Castaneda
ASPEN : John Lennon Harrison

We are very fortunate to have such talented and professional actors committed to this project. They join a top-notch production team in what is shaping up to be a very exciting show. We are looking forward to making you laugh at Singulariteen!

PS: Now would be a good time to get your tickets, before we sell out! :

Posted in Theater, Writing | Leave a comment