• As always, I like to use the Oscar Contest as a way to try to learn something new. This year I decided to build it using AWS Amplify, a set of tools and services that can be used to quickly build and host mobile and web apps across a range of frameworks. I’ve somehow managed to avoid touching React, so I figured I might as well use that too. Here’s the basic architecture I went with:

    Contest architecture

    I figured it might be fun to walk you through the process I used in case you’d like to try something similar. The first step (if you haven’t already) is to install the AWS CLI and Amplify CLI and get them configured with your AWS account credentials. Then I created the basic React project using this command:

    npx create-react-app oscars2021

    That will download a bunch of stuff and set up the basic project files for you.

    You can then switch into that directory and start the app to verify it’s working.

    cd oscars2021
npm start

    Running React app

    Now it’s time to hook your project up to Amplify, using this command:

    amplify init

    A wizard will walk you through setting up various parameters for your app, including your preferred code editor and the type of app you’re building. Here’s what I selected:

    Amplify configuration

    This will initialise your project in the cloud and set up some resources for you.

    Now it’s time to add storage, which in my case meant an Amazon DynamoDB table. This is where I’d be storing each entry as it came in.

    amplify add storage

    This will again kick off a wizard that will walk you through some configuration options. I selected “NoSQL Database” and then set up the columns that I wanted in the table.

    Database config

    I also selected “id” as the partition key, with no sort key, no secondary indexes, and no Lambda trigger.

    More DB config

    The next step is to add the API and Lambda function that will actually record the user’s entry. This is done with the command:

    amplify add api

    Again, a wizard will walk you through configuration. I created a REST API with the path “/entry” and created a new Lambda function using the Serverless ExpressJS template. I also gave the function permission to Create and Read from the storage (aka DynamoDB table) we just set up. I didn’t restrict access to the API, as I want anyone to be able to enter.

    API configuration

    Time to actually update the Lambda function! I went into my preferred code editor (Atom) and opened the project. The function is located in “amplify/backend/function/oscarsfunction/src/app.js”. There are some commented example methods that I deleted and replaced with the code below. This adds the AWS SDK (so I can save to DynamoDB), a method for generating random IDs, and the actual post method to save the entry. (You can download this code from my Github project here.)

    Function code

    The next step is to use Amplify to push the newly created backend storage, API, and function to the cloud! You can do this with the command:

    amplify push

    Amplify will ask you to confirm which resources you’re deploying, and then it will start the process using AWS CloudFormation. This can take a little while.

    Amplify push

    If you make any changes to the function code later, remember to push the changes to Amplify so they are uploaded to AWS! In the meantime, it’s time to install some dependencies I need for the form frontend.

    npm install aws-amplify @aws-amplify/ui-react
npm install bootstrap
npm install react-bootstrap

    Once all that’s done, you can finally edit the form! The actual React app lives in “src/App.js”. I won’t go through everything I did (you can check the code out yourself), but basically I made sure to include Amplify (so the frontend can talk to the backend) as well as React Bootstrap. I also tweaked the CSS and added a couple images. Each time you save a change, the app will recompile and update in your running browser window. I also opened the “public/index.html” file and changed the title and description of the page.

    Form code

    You can also test out the form in the browser to ensure it’s working. When I opened the AWS Console and looked in DynamoDB, I could see entries being saved correctly into the dev environment table. 🎉

    The final step is to deploy the frontend, and Amplify makes this pretty easy too. I created a new repo at Github and then pushed my code to it.

    Github create repo

    Then I went to the AWS Amplify console and clicked on my app. If you click on the “Frontend environments” tab, you’re presented with a range of options for hosting your app.

    Frontend hosting

    I clicked the one for Github and then went through the process of granting access to my Github account. Then I selected the repo I’d just created with the code for my app, and left the branch set to “master.” On the next screen, I left checked the option to “Deploy updates to backend resources with your frontend on every code commit” and created a new “prod” environment as the target. I also had to create a new IAM role for the deployment process. Once you save and deploy, Amplify will grab your code from Github, run the build script and any tests you’ve configured, and deploy the resources into your account. The build for my app takes less than 4 minutes to complete.

    Completed deployment

    The beauty of the CI/CD pipeline is that whenever I modify the code and push it to Github, the whole process will kick off automatically! The Amplify console also gives me the URL to the hosted app, which is where you can enter the contest. When I check DynamoDB now, I can see entries coming through to the prod environment table. When the contest is finished, I can shut down and remove all the app resources by simply running this command:

    amplify delete

    If you’d like to try out Amplify yourself, I can recommend a couple resources. The AWS website has a very simple, step-by-step tutorial to Build a Basic Web Application that you can work through, but it doesn’t include React or the CI/CD part. If you want to copy what I did, check out my colleague Marcia’s YouTube videos  on  building a Contact form with React and automating your CI/CD deployments, which gave me the basics of everything I needed to build the contest entry form. Thanks Marcia!


  • Ew, David.

    The thirteenth (semi-)annual Web-Goddess Oscar Contest has officially launched! 🎉 And this year you can win everyone’s favourite family – the Roses of Schitt’s Creek.

    Rose Family Sock Monkeys

    No, I know they don’t have anything to do with movies. But honestly, I didn’t see many of the nominated films last year, and Schitt’s Creek brought me the most joy of pretty much any media. So that’s what I went with, and that’s what you win if you predict the most Oscar winners!

    Go here to read the rules and ENTER! Contest has now closed!

    More details on the monkeys:

    • David Rose’s outfit features a custom knit black sweater with embroidered white lightning bolts, as well as custom knit designer sneakers. The sneakers were based off the Little Converse pattern, while the sweater was made up entirely by me. He’s also wearing a pair of black framed spectacles (intended for an American Girl doll!).
    • Alexis Rose’s outfit is based off her iconic “A Little Bit Alexis” performance, including a dusty pink minidress and knee-high boots. She’s also got her iconic A necklace.
    • Johnny Rose is wearing a bespoke tailored suit, sewn by me from a pattern intended for American Girl dolls. (No joke – I paid $10 for it. 😳) He’s also got felt eyebrows for the perfect Eugene Levy touch.
    • Moira Rose is wearing an avant garde tunic dress made by me from sheer sequinned fabric and designer high heeled boots. She also has matching feather glitter earrings. And what would Moira be without her girls? You get four different wigs (attached with Velcro) to complete the whole wig wall scene.

    If you want Steve, Patrick, or any of the other Schitt’s Creek residents to recreate the scene, that’s all on you. 😂

    So go ahead and enter! The 2021 Academy Awards happen on Sunday, April 25th (California time), which is like 2am here. So I’ll cut off entries a few hours beforehand when I go to bed, and you’ll have to wait until I get up in the morning to find out who won!

    Web-Goddess Oscar Contest Sock Monkey History

    Eighteen years ago (good grief!), I thought it would be fun to run a contest and give away a sock monkey. I then kept that up for 10 years running, and you can see the history of my creations below. These days I only do it when the inspiration strikes…

    2021 – Schitt’s Creek Sock Monkeys
    2019 – Freddie Monkcury
    2013 – The Avenger Monkeys
    2012 – The Monkey with the Dragon Tattoo
    2011 – Black Swan and White Swan ballerina monkeys
    2010 – Sparkly Emo Vampire Sockmonkey playset
    2009 – Batman and Joker monkeys
    2008 – Striking Writer Monkey
    2007 – Trio of Dream Monkeys
    2006 – Gay Sock Monkey Cowboys
    2005 – Soctopus
    2004 – Plain sockmonkey
    2003 – Oscar the Sock Monkey


  • It’s that time of year again…


  • A Trip to the Supermarket

    You all seemed to really like my cost of living post, so let’s dive into something equally as mundane – German groceries and supermarkets!

    If you follow me at all here or on social media, you know that the Snook and I enjoy cooking and make a lot of things from scratch. Back in Australia, we even renovated our kitchen so we could get in a bigger fridge/freezer. Our normal process was that every Saturday I’d plan out the menu for the week and then we’d both go to the store to do a single weekly shop. We also got a veggie box delivered every two weeks as well. A couple of times a year we’d go to Costco and stock up on bulk things, and we’d also hit up the Aussie Meat Emporium every now and then to stock the freezer with meat. We’d generally cook probably 4 or 5 days out of 7, freezing any leftovers. We’d usually alternate who cooks, though since I made the menus I’d usually assign the really elaborate things to Rodd. 😉

    Once we got to Germany, we realised pretty quickly that this system was going to have to change. The main problem is that German kitchens (at least the ones in apartments) tend to be smaller and have less storage space than we were used to. The AirBnB we were in for the first 10 days had only a bar-fridge and barely any pantry space! When we started looking for apartments, we deliberately looked a place with the biggest kitchen and fridge we could find. The one we got is great, but it’s still smaller than back in Sydney. We’ve got two cupboards to use for dry goods, a couple small shelves over the stove for spices, and then a stacked fridge/freezer.

    Kitchen

    We tried for the first few months to stick to the once-a-week Saturday shop but we’d struggle to store everything. We also tried out a veggie box delivery service but had the same issue, trying to figure out how to cram most of it in the fridge. The solution, it seems, is to do smaller shops, more frequently. How very European! 🥖

    Our current process is to shop every 4-5 days (avoiding Sunday because everything’s closed here), and we take turns making the menu and going to the supermarket. One nice thing is that there are so many options within walking distance of our place. The main supermarket brands here in Munich appear to be Edeka and Rewe (analogous to Coles and Woolies back home), and there are like four Edekas of various sizes in the neighbourhood. For discount stuff there’s also Aldi Süd (different Aldis depending on which part of Germany you’re in!), Lidl, and Penny. There’s also Amazon Fresh for same-day delivery, which was a life-saver when we arrived! We’ve also found a couple Asian and Turkish groceries nearby for specialty items. Germans are big on organic, so there are also Alnatura organic supermarkets and a few farmers’ markets around too (though they’re mostly shut down due to Covid). And if you’re curious, we’re still mostly under lockdown here so current rules are you have to wear an N95 mask in any shops.

    But anyway yeah, a plethora of options. Our default is the Edeka in Theriesenhöhe, just a short walk across Bavaria Park, mostly because it’s the closest and we’ve got a good feel for what’s available. (Aldi/Lidl always feels more hit and miss with what’s in stock.) It’s not huge, but they really pack in a lot of stuff! After seven months, we feel like we’ve mostly got it figured out. A lot of stuff is the same as in Australia, but there are still some wacky differences we’ve found. Read on for lots of pictures and details…

    (more…)


  • Thanks to the crappy weather in the past few weeks, I’m falling behind on my 2021 cycling challenge. Today looked like a promising day for a ride though, so I somehow talked the Snook into joining me for a trip south along the Isar.

    Grünwald und zurück

    We rode on the right bank of the Isar on the outbound trip, and there were plenty of folks out enjoying the sunny Spring day. The cycling path actually goes right next to the Zoo, and you can peek in at some of the exhibits. (The zoo is open but you have to reserve tickets so they can control numbers, and it’s booked out for several days in advance.) I saw Ziegen (goats) and Ponys!

    Goats

    Ponies

    The bike path was wide and mostly flat, but we could also see mountain bike paths off to our left and a fair number of folks whizzing through the trees. We stopped every so often to have a drink of water and look at the scenery. There are a lot of channels (natural and man-made) and islands along the river, and it divides at various points into different streams that come back together.

    The Snook and the Isar

    We stopped next to the weir about halfway to Grünwald for a picnic lunch. We sat on the river stones and ate our sandwiches while the clear water trickled past. It was very pretty.

    Picnicking

    See that high bridge behind us? We did not relish the idea of figuring out how to get up there, so we decided to keep going to Grünwald and use the bridge there. It wasn’t far on the map, but those last few kms were tough. The nice flat path ends, and you end up on a fairly hilly and rocky bit with the mountain bikers. We walked most of that section, partly due to tiredness and partly for safety. (Our bikes aren’t really designed for off-roading!) See the spiky bits on the elevation chart? Yeah. That part.

    Elevation chart

    One last panorama of the river…

    Isar panorama

    We didn’t really check out Grünwald, but I did spot the castle high up on the hill. The ride home on the left bank was much flatter and easier, and we did the return trip without stopping. Final distance was 27.1km (16.8mi), bringing my total for 2021 to 79km. Poor Mr. Snook is cross-eyed from tiredness, and my face is the colour of my shirt! 😂

    Tired riders


  • Lanatus and Orkney

    I realised recently that, while I’ve been having a lot of fun streaming my knitting on Twitch, I’ve been pretty lax at actually documenting it on Ravelry and the blog. I’ve completed two big projects since I’ve been in Germany, but unless you follow me on Instagram or Twitter, you probably haven’t seen them.

    LanatusLanatus

    I learned about Susan Crawford’s new book Evolution through Twitter last year (there was some kerfuffle about her not being able to advertise it because of the name), and I immediately fell in love with the Lanatus pullover. My version is knitted out of Lana Gross Cool Wool Fine in a beautiful teal blue and white. It’s knitted from the top down, and my first attempt at the fairisle yoke had to be frogged when I realised I wasn’t spacing the motifs out correctly. It was a fun knit though, and the yoke ended up beautiful. The only real modification I made was to knit the body a fair bit longer because of my height. Slogging through the endless stocking stitch body was a pain after the fun of the yoke, but I’m so happy how it turned out! I love wearing it. The wool is beautifully soft and not itchy at all. I’ve been wearing it over a long-sleeve tee, but I think in spring I could wear it just on its own. More details over on Ravelry…

    OrkneyOrkney (Vee)

    This one is epic. I can’t remember where I first encountered Rowan’s Orkney by Marie Wallin (probably from Donna since it’s in her queue), but I know I bought the wool at Calico and Ivy’s closing down sale in March 2013 and started knitting the pattern sometime that year. My plan was to knit it as a cardigan, but modify the pattern to be knitted entirely in the round with steeks for the front opening and sleeves. It was looking a bit small as I knitted it, but in a fit of stubbornness and denial I knitted it all the way up to the shoulders before finally accepting that it was never going to fit me comfortably. Then I discovered the Ravelry comments for the pattern, most of which point out that the tension as stated is just really weird for this yarn. Well, crap. In a fit of pique I stuffed it in a bag and shoved it in the naughty corner, and it sat there for the better part of seven years.

    In January 2021, I decided that dealing with Orkney was going to be a New Year’s Resolution. I got it out to double check the sizing, hopeful that somehow it had either grown over the years or I had shrunk. I even tried putting it on waste yarn to pull over my head and down to my waist to prove it had way less ease than I’m comfortable wearing. Well, nothing to do but to frog. I frogged the whole thing. The dust on it actually triggered an allergy attack! Then I skeined up all the wool (with the help of the Snook), washed it, dried it, and rewound it into balls. (You can watch the ball winding on YouTube!) Then it was time to start over.

    This time I had a think about the garments I actually like wearing. I don’t wear twee little cardigans. So instead I decided to knit it as a pullover. I still wanted to knit it in the round, so I spent some serious time working out the maths so that all the patterns would repeat smoothly all the way around. It turns out that 336 stitches would allow every motif to repeat evenly* and, with my tension, would come out to the size I wanted. It was also close enough to one of the pattern sizes that I could still use the sleeve cap shaping. Therefore I got to work knitting the body in the round over 336 stitches. I started with a larger needle but dropped to a smaller about halfway along, figuring that would give it some shaping and a little extra room around the hips.

    *There is a single motif that is 10 stitches wide – a 3-row motif of x’s and diamonds. I added two stitches to it – a little peerie dot in the middle of each gap. That got me to 12, which fits perfectly into 336. Yay!

    Orkney notes

    The only bit of the body that gave me any trouble was the motif across the middle with brown X’s and aqua diamonds on top of a series of camel and red stripes. (See image below.) This motif requires you to juggle THREE colours in a single row. What a pain! I actually tried it out; I’m a pretty experienced fairisle knitter and I have no problem carrying one colour in each hand. But adding a third one in there while avoiding getting them all twisted… was really torturous. So I undid that part and then had a brainwave: I could embroider the aqua bits on afterwards! So I knitted that motif with just two colours per row, leaving off the little aqua diamonds, and then went back afterwards and used duplicate stitch to add them. (This motif also appears on the sleeves, so I did the same thing there.) This is much easier and faster, and you can barely tell the difference!

    The problematic motif

    Once I got to the armholes, I switched to knitting the front and back separately. Of course, this required me to knit flat fairisle, so I had to deal with purl rows. It was tricky and slow going, but I got there. I did the back first because I hadn’t yet decided what the front neckline would be. Rather than follow the pattern’s instructions for a traditional “stairstep” shoulder shaping, I modified the pattern to use short rows and left the stitches live for a three-needle bind off.

    For the front, I decided to go with a vee neck. (Partly this was driven by the fact that I do find Rowan Felted Tweed a bit itchy, and I didn’t want it right up against my neck.) I found a vee-neck pattern in a similar weight wool and size, and used that schematic and shaping to work out when to start the vee. I basically did a decrease on every right-side row until the point where the front shoulder width matched the back. Again, I did the short-row shaping rather than cast off stitches, and I then joined the front to the back with a three-needle bind off. Here’s what it looked like at that point…

    Orkney minus sleeves

    Then I had to decide sleeves. Because of the itchiness factor, I knew I’d be wearing this over a long sleeve tee so I thought short sleeves might be cute. The plan was to use the sleeve cap shaping from the pattern and then just add on a little extra length for the ribbed cuff. However, I ended up having to go through several iterations to modify this. Again, the weird tension of the original pattern meant that my sleeve cap was too short for the sleeve opening, so I reworked it a few times to add extra rows for the necessary height. I also ended up increasing the number of stitches to 108. I also tried to center the larger motifs on the sleeves so it would look nicer. Once I finally got a version that fit, I pinned it onto the garment and realised I had another problem…

    The sleeves use the same motifs as the body, but knitted in different colourways. When I pinned on my sleeve, I realised that they were too close, with a given motif on the sleeve almost next to the same motif on the body. I figured that for the contrast to work, it really needed to look more deliberate. So I again frogged the sleeve and started over, this time starting with a different point on the chart so that they didn’t line up so closely. Much better!

    Redone sleeve

    The last bit of knitting was the corrugated ribbing neckline. I realised as I was picking up stitches that most patterns and tutorials for a centered decrease vee-neck ribbing are for 1×1 rib rather than 2×2. I couldn’t find any examples of it, so I had to figure it out on my own. I think it looks pretty good in the end!

    Vee neck

    After a LOT of weaving in (and duplicate stitch embroidery on those 3-colour row motifs), I gave all three pieces a wash and a gentle block. Then I sewed on the sleeves and wove in the final ends. It’s done! Nearly eight years after I started… ❤️ Full details over on Ravelry.


  • Happy Birthday to Me

    My 44th birthday has come and gone. 🎂 Normally we like to go out to a fancy restaurant, but with everything still closed due to Covid, that wasn’t happening. Instead the Snook ordered us a four-course takeaway meal from Mural Restaurant, a local Michelin-starred place, which he then assembled according to the instructions.

    Dinner from Mural

    We also had lovely matching wines which came in cute little numbered bottles…

    Wine pairing

    The first course was spinach ravioli with cauliflower puree and tarragon oil, paired with 2019 Scheuermann Grauburgunder. Also sourdough bread with beetroot butter (which was quite sweet!).

    First course

    Second course: steak (cooked in butter, garlic, herbs) served with parsnip puree and braised onion, along with a 2017 Blaufränkisch Kirchholz. The steak had been cooked sous vide, so all he had to do was brown off the exterior in some herb butter and slice it up.

    Cooking the steak

    Second course

    Then it was time for dessert! A little slice of buckwheat cake with white chocolate ganache and citrus compote, paired with a 2019 Riesling Röttgen Kabinett.

    Dessert

    The very final course was cheese! A spread of a few special Swiss cheeses and chutney, served with a 2012 Gewürztraminer Goldert Grand Cru. The chutney was very savoury – almost like an onion jam.

    Cheeses

    On my actual birthday, the Snook said he was going to bake me a cake. As you know, he’s really good at this. I’ve had the epic swimming pool cake, the potato-chip beaked duck cake, an over-the-top “bûche de Noël,” and many more. A few days before, he asked me what sort of design I wanted. “Something Moomin-ish,” I said. And what flavour of cake? “Funfetti. You know, sprinkles.” With that as the brief, he went to the supermarket for supplies…

    Candy

    He baked the cake (from scratch, of course!) in a giant sheet, and he also made German buttercream for the icing.

    Then he cut the cake into six pieces and stacked them with layers of icing in between before starting to sculpt. “The trick,” he said, “is to cut away everything that isn’t Little My.” Everything he cut off, he stuck back on to help build out the shape.

    Then it was time for more icing and decoration! Her eyes were made with “Oblaten” (edible German baking wafers that you use to make Christmas cookies), her hair was strawberry gummy strings, and her face details were done with licorice string. She had a few Smarties as buttons down her back, and a red bow to complete the look.

    HOW GREAT IS THIS? I’M LITTLE MY, AND I LIKE TO BITE THINGS.

    Little My Cake

    He’s very talent, and I am a very lucky girl!

    The Snook


  • Munich Cycling Challenge

    Now that Spring is on the way — and we’re still in lockdown — I’ve decided that I need a goal to motivate me to get out and about. I’ve really been enjoying riding my bike (now that I’m in a city with decent cycling infrastructure), so let’s make it public: I’d like to cycle 1000km in 2021. 🚴‍♂️

    Current progress from Strava:

    Distance 32.4 km
    Time 2h 36m
    Elev Gain 93 m
    Rides 4

    Obviously I’m going to need to step it up if I’m going to come anywhere near the goal!

    I went for a long ride yesterday to check out Südpark. Munich has a Westpark (near us), Südpark (not too far away), and Ostpark (on the other side of the city). Oddly enough, no Nordpark! The ride was just over 10km and most of it was on separated cycleways.

    The park itself was pretty muddy, and I stuck to the paved tracks to avoid getting too dirty. There were folks out walking and riding bikes, and the playgrounds were full of kids. I’m sure it’ll be a lot prettier once it gets warmer and everything turns green!

    Südpark

    Hilariously, on my way home I found myself following a dude who had honest-to-goodness glow-in-the-dark testicles hanging from his bike seat. 🙄

    Bike testicles

    Last week I went on an even longer ride through the Altstadt and down along the Isar, making a giant loop.

    I made it to the Marienplatz just in time to hear the Rathaus-Glockenspiel chiming. I’ve never seen the city so empty, but there were still a few folks (spread out, socially distancing) watching the show. There’s a rule in place that you have to wear a mask in the Altstadt, so I put mine on once I stopped.

    Me in Marienplatz

    You can ride quite a long way along the Isar. There are separated cycleways and pedestrian paths, and lots of folks were enjoying the sun.

    Along the Isar

    It’s also been heartening to see the patches of crocuses appearing everywhere. It may still be chilly and damp, but Spring is definitely on the way!

    Crocuses


  • We’ve been in lockdown since December. Everything’s closed. So much for doing something every weekend, huh? There’s nowhere to go. We could rent a car and drive somewhere, but there’s no restaurants or hotels or museums or shops and it’s winter so the weather is crappy and we’re not really outdoorsy people anyway.

    I haven’t left the house in a week.

    People ask me if I’ve adjusted to life here yet. I guess so? Hard to say. Haven’t been able to practice much German besides the meat counter at the supermarket.

    Work is fine. I like my team. But I’ve just hit five months in my new role, which means I’m due to hit the wall. It’s a common thing at AWS. You start, and everything is hectic and exciting while you do your onboarding, and then at some point you’re like, “WTF have I gotten myself into??” 😂 That’s probably contributing to my mood. I know I just need to push through and the cycle will restart. I’ve got two open roles I’m recruiting, and a bunch of new goals for the year, and training to complete, and certifications to get, and requests for mentoring and conference talks and projects and and…

    We’ve watched all the Jeopardy on Netflix. I liked season two of The Mandalorian, but I’m not fully au fait with the Filoni-verse yet. WandaVision is REALLY good. I loved Guillermo’s arc on What We Do in the Shadows. We also watched the BBC adaptation of Bleak House, because some Buzzfeed articles said it was like Bridgerton, but it is NOT. (It’s still good, but there’s no sex and did Dickens really use spontaneous combustion as a plot point??) I binged season 2 of Blown Away in one day, and I’m still convinced A) I’d like to try glass blowing someday, and B) I will burn myself badly when I do. I still have a couple eps of Bojack Horseman left, but frankly, I don’t think I can handle it right now. Instead I watched Bling Empire and now I follow a bunch of hot Koreans on Instagram. (IT’S MY HERITAGE YOU GUYS.)

    My knitting Twitch experiment is still going, and it’s pretty fun. I recently got “raided” by another (more popular) knitting stream and suddenly had 40 people all chatting. That was amazing; felt like being at a Guild meeting again. If I start early enough on Sundays, I can catch some of my Aussie friends too.

    We had snow last week and that was pretty. I cracked myself up falling down on the way to the grocery store. Then the snow all melted. Now it’s just gray and damp.

    https://twitter.com/web_goddess/status/1354037918080393216

    My grandmas in the US have managed to get vaccinated, as have some friends and family members who are health care workers and teachers. I love seeing people share it on FB. Sadly, I’ve had lots of US family members come down with Covid, and so far one extended family member has died from it. Germany is vaccinating, but not as fast as they’d like. Now they’re investigating the Russian vaccine. Maybe we’ll end up getting that one?

    https://twitter.com/charlesv/status/1356597474870321153

    My attention span is so shot. I haven’t finished a book in ages, but I’ve literally read hundreds of Aziraphale/Crowley fanfics on Ao3. (Protip: the “pining” tags are the best. Skip the AUs.) Hermione/George is now 100% headcanon too.

    We have a reservation at Osteria Francescana in two months, but at this point, it looks unlikely we will go. Even if the restaurant and the border are open, we might have to quarantine and do I really want to be those people who risk life and limb for an expensive meal? I’d be too ashamed to share it on social media, and then what’s the point??

    Kidding.

    (Not really.)

    I miss my friends back in Sydney. I didn’t think moving would make much of a difference, what with texting and Hangouts and everything, and the fact that we were in lockdown for months anyway. But it turns out the real problem isn’t solved by technology – it’s time zones. I’ve become crepuscular, feeling happiest in the morning and late at night when I can actually talk to people back home.

    I’m annoying myself here. Is there anything more boring than someone privileged whining about a situation they voluntarily entered into?

    I’ll be fine, I swear.

     


  • The Snook Talks Coffee

    I’ve been promising for a while now to get the Snook to write a blog post about his new coffee machine, and I also recently realised that I left coffee out of my cost of living post. So rather than continue to nag him (he hates writing), I decided the easiest thing to do would be to just interview him! We spoke for nearly an hour, and I’ve transcribed the relevant bits below for you. Enjoy…

    Okay. You have a lot of different ways of making coffee. Let’s start with the obvious…

    We had an espresso machine back in Australia – a Gaggia Classic. I bought it around 2008, and I had it serviced a few times. I had the insides completely replaced at least once because I didn’t descale it properly. And we used that with a Sunbeam Cafe Series conical burr grinder.

    So what did you like about those? Why did you pick that combination?

    Price, mostly. I had bought a cheaper grinder from Kmart – I remember it had a tagline: “Grinds perfectly from French press to finest Turkish coffee” or something. And I got it, and it couldn’t even grind fine enough for an espresso machine. So I called Customer Support. They said, “Oh, yeah, we know, take it back; we’ll give you your money back.” So I did, and I got the Sunbeam. It was basically the cheapest decent conical burr grinder that you could get.

    As for the Gaggia, I got a good deal on that. The main thing I wanted was the commercial size group head, the 58mm basket. I always make double shots. We’d mainly buy beans from Toby’s; occasionally from a few other places like Mecca, or Campos, or Coffee Alchemy.  We also bought supermarket beans occasionally, and there are some that are not too bad. The Aldi ones in Australia are quite well regarded; they’re roasted by Veneziano in Melbourne. I tried the Dark Roast and it was a bit too oily, but they had some Medium and some Single Origins that were very decently priced.

    But you didn’t bring that machine to Munich…

    No. I was thinking about upgrading it anyway, so I figured it was a good time. We’ve passed it on to our friend Rory.

    Okay. So we’ll get on to the new espresso machine in a bit. But in addition to the espresso machine, the other method you used most frequently was the AeroPress, right?

    Yeah, AeroPress was pretty much the backup if the espresso machine crapped out or needed to go in for a service. Did you buy me the AeroPress?

    I feel like your mother did… I’m the one that broke your AeroPress.

    Well, you lost a piece. I’d take it to work occasionally, and I think you took it to work a few times, and that’s when you lost a piece. Yeah, AeroPress is great. Mum bought me the Able steel filter disk for it as well, so I didn’t have to buy new paper ones. Yeah, I like that a lot and I brought that with us here; we were using that for a while. It’s light and portable. And it does pretty well with different grinds of coffee; it was doing all right with the supermarket coffee here.

    I also bought a very cheap plastic drip cone filter on one of my trips to the US because I needed some decent coffee and I found a place in San Francisco and bought it. You get the filter paper and you pour through that. And I like that one sometimes for different coffees, or if you have a light roast coffee. I feel like it gives a slightly different character of coffee to the espresso, even when you water down the espresso as a long black. The filter makes it a little different. There’s a few different types of the conical filter: there’s flat bottom ones, but I think the one I have is most like a “V60”. I travel with that one because it’s extremely light and basically indestructible. You do have to buy filters for it, but they’re very cheap and pretty much universal. It’s very forgiving of the grind as well. With the filter, if there are a lot of “fines” in there, it doesn’t go into the cup.

    Also in Sydney I left behind the moka pots. We had at least two; maybe three. I had a little tiny one-cup one with a spout to take camping but I think I lost that years ago. I also had the small Vev Vigano moka pot, which I used to use quite a bit, an aluminium one. And I also ended up with a large one that was my grandmother’s. My grandfather picked up the habit of drinking coffee in America or Canada and so they always had the stovetop moka pot.

    A moka pot is basically a stovetop espresso machine, right?

    Sort of. It doesn’t get anywhere near the pressure of an espresso machine; just the pressure required to push the the water up through the coffee. It’s very popular in Italy as a substitute for espresso that you can make at home with cheap equipment. But the problem with that is we got an induction stove. The ones I have are all aluminium, and so they don’t work on induction. They do sell little steel plates so you can use them, and you can get stainless steel pots too. They’re great for camping because they’re fairly robust and self-contained, and they work well over gas flame or a fire. And they don’t require a separate kettle. If you take an AeroPress or a pourover filter, you still have to carry a kettle.

    We also had a French press which we rarely used…

    I’ve never been a fan of French press. I don’t know if I’m doing it wrong, but I always end up with too much mud in my cup. There’s this guy on YouTube, James Hoffman, all the Redditors love him. He’s the guru of modern home coffee making. And he has a special technique for the French press where you don’t press it. Pressing forces the grinds through the filter, whereas if you just let the water flow there’s less pressure against the sieve and it’s less likely to leak coffee grinds into the cup. He also brews for a very long time, I think. It’s nice, I think, for like an after dinner coffee, when you bring it to the table for a group. It’s also another one that’s useful for travel, like if you’ve got a place where there’s hot water, like a Zip Tap or something like that, and you’ve got a group of people, it’s easy to make a big pot. With AeroPress, it only makes a couple of cups at a time.

    All right, so we came Germany, and we needed to buy a machine…

    Yeah, so we were using the pourover and the AeroPress for a while, but I wanted to buy a new espresso machine.

    Why not a pod machine? Everybody’s got the coffee pods now. I think you have a problem with the pod machines, right?

    I have a list of problems with the pod machines. Firstly, the wastefulness of the packaging. I think some of them are starting to address this with, like, biodegradable capsules. I’ve also seen little mesh K-cups that you can refill with your own coffee, but I haven’t seen anything like that for Nespresso. A lot of them are proprietary. There is a generic style that you can get from different brands, but I’m pretty sure that at least one of the manufacturers got in trouble for producing a version of their machine that was DRMed so you couldn’t use a third party or reusable cup in it.

    Another thing that’s wrong with them – not enough coffee. I think the most any of them have in them is about 7 grams, whereas I use 18g, and your average cafe is going to use 18-20g. So to get a decent cup of coffee you’ve got to use two of them anyway, which makes them obscenely expensive per cup compared to supermarket ground coffee. Also, with those machines if you ask for the “long coffee,” all they can do is push more water through the coffee which overextracts and tastes bad. If I have to use one, I use the smallest setting possible and then top up with hot water separately.

    What about the coffee itself? The freshness of it?

    I think that’s the one thing they got right. By single dosing and sealing in with nitrogen, you do keep the freshness of the coffee better than other methods. It’s certainly better than having a jar of pre-ground coffee in your cupboard that you spoon out into your machine every day, which gets stale the day after you open it.

    What’s that little rubric you used to tell me about coffee beans?

    Green coffee beans are good for three years. Roasted coffee beans are good for three weeks. Ground coffee is good for three minutes. And an espresso shot should be drunk in 30 seconds.

    For the new machine and grinder – how much research did you do? Did you know ahead of time that’s what you wanted?

    I did a bit of research and knew what features I wanted. The r/espresso subreddit has a spreadsheet that basically lists all of the more popular machines by what features they have. I went with the simpler end of what I wanted.

    The things that I was missing from the Gaggia that I particularly wanted were: PID temperature control. So instead of just a simple thermostat, it’s predictive. It basically means that thing predicts that, “Oh, the temperature is dropping. I’m going to have to turn on my heating element now to make sure it doesn’t drop below the threshold.” So not like a bang-bang thermostat.  It’s slightly cleverer, and it holds a more steady temperature.

    Also, the Gaggia Classic is notorious for having quite a small boiler. And the temperature would fluctuate, and so people do things like “temperature surfing” when you turn on the steam function which boosts the temperature up, and then turn it off and wait, to try to trick it into keeping a consistent temperature. And the main point of that is mostly about consistency, especially if you’re making two coffees in a row, that they come out the same. And I was noticing that with the old one – I’d make our coffees in that morning, and I’d do yours first and then do mine, with the same grind and everything, but they would pour very differently. So I wanted that temperature control.

    And the other thing is a pressure gauge. The standard for espresso is nine bar (nine atmospheres of pressure). Having a pressure gauge lets you know that the machine is right, and that your grind is right, because the pressure will go higher if you choke up the machine. The way these machines work is they have a pump which can produce a certain pressure at a certain flow rate. Then they have a valve – and the Gaggia Classic has this, and I did try to twiddle mine but without a gauge it’s very hard to get right – and once the pressure goes above a certain amount, it actually starts to bleed off pressure by bleeding water off back into the reservoir. So it caps out the pressure, which is a safety feature to keep it from blowing out somewhere. But if you don’t put enough coffee, or you grind it too coarsely, it can’t build up enough pressure and the water just flows through the coffee. And so if your gauge needle doesn’t go high enough, you know you’re not doing it right. You can use that to spot problems with the grind. Sometimes the water will channel through the puck, and you’ll see the needle drop suddenly. It’s just another input that you can watch.

    So those were the two features that I particularly wanted. There’s a few other considerations, like whether you have a boiler or a heat exchanger. And there are a few things that I ruled out. You can get home machines that have a built-in grinder. I’m not a fan. It saves some space perhaps, but the problem with anything where you’ve integrated two functions is, what happens if part of it breaks, or you want to upgrade part of it?

    What about a milk frother?

    They all come with a milk frother (or steam wand) these days. There’s basically a couple ways of doing it. The Gaggia Classic, as well as the first one that I considered, the Lilet Victoria, are single boiler. They have a water tank which goes into the boiler, which gets to a certain temperature. And they have a switch which you can flip and it goes from the coffee brewing temperature (which is a little below boiling) to the steam making temperature (which is above boiling, because you need to get pressure of steam). So you can’t do both at the same time. If you want to switch backwards and forwards, you have to wait. The other way to do it is with a second boiler, but we don’t really drink steam milk coffees, so I didn’t initially consider it. That wasn’t really a feature that I was particularly looking for, to have two boilers.

    There is a third way, which is for machines with a heat exchanger, where they don’t actually store a reservoir of water. They just have a block that heats to a certain temperature and then you run the water through it. You still have to switch those between the two modes, but they are much quicker because you don’t have the water. There’s a few machines like this – Lilet make one called the Mara X; it’s very fancy and retro-looking with all the knobs. I prefer the midcentury styling of the Lilet Victoria that the Gaggia Classic has as well. It’s brushed stainless steel; it’s fairly smooth on the outside; it fits in a cubic footprint without pipes hanging off the sides; it doesn’t have knobs to turn. I’m not a huge fan of the look of the machines with all the bits hanging off them.

    So I was looking at the Lilets and the Victoria, and I made a post on Reddit asking what people thought about it, and I did some more reading. One thing I found was, they have an option for pre-infusion, which is where it gives a little bit of water into the coffee before it really engages the pump and makes the drink. Again, it’s mostly about consistency. It lets the coffee get evenly wet, so when you turn on the pressure it’s less likely to channel through or not fully extract the coffee. Some machines – the E61 Group Head ones – do this with a lever; you can let some water in and engage the pump. It’s very traditional to have pre-infusing with espresso, and the very first machines would kind of do it automatically. The single boiler Victoria uses the pump to do this, and I saw some videos showing that the pressure would jump right up to the full 8-9 bar and then drop down, and people were kind of worried that this would create a suction effect that could mess up the surface of your coffee puck. Whereas the two boiler machines use the steam pressure, which is about about 4 bar, to push a little bit of water from the steam boiler into the coffee, and then switches over to the coffee boiler to finish the job. And these Lilet machines have a microcontroller in them so you can set the temperature, the pre-infusion time, and other parameters. So you have a lot of control, and I thought that might be fun to fiddle around with.

    The other feature of the double boiler sort that kind of sold me on it was that it has a hot water dispenser, like the machines in cafes. We drink a lot of long blacks – that’s my favourite – and it means you don’t have to boil the kettle separately. Here in Munich the water is very hard, and so the kettle chalks up very easily. And so you can feed demineralised water into the coffee machine, and only have to worry about that in one place. That sold me on getting a double boiler model.

    So which one did we get?

    The Lilet Elizabeth. The style is nice – it’s got clean lines. It has some upsides and downsides. One thing that I like that it has over the Victoria is auto shut-off. They both have a timer to time a shot. But on the cheaper one, it’s just a countdown. You have to turn it off. On this one, if I set it to 30 seconds, it will turn off after 30 seconds. Once it’s dialled in, I can put the cup, hit it, and then walk away and finish making my breakfast. I’m lazy and I like automation, so I’m a big fan of that feature.

    Another thing – it’s a cute gimmick, but the group handle is designed in such a way that when you sit it down on the table, it’s flat. Most of them have prongs, and the handle comes out the side, so if you sit it on the table, it’ll tilt backwards. And when you want to tamp it to get it straight, you’ve got to use a holder or hold it straight. But on this one the handle kind of slopes away a little bit as well, so if you just put it on the table flat, you can tamp straight down and know it’s not going to be uneven. Like I said, it’s a cute gimmick, but I like it.

    The microprocessor controls are very good, and the coffee that it makes is very nice. So I’m very happy with the Elizabeth so far.

    You mentioned the hard water here. How do you handle that?

    The machine came with an ion-exchange cartridge that you can put into the reservoir and attach to the end of the hose, and it just sucks through that. You can get replacements of those; I think with our water here the cartridge would do about 35 liters before you have to change it, maybe even less. And they’re not cheap. Someone pointed out that Brita filters in Germany, and Europe anyway, in hard water areas, they sell one that does de-ionising. The ones you normally get in Australia I don’t think do. But the Brita MAXTRA+ ones you get here can demineralise like 100L of water and it’s much cheaper per liter than the built in one. So we do that. People here have told me they use the Brita filtered water in theirs and they’ve never had to descale it!

    You got a new grinder too. What did you get there?

    The old Sunbeam grinder was a conical burr grinder. A burr grinder is basically a mill that has two pieces that are held a certain distance apart which you can adjust. You can get conical burr and flat burr. Flat burrs are bigger so tends to be more commercial use; most home ones are conical because you get more grinding surface in less space. One thing I didn’t like about the old one was that it retained a lot of coffee. So the beans come into the cone, and then they had to go out to the side, and a lot of them would get caught up along the way, and so you’d have to whack the machine to get the coffee to come out. Obviously it also keeps a lot of stale crap in there from the day before. It also generated a lot of static electricity and the coffee would often fly around all over the kitchen. And it was getting old – the hopper didn’t come off any more without spilling beans. It also wasn’t super adjustable, like it was getting to the point where between two clicks it would be too coarse or too fine. It had about 20 “steps”. It wasn’t a bad grinder; it had these little shims or washers if you disassembled it where you could adjust the static offset so that the steps would cover a different range. It served us well for many years.

    There are a few trends in espresso grinders at the moment. There’s one that’s very, very popular at the moment called the Niche Zero. It’s this ugly looking alien thing, but it’s supposed to be very good, and the price is not too bad as far as fancy grinders go. It’s set up for only single dosing. You weigh the beans for one cup and grind all of them. It doesn’t have a hopper. A lot of people like this because it means you can know how much coffee is going in and out; and you can try different types of coffee very easily from day to day, or between morning and afternoon, or if different people have different tastes or one wants decaf. But the Niche Zero only has the single dosing; you can’t put a hopper on it. And I thought the idea of having to weigh out the beans every time might get a little tedious. So I was looking for something that could do automated dosing.

    The other one I looked at was the Baratza Sette, which contrary to what the name might suggest, is an American grinder. It’s called “sette” because the body is kind of a “7” shape. The hopper sits on the top of the seven and it basically grinds straight through to the void underneath. The idea there is that because the coffee goes straight through instead of going out to the side, it retains very little. Everything falls through. It’s also very fast; it has a larger burr, so it can grind your 18g of coffee in just a few seconds. I heard though that it’s also extremely loud. It’s fast, but because the burr is kind of out of the open, it’s very loud. It does have some fancy features; one of the models has some computer-controlled machine learning based  weighing mechanism where you tell it how many grams you want and it learns how long to grind to get to that exact weight. Which is very fancy, but you pay a lot for the privilege. It is very adjustable; there’s one that has 270 steps(!). It has 30 clicks and then each one has, like, nine subranges for very fine adjustment. I was very keen on that one, but then I was asking around on Reddit and someone suggested the one that I ended up buying, which was the Eureka Mignon Specialita.

    Eureka is an Italian brand and they make several different types of grinders. They’re pretty traditional – hopper on the top, goes through a conical burr, coffee shoots out the front. It’s what’s called a “stepless,” so there aren’t clicks. There’s a little screw you can adjust as much or as little as you like. It’s quiet, as much as a grinder can be. It’s also remarkably fast. The 18g shot I do takes about 10 seconds with the coffee that I have at the moment, which is pretty good. It also has a nice holder for the portafilter (the basket on the handle). You can put it in and it’ll just stay there and it’ll grind straight into that. It’s a very solid traditional style of grinder, but cubical, like a square prism, a bit modern. It comes in fun colours so I got a red one to match our kitchen back in Australia.

    The machine has timer based dosing, with two presets and a free running mode. (The espresso machine has two presets as well you can program.) So far I’ve found it works pretty well. It does what it says. However, it’s pretty limited to making espresso. I think you can get a little container to catch the grind, but it doesn’t come with one. They expect you to grind straight into the basket. Also, because of the way the stepless adjustment works – the screw will rotate multiple times, and it’s got numbers 0 to 10, but you might need to turn multiple times to get between settings – so switching backwards and forwards between two settings is kind of difficult, to remember how many times you’ve turned it. So once you’ve got it dialled in, you don’t want to adjust it too much.

    I’ve been pleasantly surprised that it can do single dosing very well. If the hopper’s empty and you just pour one dose of beans in, it works well. The retention is very low; what you put in, you pretty much get out every time. There’s also a thing called “popcorning” where the beans have a tendency to fly up in the air instead of going through the grinder. The old grinder would definitely do that a lot, and this one is much less. It also has a little a little gate you can shut off to close the hopper, like if you needed to remove the hopper. But you could also use that to kind of cap over them – as the level of the beans drops below the gate, you close it and that stops them from bouncing. It does take a little longer to run a single dose of beans – it takes about 12 seconds, as opposed to 10 when the hopper’s full.

    What do you think about the quality of the coffee beans in Germany so far? Were you worried about it?

    A little bit. But I figured Munich is a bit of a hipster city – maybe not as much as some of the other cities in Germany – but I figured there’d be some decent local roasters. And Germany is a coffee drinking country, rather than tea, so there’s a lot available. We were drinking the supermarket coffee for the first few weeks and it was surprisingly good, better than American supermarket coffee.

    Prices varies a lot here. There’s a place here called Man Versus Machine that a lot of people recommend. It’s extremely hipster. It’s also eye-wateringly expensive. But we’ve tried a few local places. There’s a place ten minutes’ walk from here called Gang und Gäbe that’s a cafe with a roaster in it. They’re doing a couple of blends which are reasonably priced and quite tasty. In Australia at Toby’s we could get 200g bags of beans for $12.50 (though other places would be 250g bags); or their 400g deal of two bags for $20. During lockdown when we were going out less, I was buying their bigger 500g bags for $28, I think.

    And so how does the price compare here?

    Well, it varies. I found another place run by a Colombian family that does mostly Colombian beans, but they also source from other places as well. Their beans are very reasonable. I bought a kilo from them to tide us over the Christmas and New Year’s period and it was something like €18-19,  freshly roasted there in the shop. That’s about $28 AUD, so half the price of Toby’s (if you buy by the kilo). There are also some larger local roasteries that you can get that supply the local cafes. The supermarket here has one roasted in a neighbouring city and that’s like €12-13 for 500g. We’ve bought that a few times because it’s convenient, and it’s mostly been okay. We had one bag that seemed a bit too dark for your taste, and I tried one of their single origin lighter roasts and I didn’t care for it much.

    Okay, we’ve talked about coffee and water and machines… There is one final adjustment you made to your machine. You made it “smart”!

    Well, that’s right. So there’s a few things about the new espresso machine that are maybe less than satisfactory. The water tank is small, and I have to fill it fairly frequently. It probably could have been bigger. That’s partly because we do the long blacks so I’m pulling two cups of boiling water out every day. It’s also quite noisy. The pump is quite noisy, and when you use the water dispenser, the pump that refills the boiler runs for a very long time. If you take five or six seconds to dispense the water, the pump will run for like 20 seconds to fill it up again. It’s obviously pulling water in a lot slower than it can pump water out. And the other thing is, it does take a while to heat up. This style, I think, heats up more quickly than other styles, and it probably heats up just as quickly as the Gaggia did, but this one won’t let you make coffee until it’s decided that it’s hot enough. Whereas I suspect that I was making coffee with the Gaggia before it was ready. The light would go out saying it had reached temperature, but it would oscillate on and off because it was a fairly simple thermostat. This one is a little bit smarter. The gauge will get to 95 degrees, which is what I have the temperature set to, but it will still wait quite a while. It basically  takes about 10 minutes to get to full temperature. So especially in the morning, you want your coffee right away. That means I needed a way to turn it on remotely.

    I ended up getting some smart plugs from IKEA. They’re Zigbee based ones and quite good, fairly inexpensive. So basically, I leave the switch on the coffee machine on, and it’s controlled by the smart plug. The smart plug actually comes with a little wireless mechanical switch which is magnetic. So that sticks to the body of the coffee machine quite nicely so I can actually still turn it on and off with a switch on the side, just not the main built-in one. And more importantly, I can turn it on remotely in the morning when I wake up. The IKEA system has an optional base station that bridges it to wifi and has an app. I think theoretically it could’ve worked with the Zigbee base station in the Amazon Echo Plus, but that would lock us out of controlling it with the Google Home too. Instead I’ve integrated it into our Home Assistant instance which is running in a Docker Container. It was super easy to add to Home Assistant. It’s a totally open protocol, and Home Assistant now sees all the IKEA devices as its own devices. And then you can add in support for Google Home or Alexa, and you can turn on the coffee machine by voice.

    Is it time for a coffee?

    Okay Google. Turn on the coffee machine!