First Outdoor Adventure

Our little girls had their first adventure outdoors. One advantage of getting chicks late in the year like this ? 90 degree days. Plenty warm enough for these little ones to enjoy exploring. We’ve got a fence around the hazelnut bushes, so Anya brought them into that grassy area. At first, they stayed close to one of “their people”.

But, as they spent a little time checking out grass and dirt near us, they started venturing around the yard.

On the Post Office

It bothers me every time I hear about how the post office needs to make changes to remain a viable institution. Back in 2006, the Postal Accountability and Enhancement Act specifically forbid the Post Office from offering non-postal services (Section 102). Previous Postmaster Generals had researched and documented all manner of other lines of business where they could leverage the fact someone was driving by every house in the US every day — the one I remember was wellness checks. If I paid the Post Office some fee, they’d knock on my mom’s door every day/week/etc and just check in. I think the idea of plastering advertising on the truck that drove through your neighborhood every day was floated (and I’m convinced privatizing the post office will yield ad-space on both stamps and the cancellation marks). Let cellular companies pay USPS to have cellular data collector units in trucks — I’d set up a system from Siemens at Alltel fifteen years ago and run up against an unexpected problem. We had assumed the data collector units would be installed in all of the repair trucks and collect data as the techs drove around to their repair jobs (and possibly we’d have to dispatch a ticket that was ‘drive out to XYZ tower’ just to gather data for an area where we didn’t have a good data set). The union rep, however, was adamant that these units that sent GPS tracking data would never be put into a truck to allow the company to micromanage the tech’s day. AFAIK, the whole installation got scrapped after a year or two because we couldn’t collect enough data to make it valuable. I expect we’d have paid the post office a few grand a month to provide transportation for cellular data collectors. Point being – there are a lot of non-postal services that could be offered at a small incremental cost to the post office. I understand the impetus of the law — if I were a company that’s business was contracting with cellular companies to drive their data collectors around, the post office would be able to underbid me. I’m paying someone and fuel to drive 50 miles — so an hour or two of time and a gallon or two of gas. At minimum wage, I’ve got 7-14$ in labor and another 2-4$ in fuel (which doesn’t include potential benefits for my employee, vehicle maintenance, administrative costs, etc). They are already paying for the person/driving/vehicle/administration, so their expense is 0. We’ve both got some advertising expenses to ensure the cellular carriers knew we offered this service. I’d be really upset to have my business go under because the Post Office was able to underbid me. But moving into lines of business that are specifically not profitable because of the labor/transportation expenses seems like a win all around.

The Post Office have been mandated to fund future retirement fees in a way no other company need to do. They’ve been prevented from diversifying their product offering to increase profitability. Funny how some people think the government should be run by a business — but, when it is run like a business and has the potential to provide beneficial services, pass laws to prevent operating like a business.

Connections Academy – Planner UI/UX Issues and Learning Module Voices

I was surprised at the voices used for the cartoon characters in Connections Academy’s learning modules. Anya paused her maths lesson to tell me the lion is shrill. And proceeded to mimic the voice. I had her play a little of it for me and, yeah, it’s awful. The ladybug in the language arts module is better, but that’s a terribly low bar. I’d expected there to be a few voices from which we could select — not just because someone may well find a voice objectionable, but also because some people have frequency specific hearing loss — someone with trouble hearing high frequencies isn’t going to be able to use these modules. I set up an in-browser audio equalizer and dropped out high frequencies. Makes it usable, but I’ve still submitted feedback with my observation.

Then there’s the planner. I’ve noticed a few UI problems in the Planner —

  1. I am frequently unable to save an event – in cases where something is not populated, the missing item is highlighted in red. That’s not what I’m talking about – I’ve got all of the required fields populated, nothing is highlighted when I click ‘save’. It just stays on the item creation form. I am able to cancel item creation, try again, and get an event created.
  2. When the purpose is set to “Enrichment”, items cannot be opened/edited/deleted.
  3. When creating a new item, expanding the “Recurrence” section produces an overlap between the “Description” field and the top line of the recurrence selection. The description field is on top, which renders the top half of the check-boxes unusable.

And more of a UX issue … while the event items can include half-hours, the credit hours field appears to be an integer value. It is auto-populated with a float. Which leads me to expect

School Starts and a Math Game

It’s back-to-school time — at least for Anya! The local district put off starting school until mid-September in what I assume is an attempt to let other districts see how bad SARS-CoV-2 spreads … but we decided to try Connections Academy instead. It’s a dedicated online school, rather than a few local teachers using a third-party online platform (and going into school was right out). She’s bummed about “missing out” on a month of summer vacation … but August classes in our air conditioned house are a lot more pleasant than classes in the massive concrete block 60’s building with windows that open.

The school sent out info to use https://www.prodigygame.com — a wizard adventure game that Anya absolutely loves (even if casting spells requires solving math problems).

So far, I think Connections Academy are a little unorganized. They’ve got a calendar, but few of the meetings get populated into it. They’re using the first week or two of school for everyone to get themselves sorted — log in, learn the platform, make sure they’ve got their materials. The actual education platform is starting out the same place 1st grade did — using manipulatives to add. The teacher said Anya would take a placement assessment in early September and the education modules would be jumped to whatever is reasonable for the kid based on their assessment. Hopefully!

She’s been going through the educational modules quickly, so I’ve come up with a few experiments. I also signed her up for a Scratch class on Outschool — and I’m thinking about teaching more advanced Scratch classes since none seem to exist … essentially teaching programing concepts like variables — what they are, what scope is, data typing and loosely typed languages, and debugging by watching variable values. She’s really enjoyed the class, and she’s certainly learned to write her own game. We’ve also talked about the scientific method — using spontaneous generation as an example and designing an experiment to prove that mice magically pop out of rotting straw. Which points out something I’ve always liked about science. We’re medieval scientists who want to prove this generally known fact, we design a really good experiment, we meticulously carry out our experiment … and no mice. Even though our experiment failed to prove our hypothesis … we’ve still made an amazing discovery.

Real Chickens!

We picked up our little babies yesterday — had a little confusion because the order hadn’t gotten marked as ready for pickup, and the office staff is working from home so they couldn’t just pop out to the hatchery and see. But they eventually confirmed all five little guys were hatched and ready to come home.

We’ve got Sunshine, the Buff Orpington, who is undoubtedly Anya’s fav.

We’ve got Joyce, the Austra White, who Anya says is Sunshine’s best friend (and she is).

And Moonlight, the Black Jersey Giant … well, I’m about 90% sure about that. She’s got dark legs

And then we’ve got … well, I don’t know. And totally understand why they put leg bands on the ‘rare breed’ birds. There are a whole lot of gray and yellow balls of fluff. I think this is the Green Queen, Queenington.

Which would make this our Columbian Wyandotte, Tilly. Anya says we cannot call them by their names until their feathers come in and we actually know who is who. Which makes sense — I’d be awfully confused if I was called one name for a few years and then my family randomly started calling me some other name.

 

 

Discourse Censored Words List

It took an unexpectedly long time to find the censored word list in Discourse. I finally resorted to searching the PRs until I located one where the censored word list was replaced with ‘watched words’ … although there wasn’t any readily apparent watched word list in the configuration either. I was able to locate the meta post regarding the watched word implemented under that PR. It’s hiding under logs?! Under each action (block, censor, require approval, flag), there is a “show words” checkbox that displays the configured words.

ADO Notifications

I’ve been underwhelmed with the notifications I get from Azure DevOps – there are a lot of build-centric notifications, but I don’t use ADO for builds or deployment apart from playing around. And I really don’t care if the silly test project I set up to build and deploy a website worked, failed, or whatever. I was thinking about hooking whatever they’re calling Flow this week up to ADO and building notification workflows.

Fortunately, a coworker mentioned that you can customize notifications in ADO … which, I’d spent a few seconds poking around and didn’t see anything. But I spent more than a few seconds this time and happened across this little ellipsis on the card that pops up when I click the circle with my initials in it. More options!

A new menu flies out; and, look, there’s “Notifications”

Exactly as I’ve observed, there are a lot of build-centric alerts. So I created a new subscription.

Here’s a subscription that I hope will notify me when items assigned to me have updates to activity or comments.

Ohio Remote Ballot Marking System Expansion Request

Email to Secretary of State DeRose, my Ohio State Senator, and my Ohio State Representative:

 

There appears to be a remote ballot marking system available if you have a qualifying disability under ADA. I would like to see the availability of this 11-G absentee request be expanded to anyone with COVID-like symptoms or asked to quarantine for potential exposure. This would allow such individuals to remotely mark their ballot and ensure their vote is counted. It’s not the resource strain that offering in-person pick-up akin to RC 3509.08 would be, and it allows people to ensure their vote is counted without risking heir health or the health of community members.

Ohio Absentee Balloting Nuances

Ohio RC 3509.05 lists approved relatives who are able to deliver a ballot on behalf of another individual (spouse of the elector, the father, mother, father-in-law, mother-in-law, grandfather, grandmother, brother, or sister of the whole or half blood, or the son, daughter, adopting parent, adopted child, stepparent, stepchild, uncle, aunt, nephew, or niece of the elector). So I cannot deliver the ballot for my neighbors, but their kids can. That’s a firm ‘no’ on dropping off ballots for anyone who is not related to you a way listed in RC 3509.05 at the Board of Elections. I won’t get into the probability of enforcement — that’s something an individual would need to decide for themselves. If the ballot isn’t getting submitted any other way, might be worth the risk having an unauthorized person drop it off and having your vote invalidated. To me, the law precludes a mass effort to get people driving around and collecting ballots for a neighborhood and dropping those off at the Board of Elections. Same with dropping off bunch of ballots over at the Post Office closest to the Board of Elections — “elector shall mail” isn’t the same as “elector shall cause to be mailed”.

Ohio RC 3509.08 option where the Board of Elections drops off the ballot and picks it up is currently only for those confined to nursing homes and jails. So if you know someone who is in a nursing home or jail … they totally can request the Board of Elections bring them a ballot, wait while it is filled out {even fill out the ballot if the person is unable to do so themselves — I’m thinking of my great-grandmother who could barely write an “X” in the signature line near the end of her life} and bring that ballot back to be counted. That’s a pretty awesome level of service. And I get that they don’t have anywhere near enough staff to broaden that service.

What you *can* do is drop off a ballot for parents, grandparents, aunts/uncles, siblings, children, and nieces/nephews. So if you’ve got family members who don’t have time/resources/mobility/health to drop off the ballots in person, you can certainly collect *their* ballots and drop them off at the appropriate Board of Elections.

There also appears to be a remote ballot marking system available if you have a qualifying disability under ADA. (Cuyahoga and Medina). I’m e-mailing DeRose’s office and my local Ohio Congresspersons (“Member Search” in the lower left-hand corner of http://www.ohiohouse.gov/ for the House, https://www.ohiosenate.gov/senators/district-map for the Senate) asking them to expand the availability of the 11-G absentee request. Anyone with COVID-like symptoms or asked to quarantine for potential exposure should be allowed to remotely mark their ballot too. It’s not the resource strain that offering in-person pick-up would be, and it allows people to ensure their vote is counted without risking heir health.

And if you request an absentee ballot but decide to vote in person instead, you can. You’ll need to submit a provisional ballot — this is to ensure you don’t both return an absentee ballot and vote in person.

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.