Category: Miscellaneous

Did I miss something?!

I’ll admit that I was only halfway paying attention to Survivor tonight, but it sounds like some women lied about someone’s physical contact making them uncomfortable (exaggerated their discomfort?) and then lied about their lying. They discuss the harassment, bond over the shared (miserable) experience. And then I hear “You tell her how uncomfortable you are … like, you have a very open mom/daughter moment about how uncomfortable you are. Right now, that’s our only play.” Our only play?!?

After someone else got voted off the island, Janet explains to Dan why she “turned” on him. Reasonable move, and if (as the show claims) they had a group meeting about respecting personal boundaries and an individual meeting with Dan that included a warning about his behavior … I’m not sure how it’s news to the dude why people were voting for him. Dan talks to Missy and Elizabeth and is told that Janet is lying to him. I mean, I know that the narrative gets built in editing and all … but it’s not like they’re selectively including the three times someone mentioned it to make it seem like something that’s a constant topic of conversation and the person says “I mentioned it once or twice, but I wasn’t making a huge deal about it”. If you never said that … there wouldn’t be footage to include. I was glad that Janet got all four of them together instead of allowing the other women to tell different stories to different people, but the ultimate resolution of their discussion seemed to be “well, Janet, you misunderstood and it got blown out of proportion”. Not “yes, I lied about this”.

Now, I’d understand if they decided that, yeah, dude makes them uncomfortable. But they were going to suck it up to retain their position in the game. I don’t want my alliance to think I’m untrustworthy, so I cannot vote out “one of us”. That would have been a rare bit of actual reality in “reality tv”. I’ve endured uncomfortable situations because I wanted to keep getting a paycheque. But the discomfort was truth. And I didn’t band together with a group of women, agreeing to discuss the problem with HR, only to tell HR that I never saw anything inappropriate. Tthe entire situation was disgusting – gee, why are people hesitant to believe someone who claims to be harassed – and I have a bad feeling that the “drama” is meant to be a hook for the show.

The ethos (or lack there-of) in Survivor has been part of the game since the second episode. Once contestants realized how the game worked, they figured out how to work the game. While lying with integrity is difficult to conceptualize, there are different types of lies told during the game … there’s a significant difference between maintaining multiple alliances or telling someone they’re not mentioned for the vote tonight and claiming that someone is harassing you and then telling that person you never said it. Working the game seems to rely on other players not becoming privy to the information we, as viewers, have. And I wonder what impact it would have on the ethics of the game if the endgame was tweaked. Once the final contestants were selected, and the members of the jury are known … take a few days break before the vote. Allow the production team to do some rough editing for broadcast footage. And then allow the jury to watch the show. Sure, content editing creates a story for each person and it’s a skewed view of the individual. But the final vote would more-or-less be cast with the same information viewers have. The jury thinks it is a shrewd move to use sexual harassment as a ‘play’ in the game and still votes for one of those women? That’s a lot different than jurors thinking Janet blew it out of proportion and only one contestant had complained about the guy.

Amazon Music

TL;DR: Lots of content, but UI/UX fail.

The user interface for Amazon Music is terrible and lacks basic functionality (and there’s a disparity of what functionality exists across platforms). The general usability is poor — it is difficult to navigate content, tool tips were not consistently displayed on mouseOver, and there’s no easy way to select a genre and see various artists/albums/releases.

There is no simple way to find and queue music. There is no way to sort albums by release date to identify the latest albums from an artist. There is minimal information about the album displayed when you ‘View album’. You cannot play music to other devices — the search/queue function on the web platform is far better than the functionality in the FireTV app, but I am then stuck streaming to my laptop.

Removing an item from ‘My Music” required too many clicks – the quick actions on the album say ‘Add to My Music’. To remove it required clicking the hamburger button, selecting ‘view album’, clicking another hamburger button, then selecting ‘Remove from My Music’.

We experienced many bugs on the web app when adding an album to ‘my music’ (the album did not appear at all. Or the album did not appear *but* the item count was incremented — so it said there were 6 albums but only five albums displayed. Or the album did not appear, the item count incremented, and one of the already-added albums was listed twice).

When searching for an artist, selecting them in the “artist” section does not list albums from the artist. You have to scroll *past* the ‘artists’ listing and select the artist under “Albums” to view their albums.

I have not been able to find a way to “train” the suggestion algorithm. While I expect the algorithm is trained as we listen to music and possibly skip songs, I would like to be able to select genres or bands that I do not like. There’s no reason to show me four different country music channels if I do not listen to country music.

On the FireTV app, a video history of Biggie Smalls was promoted. We could not find a “Video” section to see what other video content is available.

Force majeure and the Township Solid Waste District

We attended a “Candidates Night” event last night where the two individuals on the ballot for a Trustee position spoke and took questions. Where most local elections don’t have much in the way of issues, this particular election may be a proxy vote for the single-hauler solid waste district because the incumbent was involved in the entire process and voted to establish a Solid Waste District that allows only one trash hauler. And indicated that she didn’t see anything wrong with the way the decision was approached.

There were two justifications provided for this decision — both financial. Individuals who have rubbish service will pay less for their service because the Township is essentially facilitating a bulk-purchase agreement. The company is going to drive the same number of miles but 100% of the houses will be their customer. The other stated motivation is reducing road repair costs. Not because the Trustees provided any evidence that rubbish trucks cause a significant amount of damage to roads (although I’ve been told it’s common sense that big trucks cause a lot of damage … there are four, I think, companies that collect rubbish in the area. Commercial rubbish collection is out of scope, so those companies are still going to be driving on some of the roads. What percentage of road damage is done by three rubbish trucks a week compared to vehicle traffic, delivery trucks, snow plows, freeze/thaw cycles? And that’s assuming the single hauler doesn’t need to increase the number of trucks/trips to collect all residential waste — which I doubt is true. We’re more likely to net remove one or two large trucks a week from the roads.). But when I asked what metrics would be provided to show that this cost savings would be realized, the incumbent candidate replied “I don’t think residents want to fund an expensive study about what roads needed repairs and how much it costs”. Which is a senseless non-answer — they’ve got a projected service department budget for next year. And hopefully the year after that. They’ve got historic actual numbers for decades. Take next year’s actual and compare it to the budget. How’s that compare to, say, the difference between last year’s actual and forecasted budgets?

But the oddest part of the night was when a resident asked about people whose existing contracts are a problem — either their current rubbish service will stop collecting trash a month before this single-hauler contract begins, their annual contract is up a month or three before the single-hauler contract begins and they’re not going to be able to renew, or their contract extends beyond the single-hauler start date. The first two scenarios are answered easily enough — the company that’s been chosen as the rubbish collector has agreed to start collecting “early” at rack-rate. So you “get” to buy service from the company you didn’t want at the price you didn’t want. The incumbent indicated that people whose contracts extend beyond the single-hauler start date won’t have to pay early termination penalties because of force majeure. Now maybe she’s actually seen residential contracts from each of the rubbish collectors that operate in this Township. We haven’t had rubbish service for years because we compost & recycle. The remaining trash (generally Styrofoam), we can drop off once a year at the county dump for like 1.50$. But in the contract we did have, force majeure was specifically protection for the trash hauler — they are not in breach for failing to collect rubbish in the middle of a hurricane, during a strike, etc. Courts tend to interpret force majeure clauses narrowly. If the hauler wants to push the issue … I doubt there’s a clause about government action freeing the resident from fulfilling their contractual duties. You’d be making an argument under common law contract doctrine.

But there’s no need to put yourself in a defensive position. The hauler will elect either to cease operation in the Township or incur penalties for continued residential rubbish collection. As a customer, you aren’t the one seeking to breach the contract. The hauler’s failure to act on their contractual duties may fall under a specific item within a force majeure clause. Or they may consider their duty voided under “frustration of purpose”. Call it “impracticability” because of the fines. It’s not like a resident needs to fight to compel their old hauler to continue their contractually-obligated duties that the hauler needs to defend their withdraw as a specifically permitted action. A resident needs the hauler to be the one who withdraws from the contract.

Accessing MobyVM

I needed to map an addition port into an existing Docker container. Now I know the right thing to do is to create a new container and do it right this time but GitLab’s container has problems running on the Windows Docker Desktop. Permission-based problems that I’m not particularly included to attempt to sort out just to run a simple sandbox. Which means I’d need to drop my config file back in place & recreate my sandbox projects. And since I’m using CI/CD variables which don’t export … recreating the sandbox projects is a bit of a PITA.

On Linux, I can fix this by editing the config.v2.json and hostconfig.json files … but this is Windows running a funky Hyper-V Linux. And it turns out you can access the files on this MobyVM.

docker run -it --rm --privileged --pid=host justincormack/nsenter1

Now I’m able to cd into /var/lib/docker/containers, find the full ID for my GitLab container and cd into it, and edit the two config files. If it is running, you need to stop the container prior to editing the config files.

config.v2.json — add the port to “ExposedPorts”

chStdin”:false,”AttachStdout”:false,”AttachStderr”:false,”ExposedPorts”:{“22/tcp”:{},”443/tcp”:{},”80/tcp”:{},”4567/tcp”:{}},”Tty”:fal…

hostconfig.json — add the port to “PortBindings”

ult”,”PortBindings”:{“22/tcp”:[{“HostIp”:””,”HostPort”:”22″}],”443/tcp”:[{“HostIp”:””,”HostPort”:”443″}],”80/tcp”:[{“HostIp”:””,”HostPort”:”80″}],”4567/tcp”:[{“HostIp”:””,”HostPort”:”4567″}]},”Res…

 

Stop the Windows Docker service, start it, then start the container again. Voila! The new port for the container registry is there without recreating the container.

Drawing a rectangle/square (or ellipse/circle) in Gimp

I finally installed the larger hard drive to my laptop (1TB SSD!!), and I now have enough space for a Windows partition, a Linux partition, and a data partition that is used by both systems. I’ve always had a handful of items on my “Linux misses” list, and image editing is one of them. I use Gimp in both Linux & Windows when I want to do “fancy” image editing — especially blurring out text when composing documentation — but I love the simplicity of MS Paint for adding text and shapes to images (my red “click this one” and purple “look at this section” rectangles). And there’s no readily obvious way to just draw a rectangle in Gimp. At one point, I had a whatever-it-is plugin/macro/function that allowed me to draw all sorts of complex shapes. But, really, I just want to put a red rectangle on a screen print. Found it!

Use the selection tool to draw a rectangle or ellipse; from the “Edit” menu, select “Stroke Selection”. This adds a pencil/paintbrush stroke along the selection boundary.

Best Dimming Light Bulbs

We purchased a house full of Z-wave dimmers (Leviton VRMX-1LZ and DZSM-1LZ) as a Christmas season special from Leviton two years ago. We were really happy to have dimmers throughout the house — we could use the existing lighting as nightlights, have movie nights with a little pathway lighting … and then we installed a few dimmers and realized the bulbs dimmed. But not DIM dimmed. It was a massive bummer, and significantly diminished the couple hundred bucks we’d dropped on these smart dimmers. 

We even called Leviton & got a paper they publish with how different bulbs dim with their various dimmers. And realized that all of the bulbs that went down to 1 or 2% were discontinued. Another bummer! The paper is updated periodically, but even the early 2018 iteration failed to yield any in-production well-dimming bulbs.

Over the summer, I came across a review of various dimmable LED light bulbs. The guy had an integrating sphere rigged up and was measuring output and colour — seemed like he put a lot of effort into it (and I’d LOVE to find that write-up again!). His write-up indicated that Home Depot’s “house brand” bulbs, EcoSmart, dimmed down to basically nothing. I added EcoSmart 60W bulbs to my “next time you’re at Home Depot” list and finally remembered to pick them up in September. Except there were two types — plastic ones and glass ones that can be used in closed fixtures. The plastic ones dimmed well — way better than any of the Cree, Phillips, or Lighting Science bulbs we’d tried. But the glass ones — they dimmed to the point of being off. We had to go through and change what the dimmers consider zero because these bulbs were TOO dim. And they didn’t hum, buzz, or flicker. I was thrilled — swapped out the downstairs hallway bulbs with these glass EcoSmart LEDs and the light fixtures have become nightlights. 

I wanted to get bulbs for the other hallway, bedrooms, and bathrooms. So I ordered the bulbs online & they showed up. Replaced one set of bedroom bulbs, dimmed them … and they’re about on par with the Cree bulbs we had. Huh? Upon investigation, while the bulbs we got delivered had the exact same part number, they had a different UPC. And a different product code above the UPC. Even odder — the energy draw and estimated annual cost were different. Apparently there are different revisions of the bulbs, and the 02 revision doesn’t dim any better than every other bulb out there. 

We returned the bulbs and checked the light bulb aisle at the store for any with UPC 693690563636 and product code ABA19A60WESD01 — and found a bunch on the shelves. They also had the 02 revision and a 03 revision. Since the 01 ones were a known quantity, we bought them. And they dim down to nothing! It’s been just about two years, but the dimmers we’ve put in are finally PERFECT. 

Just like Helsinki

When Trump first trotted out his hypothesis that logging would have somehow saved the large swaths of construction from forest fires, I rolled my eyes and thought back to his campaign touted secret plan to defeat ISIL … which turned out to be consulting Generals. Which, as far as a military tactic goes is, worked about as well as all of the previous approaches (which, I suppose in his head, did not include this brilliant consulting step). Logging — which generally takes the big solid part of the tree (a.k.a. the trunk) and leaves behind all of the little bits (twigs, branches, leaves, underbrush) seems more apt to promote conflagrations — all of those little twigs, branches, leaves, and whatnot lay around, dry up … insta-kindling.

But yesterday’s proclamation that we’d be fine if we were only cleaning up the forest floor like Finland really bothers me. Not because of the obvious climate differences between a country averaging 27″ of rain (and I believe had an above average precipitation total last year) and an area that got, what, not quite 5″ in the last July-June season? Or the twenty or thirty degree temperature difference. But because of the absolute ignorance of international news. This is the sort of thing people at the White House get paid to keep track of. Finland had an unusual number of fires this last yearSweden too.

Why *I* Didn’t Report

I tried to report, but I could not get anyone to TAKE my report. When I was in University, I had an undergrad assistant-ship. One of my responsibilities was overseeing work-study students who helped out in a computer lab. General management stuff – scheduling, sorting out coverage when someone couldn’t make their shift, determining when the lab was available to students, approving time cards. One kid falsified his time card — he’d clock in, leave, and come back a few hours later to clock out. Not making a shift wouldn’t be a problem, I dealt with that quite regularly and generally covered shifts myself if I couldn’t find someone looking to pick up a few extra hours. But asking to get paid for not working was unreasonable (also a crime. It wasn’t just defrauding the University, it was defrauding the Federal Work Study Program). My mental parade of horrors went something like this: chap gets charged with fraud, loses work-study funding, has to leave school, entire life is ruined over a stupid thing he’s done as a 19 year old kid. I wanted to help the guy, so I decided to be in my office before he clocked in. Check the lab every fifteen minutes or so and confirm that he didn’t just step out for a minute. Leave a note on his time card to see me in my office. And TALK to him about it — I know what you’re doing, it’s not right nor is it legal, and there are real ramifications if you persist and I have to report you. The kid was a big guy. Over six foot tall, built like a footballer. I asked a friend of mine to hang out in my office with me.

A few hours later, and I had evidence the dude was falsifying his time card: he came back to punch out. And came into my office as requested — all innocent-like with no idea what I could possibly have wanted to discuss. My friend, unfortunately, had gotten bored and decided to ring her sister about ten minutes before his shift was over.

My office had been a dark room — an important thing, when developing negatives, is to avoid exposure to light. Darkrooms have two rooms — open the first door, enter into the antechamber, kick on the red lights, close the outer door, then open the door to the processing room. I used the antechamber as a storage area, but there were tables and chairs out there too. The inner room was my actual office – desk, chairs, coffee maker. My friend took her call out to the antechamber because my discussion with the work-study student was going to interrupt her call. And closed the door.

So here I am, in a closed room, alone with the guy (a) that intimidated me and (b) with whom I had to have an unpleasant conversation. I explain that we’ve been checking the lab every few minutes and know that he never actually worked his shift. He could call it an emergency and say he came back to cross out the “in” time now that the emergency was sorted. Or he could clock out, and I’d have to report the fraud to administration.

He proceeded to sit on me and kiss me. I could not get up. I was stuck in a rolling office chair, where attempts to push with my feet just scooted the chair around the tile floor. I wasn’t a terribly weak girl, I could bench about 30 kg which was about average for my size. But there was no shoving this guy off of the chair. I was terrified, and in my mind a little angry that my friend — who really only needed to be there for like the last half hour of the guy’s shift — had decided to stay for the full three hours and didn’t care enough to actually help me during the period of time I actually wanted help. I was kissed and groped at for minutes before I was able to injure the guy enough that he fell off the chair. And I ran out to the antechamber. The guy was furious, but he wasn’t going to do anything with my friend standing right there, or with the antechamber door opened to the hallway. He stormed off.

But I was still terrified. I rang the police — even leaving aside sexual component of the assault, false imprisonment is a crime. Assault is a crime. I reported. And was directed to campus security because, for the price of a few new police cruisers and other “support” … evidently the city police do not respond to on campus crimes. Noise complaint, ring campus security. A flaming sofa out in the public street, ring campus security (although the fire department will eventually respond). Some kid assaults you and prevents you from leaving a room, ring campus security.

Well, you know what campus security has to say about sexual assault? There’s no evidence, I have no witness, it’s he said/she said. And it’s important that we be able to tell prospective freshman about the low level of on-campus crime. Including the zero rate of sexual crimes. So in addition to abject terror, humiliation, and eeeeewwwwww that I felt, I got to add in a heap of betrayal because, about a year ago, I was one of those prospective freshman getting the sales pitch. I remember hearing about the zero on-campus sex crime stat and wondering how that was possible. The students were still kids. You could find a keg party any night of the week. And whilst neither youth nor inebriation exonerate criminal action … they are certainly factors that contribute to it.

I told several friends — primarily because I did not ever want to be left alone with the guy, and I needed them to understand why. I’m telling the Internet 23 years later because of Trump’s comments about Dr. Ford not reporting. There are millions of different reasons assault victims haven’t reported the crime. None of those reasons mean the attack didn’t happen. None of those reasons mean the attack was anything other than horrifying. And sure I managed to move on. But I will never forget how the guy looked, or smelled, or the feeling of being restrained and assaulted.

So, Trump, #WhyIDidn’tReport … why I don’t have a police report to back up my assault is that the University paid off local law enforcement to ignore on-campus crime, and campus security had a vested interest in maintaining low crime stats. Doesn’t mean it didn’t happen, just means that the so-called justice system fails a lot of people. And, hey, isn’t that the sort of thing a the head of the Executive branch should be fixing?