The One with the Thoughts of Frans

Geany Regex Replace

Geany has a nice story about named matching groups in the manual, but those don’t seem to work in the actual find & replace dialog. Instead, you can refer to them by number. Less convenient, but generally workable.

I’ll give you a concrete example. I copied my list of games from Humble Bundle to be able to examine them better locally. I didn’t see an obvious way, so I just copied them from the website (by deactivating the user-select: none CSS property). Long story short, I ended up with a list like this:

Anomaly Korea
11 bit studios

Anomaly Warzone Earth
11 bit studios

Another World

Bit Blot

Avadon: The Black Fortress
Spiderweb Software

Gaijin Games

Blackwell 1: Legacy
Wadjet Eye Games

Blackwell 2: Unbound
Wadjet Eye Games

Blackwell 3: Convergence
Wadjet Eye Games

Kerosene Games

Bridge Constructor
Merge Games

Using the regex pictured above, that turns into this:

Anomaly Korea;11 bit studios

Anomaly Warzone Earth;11 bit studios

Another World;DotEmu

Aquaria;Bit Blot

Avadon: The Black Fortress;Spiderweb Software

BIT.TRIP BEAT;Gaijin Games

Blackwell 1: Legacy;Wadjet Eye Games

Blackwell 2: Unbound;Wadjet Eye Games

Blackwell 3: Convergence;Wadjet Eye Games

Bladeslinger;Kerosene Games

Bridge Constructor;Merge Games

After optionally stripping out the double newlines (replace \n\n with \n), you can save the file as a .csv and open it in Calc. And there you have it. My complete list of Android games:

CommentsTags: , , , ,

Discord Login Shows How It’s Done

In contrast to Dropbox, Discord doesn’t try to hide logging in.


KOReader 2019.02

As one of the maintainers of KOReader, a versatile a document and image viewer, I’m proud to announce the latest release.

The month of commercial love bears good news for owners of Android E Ink devices. Thanks to a library called refreshU and efforts by @pazos to integrate it into KOReader, we now have basic support for E Ink refreshes on a limited number of Android E Ink devices (#4517). Namely:

  • Boyue T61 and some clones
  • Boyue T62 and some clones
  • Onyx C67
  • Energy Sistem (which are in fact Boyue T62 clones). This was tested on an Energy Pro 4.

If you own an unlisted Android E Ink device, you can help us by installing the einkTest utility included under assets below. Once you start it, you’ll see a screen like the following. First it lists important device information, without which will not be able to include support for your device in future versions. Next there are three buttons you can click, to test whether your device can work with our current Android screen refresh implementation.

There’s more news for Android ereaders. Some devices go to sleep for no apparent reason, which makes KOReader unresponsive (#4428). To prevent this, go to settings (gears icon) → Screen → Keep screen on.

On the reader end, @poire-z implemented support for so-called widows and orphans (#4490). These words are typesetting jargon, see here if you want to learn more. If you’ve ever seen a line at the beginning or end of a paragraph all alone at the top or bottom of a page, you know what it’s about. There’s support for publisher styles and of course also overriding these to your own preferences.

We’d like to thank all contributors for their efforts. Some highlights since the previous release include:

Full changelog


Dropbox sign-in annoyances

I don’t understand why so many places make signing in so hard.

Comments (1)Tags: ,

The password has to be at most 10 characters long

At least they were nice enough to abide by my rules. 🙂


Password Shaming

I’d swear I had a account associated with Diablo II and Starcraft in the early 2000s, but either it was deleted due to nearly two decades of inactivity or I used some e-mail address I don’t remember anymore.

But anyway, a 16 character maximum? How am I supposed to work with that? Grmbl.

And then we get these “secret” questions.

So now I theoretically also have to save fake answers in my password manager?

But look, it’s all okay, because there’s SMS Protect!


To sum up, 16 characters is probably sufficiently secure, but why would you ever make that a maximum?


Windows: mklink

mklink is a rather useful command for shuffling large directories around without requiring application support (e.g., large games from HDD to SSD or vice versa).

Microsoft docs example (source):

mklink /d \MyDocs \Users\User1\Documents

There’s a better explanation here.


KOReader 2019.01 “Public Domain 1923”

As one of the maintainers of KOReader, a versatile a document and image viewer, I’m proud to announce the latest release.

For the first time in twenty years new works entered the US public domain, which for some of them includes the rest of the world by extension. Read more about it here. So grab your digitized copies from a website like or Google Books, and enjoy!

Quite a bit happened over the last month. Of course a lot happened under the hood as always, but one of the more visible changes must be the optional dynamic in-page footnotes by @poire-z (#4440, #4454). This feature mostly depends on publishers correctly indicating footnotes, but with a bit of elbow grease even less properly indicated footnotes can be displayed correctly.


We’d like to thank all contributors for their efforts. Some highlights since the previous release include:

  • Hide “no framework” buttons on FW 5.x (#4379) @NiLuJe
  • Fix wrong keymapping for Forma (#4376) @patrick-tang
  • Fix diagonal refresh not working in TOC and History (#4378) @poire-z
  • bump crengine: tables rendering improvements and others (#4378) @poire-z
  • Style tweaks: move some sub-menus to first-level menu (#4384) @poire-z
  • [cervantes] fix ota updates (#4386) @pazos
  • [UX] Inform about hold to set custom DPI, up DPI limit to 900, show concrete numbers, more DPI presets (#4388, #4389) @Frenzie
  • bump crengine: fix max image height, handle epub:switch (#4390) @poire-z
  • Fix crash when tap on external link in non-EPUB documents (#4391) @poire-z
  • A few Kindle fixes (#4394) @NiLuJe
  • [UX, Android] Hide E Ink full refresh setting on Android (#4397) @Frenzie
  • Bump base for MacOS brew fix and Android nightmode landscape fix (#4400) @pazos @Frenzie
  • [feat] Add dictionary download option (#3176) @Frenzie
  • [feat] MenuSorter: add sorting_hint support (#4399) @Frenzie
  • bump crengine: tweak table column widths algorithm (#4404) @poire-z
  • Fix translator, enable selected text translation, “Translation settings” menu (#4407) @poire-z
  • MacOS build fixes (#4385) @pazos
  • [fix, lang] rename calibre companion to calibre wireless connection (#4411) @civalin
  • [feat] Add many more downloadable dictionaries (#4401) @avsej @Frenzie
  • Add support for PocketBook Touch HD Plus (#4419) @jperon
  • [fix] ODPS: socket.http redirect, where the target is a different host (#4420) @enilfodne
  • Proper Forma support (#4414) @NiLuJe
  • [fix] If zsync eats dirt during an OTA update, allow to fallback(#4438) @NiLuJe
  • ReaderRolling: remove swipe north/south @poire-z
  • History: show files sizes, as File browser does @poire-z
  • CoverBrowser: options to show pages read/left as progress @poire-z
  • cre: adds in-page footnotes and alternative TOC hints tweaks @poire-z
  • use android log categories @pazos
  • [build] Add support for Debian packages (#4434) @pazos
  • [UX] Adds “Enable back history” menu item (#4443) @poire-z
  • Add PB641 aka Aqua 2 support (#4445) @viksok
  • [fix] Wallabag – Use JSON.encode to encode auth JSON (#4449) @jbrechtel
  • Bump base (PB fb debugging, minor third-party bumps) (#4455) @NiLuJe
  • Style tweaks: split in-page footnote tweaks @poire-z
  • bump crengine: in-page footnotes fixes + CSS !important tweak (#4454) @poire-z
  • [Kindle] Handle the two newish Indian PW4 variants (#4459) @NiLuJe
  • A few Kobo input tweaks (#4450) @NiLuJe
  • [cervantes] wifi: try to connect to known network before listing (#4462) @avsej
  • [cervantes] automatically restore wifi connection (#4463) @avsej
  • Detect the PocketBook Basic Touch 2 (PB625) @NiLuJe
  • Implement workarounds for/from #4387 to better handle WiFi menu @NiLuJe

Full changelog


Insecure workaround for Synergy “failed to accept secure socket” error

Turn off SSL on client and server (via). It works as a temporary fix. More permanently, it should ask for permission if you re-enable it.


Run Enpass on Debian Buster (testing)

Steam is working problem-free these days, unlike last year, but a recent update broke Enpass. Hopefully it’ll be fixed again soon, but in the meantime:

OPENSSL_CONF=/etc/ssl/ /opt/Enpass/bin/

Otherwise you’ll have to contend with this fun error:

$ /opt/Enpass/bin/
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
QLayout: Attempting to add QLayout "" to QPasswordEdit "", which already has a layout
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Auto configuration failed
140475586791488:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename( cannot open shared object file: No such file or directory
140475586791488:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
140475586791488:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=ssl_conf, path=ssl_conf
140475586791488:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=ssl_conf
QMutex: destroying locked mutex
Segmentation fault!

Comments (1)Tags: ,

« Newer EntriesOlder Entries »