tag:dreamwidth.org,2009-05-17:347864lederhosenlederhosenlederhosen2017-07-28T12:20:42Ztag:dreamwidth.org,2009-05-17:347864:833984Vale Usekh2017-07-28T12:20:42Z2017-07-28T12:20:42Zsadpublic2Our friend Usekh died in his sleep last night, after a long illness. He was a lovely guy, and a smart dresser. He will be missed. <br /><br />Special thank-you to medical researchers everywhere, who managed to buy him four more years than anybody was expecting. <br /><br />And for what it's worth, I'm grateful that it happened in a country where this didn't mean medical bankruptcy. It's been a weird day, mourning Usekh while watching today's political fuckery in the USA. I'm glad the latest abomination of a bill got killed, but sorry for y'all having to deal with this awful uncertainty.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=833984" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:833407Migrating2017-04-06T22:08:17Z2017-04-06T22:08:17Zpublic0I will be deleting my LJ in the next couple of weeks. You are welcome to follow me at Dreamwidth if you're not already!<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=833407" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:832987Further cat developments2017-02-01T09:15:20Z2017-02-01T09:15:20Zpublic2Mama Cat did <i>not</i> escape during the night, so we took her in to the vet to be spayed this morning and brought her back home in the afternoon. The vet told us to keep her inside overnight before releasing her tomorrow. She's a beautiful cat but undersized; she was also pregnant again. No wonder she was desperate enough to go to the trap for food.<br /><br />We'd decided to go on feeding her after release, because we'd grown quite fond of her. Sort of a Sherlock Holmes/Irene Adler thing. (Book version not TV/film version TYVM).<br /><br />But then the cat-rescue lady who lent us the trap volunteered to take her on. This is excellent. I think she may still be young enough to be domesticated by somebody with more experience than Rey and I have. I'll miss having her around but I'll be glad to know she's being looked after. We had already looked for shelters and couldn't find anything suitable (plenty willing to take on feral kittens... near-adults, not so much) so this was a real stroke of luck.<br /><br />Photos of Queen Mother and Princess Bilqis below the cut.<br /><span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/832987.html#cutid1">Read more...</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=832987" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:832654I'm tempting fate by posting this...2017-01-31T11:44:32Z2017-01-31T11:44:32Zpublic0Tonight we finally trapped Mama Cat. Again. Tomorrow morning we find out whether my work on reinforcing the trap has made it a bit more escape-proof than the last time. If she hasn't escaped, we'll be taking her to the vet to get spayed, and then presumably release her again. <br /><br />She took quite a bit of catching, and we only managed to get her after trapping both the local toms. (We caught Ginger Tom the other night but let him go again; hopefully he'll have less reason to hang around once Mama and Miss B have both had the operation.)<br /><br />Mama Cat had figured out what the pressure plate was for, and had taken to lounging around in view of our kitchen window waiting for us to bait the trap so she could steal the food from it. In the end we tied a long string to the trigger and ran the other end back inside the house. When she started sniffing around the trap I hid behind the door and Rey watched out the window and let me know when to pull the string. (Which I did so hard I gave myself rope burn. Oh well.)<br /><br />She seems a bit less wild than Dad Cat; I wonder if she might have been a pet at some point. I'm hoping that she might get a bit tamer with feeding, if she forgives us for the vet trip, but the main priority is just to make sure she doesn't have any more kittens.<br /><br />Meanwhile, Miss B is growing fast. She's over 1.5 kg now, and looking more like a mini-cat and less like a kitten. She's been very sooky today, and I'm fine with that; the way the world is lately, having a snuggly feline is no bad thing.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=832654" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:832334Cats update2017-01-15T02:38:43Z2017-01-15T02:38:43Zpublic0Bilqis' two sisters both found homes, and have been named Grue and Nightshade. Seems appropriate.<br /><br />Miss B is settling in very nicely and has both of us (but especially me) under her paw. She has a <a href="https://twitter.com/MissBilqis">Twitter account</a> for those who want cute kitten photos and videos.<br /><br />She is quite a talkative little lady, with a range of chirps and squawks as well as a very loud purr. She likes to squawk at me until I get the message and lie on my back; then she climbs onto my chest and sits there, kneading my throat and pawing my face (with slightly more claw than I'd prefer) and purring non-stop as I pet her. She will happily take several hours of this a day. <br /><br />Just about anything can be repurposed as a cat toy, but she's very fond of her catnip mouse. She invented "fetch" without us having to do anything by way of training. <br /><br />She's pretty easy-going about noise; she's living a few metres from where she was born, so I suppose it's a similar environment (but with less rain and better food). Takes a few minutes to get comfortable with new people, but then she'll ignore them or perhaps try for petting.<br /><br />All in all, she seems to be a very sweet-natured little lady, and as far as I can tell, pretty happy.<br /><br />We're still working on trapping her mother. After we got back from Christmas holidays we started over, leaving food out progressively closer to/further inside the cat trap. Eventually we had it all the way at the back of the trap, and <i>somebody</i> managed to steal the food without setting it off.<br /><br />At that point we figured we'd just keep trying, since she had to slip up sooner or later. Next night she showed up again... and while she was still stalking around the trap looking deeply suspicious, Dad Cat went for the food and got himself trapped instead. Not really what we'd been trying for.<br /><br />Unfortunately, we didn't have any good options for Dad Cat. As far as we could tell, he was a lifelong feral: no collar, no chip, and very hostile (not that being trapped would help anybody's mood). <br /><br />Our vet wasn't willing to operate on a cat that wild, and I wasn't comfortable just releasing him; I love cats but I also know that roaming cats are a major killer of native birds and other animals. We weren't able to take on the job of trying to domesticate an adult feral, and nobody else volunteered to do so. So we ended up dropping him at the Lost Dogs' Home, feeling pretty rotten because it probably means euthanasia. <br /><br />(Uncharitable thoughts about irresponsible people who don't desex their pets and leave the rest of us having to make shitty decisions about how to manage the consequences :-/ )<br /><br />Plan for Mama (if we can ever catch her) is still to spay, release, and feed. Yes, this is inconsistent with Dad. I could offer rationalisations - without Dad around, there's a better chance of feeding her enough to cut down the predation. But if I'm to be honest, it's more emotive than that. She raised three lovely kittens, we took them away from her and I know how hard she searched for them; I feel guilty enough about that without adding to it. Plus, she has a certain guile and... gravitas...? that makes it hard not to respect her. I don't know if all that is a good reason to treat her differently, but it is what it is.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=832334" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:832077what the hell, Duolingo?2017-01-09T22:18:50Z2017-01-09T22:18:50Zpublic3I've been listening to German music for a while (Rammstein, Die Ärzte, Einstürzende Neubauten etc.) and especially in the last six months with ASP. So I've been using Duolingo to learn beginner German so I can understand what I'm listening to.<br /><br />Partly so I don't accidentally end up singing along to some modern equivalent of the <a href="https://en.wikipedia.org/wiki/Horst-Wessel-Lied">Horst-Wessel Lied</a>* but mostly because the lyrics are interesting! <br /><br />Anyway, so, Duolingo works by translating (or occasionally repeating) sentences spoken by cute little cartoon people. Most of the sentences are mundane: how do I get to the train station, she is my wife**, etc. etc. <br /><br /><span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/832077.html#cutid1">Then it started:</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><br />All those and a few more available <a href="http://lederhosen.livejournal.com/photo/album/2734/">here</a>. All these are genuine screenshots. <br /><br />*Happy to say, this is <a href="http://lyrics.wikia.com/wiki/ASP:Sage_Nein/en">not an issue</a>. ASP's liner notes frequently include something along the lines of "Wir danken allen Rechten dafür, dass sie unsere Musik nicht mögen" which is roughly "we thank all right-wingers for not enjoying our music".<br />**Incidentally, German Duolingo seems to have a lot of queer couples. Not sure whether this is an intentional choice or just not bothering to micro-manage speaker gender for the relevant sentences, but either way, it's good!<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=832077" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:831335Newest member of the family2016-12-16T12:43:01Z2016-12-16T12:43:01Zpublic5Not going to post about politics just now (it's all horribly depressing, I have nothing to say that hasn't already been said better than I could.) Instead, something cheerful.<br /><br />On November 1, Silverblue and Brandt (+ Velociraptor) came over to help us with our garden, which was getting *cough* slightly unkempt.<br /><br />While pulling weeds, Silverblue made a discovery in an old compost bin:<br /><br /><img src="http://ic.pics.livejournal.com/lederhosen/128870/29941/29941_original.jpg" alt="thumb_IMG_0751_1024.jpg" title="thumb_IMG_0751_1024.jpg" /><br /><br />Three tiny kittens, somewhere around three weeks old. We have a lot of roaming cats around, and evidently some feral mama had decided that this would be a good place to hide her babies.<br /><br />They were much too young to be separated from their mama, so we weighed them, put them back, and hoped she'd keep them there. Unfortunately she was scared, so she took the babies away and hid them somewhere else - our neighbour thinks under his house. We put food out for her every so often, in the hope that she might come back, and she was happy enough to take the food.<br /><br />Last Sunday, Rey looked out the back window and saw three not-quite-so-little scamps and their mother exploring our back yard. We tried to catch them but they bolted. At that point we borrowed a cat trap and baited it.<br /><br />We checked just before bed on Sunday night - nothing.<br /><br />Around five in the morning I woke up and went down to check the trap, and found this rather pretty black-and-white kitten: <img src="http://ic.pics.livejournal.com/lederhosen/128870/29273/29273_original.jpg" alt="thumb_IMG_0800_1024.jpg" title="thumb_IMG_0800_1024.jpg" /><br /><br />We set up the trap again on Monday night, and caught the remaining two. <span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/831335.html#cutid1">Rest of post cut for lots of pics.</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=831335" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:831137Tinkering #2: The Play's The Thing2016-10-16T10:39:50Z2016-10-16T10:39:50Zpublic0So after yesterday's post I thought I'd extend it a little and test my code on a full-sized problem: casting Hamlet.<br /><br /><a href="https://www.playshakespeare.com/hamlet/scenes">This helpful site</a> lists the characters present in each scene, although you have to be a little careful - Claudius is also listed as "King", and Gertrude as "Queen". In some cases it just lists groups ("Assistants", "Clowns", etc.); for this work I've just assumed there are two of each, though you'd want to check that. This results in 39 parts.<br /><br />I entered that data, along with some made-up numbers for how many lines each part has; the exact values don't matter too much, as long as there's enough info to distinguish between major and minor parts. I also tweaked it so that minor characters are assumed to have 5 lines each unless specified otherwise, which saves on data entry. <br /><br />Unfortunately the demo license for AMPL doesn't allow me quite enough variables to solve this problem. (I could probably reformulate it to reduce it to one variable per part, plus a few extra, but that would be a bit messier.) <br /><br />Not to fear, there's another option: <a href="https://neos-server.org">NEOS</a>. NEOS is a web service that allows anybody to submit optimisation jobs for free, without a size limitation... and it accepts AMPL format. Having tested and debugged my code on a smaller problem, I can then add the full Hamlet data and submit it to NEOS at <a href="https://neos-server.org/neos/solvers/lp:Gurobi/AMPL.html">this page</a>.<br /><br />I upload three files:<br /><br /><span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/831137.html#cutid1">castingmodel.mod</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><br /><span class="cut-wrapper"><span style="display: none;" id="span-cuttag___2" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/831137.html#cutid2">hamlet.dat</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___2" aria-live="assertive"></div><br /><br />Last, a commands file to tell NEOS what output I want:<br /><br />casting_commands.txt:<br /><br /><blockquote>solve;<br />display Casting;</blockquote><br /><br />I then enter my email address and click "submit". In a minute or two, NEOS shows me <a href="https://neos-server.org/neos/jobs/5070000/5074994.html">the results</a>, which you can view for yourself, and also emails me a copy. (A result of "infeasible" would indicate that it's impossible to satisfy the problem as specified, either because of some inconsistency within the constraints or because there aren't enough actors.) <br /><br />The output shows some information about the solution process, and at the bottom it gives the final casting: <br /><br />Art: Guildenstern<br />Bea: Barnardo, Clown 2, English Ambassador, Player Queen, Reynaldo<br />Chris: Hamlet<br />Derek: Horatio, Player Lucianus <br />Eve: Doctor of Divinity, Fortinbras, Laertes Follower 2, Player King<br />Frank: Ophelia<br />Greg: Polonius<br />Hugh: Gertrude<br />Irene: Francisco, Gentleman, Lord2, Osric, Voltemand<br />Jo: Claudius<br />Kate: Clown 1, Rosencrantz<br />Luke: Laertes, Player Prologue<br />Meg: Captain, Cornelius, Laertes Follower 1, Lord 1, Sailor 2<br />Ned: Attendant 2, Ghost, Lucianus<br />Oli: Attendant 1, Guard, Marcellus, Messenger, Sailor 1<br /><br />This looks pretty sensible overall: most actors either get one big part, or a bunch of small parts, and our choices for Hamlet and Laertes satisfy the fight training requirement.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=831137" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:830931Tinkering: using AMPL/Gurobi to allocate parts in a play2016-10-15T14:34:29Z2016-10-15T14:37:13Zgeekypublic2Now and then Rey and I do play readings with friends. Usually there are rather more roles than there are readers, so "one man in his time plays many parts", which works fine until you end up playing two roles in the same scene and having to have an extended conversation with yourself.<br /><br />So you want to cast roles in a way that avoids that kind of overlap, and you probably also want to make sure the different readers each get a decent share of the lines. You <i>could</i> do this by hand, but since I'm currently teaching myself <a href="http://ampl.com/">AMPL</a>, I thought it'd be a fun challenge to program a solution.<br /><br />AMPL (A Mathematical Programming Language) is similar to MiniZinc, which I posted about a while back: it's designed for specifying optimisation/constraint problems and then passing them to a solver of one's choice. <br /><br />It's very much a declarative language: instead of giving the computer a set of steps to follow, you give it a set of requirements and then let it figure out how to satisfy those requirements. (This still feels like magic to me.)<br /><br />AMPL and other optimisation languages usually take input in two parts: a "model" which is a generic description of the problem and requirements, and "data" which defines a specific instance of the problem.<br /><br />So, here's some AMPL code:<br /><br /><span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/830931.html#cutid1">The model</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><span class="cut-wrapper"><span style="display: none;" id="span-cuttag___2" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/830931.html#cutid2">The data:</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___2" aria-live="assertive"></div><br /><br />In the unlikely event that anybody other than me actually wants to use this, you can download a free demo from AMPL (unlimited duration, restricts to about 300 variables i.e. number of actors x number of parts should be less than 300). <br /><br />The demo comes bundled with a selection of top-notch and open-source commercial solvers, all free to use subject to that size restriction. By default it uses the MINOS solver, which is nice for generic nonlinear problems but doesn't handle integer constraints; since those are important here you'll want to use "options solver gurobi" (or cplex or xpress).<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=830931" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:830000Painting2016-06-02T13:20:56Z2016-06-02T13:20:56Zpublic0I know, four posts in one week!<br /><br />I got together with some of my fellow gamers last weekend and we spent a couple of afternoons painting up our Pathfinder figures. It's been a while since I did any painting, so I'm a bit rusty; we had to throw out a lot of paints/glues/etc. Some pics of mine:<br /><br />This is Nura, freshly undercoated. You can read more of her adventures <a href="https://thetwinkingdoms.obsidianportal.com/search?tag=nura">here</a>. In-game Nura has just hit level 3 and is pretty much broke, having blown most of her money buying spells from kobolds, but this version has a bigger wardrobe budget.<br /><br />I picked <a href="http://www.reapermini.com/OnlineStore/patrick%20keith/sku-down/60138">this figure</a> mostly because the clothes were a bit more interesting than what I normally see on female caster figures, which is either "generic robes" or "as little as possible". Perhaps not the most practical for tromping around dungeons, but Nura has magical cleaning spells and strong friends to do the heavy lifting.<br /><br />Figure cleaned up and undercoated:<br /><br /><img src="http://ic.pics.livejournal.com/lederhosen/128870/18468/18468_original.jpg" alt="thumb_IMG_0381_1024.jpg" title="thumb_IMG_0381_1024.jpg" /><br /><br />Base colours on:<br /><br /><img src="http://ic.pics.livejournal.com/lederhosen/128870/19115/19115_original.jpg" alt="thumb_IMG_0383_1024.jpg" title="thumb_IMG_0383_1024.jpg" /><br /><br />(Looking back at the photo on the Reaper catalogue, apart from being consumed with envy for anybody who can paint that sort of detail on a 30mm figure, I note that I've interpreted her clothes a bit differently, as far as which bits are outer vs under layers etc. Oh well.)<br /><br />Just after inking her skin:<br /><br /><img src="http://ic.pics.livejournal.com/lederhosen/128870/20178/20178_original.jpg" alt="thumb_IMG_0388_1024.jpg" title="thumb_IMG_0388_1024.jpg" /><br /><br />seriously, the main thing I have learned in my time painting figures is INK ALL THE THINGS THEN INK THEM SOME MORE. I have no patience for painstaking highlighting; the right ink can really bring out details very quickly. At least, as long as the sculptor has done a good job in the first place; if the shape is bad, ink will emphasise that too.<br /><br />Nura's dress, after highlighting/drybrushing:<br /><br /><img src="http://ic.pics.livejournal.com/lederhosen/128870/20470/20470_original.jpg" alt="thumb_IMG_0389_1024.jpg" title="thumb_IMG_0389_1024.jpg" /><br /><br />...okay, so I'm not completely against highlighting, there's a time and a place for it, and the drape-y dress was a big part of why I bought this figure in the first place so it makes sense to put in some effort here. <br /><br />The violet-magenta contrast is a bit stronger than I'd normally do for highlighting, but in this case I figure she's wearing something like shot silk. I realised halfway through painting that I didn't have any light blues to highlight the blue portion, so instead I mixed one of the darker ones with yellow for the green highlight you can see here; again, call it shot silk or mageweave or whatever.<br /><br />Front-on, mostly finished: <br /><img src="http://ic.pics.livejournal.com/lederhosen/128870/20812/20812_original.jpg" alt="thumb_IMG_0391_1024.jpg" title="thumb_IMG_0391_1024.jpg" /><br /><br />And after doing the eyes. Usually I'd ink, then paint the sclera white, then dot the pupils with a felt-tip; this is really fiddly and often requires doing over and over. This time around, the ink gave enough contrast between her eyes and the shaded surrounds that I was able to skip the middle step and go straight to the dotting.<br /><br /><img src="http://ic.pics.livejournal.com/lederhosen/128870/21287/21287_original.jpg" alt="thumb_IMG_0393_1024.jpg" title="thumb_IMG_0393_1024.jpg" /><br /><br />There are a few bits I want to touch up before I varnish, but I'm pretty pleased with how it's coming along so far.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=830000" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:829204*poing poing poing*2016-05-30T11:09:17Z2016-05-30T11:09:17Zexcitedpublic3<span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/829204.html#cutid1">In which nice things happen to me at work.</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=829204" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:828995In defense of "virtue signalling"2016-04-10T02:23:41Z2016-04-10T02:23:41Zpublic3Tweeted about this earlier, but this is a better medium for the length...<br /><br />Lately I've been hearing the term "virtue signalling" used as a cheap put-down, mostly against leftie-type folk expressing leftie-type views. (James Bartholomew <a href="http://www.spectator.co.uk/2015/10/i-invented-virtue-signalling-now-its-taking-over-the-world/">claims to have coined the phrase</a>.)<br /><br />Bartholomew's explanation:<br /><br /><blockquote>I coined the phrase in an article here in The Spectator (18 April) in which I described the way in which many people say or write things to indicate that they are virtuous. Sometimes it is quite subtle. By saying that they hate the Daily Mail or Ukip, they are really telling you that they are admirably non-racist, left-wing or open-minded. One of the crucial aspects of virtue signalling is that it does not require actually doing anything virtuous. It does not involve delivering lunches to elderly neighbours or staying together with a spouse for the sake of the children. It takes no effort or sacrifice at all.</blockquote><br /><br />I'm surprised that Bartholomew doesn't mention visible displays of patriotism such as flying one's national flag or telling a soldier "thank you for your service"; as far as I can see this is one of the most widespread forms of "virtue signalling" per Bartholomew's definition, but I've never heard it described as such.<br /><br />Part of why I dislike the term is that in practice, it almost always seems to involve equivocation. Bartholomew's explanation describes it as a form of deception, giving the impression of virtue without having to sacrifice for it - perhaps "feigning virtue" would be a more precise word for the concept as he explains it. <br /><br />However, almost anywhere that I see somebody accused of "virtue signalling", it's coming from somebody who has no way of knowing (or hasn't bothered to find out) whether that accusation of deception is true; it's simply <i>assumed</i> that target's apparent virtue is feigned.<br /><br />This is bad for obvious reasons (making unnecessary assumptions about a stranger's motivations is a bad thing) but it's also bad for subtler reasons. The equivocation and imprecise terminology gives the impression that signalling virtue (in the everyday meaning of those words) is a Bad Thing, and this is simply bullshit.<br /><br />Certainly, people can signal virtue (real or feigned) for bad reasons. I'm sure everybody's met the holier-than-thou activist who's noisily embraced a cause because it gives them an excuse to be a dick, or to get laid.<br /><br />But signalling virtue can also be a positive act. Couple of examples from my own experience:<br /><br />#1: Back in November 2014, my work was running a White Ribbon Day event. I have very mixed feelings about WRD but at that stage my attitude was still "maybe it can be salvaged". This was not long after the murder of Mayang Prasetyo and close to Trans Day of Remembrance, so I asked the organisers if I could do a bit for TDOR as part of the WRD event and they said yes, so I did.<br /><br />A few months later, somebody from my office came to ask me for advice about a scary mental health issue. I didn't know her well at all; the only direct interaction we had was occasionally saying hi at afternoon trivia or in the break room. But of everybody in that building, she'd decided that I seemed like a safe and possibly helpful person to ask about this stuff.<br /><br />I'm still not sure how she decided that. Possibly my TDOR talk gave her the idea that I might be a good person to ask, possibly something else entirely that I don't remember. But either way, she needed to talk to somebody with a particular <b>virtue</b> and she'd picked up some kind of <b>signal</b> that suggested that might be me. <br /><br />(I like to think that she made a good choice there. I wasn't able to fix everything for her, but I was able to help her find confidence to talk to other folk who could help.)<br /><br />#2: Last week, somebody on a mailing list for stats professionals made a throwaway joke that involved deadnaming a famous trans person. I responded to the effect of "hey, as a point of etiquette, deadnaming trans people is impolite, I would like trans people to feel safe and welcome in our profession, so please let's not do this".<br /><br />Usually when I have an issue with somebody's behaviour, the chances of resolving that are better if it's handled in private. Telling people off in public usually encourages them to get defensive rather than reconsider their behaviour. In this case, though, I felt that my reply needed to be public, and a lot of that boiled down to "virtue signalling": I wanted any trans people on that list to know that somebody had their back. <br /><br />And it worked. I already knew of one person on the list who would appreciate that gesture, but almost immediately I got a thank-you from a stranger whose colleagues don't yet know that she's transitioning, but who trusted me enough to sign her email with a different name to the one that appears in the headers.<br /><br />So if "virtue signalling" is what it takes to show a vulnerable person that someone's on their side (and perhaps to influence bystanders in the same direction), I refuse to be shamed for signalling. <br /><br />If I fail to live up to those assurances, <i>then</i> by all means, shame away.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=828995" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:828664Pandemic: Verde's Journal2016-03-13T06:54:12Z2016-03-13T06:54:12Zpublic4<i>Contains major spoilers for Pandemic: Legacy, March-May</i><br /><br />Journal of Dr. Verde Green (USAMRIID, quarantine specialist), March-May 2016.<br /><br />March 1: as expected, have been seconded to CDC. Cousin Rosalba in Atlanta tells me that between dealing with outbreaks of Alzuraq, largepox, scarlet fever, and of course COdA ("Black Monk"), they're flat out at the moment. We've been asked to facilitate military/civilian cooperation accordingly. <br /><br /><span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/828664.html#cutid1">Read more...</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=828664" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:827745Pandemic: Skye's Journal2016-01-26T12:58:55Z2016-01-26T13:00:23Zsillypublic1<i>May contain spoilers for Pandemic: Legacy</i><br /><br />Skye's journal<br /><br />January 3rd 2016<br /><br />Started work at CDC today. Met some co-workers. Bianca [<span style='white-space: nowrap;'><a href='https://jesusandrew.dreamwidth.org/profile'><img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /></a><a href='https://jesusandrew.dreamwidth.org/'><b>jesusandrew</b></a></span>] runs the sequencing lab, Rosalba [<span style='white-space: nowrap;'><a href='https://17catherines.dreamwidth.org/profile'><img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /></a><a href='https://17catherines.dreamwidth.org/'><b>17catherines</b></a></span>] is one of the field doctors, and Jamala [<span style='white-space: nowrap;'><a href='https://reynardo.dreamwidth.org/profile'><img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /></a><a href='https://reynardo.dreamwidth.org/'><b>reynardo</b></a></span>] knows how to use PubMed and the surveillance reports. <br /><br />Rosalba asked me if I was interested in field work. Wasn't sure how to answer - I mean, what sort of sucker wants to go meet Ebola up close, seriously? Well, apparently, Rosalba. But Emily from admin tells me it's pretty safe, most of the time it's just sipping cocktails on the beach in Phuket and taking a few temperatures here and there. So I said sure, yeah, why not? Rosalba's going to help me with the paperwork.<br /><br /><span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/827745.html#cutid1">Read more...</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=827745" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:827305In memoriam2015-12-06T00:17:31Z2015-12-06T00:17:31Zpensivepublic0Ten years today since I last spoke with my mother. Neither of us had any idea it was going to be the last time. G and I were planning to drive down to Canberra three days later on a Friday and do family Christmas stuff with my parents. Instead we ended up driving down very fast on the Thursday; she was still alive when I got there but I don't know if she knew I was there, and a few hours later she was gone.<br /><br />Afterwards, one of her closest friends told me "I loved her, but she was mad, you know". In some ways that was the most helpful thing anybody said to me about her. Because she <i>was</i> in some ways irrational, exasperating, difficult to deal with, and I saw much more of that side than the other friends and co-workers. <br /><br />But she was also immensely kind and caring, with a strong sense of justice. She'd always been there for me (even when I might've wished otherwise...) and I heard countless stories about her kindness to others.<br /><br />Ten years is a long time. Her sister's widower remarried - she'd have been pleased for him - and then abruptly died. Her mother died, having outlived two of her daughters, and that seems to have triggered healing between the survivors. She has two grandchildren, who she might have foreseen but never got to meet. My father has remarried (she'd have been happy to hear it) and I have a new brother (no idea WHAT she'd think about that!)<br /><br />G and I have both changed careers. Dog-Or has gone; she never knew Basil. A couple of people who were close to me then have passed out of my life; others are still here.<br /><br />I still have long hair (she'd disapprove) if not quite as much of it. She would undoubtedly have HATED my tattoo, but then if she was still here I wouldn't have it. <br /><br />And we know what killed her - thanks in no small part to her and my late aunt - and we have some options for defending against it. So, there's that.<br /><br />No profound insights here. It's complicated, probably always will be, until the last person who remembers her is gone too. Just feelings.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=827305" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:826969Boundaries2015-11-28T11:01:43Z2015-11-28T11:01:43Zsadpublic0Think I might've just broken off a long-standing and much-valued friendship. Dammit. And not even for anything they said or did to me - this is somebody who's always been good to me, who's given me a great deal of fun and kindness over the years.<br /><br />But there are things I can't overlook, not even in my friends, ESPECIALLY not in my friends. And knowingly signal-boosting refugee-hating white supremacists and anti-PP propaganda is definitely in that list, because that shit gets people <i>killed</i>.<br /><br />NB: I'm not saying we have to be in perfect agreement on those issues. I'm talking about basic honesty (if you share material that turns out to be a fabrication, maybe correct the record?) and, um, not relying on sources that would be right at home on the Daily Stormer. I don't think that's an extreme position.<br /><br />Gah. This is not a friendship that I would cast aside lightly. But I have to draw a line somewhere. If they change their behaviour I'd gladly welcome them back, but I doubt either of us is going to shift on this one :-(<br /><br />NB: The person in question has access to this post - not sure if they still read LJ/DW, but they're welcome to read this if they see it. I have no desire to see people trashing them in comments; I'm feeling sad enough about this situation as it is.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=826969" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:826712Adventures in programming - MiniZinc2015-10-19T11:59:39Z2015-10-19T11:59:39Zpublic2I've been doing a course using MiniZinc, which is a specialised language for constraint/optimisation problems. It's a bit different to what I'm used to: it aims to separate the <i>specification</i> of the problem from the <i>solution</i> of the problem. Once you've told it the problem you want it to solve, it translates that into instructions to a solver.<br /><br />As an example, here's one I wrote on the plane last Friday, to solve the in-flight magazine Sudoku:<br /><br />include "globals.mzn";<br />int: box_size=3; % Side length of one of the constraint boxes in a grid<br />int: grid_size=box_size*box_size; % Total side length of the grid e.g. 3x3=9<br />set of int: Rows = 1..grid_size; % i.e. rows have index values 1 through grid_size<br />set of int: Cols = 1..grid_size; <br />array[Rows,Cols] of var 1..grid_size: grid_solved; % This is the solution we're trying to find<br />array[Rows,Cols] of 0..grid_size: grid_start; % Clues, with 0 = blank<br /><br />% Set the standard constraints:<br />constraint forall(i in Rows)(alldifferent([grid_solved[i,j]|j in Cols]));<br />constraint forall(j in Cols)(alldifferent([grid_solved[i,j]|i in Rows]));<br />constraint forall(k,l in 0..box_size-1)(alldifferent([grid_solved[i+k*box_size,j+l*box_size]|i,j in 1..box_size]));<br />% Require that the solution matches clues<br />constraint forall(i in Rows, j in Cols)(grid_start[i,j]>0->grid_solved[i,j]=grid_start[i,j]);<br />% Tell MiniZinc that we just want a solution that satisfies these<br />% requirements (i.e. we're not trying to optimise anything)<br />solve satisfy;<br /><br />% Define the clues - picked this one from<br />% <a href="http://www.telegraph.co.uk/news/science/science-news/9359579/Worlds-hardest-sudoku-can-you-crack-it.html">http://www.telegraph.co.uk/news/science/science-news/9359579/Worlds-hardest-sudoku-can-you-crack-it.html</a><br />grid_start=<br />[|8,0,0,0,0,0,0,0,0<br />|0,0,3,6,0,0,0,0,0<br />|0,7,0,0,9,0,2,0,0<br />|0,5,0,0,0,7,0,0,0<br />|0,0,0,0,4,5,7,0,0<br />|0,0,0,1,0,0,0,3,0<br />|0,0,1,0,0,0,0,6,8<br />|0,0,8,5,0,0,0,1,0<br />|0,9,0,0,0,0,4,0,0|];<br /><br />% And output the solution. <br />output <br /> [ show(grid_solved[i,j])++<br /> if j == grid_size then "\n" else " " endif <br /> | i in Rows, j in Cols ] <br />;<br /><br />Using the default solver that came bundled with MiniZinc (Gecode), this finds a solution in about 30-50 milliseconds. <br /><br />Note that I didn't tell it <i>how</i> to solve the puzzle; I just told it the rules that a successful solution must obey, and MiniZinc/Gecode worked out the rest on their own. I'm sure this is old hat to some of you, but for me this is pretty impressive.<br /><br />For some more complex problems, it is necessary to give the solver a bit of guidance on what strategy to use, but even there it keeps the focus on defining what the problem is, and it lets me switch from one solver to another without changing my code. I can see this being useful.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=826712" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:824480Letter-writing2015-06-13T01:28:49Z2015-06-13T01:28:49Zpublic4Sent today:<br /><br /><i>Hi, my wife and I have been coming to Dracula's [cabaret restaurant] for 15 years, often bringing friends and family with us. Last night (Retro Vampt in Melbourne) was our fifth time.<br /><br />As always the food was great and parts of the show were great. But the repeated anti-trans jokes left a bad taste in my mouth. (I counted at least three, including one about Caitlyn Jenner that must have been added in the last couple of weeks - if you're going to be topical, I'd much rather have had something about Christopher Lee.) <br /><br />My wife and I have several transgender friends, we know the sort of crap they have to deal with in life, and it's just not enjoyable for us to deal with that on what's supposed to be a relaxing night out. The previous time we came, we took one of our trans friends and they had a great time - I'm very glad they weren't at last night's act.<br /><br />I know gender-bending Rocky Horror humour is Dracula's thing, and I enjoy that, but there are ways to do it that don't come across as "ew nothing worse than a transgender woman, amirite?" If I wanted that, I'd watch the Footy Show. (Not too keen on the homophobic parts of the act, either.)<br /><br />It's your show, you get to decide what sort of comedy you want to perform. All I can do is let you know that if anti-trans jokes are going to be part of the act then I'll have to look elsewhere for a fun night out, and I'd be sad to do that. I've had a lot of fun at Drac's over the years.</i><br /><br />(Tattoo progress: itchy.)<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=824480" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:823475Probably not going to get a Nobel for this2015-04-12T03:43:44Z2015-04-12T03:43:44Zpublic0Back when I did my St. John First Aid course, the instructor told us "if you don't have the right equipment, don't be afraid to improvise".<br /><br />...so it turns out, gas stations don't sell useful-sized ice packs <i>per se</i>, but they DO sell frozen pre-mixed margarita packs that are just the thing for a frozen ankle when applied externally: freezy-cold, but because of the alcohol content, smooshy enough to fit nicely around said ankle.<br /><br />(Rey twisted her non-driving ankle coming out of the aforementioned gas station. Should be okay with a bit of strapping and a few days to heal.)<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=823475" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:822153Gaming fun2015-01-16T14:21:13Z2015-01-16T14:21:13Zpublic0Started running a <a href="https://perfectly-legitimate-adventurers.obsidianportal.com/wikis/main-page">new Pathfinder game</a> tonight. Currently the group only has 3 players and no healer, but they managed to pick Lawful Evil, Chaotic Neutral, and Neutral Good, so at least we have the alignments covered.<br /><br />Tonight's session involved: detective work, arm-wrestling, impenetrable nautical jargon, and providing relationship advice to a teenage tengu. "Don't commit petty theft for just anybody, save it for someone special!"<br /><br />Now to plot the next one...<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=822153" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:821905Travel, Imitation Game2015-01-04T01:14:43Z2015-01-04T05:45:08Zpublic1My paper has been accepted for NTTS in Brussels for March, so I'll be overseas in ARGH ONLY TWO MONTHS AWAY BETTER RENEW PASSPORTS! and travelling on via Iceland, UK, and USA as part of Rey's 50th-birthday holiday trip. <br /><br />We saw "The Imitation Game" yesterday. I had mixed feelings about it...<span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/821905.html#cutid1">Read more...</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=821905" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:819620Something frivolous for a change2014-09-02T11:50:32Z2014-09-02T11:50:32Zpublic1I do like a good mashup, and this is an excellent mashup: "Maiden Goes To Hollywood" with bonus Sir Ian.<br /><br />Bonus points if you already knew the link between Iron Maiden's "Rime of the Ancient Mariner" and Frankie's "Welcome To The Pleasuredome".<br /><br /><iframe width="420" height="315" src="//www.youtube.com/embed/Af9T46ucpLg" frameborder="0" allowfullscreen="allowfullscreen"></iframe><br /><br /><a href="http://www.waxaudio.com.au/download-audio/albums/mashopolos">More where that came from.</a><br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=819620" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:817942Basil, ?? - July 14, 20142014-07-14T08:04:01Z2014-07-14T08:04:01Zsadpublic1It's not quite six months since we were a two-dog household, and now they're both gone. We took Basil to the vet just last Thursday and he was surprised by how well Basil was looking, but warned us that it probably wouldn't last. <br /><br /><span class="cut-wrapper"><span style="display: none;" id="span-cuttag___1" class="cuttag"></span><b class="cut-open">( </b><b class="cut-text"><a href="https://lederhosen.dreamwidth.org/817942.html#cutid1">Read more...</a></b><b class="cut-close"> )</b></span><div style="display: none;" id="div-cuttag___1" aria-live="assertive"></div><br /><br />He was so very different from Dog-Or. Dog-Or was an uncomplicated dog who loved everybody and assumed they loved him back (mostly correctly). Basil had a lot of defensive behaviours, he bit all of us at least once, and he was cautious about us - he would give my hand a very polite little lick when he was feeling friendly. When you called him, he'd stop to think about whether he really wanted to come. (Baths: no thank you.) But it was clear he liked being around us, and not just at mealtimes; when Rey was out he'd camp by the door waiting for her to come home.<br /><br />I wish I knew where he came from before the Lost Dog's Home, whether there's somebody out there wondering whatever became of their little black-and-white borglie. We only got the last quarter of the story, but we did what we could with it.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=817942" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:817714*squish*2014-05-24T22:51:35Z2014-05-24T22:51:35Zpublic0Today we were almost trampled to death by a small black-and-white dog who wanted us to know that it's Feeding Basil Time. <br /><br />I can see subtle hints of illness; the vet told us "could be as quick as three weeks" and it's already been almost two. But for the time being he's happy and getting a lot of love.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=817714" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> commentstag:dreamwidth.org,2009-05-17:347864:817641Memories2014-05-23T12:30:12Z2014-05-23T12:30:12Zsadpublic0Committing these things to memory:<br /><br />A white-tipped tail, quite out of proportion to its owner, standing high above his head when happy, waving as if he's trying to hail a taxi.<br /><br />Pointed ears, one straight, one folded, twitching at the mention of his name.<br /><br />The rituals of Wanting Something. The plaintive eyes, head slightly cocked, showing off those ears to best advantage. The small polite lick on my hand, like a gentleman offering his card. The offered paw, a preamble to the rollover and the belly. The frantic circles at feeding time and the leap-thump-leap-thump as he overcompensates for the shortness of his legs.<br /><br />The appetite, gulping down food unchewed before it can be taken away. <br /><br />The shedding. So much fur, finding its way into everything.<br /><br />The mind, too sharp by half, that always knows what we're up to.<br /><br />The fears. Alarm at loud noises, the tail tucked down between his legs as cars drive by. The jealousy over food and the reflexive snarl when suddenly woken - and the apology afterwards. The dog who crept into a dark cupboard on his first day with us and sat there so quietly that we looked there twice and missed him; the dog who sneaks under our bed at night like a little ninja.<br /><br />The sore spots that we never understood but eventually learned to avoid. <br /><br />The delight every day when we come home, sniffing our legs to find out where we've been and who we've seen, tail lashing hard enough to hit himself in the face.<br /><br />And now, counting cans and wondering if the dogfood will outlast the dog. Oh, little fellow, I wish you were staying with us.<br /><br /><img src="https://www.dreamwidth.org/tools/commentcount?user=lederhosen&ditemid=817641" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/> comments