QOwnNotes and Markor

Warning, bikeshedding ahead.

Only recently I switched my personal note taking / wiki workflow from Joplin to Zim-wiki. I did that because the Joplin app, especially on mobile, could be quite sluggish, especially when I wanted to jot a quick note down. Also, including images was problematic: Joplin always re-encodes and resizes images upon import, and it does not work with local files that you include via the appropriate markdown tag. Still an open issue. Zim does the latter correctly, but it has not mobile app, or any app that is compatible with it’s custom syntax.

So, I once again changed my workflow. Keeps a man off the streets, right? Really good timing too. So I did at one point have a look at NextClouds Notes app. Similarly sluggish in mobile use. It works on a dir with markdown files, so that’s nice, but didn’t seem to show images or allow for easy navigation through local links (Joplin neither!, but Zim of course does). Using an editor like Sublime or VSCode on a dir with markdown files works too, but for following local links (or showing images) you need to find the right extensions and this proved not very stable.

Not even that recently, must have missed it the last time, there’s a companion app the NextCloud Notes, QOwnNotes. Its GUI can be slightly daunting at first, there’s a ton of functionality and configurability, but proves a powerful tool for this purpose. You point it to a dir, it allows you to navigate all .mds therein (or any other .ext you configure, and edit them, navigate local links, including any non-md files, and if they’re images, they’re previewed in the optional markdown render (so not inline like Zim). I quite like it, more than Zim. For the mobile companion app, I use Markor. Open dir, edit markdowns, it does so fast. And the optional markdown renderer shows images! Yes! Together with a Resilio synced dir, I think I have a very nice setup now.

A few essential tweaks to QOwnNotes:

  • Allow filename to be different from header (it’ll rename your files silently!)
  • Global search is a bit hard to find: alt+f. A downside of Zim was it only searched for whole words by default, so I kept having the bracket my search terms with asterisks to grep through my notes.
  • Sort notes alphabetically.
  • I have not tested it, but MacOS and Windows builds are available at https://github.com/pbek/QOwnNotes/releases

De Kroeg

Ik heb “de Kroeg” van Emile Zola nu bijna uit, maar ik wil er al iets kort over schrijven. Wat een beeldende stuk tekst! En wat wordt er gezopen, echt van een andere orde. Op het middeleeuwse af, die hoeveelheden. Geen wonder dat men vroeger elkaar zoveel sloeg (want ook dat lijkt een stuk frequenter), op elk willekeurig tijdstip was de helft van de mensen dronken!

Wat eigenlijk snel al opvalt is de, ik durf het eigenlijk nauwelijks te zeggen, wat ouderwetse vertelkunst. Ik bedoel dat echter als compliment: geen onnodig gestrooi met verhaallijnen en spanningsbogen, nee, het verhaal is precies zoals je ‘t leest, je hoeft niet bang te zijn dat de schrijver zoals clue’s geeft dat hij ze zelf vergeet.

Armoe ligt steeds op de loer, wat soms tot een droeve stemming leidt die tientallen pagina’s aanhoudt. De man-vrouw verhouding zijn ook bizar stereotypische, maar ja, het speelt zich af tijdens Napoleon III, ooit wat het natuurlijk zo. Stiekem valt dus wel enige wassing ten opzichte van toen vast te stellen in de houding van de gewone mens. Ook al gaat het hier op de (Parijse) stadsmens, het aardige is dat het tenminste zo lijkt, en ik geloof dat Zola om die precieze ook geroemd wordt, dat het om een maar licht overdreven afspiegeling van de werkelijkheid gaat.

Het boek kost geen moeite te lezen, voert je met gemak mee naar die tijd en die plaats. Nu dat we allen opgesloten zitten wegens het virus, is het lezen van De Kroeg een aardige substituut voor een wandeling door Parijs.

Pascal and LOC

Unrelated to Corona, my work contract expires at the end of this month. Good time for some reflection. In this job, Pascal was and is still the main language used for writing tools for use in the clinic or for data collection. My main problem with that also was and is that it’s hard to find Pascal code online. Github project? I can’t recall stumbling upon a single one. Code questions? Very, very few on Stack Overflow. The Lazarus forums have some discussion and inline code examples. Unfortunately, the job used Embarcaderos tools exclusively, and it was not hard (e.g. for string manipulation) to come across small differences confusing the newcomer.

When you compare that to the vastness of online resources for languages such as Python and C++, you’re paying a high price for using that language, in my opinion. In this job, tools were also always GUI first, which I (and many others) will grant is Pascals strong suit, although it also led to problems automating tools, which to me have always been the starting point of any program. (Roughly, after getting to a PoC, I try to stick to lib-script-gui as the order of priorities. A lib makes it easy to reason, a script makes it easy to repeat, a GUI makes it easy to… well, that depends on your GUI, in particular how much time you have completing it and how flexible you need it to be. In research, desired or relevant outputs change so often, it’s hard to imagine writing GUIs and being stuck to that fixed interaction are really ever worth it. I think it’s no wonder Mathematica/Jupyter Notebooks are so successful, they make scripting and viewing different kinds of outputs breezy. On top of that, in particular Python’s ecosystem is so rich and easily used, you barely need to be able to code. At least when you start out.

The existing Pascal code in this job had another feature that was hard for me to deal with, which was many very long source files. Think 10kLOC+. Many close to or more than 100kLOC. Incredible. Embarcadero nor Lazarus were helping with that; as IDEs they felt outdated. Eclipse, Visual Studio (Code), Qt Creator (and my favorite, KDevelop), they all had much better code highlighting, navigation and project management functions than their Pascal alternatives. I felt they did not offer me any help when dealing with those ginormous files, which I’ve never really seen in any Python/C++ projects. Sure, Geant4 has some files in the kLOC range, but those are (were?) exceptional, and longstanding dogma recommends avoiding that.

Hence my interest stumbling across the SciPasTips Twitter account: finally a sign of life! Any life! Well, no Github projects or code linked so far, but I found a Pascal course. With code! And what do I see when I open up a random example’s main class source code? An 11kLOC file… I guess it’s a cultural thing.

It’s a pity, I really feel like there’s a more modern and understandable (and thus usable) language hiding somewhere in Pascal. It’s just that tools and customs seem not to be helping, GUI design excepted. Excepted too perhaps is C library interop, that was (almost) easier than using the lib in C itself.

Superdeterminism

Have not thought of fundamental physics in a while. I’ve discovered a very interesting development: Superdeterminism. “The idea that no two places in the universe are truly independent of each other”, according to Sabine Hossenfelder and Tim Palmer in a readable update from their field. My interest was piqued with the discussion of the wave function collapse. What makes it collapse, when you observe? Why do you need to observe it? Isn’t your observation a physical interaction like any other? Why would your interaction collapse the wave function and other interactions (e.g. with another particle) not? If the cat is both dead and alive, and our observation ‘forces’ on or the other, then why doesn’t any old interaction? I never liked usual interpretation of the cat thought experiment either, but now I finally see a proper phycisist put it into clear words. We’re missing something! Duh!

I’ll not burn myself with a summary of the rest of the article, but the writers conclude: “quantum mechanics is just not a fundamental theory, and its problems are a glimpse of a deeper layer of reality.” Uh-oh! Those are words not uttered out loud very often! Superdeterminism is what might supplement quantum mechanics in order to provide a proper answer to the question of whether or not the cat lives. What’s fun is that Gerard ‘t Hooft is very much involved in superdeterminism. Naturally, all his papers are on arxiv, and the latest regarding this topic seems to be this one. Let’s see what I can glean from this paper.

Searx

About two weeks ago I came across searx.space, a list of Searx instances, an open source piece of software that aggregates results from various sources. When I last checked this out some years ago, finding such instances wasn’t easy, they were always slow and didn’t produce very good results. I’ve used Duckduckgo for some years now, but lately I’ve grown dissatisfied with the results and fallback to using Startpage and Google. To my surprise, the first engine on searx.space immediately gave me results I’ve been looking for! What is nice, is that if you visit the page with the TOR browser, you get onion-URLs for the engines if possible. Over the past few weeks I have not felt a need to re-search elsewhere, so I’m very satisfied with Searx!

A few days ago a hackernews comment pointed to a recent search engine comparison, and here a similar conclusion is reached: Searx is good now, even the best really. Excellent news for privacy fanatics!

Lightrail populair

Trouw bericht dat de Randstadrail de vraag niet aankan. Wat blijkt? Mensen hebben snel verover tussen steden nodig, want je woont niet meer waar je werkt zoals in de jaren voor Christus. In elk geval is er nu voor de krentenwegers 1 concreet project dat dit wereldwijd al bekende feit onderschrijft. Je zou haast kunnen denken dat de brede snelwegen een maatstaf zijn voor het potentieel van zulke lijnen 😏

Sociale erfenis

Elke 25er een ton sociale erfenis kado. Opgebracht door een progressieve erfbelasting. Dat wil zeggen: rijkeren betalen erfenissen voor armeren. En Je krijgt hem op je 25e omdat er steeds meer kapitaal bij ouderen vastligt. Goed idee, Piketty!

De NRC heeft nog wat meer leuke cijfertjes, zoals hoe ongelijk Nederland nu is (steeds meer zoals omringende landen, helaas), en hoe belastingdruk met welvaart correleert, iets dat stijve huidhoudboek-pastoors niet zullen kunnen begrijpen. Het is toch jammer dat we niets anders weten voort te brengen in Nederland! Na de tulpenbollen hebben we niet veel nieuws geleerd lijkt het.

brent.huisman.pl

Major announcement: I am moving! No, not from house to house, which you might suspect given the frequency at which I’ve done so. This website is moving, from brenthuisman.net to brent.huisman.pl. Why? Well, in the quest for shorter vanity domains I last year discovered the availability of huisman.pl, which it being a simple surname.tld, enables me to give myself and family members their firstname@ email address and domain. The MAN truck manufacturer has the .man tld which would have been the obvious and ideal vanity domain, but they regrettably will not be opening the tld up to general registration, so I settled on .pl (not too many Huismannen there). I’ll be setting up a 301 in a month or two and then at the end of the year brenthuisman.net will cease to exist. Update my email address in your contact-list if you have it!

In other small news, I thought I’d check in with Keybase’s kbfs, and it’s still slow. Adding in 5GB of image data is taking about an hour it seems. Hang on, I just realize I moved my computer to the attic where due to the increased distance my wireless speeds have dropped… Hmm, maybe that is it. Hmm…

Another piece of good news, I discovered this week that at long last, last October Ubuntu finally updated the Thunderbird package to version 68. I was unzipping tarballs like a caveman because it seemed like it would never happen, but fortunately I don’t have to do that anymore!

Baby's feel pain

I just learned that medical doctors believed baby’s didn’t feel pain, well into the 1980s. That means sedation suring surgery was not common. The seminal paper showing babies do infact experience pain (evidenced by spikes in stresshormones) was published in 1987. The year I was born! I find it astonishing to think about, it seems to utterly evident that all beings (well, perhaps not all) would experience pain. Nerves surely are present in babies? And then consider that in 1987 you could pass a study past the ethical committee, where half of a group of babies are sedated during heart surgery and the other half are not…

How did Douglas Adams say it? You experience the state of the world during childhood as if it always must have been that way. Later you understand it is of course very different, but wow, this is so messed up! Glad I was born not a moment sooner I guess.

BFG repo cleaner

Committing things by accident, or changing your mind about what you want your repo to contain, even in its history. We’ve all been there. I’ve just never done anything about it until now, apart from rm -rf .git && git init. It’s the only way to make sure, right?

Maybe by getting older, I also have more history built up I care about and want to keep. In my PhD I started collecting scripts into a repo, and grouped functionality into libaries, spun some of them out. If I hadn’t nuked the site from orbit a few times, that repo must have had 6 years of history by now. In any case, recently I really wanted to erase some stuff from history without erasing the history, and 300 nanoseconds later I discovered BFG Repo Cleaner. Does what it says on the tin, took less than a second. Feels like a detergent commercial, right?

Only thing that mystified me for a few minutes: it is important that the repo you checkout the mirror from is a bare repo, which means it has nothing checked out (‘on disk’), it’s just a .git dir containing the repo. Repo’s on Github are bare, and the BFG documentation being written with Github being the source repo doesn’t make that very clear.