Published

Nan-nan’s recipe books

Handwritten recipes by my paternal grandmother

My cousin kindly let me borrow my paternal grandmother’s cookbooks for the next few months until we meet again in August. One is a comb-bound cookbook assembled by the community of Worthington, OH. The other is more of a diary where she recorded her favourite recipes. I had NO idea that these books existed. I had always been told she didn’t keep track of her recipes, so this is pretty exciting.

It’s going to take a while to go through the cookbooks, so I took some rough photos of all of the spreads in case I don’t get through it all by the time I return them. It’s classic late 20th-century Midwestern fare. Most of the pages are dedicated to sweets of all sorts, and there are a fair few recipes that call for Velveeta cheese, Jello, or Campbell’s cream of mushroom soup. I’ll probably steer clear of the gelatine “salads” and sadly have to avoid the cheesiest of things, but I’m up for everything else!

I’ll share some of Nan-nan’s recipes in future notes as I try them.

Published

britishearways.com

Screenshot of britishearways.com

Last month, I completed a major overhaul of the British Earways website. The design by Valerio di Lucente of Julia is almost entirely unchanged, the adjustments were largely performance-related and under the hood, geared towards modern browsers. Here’s brief rundown of the changes:

  • Style the full-window player layouts using CSS Grid Layout + 100% height (not 100vh since that can lead to unexpected behaviour on mobile browsers), and use CSS Scroll Snap w/ polyfill for scroll behaviour
  • Achieve flexible typography and spacing with “CSS Locks
  • On non-touch screens, implement invisible DragDealer instances so that each player’s scrubber can be dragged
  • On touch screens, add click event listeners that advance the relevant scrubber to the click target
  • Use styled HTML5 progress elements for each player since these are easily manipulated via their max and value attributes and don’t require adjustment if the window is resized
  • Use the Web Audio API to initialise each audio file and trigger the necessary state changes as the time updates
  • Switch the audio preload attribute from auto to metadata to reduce the size of the page when it initially loads
  • Update CMS to Kirby 3 (this was a joy, IMO the panel layout options make v3 much more client-friendly)
  • Adjust post_max_size, memory_limit, max_execution_time, and upload_max_filesize to allow upload of large (150MB+) audio files

I ran in to one issue that isn’t yet resolved. Kirby copies all uploaded media from the private /content folder to the publicly-accessible /media folder. This copying normally happens almost instantly, even with very large files. On the BE site however, the copy is pretty slow. Since the site pulls the audio duration from the audio file itself via the Web Audio API, the displayed duration is incorrect until the file has finished copying. This is almost certainly related to some rate limiting done by the shared hosting company, a legacy from the preexisting site. It isn’t a huge deal since the copying always finishes eventually, but it isn’t the best behaviour. I’d like to raise the issue with the hosting company but don’t have high hopes, shared hosting providers use rate limiting for a reason.

At any rate, I’m really looking forward to seeing how DB uses the site over the next year and listening to the new mixes.

Published

TODOs: automation, films, pens, reading, etc.

This week has been absolute chaos. Good though! A few things to remember, and to follow up on.


I keep coming across Automate the Boring Stuff, and keep forgetting to look in to it. Python was the first language I learned back in college with Prof. Maxwell, so would be nice to revisit it.

Same thing with films like Idiocracy and The Skeleton Twins. Made a mental note to see them years ago and then promptly forgot, so I’m noting them here as an ever-so-slightly more effective reminder. Idiocracy seems particularly weird, on paper it should have been a huge hit but it got absolutely sidelined by Fox and was screened in the bare-minimum of theaters. The reviews are crazy mixed. Still, I’d like to see it.

Something I *have* watched recently on SB’s recommendation is the BBC’s Ghosts. It’s hilarious and completely charming, a lot of the same faces as the original Horrible Histories but a completely different format. I’d watch the whole thing again, hope they do another series.

Last weekend was Offprint book fair in the Turbine Hall at the Tate, and probably my last event with OP. It was nice to see a few familiar faces including the guys at Here Press. Richard Hollis did a talk to a full house on his newest book about Henry van de Velde followed by a book signing at OP’s table. It was nice to see him again. He was using a blue Uni-ball Air for the signing. I’m going to keep my eye out for that one in the stationery shops, it’s a ball point that writes like a fountain pen (line thickness varies with pressure, but very little risk of leaks). The price seems super reasonable, the web’s retail giant offers a three-pack for just under £5.

GC recommended The Mushroom at the End of the World, and if there’s anyone I trust to give me great book recommendations, it’s her. I’m just hoping it leans towards the glass-half-full end of things, I’m not sure I can take more pessimism right now.

I might have a little bit of downtime while travelling over the next few weeks. If I do, I’m hoping to spend a little time looking in to Commotion, “a free, open-source communication tool that uses wireless devices to create decentralized mesh networks”. Could use SiteSucker to grab all of the docs before I leave for offline reading. I came across Commotion for the first time via a link to Learn Networking Basics from Measurement Lab’s learning resources.

Big data? No thanks

Gandi published a long blog post titled “Mass manipulation and platform privacy: where we’re at”. It’s summarises some talks and Gandi’s perspective following a conference on “democracy in the face of cybersecurity threats”. I’d like to follow up on a few of the points from the post. I’d also like to find out what public educational efforts are under way. Surely someone is working on PSA-style messaging about the dangers of misinformation and how to identify it. It’s easy to be skeptical about that sort of thing, but it can stick. What’s the cyber-awareness version of “Only you can prevent forest fires” or “A slip of the lip will sink a ship”? James Bridle’s “Big data? No thanks” is related, but the version I’m talking about is more personal, about confronting your own confirmation bias. But not too ominous, also catchy and friendly? Tall order.

Every time I sit down on the tube I wonder about what other people see when they look at me, what they perceive about me precisely because they are *not* me. There is this slippery divide when it comes to understanding yourself. There are elements of yourself that you can never understand since it’s impossible to get outside your own head (one of the reasons that talking to someone else about a problem can be so helpful). There are other things about yourself that only you can ever understand, no matter how much time you spend attempting to express that thing. I have trouble articulating why this feels like a catch, but surely someone out there has tried. Just need to find them.

Published

Could NemID exist in other countries? And should it?

Front of a NemID card

Last Monday, I met with some friends at the Cock in Hackney. One of them had just returned from Copenhagen and mentioned having to sort out something related to his NemID. I’d never heard of it before.

Apparently NemID is a common login tool that Danish residents use to access online banking and services offered by public institutions. It’s a little credit card-sized booklet of 148 key pairs that you use alongside a user ID and a password. It’s like an analogue version of two-factor authentication. Each time you log in to something with NemID, the key pair you use is invalidated and is never used again. When you’ve used up all of your key pairs, you’re sent a new NemID booklet.

It seems like a great system. Unlike biometric data, it would be easy to replace if it were compromised. Unlike most other two-factor authentication methods, it doesn’t require an additional (usually smart) device of some sort.

There are downsides though. NemID is administered by a single organisation, Nets DanID A/S, and all of the data seems to be held in one place. This was a problem in 2013 when a DDoS attack knocked it offline temporarily. The oversight also seems pretty iffy, see this January 2016 blog article: “NemID is not cryptologically secure – and the authorities do not care”.

It’s also hard to say how this could be rolled out in countries with larger populations… Denmark’s population is around 5.7 million. That’s a bit more manageable than the UK (~ 66 million), Brazil (~ 209 million), or India (~ 1.3 billion).

Apparently NemID is going to be replaced by MitID in the next few years, so it will be interesting to see if the Danish government forces any changes to make the system less centralised.

And it makes me wonder (again) if something like Dark Crystal could ever work on a national scale.

Published

Assertive Californian seeds

Graphite drawing of a filaree seed

In southern California, there are a few seeds that assert themselves in late summer as things get drier. A lot of prickly, pointy things that stick to you or make themselves known in more painful ways.

Graphite drawing of dried burclover

A few of them were fun to play with as a kid. If you pick at the center of a dry burclover seedpod and pinch the end of it in your fingers, you can pull it away until all that’s left are a few seeds and one long coil of tiny spikes. Filaree seeds wind up tight to make a little drill when peeled away from the plant. And you can make foxtails travel on their own if you put your forearms together from wrist to elbow, hands facing up, and then have a friend place one on your wrists with the point facing you. Rub your forearms back and forth and it will travel down your arms.

Graphite drawing of puncturevine or Goats Head seed

But some seeds were just annoying. If you went for a walk through a field, chances are you’d come out with your socks and shoelaces absolutely covered in hedge parsley hitchhikers. Sandbur and puncturevine were the worst. Puncturevine has a few other nicknames. Goat’s Head, for the shape of the seed pod sections, and caltrop. It often grows on the dry, sandy areas near the beach making it particularly perilous for the bare-footed.

Published

Agorama #7: Raspberry Pis, SSH, Ansible, Dat, and Homebase

Raised wallpaper in Rebecca’s Flat at Raven Row, London

Saturday was an Agorama Server Co-op workshop day. A bunch of us spent the afternoon getting Homebase set up on various Raspberry Pis, a lot of trial and error! The main reference material we used was the README from Agorama’s ansible-raspberry-server repo, Agorama’s Dat Server Node Tutorial, and the brainpower of some of the more knowledgeable people present.

I learned a *lot* from the process and the people there, particularly Max, Ali, and Harry. I’m in the process of writing it all up in to a series of tutorials, will add it here.

Read tutorials

Published

Falafel wraps

Falafel wrap with chili sauce, lettuce, cucumber, pickled onion, and hummus

We made falafel wraps for lunch today using this falafel recipe from BBC Good Food. It was a decent, simple recipe that I’d be happy to use again with a few caveats:

  • The title says “spicy” but there is no heat in it… might actually be good to add some cayenne next time
  • Use the softest canned chickpeas you can find; East End brand is the softest I’ve found in London (and super cheap)
  • Use all of the parsley, stems and all, and chop it super fine
  • Chop the onion very fine, and cook the onion and garlic in olive oil instead of veg oil
  • Add a good pinch of salt (it says “seasoning to taste” but it’s kind of easy to miss that)
  • Half a beaten egg is plenty, any more and it would be way too wet
  • Use two large-ish spoons to ease decently-sized dollops in to the pan since the mixture is too wet to shape in to patties

We had it with pickled red onions (red onions + red wine vinegar + sugar + salt), shredded lettuce, diced cucumber, yogurt, this hummus, and some leftover chili sauce from the best Turkish place in Leyton.

Maybe not quite up to the standard of the guys on Ridley Road Market, but pretty good! To get closer to theirs, we’d need a spicier chili sauce and more tangy pickles.

Published

Site update: a new taxonomy index and a11y improvements

Just pushed an update to this site.

The Browse page is now mainly an index of taxonomies and archives (years, post formats, categories, tags). This new index replaces the opacity-based tag cloud. I kind of miss it, but it was problematic. Very hard to digest, and the lighter greys were way too low-contrast.

Besides the index, most of the changes are related to accessibility. I focused on making the tabbing experience a bit better, introducing a couple skip links. Note that I haven’t totally ironed out the tabbing… Most of my manual testing for this update was done in Chrome. I checked it briefly in Safari and it’s pretty weird, but I think it may have to do with the default Safari settings. I haven’t adjusted these yet, read more about Safari tab settings on a11yproject.com. Besides the tabbing, I also had a handful of links that weren’t suitably descriptive, particularly on the new term index. I added more aria-label attributes where I could. See the “Using aria-label for link purpose” page on the WCAG wiki for more info.

I’m trying to work on accessibility a bit more on an ongoing basis. Need to take a little dive in to this Hacker News thread, via this tweet.

See also:

There are probably a million a11y optimisations I can / should still make on this site. Suggestions are very welcome.

Edit 08.11.19 – Added Mozilla accessibility blog post

Published

watching a boy save his friend

someone screaming downstairs
we ignore it for a bit
happens a lot, it’s a narrow street, drivers get angry

but the screaming doesn’t stop
and the screaming moves, she’s running

we look out the window and down
a man in the middle of the street alone, blocking traffic, filming, wearing a motorbike helmet

shiny puddles on the pavement, from the middle of the road up to the sidewalk

a black hat in the middle of an intersection

all the cars backed up
askew and no honking

there’s a shirtless boy crouching against the fence

(I say “boy” because he’s so lanky, but he’s in no way a child)

the puddles lead to him
he leans on to something just barely out of sight

the woman is there now, she’s in a dusky pink headscarf
she is still screaming

then there are five people
then there are fifteen

(where is the ambulance? where are the sirens?)

a woman with short brown hair and a red jumper gets out of her hatchback
her little boy is in the front seat, craning his neck

she tries to help
more people rushing out of sidestreets and estates

the woman in pink is still wailing
the boy is still crouching

the woman in red has done what she can
or could not
she gets back in her car

the man who was filming is gone

the sun is nearly down

a large man bursts out of the building opposite
pacing, yelling
his hands on his head, in the air, clasped behind his neck
he sprints inside suddenly, trailed by others

so many voices and directionless running

finally sirens, a helicopter
(where does a helicopter land in east London?)

a police van flies over a speedbump
a medic jumps out and runs to the crowd
he is confronted by the woman in pink

“YOU *HAVE* TO STAY CALM”
he yells over her
she turns and runs away

he gets through to the shirtless boy
still crouching

eventually the boy gets up
no top in his hands
left shin of his grey sweats soaked in blood
a friend runs up, puts his arm around him
they wander

the police struggle to disperse a frantic crowd

“he’s DYING”

the large man is back, his sobs carrying over everything else

cyclists come through
nearly in the middle of it before the realise what is going on

cordons go up, people ordered to stay back
go home

(where do you go after something like this?)

boys pace endlessly
sudden bursts, trying to push through

the shirtless boy has a foil blanket and shuffles away
at the cordon he is gently turned back towards the scene
he’s not done yet

the large man is heaving with tears, suddenly rushing the medics and being held back
he collapses on the hood of a car
more sobs

the woman in pink is still wailing
the large man tears at himself
boys sneak through the cordons to see their friend
neighbours lean out of windows
so many spectators

he’s finally in an ambulance, in foil

medical wrappers blow around the street

the black hat is gone


Last night, I saw the immediate aftermath of a stabbing on Arcola Street in Dalston from the top floor of Cell Northside in a shared corner studio with large windows looking east and south. It was surreal, as if in slow motion, and completely impossible look away. It felt like an hour, but later on I realised it was probably 15, 20 minutes max. It was hard to understand what was going on at first. I kept hoping it was something else, maybe that he had been hit by a car (how does that make it better?).

News reports say that he’s stable, and that two suspects have been arrested. I think that the shirtless young man probably saved his life.

I didn’t really know what to do after that. Writing down what happened helped me stop replaying it in my head.

I don’t know what to say beyond this, and I’m not 100% sure why I’ve published it here except that it feels important to share and to remember. The large man’s anguish was unbearable.