Sunday, July 29, 2018

Libera me from [DLL] Hell

First, some mood music...

I think I've finally worked out one bit of .net core behaviour that has been causing me otherwise inexplicable file load exceptions for dependency assemblies of ones I've written. It happens it places where my code is loaded by some other .net core process (MSBuild, pwsh, ...), when I update some of my dependency .nuget files, even when the dependency is both in the manifest and is published alongside mine. This impacts things like MSBuild tasks linking FSharp.Core for versions > 4.3.4 on a machine with dotnet-msbuild (VS 15.7.5) installed; or PowerShell Core 6.0.2 loading netstandard2.0 assemblies that directly or indirectly link against one that is netcoreapp2.1 (which brings in a higher version of System.Runtime).

My working hypothesis, to explain when things fail, is that if an earlier version of the same assembly has already been loaded by the system into which yours is being integrated, any requests for a more recent dependency version will be rejected; whereas requests for older versions are ignored and the (newer) currently loaded one substituted instead. On the up-side, this would mean that .net core just assumes forward compatibility of the "older" (or at least linking-against-older) code, so your clients can happily update their systems and your code will continue to work; the corresponding down-side is that if you, as a developer, try to keep dependencies up to date, at best this means that the minimum supported version of the environment is dragged up (if you link a Task against Microsoft.Build.Utilities.Core 15.7.179, then your users will need to have VS15.7.5 or later), and in some cases that the code will outright fail, as above, and the update will need to be backed out.

Tuesday, July 17, 2018

Anime roundup '18Q2

This was a fairly thin season; of the newly airing shows, I only watched any of Last Period so as to get to the gratuitous Higurashi cross-over, Uma Musume didn't hook me with the first episode, and after two episodes the new Legend of the Galactic Heroes only had technical improvements in the spaceship animation over the OVA; very little that was on offer appealed, and of those tried, none really caught.

I did mop up some backlog, finishing Battle Girls -- Time Paradox, which was generally inferior all around to the somewhat similar Koihime Musou. I gave the 3 episode treatment to Yatterman Night, which probably would have worked a lot better if what it is affectionately subverting had been something from my childhood, and Dracula moves to Hinamizawa Shiki, which is being ever so slow and deliberate, so those ended up on hold. More successful was the resumption of ClassicaLoid and picking up Majestic Prince, both of which are ticking over in the background. MajPri is quite surprising in that it manages to mostly overcome the Hirai sameface which overwhelmed Fafner.

One series I did finish was 17Q4's Uruhara -- cute girls fighting cute alien invaders in a somewhat psychedelic version of Tokyo's Harajuku district, with a side of the usual crippling social anxiety about (not) having friends. Entirely fluff, but harmless; had it been played as serious drama without the cute, it would have been way too over-wrought, but as it is, it works quite nicely as a diversion. It's not as pretty in real life as it is in the anime, alas.

The carry-over series I did watch -- Toji no Miko -- ended with an interesting take on the idea of setting everything up for climactic final battle, then spending the last episode just talking, which turned out to be quite a satisfying way for it to resolve (plus, what I gather was a hat-tip in the direction of Kannadzuki no Miko in the final scene). Despite the loss of momentum for a few episodes after the mid-boss battle, and shift from it being just two girls on the run to a more political thing, all in all, it was a decent series for cute girls, cute aradama, and well animated sword-fighting (stills just don't do the series justice); and a surprisingly overlooked one.

The phenomenon of the quarter, though, was the spectacular train-wreck that was Darling in the FranXX, which was probably one of those series where you just had to be there at the time. The second cour opened with a flashback episode that replayed the one from Elfen Lied, only with no dismembered corpses this time, then quickly proceeded to the point where both the big planned battle and the story of Captain Save-a-ho and the Manic Dino Dream Girl seemed to be resolved in one sickening saccharine power-of-love upgrade that one-shotted the big bad with more than a third of the series to run.

So then it boarded the troller-coaster, and became "The 14 words, nihonjin edition -- the anime", turning to one of the secondary couples, including a big wedding on the 19th May (which was where I picked this back up), a back-story episode that poorly emulated the Evangelion episode "The Birth of NERV", and the revelation that the real big bad was not the dinoklaxosaurs, nor a breakaway faction thereof, nor rogue AI, but aliens (hey, with an ex-Gainax team at the helm, it having worked in Nadia, Evangelion and TTGL, why not use what you know, I guess).

At this point the series really came off the rails, with way too many ideas being crammed in, and a total lack of editing, especially continuity editing, becoming painfully obvious : even before this point, the number of character resets and repeated "separate the mains for happy reunion" cycles had been apparent, but, now, things that had been trailed as significant were just dropped without mention or completely underplayed -- we didn't even get the obvious closure where Hiro gives Zero Two the name "Honey" (as opposed to oni) at the end. Clearly this was a case of not seeing the wood for the trees, because the level of attention to minute details, from the heraldry of the various cities in the early episodes to the cameo appearance in the last episode of the cat we had seen around the pilots' lodgings at the beginning, to show that it had survived all the excitement, continued throughout. It couldn't even be a completely deliberate thing, where every bit of literary foreshadowing was thwarted "because life doesn't work like that", as on the one hand, the discovery of a book about childbirth did trigger a pregnancy sub-plot, and on the other the conveniently discovered warp-gate in the penultimate episode that we were told would allow a surprise attack on the alien menace actually emerged at a point that required a further two year cruise to the intended destination.

And then to cap it all off, suddenly the main couple didn't get the one last "power of love" boost to destroy the alien uploaders (just a sudden "power of friendship" yelling at the sky from the stay-at-home team, and a complete disregard for speed-of-light limitations), were instead taunted by the alien upload core as having but a weak connection, and concluded with an only marginally successful kamikaze attack (despite doing the GunBuster pose with their mech), while everyone back on Earth lived happily ever after and rebuilt civilisation.

Then suddenly it was souls, not uploads, and an out-of-nowhere reincarnation ending centuries later : no race-mixing half-gaijinklaxo mutts allowed in this Brave New World, thank you very much. Indeed, all in all a series that seems to try to trigger pretty much anyone with its sexual politics, from the doggy-style piloting, the celebration of female mate selection in the pregnancy sub-plot, and the placing of the gender-fluid pilot squad with their candy-coloured hair as rivals/adversaries to the main squad (and, in being wiped out, the source of most of the named-character casualties).

Sunday, July 01, 2018

June Cycling

So the month ended at 15700.9, 93.9 and 235.3 + 4 off meter = 63.6 + 97.9 + 18.3 for a total on 179.8; just beating April's monthly total despite good (even too hot) weather all month -- both months included one extended ride just shy of the 50 mile mark, but June had more trips into town to counter the lack of daily short runs -- and 950 miles for the half year.