Category: Uncategorized

  • Exploring Munich’s Parks

    Exploring Munich’s Parks

    So it turns out that we don’t get the keys to our new apartment until tomorrow, which meant we didn’t need the weekend for moving house after all. With the sun shining and two days with nothing to do, we headed out to explore some of Munich’s parks.

    The Englischer Garten is a massive public park in the middle of Munich, bigger than Central Park in New York. It’s named because it’s in the “English-style” of garden, aka rambling and informal as opposed to rigid and geometric. We walked over from our AirBnB and started at the southernmost end. There were lots of other people enjoying the warm weather, including many folks on bicycles. (I really want a bike!)

    One of the popular activities is surfing in the Eisbach. This is a man-made brook off the Isar river, and at one point it comes out from a tunnel and forms a standing wave. Surfers with short boards queue up and literally jump onto it, one at a time, riding for about 20s before they fall or jump off and are carried down the waterway. A large crowd had gathered to watch. We stood for a short time, trying to maintain 1.5m distance, but it was difficult given the small space. Definitely something that would’ve been more fun to cram in and see in non-Covid times!

    We wandered down shady paths along the brook, amused to occasionally see a couple daredevils swimming down it. (You’re really not supposed to; people have occasionally drowned.) Eventually it got smaller and split off into streams, with lots of little bridges across it and tiny man-made waterfalls. It was really charming and lovely.

    Eisbach

    We popped out into the sun at the Chinese Tower. This wooden structure was built in the 18th century but burned down in WW2. It was rebuilt, and now the area around it has a large beer garden. We were tempted but realised that downing lots of beer would very quickly cut our walk short!

    Chinese Tower

    There was no way we were going to see the entire Garden in one day, so we turned south at this point back towards where we started. At one point, we spotted a bench and sat down to eat some snacks. It didn’t take long to realise we were near the Schönfeldwiese, the famous meadow where nude sunbathing is allowed! FKK TIME, PEOPLE. Actually we only spotted a couple middle-aged dudes, who seemed to be having a nice time. The Snook was not yet tempted, but I suspect perhaps next summer he may change his mind…

    We left the garden near where we entered and headed home towards Maxvorstadt. “Man, I wish I had some ice cream,” I hinted. The Snook suddenly remembered that one of his colleagues had mentioned a really excellent ice cream parlour, Ballabeni, that was conveniently on our way home. We could see the queue out the door, but thankfully we only had to wait about 15 minutes. (They were strictly limiting the number of folks inside at any given time.) The Snook got a selection of sorbets, while I enjoyed a few of the ice creams. Lovely way to finish the day!

    Sunday was cooler and rainier. Our new apartment is in Theresienhöhe, so we decided to scout out the neighbourhood. We took the underground (which meant we had to figure out how to buy tickets using the MVV app) to Schwanthalerhöhe station and then timed how long it took to walk to the house. Happily it’s under ten minutes! We’re very close to the Deutsches Museum Transport collection as well as Bavaria Park. We walked back to Schwanthalerhöhe to find our nearest grocery store and check out some of the local cafes. (Since it was Sunday most places were closed.) We’re also not far from the Theresienwiese, the giant Showgrounds that would normally be gearing up for Oktoberfest right now. (Sadly, due to Covid it’s not happening this year.) We were worried at first that being this close might be bad, but our residential area is on the other side of where public transport would be dropping people off, so we reckon it’ll probably be okay. I wonder if next year we’ll be able to hear it? The grounds are immense. This photo captures less than half of it…

    Theriesenwiese

    We then headed over to Westpark, a large park just southwest of our apartment. There’s an elevated pedestrian and bike path to get to it, so you don’t even have to go on the street! (I really want to get a bike.) We walked all around the waterway in the east section of the park. There was a group of older men and some little kids sailing remote control model boats on the Moll-see, which was super cute.

    Westpark

    We were getting hungry, so we headed for the Hopfgarten, a large beer garden in the park. To our surprise it was pretty much empty, just us and another couple. However the nice guy at the kiosk was able to supply me with a giant pretzel and the Snook with a plate of schnitzel, so we were pretty happy. I asked the guy why it was so empty, and he said it was just that rain was forecast. The previous day it had been packed! Normally there are even bands playing music here.

    We then headed back to Theriesenhöhe to catch a bus back to the English Gardens, where we were meeting up with some locals at the Seehaus beer garden. This was a part of the park we didn’t see on Saturday, and it was a little emptier with the cooler, wetter weather. I could see the Seehaus on the other side of the lake…

    Seehaus

    We were meeting up with an Australian couple – Rachel and Roy – who I’d randomly been introduced to a month earlier. It was Rachel’s birthday and she kindly invited us to join them along with some of her colleagues and friends. We met Germans, Americans, some more Aussies, an English guy, and a Korean lady. It was a lot of fun, and the Snook finally got to order his first Maß of German beer. (I had one too.) Eventually it started to rain so we headed home, footsore and sleepy from 1.5L of beer each. 😂

    Beer!

    What’s really crazy is that we’ve still only seen half of the English Gardens! There’s a whole other giant section we didn’t even touch. I feel so lucky that we’ve got the time to explore these beautiful places in the months ahead…

  • Deutschland – One Week On…

    Deutschland – One Week On…

    Hard to believe we’ve already been here for a whole week! It honestly still feels like we’re on vacation. I’m sure reality will set in soon.

    A tweet about the toilet shelf

    That post caused some hilarity on Twitter amongst Aussies who hadn’t heard about “the poo shelf.” I remembered them from my summer in Germany 20+ years ago, but we hadn’t encountered any on our brief stay last year. To my (initial) delight, our AirBnB bathroom features one. Yes, your business is right there if you want to check it out. I’m told it’s great for, you know, spotting potential digestive issues. For now, Rodd and I are still at the “averting one’s eyes” phase. 💩

    Anyway, we spent our first weekend isolating in the apartment while waiting for our Covid results. We sat on the balcony when we could, but it was pretty rainy so we mostly vegged on the couch and watched Netflix. We managed to get groceries and beer delivered so we could cook, though the AirBnB kitchen is pretty tiny. We also discovered Lieferando, a delivery service like Uber Eats, and managed to order in some delicious schnitzel.

    And then on Sunday… there was a minor emergency. We ate lunch and then were sprawled on the sofa, pretty much exactly as above. At one point, Rodd went to stand up and immediately swore. The floor – pretty much everything you can see in the photo below and MORE – was covered in water. We both jumped into action. I was worried it was the rain coming in the balcony door, but we realised quickly it was actually coming from the kitchen. There was no visible source at all. While Rodd scrambled to find the water shutoff valve, I grabbed every towel in the place and threw them down. I found a bucket in the closet and we began painstakingly sopping up the water with the towels. We worked for more than an hour, and we must’ve emptied that bucket 10 times. We also contacted our host, who messaged back later to apologise and arrange for a plumber the next day. In the end we learned that the kitchen had been recently renovated, right before we arrived, and the fittings for the kitchen hot water weren’t correct. It’s all fine now and nothing was damaged, but man, that day suuuucked. We were both so sore and tired from cleaning it all up. Fun adventure, eh?

    After the flood

    Thankfully, brighter things were on the horizon. Sunday night we both received our Covid test results, which were thankfully NEGATIVE. The weather also began to clear up, and on Monday we were finally able to go out into our new city. We went for a brief walk around Maxvorstadt, which is where we’re staying. It’s full of students, cafes, shops, and museums. It felt so odd after months of isolation in Sydney to see so many people around, sitting at restaurants and enjoying life. (While only some folks wear masks while walking around, it’s mandatory to wear them when you go into a shop or enclosed place.) We ended up wandering to the nearby Königsplatz, which had a small summer festival set up complete with a Ferris Wheel. I managed to order us a “Käsekrainer” (cheese kransky) and Currywurst, which we ate in a small biergarten. It was lovely to get out into the sunshine.

    Biergarten and currywurst

    On Tuesday I officially started my new job, and I’ve spent the last few days getting to know my team and working through my Onboarding plan. I am basically wearing two hats: as a manager I’m looking after the AWS Emerging Markets DevRel team, which currently includes Central and Eastern Europe as well as sub-Saharan Africa; and as a developer advocate, I’ll be helping the team covering Germany, Austria, and Switzerland. I did manage to find the AWS office today, but I haven’t been inside yet. Hilariously, none of my team are actually here! They’re all spread out all across Europe. But I’ve met some of the local folks in the marketing and solutions architecture teams, and they’re going to show me around hopefully tomorrow.

    AWS Office

    The other big news is that we may have found an apartment! We went to check out three of them, and we’ve decided on one. I’ve just sent off all the docs to the letting agency, so fingers crossed we get it and we’re able to move in soon.

    Did I mention it has multiple guest rooms? 😉

  • IT Career Energizer Podcast

    Way back in 2018, I got an email from Phil Burgess at the IT Career Energizer Podcast inviting me to come be on his show. I’d only just started my role at AWS and wasn’t sure whether I was allowed to do such things, and frankly I was busy just trying to keep my head above water. So I regretfully declined, but I kept Phil’s email in my inbox, promising I’d get in touch again when the time was right. Two years later, stuck at home during Covid isolation, I reached out to Phil and he graciously extended the invitation again. We recorded this past June, and the episode just went live this week! I hope you enjoy it.

  • Deutschland – The Flights

    Flying internationally in a pandemic is a unique experience. First off, there aren’t as many flights available. Some airlines have shut down entirely, while others have cancelled routes. They are also limiting the number of passengers, both for social distancing and because some countries have a cap on the number of international arrivals. And when you get a flight, you can’t just rock up to the airport. As I mentioned yesterday, Australia have a ban on citizens travelling overseas, so you have to have secured the travel exemption permission first. So there are a LOT of variables to contend with.

    Leaving Sydney

    Because we are relocating for work, my company covers economy air fare via the most direct route. That meant we had exactly two options for getting to Munich: Qatar Airways connecting through Doha, or Etihad Airways connecting through Abu Dhabi. We’d never flown on or through either, so I asked Twitter.

    Flight tweet

    There were quite a lot of replies, and it seemed like either one would be fine. The layover in both cases was only around two hours, so it wasn’t like we were going to get out of the airport anyway. We ended up picking Qatar as it was a slightly later flight, and because Etihad required you to take a Covid test within 72 hours of boarding. (While I’m not averse to the idea, it was extra hassle we just didn’t need in the last few days.) The first flight would be 14.5hrs overnight, then the second to Munich was another 5ish the next morning.

    We had also heard that Qatar’s Business Class was amazing, and Rodd had read in a few places that the upgrade price wasn’t ridiculous. I’d never flown Business on a long-haul flight, and I figured the flight was likely to be fairly empty so chances were good we’d have an entire row in Economy anyway. What swayed me though was the luggage allowance. We only had 30kg each, and the price for extra baggage was really high. Once you factored that in to the Business Class price (because they get up to 40kg), I thought I might be able to justify it to myself. So we started checking the website in the weeks up to the flight, hoping to see that upgrade option. And then finally last weekend it appeared! It was around $1800 AUD each to upgrade for the whole trip, and we jumped on it. I knew we were unlikely to have lounge access (they’re all closed due to Covid), but I figured being able to lie down flat to sleep during 20 hours of flying was well worth it.

    Since folks are probably wondering at this point, I should also clarify that my new job came with a relocation package – that is, money to spend on shipping your stuff, getting your house ready to rent/sell, temporary accommodation in the new place, work visa costs, etc. We saved a fair bit by not shipping a lot of stuff and by doing a lot of the work ourselves, so we felt justified in splurging for the upgrade. So it was out-of-pocket, but out of a pool of money earmarked for the move anyway. (That’s why I’ve never upgraded for a vacation – I’m too much of a tight arse!)

    Time for the actual flight! We’d been told to leave a lot of time in case there were issues with the travel exemption, so we arrived at the airport three hours before departure. We saw very little traffic around Sydney Airport, and from the departure board we could see only three flights heading out that night: the Etihad one, our one, and another one going to China. We’d read advice from other travellers that we’d first have to go to some special desk to show our exemption letter, but when we got to the Qatar desks they said to just check-in as normal. There were more folks there checking in than I expected, and happily it looked like 90% of people were wearing masks. Once we got to the desk we learned we were both pretty much right at the 40kg allowable baggage, so that was a good call! Rather than give us our boarding passes directly, the agent told us to step over to the service desk area, where they’d call in our passports to confirm we had the exemption. A few minutes later our names were called and we were able to collect our passports and passes. Whole process took less than 20 minutes!

    The check-in agent had given us a tip – since the lounges were closed, if we wanted to eat we were better off going to the food courts on the public side of Security since there were more options open. Turns out that amounted to a grand total of five “restaurants,” which included Subway and Hungry Jacks. We ended up a Thai place, which appeared to be the only one cooking fresh food. There were a few other folks in the food court, but not many. I’ve never seen Sydney Airport so empty. We sat there for a while, just killing time…

    In the airport

    Next we headed to Security. Because everyone was masked, the automated passport control was closed and we had to queue up for the manned desks. People were social distancing as well as they could, and the line moved pretty quickly. We had to pull our masks down so they could confirm we matched the passport photo. Then it was through the X-ray machines as normal. On the other side, Duty Free and pretty much every other shop was closed. I think we saw maybe one cafe that was open? We headed towards our gate area. There were actually hundreds of people queuing up to board the China flight, and some of them were wearing full hazmat-style paper suits with goggles and everything! Once they left, our gate area was much emptier and quieter. Before our flight, attendants came around to give everyone a plastic face shield. We were told to wear both our mask and the shield throughout the flight. Glamorous, eh? (I was jealous because the ones for little kids were orange and decorated.)

    Face Mask

    Then it was time to board. And here’s the thing – we knew Business seats on Qatar’s newer planes were supposed to be amazing, but all of our research ahead of time pointed to the Sydney flight being an older plane. So we expected it to be nice, but not mind-blowing. And then we stepped inside and saw the Q Suites… We turned to each other in giddy shock. We were not expecting this!

    Q Suite

    There is no way to describe this without sounding like a total jerk, but this was without a doubt the best airline flight I’ve ever been on. Our two seats were in the center but facing backwards, and we had little doors on either side that we could close off for privacy. (Not that we really needed it – the section appeared to be less than half full.) See that row of buttons near Rodd’s left hand? Those are all the electronic seat functions, including lying down completely flat for sleeping. The table pulls forward and then flips out for meals. We had big media screens with lots of things to watch, noise-cancelling headphones, comfy pillow and blanket, and amenities bags including bottles of hand sanitiser. I was already in heaven, and then the attendant came by to ask if I wanted to start the trip with some bubbly…

    Champagne

    Let’s be honest – I am absolutely ruined for all other air travel now. Food service was entirely on-demand, and everything we ate was excellent. We wore our masks and face shields except for when eating. After take-off, I enjoyed a few more glasses of champagne while watching Birds of Prey, and that’s when I realised the only downside of flying Qatar – the movie was censored! They left in all the violence (as far as I could tell), but all of the curse words were dubbed over. 🤷‍♀️ Anyway, at that point the attendant came by to offer me a pair of pyjamas. Um, okay! I went to the toilet to get changed. This was another shocker – the Business class bathroom was about twice as big as the Economy ones, and it was clear they were cleaning them after just about every use. (Every single time I went in there, the toilet paper was folded down into a little triangle!) I got ready for bed, hit the button to fold down my chair flat, and stretched out to sleep. I’m happy to report that I could stretch out completely (I’m 5’10” / 178cm), but the footwell area is narrow so you can’t spread your legs out too much. I wore my mask but not the face shield while sleeping. (Realisation: wearing a face mask means your nose and mouth don’t dry out as much!) My only complaint was that the chair was firmer than I would’ve liked… but I learned afterwards that if I’d asked, the attendants can bring out a little “mattress” that they put over the top! Damn, that would’ve been nice. Still, I got in a good 8 hours or sleep, which is like 5 hours more than I’ve gotten on any other flight ever.

    Breakfast

    After breakfast, we had time to watch another movie or two before landing. We also discovered that the plane had wifi, and we got a complimentary hour to check our messages. (We didn’t bother to pay to unlock for the whole flight, but I was impressed that the cost was only $10 for it.) Honestly, any doubt I had about the upgrade expense was completely obliterated by this flight. If you have the chance to fly Qatar Business, you absolutely should. It was amazing.

    Hamad International Airport

    We landed in Doha at Hamad International Airport, and we were told to remove our face shields (but not masks) when disembarking as they’d be checking our temperature. I was expecting a guy with an obvious camera or temperature gun, but instead there was a dude standing in a crazy high-tech helmet straight out of Star Wars, which must have had some sort of thermal imaging capability. At any rate, we walked through into the airport, which was gleaming. Folks had told us it was very nice, and they weren’t lying. It was also much busier than Sydney had been, and we could see that the shops were open for business. Pretty much everyone was wearing masks though. We had an hour to kill so we headed towards the lounge. It turns out our Internet upgrades didn’t include Business Lounge access, but I actually had it through my Qantas Frequent Flyer. Bonus! Again, not to sound like a jerk, but it was so nice. We chilled and had some drinks and made use of the wifi. Then it was time to board, and we were in Q Suites again in the exact same seats (though on a different plane). One thing we had fun with was the 3-D maps built into the entertainment system, coupled with the cameras on the front and back of the plane. Neither of us had ever flown over the Persian Gulf before, so we watched fascinated as we basically flew directly over the Fertile Crescent. Five hours later we landed in Munich.

    The most common question we got in the lead up to the trip was whether we’d have to quarantine when we landed. Germany uses the Robert Koch Institute list of high-risk countries, and while Australia isn’t on the list, Qatar is. (Note: it’s under K since that’s how it’s spelled here.) We weren’t clear on whether transiting counted, so we did some research ahead of time and had a German friend do some calling of various government bodies too. It’s just very confusing, as each German state can set their own rules separately from the federal government. Everything pointed to us not needing to quarantine, yet once we collected our bags, we were herded straight to a mandatory (free) Covid test. I explained to the attendant that we were from Australia and hadn’t set foot in Qatar beyond the airport, but she said that everyone had to do it. Oh well. So we registered ourselves and got Q-tips shoved way, way down our throats. We were told to self-isolate until we got the results emailed in 24-48 hours. We then caught a taxi to our AirBnB, where we’ve been hanging out ever since. It’s not too bad. We managed to get groceries delivered that first night (yay for Amazon Prime Now!) and we’ve got a nice balcony overlooking the city for fresh air. Hopefully the results will come soon, and then we’ll be able to start exploring and looking for a place to live!

    AirBnB

  • Deutschland – The Backstory

    This blog will be twenty years old next month. For the first five years – which, let’s be honest, were the only years anyone cared about blogs – whenever anyone would ask me why I had one, I’d say that it was because I was an expat and it was a way to share my life with family overseas. But then expat life became just “life,” and the Internet moved away from websites to social networks, and gradually the blog just became a repository, a place where some of the detritus of my digital life would maybe wind up. Truthfully, I use it more for historical reference now than anything else. (“When did we go to Hawaii? Let me look it up on the blog…”)

    But now, twenty years on, we go back to the beginning, back to expat life. Yesterday the Snook and I arrived in Munich, Germany, which will be our home for the foreseeable future. Everything is slightly weird and scary and uncomfortable (even disregarding a little thing like a GLOBAL PANDEMIC), and it occurred to me I should probably start documenting this stuff again. So here we are.

    Munich

    I should back up a bit. Last November I was invited to speak at Build Stuff conference in Vilnius and Kiev, my first ever European tech conferences. The Snook decided to come along with me, and we figured we deserved a few days of actual vacation at the end of it. For twenty years I’ve been promising to take him to Germany, so we ended up choosing Munich. (I spent one summer in high school studying in a town near Düsseldorf, but I’d never visited Bavaria.) We celebrated our 15th wedding anniversary, toured fancy places, ate sausages and drank beer, and visited an early Christmas market. We met kind and friendly locals. We rode a very fast train across the country through green fields dotted with solar panels and wind farms. And then we came back to Sydney and it was hell on Earth with the bush fire smoke and oppressive heat. We started joking about moving to Europe… and then in January, we realised that it didn’t have to be a joke. We both work for companies with big offices there. There’s nothing significant tying us down. We could do it. Gradually the idea started to take form, with a vague idea of maybe moving towards the end of 2020.

    On January 18th, I was in Chicago at the end of a work conference, trying to escape the city to my Dad’s house before a major winter storm. My flight was delayed and I was bored at the airport, so I decided to check what jobs were available in the Amazon Munich office.

    Google chat

    Two days later I was on a call with the hiring manager, who knew me and was very excited that I was interested. Holding the job until later in the year was no problem. Suddenly this was a very real possibility. I messaged Rodd to give him the update, already nervous about everything this might entail. “But it would be a big disruption. You’d have to get a job; we’d have to find someone to take the cats; we’d have to do an international move… Anyway, we can talk about it later. Maybe have a look and see what jobs are going in your team there??”

    He replied that he had installed Duolingo. ❤️

    I had my internal transfer interviews at the end of February and everything was looking good… and then Covid happened. The world ground to a halt, and we kinda expected that all plans were off. Germany closed their consulates and stopped granting visas, and Australia put a ban on citizens leaving. We hunkered down along with everyone else.

    And then unexpectedly in April, I got the job offer! We still couldn’t travel, but we could start making plans. We thought hard about renting out our house, and whether we’d take the cats with us overseas. (Sadly, Dr. Amy Jones simplified that equation by passing away.) I went through a bureaucratic nightmare trying to get a copy of my university diploma for the visa application. (Protip kids: don’t assume you’ve paid off every single one of your student loans just because they stop sending you bills. 😩) The Snook applied for a few jobs in his Munich office in May and ended up with a couple different options. The German consulates reopened and we were able to submit our applications in June, and then in July we attended consulate appointments and were granted the visas a few days later. Slowly, slowly, things were coming together.

    The last step was getting permission to leave Australia. There is still a ban on citizens and permanent residents leaving, presumably because they don’t want you coming back with Covid. However, there’s a process by which you can apply for an exemption. I read lots of horror stories from people who were denied permission, and I joined a Facebook group for those applying to see what tips I could glean. To be honest, most of the posters there struck me as extremely entitled, wailing that their inability to travel wherever and whenever they wanted was tantamount to a human rights violation. 🙄 (Both Rodd and I have immigrant grandparents. When they left their home countries, it was a one-way trip. We are so incredibly fortunate now, and a lot of folks forget that.) I submitted our application at the end of July. I didn’t bother resorting to tricks, or submitting dozens of times with heaps of documents. I made a single submission, stating that we were both relocating overseas for work and had no immediate plans to return. I included our German work visas, our work contracts, and proof that we had insurance lined up here. Ten days later, the request was granted. It was really happening. It was finally time to actually tell people.

    Moving to Munich tweet

    Over that last month, we had so much to do we had a Trello board set up to keep track of everything. We confirmed with a friend that she’d rent our house and look after Petey, and we got all the paperwork for that in place. We tackled a ton of home improvement projects we’d been putting off, like replacing the carpet in the offices, installing LED lights, and cleaning up the garden. We started culling twelve years of accumulated stuff, selling a heap of it on Facebook Marketplace and making hard decisions about what to ship, store, or throw out. (There were several trips to local op shops and recycling centers.) We cancelled phone contracts and applied for international bank accounts and switched to electronic bills. We organised sea freight shippers and bought extra suitcases and boxes and started filling them. There was so much.

    Packing

    Not gonna lie – there were several times over the past few months when one of us would get so stressed out we’d think of backing out. We were true to form: I’d been an early enthusiast of the idea but then got cold feet once reality set in. The Snook is slower to make big decisions, but once he commits, he rarely wavers. We made a rule that only one of us could freak out at any given time, which helped through the rough days. We cuddled Petey a lot. That helped too.

    Petey

    Sadly, the “Throw a big fuckin’ goodbye party” item on the To Do list remained unticked thanks to the pandemic, but we were able to visit with Rodd’s family and have a very small number of folks over to say goodbye. My knitter friends all collaborated on a secret project to make a chain of mini jumpers for me, each of which had a personal note inside. My work colleagues threw me a virtual cocktail making goodbye, which was amazing. Even though people were sad we were leaving (and so were we!), everyone was so supportive and encouraging. ❤️

    The very last task was the one we’d been putting off the longest… to bury Amy’s ashes in the garden. We did it on the very last day. We said goodbye and left rose petals on her grave. That’s when all of the emotion finally came out.

    Burying Amy

    Next post… flying internationally in the time of Covid!

  • The Glasgow School Sisters who Influenced Klimt

    I clicked on this blog post expecting to be inspired by Margaret and Frances’s art (which is amazing), but instead came away depressed and angry about the limitations placed on their careers.

    Their marriages, in turn, lead to a dissolving of the sisters’ artistic partnership as Margaret and Frances began collaborative work with their respective partners, as was expected of dutiful wives. During such work much of the sister’s own artistic input was credited to their husbands.

    Rage. 🔥

    via The Glasgow School Sisters who Influenced Klimt | #womensart ♀

  • Going down a rabbithole…

    Good gracious. This morning I thought I’d just do a quick task on my migrated Lightsail sites: setting up a Lambda function to check every 5 minutes, see if the page contains some specific text, and send me an alarm if the site isn’t up. My first thought was to use CloudWatch Synthetics, but the pricing is a lot higher than just doing it yourself with a Lambda function (though you don’t get spiffy screenshots and such). I kept it simple and happily discovered there’s an existing lambda-canary blueprint available. So I set that up, pointed it at https://www.roalddahlfans.com, and tested it out. It worked great!

    Then the Snook, looking over my shoulder, said, “That’ll be going through CloudFront. Why don’t you point it at the origin subdomain so you know it’s hitting the real WordPress underneath?” Okay, sure. Just to double-check it was working, I went to the origin subdomain in the browser… and was redirected to www. What. Uh, that’s not good. Thinking I had screwed something up, I tried hitting the origin subdomain of web-goddess.org… and that worked correctly, not redirecting to www. What the hell. Why were my two sites behaving differently? And why wasn’t RoaldDahlFans’s CloudFront distro barfing that I had set it up with an origin that was redirecting to itself??

    Over the next seven hours – seriously – the Snook and I beat our heads against this problem. I tried turning on and off various plugins; I grepped both filesystems multiple times looking for differences; I completely rebuilt the CloudFront distribution for RoaldDahlFans; I turned SSL off and on repeatedly; I fiddled with heaps of htaccess settings… and we got nowhere. We determined that on web-goddess, if I went to https://web-goddess.org, it would be redirected to www; but for any other subdomain (foo.web-goddess.org, etc) it would not. But on RoaldDahlFans, it would always go to www regardless of whether you used a subdomain or not. It was so frustrating.

    Wordpress redirect tweet

    Various people chimed in pointing us to various things, without much success. My buddy Peter Wilson mentioned thinking that WordPress had some special behaviour to redirect between www and non-www domains, which eventually ended up in us poring over the redirect_canonical code. The Snook noticed that another thing this module does is try to redirect you to the correct page if you type in a URL wrong. For example, if you try to access https://web-goddess.org/about, WordPress will automatically redirect you to https://www.web-goddess.org/about-me (which is the real address). However, if you do that on any subdomain other than www or non-www, it gives a 404. He went to test whether that was also held true for RoaldDahlFans, and to his surprise, the origin was not redirected! What the hell.

    We determined that the origin subdomain was only redirecting to www on RoaldDahlFans on the homepage. Every other page on the origin subdomain would not redirect. So what’s special about the homepage for RoaldDahlFans.com compared to web-goddess? Well, web-goddess has the homepage set to show the most recent posts, but RoaldDahlFans uses a static page. I changed RoaldDahlFans.com to use the most recent posts, hit up the origin subdomain, and it did NOT redirect. But when I changed it back to a static page, it went back to redirecting.

    SO – there is something in the way WordPress handles sites with static homepages that causes them to be redirected to the Site URL, even if you’re using a random subdomain. If you add anything to the path – subdomain.roalddahlfans.com/index.php, it won’t trigger the redirect. How weird is that?

    Okay, so that finally explains the difference in behaviour between the two sites. My origin subdomain for RoaldDahlFans.com was going to redirect requests for the homepage to www, and there was nothing I could do about it. Which meant that when CloudFront needed to refresh its cache for the homepage, it would hit the origin subdomain… and be redirected to itself? Why wasn’t I seeing an infinite redirect loop crashing my site?

    Cue another hour of poking around. The only way it wasn’t going to crash, the Snook reasoned, was if CloudFront was passing the Host header through to the origin as part of the request. I was not aware of telling it to do that, but…

    CloudFront behaviour

    It turns out that the AWS WordPress plugin, when it set up my CloudFront distribution, helpfully whitelisted the Host header as part of the default behaviour for the site. This is why CloudFront isn’t barfing every time the homepage cache expires.

    So there you have it. What I thought would be a fifteen-minute task sent us down a rabbithole of WordPress, redirects, and content delivery network intricacies. The irony is that after all that, nothing is actually incorrect on my site! It’s all working as intended. We just didn’t know how. The only catch is that if I myself want to bypass CloudFront on RoaldDahlFans.com, I need to append /index.php when I hit the origin subdomain.

    This was not how I intended to spend my Sunday… 😅

  • Site migration nearly finished…

    Following on from my previous post detailing how I moved this site from shared webhosting to Amazon Lightsail, I’ve since completed a few more of my To Do list items:

    • Installed the Open Graph and Twitter Card Tags plugin and set a default image for sharing to Facebook. I’ve also hooked up my Facebook app ID and secret so I can clear the cache on Facebook when updating a post on my site.
    • Used the WP Sweep plugin to clean up hundreds of old post revisions. I also set a limit in wp-config which will be used going forward.
    • Set up automated security patching as per this guide.
    • Went through my Google Search Console to check for errors and fix where possible.
    • Killed off the old shared webhosting!
  • Big news

    In case you haven’t heard yet (or seen it on social media), in the next few months I’m going to be transferring to a new team at AWS. This is super exciting, and I’ll share more about the new role once I’m able. But in the meantime, that means that my existing team has an opening for a Solutions Architect Manager! We’re looking for someone who is passionate about helping Aussie businesses reap the benefits of moving to the Cloud, as well as growing and coaching an amazing team of technical folks. Bonus – you get to work with an awesome team of really smart folks! The job description is here, and it’s worth noting that the role is open to both Sydney and Melbourne! Hit me up if you have any questions about it…

  • The Snook makes a Tom Collins

    So earlier this week, Stanley Tucci posted an Instagram video where he made a Negroni and the Internet went nuts. Jokingly, I suggested to the Snook that I film him making me a cocktail too (because he is also a stylish middle-aged sophisticated dude), and happily he consented! I present to you: “The Snook makes a Tom Collins.”

    It was originally going to be a gimlet, but we didn’t have enough limes. What do you think? Worth continuing as a series?