Discourse in Docker on Fedora 32

I had to make a few tweaks in order to run the Discourse base Docker image. First, I got the following very clear error:

discourse docker this version of runc doesn't work on cgroups v2: unknown

I had to switch from cgroupv2 to cgroup

grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"

At which point I was at least able to run through the configuration. This yielded an access denied error attempting to create /shared/postgres:

Configuration file at updated successfully!

Updates successful. Rebuilding in 5 seconds.
Building app
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
cd /pups && git pull && /pups/bin/pups --stdin
Already up to date.
I, [2020-08-11T18:15:03.664400 #1] INFO -- : Loading --stdin
I, [2020-08-11T18:15:03.672609 #1] INFO -- : > locale-gen $LANG && update-locale
I, [2020-08-11T18:15:03.746912 #1] INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2020-08-11T18:15:03.747838 #1] INFO -- : > mkdir -p /shared/postgres_run
mkdir: cannot create directory ‘/shared/postgres_run’: Permission denied
I, [2020-08-11T18:15:03.754890 #1] INFO -- :

FAILED
--------------------
Pups::ExecError: mkdir -p /shared/postgres_run failed with return #<Process::Status: pid 21 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "mkdir -p /shared/postgres_run"
d98ee8471413ad77ab27ed3506f12c5c94a2b6902622faf4d88d5dbb51a10f63
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

Gut was that I encountered an SELinux problem. Turns out I was right. There’s a lot of reading you can do about SELinux and Docker — this, for one — but the quick and simple solution is to run the docker container in privileged mode (note: this may not be a good idea in your specific scenario. understand what privileged mode is and the risks it entails). To do so, edit the launcher script (/var/discourse/launcher in my case) and add  “–privileged” to user_args:

And finally (and this may well be a RTFM thing) — you’ve got to have your public DNS set up & whatever firewall rules to get traffic to the http:// website you are trying to build in order to use the LetsEncrypt SSL cert and configure HTTPS. It uses the file-based verification (i.e. create a file named xyz in /path/to/xyz.whatever on your web server, lets encrypt grabs the file and verifies it exists) which fails quite spectacularly when the Internet at large cannot access your about-to-be-a-discourse-server.

Changing Your Mind Due To New Information Is A Problem?!

Back in 2004, John Kerry was roundly derided for being a “flip flopper”. In the political context, I never thought the term meant simply someone who changed their mind but rather someone who lacked conviction and changed their mind to match the prevailing popular opinion. Now, even that meaning, I had trouble seeing as problematic in a representative democracy. If 80% of the people I represent thought X last year and now think !X … wouldn’t they want me voting a different way this year? While Kerry attempted to explain his votes — approving military action but not a funding source — nuanced discussion isn’t effective in American political discourse.

I’m reminded of this as people protest wearing masks. I questioned the advice not to wear a mask in March — it was illogical except from a scare resource allocation strategy (i.e. if you’re sheltering in place at home where drive-through grocery pickup is the totality of your exposure … save the mask for someone with more risk). There wasn’t any research to support wearing a mask because there wasn’t much research about SARS-CoV-2 at all. But, in March, there was research on the transmission of other virus. Maybe we didn’t know if aerosol transmission was possible, but it’s basic risk mitigation to take not-too-awful precautionary measures to prevent an unknown risk. Several months later, there is research. But the odd line of thinking that means a politician who changed their mind about a vote or had nuanced reasons that their vote for “the same thing” differed seems to mean that emerging scientific research does not warrant revising one’s initial opinion.

Some in the Republican party remind me of my daughter’s default defiance. I’ve heard her refuse to eat ice cream because one of her parents told her to (and her automatic response to just about any request is “No!” or “Why?!”). The Republican party is currently objecting to the NY DA preventing the NRA from continuing to misappropriate donor funds (i.e. how dare you charge the guy who robbed me!?), refusing to wear a mask that at worst does nothing and at best prevents the spread of an infectious disease because they’ve been told to do it.

Exporting Microsoft Stream Transcript

Microsoft has changed the interface on Stream slightly, so my code to export the transcript needed an update:

var objTranscriptLines = window.angular.element(window.document.querySelectorAll('.transcript-list')).scope().$ctrl.transcriptLines.map((t) => { return t.eventData.text; });
var strRunningText = "";
for(var i = 0; i < objTranscriptLines.length; i++){
    if( objTranscriptLines[i] ){
        var strLineText = objTranscriptLines[i];
        strRunningText = strRunningText + "\n" + strLineText;
    }
}
console.log(strRunningText);

Bow tuning notes

To fix a nock right by yoke tuning, you shorten the right yoke legs and lengthen the left.

Adding one twist and removing the same amount from the other side (right lower / left lower, for instance) should maintain the cam timing. Not 100% true because the amount of take-up per twist changes compared to previous twists. But it’ll be close.

Make sure to check cam timing — may have timing check hole drilled into cam so you can verify cams are in the same place at a point in your draw. Or draw and ensure stops hit cam at the same time.

Found an article on tuning at https://www.gohunt.com/read/skills/what-does-it-really-mean-to-tune-your-bow

What you know

I don’t get why school boards (and businesses, for that matter) are so stuck on attempting to replicate what we had two years ago. It’s like some form of denial — it’s going away soon, no reason to rethink things we’re doing.

I cannot help but think of veggie burgers. Attempts to be “beef like” are generally awful. Attempts to make a flavorful, filling, crunchy sandwich filling that bears little resemblance to a beef burger? Lots of delicious options. I think that was what I liked so much about SNL’s at home episode … it wasn’t *trying* to be like an in-studio production. It was a new thing that was entertaining in its own way. I don’t know what the school version of my spicy garbanzo sandwich or SLN@Home would be … but, having seen The Reopening Plan, I know that my local school board spent the last four or five months trying to figure out how to achieve the most school-like thing possible regardless of the long-term feasibility of the solution (and they’ve got a slide detailing the “swiss cheese” approach to risk mitigation … something gets through each layer but risk is mitigated by the aggregation of layers. Nothing says safety like swiss cheese!).

Creating continuity between in-class and at-home learning so individuals with resources (time, money, internet access, computers for kids to use) could participate at home and reduce the number of people on the bus, in the classroom, at lunch, etc does not appear to have been an avenue of exploration. This would allow individuals in quarantine to continue their education uninterrupted, too. The district’s plan right now is … they’ve got no idea what to do when a class full of students is asked to stay home for two weeks.

Reopening Plans

Yeah, this is going to be a nightmare. I have an awesomely well behaved kid. One with a lot of deference to non-parental authority. She’s also decidedly not an automaton and does her own thing. Which is developmentally great, but not so great in a carpark. She would totally wear a mask all day in school, even if it’s 90 degrees in the classroom (which happens, no AC in this old building). She will walk in a spaced-out line and play by herself at recess if that’s what the teacher says to do. She’ll also rub at her eyes, do a crap job of washing her hands before eating (and there’s no way the teacher is ensuring everyone is properly clean before lunch and snack), take her mask off while walking up the driveway and chew on her finger because she’s growing a new molar. There are kids who had three warnings in a day *before* all of these risk mitigation rules went in place.

How much time is a teacher going to spend teaching when they’re also reminding kids to keep their masks on, not share that crayon, no you cannot move your chair and sit closer to Timmy. Even if online education isn’t as effective as in-person education was two years ago … I think it is going to be far more effective than trying to teach in between warning kids about breaking rules.

And that’s just elementary school kids. From what I hear from friends with older kids, the district has been completely unable to address physical assault (which they like to call bullying, but someone who walked up to me on the street and punched me in the face would totally be getting changed with assault). How in the world are they going to address someone who thinks its a gas to rip off someone else’s mask and sneeze in their face?

At that, how are they going to address someone who gets sent into school with a fever? From a strange conversation I had with the nurse’s office when my daughter had bloodshot eyes from allergies, I kind of gather that the nurse cannot make medical diagnoses and could not *make* me come pick her up. Five cycles of “I’m sure you want to get her tested for pinkeye” / “she’s got allergies” and I gave up and got my kid. I guess they can use the gymnasium as a room for possibly infected kids sitting 20′ apart.

Chicken Tractor Design

I want to build a secure run for our chickens — something we can move around the yard. I’ve seen a lot of A-frame chicken tractors — I assume people use the triangular shape instead of a rectangle because there’s less material for a given footprint and, thus, the tractor is lighter and easier to move. Chickens aren’t that tall, so they can use most of the “knee wall” section of the tractor. But I thing it will be nicer to be able to use 100% of the footprint. Since 5′ hardware cloth seems quite rare, and there’s no reason to have a run that’s higher than 3′ … I’m designing this around 3′ sections. The vertical walls will use one length of 3′ hardware cloth. The top will have two “sections” of 3′ hardware cloth.

The run will be a wooden frame covered in 1/2″ mesh hardware cloth. The frame is put together as shown in https://www.youtube.com/watch?v=uSvpYh5OBYU. I plan on using 2×4’s to build the frame, stapling the hardware cloth to the frame, and then using 1×2’s over the edge of the hardware cloth to ensure sharp edges won’t snag or cut anything. The screws holding the 1×2’s onto the 2×4’s will provide additional security.

On each corner, I need two 3″ long screws and another two screws for the board along the top. That’s 28 3″ long screws. I’ll need a bunch of fencing staples to hold the hardware cloth and some eighty 1.5″ long screws to hold the 1×2 to the 2×4’s

I need just over 50′ of three-foot-wide hardware cloth (10′ + 10′ + (2 x 10′) + 6′ + 6′ = 52′). Since I’ll need some to secure the coop too, I’ll probably just get a 50′ roll and a 20′ roll. I need 5x 10′ long 2×4’s, 4x 6′ long 2×4’s, 4x 3′ long 2×4’s (cut from 4x 10′ long 2×4’s) … which is nine 10′ long 2×4’s. I also need nine 10′ long 1×2’s to cover the ends of the hardware cloth. And maybe some handles on the top 6′ board to make carrying the thing easier.

I need to research a non-toxic paint or sealant, and we’ll have a chicken tractor.