tag:blogger.com,1999:blog-25142746797448305182024-02-19T08:23:19.040-08:00Particular VirtueBoth exacting and highly individual in the struggle for goodness. <br> All opinions are my own and not those of my employer.evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.comBlogger44125tag:blogger.com,1999:blog-2514274679744830518.post-27876178499200309792023-03-15T20:20:00.000-07:002023-03-15T20:20:16.469-07:00How I Run Solstice, Step by Step<p>This is a writeup of how I run Secular Solstices, in as much detail as I can muster. I think most of the existing guides to running Solstices are now somewhat outdated, and not as step-by-step "this is what you need to do when"; I hope this one is a helpful addition.</p><p>This post assumes you are basically familiar with what Secular Solstice is and what tends to happen in one; if you aren't, I'd recommend checking out the post <a href="https://secularsolstice.com/the-arc-breakdown/">The Arc Breakdown</a> first for a rough description of what it is like. <br /></p><h3 style="text-align: left;">Who am I and how am I qualified to write this?</h3><p>I was in the Bayesian Choir for about 6 years. As part of that, I participated in 4 Secular Solstices in the Bay Area plus one online in 2020, performed solo or in a small group in 3 of those, and organized / sang in several songs in the 2018 Bayesian Choir spring concert. In addition, I have run my own independent small Solstices several times: one in DC in 2015, a small one in the Bay in 2016, a tiny outdoor social-distanced one in DC in 2020, plus two mid-sized ones in DC in 2021 and 2022. In other community and ritual stuff, I've also <a href="https://tigrennatenn.neocities.org/meetup_cookbook">run meetups for a long time</a> and have run two <a href="https://tigrennatenn.neocities.org/rationalist_haggadot/">Rationalist Seders with custom content</a>.</p><p>I don't have much experience with running big Solstices (50+ people), but because I was in the Bayesian Choir for a while, I have at least a vague idea of how things go at that scale. </p><h3 style="text-align: left;">How far in advance do you need to start?<br /></h3><p>The step-by-step timelines in this post are the ones that I use, targeted towards a Solstice size of 20-40 people, with a substantial amount of music practice and a moderate amount of polish involved. But you can get the time down A LOT if you bring down the production value. You can reduce the amount of musical prep time by having fewer musicians, smaller groups of musicians (one person leading a song can practice on their own, instead of meeting for a rehearsal), hiring professional musicians, or just by doing everything a cappella or singing along to karaoke tracks. You also might need less lead time on a venue if your group is small enough to fit in someone's house, for example.</p><p>I'd recommend starting the planning process a few months in advance, just to figure out those possibly-time-sensitive details first; if you find out you need less lead time than you thought, then just relax for the next month or two!<br /></p><p>For a bigger Solstice, more time is needed, more like 6 months up to almost the entire year for planning. Venues for 100+ people often are booked very far in advance, and it takes time to coordinate the number of volunteers you will need to put on a larger event. Even with this many people, though, there are ways you can decrease lead time substantially: (a) decreasing the number of volunteers drastically and (b) living in a large city with lots of venue options. In any case, if you're putting on an event of that size, I doubt you need or want my advice.<br /></p><h3 style="text-align: left;">Logistics (3-4 months out)<br /></h3><p>Your venue is the biggest piece here, and you should figure it out as soon as you can, because larger venues tend to book up early. And many other logistics depend on it.<br /></p><p>The first thing to do is to get an estimate of your number of attendees. If you live in a city that hasn't had a Solstice before but has had meetups, take the typical number of attendees at a meetup and multiply by 2-3 as an initial guess. Or if you can, try to estimate the total number of distinct attendees across meetups in a year. Typically people will make more effort to show up to a once-a-year event.<br /></p><p>With 10-30 people, you can cram into someone's house. If you're okay with <a href="https://www.jefftk.com/p/boston-solstice-2019-retrospective">more crowding</a> or have a big house, maybe you can fit more.</p><p>Around the 30-50 person mark there are a bunch of smaller venues that aren't too expensive, like churches and such (this obviously depends on your local area). You might not want a venue with explicitly religious imagery, but there are some denominations that don't do that kind of thing as much (Quaker/Unitarian Universalist, for example). </p><p>Other places may work too. I really like doing Solstice outside, because you can use the sun as your lighting change for the first arc.<a href="#1" id="1-back">[1]</a> However, outdoors may be cold, have other weather issues, or be logistically difficult. For example, near where I live, you can rent out picnic areas, but most parks close at sunset, which makes it tough when so much of the ritual really needs to happen after dark. We did do one tiny outdoor Solstice in DC in 2020, which worked remarkably well despite being extremely cold; I brought a lot of blankets and told everyone to dress warmly.</p><p>Other logistics to figure out very early on:</p><ul style="text-align: left;"><li><b>Decide if you want to serve food</b>, either beforehand, at Solstice, or at an afterparty. That will change what
time of day you want to run Solstice, which can affect what time you reserve the venue for, and it may also affect your choice of venue if you want to have food there.</li><li><b>Consider the sunset</b>, if you are either outdoors or in a space with lots of windows. Typically
sunset is around 4:30pm in my part of the world during this time; the
Solstice arc calls for the lights to go down, and I like timing it to start at 4pm so
that we can use the sun for that and turn up the artificial lighting at
the end, which is thematically appropriate as well. </li><li><b>Think about afterparty logistics</b>: it often makes sense to have an afterparty at a separate venue, either someone's house or another casual location. This doesn't have as many prerequisites as Solstice, so you can probably plan it later on, but it might be helpful to have a vague sense of your intentions about it going in in case it affects the timing. <br /></li></ul><h3 style="text-align: left;">Program (3 months out)<br /></h3><p>Many things depend on the program, such as: how many musicians you need, how many speakers you need, which people you should ask, what kind of preparation and legwork you need to do, etc. So it's best to get at least a rough outline several months in advance.</p><h4 style="text-align: left;">Selecting a Theme<br /></h4><p>Having a theme is helpful for picking out song and speech choices, and for writing material specific to that year. </p><p>You don't necessarily need to have a specific named theme (although if you have paper programs, it's nice to have something to put on them). The important thing is knowing what you want to address in your Solstice, what your creative goals are for it, and what things should therefore be included and what should be cut. </p><p></p><blockquote>For example: In 2021, my co-organizer and I wanted to address the aftermath of COVID, while mostly moving on from talking about it directly. So we went with a theme of "healing from trauma," which led to the ritual elements she designed and helped us structure the other parts of the program.</blockquote><p></p><p>It's nice to have at least a little bit of introductory material
that the organizer writes themself. The simplest thing to do is to introduce what Solstice is and talk directly about the theme a little bit. </p><h4 style="text-align: left;">Length <br /></h4><p>Consider how long you want your Solstice to be, in order to determine how many pieces you will need. I usually aim for 75 minutes and end up closer to 90. This typically
means a total of around 20 "items" (songs, speeches, and ritual
elements) of 3-5 minutes each.</p><p>Most Solstices do 90-120 minutes. If it's more than 2 hours, you probably need an intermission for people to pee and stuff, which you would then need to place carefully so it doesn't interrupt the arc, etc. For that reason I'd recommend keeping it fairly short. If you want it even shorter, I think you could do a decent version of the arc in as little as 45 minutes. Just make your selections carefully. </p><p>Have two separate times for "doors open for socializing" and "the
Solstice ritual begins." I usually give about a half hour between the
two. Start the ritual on time and let the latecomers fall where they
may.</p><p>When reserving a venue, don't forget to leave time for both setup and takedown. <br /></p><h4 style="text-align: left;">The Solstice Arc<br /></h4><p>The Solstice arc has shifted a little over the years, but it usually has more or less this shape:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3RHHdlxVC2t45O9PfsHcRHUt8CGYdf4S-Y50nY91Fc5tswoNafZkOhHtXZq_JGjv4DWTcxfjEbV4S7E2eknAA5w2fo76LchVQtOLFXIe5q9Gaiq9xJCG2LJyUdU4VcrEdtv758qtOAjZF9In5E1woiRbXfJdBBMN-sOWo64n6CpTQ4bok4-KLwTRF/s640/solstice_arc.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="640" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3RHHdlxVC2t45O9PfsHcRHUt8CGYdf4S-Y50nY91Fc5tswoNafZkOhHtXZq_JGjv4DWTcxfjEbV4S7E2eknAA5w2fo76LchVQtOLFXIe5q9Gaiq9xJCG2LJyUdU4VcrEdtv758qtOAjZF9In5E1woiRbXfJdBBMN-sOWo64n6CpTQ4bok4-KLwTRF/s320/solstice_arc.png" width="320" /></a></div><br /> <p></p><p>There's a happy part at the beginning, then it gets serious, then it gets REALLY serious and sad, culminating in a Moment of Darkness (and silence). Then at the end we reopen with hope, and end with joyful songs about being together.</p><p>This post is quite old at this point, but it gives a good idea of the original notion of how the Solstice arc should hold together: <a href="https://secularsolstice.com/the-arc-breakdown/">The Arc Breakdown</a>. (I think some of the logistical advice and song choices are pretty different from what I'd suggest now.)</p><p>You can play with this general shape, however. The length of the different sections; the exact tone you take in each one; etc. In a couple of Bay Solstices, the arc looked entirely different and was mostly focused on a more triumphant/hopeful tone, with only a brief break for sadness closer to the beginning.<br /></p><p>If you want to stick closer to previous iterations of the Solstice arc, there are plenty of examples of full programs on the <a href="https://secularsolstice.github.io/">Secular Solstice Resources</a> page, which you can crib from as much as you want. I also highly recommend the <a href="https://docs.google.com/spreadsheets/d/17QhguW6PHdAkYKClsk0ZiAnmWbgs0_SLYw4dkoQosUo/edit#gid=0">Masterlist of Solstice Content</a>, maintained by <a href="https://www.lesswrong.com/users/mingyuan">mingyuan</a>, which is a spreadsheet of Solstice songs that's a bit easier to navigate than the content on Secular Solstice Resources.<a href="#2" id="2-back">[2]</a></p><h4 style="text-align: left;">My Solstice arc "paint by numbers" system<br /></h4><p>There are many other ways to put this together, but this is the way I usually think about structuring a Solstice program:<br /></p><ul style="text-align: left;"><li><b>Light</b> </li><ul><li>Icebreaker exercise. Force people to interact a little.<br /></li><li>Couple of happy songs that are easy to sing along with and somewhat thematic. "The Sun Is A Mass of Incandescent Gas," etc.</li><li>Intro speech explaining what Solstice is and introducing any thematic elements that I'm emphasizing.<br /></li></ul><li><b>Twilight</b></li><ul><li>Songs that are more musically and thematically complex.</li><li>Speeches that go further into the actual usual themes of Solstice and/or a particular theme.</li><li>If you have custom ritual elements, this and/or Evening is a good place for them to go.<br /></li></ul><li><b>Evening/Night</b> </li><ul><li>Increasingly depressing stuff.</li><li>Sadder songs.</li><li>More serious/intense ritual elements. <br /></li><li>I like the a cappella "repeat after me" songs for the end of this section (<a href="https://secularsolstice.github.io/Beneath_Midwinter_Midnight/gen/">Beneath Midwinter Midnight</a> and friends); it creates more of a sense of focus
for people to put down their lyrics sheets and look at the lead singer,
and it means you can have even less light. <br /></li><li>Usually the second-to-last item is a Candlelit Speech, a particularly depressing speech that a speaker reads with one single candle lit in the darkness. It's helpful for that to be personal or specific, but I have also reused <a href="https://secularsolstice.github.io/speeches/gen/Beyond_the_Reach.html">Beyond the Reach of God</a> for this on several occasions. You can also reuse speeches from prior years and other speakers. In 2020 I used a translation of a Twitter thread from a doctor in Italy whose town was overrun with COVID cases (<a href="https://secularsolstice.github.io/speeches/gen/Story_from_Bergamo.html">link</a>).<br /></li><li>End with Moment of Darkness.</li></ul></ul><ul style="text-align: left;"><li><b>Dawn</b> </li><ul><li><a href="https://secularsolstice.github.io/Brighter_Than_Today/gen/">Brighter than Today</a> and/or <a href="https://secularsolstice.github.io/Endless_Light/gen/">Endless Lights</a> to open from Moment of Darkness.<br /></li><ul><li>Bay Solstice did a nice variant in 2020 where they instead opened with a group reading of <a href="https://blog.jaibot.com/500-million-but-not-a-single-one-more/">500 Million but Not A Single One More</a>, then transitioned directly to Brighter than Today. <br /></li></ul><li>Hopeful speeches (1-2). 500 Million has become almost compulsory over the years; it goes well paired with <a href="https://secularsolstice.github.io/Ballad_of_Smallpox_Gone/gen/">Ballad of Smallpox Gone</a>.</li><li>End with some happy songs that are easy to sing along with and that emphasize how surviving our harsh world is better together. I like "Lean on Me" for this, though I've usually ended with "Still Alive" because it's fun to sing and just about everyone knows it, even if it's their first Solstice. (Note: everyone knowing Still Alive may be specific to my age bracket. I should find some songs that work this way for younger nerds.)</li></ul></ul><h3 style="text-align: left;">Getting help (3 months before)<br /></h3><p>Figure out who you need to help you, based on at least a loose idea of the program. If you're doing music, you should have plans for this a few months in advance, because that's how long it takes a musical group (who are amateurs and all have full-time jobs or similar) to get together and practice. How much time this takes goes something like (1/musical skill * how many pieces you want * how much polish you want * (number of people in the group)^2). </p><p>My philosophy on volunteers: It's a good idea to spread things out among many different people, to promote a sense of community and greater participation and involvement. All else equal, you want to farm out as much as you possibly can. Sometimes the help is even actually helpful, but I view that as something of a bonus.</p><p>Send out emails <i>early</i> to recruit, preferably 2-3 months. If you need to recruit musicians, you need to know who they will be, especially because this may affect your program selections (do you have anyone who can do the piano part on that song? Do you have enough singers for that harmony?). It's all interdependent.</p><p>Get clear on how much commitment you want from people, and ask them for it, directly. ("We're having rehearsals every other week for the next 2 months, can you commit to that?") Don't dither around about "what works for you?," it typically just wastes time if both sides are wishy-washy. If what you're asking is too much for them, you can negotiate or they can say no. If they ghost you, assume you're not hearing back.<br /></p><h3 style="text-align: left;">Putting in the legwork (3 months before, up to Solstice)<br /></h3><p>If you've done things right, you will have a month or three in between all the big decisions and Solstice itself to do the remaining work, like writing speeches, designing ritual elements, finishing up the program, and doing all the music rehearsals. </p><h4 style="text-align: left;">Finishing the program </h4><p style="text-align: left;">Any speeches and rituals with a "TODO: write this" on them get written during this period. (The more you steal, the less you have to do here.)<br /></p><p style="text-align: left;">Finalize what's going to be in it. If you want to rearrange the program and add or delete items, try to get that done as early as possible, especially if this will affect other people who are speaking or performing. You can postpone decisions that only affect yourself for longer. But anything you add will need enough notice and rehearsal time to prepare for.<br /></p><p style="text-align: left;">Another thing to consider adding: In 2022, the Bay Area Secular Solstice had
Scott Alexander as the creative director, and he wrote connecting
speeches explaining what was going on between basically every item on
the program. I haven't seen any other Solstices do this, but it seemed
to work really well! Consider adding connecting speeches to your program, if you have the time and inclination to write them.<br /></p><h4 style="text-align: left;">Music rehearsals <br /></h4><p>Running rehearsals and directing a musical group is a skill in itself.<a href="#3" id="3-back">[3]</a> If you happen to have anyone in your community who's already experienced with this, that's a huge bonus. The percentage of musicians who are reasonably experienced will also help a lot. If the musical director isn't you, it's important for that person to share your vision of what Solstice should look like and the creative vision for each song. (You don't have to have opinions on <i>every</i> song, but when you do, you need to have alignment about them.)<br /></p><p>I personally feel that it's important for the musicians to come from the community itself. There are those who disagree, and think hiring outside help is no big deal. Here's why I think it's better to use community members:</p><ul style="text-align: left;"><li> Outside musicians might not understand what the themes in Solstice are supposed to mean, and this can come through in how they play and sing, especially singers.</li><li>Having community members as performers adds to the experience for the audience. They're not just watching a performance, they're watching <i>their friends</i> perform, which I personally find much more special.</li><li>Having community members perform gives them the opportunity to level up. This is close to my heart because it helped me a lot, and I want to give these opportunities to others at a reasonable challenge level as well.<br /></li></ul><p>There are some other pros and cons that may be relevant to you, though I regard them as ultimately less important:<br /></p><ul style="text-align: left;"><li><span><b>Con: </b>Professional musicians cost money. If your Solstice is small, this could cost as much as the entire rest of your budget (several hundreds of dollars).</span></li><li><span><b>Pro:</b> Professionals can </span>do stuff at the last minute and with little prep. Amateur musicians, or semi-amateurs who haven't worked
together in this specific group before, need a lot more handholding and
rehearsal time to pull together something adequate. Professionals can be
handed some chords and some music and, with a little direction, throw
something together in one rehearsal. So that may also affect the
calculus for you.</li></ul><p>Of course, the best option would be to have a professional musician from within the community, who's perhaps even willing to work for free or cheap. There aren't too many of those last I heard, but if you're lucky enough to have them in your area, do what you can to recruit them. (They might have more opinions on the program, though, so you'd still want to give them some advance notice to discuss!)</p><h4 style="text-align: left;">No musicians?</h4><p style="text-align: left;">There are a couple options if you have few to no musical resources. Some Solstice songs might have karaoke tracks available (especially those that are not Solstice originals). Others you can do pretty well just by singing, with no backing. It doesn't have to be perfect! You can have a good and powerful Solstice event even if you don't have any professionals involved. Sometimes it's more important what you're singing or saying, and who you're doing it with. This kind of Solstice might just be held at someone's house, using their speakers or TV for karaoke tracks, or using nothing at all, just singing together.<br /></p><p style="text-align: left;">If this is the way you want to go, I'd suggest going through the list of songs you want to do and figuring out which ones are karaoke-able or just singable independently, either by you or someone else who is confident enough to lead a song. Ask for help either with leading songs, or with managing the technology system if you need that. And then go ahead with it. You shouldn't need as much prep time -- just a little bit for the person leading each song to get extra-comfortable with it. I'd suggest nailing down your song choices and leaders 3-4 weeks in advance if you go this route.</p><p style="text-align: left;">It does help a lot to have song leaders, even if they're not particularly better at singing than everyone else: just having a Schelling person to start the song helps keep things moving.<br /></p><h3 style="text-align: left;">Funding (depends, maybe 2-3 months before, maybe 0) </h3><p style="text-align: left;">If you're the financial backstop for the event, you can handle this at the last minute. If you need to apply for grants or do crowdfunding, you'll have to do it near the beginning of the planning process, after you've selected your desired venue but before you have secured it.<br /></p><p>You should ask for donations. I feel that having some community contributions is important
and encourages attendees to feel more invested, compared to one person or an outside organization funding the entire thing. Plus, it's not fair for an
organizer to backstop all of it themselves when they're also spending so
much time on it.</p><p>I have only ever done either "organizer pays for everything" or "organizer pays upfront and requests donations to cover costs." If you're not in a financial position to do either of those, you have a few options, all of which will take more time.</p><ul style="text-align: left;"><li>Ask for help in your community, see if anyone is willing to backstop for you</li><li>Apply for a grant. EA Infrastructure Funds are one source that may help.</li><li>Do a Kickstarter or similar. This is probably a better option for bigger, more involved events, but is also a lot of work. I hear these are most successful if you do a nicely-produced video.</li></ul><h4 style="text-align: left;">Requesting donations</h4><p>Make an estimate of your costs and attendees to get a "suggested donation" number. I would advise having a "pay what
you want" option to be inclusive to those who are hard-up financially. It's also nice to add a 2x suggested donation
option phrased as "cover someone else's ticket."</p><p>Having been an organizer for longer now, I think having a "youth" or
"student" ticket might be a good idea, too; fresh blood is important and
you want those people to know you value them, plus younger people
usually have less money. <br /></p><p>There's
also the option of actually selling tickets in advance. This is likely
helpful if you have a larger group (I have never had to do this). It helps to know how many
people are actually going to show up, especially at larger scale. You can add a "free ticket" option on some platforms, so people don't have to pay but effectively have to RSVP.<br /></p><p>Our last Solstice of around 35
people cost around $550 total, though we'd estimated it at $700 ahead of time. We asked for
donations to help cover the cost, with a suggested donation of $20 per
person, and covered the rest of it ourselves (me + one other organizer).
We ended up getting roughly 80% of the costs covered by attendees.<br /></p><h3 style="text-align: left;">Other logistics (1-2 months before)<br /></h3><h4 style="text-align: left;">Kids <br /></h4><p>This depends on your local group's demographics, but I think having kids included is important for the health of the community. However: Solstice is only partially kid-appropriate, plus kids might not
be able to sit still and quiet enough. You don't want them disrupting
others' experience. IMO, having a separate kids' area with paid childcare
available is the best solution. </p><p>At our last Solstice I encouraged people to
bring in their kids during the kid-appropriate part; my spouse brought
our baby son up for the fun songs at the end and it was wonderful to see
him while I was performing.</p><p>How much time you need to arrange this will depend on your personal situation. If I didn't know anyone at all who could do childcare, I'd start asking around a couple months in advance to generate some leads and figure out who would be the best choice. We had last year's Solstice at a religious venue that had a regular childcare provider, and she was also able to cover our event. That worked out really well, since she was already familiar with the space and it was easy for everyone logistically.</p><p>We considered the childcare part of the cost of Solstice; it was available for anyone bringing their kids. </p><p>Another potentially good option, along with childcare for small kids, is to do a minified version of Solstice put on for the kids by volunteers in the community. <a href="https://www.lesswrong.com/posts/Wzzr2g4imrtJTma3L/secular-solstice-for-children">Prior art</a>. </p><h4 style="text-align: left;">Optional: Pre-parties <br /></h4><p>Bay Area
solstice has sometimes hosted pre-Solstice singing parties to get
people familiar with the songs so they can sing along at Solstice
itself. I haven't done this in the past but I think it can be nice.</p><h3 style="text-align: left;">Advertising (at least 1 month before) <br /></h3><p>You get better attendance if you advertise further in
advance. For a big event like Solstice, I suggest one month as a minimum
to maximize the room in people's schedules. Then, at a minimum, send a reminder at the one-week mark.</p><p>You may also want to send additional reminders/requests if anything specific comes up that you want to tell people about, like requests to join a potluck, information about the program, etc.<br /></p><h3 style="text-align: left;">Polish (1-2 weeks before)<br /></h3><p>You can decide how much polish you want. You probably want more the bigger your Solstice is.</p><p>Things that improve polish: Have people practice speeches beforehand so you know how long they take. Do a dress rehearsal for the music. If you're planning any AV or recording devices, even as simple as buying a recording device and turning it on during the performance, test that out beforehand to check if the technical setup is good. (If you have a real venue and a lot of people, you probably want one or more people on sound, and some time at the venue to do an AV rehearsal beforehand.) Are people supposed to sing along? Where do they get lyrics? How are you setting that up?</p><p>Will you have paper programs? Those can be helpful to tell people what to expect, plus they can serve as nice mementos and a record later on. How will you get them printed? When will they be finalized? These should ideally contain the names of everyone who participated in making Solstice happen -- you want to double check the spelling of names before you get it printed.</p><p>Are there material components you need? Candles? Props for your ritual or icebreaker? Who will be handling any lighting changes, and do they need to practice beforehand? Figure out who is going to do any other tasks that will need doing during the ritual (grabbing the X prop from Y location and handing it to person Z, holding the light for person W who will be busy playing an instrument, etc.). Remember that you may be busy during the ritual, so try to get as much help as you can for these little day-of tasks.<br /></p><h3 style="text-align: left;">Actually running it<br /></h3><p>Show up on the day and do it!</p><p>The organizer needs to show up early. Think about how much time you will need for setup and A/V. Sound checks take time, even fairly simple ones. Add a little extra buffer if you have a lot of people volunteering. Err on the side of more time if you're not sure and haven't done this before. As you get better at it, you can start leaving less slack than before. <br /></p><p>Don't forget to thank everyone who helped, especially if you have anyone who isn't in the program for whatever reason. It's very, very important to show people who help out that you value them and appreciate their work!</p><h3 style="text-align: left;">Feedback (1 day after)<br /></h3><p>Collecting feedback is nice, although it's hit or miss how much you'll actually get from attendees. More importantly, you want to talk to everyone involved in actually running it or performing and ask them what could have been done differently; they are likely to have some very specific opinions about it.</p><p>It's better to collect feedback as quickly as possible, so people's memories are still fresh. You can have paper forms at Solstice, or talk to people afterward, or do a Google form posted quickly afterward.<br /></p><h3 style="text-align: left;">Updating Secular Solstice Resources (<1 month after)</h3><p style="text-align: left;">Technically this isn't mandatory, but it is highly recommended :-)</p><p style="text-align: left;">Please do send your Solstice program to Secular Solstice Resources, so it can be archived for posterity and used by others running Solstices. You can do this in the form of a pull request to <a href="https://github.com/SecularSolstice/SecularSolstice.github.io">the Git repository</a>, if you have the technical expertise. If not, you can send your Google docs or whatever to Daniel Speyer (dspeyer at Google's email service), who maintains the archive. Ideally, you should include all the text of your speeches and songs, plus any additional resources you have, such as sheet music. But even just a listing of what songs and speeches you used is helpful. </p><p style="text-align: left;"><br /></p><p><br /><a href="#1-back" id="1">[1]</a> One of my favorite Solstice concepts, which unfortunately
did not have quite the effect intended and resulted in one casualty, was
to have it outside, use the sun for the initial "get darker" arc, and
then after the Moment of Darkness, move the group over to a place where
the city lights were visible and sing Brighter than Today in front of
them. I still think this could work. If you live in Berkeley, check out
Cesar Chavez Park by the Marina. (And watch out for tree branches in the
dark.)</p><p><a href="#2-back" id="2">[2]</a> I view Secular Solstice Resources as more of an archive, with all of the Solstice content on a saved, publicly accessible website forever, with no broken links or Google Docs moldering on some random person's Drive. This is super valuable, but it's unfortunately not very easy to browse and use. I would love to have something that works both as an archive and an easily-browsable, searchable, filterable resource that you could use directly for building a Solstice program. Something for the code monkeys among us to consider in their spare time.</p><p><a href="#3-back" id="3">[3]</a> I've only run a total of 6-7 rehearsals for one Solstice, so I would call myself only very mildly experienced with this skill. But if anyone's interested, I could write a followup post on what that was like. <br /></p>evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com1tag:blogger.com,1999:blog-2514274679744830518.post-80103851299760953222023-02-28T10:17:00.000-08:002023-02-28T10:17:05.048-08:00My Experience With Loving Kindness MeditationI've heard some scary stories about potential bad outcomes from meditation. These outcomes seem to mostly be from people practicing insight meditation for very long periods of time, though.<p>So I figured, hey, a few minutes here and there of loving-kindness meditation should be totally fine and not scary, right? I've never heard of anything weird or out-of-model happening to your brain from just sitting down for less than an hour to think about how much you love people.</p><p>Wrong!</p><p>I had a strange and slightly frightening (though overall positive!) experience on just my third time doing loving-kindness meditation. On the prior two occasions I'd done it for less than ten minutes at a time. This time, I decided to hold out and do it for longer -- at least half an hour, or up to an hour, the full duration of the Quaker Meeting for Worship session I was in.</p><p>(I usually do something very different in my head during Meeting for Worship, which isn't meditation at all. I'll probably write more about this later.)</p><p>In the first few minutes, I had similar experiences to what I'd felt before. I focused hard on the sensation of compassion and empathy, which was difficult, but felt good.</p><p>Then I started having more success. The feelings of love and compassion grew stronger as I found better mental focuses. I was focusing on some memories of my infant son laughing, smiling, and playing with me and my spouse.</p><p>After a while, the feelings dimmed. It seemed like I had "used up" the power in some of these memories, so that they didn't trigger the same effect in me.</p><p>But I kept going, and the feelings started intensifying once more. It felt better and better. I started thinking about feelings of love and compassion towards other people in my life, even people who had annoyed me before, and I started to feel transcendently, uncontrollably happy. It was great. But then <i>it kept going.</i> Suddenly the feelings kept on getting more and more powerful without my having to do anything. It felt like there was a balloon of happiness inside me, swelling and getting larger and larger.</p><p>This was the point at which I got scared.</p><p>I felt like something strange was about to happen, something I couldn't understand or control, and I was absolutely not okay with that. I did not want to find out what would happen if the balloon popped.<br /></p><p>So I opened my eyes and did what I used to do when I had panic disorder: I tried to ground myself. My breathing was fast, and I slowed it down. I looked around at the other people in the Meetinghouse who were still sitting calmly. I reminded myself that there was a world around me and I was going to be back in it.<br /></p><p>The balloon subsided.</p><p>I was able to bring myself back to a normal-ish state, but I felt physically shaky for the rest of the day. It felt very strange talking to other people, yet also easier and more fluid than normal. I started saying "I love you" to my son much more often than I did before.</p><p>For the rest of that week, just by concentrating briefly, I could bring back some of the physical sensations I'd felt during the intense meditation session -- a warm glow in my chest, flowing outward to the rest of my body -- and re-ignite some of the feelings of love I'd felt.</p><p>The most intense effects died down after a week or so, but I think I've retained some of them even now. This was about six months ago.<br /></p><p>I researched and asked friends who do meditation about what, exactly, was happening to me. It sounds to me like I came very close to the "Arising & Passing Away" described in <i>Mastering the Core Teachings of the Buddha.</i> I was very worried for a little while that I would experience the depressive and unpleasant side effects described in that chapter, but I never did; this, plus a few differing details, makes me think that my grounding technique averted my actually experiencing an A&P event.</p><p>Some of what I experienced sounds similar to "jhanas". It would be odd for me to have attained a jhana after so little practice, but I suppose it's not out of the question.</p><p>I do wonder if I had any predisposing factors that would have made this more likely. I have sometimes wondered if I have bipolar II disorder (I've experienced what I'd call depressive and hypomanic episodes, lasting a month or more), which could be a factor. I've also spent lots of time in Meeting for Worship throughout my life, which isn't meditation, but might cause some other changes to one's brain. Lastly, my son was only four months old when this happened; it's possible the intensity of hormonal changes and feelings that come with being a new parent made this more likely.<br /></p><p>I'm overall happy that this happened, and I've continued to occasionally practice loving-kindness meditation since, but I'm also very glad that I stayed mostly in control. </p><p>I'm posting this to share my experience, and as a warning of sorts that even "tame"-seeming forms of meditation can have surprisingly intense effects that it's good to be prepared for.</p><p>I'm also curious if any more experienced meditators or practitioners have comments or possible explanations for this phenomenon. <br /></p>evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-15062221622693779102023-02-19T10:50:00.003-08:002023-02-19T10:50:55.532-08:00Book Review: The Renaissance Soul<p>I have a very short list of books that have actually changed my life substantially -- three so far. I think The Renaissance Soul by Margaret Lobenstine is going to be the fourth.<br /></p><p>This book is fundamentally about solving a dilemma I've had my whole life, namely: if you are interested in too many random things, how do you get a meaningful and satisfying amount of depth out of them, without having to sacrifice all but one or two? So far, it's been nearly impossible for me to just choose one or a couple of things to focus on for a long time, because that feels like boxing myself in way too much. But then I'm left with a constant worry that I'm never going to achieve anything real, because I haven't taken enough time to dig into a specific subject. And in fact, this probably is true, and I feel sad about not having gotten far enough in most areas to get any real satisfaction from them.</p><p>So that's the problem. What solutions does the book offer?</p><p>It's a deceptively simple system:</p><p>1) Pick just 4 things (she calls these "Renaissance Focal Points") to focus on for a medium amount of time (several months to a few years).</p><p>2) Re-evaluate and let which 4 things you're doing change over time.</p><p>There's a whole lot more that goes into it, though. The supporting material in the book really helped me work through some blockers I had preventing me from doing something like this before.</p><p>Some mental blocks that I had that the book helped with:</p><ul style="text-align: left;"><li>Anxiety about long-term commitment locking me into things I won't want to do anymore.<br /></li><li>Anxiety about overcommitting myself, even temporarily.</li><li>Anxiety about losing interest in things too soon. </li></ul><p>I would strongly recommend buying it and reading it if this is something you've struggled with. That said, here is a quick summary of the algorithm with the most important parts for me.</p><h2 style="text-align: left;">Figure out your values</h2><p style="text-align: left;"> The first step is to define what's most important to you in life. <i>Renaissance Soul</i> has an excellent "Five from Fifty" exercise, where you choose no more than five values that are most important to you from a list of fifty possibilities (plus, you can optionally add your own if none of them fit). This really helps narrow down and clarify your priorities.</p><p style="text-align: left;">Lobenstine emphasizes that it's important to recognize when you value things in life that are undesirable or you might want to admit to others that you're pursuing. For example: money, fame, wealth, and power are all on the list. If those are things you want, it's better to be honest with yourself about it!</p><p style="text-align: left;">This has some similarity to other "write a mission statement" type exercises in books like "7 Habits of Highly Effective People." I find these exercises quite helpful. This one is particularly nice because it's simple and doesn't require you to do too much writing.<br /></p><h2 style="text-align: left;">Choose focal points</h2><p style="text-align: left;"> The next step is to choose "focal points". These are something like "projects" or "areas" or "hobbies". How vague or how specific they are will depend on your life circumstances. For me, focal points have varied in specificity from "Go hiking more" to "Be a better parent" or "Do $SPECIFIC_PROGRAMMING_PROJECT" or "Music". They can be something at your job, if something at your job is genuinely important or inspiring to you, or they can all be non-work-related and personal. You want to choose them while keeping in mind the values you chose in the prior step. Make sure you have a spread of things to work on that fulfills your values, and doesn't leave any neglected. But at the same time, you don't want to be doing <i>too</i> much.</p><p style="text-align: left;">Lobenstine recommends exactly four (4) focal points. If you have more than that, you're going to be stretched too thin. If you have less, you might get bored. That said, less is also okay if you feel happy with it! I personally find it hard to stick to just 4, so it seems like a good limit to me.</p><p style="text-align: left;">An important thing to remember here is that these focal points are <i>not forever!</i> They are for a few months to a year at a time; the idea is that you will reevaluate what you're focusing on periodically, and let it evolve based on the results of past projects. So you don't have to feel like you're missing out by dropping all the <i>other</i> projects you want to do.<br /></p><h2 style="text-align: left;">Make a structure with blocked-out time</h2><p style="text-align: left;"> The book has a lot more detail about this, but in broad strokes, the next step is to think about how you will make time for each Focal Point in your life. Do you have specific commitments related to it that you will have to fulfill at scheduled times? Or if there are no external commitments, can you block out a few hours each week to work on it independently? How will you work around other features of your life (job, family, etc.) to make time for it? Do you need to ask other people for help or support? Do you need to make sure you have a pot of tea ready for yourself when you're going to work, or set up your desk more nicely, or ... ? This is basically the "plan how this will actually happen" step.<br /></p><h2 style="text-align: left;">Have weekly check-ins</h2><p style="text-align: left;"> Lobenstine recommends keeping a Focal Point Notebook. In this notebook, each week, take one page and make a table, where each focal point is a column. In each focal point's column, write down what you'll be doing this week. Then the next week, check in on how you did, and repeat the exercise. This helps keep you accountable, and helps you figure out what works for you and what doesn't. Plus, it helps you remember the progress you've made and celebrate it!<br /></p><h2 style="text-align: left;">Re-evaluate values and focal points</h2><p style="text-align: left;">After 4-6 months, or after some specified commitments have passed (a semester, or a specific deadline, etc.), go back to your current list of focal points and values. Hopefully by now you've gotten some solid work done on them, and have enjoyed the process so far! How are they working for you now? Are these still the things you want to focus on, or is it time to pick some new ones? Redo the above exercises, and make a new plan for where you are in your life now.<br /></p><h2 style="text-align: left;">Other helpful things</h2><p style="text-align: left;">The book also covers a lot of ground on the issue of "How do I do this while still making enough money to live and support myself?" This part wasn't relevant to my life circumstances at the time when I was reading, so I skimmed it, but I'd definitely recommend checking it out. Sometimes the solution is to just get a J-O-B that you're only doing for the money and focus on your hobbies in your free time; other times, there are ways to make some money from your hobbies, shift your day job to be more exciting, or scale down your day job to make more time for other things. I'll probably be coming back to this part of the book in the future, and maybe I'll write a more in-depth review if I do.<br /></p>evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-30250813118113489572021-06-01T12:47:00.003-07:002021-06-01T12:47:32.423-07:00What's Wrong With The Land Value Tax?<p>Ever since I read <a href=" https://astralcodexten.substack.com/p/your-book-review-progress-and-poverty">this book review about Georgism</a>, I haven't been able to stop thinking about it. I'd always heard from the economists I knew that the land value tax was a good idea that we could never really do because of politics, and I didn't understand why. But now, having gone down the Georgism rabbit hole, I understand far more acutely both why it would be a great idea, and why politics makes it extremely difficult to do.<br /></p><p>The rabbit hole started with the book review. After reading it, I got really excited about the ideas of Georgism, and then I got to wondering -- how practical is it, really?</p><p>I found <a href="https://www.strongtowns.org/journal/2019/3/6/non-glamorous-gains-the-pennsylvania-land-tax-experiment">this article on strongtowns.org</a> talking about "The Pennsylvania Land Tax Experiment." Turns out over a dozen towns in
Pennsylvania have tried some variation on it, using a "graded tax" that
taxes the total property value at a low rate, and the total land value
at a higher rate. <i>Wow!</i> I thought. <i>They actually did it!</i> But the Strong Towns article glossed over the fact that some towns in Pennsylvania <i>used</i> to have a Land Value Tax, but repealed it later. Including Pittsburgh. That seems like a pretty big hole in the story. What went wrong?<br /></p><p><a href="http://landvaluetaxguide.com/the-pittsburgh-experience/">This article on landvaluetaxguide.com</a> has the whole story.</p><p>It is <i>sort of</i>
because implementing it is hard. However, it's not for the reason you
might think! The assessments themselves are easy enough. For one thing,
you can easily calculate the land value of most houses by subtracting
the sale price from the amount your insurance will pay out if your house
burns down. And assessors are used to evaluating somewhat intangible things about a property, when there's no market data for years at a time (because no one has bought or sold the house). It's not <i>that</i> much more of an issue to evaluate the structures separately from the land.<br /></p><p>No, it turns out the problem is local politics. City
politicians and assessors always have the incentive to systematically
underprice houses, in order to lower property taxes. This is benign enough most of the time; tax rates have to be a little higher to accommodate it, and it all more or less works out. But in Pittsburgh, this problem got
way, way worse, essentially because the county that it's
in reassesses home values very infrequently. One day they decided to
finally get it together and re-price all the houses, and when they did,
everyone was paying WAY more taxes than they were before! People got mad
and blamed this on the graded tax, and in the resulting uproar, they repealed it.</p><p>My takeaways
from this story are: 1) Land-value tax is actually pretty doable, 2)
Home value reassessments are actually quite important, and need to
happen regularly to maintain a healthy tax system (<i>pointed glare at California and Prop 13</i>). Also, more tentatively: 3) The incentives of land owners make it difficult to maintain an LVT. After all, land owners <i>want</i> to extract economic rents, and if they've been doing so already for hundreds of years, it's politically difficult to take that away.<br /></p><p>This article
also believes that part of the reason LVT was so successful early on in
Pittsburgh, and why it was so unsuccessful later, was that everyone was
on board. City assessors and officials were Henry George fans. They
understood the purpose of LVT and wanted to make it a reality. Later on,
everyone sort of forgot about it, County assessors came in and didn't really care about the ideals of Georgism, and everyone started wondering why they had this weird tax system in the first place. Why not just rely on income taxes?<br /></p><p>Well, because income taxes are distortionary. And more to the point, Georgism was invented <i>before</i> income taxes. Imagine living in that halcyon time when no one quite knew what tax system would work best, when you could discuss and debate what would come next, before the creation of massive government bureaucracies around one single form of taxation, before everyone's minds calcified into believing that that form of taxation was the only sensible one!</p><p>... Oh well. Those aren't the times we live in. And it seems the land value tax is too good for <i>this</i> timeline.<br /></p>evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-38899259476043697832020-08-28T09:45:00.000-07:002020-08-28T09:45:14.213-07:00Berkeley<p> It was never meant for us.<br /></p><p>You might be excused for thinking it was, because it was so beautiful. With its tree-lined avenues, distant hills that twinkled with lights after dark, the restaurant patios open until late in summer, the gentle sunlight that returned day after day through the green winter, you might think, of course this place was meant for us to enjoy. What else could it be for? Who else, when you enjoyed it so much?<br /></p><p>But you were wrong.<br /></p><p>You began to realize, strolling down the tree-lined avenues, that you would never look out and feel safe from one of those warm windows. The houses were beautiful. They were small, but they came in all colors, trimmed neatly with terra cotta, fronted by fruit trees and hanging vines that wafted enticing scents across the sidewalk.<br /></p><p>But they were not for you.<br /></p><p>The people in them never wanted you there. The beautiful houses had to stay the same, to be preserved, always with their bounty of zucchinis and lemons left out in baskets saying "Free." They would offer you the fruits of their gardens. But the houses were not for you.<br /></p><p>But you accepted that. The houses might have made you angry, with their yellow terra cotta walls and wide bay windows, windows that you would never look out of and feel safe. But you let that pass by you. It was simply the price. To be there, to stroll down the tree-lined avenues, to wake up every morning to that everpresent sunlight, to be enticed by the smells of the hanging vines and eat the fruit that fell from the trees, it was worth it.<br /></p><p>You thought there was something meant for us there, even if the houses were not.<br /></p><p>We came there, and what we felt was meant for us there was each other. We came in groups; alone; from power; powerlessly. We came begging, and we came giving. We crammed ourselves into tiny rooms, or spent what we had on large rooms, polished wood floors, fruit trees.<br /></p><p>(Fruit trees that we did not own.)<br /></p><p>What we had, we shared.<br /></p><p>But even this was not meant for us.<br /></p><p>It was not enough, then, to have and to share. For this place was never meant for us. The fruit trees grew, and they brought us, and with us, the fruits of our labors. We worked. We strolled down the tree-lined avenues, at night, afterward, and told ourselves that one day this would all be ours.<br /></p><p>But it was never meant for us.<br /></p><p>We would work, and work, and keep on working, and it would consume us, swallowing the fruits of our labors as we swallowed the sweet plums from the trees.<br /></p><p>If you ate the fruit, you might stay forever. If you stayed forever, you might eat the fruit. For some, the price was right.<br /></p><p>For some, perhaps one day, after many years, they looked out of a small window and found that they felt safe. Perhaps they even had one fruit tree of their own.<br /></p><p>Perhaps they did.<br /></p><p>But I may never know. It was never meant for me.</p>evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-37708195366514665832020-02-14T08:00:00.000-08:002020-02-14T08:00:02.377-08:00Fiction I've Been Reading Lately, #3(In this case, for a loose definition of "lately"; this post has been sitting in my drafts for a while.) <br />
<h3>
Online</h3>
<u>Lady Archimedes by White Squirrel</u> (<a href="https://www.fanfiction.net/s/11463030/1/Lady-Archimedes">link</a>) -- 7/10. A worthy conclusion to The Arithmancer. Similar review to my first: comforting, not ultimately all that standout, but still a fun read.<br />
<br />
<u>Worth the Candle by Alexander Wales</u> (<a href="https://archiveofourown.org/works/11478249">link</a>) -- 9/10. In terms of sheer writing quality -- plot pacing and humor especially -- Worth the Candle is one of the top things I have ever read. I do not say this lightly; I give up on many works that others enjoy because I consider the writing quality too low. It's better than most published fiction I've read.<br />
<br />
Wales has a talent for making it feel like the <i>most extreme thing possible</i> is happening, in almost <i>every</i> set of chapters he releases. Surprising and world-shaking information is revealed, fascinating character interactions happen, and most of the main characters face life-or-death challenges.<br />
<br />
<br />
I will say-- I do dislike the harem elements. I appreciate the amount of disclaimering and qualification and analyzing-to-death of the trope that happens in-story (it gets pretty meta sometimes), but ... it's still, fundamentally, a choice that Wales is making to make the story about that. And it makes me even more uncomfortable that most of the fandom seems to be coming from the perspective that they'll just barely tolerate the feminist disclaimers in exchange for the rest of it, whereas from my perspective it's just the opposite. It also sometimes bugs me how lacking in self-awareness the main character is about certain things, but that also gets called out by the narrative most of the time.<br />
<br />
The rest of it is worth it for me, but it does diminish my enjoyment of the series somewhat.<br />
<br />
<u>Marked for Death by various authors</u><b> </b>(<a href="https://forums.sufficientvelocity.com/threads/marked-for-death-a-rational-naruto-quest-story-only.24793/">link</a>) -- 8/10. Marked for Death is in the "online fiction" section of this post, but to be clear, it is not exactly just fiction. It's not exactly Naruto fanfiction, either (although that's a lot closer). It's something called a "quest," which is essentially a roleplaying game played by post on a forum. However, unlike most instances of the genre, Marked for Death is not just choose-your-own-adventure -- <i>nor</i> is it collaboratively written by all its participants. Instead, the thread participants discuss and vote on plans for the protagonist, and a set of authors take turns writing chapters about what happens based on those plans.<br />
<br />
You don't need to know any of that to read it, however. I knew nothing about Naruto or quests when I started reading it, and have gradually picked up the necessary parts of worldbuilding and a little bit about the hivemind that produces the work over time.<br />
<br />
It's very, very long. Like a D&D game, there's no fixed end, so plot arcs rise and fall. I tend to prefer longer works because I like following the same characters over a long period of time. It's also pretty compelling, though I've found it to be slowing down a little bit recently.<br />
<br />
Skip the Chosen for the Grave interludes.<br />
<br />
<h3>
<b>Manga</b></h3>
<u>What Did You Eat Yesterday by Fumi Yoshinaga</u> (vols 1-13) -- 10/10. This caters to my extremely specific special interest of "home-cooked Japanese cuisine," and thus may not be of great interest to others. But in addition to lots of great recipes, the story depicts what it's like to be a long-term-partnered gay person in Japan, internalized homophobia included. The characters are likeable and the story is interesting, ranging from sad to heartwarming to funny. I also like that this is a story about older people (40s and 50s), which seems to be uncommon.<br />
<br />
I liked this manga so much that I got significantly more serious about learning Japanese, just so I could read the next volume before it gets translated into English. I still haven't reached the required level yet, sadly; it's an adult manga, so it lacks furigana and has pretty complex conversations.<br />
<br />
<u>Oishinbo by Tetsu Kariya & Akira Hanasaki</u> -- 5/10. This is more of an Iron Chef-style food manga, where Manly Men compete to make The Best Food Possible. I'm not really a fan. I did enjoy their recipe for "eggplant for people who don't like eggplant." It's also interesting to read because it's a bit older, and shows how environmentalist sentiments manifest in Japan (ex.: "eat local" is taken to mean, in part, "eat Japanese varieties of vegetables, because they are obviously superior").<br />
<br />
<h3>
Published Fiction</h3>
<div>
<u>A Natural History of Dragons by Marie Brennan</u> (5-book series) -- 9/10. Along with Temeraire, this fiction takes its place in the very small "feminist historical fantasy about dragons set near 1800" genre. Along with Temeraire, it's truly excellent. One of the few series that tracks a set of realistic scientific discoveries (the main other example I can think of is the sadly-unfinished Steerswoman series), and the characters and plot are also pretty great. Highly recommended.<br />
<br />
<u>Outlander by Diana Gabaldon</u> -- 7/10. I read this series because I was tired of reading stuff oriented towards the male gaze, and wanted something with a hefty dose of heterosexual female gaze. I was not disappointed in that regard. Plenty of "his iron-hard thighs covered with soft golden down", et cetera. It does, however, adhere to the unfortunate trope of romance novels not really getting what consent is. (This is mostly in the first book or two, though.)<br />
<br />
I also learned, from these books, what all those people on Tumblr were talking about when they complain about gay characters being depicted as villains or, at best, never achieving true happiness. I can't comment on the depiction of Native Americans in later books, due to my own lack of knowledge, but I suspect that someone more informed than I would not be pleased.<br />
<br />
The plot of these books is just ... truly weird, and doesn't conform at all to normal narrative expectations about the setup. It's a time travel story, but it's mostly not about time travel at all. In fact, a lot of it is more ... slice of life.<br />
<br />
Some of it is also, frankly, just plain gross. The main character is a surgeon and the books go into a remarkably unpleasant level of detail about certain operations.<br />
<br />
Overall, though, I found these enjoyable, with a number of caveats. (I also learned a surprising amount about Scottish and early American history.)<br />
I wouldn't recommend them to everyone, but they are certainly good for what they are.<br />
<br />
<u>Broken Earth series by N.K. Jemisin </u>-- 8/10. I liked these, but not as much as I'd hoped to given how highly they came recommended. I spent half the series on the edge of my seat waiting for the big backstory/explanatory reveal about the Moon, which never really came; the mechanics of the world were much less fleshed-out and much more handwavy than I was hoping. It's nevertheless very good; I think I've just been spoiled by rationalist fiction and Brandon Sanderson, where there's always some greater mystery that gets revealed and makes sense of things in some satisfying fashion. This book was satisfying, but not in that particular way.</div>
evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-67557108210802211422020-02-10T08:00:00.000-08:002020-02-10T08:00:05.590-08:00Advice on Human Relationships [Review]This is a review/testimonial for the book <i>7 Principles for Making Marriage Work</i>, by John Gottman.<br />
<br />
I often find myself using concepts from this book to talk about relationships; it's reached a point where I want more of the people I know to know these concepts, and I also think more people should know about them for their own benefit. So here's me writing some of this stuff down, so that even if you haven't read the whole book, you can get some of it filtered through me.<br />
<br />
Here's the thing. This book quite literally changed my life. I don't think I would be married right now if I hadn't read it.<br />
<br />
The book is focused on marriage, but most of the principles are applicable for any long-term, intimate relationship that you want to maintain; for example, with family members or close friends.<br />
<br />
I haven't reread the book for the purposes of this review; this way, you only get the parts of it that actually stuck with me over the several years it's been since I read it.<br />
<br />
<h3>
Positive Interactions</h3>
The most important thing in relationships is having positive interactions with the other person. In particular, the <i>ratio</i> of positive to negative interaction needs to be good.<br />
<br />
This means that your relationship problems <i>are not what you think they are.</i> I.e.: if you are having a problem with your partner where they aren't taking out the trash, maybe the solution is not related to the trash at all, but instead is that you need to hang out with them and have long conversations about your favorite subject instead. How could this possibly help? Well, the more you like your partner, the less you will care about the trash thing.<br />
<br />
This isn't to say that you shouldn't try to solve such problems at the object-level. But sometimes, especially when the problem isn't really solvable long-term (you and your partner might just have different standards of cleanliness, or different ideas about certain things), it's most important just to be patient enough to get past it. And for that, you need to have a generally positive relationship that brings you happiness.<br />
<br />
<h3>
Bids</h3>
There are two kinds of "bids" that I recall from the book.<br />
<br />
The first is bids for deescalation. It's inevitable that two people in a close relationship will have some disagreements. If you're in a conflict, though, it's possible to try to reduce the tension in the discussion; for example, by making a joke, or temporarily deflecting to a more neutral subject, or even making a concession. One partner can make these bids to try to improve the situation; it's important for the second partner to accept these for what they are: loving attempts to help defuse the situation, even if they don't fully solve the problem.<br />
<br />
The second is bids for attention. Sometimes your partner will just want to share something with you, along the lines of "Look at that bird outside the window!" It's important both to make and to (usually) respond to these bids, rather than rejecting your partner's attempts to get closer.<br />
<br />
<h3>
Love Maps</h3>
Knowing things about your loved one makes them feel cared for and appreciated, and it helps you empathize with and talk to them. Gottman refers to this as maintaining a "love map" in your head about your loved one.<br />
<br />
Some examples: what projects they're doing at work, the names of their coworkers, which of their coworkers they like and dislike, what hobbies they've been most interested in lately, how their favorite video game works, facts about their latest interest, who their friends are, and so on.<br />
<br />
There are different ways to maintain your love maps. Gottman recommends talking to your loved one daily. The easiest way to do this is the simple question "How was your day?" The important thing is actually listening, sympathizing, and remembering what they say. He recommends a "poor baby" approach, for this one part of your day -- no matter what they say, regardless of whether they were actually in the right or not, just sympathize with the difficulty they faced.<br />
<br />
<h3>
Date Night</h3>
To maintain your ratio of positive interactions, build your love maps, and generally stay connected with the other person, Gottman recommends two things:<br />
<ul>
<li>First, a daily session in which each person takes turns talking about their day, and listening nonjudgmentally to the other person about their own day.</li>
<li>Next, a weekly date night in which you take time to focus on each other and talk.</li>
</ul>
<br />
My spouse and I originally started doing a date night as a sort of relationship last-resort. Our goal was to check in, ask the other person "How are we doing?", and try to steer things back on track if they weren't going well; kind of like a corporate 1:1.<br />
<br />
What we didn't realize is that having this time to just talk to each other was part of what our relationship needed. We weren't spending enough time together to maintain our ratio of positive to negative interactions, or know what was going on with the other person, or form shared dreams and plans for the future.<br />
<br />
The book also has a number of specific exercises to help talk you through what parts of your relationship are positive and important, targeted towards couples going through difficulty. I think we used a few of these, but the most important part was instituting dedicated time to spend together; having a specific time to talk about difficulties was important, but it was also important just to get in some pair-bonding.<br />
<br />
I highly recommend reading the book if you're interested in getting more depth on these concepts.<br />
<br />evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-86406350100143809932020-02-05T08:10:00.000-08:002020-02-05T08:10:06.154-08:00Money is worthless when you're middle-classWhen I was growing up, in a middle-class intellectual family, I got a lot of interesting messages about money.<br />
<br />
I went to Quaker schools for a long time. Though modern Quakers vary in how well they do it, and it's not as explicit these days, Quaker ideology prizes poverty as the correct state, morally speaking. After all, "it is easier for a camel to go through the eye of a needle than for a rich man to enter the kingdom of God" . Though Quaker Universalism isn't explicitly Christian, it's still influenced and filtered through the ideology of Christianity's original teachings.<br />
<br />
Anyway, through that and other sources -- books, movies, songs -- I got a few messages:<br />
<ul>
<li>Caring about money is passe and uncool.</li>
<li>Caring about money will only lead you to ruin.</li>
<li>Money can't buy happiness.</li>
<li>Do what you love and the money will follow.</li>
</ul>
<br />
And a few contradictory ones:<br />
<ul>
<li>Don't try to get a career in art.</li>
</ul>
<br />
As I got older and was exposed to new messages about money, some of this changed:<br />
<ul>
<li>Money can buy happiness, but only if you use it right and in the right amounts.</li>
<li>Caring about money leads you to ruin insofar as it's a status symbol.</li>
</ul>
<br />
But actually, I think the original messages were basically correct; they were just misdirected. I wasn't the person who needed to hear them.<br />
<br />
I've pretty thoroughly bought into the idea of early retirement by now: if you have a moderately high middle-class income, you can retire early, and if you're particularly fortunate and strategic (say, a software engineer in San Francisco), you can do so early enough to quit before you start having kids.<br />
<br />
In the range of incomes where such things are possible, money is extremely valuable because you can actually use it to buy nigh-unlimited (although substantially deferred) amounts of the most valuable and scarce resource there is: <i>time.</i><br />
<br />
But if you can't do that, and you're going to work for the next 40 years and accumulate an absurd quantity of money (which most middle-class incomes allow you to do at a relatively modest savings rate), there's not actually that much downside to spending some of the extra as you go.<br />
<br />
(Of course, there are <a href="https://www.givewell.org/">other important things</a> you might consider spending it on instead.)evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-80106759232081583692020-02-03T08:06:00.000-08:002020-02-03T08:06:09.391-08:00Thoughts and observations on returning to Meeting<b>Christianity</b> <br />
<br />
I never realized how carefully Universalist and non-Christian the Quaker school I went to was.<br />
<br />
I think we even sang the George Fox song <i>without</i> the verse about "If we give you a pistol, will you fight for the Lord?" As far as I remembered from my childhood, the "ocean of darkness" verse was the third one.<br />
<br />
When people used to ask me if Quakers were Christian, I would straightforwardly answer "No, of course not. It just <i>used</i> to be Christian." This was before I had done so much as a five-minute Google search on the state of the Society of Friends, which of course reveals that Quakers are on a spectrum of Christianity, from fundamentalist programmed Meetings to the most liberal unprogrammed ones.<br />
<br />
It's also now clearer to me the influence that Christian philosophy and theology has on Quakers as a group of people, even those who are explicitly non-Christian (like me). As my dad used to say: "Some people believe Jesus was God. But the view I hold is that he was just a person -- a person with lots of very good and important stuff to say that we should listen to, but just a person."<br />
<br />
Quaker values are basically Christian values with a dash of individualist freedom of thought. (And these days, a hefty dose of hippie ideology.)<br />
<br />
I went to the website of the Meeting associated with the Quaker school I went to growing up, and found out that they have a Bible study group. I was genuinely surprised. Even they aren't quite so Universalist as I thought; it must have just been the school! There were plenty of non-Quaker kids there, so perhaps they wanted to tone down the Jesus stuff for their sake.<br />
<br />
The Meeting I'm attending now seems to have a fair number of explicitly Christian folks; I've heard vocal ministry shared about the Bible and angels after attending just a few times. They have a Bible study group, but I suppose I can't take too much away from that after seeing that my childhood Meeting has one too.<br />
<br />
I recall there was someone at my childhood Meeting who was an atheist Friend, while being a valued and accepted member of the Meeting. What I realize now: That was <i>noticeable</i>, meaning that most people in the Meeting were not. That means that I can be present and accepted, but it's a minority view.<br />
<br />
<b>Discussion</b> <br />
<br />
Something else I'm noticing is how uncommon it seems to be for anyone to discuss outside of Meeting what they experience during it.<br />
<br />
This doesn't surprise me much, but I wish it were different.<br />
<br />
Meeting is a sacred space. Vocal ministry is an opportunity to share with others, but a moderately high-stakes one.<br />
<br />
My experience of the people at the Meeting I attend has been warm and loving, but I still feel a bit uneasy about how they would react if they had a sense of my beliefs, just out of uncertainty if nothing else.<br />
<br />
<br />
<b>People</b><br />
<br />
As you'd expect for any religious gathering, the Meeting I attend skews towards older people. There are a few kids who come to First Day School every week, though, and their parents, who are a few years older than I am.<br />
<b> </b><br />
<b> </b>There are also a few teenagers. I think I've only met one other person in their 20s so far.<br />
<br />
Sometimes I feel a bit uncomfortable about this, but overall I'm taking it as a gift. Relationships with people of different ages can be just as enriching as those with people of our own age; as a meetup organizer, I've certainly had to tell older folks a few times that we welcome them even if they are more gray than most of our attendees. And some of my favorite people at our own meetup are much older than I am.<br />
<br />
<br />evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-89918552275550827902020-01-01T14:00:00.001-08:002020-01-01T14:00:31.387-08:002019 and 2020At the end of 2018, I made a list of "Things I want to do in 2019." Not resolutions, exactly; not goals, exactly; more like a plan with some assorted ideas for things that I wanted to happen, without restricting myself or forcing myself to do any particular thing.<br />
<br />
Here's how it went.<br />
<br />
<ul>
<li><b>Do a triathlon</b> -- No, but I did get through most of Couch to 5k and did a 5k near the end of the year. I think a sprint triathlon would be eminently doable next year.</li>
<li><b>Make wedding photo book</b> -- No, but I made progress; I curated the photos I liked most into a manageable set of a couple hundred. The next step is to find a layout program I like and have access to.</li>
<li><b>Send family wedding prints</b> -- Yes. I did this when I sent out our wedding thank you notes.</li>
<li><b>Keep DMing</b> -- No, sadly. I did make some progress on this, after my last game ended -- got some people together for a potential new game, purchased Ryuutama, and read through the rulebook. I never actually scheduled sessions or started prepping a Ryuutama campaign, though.</li>
<li><b>Make umeshu</b> -- Yes! I started a batch of umeshu in May that is still steeping now. I'll open it in June of 2020, and hopefully drink it in good company.</li>
<li><b>Passover</b> -- Yes! We had a seder again this year, similar to the one we had in years past, and it was really nice. </li>
<li><b>Lift weights</b> -- Some. I did this in the middle of the year, and even got a routine going with my spouse at one point, but it got disrupted by my change of jobs and other life events.</li>
<li><b>Put my fic on AO3</b> -- Yep! I lightly edited and posted the 50k word fanfiction that I wrote for NaNoWriMo in 2018. It's gotten a small positive response, which is about what I expected, given that it's a small fandom.</li>
<li><b>[redacted, work-related] </b>-- Totally dropped the ball on this one. Oh well. Not going to worry about it; I won't need to do this in the future.</li>
<li><b>Leave some time to explore</b> -- Hard to grade. I think I would say yes, and perhaps even a bit too much. More pre-structured time is better for me; if I don't have enough to do, I often end up floundering.</li>
<li><b>Write a mission statement</b> -- No, but I did spend some time thinking about values and what I care about in life. It might be nice to have an explicit version of this in the future.</li>
<li><b>Go to Quaker Meeting (tentative) </b>-- Yes, to my own surprise. I went a couple times while visiting distant family earlier this year, then started going regularly to a local Meeting. I've been enjoying it much more than I would have expected to, and plan to continue.</li>
<li><b>Go to the dentist </b>-- Yes.</li>
<li><b>[redacted, personal] </b>-- Yes, but I'm not sure it was a good idea.</li>
<li><b>Go to Consonance, the Bay Area filk convention </b>-- Yes, and this was a great idea. I had a lot of fun -- more than I expected to given the amount of time that was just listening to music! -- and it provided tons of entertainment after the fact as well; I think I enjoy music a lot more after I've seen the performers live. Definitely will go back this year.</li>
<li><b>Send out wedding thank you notes </b>-- Yes, thank God, though a little bit past the technical etiquette deadline.</li>
<li><b>[redacted, personal] </b>-- No, though I'm not entirely responsible for this. I will sit down with spouse so we can get it done sometime this year.</li>
<li><b>Valentine's day cards</b> -- Yes, and this went really well.</li>
<li><b>Spring cleaning, get rid of the garbage in our room</b> -- I think we ended up doing some of this while moving, so I'll give it a yes. Overall I think we've done a much better settling in to our new place as soon as we moved, and I'm happy about it; there are a few things that could be improved here, but we hung up our pictures just like I wanted to.</li>
<li><b>Charge spouse on Splitwise for many things</b> -- No. Total failure to go through past transactions and do this. I think I won't worry about doing this far after the fact too much -- too much hassle, and it's probably balanced out by him forgetting just as much or more to charge me for stuff. I do want to keep better tabs on expenses going forward though; I did save csvs of all my bank transactions this year, so I have some data to work with now.</li>
</ul>
This year I also tried a new tradition, which goes like this: on New Year's Eve you write a letter to yourself and seal it; on New Year's Day, you open the previous year's letter and read it. I wrote a letter, but since this was the first year, I won't have one to open until next year. I'm looking forward to it.<br />
<br />
A big conflict that I've run into this year (and in past years) is between overscheduling and underscheduling myself. If I don't have enough things to do and look forward to, I end up spinning my wheels and feeling crappy; on the other hand, if I have too much scheduled stuff and not enough time to decompress and re-plan based on what I feel like in the moment, I start to chafe. It's a difficult balance to strike; I think a good overall direction for 2020 would be to work on finding that balance more explicitly. Right now, it feels like I need to move in the direction of being more scheduled and having more things on my plate.<br />
<br />
And now, I'm going to work on my 2020 list.evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-69896985806246653652019-12-15T15:24:00.000-08:002019-12-15T15:24:10.516-08:00Quaker TestimoniesI've been thinking about Quakerism a lot lately. It's the religion of my childhood -- my parents weren't exactly active practitioners, but I went to a Quaker school, and sometimes went to Meeting with my dad growing up.<br />
<br />
I always felt connected to it on a spiritual level, but not on a social level. The people there were important for making the ritual happen, not much else.<br />
<br />
The school I went to also brainwashed me pretty effectively with Quaker values, which, looking back on, I no longer entirely share. I'm genuinely sad about that separation, even though I feel no desire to actually change my mind.<br />
<br />
But I wonder, sometimes, if actually, my disagreement is with the particular implementation of Quaker values, rather than the underlying drivers of them. After all, there is actually quite a lot of latitude in Quaker beliefs; as I once told someone, "the only really REQUIRED belief is that Meeting for Worship is a good use of your time." So I went looking for the six Quaker Testimonies I'd heard about, growing up, to try and form my own conclusions about them.<br />
<br />
To be clear, Quakerism isn't supposed to have any kind of written creed -- you're supposed to listen to the light inside and come to your own conclusions, that's kind of the whole point of all of it! -- but I guess the Testimonies are things that, you know, a lot of Quakers hear when they listen to the light inside. Or something.<br />
<br />
The American Friends Service Committee has an <a href="https://www.afsc.org/testimonies/introduction">introductory pamphlet</a> on the Six Testimonies, which I used for reference. As it says:<br />
<br />
<blockquote>"The testimonies bear witness to the truth, as Friends in community
perceive it— truth known through relationship with God. They do not
exist in any rigid, written form; nor are they imposed in any way. Each
Quaker searches for how the testimonies can best be expressed in his or
her own life."</blockquote>
<br />
Here are some scattered personal thoughts on the testimonies. <br />
<br />
<h3>
Integrity</h3>
<blockquote>"For Friends, having integrity means being authentic and having consistency between one's values and one's actions."</blockquote>
<br />
Telling
the truth is only one part of integrity. The more important part is
following through on your values by, for example, donating significant amounts of
your money to charity, or spending significant amounts of time to help
others. I think this is closely related to the rationalist notion of
"taking ideas seriously" -- something like "If you think helping others
is so important, why aren't you doing more about it?"<br />
<br />
When I was a kid and comparing Quakerism to the other religions I learned about, this always seemed like the most striking difference to me.<br />
<br />
<h3>
Simplicity</h3>
<blockquote>"Friends believe in simple living. This has historically meant simple dress, plain speech, and unadorned meeting houses for worship. Through the simplicity testimony, Friends encourage one another to look beyond the outward and to the inward.<br />
<br />
"In contemporary terms, Friends try to live lives in which activities and possessions do not get in the way of open and unencumbered communication with others and with one's own spirituality. Clearing away the clutter makes it easier to hear the 'still small voice' within."</blockquote>
<br />
Simplicity feels really obvious to me, and it's also clearly not obvious to lots of other people I know. It's closer to being an aesthetic preference than a moral stance, but it still feels deeply important and close to who I am.<br />
<br />
Quakerism values form over function, and difficult truths over platitudes. Simplicity is partly about that -- avoiding unnecessary frills helps you focus on what's really important and true in your life. I think, although most Quakers wouldn't put it in these terms, that it's also a strategy to avoid wasteful signalling games.<br />
<br />
<h3>
Peace</h3>
<blockquote>"Friends oppose and refuse to engage in war and violence. In pursuit of lasting, sustainable peace, they seek to eliminate causes of violent conflict, such as poverty, exploitation, and intolerance."</blockquote>
<br />
Peace is complicated.<br />
<br />
Most outspoken Quakers I've known have believed that it's not that complicated: violence is bad, full stop. Which in turns means that your personal duty is to always refuse to engage in it, and try to convince others to stop, using all nonviolent means available to you.<br />
<br />
As I've gotten older, I've adopted a more utilitarian perspective, which I think unifies these concerns somewhat. It's easy to say "violence is justified in some circumstances; therefore in those circumstances, it's the right thing to do." It's much harder, and more nuanced, to instead say "violence is justified in some circumstances, but it's always bad, and we should always strive to find third options that avoid it whenever we possibly can; and even when you can't avoid it, it's a tragedy."<br />
<br />
<h3>
Community</h3>
<blockquote>"When Friends gather in silence to worship, they are collectively seeking the will of God, rather than meditating individually. Shared worship signifies unity and trust."</blockquote>
<br />
I've often had trouble with this, though it feels important.<br />
<br />
I alternate between thinking "other people are the most important thing in my life" and "other people are the source of all problems in my life." It might be both.<br />
<br />
Meeting has always felt very personal to me, almost too personal to talk about, but I also enjoy hearing others' testimonies and relating them to what is going on with me. And although I've thought about it many times, I've pretty much never wanted to sit down and do the Meeting for Worship ritual by myself, without other people around to share the experience with.<br />
<br />
More than the other testimonies, this one feels to me like something that I care about for my own happiness, rather than out of an abstract sense of value. <br />
<br />
<h3>
Equality</h3>
<blockquote>"Friends hold that all people are equal in the eyes of God and have equal access to the 'inner Light.' This profound sense of equality leads Friends to treat each person with respect, looking for 'that of God' in everyone."</blockquote>
<br />
There's an old quote from George Fox that I like a lot: "Walk gladly over the earth, seeking that of God in every one you meet."<br />
<br />
This one feels obvious, and yet less important, perhaps because most people I meet will at least claim to believe this.<br />
<br />
I think, perhaps, that it's underrated; although everyone claims to believe it, its implications are complex and require constant self-searching to make sure you're acting in accordance with it. I know I often fall short here.<br />
<br />
As I get older and crankier, I'd like to focus more on finding that of God in those I meet, even when they're not exactly compatible with me. It's a lot easier for me to see the incompatibility, now, which sometimes makes it hard to see the inner light.<br />
<br />
<h3>
Stewardship</h3>
<blockquote>"Friends strive to use God’s gifts wisely, with gifts conceived in the
broadest of terms. These gifts include our talents and our possessions,
as well as our natural environment. Friends believe that such gifts are
not ours alone.<br />
<br />
<div class="left-col">
"To Friends, good stewardship means taking care of what has been
given, not just for ourselves, but for the people around us and for
future generations as well. Friends strive to use their gifts in
accordance with their beliefs."</blockquote>
<br /></div>
This is the one I generally construe as "the hippie one."<br />
<br />
I feel sad about it because it seems like pure signaling the way most Quakers talk about it -- the AFSC, in their description of this testimony, goes on to say that they do their best to recycle and conserve energy, which they view as fulfilling an important part of this testimony.<br />
<br />
This reflects a common tendency in many Quakers I've met -- to focus intensely on the part of things that you yourself can affect, even when those things are relatively small or potentially ineffective (as in the case of recycling).<br />
<br />
There's a certain beauty to that. At least, even if the impact of your actions is small, you know that it is positive.<br />
<br />
But I think this falls short of what the testimony can be, which is to regard the world in which you live as a place that you have a duty to protect. This is related to the rationalist notion of "heroic responsibility" -- "Someone has to do it, and no one else will." I think it's overly limiting to construe this only in terms of carbon offsets, or of doing no harm rather than increasing your benefit to the world.<br />
<br />evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com1tag:blogger.com,1999:blog-2514274679744830518.post-14298266471960105852019-06-17T22:29:00.001-07:002019-06-17T22:29:06.309-07:00In My Culture<i>[Sort of a response to <a href="https://medium.com/@ThingMaker/in-my-culture-29c6464072b2">In My Culture</a> (Duncan Sabien); see also <a href="https://thingofthings.wordpress.com/2019/04/10/in-my-culture/">In My Culture</a> (Ozy Frantz). Yes, this is belated; this draft has been sitting around for a while.] </i><br />
<br />
The phrase "in my culture" has been making the rounds of the rationalist blogosphere. While I'm not sure if I like the phrase itself, I think it is very helpful to express something like "the way I interact with other people follows certain etiquette rules; I wish and hope that others follow the same set of rules, while recognizing that they usually don't."<br />
<br />
My personal social circles are such that <i>almost</i> no one I know is actually "in my culture" in this sense -- some of it's personality or preference based, some of it comes from where I was raised -- and, to be honest, this makes me kind of sad. <br />
<br />
But I'm hopeful that by writing this, I can express some of the things that are important to me in social interaction. Maybe some of you who have been confused by my behavior will be able to understand it better with this guide.<br />
<br />
<h3>
Touch</h3>
In my culture, you do not touch strangers.<br />
<br />
Tapping someone on the shoulder to get their attention for something of vital importance is grudgingly allowed (for example: "I think you dropped this"; "You need to get off the bus now, it's the last stop."). You must be careful not to touch them in any other area or for more time than necessary. Waving is preferred, if it will work. Speaking is best, if it will work.<br />
<br />
Sitting next to someone, so close that you are touching them, is permitted when you have no other choice, such as on a train or at a bus stop where there are no other seats available. It is rude to sit next to someone on a train if there are other seats nearby: for example, if there are three empty seats and they are sitting on the end, you should sit on the other end. It is somewhat rude to take the middle of three seats, because this forces the next person who arrives to sit next to you.<br />
<br />
"Strangers" here means someone whose name you do not know, who you may never speak to again, and with whom your interaction is brief. The rules are somewhat different for people you have not met before, but with whom you share a social milieu; for example, someone you meet at a party, during a class you are both taking, or at a community center. In those cases, it is permitted to engage in light or brief touch, but it may be construed as an escalation of the relationship (depending on context). Such escalations may be rejected, at which point you must stop the behavior.<br />
<br />
<h3>
Interaction with friends</h3>
In my culture, there are three basic modes of expressing affection.<br />
<br />
One is basically small talk. In this category, I include platitudes and plausibly-deniable compliments, which may or may not have real feeling accompanying them. For example: "It's good to see you. Thanks for coming." "I like your dress." "How is work going these days?" "What's new with you?" "Things are going pretty well, I just got a promotion." "Ups and downs, it's been a little tough lately." The plausibly-deniable nature of these phrases is a feature, not a bug; it provides a way for everyone to save face if one person determines that they don't want to take the relationship further.<br />
<br />
In this mode, one is expected to minimize negative emotions and steer the conversation away from difficult topics. Your conversational partner should watch for these cues, and help steer away from such topics; it is very rude for them to pry further at anything you have indicated is difficult, or that you might not want to talk about. It is, however, acceptable to discuss difficult topics, if you want to and you're able to do so while controlling your emotions.<br />
<br />
This mode is appropriate for people one has just met, or that one is moderately friends with, or one's parents. When deployed with close friends, it is somewhat distancing ("I don't want to have a real conversation with you right now") or may indicate that others are present, with whom you don't want to be as vulnerable.<br />
<br />
The second mode is affectionate sniping. This is only appropriate for people one knows well, in part because of the possibility of causing inadvertent harm by taking it too far. When employing this mode with new friends, it is of paramount importance to carefully monitor the other person's reaction and stop if it's negative. Not stopping when the other person wants you to can cause permanent harm to the relationship.<br />
<br />
This is the mode that I use most, because it is easy and comfortable; it shows affection via countersignalling <i>and</i> because it shows that you know the other person well enough to mock them without touching any real weak points. But it's also not deep intimacy, which takes a lot of effort to maintain.<br />
<br />
The third mode is genuine and unfakeable tenderness. This is mostly reserved for romantic partners, but is acceptable with extremely close family or friends. This includes things like: saying "I love you" or "you're cute" or other contentless compliments; casual touch on the arm or back; cuddling; (most) kissing; hugging outside the context of a scripted interaction (like saying hello or goodbye).<br />
<br />
This mode expresses intimacy not only with the person you're doing it with, but also with <i>everyone who is present.</i> It expresses a degree of vulnerability to witnesses, because you're displaying genuine and unfakeable emotions in front of them. This is sometimes okay to do even with people you're not close with, for a few reasons: you're particularly madly in love and everyone knows it; it's your wedding day or another party; or if you're in a partnership that's legible to the people around you (such as marriage) and you limit the affection to brief and mild expressions. But, it is somewhat rude to do this in front of distant acquaintances without a good reason, because of the intimacy it compels from witnesses.<br />
<br />
It is acceptable to use this mode of affection in front of strangers in public, because they are expected to ignore your existence; it is therefore not an imposition on them.<br />
<br />
(It <i>is</i>, however, very rude to engage in sexual behavior in front of strangers as well as distant acquaintances. To give you an idea of the cutoff I have in mind, "sexual behavior" includes e.g. kissing in which onlookers can see your tongue, or engaging in fetishes in a way that bystanders can detect.)<br />
<br />
---<br />
<br />
In general, it is a breach of trust and etiquette to attempt to use a much higher level of intimacy than your relationship warrants.<br />
<br />
Expressing tenderness with someone you have just met, if unwanted, is shockingly rude. Even if it is wanted, it's a concerning level of relationship escalation. Existing friends and family might be concerned if you start engaging in it with a stranger -- or they might assume that the relationship must be mostly sexual in nature.<br />
<br />
Affectionate sniping with someone you don't know well enough is also extremely rude. It's especially bad if you manage to actually offend them. Usually it's safest to start doing this with relatively safe topics (teasing someone about their taste in food, for example), and slowly move to other topics as you get to know them better.<br />
<br />
<br />
<h3>
Interaction with strangers</h3>
In my culture, there is no need to greet a stranger you see on the street. The most convenient expedient is to avoid eye contact and pretend they are not there. A brief smile or nod is also appropriate, if desired.<br />
<br />
Engaging them in conversation is [mumblemumble] -- I have mixed feelings about this, because I hate making conversation with strangers, but have <i>sometimes</i> enjoyed it when they do the reverse. At the very least, you should be ready to drop the conversation entirely at the slightest sign of discomfort from the other party.<br />
<br />
I occasionally feel bad about this and worry that people on the street think I'm rude when I'm not fully reciprocating their greetings. I slightly wish this didn't happen.<br />
<br />
<h3>
Negotiation</h3>
<div>
"Negotiation" here means a situation where two parties who otherwise like each other have a conflict of material interests. For example: "how do we divide the rent?" "What chores will we each do?" "How much money should I pay you for this good or service?"</div>
<div>
<br /></div>
<div>
In these situations, it is generally rude to try to play on the other person's emotions to convince them one way or the other. You should instead disclose your conflicts of interest upfront, state simply and clearly what you would like to have happen, even if it sucks for the other party, while recognizing that the other party likely wants something different. If all goes well, you will reach an agreement that is a reasonable compromise for both.<br />
<br />
If possible, you should instead propose a solution that is compatible with both parties' interests, even if it is somewhat more costly to yourself.<br />
<br /></div>
<h3>
Requests and invitations</h3>
<div>
If someone invites you to something, you don't have to go if you don't want to. However, it is rude for you to say "No, I don't want to"; it is better to provide an excuse or at least the-absence-of-an-excuse, e.g. "Sorry, I won't be available that day." It is extremely rude for the inviter to demand a real reason if you have deliberately not given one.</div>
evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-86862460368157580052019-03-17T10:50:00.001-07:002019-03-17T10:50:20.013-07:00Calling People On Their Shit<i>Epistemic status: reflective</i><br />
<br />
I've been doing this thing lately where I give people constructive feedback on things that they do that I don't like.<br />
<br />
It's an investment in them, and it's a sign of trust. If I didn't think I was going to stick around, it wouldn't be worth the time and pain. If I didn't think they would listen, it wouldn't be worth the time and pain, plus there would be a risk that they'd hold it against me in the future.<br />
<br />
On the other hand, if the behavior is bad enough that, given the option, I'd just walk out if it continued -- well, in that case, I have very little to lose by bringing it up. It's still an effort, but there's not much risk. If they don't listen, the door is waiting.<br />
<br />
And yet, it's still scary. Opening up Slack to type, "Hey, when you did X, it made me feel Y. I would prefer it if Z," is a heart-pounding, distracting, productivity-draining experience, even when I've gotten four recruiter emails in the same day and I know for a fact I can get up and walk out and never come back if I want to. It's not like taking the nuclear option is <i>fun</i>, after all.<br />
<br />
---<br />
<br />
But it's gotten less scary as I've started doing it more, especially with people who have taken feedback from me before. I don't do it often, though; I can count the number of times in the past year on one hand.<br />
<br />
I still haven't criticized anyone directly in public. Criticizing someone publicly has vastly different ramifications and subtext than giving them quiet feedback. It says: "This behavior is so unacceptable that I had to tell you about it in front of other people, to be sure they knew I did not condone it." It says: "This behavior is so unacceptable that I am willing to massively defect on you by making you look bad in front of other people." It says: "This behavior is so unacceptable that I am willing to risk that I'm the bad guy here in others' eyes." It's useful in some situations. Mostly I hope I don't get into one of those.<br />
<br />
(Criticizing <i>ideas</i>, of course, in private or public, is routine behavior! It's part of doing business. But, I'm somewhat surprised to realize, giving coworkers constructive feedback really isn't, for me or for other people that I've seen.)<br />
<br />
---<br />
<br />
Related to this, I've become a much angrier person over the past year or two. I hold more space in my mind to complain about things, and so my upset feelings about them fester, instead of being dismissed to the void of space. In a way, it feels right for this to happen now: I'm more self-righteous because I have more certainty in the empirical data I've seen. I used to be ignorant of the right way to do things, so there was no reason to be angry when they weren't done. Now I know. And so it's not okay anymore.<br />
<br />
But it's not the most pleasant feeling, either.<br />
<br />
---<br />
<br />
I don't have a great conclusion to this. I'm happy that I've gotten better at this, the way I'm always happy to have become stronger. I'm sad that there's accompanying pain. And I'm interested to see that this data confirmed what I'd previously believed about the anger I saw in older coworkers -- to some extent, it comes with experience. And I continue to believe that channeling that anger constructively, rather than inflicting it on others unfiltered, is a moral imperative.evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-5836308247646392692019-03-07T09:00:00.000-08:002019-03-07T09:00:01.391-08:00Fiction I've Been Reading Lately #2Some more short book reviews.<br />
<br />
<u>Spinning Silver by Naomi Novik</u><b> </b>-- 10/10. Naomi Novik continues to create beautiful fantasy worlds, supported by rich detail from historical and real-world cultures, and characters with depth and charm who change in fascinating ways. In Spinning Silver, the protagonist is a young Jewish woman who makes her own way through the fantasy plot that's been assigned to her. Highly recommended. And you should read everything else she's written, too.<br />
<br />
(Come to think of it, I haven't tracked down her work on AO3, but she must have some, being a founder of the site...)<br />
<br />
<u>Impossible Things by Connie Willis</u><b> </b>-- 7/10. After reading a few of Willis's other books, I've concluded that her most distinctive talent as an author is writing conversations in which a woman is trying desperately to convey the deep truth of her experience to someone else, and the other person is completely talking past her because they have some irritating, shallow aim in mind and care exactly zero about her. Or better yet, the woman has completely given up on trying to express what she cares about and just lies like hell to get out of every terrible life situation she is in, without ever once telling someone else things like "We need a divorce" or "Actually, my name is 'Chris.'"<br />
<br />
But in general, she writes great characters, even though sometimes her irritating comic-relief characters are a little much for me. These short stories are fun to read. I particularly liked the first one, which is set in a near-future sci-fi universe without dogs.<br />
<br />
<u>The Atlantis Gene by A.G. Riddle</u> -- 7/10. Fast-paced thriller, with interesting pseudoscience. The first book is a lot more fun to read than the following two. In the first book, the author does a great job of making it feel like the action is so intense that you must be near the end, throughout the entire book; the other two are a little less so.<br />
<br />
The gender dynamics in this book were not actively objectionable, but fell into a common pattern that I find tiresome.<br />
<br />
<u>Three Body Problem by Cixin Liu </u>-- 7/10. Interesting; fascinatingly alien as a read for me as a Westerner. This book helped me realize how deeply ignorant I am of Chinese culture. The writing quality is solid. There's a certain part involving the cosmic microwave background that's incredibly haunting (it's in excerpts you can find online); unfortunately, I didn't quite feel that the rest of the book delivered on the mysteries that it promised. The science got less "hard" and more handwavey towards the end.<br />
<br />
I may or may not read the sequels, since I have heard that they are much worse (especially on the gender axis).evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-69568373376938078522019-03-06T19:12:00.002-08:002019-03-17T10:56:49.835-07:00Choron: Distributing Housework with a Fair Market EconomyWhen I was in college, some friends and I thought: Hey, wouldn't it be neat to encourage a fair distribution of housework using a market-based auction system? Capitalism is pretty great at scale, so why not try it at home?<br />
<br />
Turns out: we were totally right, and it was awesome.<br />
<br />
We wrote an app called Choron. It's like a utilon is the unit of utility, or a hedon is the unit of hedonism: a choron is the unit of chores.<br />
<br />
It's written in Ruby on Rails. It ran on our local area network and wasn't exposed to the Internet, because we definitely didn't trust our own ability to secure it. We configured our router so that when you were on the network, "http://choron/" would redirect to the server, which ran on an old laptop my mom gave me sitting in our closet. The server went down once because someone closed the laptop's lid.<br />
<br />
We wrote our MVP in one frantic weekend of staying up late and doing Rails tutorials. I'd never written Ruby before, but it was pretty simple to pick up. Rails was magic. My roommate and co-founder (and now, spouse) hated how magic it was. I found that the trick to writing Rails was to just pretend everything was fine and would work the way you expected to even when you had no idea why, and that would usually do whatever I needed.<br />
<br />
Choron is <a href="https://github.com/mwerbos/Choron">on Github now</a>. You can try it out if you want. Well, if you have an installation of Rails 1.8. That might be difficult to get set up these days.<br />
<br />
<h3>
<b>How it worked at first</b></h3>
<b><br /></b>
Using Choron has a few steps:<br />
<br />
<b>1. Have an interminable meeting with your housemates</b> in which you determine what fixed chores have to be done at what frequency.<br />
<br />
Examples: "The table should be wiped off once a week." "The upstairs carpet should be vacuumed once a month."<br />
<br />
People have a lot of disagreements and Feelings on this topic. (Before living with roommates, almost everyone thinks that their way of keeping their house clean is the universally correct way, and anyone who doesn't do it their way is a fool and/or pig, when in fact there are a thousand little ways that people can do this differently and still basically survive.) Making it all explicit means that the less-clean roommates don't get forced into doing way more work than they feel is reasonable, and the more-clean roommates get to put their cards on the table about what they really want.<br />
<br />
Our group of roommates was great at having three-hour meetings with lively debate and productive results that we (mostly) adhered to. I have no idea if this works for anyone else!<br />
<br />
<b>2. Create the chores with a start date. </b>This will also create an auction for the first instance of that chore.<br />
<br />
<b>3. Participate in auctions.</b><br />
<br />
Here's how this works: You bid how much you want to be paid to do the chore. The lowest bidder wins. It's a <a href="https://en.wikipedia.org/wiki/Vickrey_auction">second-price auction</a>, to incentivize you to bid the real amount you want to be paid to do the chore.<br />
<br />
During the auction, the lowest second-price bid so far is displayed, so you know whether bidding might make a difference.<br />
<br />
When the auction is over, you get the chore contract, with a due date for when the chore needs to actually be done. When you click the "I did it" button, you get the number of chorons you bid. Also, everyone else is taxed to pay you for it.<br />
<br />
<b>Q:</b> Why not just use money instead of chore points?<br />
<b>A:</b> Because we wanted to convince our roommates to use it, and money is uncomfortable. But there was nothing stopping you from trading money for chorons!<br />
<br />
<b>Gaming the system </b><br />
<br />
A problem with our auction system is that it's not <a href="https://en.wikipedia.org/wiki/Incentive_compatibility">incentive-compatible</a>, nor is it <a href="https://en.wikipedia.org/wiki/Strategyproofness">strategy-proof</a>, meaning, essentially, that you can game the system. We called this "bid sniping."<br />
<br />
Here's an example. I knew that our roommate W would always bid 15 on "wipe down the microwave." The second-price bid, though, was 50, because no one else wanted to wipe down the microwave this week. I didn't really want to wipe down the microwave, but I also didn't want W to get a ton of money in taxes from me to do it. So I could bid 20, somewhat safe in the knowledge that I was reducing W's take and yet I <i>probably</i> wouldn't have to do it myself.<br />
<br />
You can say "well, we're roommates! You should bid in good faith!" But it's much easier to say "you should bid in good faith" than to be <i>absolutely sure</i> whether you <i>really</i> would have bid that low (or high) if you didn't know that W did the same thing every week. Better to have an incentive-compatible system, so you don't have to feel guilt over whether you're doing it right or not. "This system works even if the participants are total psychopaths" means "you don't have to feel guilty for trying to optimize your take."<br />
<br />
<b>It's always gameable</b><br />
<br />
We didn't look into this more until long after we'd moved out and stopped using Choron, but after hours and hours of research into mechanism design, my spouse discovered that incentive-compatibility in this situation was almost impossible. Alas!<br />
<br />
The Hurwicz impossibility theorem is a result in mechanism design, that establishes the impossibility of having all of the following three properties:<br />
<br />
1. Efficiency. Every chore is done by the person who hates it least.<br />
2. Budget balance. Chorons are neither created nor destroyed.<br />
3. Strategyproofness. You are incentivized to share your true preferences to get the best outcome for yourself; there's no advantage to hiding your preferences, nor can you make free money by knowing how your roommates are likely to bid.<br />
<br />
Efficiency and budget balance are the two we effectively chose for Choron 1.0.<br />
<br />
Unfortunately, there's really no way to get around budget balance in this situation. Consider: what if you chose to create chorons out of nothing to pay people, rather than taxing everyone else? Then bid sniping is less of a problem -- you don't care how much other people get paid for a chore because of taxation -- but you have a new problem: how do you tell how much work you're doing relative to your roommates? Effectively, you stop caring about your choron level relative to zero, and start caring about your chorons relative to your roommates' number of chorons. This invalidates a baseline assumption of second-price auctions: the assumption that you only care about how much money you have, not how much money other people have relative to you. If you care about other people's point totals, you might bid-snipe them just to decrease their take!<br />
<br />
On the other hand, if you maintain the invariant that chorons can neither be created nor destroyed, each person can just track their choron level relative to zero.<br />
<br />
We haven't discovered a way around this for our problem domain, but if you have one, or a reason why this analysis is wrong, please tell me. We'd love to know.<br />
<br />
<b>Complications</b><br />
<b><br /></b>
A problem arose sometime during the lifetime of Choron, which was this: Some chores had to be done an unknown number of times, at unknown intervals. The primary example of this was unloading the dishwasher and putting away clean dishes.<br />
<br />
One of our roommates, J, was growing more and more resentful about how he did most of the dishwasher unloading, and was getting no points for it, while everyone else got points for things like ordering groceries<sup><a href="https://www.blogger.com/blogger.g?blogID=2514274679744830518#1">1</a></sup> and cleaning the microwave. There's an interesting lesson here: If you have a point system and some work isn't included in it, it's <i>worse</i> for the people doing that work than no point system at all!<br />
<br />
So, being who we are, we set out to create a technical solution to this problem. My spouse spent many hours designing a mechanism, talking to our economist friends, and debating the issue with myself and our roommates, before emerging with a glorious new invention: the Shared Chore!<br />
<br />
Shared Chores work like this:<br />
<br />
1. You bid on them like a normal chore auction. But unlike a normal auction, your bid has TWO components: your own take, and a "pot" of points that will be distributed for actually doing the chore.<br />
<br />
Bids are resolved by the total of the take + pot.<br />
<br />
2. When you win the auction for the shared chore, you immediately receive your take. This is your compensation for being "in charge" of the chore, and picking a good pot amount that is big enough to incentivize yourself and/or your roommates to do it throughout the week. The rule was that if someone else noticed the shared chore not being done enough ("the dishwasher has been full of clean dishes for a day!") and they didn't find the pot enticing enough, they could instead bother the shared-chore-czar to do it.<br />
<br />
3. Whenever you do the chore, you click the "I did it!" button for it. You then receive 1/N of the pot for that week, where N is the number of times everyone did the chore that week. It's payable at the end of the chore period.<br />
<br />
Shared Chores have a few nice properties. You have an incentive to bid low, and specifically, to lower your cut to be arbitrarily low in exchange for having a larger pot. The main service that the shared-chore-czar provides is the service of correctly <i>pricing</i> the shared chore for everyone else (with a penalty of having to do it yourself if you priced it too low).<br />
<br />
<b>Q:</b> Isn't this ridiculously complicated? Who would put up with this?<br />
<b>A:</b> This is why you and I aren't roommates.<br />
<br />
<h3>
<b>Trials and tribulations</b></h3>
<b><br /></b>
Of course, like many young startups, Choron suffered from various critical production bugs that came to bite us in the ass when we least wanted them to.<br />
<br />
<b>Frozen</b><br />
<b><br /></b>
A few months into the first semester of using Choron, the holidays came around and we realized a couple of facts:<br />
<br />
1. It was unfair to tax people for chores being done while they were away on vacation, since they weren't contributing to house uncleanliness.<br />
<br />
2. We had no way to stop people from being taxed.<br />
<br />
So we had a new, exciting hack weekend: Implement the ability to "freeze" people, so they wouldn't be taxed for any chores that were done during their vacation. We didn't actually implement UI support; we just ran an UPDATE statement on our SQLite database directly to freeze someone.<br />
<br />
This was a little bit tricky, because the auctions and the chore events took place at different times, and sometimes people did their chores past the deadline. For ease of implementation, we decided that for whatever time period you were frozen, you would just not be taxed on whatever chores that were actually completed during that time. It was a little messy and didn't account for all the edge cases, but it was good enough and we could implement it easily.<br />
<br />
So, this worked great, and we were really happy about it. No one had to be taxed when they were away on vacation. The system was fair, and so it was upheld.<br />
<br />
A month or two later, we realized that one of our roommates had an anomalously high number of chorons. Somehow he'd been doing chores at roughly the same rate as everyone else, and yet his stash was increasing faster than ours.<br />
<br />
Turns out he'd been frozen for about half a semester, because we forgot to change him back.<br />
<br />
<b>The fix</b><br />
<b><br /></b>
Step One of fixing this, of course, was to make sure it never happened again: by adding a huge <span style="color: red;"><b>YOU ARE FROZEN!!!</b> </span>banner to the header for frozen users.<br />
<br />
Step Two was to reverse the chore transactions for the past month. Of course, we didn't have any sort of permanent record of people's choron levels, or how taxes had been calculated, or any backups of the database<sup><a href="https://www.blogger.com/blogger.g?blogID=2514274679744830518#2">2</a></sup>... So we had to go through every chore that had been done in the past couple months (there were 10 or so per week) and figure the taxes on it by hand, then go into the database and manually add or subtract chorons from each user as appropriate.<br />
<br />
By the way, on the subject of taxes: Chorons were integer values, but taxes were fractional -- so in order to tax people in integer amounts, we had a "bank" of leftover chorons from taxation events, which we reloaded chorons from to make it all average out. Which made reversing the transactions extra fun, since taxation had side effects in the form of bank changes.<br />
<br />
Anyway, after that we installed a Ruby gem called Papertrail, which saves the state of your database every time anything changes in it. For our little 4 KB SQLite database of names and numbers, it was perfect.<br />
<br />
<br />
<b>Addition is hard</b><br />
<b><br /></b>
Of course, having installed Papertrail, we had set ourselves up for having to use it.<br />
<br />
One day one of our roommates came and told us that something was weird about his Choron account. He'd clicked "I did it" on a chore and suddenly received about 1000 chorons, rather than the 100 or so he should have gotten for "go shopping at Costco."<br />
<br />
You know what's important? Database transactions. You know what's especially important? Database transactions when you have a queue system that automatically retries on failure.<br />
<br />
Upon careful analysis of a graph we painstakingly handcrafted out of the Papertrail data, it appeared his chorons had increased several times in the span of one minute. What happened was that his chorons increased early in the job, but something else failed in the process, causing the job to be retried... and him to receive more chorons.<br />
<br />
At least this time we had the data to fix it. Without Papertrail we would've had to take his word for how many chorons he was supposed to have!<br />
<br />
<h3>
<b>So did it work?</b></h3>
<b><br /></b>
Yes.<br />
<br />
There were six to eight people living in that house that used Choron while we lived there. I only actually lived there for a few months one semester, and the rest of the time I was a partial resident paying 1/4 rent to eat their food and hang out. I've lived with my parents, with other roomates in three or four situations (for much longer!), and with my spouse.<br />
<br />
No place has ever felt more like home to me.<br />
<br />
And a big part of this was the way the whole place just ticked over like clockwork. People did what they were supposed to, when they were supposed to; it stayed reasonably clean without overworking anyone; and we rarely argued over chores, or felt resentful about having to do them when roommates were dropping the ball. We made it work together. The house was a living thing, not just a place where we lived.<br />
<br />
<b><br class="Apple-interchange-newline" />Cooperation, or the lack thereof</b><br />
<b><br /></b>Most of our roommates participated in the system (there were 6-8 people living in the house, varying over time). We had one person who refused to ever participate in chore auctions, or, for that matter, really do any chores.<br />
<br />
He had a reason for this, which was that he was rarely actually in the house. In retrospect, this was fairly reasonable, and yet he still probably should have been doing <i>some</i> small amount of work to pull his weight. His chorons went negative and steadily creeped down the longer we stayed in the house, because as far as I know he rarely did chores and never actually clicked "I did it" in the UI.<br />
<br />
We could have implemented variable taxation rates to accommodate him, but I doubt it would have helped. His objection was to participating in a system, not just the unfairness of the system. And to be fair to him, the system was rather complex and annoying.<br />
<br />
What we learned, ultimately, is that Choron has no power to enforce that chores get done, or compel people to do things they didn't want to. What it introduced was <i>accountability</i>. As long as you didn't straight-up lie on the web interface, what you got out of it was a reasonable accounting of how much work you had done relative to other people. So you could tell if you should be doing more to catch up, and also had a good way to see what would be most useful to everyone else. With that, and the motivation to stay on good terms with your roommates and keep the house running, it worked like a charm.<br />
<br />
<b>Exchanging favors</b><br />
<div>
<b><br /></b></div>
<div>
A great emergent feature of Choron was the exchanging of chorons for casual favors that otherwise might not have been done. As an example, two of the people living there had cars, and occasionally the rest of our roommates needed a ride to a subway stop. It became commonplace to ask, "Hey, would you give me a ride for 20 chorons?" The nice thing about this was: now you knew that the driver had no reason to feel resentful of you, and you didn't have to worry about taking advantage of them. If it wasn't worth it, they would negotiate up, or just say no. My spouse (who was among the carless) says he probably would have felt too guilty to ask if we didn't have Choron.</div>
<div>
<br /></div>
<div>
This was also a great lesson in YAGNI<sup><a href="https://www.blogger.com/blogger.g?blogID=2514274679744830518#3">3</a></sup> for us. We spent maybe a third of our time on Choron at the beginning implementing a system called "Bounties," a feature where an individual person could put up X chorons for something they wanted to be done. It was not used even once. It turns out that, in a house where everyone sees each other on a daily basis, you don't need to put up a bounty contract on a website; you just negotiate verbally and give the other person chorons when the task is done. Oops.</div>
<br />
<b>Looking to the future</b><br />
<b><br /></b>
After having great experiences with Choron for two years, you might say: why aren't we still using it?<br />
<br />
Well, at first there were several reasons. I lived with some roommates who didn't want to participate in a system (and our house suffered for it). Then my spouse and I lived together and it seemed like overkill (though in retrospect, it would have been a good idea). Then we lived with some roommates and we tried to get it up and running, and well, Rails 1.8 is a real problem. Then we started thinking about rewriting it in Haskell.<br />
<br />
Then we learned about some other strategies that other people we knew had for running chore systems, and thought, hey: what if it were a <a href="https://en.wikipedia.org/wiki/Dutch_auction">Dutch auction</a> instead? Then you could just do the chore when you want and click "I did it", rather than having to participate in auctions and do it by a deadline.<br />
<br />
And so then I finally snapped and rewrote it in Rust, and my spouse started working on it too. Now we're dogfooding Choron 2.0. We're moving in with friends later this year, and I hope to scale it up -- maybe even offer it to multiple households! -- once we work out some kinks.<br />
<br />
And hopefully, in a couple years, I'll be writing an update with everything we've learned the second time around.<br />
<b><br /></b>
<b><br /></b>
<br />
<br />
<sup><a href="https://www.blogger.com/null" id="1">1</a></sup>We discovered after a while that for a house with seven grown adults, grocery delivery was definitely the way to go. It took several person-hours to do our shopping ourselves and delivery, for us, cost $7.<br />
<sup><a href="https://www.blogger.com/null" id="2">2</a></sup>With the exception of a backup in Dropbox which we'd <strike>made</strike> tried to make once several months prior.<br />
<sup><a href="https://www.blogger.com/null" id="3">3</a></sup><a href="https://www.martinfowler.com/bliki/Yagni.html">You Ain't Gonna Need It.</a>evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-40202414942105460542019-02-15T19:05:00.001-08:002019-02-15T22:24:30.393-08:00Valentine's Day ritualsI enjoy making rituals for myself around specific holidays -- ways to celebrate them that are less materialistic, and more focused on the things that I personally get out of those holidays.<br />
<br />
This year I think I've hit on a good formula for Valentine's Day that helps me feel closer to friends and family.<br />
<h4>
<span style="font-weight: normal;">Friends and family</span></h4>
<div>
<span style="font-weight: normal;">I send out cards to people I care about, and write each one a personal note. Words are a big love language for me, so this feels good.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">This is a good opportunity for me to get out all the compliments I usually feel too awkward to say, like "I think you have a really good sense of style" or "I appreciated it when you hung out with me that time."</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">The important part of this, for me, is giving myself permission to <i>only</i> send these to people who I have something to say to. I start by making a list of people I actively <i>want</i> to send them to -- and then if, when I come to writing the note, I can't think of anything to say, or don't really want to say something nice to them, I just don't.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">This means leaving out some of the extended family I'm not as close with, and friends who I've been feeling distant from lately, and in-laws*. But it also means that I can do this without completely hating it.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">And I also give myself permission for the notes to be <i>not that good</i> -- they don't have to summarize everything I like about the person, or wrap up our entire relationship, or convey the exact depth of feeling that I have or don't have for them. They just need to say something nice. "Happy Valentine's Day, I like your outfits, thanks for being my friend." That can be it.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">Last year I wanted to do this, but didn't plan ahead enough to buy and mail out cards. So I just sent out emails. It felt great. Lots of people responded positively. If you can't spare your whole ass, half-assing it will do.</span></div>
<h4>
<span style="font-weight: normal;">Spouse</span></h4>
<div>
<span style="font-weight: normal;">My spouse and I had a really nice time with a little half-planned ritual at home.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">Beforehand, we wrote Valentine's Day notes to each other -- a little more sappy and personal than the cards that I sent out to everyone.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">We prepped ingredients for a fancy meal the night before (marinated steak, chopped vegetables and potatoes). Then the night of, we set up a nice tablecloth, lighting, background music**, and cooked the meal.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">We sat down together and read the notes.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">Then we ate the fancy food, and relaxed.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">Frugality and self-sufficiency are important values for both of us; it felt better for us to do this at home than at a restaurant. It was good to make something together as part of it.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">And words are important to me, but my spouse sometimes has trouble with them on the spot, so having time beforehand to think about it made things easier on him.</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<span style="font-weight: normal;">---</span></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
I'm really happy with how things went overall. It was a great time for me to reach out and reconnect with the people in my life, in a way that's a little less awkward than just saying "I like you" at any other time in the year.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
* And boy are there some interesting expectations wrapped up in the idea that I should manage correspondence with my husband's family.</div>
<div>
** I've been particularly partial to "chillwave" on YouTube lately.</div>
evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-33349636542883265332018-10-22T08:30:00.000-07:002018-10-22T08:30:00.405-07:00Reviewing Code like a ProThere are three key components to doing code reviews professionally.<br />
<h3>
1. Be thorough</h3>
<div>
You know what's embarrassing? Giving someone else's code an LGTM, only to have a second code reviewer point out a key bug that would cause major production issues.</div>
<div>
<br /></div>
<div>
Clicking "yes" on someone else's code without reading it doesn't do anyone any good. It doesn't do the author any good, because now they're not getting constructive feedback that they can use to improve. It doesn't do you any good, because you're executing an algorithm that a machine could do for no benefit. And it doesn't do your company any good, because you could be missing production bugs or just issues that make it harder for someone else to read the code.</div>
<div>
<br /></div>
<div>
You're an engineer being asked to do code reviews. That means you're literally being paid to complain about other people's code. Come on, that sounds at least a little bit appealing, right?</div>
<div>
<br /></div>
<div>
There are three questions I ask myself to verify that I'm being thorough enough with a code review:</div>
<div>
<br /></div>
<div>
1. <b>Are you increasing the bus factor of this code?</b> In other words, if the author went on parental leave for three months starting tomorrow, would you be able to maintain or answer questions about the code you've reviewed? If not, it's worth looking harder to try and understand the change that's being made.</div>
<div>
<br /></div>
<div>
2. <b>Are you confident in the correctness of the change that's being made?</b> Not just "do I trust the author to write good code," but "do I trust my <i>own</i> assessment that <i>this change</i> is good?" The goal is to do a real cross-check from your own logical intuitions.</div>
<div>
<br />
You should also check for automated tests that would help you feel confident in the change if you were submitting it. Unit tests, integration tests, benchmarks - whatever would be appropriate given the change that's being made.<br />
<br />
3. <b>Are you confident that the next engineer will be able to understand and modify this code?</b> If not, maybe it needs docstrings, a README, clearer organization, better naming, or all of the above. Asking for a docstring on a function is not a nitpick, it's critical for ensuring the code's maintainability.</div><br/>
<h3>
2. Be appreciative</h3>
<div>
Getting negative feedback on your code kind of sucks. There's no getting around that, and engineers have to get used to taking constructive criticism. <b>But there's no need to be an asshole about it.</b> You can make your feedback a lot more easy to swallow by taking the time to appreciate the author's work.</div>
<div>
<ul>
<li>Comment on parts that you think are especially good about the code. Well-written documentation, clean organization, thorough tests. Try not to go overboard with this or it can seem condescending -- to avoid that, focus on things that you personally benefit from. "This docstring really helped me understand the code, thanks."</li>
</ul>
</div>
<div>
<ul>
<li>If appropriate, give an overall comment on the PR as well as individual code comments. Something like "Looks good overall, I have a lot of comments/nitpicks on small issues." These comments can feel formulaic to write, but I always feel they soften the blow of a tough review when I get one on my own code.<br/>
Plus, they're almost always true: if you really didn't think the overall idea of the code was good, why would you leave 30 comments nitpicking it? It would be a waste of time to do a detailed critique on something that you think ought to be totally thrown away.</li>
<li>And if you do think their code needs to be thrown away, well, be a human being about it. <b>Address the idea and the consequences, not the person.</b> "Hey, I think there are some serious design issues here and this needs to be reworked. Here's why and what I think we should do instead."</li>
</ul>
</div>
<div>
<ul>
<li>Respect the author's time by letting them put off larger or less urgent comments to a later PR. I once worked with someone who was always saying "Hey, while you're in there, could you also... ?" Little bits of this can help make the codebase better ("while you're in there, can you fix this one style guide violation right next to the code you changed?"), but too much of it gets exhausting ("while you're in there, can you refactor the foobar? It's only 500 lines of code"). Don't treat it as their fault when pre-existing code is bad.<br/>
If you have something you want to comment on and you're afraid it'll get lost in the shuffle later, you can say "Doesn't have to be in this PR, but I think we should fix X so that it stops doing Y." You can ask the author to file a ticket to follow up, or even file the ticket yourself. <b>Don't use them as your code-cleanup slave</b> just because they need your LGTM on the code review.
</li>
</ul>
</div>
<h3>
3. Be fast</h3>
<div>
Slowing down your code review slows down the productivity of the author by way more than 1x. It blocks them if they don't have something else to do, and imposes switching costs if they do. For that reason, I think everyone should prioritize requested code reviews above writing their own code.</div>
<div>
<br /></div>
<div>
Some tips for reviewing code faster, while staying thorough:</div>
<div>
<ul>
<li>Don't try to task-switch while reviewing code. Focus entirely on the review. You'll get it done both faster and better. Take notes if you need to to understand it more thoroughly, or ask the author.</li>
<li>Think through your comments... but don't think about them <i>too</i> much.<br/><br/>
<b>Example 1:</b> If you see something weird in the code and comment "why did you do this?" and then read on and see why they did it, you can probably delete your comment.<br />
<br />
<b>Example 2:</b> If you see something weird where you think it might affect the performance, but you're not sure, spend at most 5-10 minutes looking it up before just shooting off the comment and asking the author to investigate further.<br />
<br />
There's a cultural expectation of balance between how much work the reviewer vs the author is expected to do. My sense is that this works best if most of the work is presumed to fall on the author, because it's better incentive-wise; they are the one who wants to get their code merged.<br />
</li>
<li>Approve the code as soon as you are sure the author will address the comments to your satisfaction.<br/>
<div>
<b>Things that should not be approved: </b>Code that needs major changes. Code whose author may not understand how to respond to your comments appropriately.<br />
<b><br /></b></div>
<div>
<b>Things that can be approved: </b>Code that needs minor changes, when you're confident the author will agree and fix the changes as you expect. Typos, style guide fixes, even small logic changes if you're pretty sure the fix is uncontroversial.<br />
<br /></div>
<div>
Don't approve too early or the author might feel obligated to ask you again if you <i>really</i> mean to approve the code in its current/fixed state. I usually approve when the code is down to a few minor changes.</div></li></ul>
<br />
Meta-level ways to review code faster:<br />
<ul>
<li>When you get a review, drop the other things you're doing and do it first.</li>
<li>Prioritize code review and communicate up that you're doing that, and that you consider it important.</li>
<li>Show appreciation for others in your organization who do fast and quality code reviews, e.g. mention to your manager that X's fast code reviews are improving your productivity.</li>
</ul>
<div>
A culture of fast, kind, and detailed code reviews can improve a team's output dramatically. It's worth prioritizing.</div>
</div>
evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-78326914601564783882018-10-18T19:29:00.000-07:002018-10-19T23:52:22.037-07:00Naming Conventions<br />
In this day and age, the convention of giving all of one's children their father's name is outdated and oppressive, not to mention limited in the family situations it handles. But the alternatives have their own shortcomings.<br />
<br />
My spouse and I decided to keep our own names when we got married, and kick the can down the road for when we actually have children. But we're going to have to decide how to handle it eventually, so I've been thinking about our options.<br />
<br />
Here are some things that are nice in a naming system:
<ul>
<li><b>Sustainability.</b> It can, in principle, be done by future generations ad infinitum.</li>
<li><b>Connection to the past. </b>Your last name goes back generations and connects you to those who came before.</li>
<li><b>Connection to family. </b>You have the same last name as your family members, so you feel connected to them.</li>
<li><b>Determinism. </b>Names chosen at random may engender resentment in those who "lose" the coin toss.</li>
<li><b>Equality.</b> Free from systemic discrimination in favor of one parent.</li>
<li><b>Flexible.</b> Fits many different family types.</li>
</ul>
Here are some options for choosing family last names, rated on these items:<br /><br />
<b>Patriarchal naming: </b>Sustainable. Solid connection to the past and to family. Deterministic. Not equal. Not flexible -- doesn't work for queer couples or unusual family structures.<br />
<br />
<b>Patriarchal naming for children, but the woman keeps her own name: </b>Similar pros/cons, but with very slightly improved equality. Not a real solution. My parents, and most of my friends' parents, did this.<br />
<b><br /></b>
<b>Hyphenate, i.e. give all kids both names: </b>Not remotely sustainable. A cop-out, kicking the football to future generations. Not radical enough.<br />
<br />
<b>Matriarchal naming: </b>Very similar pros/cons to patriarchal, though in the current environment, probably pushes toward equality overall.<br />
<br />
<b>Flip a coin and pick one spouse's name to be everyone's: </b>Satisfies all criteria except determinism, which basically kills it. Also, in the current climate, people will be real weird about it if you end up taking your husband's name ("no, I swear, I only did it because it was a fair coin toss and he would have been prepared to take mine instead!").<br />
<br />
<b>Pick a union name, invented or chosen by the couple: </b>No connection to the past at all. Otherwise good. Especially good for flexibility.<br />
<b><br /></b>
<b>Smash together the two spouse's last names: </b>Connection to past is somewhat better, but ultimately similar to union names because most traceability is lost. Likely to result in hard-to-prounounce Frankennames.<br />
<br />
<b>Name children based on gender (female children get woman's name, etc.): </b>Works only for heterosexual couples. Connection to family is decreased (not everyone has the same last name). Not good determinism -- could result in one parent feeling hurt or left out based on gender parity of kids.<br />
<b><br /></b>
<b>Name children based on alternating birth order: </b>Similar to the above, but more flexible and deterministic. Still has parity problems; induces unnecessary pressure to have an even number of children.<br />
<br />
<b>Union names, taking an older relative's name: </b>Still somewhat poor equality, since you have to choose just one name. Since it's not the usual "take husband's name," though, it smacks less of systemic oppression. Variations:
<ul>
<li>Flip a coin to determine which grandparent’s maiden name you use.</li>
<li>Pick the grandparent's name with least representation in the population, according to some objective measure. (Select from either 4 parents’ names, or only the 2 that neither member of the couple carries for decreased bias.)</li>
<li>Pick the grandparent's name least counterfactually likely to have grandchildren at the time of selection.</li>
</ul>
So far I think my spouse and I are leaning most towards the last two options, but none of them are totally satisfying.evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-38144827552143373022018-07-09T07:00:00.000-07:002018-07-09T07:00:07.750-07:00My Recent Technical Interview ExperienceI switched software engineering jobs earlier this year, mostly because I felt I wasn't growing enough at my previous company. It was very stressful, but I'm happy with how it turned out. Here are some assorted observations on the process of interviewing at different companies, written in haste right afterward and edited briefly some months later.<br />
<br />
<h3>
Recruiting Companies</h3>
I mostly went through two different recruiting companies for my search, TripleByte and Refdash.<br />
<h4>
TripleByte</h4>
Triplebyte was a great experience overall, in that they were respectful and kind, and got me onsite at a ton of companies very rapidly. And I do think they correctly optimized for interview/offer ratio in my case: I got offers from every company I had an onsite with through TripleByte.<br />
<br />
The main downside was that I also wanted to filter for companies that paid a bunch more money, and they didn't do a very good job of filtering for that on top of the interview type. I would have preferred to do more interview prep on whiteboarding and algorithms and then interview at those companies, rather than only ending up with offers from companies not in the pay range I was looking for.<br />
<br />
My Triplebyte recruiter lowballed me on salary - they suggested, if I were to mention a salary range, it should be $135k-150k. I didn't mention a range, and the company offered me $165k base. This was still lower than I was hoping, but substantially higher than the range the recruiter suggested. Also, I worked at a BigCo, and any of the TripleByte offers would have been a 50% pay cut or more for me. Obviously this wasn't malicious on their part, but I feel it reflects a lack of an accurate sense of the market for engineers at larger companies. Or maybe they simply don't have or didn't think I was qualified for higher-paying jobs. Regardless, I did not end up taking any offers from the companies I interviewed with through TripleByte.<br />
<br />
Scheduling interviews and phone calls with TripleByte was a breeze. Their web app is extremely slick. No back-and-forth emails about "Well, Wednesday doesn't work for me, how about Thursday?" It removed a lot of stress from the process for me.<br />
<h4>
Refdash</h4>
Overall, Refdash was... okay. I did end up taking an offer through them.<br />
<br />
They're still starting out, and it seems that many companies don't yet trust them with their phone interviews (unlike TripleByte, which is more established). So I ended up having to do several phone interviews in addition to Refdash. That was a huge pain. Doing phone interviews while still employed is particularly hellish; do I line several up and take the day off? Do I work from home and do one and then work extra time later in the day? Either way sucks, and I had limited ability to do either.<br />
<br />
I failed the phone interview at Lyft, through Refdash. I feel that it was a rather silly puzzle/algorithm problem, and I didn't get the "aha" moment I was supposed to in a short enough time.<br />
<br />
I did two phone interviews with another company via Refdash. I think I did well on both technically, but they rejected me after the second one. In the second one I asked them a question that, while more tactfully phrased, basically boiled down to "are you personally comfortable with the fact that your business model is evil?" and I suspect the rejection was due to, uhh, 'culture fit'.<br />
<br />
I got the sense that my Refdash interviewer didn't respect me, so it was hard for me to work with him. Refdash kept suggesting that I do more interviews to "practice," and I couldn't help but think they didn't think I was a competent engineer. It's true I didn't do well on my second phone interview with them. It seemed like the interviewer was predisposed to think I wasn't doing well, in a way that made me feel anxious and do worse. He came off as very condescending both on the end of that call and on our later call. I don't want to speculate too much as to why, but it does make me a little suspicious that my husband didn't have this problem with them at all (he went through a job search with Refdash shortly before I did).<br />
<br />
Scheduling phone interviews and recruiter calls with Refdash was a huge pain compared to TripleByte. This experience has taught me just how much I hate scheduling stuff over email: TREMENDOUSLY. I also really hate phone calls, especially with recruiters and other people I can't communicate with well. In a high-pressure situation, it's much easier for me to talk to other engineers, people who I know speak my language. TripleByte minimized the amount I had to do this, which I loved.<br />
<br />
I feel bad that I didn't follow up with some of the companies Refdash connected me with. This job search caused me a tremendous amount of stress (I was hardly eating the whole week I was doing interviews), and I think it was reasonable for me to cut that off after a certain point. The Refdash companies seemed to be better-paying, though, so I wish I'd been able to endure the unpleasantness of interacting with the Refdash interviewers and doing extra phone interviews and calls.<br />
<br />
On the plus side, Refdash did not lowball me on salary and gave me incredibly useful assistance with negotiation that resulted in my final job offer increasing by over 20%. Which I accepted. So I can't complain too much.<br />
<br />
<h3>
The Interview Experience</h3>
I took a whole week off to do five onsite interviews in a row. TripleByte made this pretty easy; 3/5 were through them, and the rest I managed to schedule quickly. This was a great decision. I had rehearsed various spiels and had all the relevant information in my head, and so there was a lot less context switching than there would have been if I'd been working in between.<br />
<br />
I was surprised at how many companies asked me to write code on a laptop, "pair programming" style, or just do design interviews, with no standard algorithms-type whiteboarding. I suspect this is because Triplebyte slotted me into companies that do that type of interview.<br />
<br />
Pair programming interviews were generally quite easy for me. Being able to actually run code and debug in an interview is amazing, and I wish more places allowed me to do it. Of course, "pair programming" in an interview generally means "they watch you write code and talk to you about it," rather than an actual collaboration, but it's still better than whiteboarding.<br />
<br />
I did the Cracking the Coding Interview project grid to prepare: various behavioral question prompts for each project on your resume. As before, this was extremely helpful when I had to answer questions about my resume and previous projects.<br />
<br />
My last onsite involved a lot of whiteboarding. I was surprised, since the recruiter told me to bring a laptop. By this time, though, I was so used to writing code under pressure that I think I did quite well. (<strike>I'll find out what my interviewers thought tomorrow.</strike> I got and accepted an offer from this company!)<br />
<br />
I have a lot of trouble forcing myself to actually prepare for interviews, and still haven't figured out exactly why this is. Perhaps because I haven't done it in the past and so my System 1 thinks it's unnecessary. "Actually prepare" here means: 1) do problems on Leetcode or similar, 2) study basic Computer Science. I'm a fast learner, and I've picked up enough of (2) by now to do okay on that portion of interviews. But I don't enjoy the sort of "aha" "puzzle" problems that are still common at many companies, and so I don't like doing them to practice either.<br />
<br />
<h3>
What I learned about software companies</h3>
I do feel that this job search has given me a better sense of the market and what to look for, as well as good practice talking about what I've been doing at my current employer and so on. <strike>Even if I don't end up moving right now, I think I will in the future, and this is good practice.</strike> (I did end up switching employers.)<br />
<br />
It shouldn't be surprising, but I was still surprised by how little the companies I interviewed with seem to adhere to good engineering practices. It seems there is a lot of low hanging fruit there. In particular it seems like no one knows how the hell to do SRE, which is hilarious coming from someone with as little experience as me. Most places seem to do universal-ish code reviews these days, which is nice. (Not all though!)<br />
<br />
Everyone who is hiring will always say "yes, we have ton of code to write! I wish we had the problem of being over-resourced!" That's what my last employer said when I joined. They were wrong. Well - they weren't right for long, at least. Figuring out what to do next seems to always be a bottleneck on development, far more than the actual writing of the code and making of the thing to go. So it's a valuable skill, one that I'm still working on developing.<br />
<br />
Asking good questions is tough, but I got better at it over time.<br />
<br />
<ul>
<li>"How has this place changed since you joined?" didn't seem to go very well. People would usually tell me some generic stuff about how they've gotten bigger, expanded into new markets, etc., which isn't very helpful for getting a sense of the culture. I occasionally had time to follow up with "How has your day-to-day changed?" which was more illuminating; it's possible you could frame this question to get those answers upfront.</li>
<li>"What are your hours?" is nice to ask a couple people, just to get a sense.</li>
<li>"How much time do you spend in meetings?" is a bit of a leading question, and will usually end with the person concluding "... not too many." It helped to ask "what are your regularly scheduled meetings?" - this ties in nicely to questions about project planning and so on.</li>
<li>"What is something you find difficult about working here?" is nice - a different phrasing of the "tell me something negative / what would you change" question. I like this one because it doesn't restrict them to thinking about things that could be changed - it also illuminates issues that aren't really fixable or shouldn't be fixed, e.g. "our product handles sensitive data and the security requirements are a bit painful."</li>
<li>"How does this compare to other places you've worked?" - Good because it gets at specifics, and also handy to get a sense of where your interviewers were before they were here. Asking where they worked before also puts their answers in perspectives. E.g. "we have a really scrappy culture!" means less from someone who worked at Google than someone who worked at Facebook.</li>
<li>"How do you collaborate with your team?" - e.g. do you talk to them on Slack, turn around to the person behind you, send emails ... ? More specifically: "What do you do if you're stuck on a technical issue?" This is a great barometer of the team dynamics.</li>
</ul>
<div>
<br /></div>
<h3>
Conclusion</h3>
<div>
Looking back, I realize that I'd almost blocked out of my memory how incredibly stressful the interview experience was. I think next time I switch jobs, I will seriously consider quitting first and interviewing later.</div>
<div>
<br /></div>
<div>
Changing jobs has also helped me realize how valuable the skills that I had at my previous job are. I hadn't expected so much of it to be transferable, but it turns out having a sense of good practices and "how things are done" in a variety of respects can give you a really good framework for development, which I now realize not all software developers have.</div>
<div>
<br /></div>
<br />
<div>
Was the job change worth it? Probably. Some months in, I'm writing a lot more code and using my brain a lot more than I was at my previous job. So I'm happy now. I won't be interviewing again for some time.</div>
evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com1tag:blogger.com,1999:blog-2514274679744830518.post-21030325642072798752018-07-05T07:00:00.001-07:002018-07-05T07:00:08.743-07:00Algebraic Data Types for Imperative ProgrammersAlgebraic data types are a fantastic way to make code clearer. They're used all the time in Haskell, because they're a fundamental part of the language, easy, and lightweight. But it turns out you can use them in imperative programming languages like Python and C++, too, with just a bit of hackery.<br />
<br />
<h3>
What's an algebraic data type?</h3>
<div>
Having "algebraic data types" means that you can create a new type by doing AND or OR on two existing types.<br />
<br />
In most languages, doing an AND is easy. In this context, AND just means that "to get an item of this new type, you need an item of a building block type AND another item of a second building block type." For example, in C++, you can use a pair or a struct:<br />
<pre>std::pair<int, string<int string="">> </int>person_description = { 50, 'Walter White' };</pre>
"To get a person description, you need an integer (age) and a name (string)."<br />
In Python, we can use a tuple:<br />
<pre>person = (50, 'Walter White')</pre>
In both of these cases, to fill out the data type, we need an integer AND a string.<br />
<br />
However, most languages don't make it easy to represent an OR. Suppose you want to represent an animal that could be of multiple types, and would have different properties depending on the particular animal. In Haskell this looks like this:</div>
<pre>data Cat = Cat { whiskerLength :: Float }
data Dog = Dog { tailLength :: Float, noseWetness :: Float }
data Pet = Feline Cat | Canine Dog</pre>
<div>
We're declaring that there's a thing called a Cat, and a Pet can be Feline, in which case it has all the properties of a Cat, or it can be Canine, in which case it has the properties of a Dog.<br />
<br />
In C or C++, declaring the Cat and Dog structures is easy:<br />
<pre>struct Cat {
float whisker_length;</pre>
<pre>}
struct Dog {
float tail_length;
float nose_wetness;
}</pre>
But declaring a type that could be "a cat OR a dog" is not. Most popular programming languages don't natively support the concept of an OR type, so you can't create any arbitrary algebraic data type with them.<br />
<br />
In a case like this, we would often just create a Pet structure that has both a Cat and Dog, and try to enforce in the functions we write for Pet that only one at a time is ever filled out.<br />
<pre>struct Pet {
// Only one should be non-null.
Cat* cat;
Dog* dog;
}</pre>
But if we don't make a bunch of tedious <span class="monospace">if Cat</span> checks, then we might make a mistake:<br />
<pre>void totalLength(const Pet& pet) {
// Cats are 20 cm long on average, plus whiskers.
return 20.0 + pet.cat->whisker_length;
// BOOM! If it's a Dog, we done goofed.
}</pre>
<br />
Whereas if we had an algebraic data type, the compiler would object to us doing this.<br />
<pre>totalLength :: Pet -> Float
totalLength pet = 20.0 + (whiskerLength pet)
-- ERROR: whiskerLength works on a Cat, not on a Pet.</pre>
<br />
Instead we have to use pattern matching:<br />
<pre>totalLength (Cat cat) = 20.0 + (whiskerLength cat)
-- This obviously only works with a Cat.
</pre>
... and if you have warnings turned on, the compiler will warn you that this is a partial function that crashes on Pets that are a Dog.<br />
Another solution to this might be object inheritance.<br />
<pre>class Pet {
public:
virtual float length() = 0;
}
class Cat : public Pet {
float whiskerLength;
override float length() {
return 20.0 + whiskerLength;
}
}
class Dog : public Pet {
float tailLength;
float noseWetness;
}</pre>
<br />
This approach also has the benefit of being compiler-checked; if you try to create a <span class="code">Dog</span> object, it will fail saying that you forgot to implement <span class="code">length()</span> for Dog, and it's therefore a pure virtual class. On the minus side, if you have a Pet object in a function, it's hackier to determine whether it's actually a Dog or a Cat under the hood. In fact, you have no way to enumerate all the possible types of Pet and handle them differently in a later function; all the differing logic has to be encoded in the class itself.</div>
<h3>
Why should you use algebraic data types?</h3>
<div>
Algebraic data types make it clearer to express lots of concepts, and as a bonus, they can help guarantee that your code does what it should.<br />
<br />
Everyone uses AND data types - packaging data into named structures is seen as common sense. But while OR data types are used less commonly, they also can make code much clearer.<br />
<br />
Here's an example. Suppose we have a program for interpreting a handwritten phone number from an image of a scanned form. If we get back text from the form, we want to try to turn it into someone's phone number. But it's possible someone filled out the form incorrectly, with their name in the "Phone Number" field. So the text may be invalid.<br />
So we need to be able to represent three cases:<br />
A phone number is an integer.<br />
<pre>data PhoneNumber = PhoneNumber Integer</pre>
InvalidText is an object with a the original text and an error message.<br />
<pre>data InvalidText = InvalidText { originalText :: String, errorMessage :: String }</pre>
An image error is an error that results from finding no text in the image.<br />
<pre>data ImageError = ImageError</pre>
And to represent "one of these things," we create a new algebraic data type. A <span class="code">PhoneNumberOrError</span> is either a phone number, invalid text, or an image error.<br />
<pre>data PhoneNumberOrError = PhoneNumber | InvalidText | ImageError</pre>
We have a function to get a <span class="code">PhoneNumberOrError</span> from an <span class="code">Image</span>.<br />
<pre>getPhoneNumber :: Image -> PhoneNumberOrError</pre>
<br />
This is nice, because now we know we have to handle all the resulting cases in downstream code. If we try to write a function that doesn't handle those cases, we get an error.<br />
<pre>callPhoneNumber :: PhoneNumber -> IO ()
callPhoneNumber = ...
callWrittenPhoneNumber :: Image -> IO ()
callWrittenPhoneNumber image = do
callPhoneNumber (getPhoneNumber image)
-- COMPILE ERROR: PhoneNumberOrError is not a PhoneNumber.</pre>
Instead we define this function, and use pattern matching to check the different cases:<br />
<pre>maybeCallPhoneNumber :: PhoneNumberOrError -> IO ()</pre>
"If it's a phone number, call it."<br />
<pre>maybeCallPhoneNumber (PhoneNumber num) = callPhoneNumber num</pre>
"If it's an image error, print that out."<br />
<pre>maybeCallPhoneNumber ImageError = printStrLn "Error processing text from image."</pre>
"If it's invalid text, print it out, and also the error message."<br />
<pre>maybeCallPhoneNumber invalid_text = printStrLn (
"Found invalid text: '" ++ originalText invalid_text ++
"'. Error message: " ++ errorMessage invalid_text)</pre>
And now we can define our <span class="code">callWrittenPhoneNumber</span> function:<br />
<pre>callWrittenPhoneNumber :: Image -> IO ()
callWrittenPhoneNumber image = maybeCallPhoneNumber (getPhoneNumber image)</pre>
<br />
If we were doing this in a traditional imperative way, this would look very different, depending on the programming language. Perhaps, in C++, we'd return an integer that could be a phone number or an error code:<br />
<pre>// -1 means no phone number was found; see error message for details.
int getPhoneNumber(const Image& image, string* error_message) { ... }</pre>
We left a nice comment on our function, but what if the next engineer was in a hurry and forgot to read it?<br />
<pre>void callPhoneNumberInImage(const Image& image) {
string error_message;
int phone_number = getPhoneNumber(image, error_message);
callPhoneNumber(phone_number);
}</pre>
... oops! Now we've tried to call the number -1, because it wasn't enforced that we should handle all the possible cases.<br />
<br />
And if we've got to write down what our function returns anyway, why not make it machine-readable, too? Plus, the error message is opaque, and can't tell us which type of thing went wrong.<br />
<h4>
Why type safety?</h4>
Why do you need union types when you can just return whatever you want, like in Python? Well...<br />
<pre>class Dog:
def __init__(self, tail_length, nose_wetness):
self.tail_length = tail_length</pre>
<pre> self.nose_wetness = nose_wetness
class Cat:
def __init__(self, whisker_length):
self.whisker_length = whisker_length
def length(pet):
return pet.whisker_length + 20.0 # OOPS. Doesn't work for Dog.</pre>
<br />
<br />
<ul>
<li>The return type of the function isn't checked by the compiler. Anyone can add a return statement with any old type, and break your assumptions about the thing you got back from that function.</li>
<li>With duck typing, it can be hard to track down exactly where the method and attribute you're trying to use gets populated, or whether it applies in each case.</li>
</ul>
<div>
In contrast, with ADTs, the return type is well-specified, and you know which category of thing you got back from the function.</div>
<br />
<br /></div>
<h3>
How do you use them?</h3>
<div>
In Haskell, writing an ADT is simple. But how do you use them in languages that don't support them natively?<br />
<br />
There are a few different monkey patches available at this point.<br />
<h4>
Protocol Buffers and friends</h4>
Here's one way: <a href="https://developers.google.com/protocol-buffers/">Protocol Buffers</a>. While they are mainly used as an encoding and RPC format, because of their support for the <span class="code">oneof</span> keyword, protocol buffers are actually algebraic data types as well!<br />
<br />
Here's how we could write the exact same code in C++ and proto, using protos to represent our ADT:<br />
<b>phone_number.proto</b><br />
<pre>message InterpretedPhoneNumber {
oneof result {
int64 phone_number = 1; // That's the right data type for phone numbers, right?
string invalid_text_error = 2;
string image_error = 3;
}
}</pre>
<br />
<b>call.cpp</b><br />
<pre>#include "phone_number.proto.h"
InterpretedPhoneNumber getPhoneNumber(const Image& image) { ... }
void callPhoneNumberInImage(const Image& image) {
auto maybe_phone_number = getPhoneNumber(image);
switch (maybe_phone_number.result_case()) {</pre>
<pre> case InterpretedPhoneNumber::kPhoneNumber:
callPhoneNumber(maybe_phone_number.phone_number());</pre>
<pre> break;
case InterpretedPhoneNumber::kInvalidTextError:
cout << "Error in phone number text: "
<< maybe_phone_number.invalid_text_error() << endl;</pre>
<pre> break;
case InterpretedPhoneNumber::kImageError:
cout << "Error in phone number image: "
<< maybe_phone_number.image_error() << endl;</pre>
<pre> break;</pre>
<pre> default:</pre>
<pre> // This should never happen. Must be enforced by 'getPhoneNumber'.</pre>
<pre> cout << "Invalid interpreted result" << endl;
}
}</pre>
<br />
With this approach, you can get the compiler to warn you if you haven't included all the cases, because the <span class="code">oneof</span> generates an enum that can be checked in a switch statement like any other. It's also clear what the possible types of result are; it's encoded in the type names, rather than a comment.<br />
<br />
<b>Caveat:</b> Protocol buffers unfortunately may have significant performance overhead, so in speed-critical applications, they may not be appropriate if all you need is an ADT.<br />
<br />
Similarly to Google's Protocol Buffers, Cap'n Proto can also support ADTs, using <a href="https://capnproto.org/cxx.html#unions">named unions</a>.<br />
<br />
<h4>
Other ways to get ADTs in non-Haskell languages</h4>
I'm not as familiar with these tools, but here's a list of things I've heard can help you use ADTs in languages that don't support them natively:<br />
<br />
<ul>
<li>C++17 supports std::variant, a template that can be used for creating un-tagged union types. </li>
<li>TypeScript, a wrapper on Javascript, supports ADTs.</li>
<li>Pytype, a Python library for adding type checking, has Union[] and Optional[] types that you can return.</li>
<li>C does have a feature called "unions." <b>However,</b> they're not great, because you can't tell which data member is filled out by looking at the union. You have to just try and hope that you got it right.</li>
</ul>
<div>
Are there other tools I'm missing? Or other solutions to this kind of problem?</div>
</div>
evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com1tag:blogger.com,1999:blog-2514274679744830518.post-45955751677238750992017-09-28T18:00:00.000-07:002017-09-28T18:00:10.336-07:00Save Your WorkHere's a useful habit I've picked up as a software engineer. <b>Every time you do something difficult, create a reproducible artifact that can be used to do it more easily next time, and shared with others.</b><br />
<b><br /></b>
Some examples of this:<br />
<br />
<ul>
<li>You spent all afternoon debugging a thorny issue. Write down the monitoring you checked and the steps you took to reach the conclusion you did. Put these details in the issue tracker, before moving on to actually fix it.</li>
<li>You figured out what commands to run to get the binary to work properly. Turn the commands into a short script and check it into source control.</li>
<li>You spent a day reading the code and figuring out how it works. Write yourself some notes and documentation as you go. At the end, take half an hour to clean it up and send it to your boss or teammates who might find it helpful. Maybe even put up a documentation website if that seems appropriate.</li>
</ul>
<br />
This makes it easier to pick up where you left off for next time (for you or someone else), and makes it easier to prove that the work you're doing is difficult and has value.evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-59148109165652241342017-09-13T09:00:00.000-07:002017-09-13T09:00:00.191-07:00Nonfiction I've Been Reading Lately<b>The Seven Principles for Making Marriage Work</b> (<a href="https://www.goodreads.com/book/show/849380.The_Seven_Principles_for_Making_Marriage_Work?ac=1&from_search=true">Goodreads</a>) - This book gave me a mental concept that I've been using all the time since: All the conflict resolution skills in the world won't help you if you don't <i>like</i> someone. And if you like them, then conflict resolutions suddenly becomes tremendously easier. See also: <a href="http://particularvirtue.blogspot.com/2017/09/simple-affection-and-deep-truth.html">Simple Affection and Deep Truth</a>.<br />
<br />
I recommend this book to anyone trying to build and maintain close long-term relationships with other people, romantic or not.<br />
<b><br /></b>
<b>Selfish Reasons to Have More Kids</b> (<a href="https://www.goodreads.com/book/show/10266902-selfish-reasons-to-have-more-kids?ac=1&from_search=true">Goodreads</a>) - A short read, and remarkably convincing. The author makes a ton of effort to emphasize that he is NOT saying that you should have kids if you don't want them. It's restricted to a very narrow claim, which is: if you already know you want kids, and you like kids, and you're not having more because of what a huge cost they would be, maybe you should consider having more, because they're probably not as costly as you think.<br />
<br />
<b>Eating Animals</b> (<a href="https://www.goodreads.com/book/show/6604712-eating-animals?ac=1&from_search=true">Goodreads</a>) - This book makes a credible attempt to be a discussion of the practice of eating animals without saying "... and so you should obviously be a vegetarian." I found the discussion of small, humanely-minded farms and slaughterhouses particularly interesting.<br />
<br />
<b>Your Money Or Your Life</b> (<a href="https://www.goodreads.com/book/show/78428.Your_Money_or_Your_Life?ac=1&from_search=true">Goodreads</a>) - A great perspective on how to treat money not as a measure of worth, not as a natural phenomenon that rises and falls like the tide, but as a <i>resource</i> which can be both accumulated and wielded to do what you want. I especially like the framing that money is "something you trade your life energy for."<br />
<br />
Even as someone who's already drunk <a href="http://www.mrmoneymustache.com/">the Kool-Aid on frugality and financial independence</a>, I found it helpful. I haven't tried the specific techniques of tallying up actual net worth and income and expenses, but I've been feeling unsure about my level of impulse spending lately, and this seems like a great way to handle that.<br />
<br />
I also really liked the start of the book, which is about changing your relationship with money while you're still working for wages. While working towards early retirement, it's often easy to lose sight of the fact you're living your life <i>now</i> (as seen in <a href="https://www.reddit.com/r/financialindependence/comments/58j8pc/build_the_life_you_want_then_save_for_it/">this Reddit post</a>, and the commenters there). You can't wait until you have "enough money" to start living it well.<br />
<br />
<b>The Commitment</b> (<a href="https://www.goodreads.com/book/show/25079.The_Commitment?from_search=true">Goodreads</a>) - I was expecting this book to be about commitment and the experience of deciding to commit to someone. It wasn't that at all. It was about having decided to spend the rest of your life with someone already, and then deciding whether to go through the social motions of having a ""wedding"", with all the baggage entailed in that.<br />
<br />
Lots of funny anecdotes, though Dan Savage's humor is sometimes cruel (nominative determinism strikes again!).<br />
<br />
This book might be very moving to someone who is struggling with the question of what the social institution of "marriage" means beyond the commitment to another person. For me, it was an interesting reflection on a problem I don't have.evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com2tag:blogger.com,1999:blog-2514274679744830518.post-41078098382261772212017-09-11T09:00:00.000-07:002017-09-11T09:00:07.854-07:00Meritocracy vs. Trust<i>[Partially a response to <a href="https://srconstantin.wordpress.com/2017/08/08/the-craft-is-not-the-community/">The Craft is not the Community</a>.]</i><br />
<br />
Whenever a group of humans get together to accomplish some goal, there's a fundamental tension between meritocracy and trust.<br />
<br />
If I know you can reject me for lack of skill, I may worry about this and lose confidence. But if I know you never will, I may phone it in and stop caring about my actual work output.<br />
<br />
Both meritocracy and trust contribute to a functioning project, which is what makes this difficult to balance.<br />
<h4>
Trust Improves Productivity</h4>
Psychological safety is the sense an employee has that they are able to make mistakes in front of their coworkers and not be immediately rejected. According to <a href="https://rework.withgoogle.com/blog/five-keys-to-a-successful-google-team/">internal studies of teams at Google</a>, psychological safety is a major predictor of team productivity.<br />
<br />
This makes sense to me from the inside, because I've done much better work on teams where I feel safe enough to ask lots of questions. If I don't feel that way, it often means I waste tons of time struggling with questions or problems that would have been easy if I'd asked for help.<br />
<br />
This is acutely important in software development, where every person tends to have their own fiefdom of special knowledge with no application to anywhere else, and which is extremely time-consuming to acquire. In such an environment, asking a question can be tremendously more time-efficient in total than every person acquiring the knowledge themselves.<br />
<br />
But if an employee worries that they'll be perceived as less efficient or productive when they ask questions, they may not ask the question. This is bad from <i>everyone's</i> perspective, but especially the employer's.<br />
<br />
<h4>
... But So Does Meritocracy</h4>
But employers need to be able to fire poor performers, and sometimes being a poor performer means having to ask for help more than you should.<br />
<br />
As an employer, you have to figure out how to design incentives so that your employees trust each other enough, but you can enact consequences when you need to.<br />
<br />
<h4>
Minimum Hiring Bars and Other Solutions</h4>
One solution is to lie to your employees and tell them you'll love them no matter what, while holding a checklist of "Bad Employee Traits" behind your back. This doesn't work very well, because people aren't stupid.<br />
<br />
A solution for employees is to have a team that trusts each other, but not upper management; in this way, they will be able to ask each other for help, while knowing that their team members will cover for them if necessary. This can have bad long-term effects, because poor performers with lots of friends may be protected from consequences, ultimately dragging down the organization.<br />
<br />
Another solution is to give up completely on one in order to maximize the other. For example, <a href="https://www.fastcompany.com/3056662/she-created-netflixs-culture-and-it-ultimately-got-her-fired">Netflix takes the extreme end of the "meritocracy" question</a> (and pays people a ton of money to make up for it).<br />
<br />
The solution that the plurality of tech employers use: Have a minimum hiring or entry bar. Get all your meritocracy out of the way first. Once you're in the club, you're in the club, and we'll trust you to get things done however you need to. The downside here is that when employees start on a downhill slide, it'll take you longer to react to it, because you're giving them the benefit of the doubt.evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com1tag:blogger.com,1999:blog-2514274679744830518.post-34684616293107072862017-09-08T09:00:00.000-07:002017-09-08T09:00:00.587-07:00Belligerent Welcoming"Nerd culture is so unfriendly!" I've heard people say from time to time. "Star Trek posters! Inside jokes from geek TV shows and book! It's so hard to be a programmer when you're not already a part of it!"<br />
<br />
To this I say: What?<br />
<br />
Here's what happened to me when I started to get into geek culture in late high school and early college. The conversations would go something like this:<br />
<br />
"Oh yeah, 'nuclear wessels'! Ha ha!"<br />
"... huh?"<br />
"Oh, have you seen the Voyage Home? The fourth Star Trek movie?"<br />
"No, I haven't seen any Star Trek actually."<br />
"Oh! My friend! You're one of today's lucky 10,000! Come on, let's watch it right now!"<br />
<br />
This is an approach I call "belligerent welcoming." It <i>can</i> be tone-deaf, and it <i>can</i> be insular, and it can be socially awkward (how many times have I had things explained to me that I'm not really interested in? Many). But you know what it's not? It's not exclusive. It's not unkind. It comes from a desire to share genuine excitement about your culture. And this, not an elimination of the culture, is the way to make programmer and nerd culture more welcoming.<br />
<br />
It's not "You're part of our culture already." It's not "There's nothing for you to learn, or prove." It's "You're not a part of our culture... <i>yet!</i> Growth mindset!"evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0tag:blogger.com,1999:blog-2514274679744830518.post-68611833245306539472017-08-17T09:00:00.000-07:002017-08-17T09:00:16.789-07:00A Village Is Better Than A Group HouseEvery time I mention to someone that I'm working on a cohousing project with the rationality community, they go, "Oh, like a group house?" Every. Single. Time. So this is my once-and-for-all attempt to say, "IT'S NOT A GROUP HOUSE." It's a <i>village.</i><br />
<br />
What are the important differences?<br />
<br />
<b>1. More private space.</b> There's a greater separation between places that are "your space" and "my space." It's easier to get away from people who aren't your immediate family or roommates, because you have space that they are <i>not allowed in</i> if you so choose.<br />
<br />
<b>2. Non-shared ownership. </b>Not only is your private space yours because we've verbally agreed that it's so; it's also yours <i>legally</i>, and you have all the protection and backing of the greater society in your claim on it.<br />
<br />
Having boundaries that cannot be crossed allows people to feel freer to do as they choose within those boundaries.<br />
<i><br /></i>
<br />
<b>3. Size. </b>A group house typically will contain 4-9 adults. A village should have 20-50. What does having more people mean for the community? More <i>social space</i>, and more slack for the community as a whole.<br />
<ul>
<li>If you have a fight with someone, it's easy to avoid them. If you find someone boring, you just don't have to talk to them. There's no need for you to be friends with everyone.</li>
<li>If you find some of your friendships in the group waning, there are lots of acquaintances around you can reconnect with in the meantime. You have a potent source of new friends, people you run into on a regular basis around your community.</li>
<li>If someone leaves, most connections stay intact, and the community identity survives. Since the community is bigger, it'll be easier for you to find someone to replace them. You don't need to solve the problem of "they get along with every single person in our 5-person house"; you just need to roll for best 5 out of 20 or more.</li>
</ul>
Ultimately, all these factors boil down to: A village is more sustainable as a long-term community. And that's why it's better.evictorialhttp://www.blogger.com/profile/09496751681805676314noreply@blogger.com0