# Quarantine Notes - Week 7


Seven weeks in to our lockdown, my social sphere seems to be talking
less-and-less about a "return to normalcy" (at the same time as several US
states are, prematurely, beginning to attempt a "reopening").

It does feel like we're past the point where "it's going to get worse before it
gets better". Italy has announced a
[timeline for easing lockdown measures](https://www.bbc.com/news/amp/world-europe-52435273),
and New York Governor Andrew Cuomo
[has hinted](https://www.bloomberg.com/news/articles/2020-04-26/new-york-reports-367-new-virus-deaths-lowest-since-march-31)
that there might be a similar announcement on the horizon.

> “There is no doubt that, at this point, we’ve gone through the worst,” [Cuomo]
> told reporters in Albany. “And as long as we act prudently going forward, the
> worst should be over.”

I've given up on guessing when the Washington lockdown will end. In any event,
it's not looking good for reopening
[indoor crowded spaces](https://twitter.com/zeynep/status/1251556084424347649).
By extension, [offices](https://twitter.com/zeynep/status/1253710609692209153)
-- especially "open offices" -- are probably going to be a no-go for a long
time.



At work, I've heard rumblings of facilities teams starting to plan out what
reopening offices would look like. Maybe people would only come in on certain
days of the week? I get the sense I'll be in this WFH pattern for the upcoming
~months.

One concern that I hadn't given a lot of thought to, as raised on a recent
episode of [Do By Friday](http://dobyfriday.com/183), is that _even when_
restaurants can reopen, many won't generate enough revenue to stay in business.
As I understand it, most non-chain restaurants operate on super thin operating
margins, which rely on being able to pack their space with as many customers as
possible -- this, of course, will not be realistic with mandates for social
distancing. Beyond restaurants, this type of realization highlighted to me that
"normalcy" is still a _long_ way away, and the effects of the pandemic and
ensuing lockdown will be, to many, unexpected and irreversible.

In the end, we're still in a holding pattern for... some indeterminate period of
time. I'm glad that we're past the worst of the first wave of COVID-19 cases.

## Cooking

True to what I committed to
[last week](/blog/2020/04/19/Quarantine-Notes-Week-6/), I didn't make any bread
this week. Instead I've been going through the extra bread that I froze -- and
it tastes surprisingly good! I didn't expect bread to freeze and reheat so well,
but it tastes about as good as the day after I baked it.

I also tried
[this recipe](https://www.allrecipes.com/recipe/245362/chef-johns-shakshuka/)
for Shakshuka. It turned out quite well! I think one of the key tricks is to use
good quality canned tomatoes. I usually use diced canned tomatoes, which tend to
be kinda acidic. For this recipe, I used a big can of whole peeled tomatoes --
not San Marzanos, because our store didn't have them, but the highest quality
whole tomatoes I could find -- and it made a notable difference.



## Clojure

I continued learning Clojure this week using the
["Brave Clojure"](https://www.braveclojure.com/) book. I'm just barely past the
"hello world" and basic control flow stage of learning the language, but I
continue to be intrigued.

I've found that the Haskell
[I learned last year](/blog/2019/04/25/Finding-Flow-in-Haskell/) has been
helping a bunch in learning Clojure. Clojure feels a bit like "Haskell-lite" --
you get similar immutable-by-default semantics, and the way functions are
applied feels similar. But, Clojure has a _much_ looser type system. This is
nice in a way, because you can hack on things faster without worrying about
satisfying a type checker, but you lose the "if it compiles, it's probably
correct" property of Haskell.

This one sentence popped out to me from the chapter on Functional Programming:

> In OOP, one of the main purposes of classes is to protect against unwanted
> modification of private data — something that isn’t necessary with immutable
> data structures.
> ([Source](https://www.braveclojure.com/functional-programming/))

It's a fairly obvious observation about OOP vs. FP, but for some reason I never
really internalized that in FP, the concept of property visibility is less
important because everything is immutable. Of course, property visibility can
still be useful for providing simpler interfaces / APIs, but in FP visibility
isn't needed for "safety".

One nit that I've had with Clojure is that the Lein REPL doesn't handle Ctrl-C
gracefully. It either (1) doesn't interrupt execution or (2) exits the REPL.
Apparently this is a long-standing
[known issue](https://clojureverse.org/t/interrupt-clj-evaluation-without-exiting-repl/4046/11),
which is disappointing.

For posterity, I setup a [repository](https://github.com/bcongdon/brave_clojure)
for my solutions to the books exercises.

## Media

I've been slowly watching through the latest season of
[Westworld](<https://en.wikipedia.org/wiki/Westworld_(season_3)>). [No content
spoilers, but general opinions ahead] I thought the beginning of the season
was... not great. There are aspects of the show (its entirety, not just this
season) that are legitimately thought provoking, but it's also interspersed with
a bunch of head fakes and "I'm 14 and this is deep"-esque pseudointellectual
nonsense. The first few episodes of this season were particularly
eyeroll-inducing. However, now that I'm about 4-5 episodes in, there have been a
couple interesting developments that have kept me interested enough to continue.
Also, [Aaron Paul](https://en.wikipedia.org/wiki/Aaron_Paul) is now a major
character of the show? So, that's cool.

In books, I've been reading Olivia Butler's
[_Wild Seed_](https://www.goodreads.com/book/show/52318.Wild_Seed) for a
(remote) book club. It's an interesting novel, but probably not one I'd read on
my own. The world-building is excellent, as is the portrayal of inter-character
relationships. Though, it's a bit of an emotionally rough read. As someone in my
book club commented, "It seems like the main themes of this book are slavery and
gas-lighting".

Finally, this week I started listening to Edward Snowden's memoir,
[_Permanent Record_](https://www.goodreads.com/book/show/46223297-permanent-record).
So far, it's mostly been about Snowden's upbringing as part of a family
dedicated to military and civil service. He does a good job explaining the
experience of growing up in the Capital Beltway, and the ways that civil service
changed because of 9/11.

## Assorted Links

This week's links are more programmer-y than past weeks, but that was the mental
space I was in.

-   Someone posted this amazing
    [Rust test suite](https://github.com/rust-lang/rust/blob/58dd1ce8383aaebcad9b6027b89a316fd868b35c/src/test/ui/weird-exprs.rs)
    on Twitter. I think the purpose of this is to stress test the Rust compiler
    with a bunch of bizarre, but technically valid, expressions. Among the test
    functions are `evil_lincoln`, `zombiejesus`, and my favorite `punch_card`:

```rust
fn punch_card() -> impl std::fmt::Debug {
    ..=..=.. ..    .. .. .. ..    .. .. .. ..    .. ..=.. ..
    ..=.. ..=..    .. .. .. ..    .. .. .. ..    ..=..=..=..
    ..=.. ..=..    ..=.. ..=..    .. ..=..=..    .. ..=.. ..
    ..=..=.. ..    ..=.. ..=..    ..=.. .. ..    .. ..=.. ..
    ..=.. ..=..    ..=.. ..=..    .. ..=.. ..    .. ..=.. ..
    ..=.. ..=..    ..=.. ..=..    .. .. ..=..    .. ..=.. ..
    ..=.. ..=..    .. ..=..=..    ..=..=.. ..    .. ..=.. ..
}
```

-   I saw this tweet by Aaron VonderHaar scroll by, and decided to tune into a
    bit of his
    [programming stream on Twitch](https://www.twitch.tv/videos/602313635),
    where he's building a recipe app using Elm. It's a fun watch! (Though, it's
    several hours long, so I mostly skimmed it...) Elm has been in my periphery
    for a while now; it seems like a good candidate to do a side project with.



-   In a similar vein, I enjoyed Tom MacWright's
    [review of the Elm language](https://macwright.org/2020/04/26/old-fashioned-front.html)
    and associated
    [review of the Dark language](https://macwright.org/2020/03/29/dark.html)
    that he wrote regarding a recent project of his. I'd never heard of Dark
    before, and it looks like it's still in a private beta, but it has some
    interesting
    [public documentation](https://darklang.github.io/docs/introduction) that I
    enjoyed reading through.

    > Dark is a language and framework for building web backends: REST API
    > endpoints, asynchronous background workers, scheduled jobs, and persistent
    > storage. Dark's framework is tightly coupled to the infrastructure, and as
    > you write code you're able to develop from real incoming requests/traces.

-   I stumbled upon the
    ["bald and bankrupt" Youtube channel](https://www.youtube.com/channel/UCxDZs_ltFFvn0FDHT6kmoXA),
    which features an British guy traveling through various parts of Russia and
    Eastern Europe. It reminded me of my experience of traveling in Slovakia
    (right down to my overenthusiasm over Soviet-era artifacts and architecture)
    and was a fun bit of vicarious travel while being locked down. His video
    titles are quite clickbait-y, but I enjoyed the content. (_Update_: I've
    since watched more videos from this channel. Some of the commentary is...
    not super PC, so be warned.)



