Ein Quell der Freude
#include <algorithm>
std::vector<int> spaces = std::accumulate(lines.begin() + 1, lines.end(),
std::vector<int>(max_length, 1), [](auto acc, auto line) {
std::vector<int> tmp(acc.size(), 0);
std::transform(line.begin(), line.end(), acc.begin(), tmp.begin(),
[](wchar_t ch, int b) {
return b && (ch == L' ');
});
return tmp;
});
Confusion.
It’s Maplebark. Not Marble Arch.
Great customer service!
I just used Vim’s listchars
feature for the first time to make
non-breaking spaces visible. Only I found that it did not appear to
work correctly; the nbsp
item in listchars
only worked if I also
included trail
, on the other hand, including eol
would not change
the behavior.
Before reporting bugs, one should always try the latest release, and
so I did. I was not inconsiderably surprised that the bug was indeed
fixed there.
Then I looked at the repo, and found that it had been
fixed not 24
hours before I hit it when using the entire feature for the first
time.
Typisch.
Typisch.
Through Fiery Trials
There's nothing there!
concurrent.future
's ProcessPoolExecutor
does not work from a venv,
at least on Windows. It fails with a lot of “invalid handle” and
“access denied” errors.
The reason is the usual one that explains everything that goes wrong
on Windows if multiple processes are involved: No fork()
. Instead,
ProcessPoolExecutor
creates a pipe to feed commands to a spawned
subprocess. To do that, it lets the subprocess inherit the pipe and
uses the command line to tell it about the handle.
Fatally, the venv python.exe
in turn invokes the “parent” one, with
the same command line, and waits for it to exit to forward the exit
code, but without also letting it inherit the handle again (and how
should it know to do that?).
So the “base” Python, two layers down, gets a handle value on the
command line, tries opening it, and finds nothing, or a handle to
something unexpected, and dies.
Workaround? No idea. Get the main installation from the Registry,
overwrite sys.executable
or whatever concurrent
uses to find the
interpreter to run, then fake up a PYTHONPATH
and cross ten packets
of fish fingers. Oh, and do not expect to use the interpreter you do
that in for much else afterwards, I suppose.
Update: Fixed!
Rodney the Mouse Pointer
I just dropped my tablet pen onto the keyboard, and somehow that
resulted in an absolutely huge mouse pointer. Huh?
Resetting is simple; just switch to another pointer scheme and back.
What strange key combination did the pen hit to cause this?
The list of accessibility shortcuts does not have an entry that
fits.
Hidden treasures
If anyone out there knows the story behind
OaEnablePerUserTLibRegistration()
,
would you mind sharing?
Deep Fail
The Grauniad at
work?
“He will now head to the South Sandwich trench […]. That trench,
8,428 metres below the surface, is unnamed […].”
It’s unnamed? I thought (and at least
Wikipedia
agrees) it was called the South Sandwich trench? And why does your own
map say 8183 m and the article 8428 m?
That's not how this works.
Yes, well, YouTube, that’s not how classical music
works. You can have the
same piece played by different orchestras.
But you know that, of course, and do not care the first little bit.
I do, however, recommend everyone watch this concert.