flypig.co.uk

List items

Items from the current list are shown below.

Blog

All items from January 2021

30 Jan 2021 : Escaping Hades #
Yesterday after much blood, toil and darkness, I finally made it out of Hades. I've made it to the surface multiple times, but before this had never managed to get past Hades himself. He is, after all, very mean. It turns out that, for me at least, the key to escaping his onslaught was all in the loadout of boons and benefits.
 
I'm not so much of a melee fighter, I like to get distance between me and my foes. So I'd assumed that the Exagryph was going to be the weapon that expedited my escape. But the game is smart in the way it encourages the player to make different choices on different runs and consequently I wasn't sticking to it for every attempt. So I was trying the Heart-Seeking Bow. It's also a ranged weapon, but initially I'd dismissed it because of the slow aiming. In fact I wasn't wrong about that: the main weapon wasn't so useful in the event. The special on the other hand is fast, almost always hits something and also deals a devastating amount of damage up close. That makes it quite formidable. Plus the choice of weapon doesn't affect the options for Cast, and this was an important factor in my escape.

In terms of boons, the key set that really made it possible was the following.
  1. Multiple Crystal Beam Casts from Demeter. During the final boss encounter you need to spend a lot of time hiding behind things, keeping moving and generally doing things that don't allow you to aim, or to get close to Hades. Crystal Beams make a great weapon here because you can drop them and leave them to do their work. Fire and forget. However, they're slow to work and slow to re-aim, so one isn't enough. With three Bloodstones, a 3 second regeneration cycle and a 5 second lifetime, I was able to plant four simultaneous Crystals at different points on the map, making them almost impossible for foes to evade.
  2. Super Speed from Hermes. Hades has a wide reach, and being able to get out of his way, by being not just fast but really fast is both unexpectedly helpful and exhileratingly fun. With boons from Hermes giving me increased movement speed, going yet faster after a dash, it was easy to evade almost all of the attacks from Hades. Combined with the Crystal Beams that allowed me to keep moving without having to stop to attack, this was a great combination.
  3. Life Recovery from Athena and Demeter. Usually during a battle I'm relying on Stubborn Defiance to get me out of a tight spot. But during this escape I picked up Stubborn Roots, a Duo boon from Athena and Demeter. This kicks in when you have no remaining Stubborn Defiance opportunities, leading to a slight but perceptible life recovery over time. This also combines well with super speed, used as a delaying tactic to avoid taking damage while allowing my life bar to rise up.
 
There were other advantages too, such as a beefed-up special that was useful for picking off the shades periodically spawned by Hades to help him take me down. But the combination of multiple crystals, extra speed and gradually increasing life was what really got me through.

Below is the full list of boons I accumulated on my travel through Hades. For the record, it took 71 chambers, 10453 slain foes, 53 attempts and 68 hours to make the escape.

Main Weapon
  1. Heart-Seeking Bow
Attack boons
  1. Epic Divine Strike Lv.2 - Your Attack is stronger and can deflect - Attack damage + 90%
  2. Sniper Shot - Your Attack deals +200% damage to distant foes
  3. Perfect Shot - Your Power Shot is easier to execute and deals +150% damage
Special boons
  1. Divine Flourish Lv.3 - Your special is stronger and can deflect - Special damage + 101%
  2. Chimaera Jerky - Passive: your special deals +30% damage - Duration 5 encounters
  3. Halting Flourish - Your Special deals +48% damage
Cast boons
  1. Rare Crystal Beam Lv.2 - Your cast drops a crystal that fires a beam at foes for 5 Secs. - Cast Damage 11 every 0.2 Sec.
  2. Rare Snow Burst Lv.3 - Whenever you cast, damage foes around you and inflict chill - area damage 77
  3. Legendary Fully Loaded - gain extra Bloodstones for your cast - Max Bloodstones +2
  4. Braid of Atlas - Passive; your cast deals +50% damage - Duration 5 encounters
  5. Epic Slothful Shot - Your Cast deals +75% damage
Speed boons
  1. Epic Greater Haste - You move faster - move speed 40%
  2. Epic Hyper Sprint - After you dash, briefly become sturdy and move +100% faster - sprint duration 0.7 Sec.
  3. Epic Blade Dash Lv.3 - Your dash creates a blade rift where you stand - 24 damage per hit
Life boons
  1. Duo Stubborn Roots - If you have no Stubborn Defiance, your life slowly recovers - Life Regeneration During Battle 1 every 0.8 Sec.
  2. Lucky Tooth - Automatically restore up to 100 Life when your Life Total is depleted - Once per escape attempt
  3. Rare Nourished Soul - Any Life Restoration effects are more potent - Bonus restoration +32%
  4. Quick Recovery - After taking damage, quickly Dash to recover some Life you just lost - Life recovered 30% of damage taken
Uncategorised boons
  1. Rare Pressure Point Lv.2 - Any damage you deal has a chance to be critical - Critical chance +4%
  2. Support Fire - After you cast, or hit with an Attack or Special, fire a seeking arrow - Arrow damange 10
  3. Epic Blinding Flash - Your abilities that can Deflect also make foes Exposed - Bonus Backstab Damage +75%
  4. Epic Hunter's Mark - After you deal Critical damage to a foe, a foe near you is Marked - Marked Critical Chance +54%
  5. Dark Thirst - Whenever you find Darkness, gain +20%
Comment
23 Jan 2021 : New Year's Resolutions 2021 - Reckoning and Renewal #
The year 2020 was a strange one, not just for me but for everyone. For me it was also a year full of achievement, and while I'd hate to brag, I really would like to get some of these things down on "paper", so that I can look back at them in the future and appreciate my dedication (to TV and games mostly!).

This was the year of the pandemic of course, and that shaped my life just as it did everyone else's, sometimes in very unexpected ways. Most notably, I spent much more time in Finland than I was expecting, geographically distant from Joanna. My flat is small, but it does have a balcony, a good view, good facilities and a decent Internet connection, all of which I was very thankful for.

Some people think success is about having as much impact on the world as possible. One of the things being in Finland in the midst of a pandemic taught me is that sometimes the opposite is true. Most of the things I've grown to value over the last year have been about having as little impact as possible.
 
You could say that I've been trying to earn my metaphorical goose feather babiches: learning, as Joel Fleischman did in the closing episodes of Northern Exposure, to go lightly through life. Coincidentally, one of my achievements this year was to finally watch the entirety of Northern Exposure from start to finish, all six series and 110 episodes. I must have watched my first episode back when it aired on Channel 4 in 1990, so that's a 30-year goal completed there. If that isn't exactly something to be proud of, it does at least make me feel fulfilled.

In a similar vein I also completed Shadow of the Tomb Raider. That's been a 17 year journey, although admittedly one with a periodically shifting finish line as new games are released. Finally, I also completed the final instalment of the Syberia adventure game series. I arrived a little late to the series in 2014, but that still mounts up to a pretty long journey. Sadly there was less snow than I was hoping for in the third instalment compared to the second, but it was still a really good feeling reaching the conclusion of the story.
 
Another thing I put a lot of effort into in 2020 was the development of Contrac, my Linux implementation of Google and Apple's Exposure Notification API. When I released the first version in July I naively thought it would be something I could get done and then put to one side. It didn't turn out that way. The specs have been updated and extended at least three times, and it turns out there's a never-ending potential for improvement. So it's ended up requiring considerably more commitment than I expected. What started as a simple desire to understand the protocol and hold Google and Apple to account turned into something more practical, but also more effortful.

Contrac will, no doubt, continue to eat up a lot of my spare time in 2021.

Finally, 2020 was also a rubbish year for me in a very literal way. Back in 2019 I started collecting data about the amount of waste I produce (recycling, non-recycling returnable and compostable waste). I continued collecting this data throughout 2020, with the aim not just of understanding my waste output, but also of reducing it. I think I had some decent success with this, going from a daily average waste output of 304.18g per day in 2019 to a much improved 153.9g per day in 2020. That's nearly half, and well below the target of less than 300g per day I set myself last January. Here's what my waste output looked like in 2020.
 
Daily waste data histocurve for 2020

So what of my other new year's resolutions from last year? The repeated lockdowns, social isolation and travel restrictions all counter-intuitively helped me progress with them.

My first target was to rewrite this website from legacy ASP to PHP, so that it could be moved over to a LAMP server. I was hoping to get this done-and-dusted by the end of January and by 19th January this was looking plausible. Ultimately it took a bit longer, with the final switch over happening on 17th March. Looking back, I'm pretty proud of this result. The conversion ended up taking the original 54 files and 4871 lines of bespoke ASP code and re-writing it into 49 files and 5028 lines of PHP code. The resulting website is to all intents and purposes identical to the previous site for the end user, but now running on Linux with a TLS certificate. It was a lot of work, but I'm happy with the (almost completely unchanged) result.

Second, as already mentioned, I aimed to reduce my daily waste output to an average below 300g a day. This seemed like an achievable but still worthwhile goal. Reducing my waste to that level required a lot of work and a complete change in my buying habits. I now eat a lot more leftovers, and have shifted from glass to cardboard and plastic packaging. I forewent peanut butter for almost a year until just recently when I managed to source it in a non-glass container. I really hope I can keep my waste down at a similar level in 2021 as well.

Third I planned to work on Scintillon, my Sailfish OS app for controlling Philips Hue smart lights. This was, unfortunately, one of the victims of the pandemic, or more precisely, of my work on Contrac. While Contrac got 15 released during the year, Scintillon didn't get any.

Fourth I planned to spend 30 minutes each day learning Finnish. This is, sadly, where I failed most miserably. This was partly due to isolation, which left my Finnish classes cancelled and my opportunity to interact with native Finns greatly reduced. But even though there was nothing stopping me progressing with my FinnishPod101 subscription, I even failed with that. Ironically this January I started using the Duolingo app and have been working my way through the Finnish lessons quite steadily. So maybe I'll achieve the goal... just a year later.

So, that's two successes and two failures. Hopefully that's just about enough momentum to propel me into 2021 ready to attack some new resolutions. So, here are my goals for 2021.
  1. Put this website code into a public git repository. Having converted the code to PHP, it's high time I released it as open source. I might even include the old ASP code too, along with all of its hideous flaws. I'm no ASP coder. And no PHP coder either.
  2. Each week by the end of the weekend, spend at least an hour doing something calming that doesn't require a computer. For example it could be solving a maths problem, doing something artistic, reading a book, writing something or just going for a walk. The key thing is that I must keep a record of what I did each week, otherwise I'm going to lose the impetus to continue.
  3.  Complete the bisection analysis that Frajo and I started working on a year ago. We collected all the data and wrote the algorithm; now we just need to apply the algorithm to the data. It's one of those tasks that never seems to reach the top of my priority list, despite the fact it might generate some interesting results.

Plus, I aim to maintain the wins I made in 2020 by continuing with Dulingo, keeping my average waste output down to less than 250g per day, and keeping my carbon footprint to less than 5 tonnes of CO2 during the year.

That's a fair amount to manage, and it may be harder without the pandemic, but it's good to have goals, right?
Comment
1 Jan 2021 : Something positive from 2020: a reduced carbon footprint #
Back in April last year I reviewed my carbon footprint and found it to be much higher than I'd hoped. Because my wife Joanna works in Cambridge UK, while I work in Tampere Finland, our carbon output caused by flights was off the scale. Along with the fact that we're essentially running two households, our combined CO2 output was 14.47 tonnes in 2019, or about 7.24 tonnes each. Compared to the UK average of 6.5 tonnes, or world average of 5 tonnes, that really doesn't look good. Especially when you think that we were trying our best to keep it low (for example, I don't run a car and subscribe to a fully renewable electricity plan).

We were determined to improve on this in 2020 and gave ourselves some targets to hit. Then of course 2020 turned out to be an atypical year, to put it mildly. We both spent the majority of the year working from home. For six months we were in separate countries unable to travel to see each other. And while this was bad in many ways, it did at least have an impressive effect on our carbon footprint.

With our ability to travel seriously curtailed, the numbers look very different for 2020. Here's the complete breakdown, including the respective values for 2019 and the goals that we set ourselves back in April.

 
Source Details for 2020 CO2 output 2019 (t) Goal for 2020 (t) CO2 output 2020 (t)
Electricity 1 427 kWh 0.50 0.25 0.40
Natural gas 6 869 kWh 1.18 1.18 1.26
Flights 4 return HEL-LON 5.76 3.46 2.26
Car 2 000 km 1.45 0.97 0.39
Bus 40 km 0.00 0.00 0.01
National rail 400 km 0.08 0.16 0.01
International rail 1 368 km 0.02 0.04 0.01
Taxi 37 km 0.01 0.02 0.01
Food and drink   1.69 1.69 1.11
Pharmaceuticals   0.26 0.26 0.32
Clothing   0.03 0.03 0.06
Paper-based products   0.34 0.34 0.15
Computer usage   1.30 1.30 1.48
Electrical   0.12 0.12 0.29
Non-fuel car   0.00 0.00 0.10
Manufactured goods   0.50 0.10 0.03
Hotels, restaurants   0.51 0.51 0.16
Telecoms   0.15 0.15 0.05
Finance   0.24 0.24 0.24
Insurance   0.19 0.19 0.11
Education   0.05 0.05 0.00
Recreation   0.09 0.09 0.06
Total   14.47 11.14 8.50

In some areas we didn't hit our targets, but when it comes to travel we obliterated them. The final result is a combined carbon footprint of 8.5 tonnes of CO2, or 4.25 tonnes each. That's really quite good, taking us well below the UK (6.5 tonnes) and EU (6.4 tonnes) averages, and even taking us below the worldwide average of 5 tonnes.

If 2020 had been a normal year we clearly would have struggled to keep our footprint so low. But it's all the same to the environment and so I'm glad for the improvement.

Turning to the future, the real question will be whether we can sustain this same low level in 2021. Given the uncertainty of what lies ahead and the peculiar circumstances we experienced last year, it doesn't seem sensible to try to set a lower target, but rather to simply aim to match what we did in 2020 and see how we get on with that.

If you're interested to calculate your own carbon footprint, I can recommend the Carbon Footprint Calculator I used to compile the values here. It really made the process surprisingly painless.