LESSWRONG
LW

Coordination / CooperationPractical
Personal Blog

13

Digital Dinner Signup

by jefftk
23rd Aug 2022
jefftk
2 min read
5

13

Coordination / CooperationPractical
Personal Blog

13

Digital Dinner Signup
4Gunnar_Zarncke
2jefftk
5Gunnar_Zarncke
6jefftk
5Gunnar_Zarncke
New Comment
5 comments, sorted by
top scoring
Click to highlight new comments since: Today at 8:04 PM
[-]Gunnar_Zarncke3y40

Nice. I will probably steal this.

You may want to determine the email addresses from the calendar entries instead of hard-coding them.

Reply
[-]jefftk3y20

I agree that would be more elegant, but they rarely change

Reply
[-]Gunnar_Zarncke3y51

I'm worried more about them being discovered by web spiders.

Reply
[-]jefftk3y*60

I'm not that worried about it: I've put email addresses on my site for years without apparently getting spam from it, and embedded in JS is even less likely to be caught. Some of this is a result of other people setting up honeypots where they put out email addresses and ban anyone sending mail to them.

If you did want to avoid it, though, you could use hashing. It's using the list of emails to figure out which columns to put check marks in, and replacing email addresses with email address hashes (and then hashing the emails on events before comparing) would do the same thing.

Reply
[-]Gunnar_Zarncke3y51

Ah, nice. I noticed that mail spam got less but assumed that was due to better filtering. But I didn't know that honey pots are part of it. For others to read up: Project Honey Pot 

Reply
Moderation Log
More from jefftk
View more
Curated and popular this week
5Comments

For house dinner we need a way of coordinating who is going to cook what days and marking who will/won't be at dinner. For the past ~7y we've used a piece of paper on the fridge with a row for each day. This is not a bad system, and it's generally worked well, but it has a few downsides:

  • Some of our housemates live downstairs, and coming up to read or modify the sheet is a bit annoying.

  • One of our housemates will soon move to a nearby house, making this even harder.

  • Same issue if you are traveling or want to make a change while you're out.

  • Some housemates are "default present" while others are "default absent", and it's annoying remembering which.

  • We're adding a new housemate who will only be here some weeks.

So we're trying out a new system, a digital one. Like with any post you make right when you start a new system there's some risk that it isn't a good one and you don't know yet, but that beats never describing it at all.

We now have one Google Calendar event for each day of the week, each marked as recurring weekly. Each housemate is invited, and can RSVP to individual instances or the repeated event. This lets you communicate "I'll be gone this Friday", or "I'm not going to make Fridays", or "I'm not going to make Fridays, but I'll be here this Friday". To cook you edit the title to add "Name cooking" and if you're bringing a guest you can either invite them to the instance of the event or add their name to the title.

It's also helpful to see cooking and eating plans at a glance, so I made a web page that summarizes the current state. You log in with Google, give it read access to your calendar, and it summarizes events named "Dinner":

The page is here and you're welcome to look at the source, but it won't work for you unless you live here. If you want to tweak and use for your house, though, go ahead! There are comments in the HTML source saying how.

Overall this is almost the way I like it, except that login only lasts for an hour. The authentication token I get from Google is good for one hour, after which you need to OAuth again (though you don't need to reconsent to Calendar API access). I haven't figured out how to fix this, and I've asked on StackOverflow.