Wednesday, January 27, 2021

Wednesday Online

Today:
Take Attorney Protective class, distribute food to the usual little free pantries (dropping off veggies at HPIC), read 20 pages of my book, etc. 
I took the first part of Stage Time University and - because I was prepared and determined to Take Every Opportunity To Own The Stage - presented my slide about disadvantages of advancing PPT slides through the keyboard. TAKEAWAYS: always have camera and slides ready to go instantly - any time hunting around looks bad - and make bullet items one word (or two if really needed) so that there is a reason to listen to the speaker; they are cues for the audience, not the information itself. I think they liked the humorous build, and they discussed the content itself first which was a plus.
I cut out of STU to  attend the HomeZone meeting, which I suppose was dutiful but I did not feel it was productive for me. Next time I'll finish the class.

Tuesday, January 26, 2021

Walk, Feed and Scan

 

Sunrise over the pea patch

Handy neighborhood doggy bag dispenser

The ladies at work

I don't know what these berries' deal is ....

...but with thorns like those, I'm not finding out!

Neighborhood freezer/fridge stocked thanks to SPS

My goal for today was humble: to finish scanning my 30 year collection of business cards. I cranked up some youtube videos and set to work on this repetitive, yet interesting chore. So many memories that see super recent, but in some cases half a lifetime ago!

I started with a good walk. We took it relatively easy, picking up 3 bags of trash as we went, and greeting a few dogs. On the way back, I stocked the little pantry next to Beveridge House (which is always empty; I think there's a bunch of homeless people around there) and checked the fridge on 8th: delighted to see it's operational. At 1pm I picked up a bunch of stuff from SPS to load it with (overflow to HPIC and elsewhere); now it's a question of how soon hungry people will get the food.

Sunday, January 24, 2021

Work In Progress!

WORK IN PROGRESS:
Replacing my concrete drive with permeable paving means disposing of concrete, and what's better than repurposing into the raised beds I've always wanted? It looks a little rough right now, but give the vinca minora a season or two to grow down the sides; it'll be beauty. BONUS: These garden walls are just right for sitting, drinking coffee, and watching the world go by!
I am very grateful for the (paid) assistance of Izzy, without whom I would have dithered as I have for years and never got this done. I am awaiting delivery of the driveway pavers, which should be around February 2, and hope to have a few more project available.
So far, it's been
  • Prepare driveway for permeable pavers by jackhammering and stacking concrete, and levelling the soil
  • Complete the East fence, including cutting lots of laurel
  • Knock together a rain barrel stand from the falling-apart table
  • Make urbanite barrier behind trash cans protecting cistern overflow pipe
I wonder what else might be usefully done? Izzy is good and fast!
Perhaps urbanite raised bed by new fence for shade lover plants?
Maybe catio tower?

Basic Memories

Back when Visual Basic was still a Thing, I worked as a contract programmer for a shop that rented us out to 2 rival testing firms; each had contracted with our shop to write functionally identical testing software. I was never the greatest programmer you ever saw - as with so many things, my abilities are far humbler than I am - but I gave good testable valuable for pay, and there was a programmer shortage, so hey!
Those two clients did skills certification examinations for "ReallyBigCompany, Inc". ReallyBigCo wanted the exams to adapt to the skill level of the test taker, which we peons understood that to mean that, rather than just rattle off 10 randomly selected questions from a database of 1000, we would start with a question of moderate difficulty; if the testtaker gave a right answer, the next question was harder; if the testtaker gave a wrong answer, the next question was easier.
We all thought this was a cool way to get a more precise measurement with fewer questions, and I regret that I did not get to work on the exam engine itself.
Instead, I worked on the part where each testtaker practiced taking the test. We had 6 or 10 question formats. Most questions were not mere Multiple-Choice or Fill-In-The-Blank; we had Connect-The-Squares-In-Logical-Sequence and Draw-The-Diagram and Put-The-Boxes-In-Order and more. Fun!
Three problems surfaced:
The 1st was both technical and organizational. Our company geniuses hadn't yet worked out how to get the Large XML File Of Questions And Answers into the program, and management didn't seem to understand that it's hard to test if you can't use data. Until that part got written, we were stuck, but being stuck meant we weren't making progress.
I reached back into my memory of BASIC-Before-Visual-Basic for a trick: treating the text file as a string of parameters. I learned-by-doing that each parameter was limited to 80-bytes (probably a relic of Hollerith cards - from before BASIC was even a thing - and so, ultimately, of Jacquard looms) but that was ok; I just strung them together into one Ridiculously Long String, and away we went!
I packaged this neatly in a module so whoever ultimately installed the database would have to change only the one thing, and we got back to work. No else on the team understood or cared, just so long as it worked.
The 2nd problem was designing the training interface. We wanted the test to be Fair, so that testtakers who had practice taking tests online would not have an advantage. This was not hard for some types of questions, such as "pick the best word to fill in the blank" but other question types made us stop and think.
Think about "draw arrows between these squares representing operations in the order they must occur". You can probably think of several ways to tell a program to connect boxes with arrows, some more intuitive than others. We certainly did! For example, you could click on the first box and then the second box to make an arrow appear connecting them. Or you could click on the first box and hold down the mouse while moving it toward the one you liked; the arrows would follow your mouse until you lift up on the mouse button. And so on....
Management rejected the easiest, most intuitive methods because they were already in use in popular software, and that would give an advantage to testtakers familiar with them.
Management rejected the hardest, least intuitive methods because they sucked.
Ultimately management accepted a method of such surpassing mediocrity that no commercially successful software ever used it, yet it just barely did not actively obstruct getting the task done. What was the method, you may ask? Sorry, my brain, in self-defense, long ago purged the memory. Only the horror remains.
The 3rd and boss problem was that we were writing the same software for two different companies (remember?). They were giving the exact same test for ReallyBigCo and so, unsurprisingly, had identical requirements.
They also, unsurprisingly, had terms in their contracts which forbade giving the work they were paying for to someone else.
We were not staffed to work on both contracts at once, so we started on the one whose name came first in the alphabet (I only assume that's how management chose, who knows?)
The day after delivery of its final version, our team met to plan doing the work for the other.
"This should go much faster," said the team lead, "since we have all the code from the last project."
"But what about the contract?," I asked innocently. "It explicitly forbids re-using their code for anyone else."
"No problem," said the senior programmer. "I'll write a quick macro to change all the module and variable names."
---
This is not why I'm not working there anymore, but in retrospect, it would have been a good reason.