He turned me down.
Fuck me, I can barely say it. In the three hours it took me to pull my new Hero out of that hidden world, he’d spent three years bonding with one of the other girls (Annoyingly Clever Little Sister Division). Worse, he’d also somehow gotten his hands on one of the experimental models, a severely fuckable cat-hybrid thingie the Powers had come up with a while back and dumped when she turned feral.
He chose them when he could have had me, and he’d even had me enough to make an informed decision. He hadn’t even popped them yet and still liked them better.
Even worse, he’d learned shit from them; he knew what we were, more or less, and he knew how to unmake us. I was in mid-taunt when he started Naming me, and I could feel it coming at me like a freight train. Names define you, limit you, change you, and he was really pissed off at me. Have I mentioned I’m a bitch? Yeah, keep that fact handy at all times, it’ll come up a lot.
Anyway, I was actually grateful when someone stopped him from turning me into a mouse, metaphorically speaking, until I looked over and saw a Power. One of the major players had tracked me down and caught me with my hand in the nookie jar.
I. Was. Fucked.
StandardNotes left half an hour of edits sitting on the iPad, and never synced them to the server. Even force-quitting and relaunching the app didn’t force it to sync up. I had to duplicate the note from the session history to force a sync, and then the desktop client cheerfully picked up both as if nothing had ever been wrong. There is no indication that anything wasn’t working.
And, once again, I only noticed this because I was sure I’d changed a line somewhere in 10,000 words, and I couldn’t find the new version until I went back to the iPad. That is, to be blunt, bullshit. “You had one job, StandardNotes”.
For all its tinyfonts and other UI goofiness, Joplin seems to actually sync, and has a button to make sure it synced, so I’ve moved the story over there.
Since Joplin also has better organizational tools (notebooks and “sub-notebooks”), I went ahead and split each snippet into a separate note, using a plugin that lets you create a new note from highlighted text. It went pretty quickly, and tagging will let me track the ones I want to revise, as well as which ones I’ve already posted.
The downside is that there’s no export-multiple-notes-to-one-file. You can export to Markdown, HTML, or PDF, but if you select 20 notes, you’ll get 20 output files. Blech. The workaround is to install the command-line client, let it sync a second copy of all your notes, tell it to export an entire notebook into a directory, and then assemble them yourself:
#!/usr/bin/env bash
# export an entire joplin notebook to a single markdown file
if [ -n "$1" ]; then
notebook="$1"
else
echo "Usage: $0 notebook"
exit 1
fi
# sync & decrypt to make sure we have the latest versions
joplin sync >/dev/null 2>&1
joplin e2ee decrypt --retry-failed-items >/dev/null 2>&1
TMP=$(mktemp -d /tmp/joplin.XXXXXXXX)
joplin export --notebook "$1" --format md $TMP
find -s $TMP -type f |while read i; do
grep -v '</*div' "$i" | sed -e '1 s/^/## /'
done > "$1".md
rm -rf $TMP
exit 0
(the grep -v
bit is to undo the hackery I have to use to get notes
to appear in a decent font at a decent size; the default is tiny,
and wrapping each note in a DIV
is the only thing that works
consistently on both mobile and desktop)
(and, yes, the script assumes that directory-sort order is the order you want to export in; the CLI supposedly supports sorting, but it’s busted as fuck, so I’m putting strings like “2.04” at the beginning of each note’s title to make this work)
(honestly, the state of the art in open-source notes apps is almost enough to make me go back to OneNote…)
(updated script to correctly handle sub-notebooks, which are kind-of supported in the CLI, at least for export)
Joplin has an option, enabled by default, that strongly suggests the devs have been through a few network/drive failures…
Fail-safe: Do not wipe out local data when sync target is empty (often the result of a misconfiguration or bug)
Trying to post this snippet exposed yet another bit of dumbfuckery in
modern Emacs that I hadn’t tripped over before: if you start a
paragraph with an asterisk, as you sometimes will if you’re using
markdown, then the fill-paragraph
command will reflow it so that
every line after the first is indented one character, as if it were a
poorly-formatted bullet list. This is completely useless, and the best
solution is to just shut the whole thing off:
(setq adaptive-fill-regexp nil)
Markdown formatting and simple HTML accepted.
Sometimes you have to double-click to enter text in the form (interaction between Isso and Bootstrap?). Tab is more reliable.