Show more

software bug 

to temper this a bit: just discovered Darktable using 4 CPUs at a time when I think it should have been idle for the last many hours.

so maybe some bugs to file after that reading. In the meantime, something to keep an eye on.

Show thread

Relatedly: tried out Darktable today (for editing digital photos shot in raw mode).

Seems pretty good! Flexible, snappy, and stable so far. But goodness there are a lot of ways to do very similar things:

What's the difference between "exposure correction" and adjusting brightness? How does that compare to tone mapping, or "global tonemap"? Where does the "base curve" come from? Which things should I use in combination, and when should I just pick one because they're alternative approaches to the same task?

I've got some reading to do.

Show thread

Unicode emoji proposals continue to be entertaining reading.

> The expression “Don’t feed the troll” could be represented as TROLL + POULTRY LEG + COMBINING ENCLOSING CIRCLE BACKSLASH. In the internet image on the right this expression is depicted as someone handing a roast chicken to a troll, enclosed in a prohibition sign.

— from L2/19-232 by West & Everson, which is a cromulent submission overall, though this suggested sequence is pushing it.

Every single person on Mastodon is an anarchist trans girl from Portland, Oregon who works in infosec. In fact, I am an anarchist trans girl from Portland, Oregon who works in infosec. I wish I had found out sooner.

The reason I've been working out how to scroll by column is, of course, so I can make landscape-mode layouts for reading web fiction, like


`position: sticky`

Neat CSS rule where the element starts off positioned as normal, until you try to scroll it away, at which point it sticks to the edge.

re: css, javascript 

I was about to write "`scroll-snap-type: mandatory` is not sufficient on its own," and I went to double-check.

I *do* have scroll-snap working so Firefox's default handling of the right arrow key gets to the next column.

But not left. It must always round up or something, so 1 + 0.1 = 1.1 → 2, but trying to go backwards 2 - 0.1 = 1.9 → 2.

Show thread

re: css, javascript 

I've had some success combining this with Scroll Snap, which is a handy thing for this use case:

where my arithmetic gives me a close-enough value and then scroll-snap will snap to. But it would be nice to not need to both add the keybinding *and* manipulate the document's CSS.

Show thread

css, javascript 

Know what's great for long-form text on these widescreen monitors? Multi-column layout!

And CSS has columns these days.

So just as long as there's an easy way to advance to the next column or page…

haven't quite got it. A column isn't exactly an element in the DOM, so I'm having trouble accurately querying its width, in order to know how much to scroll.

re: 1980's-era graphics esoterica 

I was tipped off to this when looking at the source of Colorful, which I noticed was mathing up the color codes from RGB values in these low-color modes, instead of having some 8-value lookup table.

Show thread

1980's-era graphics esoterica 

In the days of 8-color displays (or 16, where the the second half was just brighter versions of the 8), I never saw a pattern in the order the colors came in for things like ANSI X3.64 codes. I assumed they had their small set of colors but the order was arbitrary.

But 8 is how high you can count in three bits: one bit each R, G, and B. The direction may differ between implementations; looks like ANSI X3.64 has Red as the lowest and CGA has Blue as the lowest. But the order of the colors just comes from counting up in binary.

0 0 0 - black
0 0 b - blue
0 g 0 - green
0 g b - cyan
r 0 0 - red
r 0 b - magenta
r g 0 - ~yellow~ brown?

They made a special case for brown, where the green bit only counts for half, because they thought it made a better palette than a dull yellow:

Never would have guessed they went to extra expense for that CGA brown!

ubuntu snaps (~) 

Using jq to parse output from snapd to generate commands to run through sudo is a fine activity for a winter evening, right?

I bet I was doing something else entirely before I stumbled across those old installations…

Clocks? Is the answer "clocks"?

Because the lower numbers are more common, not so surprising to allocate characters for some low numbers but not _all_ numbers, but then why twelve, and not ten or thirteen or fifteen or twenty?

Clocks go to twelve and are often marked with roman numerals.

Show thread

Why are there distinct code points for the roman numerals one through twelve?

I guess they've been there since Unicode 1.0, so Wikipedia doesn't have any links to the proposals for their inclusion.

Slept for something like thirteen hours last night?

Minus a couple interruptions (including when I woke up, surprised to find I'd slept through midnight, and moved from couch to bed), but a lot of sleep regardless.

That's one way to bring in the new year. 💤 🎊 💤

I made some skits showing the program I've been learning Rust with.

(thanks asciinema, you're pretty great.)

The call for Title of Conf proposals asks for writers AND for performers; musical parodies, original music, & original short plays: "stories that capture the day-to-day experience of creating software." Apply by Jan 25, 2020.

Show: May 7, 2020 in Detroit.


re: rust (early impressions) 

And my rust-produced executable is a lot bigger than I expected. That's also the sort of thing I only noticed because of this low-footprint goal; it's a concern that will vanish as you move into medium-size programs.

I'm enjoying this as a learning exercise, but practically speaking, is it a good fit for this case?

Maybe should have stuck with Python, assuming there's a shared instance of it already installed on the target. Which would be true of pretty much all Ubuntu-derived installations (it's in ubuntu-core), but maybe it's not as core to Debian as I thought, and it's unclear what runtimes will be available to future versions of OS X. 🤷

Making guesses about portability is hard!

(The initial impetus for this utility was something I couldn't figure out how to make readable in POSIX sh/sed/awk.)

Show thread
Show more

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!