Coding 2022-02-21

By Max Woerner Chase

My laptop is still broken in weird ways, but it's now mostly working, thanks to some tips on a workaround that I got from Launchpad. There's supposed to be a bug report, but there's so much going on that I'm kind of not sure how to isolate a single bug out of everything that I'm seeing.

Anyway, I did a little work fixing bugs in unused code paths in MOTR yesterday, but let's see what I can do in terms of filling in the stubs I wrote.

First up is the as_arg method for FlexIn. This has to convert a Dynamic[Input[PathStr]] into a Dynamic[CmdMeta]. The outermost layer of this is accomplished with the dynamic.reduce function, which takes a reducer function, a Dynamic object to provide a template for the arguments to the reducer, a set of Key objects to iterate over, and an initial value. For this method, the values break down as follows:

Well, let's see what kind of problems this gives me.

Not too bad. All of the problems were misunderstandings on my end, that I cleared up quickly.

Anyway, there are five more methods to cover... Next up, in terms of ease versus utility, I can either take a look at the as_extra method for FlexIn, or the as_arg method for FlexOut, then do the other one of those, then as_extra for FlexOut. After that, I can do the as_env_var methods for completeness, but I don't think I need those right now.

For now, I'm going to take a little break from the code, and take a look at it with fresh eyes later.

Good night.