Dev Diary 2020-07-15

Today I’m going to sing praise to the iCalendar format. With a simple text-based format, you can directly integrate into people’s calendar programs. Why go through all the bother and fuss of using Facebook or Meetup, when a static ics file on a static server can let everyone know the time and place. Ah, if only everything could be this easy.

So I finished off the iCalendar functionality on the CoffeeOutside bot, and now I’m juggling the ideas of what to implement next. With the Go rewrite done (finally), I’m going to aim at one new feature each week. This is partly to justify the effort that went into the rewrite, and partly because I can’t leave well enough alone with this bot :-P For what the bot needed to do, that functionality was finished years ago, now it’s partly to have a topic of conversation on Friday mornings.

Now that I’m starting to find my groove with Go I’ll be starting to pull some libraries out of the stuff I’m making. The Go ecosystem is pretty good, but some stuff suffers from “deep library use.” What I mean by that is that sometimes you think you’re pulling in one library, but you’re actually getting 10-15 different repos along with it (sort of like how a NodeJS Hello World still manages to pull in 30 packages somehow). I’ve been using depth to keep my binaries small and figure out what’s dragging in more than I expected.