Monday, August 27, 2012

In Which Jake Questions the Free Market


One of the things that makes my work with Zome different from a lot of other approaches to modulating energy demand is that we aren't trying to solve the problem by using price-signalling or any other sort of market-based approach.

Market-based approaches are the dominant line of thinking for how to control demand, and when you are first approaching the problem, the reasoning behind it makes sense:

  • A lot of things in our society manage supply/demand relations pretty well by markets, where changes in supply lead to changes in price that lead to change in demand, until equilibrium is reached.  This is total Econ 101 material.
  • At the macro-scale, power in the US grid is pretty much entirely managed by markets, and that works pretty well (if you ignore the whole Enron thing).
  • Pilot studies where you give people information about power prices (e.g., through a red light that glows when the price is high), and they moderate their demand, or you give the same information to appliance controllers (e.g., thermostats with a budget and a cooling goal) and they shift their use accordingly.

I don't trust it though.  You see, I just think that price is a pretty lousy and impoverished signal, and there's no reason to restrict ourselves to that when we're running an algorithm on computers.  If you commit to using a market-based approach, you're throwing out pretty much the whole world of distributed algorithms and other engineered self-organization approaches.  And most engineered systems don't use markets for good reason---they're a lot of complex hassle to get right, give you lots of ways to shoot yourself in the foot with unexpected emergent effects, and really just beg for exploitation if you get any real money involved.

If you assume you have to solve the problem with a market, you probably can (I'm pretty sure market-based approaches are Turing complete, if you allow complex enough structures and derivatives), but you might have to twist the problem into a pretzel to do so.

So I tend instead to think the right way to approach a complex distributed control problem like energy demand shaping is to start by solving the distributed control problem, and then figure out how to match it well with external incentives.  Maybe the answer will be a market, but usually it won't, just because markets are only one tiny corner of a really big design space.

And I might be on the way to saying something much more definitive about it.  Just recently, when looking at how the Zome approach compares to price-signalling approaches, I noticed that it's really easy for a distributed demand response market to end up completely failing and always being very far from equilibrium.  And this result just might be more general...

Monday, August 20, 2012

Making the cover of ACS Synthetic Biology


Just a brief note today... the current issue of ACS Synthetic Biology, which includes our papers on our TASBE tool-chain for designing organisms and our MatchMaker algorithm for selecting genetic regulatory elements, has the following lovely cover image and blurb:
Cover image
This cover depicts bio-design automation’s transformative effect on synthetic biology. DNA design increasingly will be a computational effort culminating in software “toolchains” which cover the specification, design, and assembly of novel biological systems.
Dear reader, I am proud, because that image is an illustration inspired by our TASBE tool-chain paper. That is all.

Monday, August 13, 2012

Publish and Perish


Dear reader, if I can beg your indulgence for a little while, I'd like to do some philosophical maundering for a bit.  Before my paternity leave, I'd been through a hard stretch of "publish and perish" recently (we had a bit of a perfect storm of anticipated deadlines, unanticipated deadlines, and requests for revision) and so the nature of publication and science has been much upon my mind.

One of the standard maxims of science that every scientist knows is "publish or perish"---if you don't get your ideas out there, you can't have an impact.  Of course, there's all the other meanings of that statement as well, having to do with career and funding and all that, but I personally tend to look at it through the filter of the impact of my ideas.

Here, I find the philosophy of Bruno Latour compelling (though I disagree strongly with him in certain other areas): in their anthropology of science, he and Woolgar present a "cycle of credit" that summarizes the scientific world as an economic enterprise.  Scientists then act as investors, building research capital by transforming one type of scientific resource into another.

The cycle (filtered through my interpretation and mutation-inserting memory) is roughly:


Position and publications give a reputation that can be used to secure funding.  Funding allows the production of scientific data.  Data in turn supports the production of publications, and so on around the cycle, with established researchers likely to have significant research capital moving through all stages at the same time.

Where, you may ask, are ideas in there?  Why at every link!  That's the broader job of the scientist.  The standard image of science being merely about production of data and testing of hypotheses is only part of the picture, though a cornerstone on which the whole enterprise rests.  Drop any of the other ingredients out as well, though, and the whole enterprise founders.

I know that some might find this "economic" view of science as crass and unsavorily political.  I don't think so, though, because I think about science as being not just about knowledge, but able knowledge that matters in some way.  Oh, it doesn't necessarily have to matter any time soon, and it doesn't necessarily need to be practical---some things are worth knowing simply because it shapes our understanding of the universe that we live in (an aside: one of my undergraduate degrees is in theoretical mathematics.  I always assumed that things like abstract algebra, topology, and measure theory would be purely useless in the "real world," but enjoyed them simply for the sheer power they gave over the abstract world.  To my great surprise, I now rely on pretty much all of the theoretical mathematics I even learned.).  So when I look at the cycle of scientific credit, I see each of these steps as marking the motion of ideas outward.  Data is how you know your ideas are meaningful, publications are how you spread them to others where they will have an impact, and position and funding are amplifiers that the world gives you as it starts believing your ideas are worthwhile.

What I do notice is missing from Latour's cycle, however, is a clear location for professional service, like organizing or public outreach or teaching.  For myself, at least, that's been a very important part of keeping forward momentum, as well as something I think is really important if you take the "impact of knowledge" view of science that I do.  Service doesn't really fit the diagram neatly: in my experience, it tends to stem from publications, funding, and itself and it feeds into all of these by indirect means.  But I think it doesn't really fit because it's largely a different type of reputation---but, well, any model only takes you so far.

So: publish or perish.  True, I suppose, but I prefer it when it's for the right reason.  Not for fear of perishing, but because I've got things that I have learned that I need to communicate and an audience I want to communicate them to.  And that, I suppose, is why I'm not snobbish when it comes to Impact Factor of my publication venues.  There are places I publish because there are people I want to talk to, others I publish because I want to broadcast an idea, and others simply because I want to archive a key (but possibly obscure) result for later reference.  Only for broadcasting an idea does impact factor really matter---the others are all about getting a strong enough peer validation and placing the ideas where the right group of people will be able to easily find them.  Publish or perish?  We'll see what what happens, but I'm content as long as I'm neither hiding nor overselling the things that I accomplish.

Monday, August 06, 2012

On the Evaluation of Space-Time Functions

Back in May, I discussed my ongoing obsession with first class space-time functions---programs that can be dynamically created, moved around, and operate on one another, even though they're being run distributed over many devices scattered across space and time.

We've now made another step forward, with the publication of a new paper, On the Evaluation of Space-Time Functions.  This paper is an extension of last year's Spatial Computing Workshop paper, generalizing the results to be not just about Proto, but in fact any distributed computing system (of which Proto is simply our prototypical example).

I'm rather proud of this paper, and think it's a fairly readable discussion of these concepts---though still not for the faint of heart.

Monday, July 30, 2012

Presenting In Absentia

One of the lovely things about having good colleagues: just because you're having a major life event doesn't mean everything has to grind to a complete halt.  For the month preceding my daughter's expected due date, I was grounded---not travelling anywhere, in case she should decide to come early.


That time also overlapped with a couple of conference presentations, and fortunately my colleagues were able to go in my place.  Aaron Adler took over my invitation to present on our synthetic biology tools at the Biological Systems Design meeting at ISMB, a major computational biology conference,
and Hala Mostafa presented our paper, A Manifold Operator Representation for Adaptive Design, at the Generative & Developmental Systems track of the GECCO evolutionary computation conference.

From their reports, it sounds like both meetings went very well, and that our work was well received.  Frankly, though, I'm quite glad I didn't take the risk of missing my daughter's birth.  Professional life continues, and there will be many more chances for me to travel in the future---and perhaps even take a baby with me, if she turns out to be social and a good traveller.

Monday, July 23, 2012

Non-Maskable Life Interrupt

Last Tuesday, my daughter was born.

I've been mostly off the Internet ever since, and certainly not doing any scientific work.
Fortunately, this was planned for: I've got six weeks of paternity leave scheduled, and am looking forward to taking all of this time to learn what parenthood is like and who is this little person who is my daughter.

And yet... I find that my reactions as a parent are clearly shaped by my inclinations and education as a scientist.  Rocking a fussy neonate to sleep, cooing to her in woogie-woogie tones, "Oh, don't you worry little thing, you don't know how to regulate your emotional state yet, so you're just counting on us your parents to do it for you... isn't ooo?  Yes, yes, you're using your parents as an externalized regulatory mechanism, you silly little mammal you."

I've had to set down and ignore two position papers that I was in the middle of writing --- hopefully I'll be able to come back to them before my colleagues completely run out of patience, but maybe I won't.  Work/life balance has an entirely new meaning now, and I will be utterly fascinated to find out how I am able to navigate this balance between fatherhood and science.

Right now, though, I'm taking everything one hour at a time, and I think that's the right way to do it.

Monday, July 16, 2012

Synthetic Biology: End-to-End and Also in the Middle

Dear reader, you must not, of course, expect this run of publication posts to extend indefinitely, but for the moment we're hitting pretty well and experiencing a good bit of synchronicity as all my different projects seem to have long gestating papers maturing all at once.

The latest in the series: over the past week, we've had not one but two of our synthetic biology papers accepted for publication, both in ACS Synthetic Biology, as part of a special issue on design tools.

The first, "An End-to-End Workflow for Engineering of Biological Networks from High-Level Specifications," is essentially a summary of the key results of the whole TASBE project---the "Tool-Chain for Acceleration of Synthetic Biology Engineering" that I led  last year, with Ron Weiss and Doug Densmore collaborating.  The big result: coming up with a series of models and tools for turning high-level computer programs into DNA for controlling the behavior of cells.  And we made it work, at least for our version of "hello world"---a program that fluoresces one color when it detects a signal molecule, and a different color when it's not there.  Not the most complicated thing in the world, and there's a lot of duct tape and baling wire used to hold the tool-chain together, but it took a lot to sort this much out and it's a good starting point.  Moreover, now that we've showed it's possible, we (and others) can expand and do more and more complicated things---the hardest part is getting anything at all to go reliably from end to end, and now that we've got that, we've got a foundation to build on top of.

The other paper, "Automated Selection of Synthetic Biology Parts for Genetic Regulatory Networks,"
is all the details for one of the new key pieces of the tool-chain, for selecting which DNA parts can actually be used to correctly implement a computation.  This was led by my colleague Fusun Yaman, who worked with the folks over at BU and came up with a nice mapping of the problem onto a graph problem (NP-complete, of course), and a good set of heuristic algorithms for solving it.


I'm quite proud of both of these papers, since I think they're an important milestone in the progress of synthetic biology, and especially of raising the level of abstraction at which it's actually practical to design organisms.  There's a long, long way to go, but we're making progress and (eventually) reporting and publishing it as well.

Monday, July 09, 2012

Energy Management = Cover Story!


There's a nice article about my distributed energy management work with Zome Energy Networks
in the MIT Energy Initiative's "Energy Futures" magazine.  We're the cover story (though the cover image is of a simulation from a much older generation --- they really liked the Proto graphics, even if our current simulations don't use Proto any more).

Monday, July 02, 2012

Coordination Languages vs. Proto

Got an interesting new paper for you folks, a little bit into a different space than the last few: Linda in Space-Time: An Adaptive Coordination Model for Mobile Ad-Hoc Environments.  This was just published in Coordination 2012, and is another collaboration with Mirko Viroli, who really did the bulk of work in the paper --- my last author position means "consultant" rather than "supervisor" on this one (on a completely side note, it bugs me that the semantics of author position are so ill-defined, but that's a post for another time...).

The interesting thing about this paper for me is it's really pushing my boundaries on how to think about spatial computing languages.  Mirko comes much more out of the coordination languages community, where they think about programming more in terms of a blackboard that a whole pile of different processes can write to.  So everything folds down into one or more "tuple spaces" and you have no idea what might be shoving itself into the tuple space or deleting stuff out of it, or even any way to guarantee that names mean the same thing to different programs---the whole point is that you can have a bunch of different programs written by different authors all coming into the same place and sorting things out between them as they go.

To me, this is scary --- anarchy!  With Proto, you always know exactly what everything means in every scope --- it's exactly the sort of control-freakiness that's so elegant and so often limiting with Scheme.  To Mirko and others in his community, coordination languages are a wonderful world of open pervasive ecosystems.  So when Mirko approached me about bringing ideas from Proto into the Linda coordination language, I struggled but ended up finding the challenge interesting.

Overall, I think we're still very early in figuring out how spatial computing programming languages can and should work.  There are certainly some key ideas that keep popping up over and over again: neighborhoods, distributed distance measures, vector fields, restriction, broadcasts, gossip, etc.  A group of us had a discussion of this after the spatial computing workshop, and decided that we ought to start building a table of the useful primitives, and which variants are being made available in all of our languages (kind of an obvious next step after the Spatial DSL Survey).

Linda in Space-Time is a start on another perspective, and I'm looking forward to where it goes next, and what the tension between it and Proto can teach us about computing on space in general.

Monday, June 25, 2012

Hi ho, hi ho, it's off to DC we go...

As a scientist, one of the things I do fairly frequently is make pilgrimages to Washington D.C.  Or more typically, not to D.C. proper, but just next door to Arlington, where all the funding agencies I work with have their offices, there to talk to program managers, attend PI meetings, sit on review panels, whatever.

This trip, though, I'm rather more nervous and keyed up about than usual, though, because tomorrow morning we're going to be talking about demand shaping and the Zome/ColorPower project in front of the Federal Smart Grid Task Force.  They've asked us to give a half hour presentation on these wild and disruptive technologies that we're bringing to the table, and so the Zome CTO & I will be there to present a story of Truth and Beauty (or at least our versions thereof) to representatives of a dozen or so key federal agencies.

What makes me happy is that I'm feeling really solid about our technology and our impact story.
What makes me nervous is that I've never presented to this level of Federal official before, let alone a whole gang of them all at once.
What makes me excited is that this could be a really useful step forward in bringing the whole distributed demand response project into reality...

Well, onward into the breach, dear friends!  It's wouldn't be science if I got to be too comfortable...