2022-02-08

Covid update (3)

It came through the house again. Several of Grandma's caregivers got it and I got it. But Grandma, and my wife and daughter were spared.

I spent my quarantine in the spare bedroom which is where my home office is set up in any case. Comfortable furnishings, a big picture window, and various internet equipped devices. About as good as sitting in one room for a week-and-a-half can be. Mild case. After all, I'd already had it and was vaccinated and boosted. I got a lot of work done and a little on my side projects, too.

My wife's long-covid persists. She'd been making good progress (and is at least burning through a lot less supplemental oxygen), but in the fall she got first her flu shot then her Covid booster and each one set her back a week or so on her exercise. Then my folks came, then her folks, and, and, and. She was just starting to get back up to speed on exercise when I got sick and she suddenly got a bunch of worked dropped on her. Sigh.

Blockchain toasters?

During the original web boom, there were lots of great new ideas floating around but also a bunch of "internet toasters". That is ideas that came down to "we'll attach this [THING] to the internet and good stuff will magically happen" where toasters were used as the exemplar of the class of object which gained little by being connected to the internet.

Web2.0 had much the same thing allowing that we replaced "connect to the internet" with "build a social network community around". Of course that worked (and to the tune of huge amounts of money) for some notions, but it also failed for others. I don't recall if anyone called them "social toasters" but they should have.

Today I'm seeing a number of things along the lines of "we'll use blockchains to track/validate/protect/whatever" various kinds of data (often in the form of "let's make a NFT out of it!"). Given the math behind blockchains, I imagine that most of these notions are technologically feasible, but I wonder how many of them are blockchain toasters?

2022-01-09

UI standardization

I want to talk about microwave ovens, but first some historical perspective.

Have you ever read about the control system of early automobiles? And I don't mean just vehicles from the era when every car was a custom build. Even Ford's Model T has controls that differ significantly from the system we take for granted today. There is a hand throttle instead of the floor mounted accelerator pedal, some of the pedals had function we don't expect these days, and the pedal layout was different. And other manufactured cars from the same era had their own control layouts.

By the Model A we see the three pedals that a modern driver would expect to find on a standard transmission vehicle and in the expected order. However, there are more controls than you need on a modern engine (and not just the choke that lasted past WWII, there are spark advance controls and similar exotica). It took time for automation to be engineered to take over those aspects of regulating an engine.

Even today various details of things like headlight controls are not completely standard, though I can sit down in a unfamiliar rental car and find the things I need with only a couple of minutes of puzzling over the controls. And that's before we talk about the changes that Tesla has imposed on the throttle control to support their regenerative braking behavior.

Now back to microwaves. How long does it typically take you to puzzle out the panel on the microwave at a acquaintances' house? Can you just enter a time for default cooking or do you need to push a function button first. Is there a "quick-cook" system and if so how does it work? What about a time? Can you run the timer while you cook? If you can how will you know which one just finished? Etc.

Microwave ovens have been around for my entire life, yet the behavior of their control systems are in no way standardized.

I suspect this is partly because embedded control system used to be a significant expense, but these days you can get microcontrollers with more than enough horsepower and memory for less than a US dollar in bulk.1

Anyway, I propose that the standardization of microwave controls will represent a step toward utopia, unless a multi-touch gesture interface is chosen in which case it is a step toward dystopia.


1 Heck, you can get systems-on-a-chip that support stock linux for less than USD10. Remember when Andrew Tanenbaum criticized Linux for having too-heavy system requirements?

2021-11-17

Some thoughts on automated switchboards

If you pick up the phone and call many businesses these days you find yourself talking to a computerized system before a human being. Such is the modern world, but a few thoughts keep coming back to me.

All the modern inconveniences
I'd prefer to stick with the old "press # for ..." system unless your voice navigation lets me respond before the prompt is finished, is consistent in recognizing many people's speech patterns, and is flexible enough that I don't have to chose exactly the right key word for every branch of the tree. A few systems do this well, some do it tolerably, but a lot of them just aren't ready for prime time.
I wonder ...
A lot of these systems give you the "this call may be monitored" warning right up front, so it applies to your interactions with the computer. Does anyone ever listen to customer interactions with the computer? Do they hear when you're snarky, impatient or frustrated with the computer? Do they take any note of the sarcastic comments you make to people around you while you're on hold? To how much you hate the hold music they've chosen?
Correction
From a UI point of view a "We're sorry, but due to higher than anticipated call volume wait times may be longer than usual." type warning is a pretty good idea. But when you get it every time you call you know they are lying to you. They realy mean "due to anticipated call volume".1
DAG nabit!
Most of these things seem to be organized as a tree, meaning there is only one set of choices that will get you to a particular leaf operation, but I feel that they could be more usefully be organized as a directed graph. Ideally acyclic because user would presumably be very annoyed to be carried around a cycle.

1 The reason is clear enough, unless they have a driving focus on customer experience they don't want to pay any call center people to sit around doing nothing, so they try to optimize their staffing so that the hold queue never never quite empties out. If their load consists of relatively few long call this means long waits for people calling in. They are optimizing for their interests at the cost of their customer, and how to make such call is a strategic choice for a business. But please don't lie to me: I notice and I care.

2021-11-06

Changing media landscapes and "smart" TVs

We have two smart (or at least occasionally clever) TVs in the house. Neither of them was a fancy model because we got the first one while I was still badly underpaid and we got the second one while I still had the habits of the badly underpaid.1 One of them simply has a fixed set of apps in it'e ROM; upgrades are not possible, but then neither are certain classes of persistent attacks that require the attacker to make local changes.2 The other, the older one as it happens, has a loadable app system, but the manufacturer has stopped updating the existing apps or providing new ones.

Our daughter watches various shows on her tablet and on our TVs. Because they are smart TVs we're able to, for instance, bring up things on Netflix. We haven't felt the need to restrict her screen-time yet because (a) her pre-school is a screen-free zone and (b) she spends as much or more of her time at home engaged in play with physical toys as she does on screens. We figure as long as she is becoming adept at the real world we won't fret about her interest in the virtual world (though we do curate what apps she can have on her tablet).

Anyway. The kiddo has some new favorite shows that are on a platform that is new to us. Putting it on our laptops and her tablet is easy enough, but we can't get it on either TV because it wasn't a thing when they froze the available content.

Which is a problem.

I'm thinking that in the future I'll get a dumb TV well supplied with ports so that I can plug in a computer of some kind (be it a streaming stick, a raspberry pi, or some kind of mini IPX machine). so that we can upgrade the "smarts" for as long as the display is useful. Unless some manufacturer is making smart TVs based on an open platform. Anyone know? For that matter are their any streaming sticks built on open platforms?


1 Honestly I"m trying to hold onto certain of those habits even though our financial situation is rather improved. The trick it to figure out which of those habits are a good idea in general and which would be better replaced by buying a little further upscale.

2 If I had known this about it prior to buying I might have hesitated. But it was a deal of the day Woot just when we needed a larger TV, so the clock was ticking. It is, at least, a nice display.

2021-11-02

Holding back the schadenfreude

Today my news feed included yet another article about the terrible plight of hiring managers these days. The poor dears are being left high and dry by job seekers who don't care about their wasted time and don't feel the need to offer their victims even the common courtesy of a phone call or email. Or even a text message. Such unprofessional behavior! Who could credit it?

Or something like that.

I am aghast In theory. But not in reality.

You see I conducted professional job searches in 2004-5, 2007-8, 2012-13, and 2017-18; making somewhere between 250 and 300 applications in total. Consequently I have a reasonable statistical basis on which to make some observation of what "professional, business behavior" associated with hiring situations has actually turned into over the last decade and a half. Albeit, based on my memories rather than good records. You've been warned.

First a few observations about the large scale context:

  • The vast majority of those applications were made via email or on-line form. I can't recall sending a single hard-copy packet in the last two job searches.
  • The prevalence of on-line forms over "send us these documents in a format we understand" grew steadily through the period and was total dominant by the end.
  • It is obvious (occasionally even explicit) that many of these systems use some kind of automated filtering to save the hiring managers from needing to look at all the applications.1

Before we go on, I should mention that I've sat on hiring committees. I've sat in bed next to my loving spouse pouring over a slush pile of packets sorting out those that should never have been sent from those that at least come close to having the background we asked for. The next week I was working over a subset of them to select a set of promising prospects for deeper investigation.2 I've called references. I've sat through two rounds of telephone interviews and hosted the in-person appearances. I've debated the pros and cons of the multiple interviewees who were almost but not quite the candidate we wanted, each with their own strengths and weaknesses.

I know how painful, labor intensive, and demoralizing it can be to be on the hiring end of these things.

That said, I want to focus on a particular feature of the hiring system we've developed in these glittering first decades of the twenty-first century: in many, many cases the system is designed solely for the convenience of the hiring manager at the cost of the job seeker. First I have to register with a portal to start the process. Including, of course username3, password4, and recovery questions. No, you won't be able to re-use any of that; every employer has their own portal. Then not only should I upload my carefully formatted resume (or CV), cover letter, and other documents but I also need to copy the data therein to an endless series of web forms.5 Then I get to answer a set of true/false or multiple choice questions to confirm that I have the minimum requirements for the job.6,7 Then I'm lucky even to get an automated email confirming that the system received my application8 and even more lucky to receive further communications if I don't get called for an interview.9

Total time screwing around in the web interface: 30-60 minutes. Exclusive of (a) finding the prospect, (b) any research on the company you care to do, and (c) any customization of your packet materials you care to do.

The "painful, labor intensive, and demoralizing" bit I experienced when trying to hire was never a patch on what it was like to be a job seeker.

And there are three key points here. First, no one on the other end gives a fig how well this system works for the job seeker. Your blood, sweat, or tears are of no consequence to them. Second, while people are looking for a "fit" they care more about being able to identify a reasonable fit than about finding the perfect (or even a great) fit if it means more work to do it. And finally, the last fifteen plus years have been spent normalizing the idea that one side of this negotiation is allowed to drop the other side without a word. Some folks just imagined that only one side would ever exercise the option.

Ghosting your partner in this interactions is the standard of professional business behavior in the hiring game. Because a significant fraction of hiring managers have been working hard to make it so for decades.

Now, it's just possible that the people interviewed for these articles are the compassionate few who insisted on maintaining polite, if automated, contact with applicants up to the point that the position closed with those hopefuls still outside the door.10 It could be, but I doubt it.

I started this post with the intention of writing a sly observation on the reversal of fortunes. But somewhere along the way it turned into a bit of a rant. It seems I may have a little residual anger. Something on order of a coal-seem fire, perhaps. And I'm sure I'm not the only one.

In any case, schadenfreude is an ugly emotion and I try not to indulge, but sometimes it's very tempting.


1 And let's face it: those filters are utter trash. Natural language processing has come a notable way since the early 1990s but it is still better characterized as "artificial unintelligence" than AI. If you write it by hand you use word and phrase matching, and if you hand it over ot a ML system you get a more finely weighted word and phrase matching system. Either of which suck at seeing transferable skills and related experience. You can try to fix that with some kind of mapping systems but only if you can accurately anticipate what related experience and transferable skills will appear in your application pool. And of course, if you care to spend the not inconsiderable amount of money turning such predictions into work code would require.

2 I'm positive, both as a job seeker and a hiring committee member, that good candidates get screened at this step.

3 But not that one, it's already taken.

4 But not that one, it has characters we don't allow. Or doesn't have a character from this class. Or doesn't have characters from enough classes. Or whatever.

5 Occasionally the system tries to pre-populate the forms for you by parsing the documents you uploaded. I presume this works OK if you upload in Word format (but why would you upload something like that in an editable format?!?) and use a popular template.

6 Always after you've done all the other work.

7 Which means these things are hard fails with no chance for intelligent consideration of the other factors. A friend who chaired the IT security committee at a major public university and gave talks at major security conferences was ruled out of a position in IT security because he didn't have a master's degree. Of course, you could lie to the computer, but how will the hiring manager feel about that?

8 I'd guess this was roughly 50% of systems in my earliest search reported here and had dropped to less than 25% by my latest one.

9 A few systems do make it possible for you to log back in to track the progress of your applications. For those you actually have to hold on to that username/password pair you made.

10 I even had a handful of personal emails telling me I hadn't been selected back in the noughties. One person took the time to write what looked like a personalized encouraging message. Nothing like that in the teens, however.

2021-10-25

How do I test a spreadsheet?

One of my hobby horses for up and coming science students has long been a recommendation that they learn to use a "real" analysis package fairly early on. Something that supports fitting things other than lines, knows about error intervals, and the like. A common counter-comment is that spreadsheets can do an awful lot and the students already know them. I don't disagree with the basic premise of those comments. Indeed I used to be very happy to show students who weren't going into science how to use a spread sheet to perform their lab analysis.1 I also stand by my recommendation because the domain specific support in spreadsheets runs out with roughly the tools that are also used by business majors and they scale poorly as programming environments (even the ones that are Turing complete).

Despite knowing this I've just run right up against that limit.

I've mentioned my daughter's honorary Grandma before. She's a friend who lives with us. She has a neurodegenerative disease and can't take care of herself and my wife holds her powers of attorney (with me as the backup).2 Now the good news here is that Grandma has sufficient financial resources to pay for plenty of high quality care. She could afford a really good nursing facility, but when presented with the choice she opted to stay with us.3 Even when I had to move the family cross-country for a new job. So, that care takes the form of full time aides, and for more than a year and half it's been a private pay arrangement instead of using an agency. Long story, but the result is that my wife is in effect a healthcare manager, HR department, and payroll department. I pitch in as much as I can, but the main burden falls on her.

Right now payroll is a highly manual thing. Hours are recorded on paper and collated at the end of each pay period, then individual spreadsheets are worked up taking into account various categories of overtime and PTO.4 Now, my wife passed the programming courses that were required of her in her engineering education and puts up with my rattling on about trade-offs and choices I encounter in my work, but she doesn't naturally reach for programming to solve her own problems.

I, however, do, and when I learned of the state of the payroll process last month I quickly banged out a spreadsheet template which I believe supports all our policies and can be printed as a clear and concise description of what is being payed how and why.

And we're not using it. Because it is untested.

Can I write a little suite of unit tests for a spreadsheet? If so, how?5

Can I, at least, create a few example cases that exercise all the parts? I suspect that this is my best bet.

Other options?


1 Though they mostly turned to their peers for this advice. Especially after the first night. Fine with me, of course, gave me more time for other things and once they start learning from one another the idea spreads.

2 There is a lawyer in my family, and they are as pedantic a bunch as physical scientists and computer nerds, so I've had it pounded into my little brain that the power of attorney is a document and a person exercising such a document is, contrary to popular usage, an attorney in fact. You didn't need to know that, but I needed to spread the pain.

3 She came to be living with us in the first place because we thought we were only hosting her through a period of rehab and recovery after a hospitalization and before we got the scary diagnosis.

4 Because Grandma can afford it and to hold good staff we offer higher wages and better benefits than are normal in this woefully underpaid line of work. More than half our carers are CNAs and the rest are well on their way to being skilled up to it. They are all tasked with skilled, often unpleasant, occassional physically demanding, and very responsible work. Now in a private care situation like at our house they get a fair amount of downtime, but they also have to do without partners for moving the patient and the like. Yet somehow PTO isn't a thing in the industry.

5 It's a Google doc, on the off chance that someone knows the answer for select programs.