Lindsey Kuper [entries|archive|friends|userinfo]
Lindsey Kuper

[ website | ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Hey, look, I got some flowers and stuck 'em in some dirt! [Sep. 3rd, 2014|12:19 am]

I've had a few indoor potted plants in my life (which survived as long as they were kept well out of reach of the cats), but never really flowers, and certainly nothing outdoors. Also, being from the midwest, I don't yet quite understand what the deal is here with weather and seasons, or the lack thereof. So, when it comes to planting flowers, outside, in California, I Have No Idea What I'm Doing.™ Nevertheless, I've attempted it! Here are the results so far!

They're explosively dehiscent!

These are impatiens! I got twelve of 'em to go in this window box, but that turned out to be too many (they're supposed to be ten inches apart, I guess), so three of them ended up in the pot to the right (which was already sitting there with dirt in it), and I put two more in another stray pot I found. They like shade, which is why I put them here; this area never gets direct sunlight, since it's under an awning (which you can kind of see reflected in the window).

Those aren't really petals!

Then there's this other window box, which is smaller and gets partial sun -- in this one, I planted some begonias. Again, I got more than would fit in the window box (the begonias are apparently supposed to be twelve inches apart), so...

Still not petals!

...I put the three extra plants in this other pot, which was yet another stray pot I just found lying by the side of the house! It's actually a very nice pot, and I was happy to be able to put it to good use. It's on our awesome back deck, which we haven't really used to its full advantage yet, since we have no deck furniture. One thing at a time.

Check out our sweet deck.

And here we see some more of the deck, also featuring the chrysanthemums I planted! There's another, matching pot on the other side of the deck. Chrysanthemums like full sun, apparently, which is good, because back here that's what they'll get. The pots I put them in were on the deck when we moved in, and they were full of old, dead, dry plant matter; the window boxes were in similar shape. So, things are now brightened up considerably. (I'm actually contemplating sending a couple of these pictures to our landlord, in a sort of "look, we're taking care of the house!" gesture. I dunno; would that be weird?)

Taken together, the flowers (twelve impatiens plants, six begonias, two big chrysanthemums), potting soil, gardening gloves, and a couple gardening tools cost, like, $60. I didn't have to buy any pots, since they were all already sitting around outside somewhere, and I didn't even use most of the potting soil, since the window boxes and most of the pots already had soil in them that really just seemed to need a good loosening and watering. And the gloves and tools are one-time expenses. So, next time I want to plant something, I can just go get the plants -- or maybe even seeds, if I'm adventurous.

I can't take any credit for how the rest of the yard looks; it's taken care of by a professional gardener as part of the rental agreement.1 At our old place in Bloomington, the yard had some nice trees and some lovely perennial flowers, mostly daffodils and tiger lilies, which were great because they'd just grow every year without us having to do anything. But for the most part, it was kind of out of control. Once in a great while, our previous landlord would send someone over to try to tame it. They'd make a valiant effort, and it would look nice for a short time, but it would soon be back to its overgrown state. Oh, and the fence in the back yard had fallen down rather dramatically, and no one had bothered to get it fixed.2 So it's refreshing to have such a well-kept yard at our new place; it makes me actually want to put effort into things like these pots and window boxes, whereas before it would've seemed futile.

Also, I've never lived in a place that had window boxes before, and it strikes me as a totally sweet hack: you can be inside and be right next to the plants (albeit on the other side of a screen), and yet your cats can't get at them! The window with the begonias is particularly nice, since it's right next to my desk and always open, so it's almost like there are flowers on my desk all the time.

And now we'll see if I can keep 'em all alive. Updates as warranted.

  1. This is strange for me. Where I grew up, I'm pretty sure people take care of their own damn yards; either that, or they just don't bother. I think the gardener has actually been here every week since we moved in, with the exception of one week, and I don't actually understand what they're finding to do, since to me the yard always looks great! Also, we have a freakin' sprinkler system, like the bougie suburbanites that we apparently now are. I think it's disconnected, on account of we're in the middle of an extreme drought (and on account of I've never seen or heard it operating), but I don't really understand the deal with sprinkler systems, either. California, man.
  2. At one point, said previous landlord sent someone to fix the fence. The guy came over; stood there, toolbox in hand, looking at the busted fence for a couple of minutes; and then just walked away, defeated.
LinkLeave a comment

Frame problems and frame properties [Aug. 31st, 2014|11:59 pm]

Hi! I'm a friendly, albeit janky, Ruby script, and this is one of several automated messages that I'm capable of producing to let you know that there's a new post on

LinkLeave a comment

Unknown knowns [Aug. 22nd, 2014|09:13 pm]

Last night I went to see my friend Peter Alvaro give a talk based on Joseph Halpern's paper "Using Reasoning about Knowledge to Analyze Distributed Systems". There were various interesting aspects of Peter's talk, but I keep coming back to one of his closing points, "There are deep connections between semantic structures and system behavior." He followed this up with a comment which I paraphrased in my notes as "Pick a logic and find a rich correspondence between it and something in the real world."

As some of you reading this well know, PL researchers like, say, Frank Pfenning have made a tremendously fruitful career out of doing exactly that. It's not a new idea. The part that is interesting and novel to me is that, this time, the person suggesting it is not someone I would pigeonhole as a PL researcher. That's important, because I think it's easy for beginning PL researchers like me to walk around self-importantly thinking that we are the only ones who think this way. But we're just not. Like petulant teenagers, we like to insist that nobody understands us, and certainly nobody at Berkeley understands us, but it's not true and we should knock that shit off.

Link2 comments|Leave a comment

Dissertation draft readers wanted! [Aug. 18th, 2014|12:26 pm]

There's a new post on!

Link3 comments|Leave a comment

Some victories [Aug. 12th, 2014|07:07 pm]

In the last two days:

  • I sent a draft of my dissertation to my committee! There are some parts that aren't quite finished; it's a three-papers-stapled-together dissertation in some sense, but I'm also retconning all my work to make it fit together nicely with what we now know about LVars, which involves redoing the various determinism and quasi-determinism proofs, and I'm not done with all of that yet. Nor is all the prose quite as far along as I want it to be. But it's ready for my committee, at least, to look at. Sooner or later, I'll make it public, revision history and all, like Rob simrob did; I might even do that with it in its current, unfinished state, like Alex and Brent Yorgey are doing.
  • Working on my dissertation brought me to the breaking point of frustration with my janky old OS X 10.6.8 and my janky old TeX Live 2008 installation and my janky old non-deterministically segfaulting GHCi. So I finally upgraded to Mavericks, and, among other housecleaning tasks, blew away my old TeX and Haskell environments (and a bunch of other language platforms and environments and so on) and got shiny new everything. Foolishly, I decided to do all this twelve hours before my self-imposed draft-to-committee deadline. But I was able to get everything building again under the new TeX with minimal fiddling, so, no harm done, and I'm much happier with my whole Computing Situation now. (And it will be nice to be able to actually build Rust again, which I haven't been able to do on my OS for the better part of a year!)
  • I finally won at 2048, which I've been trying to win for months! A few days ago, I was talking with a Hacker School acquaintance about my seeming inability to win the game, and she said that I should ask her if I wanted "spoilers", which struck me as a strange choice of words. I realized that perhaps my lack of success with the game had something to do with the fact that I didn't understand what it would mean for this kind of game to have "spoilers", and said so; she said that there was indeed "one weird trick" that she'd found was important to winning. The interesting thing is that I didn't have to ask what the "one weird trick" was -- just knowing that there was one was enough to give me an idea about what it might be. Once I started playing with that technique, I was consistently scoring higher than I ever had before, and pretty soon, I won. Later, it turned out that what I had done was in fact the "one weird trick" she'd had in mind (rot13'd for spoiler): gur gevpx jnf gb cvpx n qverpgvba va juvpu V jbhyq arire zbir -- va guvf pnfr, V jnf nyybjrq gb zbir hc, evtug, be yrsg, ohg arire qbja. Qbvat guvf zrnag gung V dhvpxyl npphzhyngrq ybgf bs ovt-ahzore gvyrf ng gur gbc bs gur obneq, naq V eneryl unq fznyy-ahzore gvyrf genccrq va n cynpr jurer V pbhyqa'g trg gb gurz. Vg frrzf pbhagre-vaghvgvir gung lbh'q or noyr gb cynl orggre ol gnxvat bcgvbaf njnl sebz lbhefrys, ohg gurer lbh unir vg. Sbe zr, gur uneq cneg jnf univat gur frys-qvfpvcyvar gb arire zbir qbja, rira jura n grzcgvat zbir gung frrzrq tbbq va gur fubeg grez cerfragrq vgfrys.
Link11 comments|Leave a comment

My dissertation abstract [Aug. 6th, 2014|05:46 pm]
[Tags|, ]

So I need to write an abstract for my dissertation. Anyone wanna glance over this and tell me what you think?

If you suggest any edits, keep in mind that it's currently at 300 words, which is the maximum allowed. I'm frustrated that I couldn't explain things in more detail, so if you can think of any way to make things clearer while not increasing the overall word count, I'm all ears.

Deterministic-by-construction parallel programming models guarantee that programs have the same observable behavior on every run, promising freedom from bugs caused by schedule nondeterminism. To make that guarantee, though, they must sharply restrict sharing of state between parallel tasks, usually either by disallowing sharing entirely or by restricting it to one type of data structure, such as single-assignment locations.

I show that lattice-based data structures, or LVars, are the foundation for a guaranteed-deterministic parallel programming model that allows a more general form of sharing. LVars allow multiple assignments that are inflationary with respect to an application-specific lattice. They ensure determinism by allowing only inflationary writes and "threshold" reads that block until a lower bound is reached. After presenting the basic LVars model, I extend it to support event handlers, which enable an event-driven programming style, and non-blocking "freezing" reads, resulting in a quasi-deterministic model in which programs behave deterministically modulo exceptions.

I demonstrate the viability of the LVars model with LVish, a Haskell library that provides a collection of lattice-based data structures, a work-stealing scheduler, and a monad in which LVar computations run. LVish leverages Haskell's type system to index such computations with effect levels to ensure that only certain LVar effects can occur, hence statically enforcing determinism or quasi-determinism. I present two case studies of parallelizing existing programs using LVish: a k-CFA control flow analysis, and a bioinformatics application for comparing phylogenetic trees.

Finally, I show how LVar-style threshold reads apply to the setting of convergent replicated data types (CvRDTs), which specify the behavior of eventually consistent replicated objects in a distributed system. I extend the CvRDT model to support deterministic, strongly consistent threshold queries. The technique generalizes to any lattice, and hence any CvRDT, and allows deterministic observations to be made of replicated objects before the replicas' states converge.

Link10 comments|Leave a comment

Call for papers: IFL 2014 [Jul. 31st, 2014|01:54 pm]

O frabjous day! There's a new post on

LinkLeave a comment

Draft: "Deterministic Threshold Queries of Distributed Data Structures" [Jul. 28th, 2014|02:47 pm]

Hi! I'm a friendly, albeit janky, Ruby script, and this is one of several automated messages that I'm capable of producing to let you know that there's a new post on

LinkLeave a comment

All the things [Jul. 22nd, 2014|08:08 pm]

Items may have settled during shipping.

Not much more than a week ago, nothing was packed yet. In the time since then, we packed everything worth keeping into two large crates and sent the crates on their way across the country. Everything that wasn't worth keeping, we gave to friends or family or took to Goodwill, mostly the latter. In the last seven days, we've dropped off so much of our stuff at the Bloomington East Goodwill that I suspect that walking around their store right now would be a jarring experience for anyone who ever spent much time around our place in Bloomington. But I'm no longer around to confirm that suspicion, since, as of two days ago, I live two thousand miles away from there.

The crates arrived today, and we just finished moving everything that survived the trip into the house. (Almost everything did survive. A couple of lamps that I've had since Portland were crushed, a cheap plastic storage bin was cracked, and some of the furniture is a bit scuffed -- those are the only casualties I'm aware of.) Although we have yet to really unpack any boxes, we are in some sense "moved in".

After a total of almost thirty years in the Midwest, plus three in Portland, I'm excited about finally having a permanent address in a place where backyard lemon trees are standard issue (I buried my face in ours for a while; it was heavenly) and where the air is dry enough that shower walls don't turn mildewy by default. I love our house here. It's going to be awesome. I have a much better understanding now of what I want in a house than I did when I found our old place in Bloomington five years ago, and I'm excited to have a second chance at homemaking.

Still, if we do this again, we might get professional movers.

Link3 comments|Leave a comment

It seemed like a good idea at the time [Jul. 13th, 2014|05:39 pm]

A few weeks ago, Alex oniugnip and I signed a one-year lease on a house in Sunnydale Sunnyvale, California. We picked Sunnyvale because it's in between Santa Clara, where my job will be, and Mountain View, where Alex's job will be. The place we found has most of the qualities we were hoping for: gas stove; allows cats; not in a gated community; older, but recently remodeled (so it's neither new-and-sterile nor old-and-falling-apart); walking distance from the Caltrain; and just over four miles and just under six miles from our respective jobs by bike. So, it's about the best we could have done. Ask me sometime about our surreal house-searching adventures!

Neither of us are really ready to go. I'm behind on work. Even more pressingly, absolutely nothing is packed yet. And yet, we're moving to California in exactly one week.

Here's how it's gonna go down: in two days, we'll take delivery of two 6' x 7' x 8' crates in which we are presumably going to ship our as-yet-unpacked stuff. The crates will be taken away on the 18th. At some point around then, someone else will arrive to ship our car, which turns out to be a thing you can do. Then, on the 19th, my parents will arrive; they're driving here all the way from Iowa in their pickup to help us deal with all of the furniture and stuff we're not keeping, which is most of it. Of our leftover stuff, whatever doesn't end up going to friends of ours will probably go to Goodwill. (To our meager credit, we've already taken one carload of stuff to Goodwill, and another carload is going shortly.) Finally, on the 20th, my parents will drive us, our cats1, and our suitcases to the airport. We'll arrive at our new place late that night, and our two giant crates will follow on the 22nd, with our car arriving sometime around then as well. At least, that's the plan, such as it is.

Naturally, I picked this period of chaos as an appropriate time to work on my dissertation.

My dissertation is going to be seven chapters long. According to the hilarious schedule I made three weeks ago, I'm currently supposed to have chapters one through four done, with chapter five being due next Friday the 18th and chapters six and seven (and hence the whole thing) due the following Friday, which is July 25th. This notion that I was going to send my committee a complete draft by July 25th2 was originally quite attractive because it would have freed Alex and me up to resume our old habit of participating in the ICFP Programming Contest, which starts that day at five in the morning, Sunnyvale time. What I currently actually have done is a patchy version of chapters one through three, with lots of pieces missing. It's looking less and less likely that I'll get a complete draft done by the 25th, but I think we'll still try to do the contest, in spite of the fact that by twelve days from now I am unlikely to remember how to use any programming language that isn't TeX.

(Update, August 14: I ended up skipping the contest to work on my dissertation after all, which turned out to be the right choice. Meanwhile, Alex and our dear friend Martin did the contest together and had a rip-roaring good time.)

Fortunately, my job doesn't actually start until the middle of September, so I'll have a couple of months for finishing my dissertation and remembering how to do other things, as well as figuring out how to live in Sunnyvale. The main thing I'm worried about is a bike commute that involves left turns across four-lane intersections filled with upset suburbanites.

The thing is, here in Bloomington you can bike to work without being a Serious Cyclist™. I am not a Serious Cyclist: I'm slow, I don't carry a patch kit, and although I get a professional tune-up now and then, I don't personally do anything to take care of my bike aside from occasionally putting air in the tires. I don't think I'll be able to sustain this once my job starts, just as I won't be able to sustain my current work schedule of "whenever, wherever".

  1. We have, in fact, flown with our cats before; we brought them out to Mountain View with us for summer 2012, and neither we nor the cats were too much worse off for wear. I'm hoping it goes this well the second time.
  2. "They" say that you're supposed to provide your committee with a complete draft "six weeks or more" before the defense. But does anyone actually do that? When I originally suggested that I could provide a draft by July 25th for a defense on August 29th, my advisor said that that was better than "industry standard". How much time did other people who've done this allow?
Link17 comments|Leave a comment

[ viewing | most recent entries ]
[ go | earlier ]