Tuesday, March 1, 2022

A slight delay you probably shouldn't worry about.

Summary:
Next torrent version is in a state I'm not entirely content with, but I'm willing to just add some finishing touches, share it that way and apply fixes in the version after that. Unfortunately because of circumstances outside of my control I will have much MUCH more important things to do with my free time in the next several weeks (I wish). However, after that I expect to plan to resume working on it and make a release.

Long version:
I happen to live in a certain country whose senile mass-murderer at the top decided to attack and invade Ukraine.
I spent most of the last week in shock (call me weak if you want), primarily because there was nothing I thought I could realistically do about it (call me slow if you want).
Right now I'm looking for job offers in other countries, but because of a strong and quite literally one-in-a-million preference[*], there is only one country (US) which at the moment satisfies it and it's neither easy nor fast to get in there and two moves are as bad as two thirds of a fire... but I digress.

If there's any western company which can offer permanent relocation + status adjustment, which needs a C/C++/Go/etc software engineer with 5+ years of job experience who also accidentally got a PhD in theoretical physics when he was young and adventurous, please don't hesistate to contact me at xmpp-jabber address rwx@headcounter.org or offer other contact channels here in comments that are more convenient for you.

There is also a slim, but worryingly nonzero chance that the scum in the Ministry of Censorship will completely cut off internet connectivity (and then blame it on the Evil West). In that case, OOPS.

One last thing. I don't think this warning is needed here, but just to be sure: pro-kremlin commenters will be shot on sight.


[*] I'm not telling what it is, but you can have this cute picture instead.

Wednesday, December 15, 2021

Quality check

Recently I ran a CueTools scan on an entire previous version of TLMC, as I was planning to do since I discovered I had this option. Not exactly the v.19, as it was already slightly dismantled (~25 albums replaced with better versions, renames applied), but something pretty close, say 99+%. The results were quite unexpected for me. If you're curious you can download full check logs (the checker might've also grabbed some extra files from bonuses) and a summary in both original text format and a table. Visual html+css table form uses some heuristics to transform summary text into color-coded quality representation, so it's not entirely precise. If in doubt refer to the detailed logs. You could also run the check yourself, although be prepared to let the program single-threadedly crunch numbers for a day or so, the bottleneck is the audio decode time, which runs at ~200x realtime on my CPU for the TTA codec. My logs slightly differ from the ones produced by the original Cuetools, because I patched it a little for my convenience, but the change only displays calculated offset in CTDB checks, which is not shown in the unmodified version.

The summary of the results is as follows: about 20% of all disc images fail verification. Here by "fail" I don't mean "disc was not found", I mean "was found to be different and unrepairable". Oh, and completely by coincidence the peak level of the supermajority of such rips is almost exactly 98%. And by another coincidence normalization to 98% is the default value in an admittedly turned-off-by-default setting in "Exact"AudioCopy. In addition to those there are another 15% of disc images, which also have peak level of 98% and return "disc not found" and it'd be fair to assume they would also fail to verify.

Lessons to be had here:
1. Not only it is your duty as a software developer to provide sensible defaults, doing only that and no more is clearly insufficient to produce reasonable outcomes. Out of 10 monkeys that see an unknown lever at least 3 will pull it and leave it there. Any option that does anything unpredictable to the dumbest possible user should be hidden behind a curtain that requires a certain intelligence level to bypass, which is enough to understand what the thing that was hidden actually does. In our particular case it could have been a domain-specific scripting language interpreter window for general purpose audio transforms, not a "please ruin my rips" on-off switch in plain sight. Of course there is another danger that by simply removing anything the unfortunate could use to shoot their feet off, instead of properly hiding it because it is easier to do so, you risk turning your software into iCrap.
2. We don't know how badly mangled these rips are.
Maybe they were improperly done and there are stutters or clicks or anything else that wasn't in the original CDs.
Maybe the only problem is the normalization, so it is displeasing on an intellectual level, but would not be audible as a defect.
3. In my defense those album versions were the only ones available, so the only alternative to including these rips was not to include them. I could not have done anything differently, had I known about it, but I wasn't aware of the problem and its extent. Now I am and so are you.

Thursday, December 9, 2021

Some bonuses while you wait

I didn't upload a lot recently, so it came as a mild surprise to me that nyaa pantsu is dead and nyaa si closed registrations.
I'll be posting some discographies of non-touhou circles that are nevertheless pretty awesome to make waiting for the big torrent slightly less annoying.
As always extract cues and use cuesheet-aware player (foobar/deadbeef) to play individual tracks.

2021.12.09 ArsMagnA (Ariabl'eyeS, -LostFairy-, Seraph) lossless music collection.
Magnet link, torrent link, CUETools verification results.

Monday, August 2, 2021

Why do we need a database-based filesystem.

Note 1: there is a small TLMC-based demo at the end of this post, I recommend to check it out.
Note 2: these ideas are neither original nor new. I'm fairly sure there exist similar thoughts in written form from 20 years ago and at least three abandoned prototypes of this kind.

Monday, June 28, 2021

There are no good browsers left.

I actually intended to make this post a year or two ago, but then kept putting it off. Now I stopped doing that, so here you are.
What is this about? I don't mean to criticize how bloated the browsers have became, even if it's true. I don't mean to write about how Firefox always shuffles UI elements around or how Chrome spies on its users. Just the very simple, most basic thing. Fonts and font rendering.
Make sure to set your browser page zoom to 100% to avoid browser scaling image distortions.

Here's a tiny piece of html for this test.

Friday, June 11, 2021

TLMC v.20 PRE-RELEASE post

The bad news: v.20 is still several months away.
The good news: v.20 is only several months away.
This is NOT YET a release, but we are fairly close. Here's how you can help: