Friday, December 7, 2012

Planet Haskell

I've received a couple of annoyed responses to my recent posting, which was apparently picked up by the Planet Haskell news aggregator. The link I submitted to Planet Haskell was for the feed of my posts with the label 'Haskell', and it's certainly not my intent to spam the list with off-topic material. I'll be looking into this later this evening or tomorrow,but in the meantime, I promise that I don't blog often enough that this is going to be a recurring annoyance.

Christians, Cannabis, and Alcohol

In the wake of the elections here in the United States, Christians here have had plenty to discuss, especially those of us who would broadly call ourselves "conservative" Christians. The citizenry of the U.S. re-elected a President who will continue to enact the broad will of said citizenry. This will of course being that we permit, encourage, and force objectors to subsidize the killing of unborn children; and that we steal (not calling it that of course) to fund the great State-idol which offers the promise of eternal mediocre comfort. This much is plain, and is not so much a debate as a prophetic duty of proclamation, though one which I generally undertake through more individual channels.

But of course, that wasn't the only thing that happened. And one interesting thing that did happen was that Colorado and Washington legalized, at least in some sense, the recreational use of cannabis. Christians who don't take the stance that any consumption of alcohol for recreational purposes is sinful have long been able to deflect arguments by analogy that pot ought also to be OK by pointing to a Christian's duty to obey the government. This is, apparently at least, no longer an option in these two states.

Pastor Mark Driscoll has taken up the issue and published a free e-book entitled “Puff or Pass?”. (Heh.) In forming his response, he quotes Pastor Douglas Wilson's book “Future Men” at length. The entire discussion is helpful, and of course Pastors Driscoll and Wilson are far wiser and more mature men than I am. Further, they both have years of effective pastoral ministry under their belts, while I have zero time in pastoral ministry, effective or otherwise. That said, I will take the line of C. S. Lewis and be as a sheep, bleating to the shepherds and the rest of the flock as an indication that I've noticed an item of concern.

The concern stems from Pastor Wilson's argument, which Pastor Driscoll paraphrases and aligns with:

“ As Wilson sees it, because people use marijuana for the effect, it is a sin to seek such an effect. ‘It is a sin to seek the strong forms of it–getting loaded–and it is a sin to seek the mild forms of it–getting a pleasant, euphoric buzz. If it has done its work as a drug, then that work has been a sinful one.’

“Some may wonder whether a position like Wilson’s means the rejection of caffeine, cigarette, and alcohol use. He is clear that he does not intend to go this far. ‘Unlike wine, for example,” he explains, “marijuana has an immediate effect, within minutes. Two sips of wine tastes good. Two hits from a joint, and the process of intoxication has begun.’”

(Quoting from p. 24—25 of Driscoll, who in turn quotes from p. 173—176 of Wilson.)

The problem here is the counter, which has been too lightly passed over. Is obtaining any kind of pleasurable psychological/nervous reaction to a consumed substance sinful? Well then we would have to condemn eating, which gives pleasure through the nervous and endocrine reactions to digestion, and alcohol consumption of any sort. Two sips of wine tastes good, but that's about as far as one can go without getting a pleasurable reaction besides taste. Given Wilson's writing on, and stated enjoyment of, beer and wine, it is hard to think that he limits himself to two sips of wine at a meal. I do not mean to imply that he goes overboard, but simply that “two sips” is rather generous to his argument. Generalizing a bit: is getting a hug sinful? physical exercise? sexual intercourse within a monogamous and matrimonial relationship? All of these are clearly things are clearly both lawful and good (within their respective limits of course) and yet a great deal of their pleasurable nature consists of endocrine and nervous reactions of the same variety which cause the relaxing effects of alcohol and the “buzz” of cannabis.

Wilson's insistence that the “buzz” from cannabis or alcohol is sinful comes from 1 Thessalonians 5:6-8, where Paul insists that Christians ought not to be drunk. But let us contrast this with John 2:1-11 where Jesus miraculously creates wine towards the end of a wedding celebration. The master of the feast tells the bridegroom that generally the cheap wine is saved until the guests “have drunk freely,” with the obvious implication that the guests have indeed drunk freely and are enjoying themselves. Jesus was encouraging merry celebration which does not seem to have included careful thought towards not getting any effects other than taste from the wine, but rather just the opposite. (Wilson himself has argued similarly: see “Rampaging Christian Wowserism”, particularly the part where Wilson says that prohibition “would have made the Lord Jesus at Cana into a felon.”)

In light of this, it seems to me implausible that the passage from 1 Thessalonians proscribes any form of “buzz” from consumption of a substance. Rather, it insists that Christians not be enslaved to such a thing. The distinction ought to be obvious in our own lives. There is a vast difference between people, like many in my family, who employ alcoholic beverages in celebration and in gratefulness for all of the blessings God imbues them with, and those who employ them to shirk their responsibilities or who are driven by their uncontrolled passions to negligence, abuse, and homicide. But the difference is not between those who experience chemical pleasure from these substances and those who do not.

I am not advocating the unrestrained and irresponsible use of alcohol. I'm not even advocating that Christians consider intoxication (intentional loss or impairment of cognitive faculty by consumption of a substance) to be lawful. My concern is that in arguing against the recreational use of cannabis (the consumption of which seems rather plainly unwise, at least) we also employ responsibility in our arguments, such that they do not leave an unnecessary door open for the “rampant Christian wowserism” to deprive us of God's many blessings.

Friday, September 28, 2012

Video: Introduction to Functional Reactive Programming

Earlier this evening I gave a talk about Functional Reactive Programming to the PL-Wonks group here at Indiana University.

Monday, June 4, 2012

Summer Research

I'll be working on two projects this summer. The first of these projects is my Master's thesis, "Push-based Signal-function Functional Reactive Programming" supervised by Matthew Fluet, materials for which will be moving to my domain. The second is a project on Subtle Gaze Direction for Video under the supervision of Reynold Bailey which is counting as a co-op for me.

Master's Thesis

Currently I have nearly completed the FRP system which I will describe in my master's thesis. Remaining work includes writing demonstration and testing programs, formalizing the semantics somewhat, writing my thesis, submitting a condensed version to a conference (The ICFP Student Research Competition and IFL are current considerations), and defense.

Subtle Gaze Direction for Video

Currently the program for this project is capable of displaying a sequence of gaze direction queues in a video, using the MWM illusion. However, it does not yet have a way to integrate eye-tracking information to hide the illusion when the user's eye moves toward it. The program is currently quite poorly engineered, due to its ancestry, an NVidia® CUDA® video decoding demo. I am considering a re-write of the program to avoid these issues.

Friday, March 23, 2012

The Plight of the Introvert [A Rant]

"You are not an introvert."

I hear this a lot, from otherwise completely well-meaning and understanding people. I get this from people who I trust to mentor me, from people who I've known since I arrived at this school nearly four years ago. I talk too much to be an introvert, perhaps, or I spend too much time in groups. I don't sit back and silently observe the proceedings like the other introverts in the group.

Unfortunately, perhaps, introversion and extraversion are not binary opposites. They not even a spectrum. They are simply ways of describing how a person functions in large group settings. Extraverts will continue to crave more and more group interaction, while introverts, though perfectly happy in many cases to interact with a large group, will quickly tire of the group and desire more focused interaction.

Unfortunately, our society is built around large groups and public interaction. If one tries to build more focused times for interaction, it's usually looked upon as being "antisocial" or in cases where the introvert is more desperate or less subtle about how they go about looking for that interaction, even "creepy"

So introverts are faced with a choice. For some, a satisfactory solution is to hover at the fringes of these large social events, meeting other introverts and then remaining on the fringe being quiet, reserved, and polite, and then leaving early to be alone.

However, some of us can't do alone. We also can't do large groups well. We can adapt, to a point, but it's not natural for us. So our next best option is to come into the groups looking for one-on-one conversations. However, when we try to draw people into these one-on-one or small-group interactions, we are accused of being "anti-social," as if being "social" were the highest virtue of a relationship. So we try to maintain these singular or small-group relationships within the context of larger groups, with varying degrees of success. But this is far from satisfactory.

The plight is worsened by trying to explain it, in most cases. My attempts to explain my needs for interaction to people are usually thwarted by the assumption of a false dichotomy. Either one wants to interact with people, in which case the more the merrier, or one does not, in which case they may as well sit at home and read, play video games, knit, or whatever else those weird people do. But the problem here is that I don't want to interact with more, but I also don't want to interact with no one. There is some ε which is the ideal number of people to interact with at once. It's certainly less than 10, usually less that 7, and quite commonly 1 or 2, depending on the person, their mood, and the circumstances.

Some introverts resort to staying at home and seem satisfied. The harder part is for those of us who really, really do crave interaction with others. The only place to get it is in the massive groups which make up what our society deems "social" events, so we go. But people see how we've adapted and assume that because we put on a bright face (because, you know, looking unhappy at a party is quite conducive to the goal of interacting with people), we're perfectly happy to be in the middle of everything. Then when we finally crash and have no energy left to exert in interacting with a large group, people assume that something must have happened, otherwise why would we leave? We were so happy!

So what can you do for the introvert in your life? Take time out to visit them, perhaps go to a bar or their apartment with one or two others. Take time to talk about deep and important things. When they are in large groups, take the time to sit down and engage them in meaningful conversation. When they exit the group, don't assume they are bumming out. Offer less crowded company. Any introvert in a group larger than 10 people is exerting tremendous energy to avoid intruding on the enjoyment of those who really do like such groups. Pay attention to the signs that somebody might prefer something a little deeper, and give them an opportunity for that interaction

tl;dr Just because we talk a lot and interact in large groups doesn't make us happy there or mean that we aren't introverts

P.S. The pronoun "we" is used under the assumption that I am not the only one faced with this difficulty.

Saturday, August 20, 2011

Beer Part Two

So since my first post I've actually had occasion to try a couple of other beers. My buddy Ryan brought over a can of Labatt Blue Light Lime. I'm not sure I enjoy the addition of lime flavor to beer.

That same evening, I split a bottle of Blue Moon Summer Honey Wheat with him. That I did enjoy. Wheat beers comprise the majority of what I've had so far, and I must say they are growing on me. I don't think honey can help but improve most things. Beer turned out to be no exception.

Finally, since Ryan is leaving for Germany, another friend and I took him to the RIT-local bar: MacGregors. The selection for the three of us that evening was a pint each of Great Lakes Holy Moses (another wheat beer, with orange and coriander). Though it seemed a bit stronger than the Blue Moon, (the time separation is enough that direct comparison isn't possible) it was quite enjoyable alongside a burger on wheat bread.

That puts me up to date blogging about beer.

Saturday, August 13, 2011


I've been tweaking this through a few batches and this is what seems to work.

  • 3 cups rolled oats
  • 1/2 cup brown sugar
  • 1/2 cup butter
  • 1/3 cup honey

Combine oats and brown sugar. Melt butter, stir in honey. Combine with dry ingredients and stir until oats are coated. Spread evenly on a cookie sheet with foil. Bake at 325F for 13-20 minutes (until just lighter than golden brown), stirring every 5-7 minutes.

Friday, August 5, 2011


My wonderful Aunt was in town, and since my 21st (legal age for alcohol possession in the US) birthday was a couple of weeks ago, she bought some beer for me. So I now have several to try, and I'll be blogging about what I've discovered.

Initial Inventory

  • Sam Adams Blackberry Witbier x6
  • Sam Adams Boston Lager x1
  • Blue Moon Summer Ale x2
  • Ellicotville Blueberry Wheat Beer x2
  • Ithaca Nut Brown x1
  • Saranac Adirondack Lager x1

Tonight I had a friend over for dinner, and we each had a Blackberry Witbier. The blackberry flavor was there, but barely detectable. The beer overall was slightly bitter but very enjoyable.

I'll continue to post my brief thoughts on the beers as I try them. Next up is most likely the Summer Ale.

Monday, July 18, 2011

From Chesterton's "Orthodoxy"

But remember that this text is too lightly interpreted. It is constantly assured, especially in our Tolstoyan tendencies, that when the lion lies down with the lamb the lion becomes lamb-like. But that is brutal annexation and imperialism on the part of the lamb. That is simply the lamb absorbing the lion instead of the lion eating the lamb. The real problem is—Can the lion lie down with the lamb and still retain his royal ferocity? THAT is the problem the Church attempted; THAT is the miracle she achieved.

Wednesday, July 13, 2011

Garlic Fries Success!

On my second attempt at making garlic fries, I was successful, modulo a few undercooked fries which can be attributed to a college apartment stove and cheap pan with very uneven heat distribution. Rather than follow the recipe which called for a two-step process of baking the oil-coated fries and then frying them in garlic butter, I went straight to the frying. I also decided to substitute cheddar for parmesan and chives for parsley.


3 cu. inches (approx) sharp white cheddar cheese
4 cloves of garlic
2 chives
4 tablespoons butter 1 large baking potato


Slice potato into 1/4in by 1/4in strips. Melt butter over low-to-medium heat. Begin frying the potato strips in the butter. Increase heat to medium. Crumble cheddar cheese. Finely chop garlic. Chop chives. Combine these ingredients. Turn potato strips as they cook. When strips are golden brown on all sides, add cheese, garlic, and chives, stir with spatula. Place fries on plate covered with paper towel to drain excess butter. Serve immediately.

Tuesday, July 12, 2011

Abstract of Research in Transactional Events

I'll be revising my abstract in this post. Comments appreciated.

Revision 1 (Initial Revision)

Revision 1 (Initial Revision)

Transactional Events is an abstraction (a well-defined concept hiding implementation details) for communication between concurrent processes (multiple programs running at once). The current implementation of Transactional Events provides only the guarantee that a communication will happen if one is possible.

A particularly attractive possible guarantee is that of "fairness," which guarantees that for a concurrent thread which is repeatedly capable of communicating, there is no point after which it never communicates.

In each of our attempts to enforce this property in the implementation, we have been able to construct counterexamples which either prevent the system from making progress or escape the enforcement of the fairness guarantee. This leads us to suspect that enforcing fairness requires the solution of an undecidable problem.

To prove that enforcing fairness requires this solution we are attempting to demonstrate that an implementation which enforces fairness would permit the solution of such an undecidable problem. Such a demonstration would prove the impossibility of enforcing the fairness condition.

Finally, we are exploring if a condition similar to fairness but weak enough to enforce would still be useful.

Saturday, June 4, 2011

Summer Research: Transactional Events (and other summer stuff)

I'm in Rochester for the summer, primarily to do research with Matthew Fluet on Transactional Events. I'll be working on Dr. Fluet's implementation of Transactional Events (TxEvents) in Haskell.

I'll also be working with Intervarsity Christian Fellowship over the summer. I'm hoping to perhaps lead a "GIG" ("Group Investigating God") this summer, certainly in the fall. I'll also be working with the IV staff to explore our resources for outreach.

Hopefully I'll get to go to a baseball game in or two this summer. I'd like to make a trip to Cincinnati to finally see my Reds play at home, but who knows.

Friday, May 20, 2011

A Survey of Functional Reactive Programming [Link PDF]

I just completed a survey paper of the literature on Functional Reactive Programming for an independent study. I'm posting it in the hope that it is useful to someone investigating FRP.

Monday, May 2, 2011

Project Ideas for the summer

I'll be here over the summer working 30 hours/week on research, so I should have time to do other productive things. I plan on editing this list whenever I get more ideas. I've listed these in order of decreasing overall difficulty.


  • Dalvik code generator for GHC
  • Bindings to Android libraries to go along with the above


  • Haskell bindings for the Cocoa API
  • Comms app for Android


  • Driving app for Android
  • FRP optimization benchmarking