But can you do a static portable binary from that Lisp code, comparable to C version in terms of file size?

    1. 13

      You absolutely can, on a system that has Lisp based runtime instead of C based runtime.

      1. 6

        Well-put. Probably still could with a Lisp designed for no-overhead interoperability with C compiled with a zero-runtime profile kind of like Ada/SPARK do. I don’t know if one like that currently exists, though.


          Not sure if Embeddable Common Lisp (ECL: https://common-lisp.net/project/ecl/ ) fits the bill but I guess it might?


            I forgot about ECL. Found this in its docs:

            “ECL (ECL for short) uses standard C calling conventions for Lisp compiled functions, which allows C programs to easily call Lisp functions and vice versa. No foreign function interface is required: data can be exchanged between C and Lisp with no need for conversion.

            ECL is based on a Common Runtime Support (CRS) which provides basic facilities for memory management, dynamic loading and dumping of binary images, support for multiple threads of execution. The CRS is built into a library that can be linked with the code of the application. ECL is modular: main modules are the program development tools (top level, debugger, trace, stepper), the compiler, and CLOS. A native implementation of CLOS is available in ECL. A runtime version of ECL can be built with just the modules which are required by the application.

            The ECL compiler compiles from Lisp to C, and then invokes the GNU C compiler to produce binaries.”

            That’s exactly the kind of design I’m talking about. It even matches the calling conventions for easy interoperability like I suggested for every language trying to [incrementally] replace C. Thanks for mentioning it.


        Not without packing the runtime with it, which is what a Lisp image does. Even after stripping unecessary stuff from the image, the binary is quite big.

        I’m a big Lisp fan, but let’s be honest.


        It makes this variable usable only when set to true, which is not how environment variables should be used.


          Could you elaborate more about why environment variables shouldn’t be used to hold boolean data?


            All command-line software which outputs text with ANSI color added should check for the presence of a NO_COLOR environment variable that, when present (regardless of its value), prevents the addition of ANSI color.

            So it’s not “true”, it’s any value. As far as I understand empty string would do too.

            One can easily remove variable from environment, and check for existence is simple and unambiguous.

            How environment variables should be used for boolean data instead of this? Or you mean that environment variables are not designed for boolean data?

          1. -7

            Anyone using POSIX-incompatible shell is doing more harm than good to himself.

            1. 8

              First of all, most absolute generalizations are false, a lot of people very reasonably use fish and run into no issues with incompatibility, because of their use cases. Second, you don’t provide any justification for that claim. Third, you assume the user is male.

              If you’re going to comment, foster discussion: why do you make that claim?

            1. 3
              > a hardware component, keyboard, is borked
              > oh yeah let's change the whole OS

              And when I tell people to just install the macOS on regular machine (which is easy and non-destructive these days) they look at me like blasphemous or something, which is funny when post-Jobs Apple lost all its “religious” feel.

              1. 9

                Probably because it’s sketchy in a legal sense? They probably won’t go after you, but I don’t think someone as visible as say, DHH wants to be dealing with that. Or the effort to actually do hackintosh.

                1. 6

                  I think Apple actually does not care about that anymore, they even silently made it easier with recent releases, having less restricted environment checks, more hardware support and even native virtualization support including KVMs VirtIO…

                  1. 3

                    TBF, I don’t think this knowledge is well-known. I did a Hackintosh back in the Snow Leopard days and it was too much work. Every update I worried would lock me out.

                    1. 1

                      Right now the macOS itself installs itself as read-only except the space for user data (like iOS) so all your “state” differing from a Macbook install and PC install can be stored in a single .zip archive not larger than few megs.

                  2. 1

                    Linus Tech Tips is making Hackintosh videos that get over a million views. I think it’s safe to say that they won’t go after anyone.

                  3. 2

                    To be fair, installing a “hackintosh” version of macOS is not easy if you want all the bells and whistles to work (audio, wifi, sleep mode, etc.), especially if your computer is not the closest-match-to-a-mac hardware-wise. So a switch to a non-macbook in practice also means a switch to not-macOS for most people.

                    1. 1

                      How recently have you tried to do that? From my 3 installs in last 1-2 year the whole work was to drag and drop packages of OSS kernel extensions into EFI partition before installing anything. It’s extremely nice these days as the whole macOS install is not altered in any way and the only machine-dependent artifact is your EFI partition with OpenCore or Clover. So it’s already simple as “unzip this there and reboot”.

                      For even more convenience, you can let people use automated installers like UniBeast, though I advise not to, as you don’t exactly know what it does. But they “get the job done”.

                      But you have one valid point - a hardware compatibility. I can’t say the macOS is now very picky like it used to be, you can even run it on AMD CPUs without hassle, but there are some things you should avoid, a crazy wireless chips, bluetooth chips and dual-GPUs for example. On the other hand, you already want to not pick them up on any non-Windows OS even if they partially work, so it’s not a macOS-only thing.

                      1. 1

                        If that’s the case, I might be looking to install macOS in the near future on my home desktop. Do you have any good links / guides to follow?

                        1. 1

                          Sure thing. I was about to list you a whole lot of links and guides (mostly similar, but a tiny bit different for AMD / Intel CPUs as well as buying guides which are handy), but apparently some hero did that in r/Hackintosh sidebar, which should cover most of your needs.

                          1. 1

                            If you look for the words ‘hackintosh’ and ‘guide’ you should find what you need. I bought an extremely cheap ‘old’ desktop PC that was specifically called out as full supported (with its own guide) and it’s worked perfectly without any strange hacks or misbehaving - through a major OS version upgrade, too. It was so good I bought a MacBook Pro. I’m sure Apple realise it’s a way people find out how great the OS is.

                    1. 11

                      My most recent experience with Windows 10 might be also helpful for someone thinking about it seriously…

                      I tried most recent Windows 10 release this weekend too, when I built a new workstation. By default it’s going to run a tiny KVM hypervisor with various OSes on top, with one exclusively owning most I/O and resources including GPU – PCIe passtrough is easy today.

                      So, I’ve put a baremetal Win10 on the NVMe drive from USB flash disk. First stage of installation (WinPE extracting) went fast thanks to PCIe 4.0 disk, but post-install (it’s called OOBE process in Win installer I think) was a mix between registering into a very crappy site and The Sims loading screens. Right after booting I’m forced to click “no”, “god please no”, “nooo” on all the Microsoft sutff being thrown to me, including geolocation, telemetry, “advertising personalization”, some ID account access and so on. Damn, I’m installing an OS, not an Amazon account!

                      After that phase, there are many screens like “Setting things up”, “We think you’ll like it”, “Preparing stuff”, “Updates are nearby”, “Reticulating splines”, and so on. I’m almost 100% sure that someone from Maxis got hired at Windows development team.

                      Finally, after a considerable bit of time you’re greeted with the desktop. But not a clean one, as it opens the Edge browser right in front of you with some welcoming corporate crap. Closing it is somewhat tricky, as another SmartScreen popup is being shown.

                      After all, I activated my copy (I always install offline), did all updates (it’s also not straightforward as they come in rounds instead of everything at once despite the OS build being very recent and fresh) and rebooted it for each step. Fine for now.

                      Then I put Scoop for software management, WPD for backdoor management and SDI Origin for drivers management, as some of my hardware isn’t available in WHQL database so it can’t pull drivers from Windows Update, where SDI does that from a respected DriverPacks repository. So I installed many utility programs, did WPD stuff, updated drivers and rebooted each time. Great.

                      After ~2 hours, the OS is ready for being used. The same installation on my $linux_distro takes up to 30 mins, but I don’t take it as a comparison as no one can efficiently automate Windows installation declaratively without paid proprietary tools.

                      But the most important fact is that installation got broken right after I started to install The Actual Productivity Programs for work. After one of reboots I’ve got welcomed with infinite “spinning dots” bootscreen which didn’t get away and I wasn’t able to debug what’s stopping the boot process as Windows boot is by no means verbose. However, after 3 reboots it got into “diagnostic screen” where you can “repair startup”. It didn’t helped, of course. Even the “reset Windows” (which, apparently, restores system WIM via DISM and retains %USERPROFILE%) didn’t helped - I’ve got a BSOD at 19% progress. Having enough of that, I wiped it off and proceeded to install more reasonable operating systems.

                      And it’s not the first time I have the same or similar experience with this OS, not even second. I’m not even complaining now about its general inconsistency both in UI and actual behavior, absolutely zero transparency and less management options than previous editions (but PowerShell is a very nice exception which I look forward to, it can’t help the whole ecosystem though). Sometimes I’m starting to think these XP die-hards (still active today) aren’t as wrong as it looks first.

                      1. 1


                        I am using Windows on my desktop, mostly for “Davinci Resolve” and “Lightroom”. I’d love to put NixOS on it if I can somehow run these programs at full speed. Is that what the PCIe pass through would achieve for me?

                        Any pointers for such a hypervisor setup that you are using?

                        1. 1

                          Don’t forget Wine, you don’t need to virtualize a full Windows install when you can just use Wine.

                          Resolve is natively available on Linux anyway. (And I would really recommend switching to Darktable from Lightroom :D)

                          1. 1

                            Resolve is “natively” available for an older Red Hat. I once spent half a day trying to get it running on NixOS, without success (but doesn’t mean that it’s impossible). Suspiciously, the minimum hardware requirements are higher on Linux. Worse performance? (and in video editing, it matters)

                            I used dark table before light room. It is a little bit quirky (or was) but really quite cool. I loved this wavelet based tool to apply curves on different detail levels. Lightroom for me was way faster (different hardware, probably unfair), though, and I love that I can apply the “native” film simulations of my Fuji XT3. Probably, I could create good enough presets.

                            Wine never worked reliably for me (except for StarCraft 1, back in the days). Maybe, I am doing it wrong.

                            Overall, the kvm + pass through + Windows appealed to me because I could imagine, once set up, it will just work. And I could still easily use everything good in Linux. Does that make sense?

                            1. 1

                              Well, Resolve is in AUR..

                              Lightroom for me was way faster

                              Yeah, DT is slower (on CPU) than most other tools because (AFAIK) DT uses 32-bit floats for everything. Someone really cares about precision I guess :) It practically requires a GPU.

                          2. 1

                            If you equal “full speed” with GPU acceleration then yes. The excellent article about that is on Archlinux wiki: https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF - but, if you’re lucky enough and didn’t allocated the GPU in host OS first, just adding it to VM XML in KVM, via virt-manager or CLI (nodedev-detach…) it’ll probably work.

                            I think NixOS is an excellent base for such hypervisor, especially when you want to keep it immutable. Just set up a very “core” system, add libvirtd on top of it, arrange some storage and you’re done. Additional gain from using NixOS is that you can probably share expression cache between your host hypervisor OS and “desktop” VM (correct me, NixOS people, if I’m wrong here…).

                        1. 6

                          Good. The less Electron “apps” in public we see, the better.

                          1. 32

                            So if you get caught pirating a movie/music/software for personal use, you could be fined between $750 and $30,000 in statuary damages. If the infringement is found to be willful, damages could be as much as $150,000. [1]

                            On the other hand, Tesla is willfully pirating various software, which it then resells for profit. Tesla knows it’s doing this. It has been documented for years.

                            Why hasn’t this gone to court? I must be missing something?

                            1: https://codes.findlaw.com/us/title-17-copyrights/17-usc-sect-504.html

                            1. 18

                              With a few notable exceptions, the copyright holders of GPL software haven’t chosen to take GPL violators to court. Lawsuits are expensive and stressful. The early/landmark GPL cases mostly happened in association with the Software Freedom Law Centre.

                              I’m not a lawyer or an expert on the details, but as far as I understand Software Freedom Conservancy was founded by ex-SFLC employees and has a different philosophy that is more along the lines of attempting to cooperate with companies and educate them in order to make complying with GPL easier and less confrontational. Although they’ve also supported litigation in the past.

                              The blog post suggests they are losing patience with Tesla as the “carrot” approach has stalled…

                              1. 23

                                Or more succinctly: your rights are only as strong as your ability and willingness to defend them.

                                1. 8

                                  I guess. Ability, in a realpolitik sense, seems like a big limiting factor.

                                  I am sympathetic to what I see SFC doing to change the narrative around GPL compliance from “if you don’t do this then angry nerds will post angry pseudo-legal rants on the internet and someone might actually choose to sue you” into “GPL compliance is not that hard, here’s how to do it correctly. Also, doing it correctly saves you from legal liabilities now and in the future.”

                                  It seems more pragmatic, and it takes into account the massive power imbalance between most GPL copyright holders (even SFC/SFLC as power-aggregating entities are small by comparison) and many GPL violating companies.

                                  Legitimately interested to see where this Tesla thing goes.

                              2. 1

                                There are still a bunch of companies out there that operate under the idea that any free software is a virus like the GPL.

                                They call it virus as due to various issues they are not prepared for disclosing any sourcecode or may not even be able to do so.

                                Why would you still want them to use the GPL ? Because you don’t want them to re-invent the wheel X times again (crypto here we come) and rather use software that is stable. Because you want them to start adopting free software that isn’t GPL licensed so they may get used to using the GPL and one day start contributing back and opensourcing own stuff. There are also just people working and they’d also like to use for example some bootstrap for the website instead of having to copy stuff over.

                                Because you don’t want people to ditch things like linux in favour of some other big kernel which allows non GPL code, so you’re stuck again without any vendor support for hardware and such.

                                Making lawsuits here will scare away even more of these companies, showing them that apparently you should never use free or even worse GPL software (and here you already expect them to differentiate between GPL and other license, which they mostly don’t do).

                                This already starts with the question whether such companies will use GCC (and thus compatible code) or Rust as they are under a free license. So if you really try you will be able to damage things even here.

                                1. -3

                                  Because no one cares about GPL and every time it took to the the court it was only to show off or to let FSF fsck off. No company has gotten into any sort of serious trouble due to that, except minor fatigue and additional paperwork for lawyers.

                                  1. 14

                                    It looks like it generally holds up in court: https://wiki.fsfe.org/Migrated/GPL%20Enforcement%20Cases

                                    It doesn’t look like any of those cases have been so clearly willful, open, and as ongoing as Tesla’s case, either.

                                1. 1

                                  This is why I tunnel most of my traffic beyond the sight of ISP, you can’t trust them these dąys.

                                  1. 10

                                    …does this mean we can start using Delphi to build SPAs?

                                    1. 2

                                      oh god please no, don’t give ‘em ideas ;D

                                      1. 12

                                        A few of us on Hacker News were already nudging them about how easy it is to write portable apps in Lazaurus. It shouldn’t be an insurmountable leap to deploying web apps, too. Then, you have web apps as an option but native available just as easily. Throw in LLVM for performance argument. Then, we get people on Lazaurus instead of Electron or something similar develops with more modern appeal.

                                        We can dream anyway. ;)

                                    1. 2

                                      In the sad reality outside the OSS projects, no one has a time for that (or at least thinks so), but more importantly it’s just not being taken seriously or even read, as people mostly just skim over the headers of git log.

                                      I tried to show or apply many “good practices” or other nice patterns in terms of source control (and code management in general). It always fails, the amount of “black matter developers” (look up “the world runs on Java 8” article) is way larger than people can imagine. And I’m not okay with that, even making talks and workshops does not help at all - devs just want to click ok and get on with things

                                      1. 6

                                        In the sad reality outside the OSS projects, no one has a time for that (or at least thinks so), but more importantly it’s just not being taken seriously or even read, as people mostly just skim over the headers of git log.

                                        I can’t count the number of times where I saw some seemingly code at work that’s buggy which I don’t understand at all. I’m so happy when a quick “git blame” and showing of the commit message tells the story of why this code is the way it is. At the very least the commit message should include a ticket number, but ideally it explains why the change was made. This context is often exactly what you need to fix the code to do what was intended. Without such context, I’m sure I would mess things up (or undo some attempted half-fix from a colleague, re-introducing the original bug).

                                        For this reason (and often times, I’m the guy who has to dig back and then finds his own commit and thinks “oh yeah, that’s what was going on”) I try to write good commit messages. It’s the neighbourly thing to do for your fellow committers (and yourself), and has little to do with OSS versus proprietary code. If you spend two or three hours fixing a bug or implementing a new feature, I think it’s warranted to spend 5 to 10 minutes crafting a good commit message. And even if it only took you 5 minutes, if you have even the slightest hunch that someone not as deep into the code base as you would need more time to understand, just make the effort.

                                        Even if 90% of the commits don’t get read like a novel, that 10% of commits surrounding problematic or tricky code are worth it.

                                        1. 3

                                          The mentioned article that uses the term “black matter developers” is https://veekaybee.github.io/2019/05/10/java8/.

                                          1. 1

                                            The term is “dark matter”, a reference to the concept from physics, not “black matter”, even though black is the darkest possible colour & I can see how this could be confusing to somebody for whom English is not their first language.

                                          1. -1

                                            If we need to start going through the political correctness topics when we start talking about the changing the colors on Linux desktop, there’s clearly something wrong with this world.

                                            Don’t blame yourself about wording - it’s fine, no one got hurt (except the special snowflakes who are not even related to such ethnic group being “bothered” in that case) as it’s being used for years. On the other side, please don’t stick the politics into every aspect of life just because you want to be cool and trendy and people around you do that.


                                            1. 9

                                              One thing this announcement makes obvious is that Apple marketers see macOS primarily as an application suite. They don’t mention system-wide changes like security improvements until the last quarter of the page — it’s all about the apps.

                                              1. 9

                                                Or most users/most of the target audience does not care about OS changes. E.g. my dad is also a macOS user – he probably cares more about that iTunes is now split in several apps, or what changes there are in Photos, than that developers have to do notarization or that macOS supports and will migrate to user-mode drivers.

                                                Of course, the OS changes will benefit users, but they are harder to explain.

                                                1. 1

                                                  iTunes is now split in several apps

                                                  LOL what? How can a music player be this complicated?

                                                  1. 4

                                                    iTunes was where Apple used to dump anything iPod related, and it was a bit hairy as a result. Now each function is broken into its own application or folded into Finder.

                                                    1. 2

                                                      There was a point (it may still be true; I don’t use XCode anymore) where updating XCode required quitting iTunes because… iTunes had a dependency on XCode?

                                                      The mind reels.

                                                      1. 1

                                                        Round and round we go.

                                                      2. 0

                                                        You have no idea.

                                                        1. 1

                                                          I don’t. That’s why I use Linux.

                                                    2. 2

                                                      Users shouldn’t have to think about technical things like security improvements

                                                      1. 4

                                                        They really should, though.

                                                        1. 2

                                                          They should publish it somewhere, but not here. This is not a technical document. This is a marketing piece aimed at non-technical consumers.

                                                          1. 1

                                                            Stop dividing users by “technical” and “non-technical”. Also, he’s right - rising security awareness in a gentle yet sill informative way should be a top priority for company which people rely on so hard.

                                                    1. 2

                                                      Let me tell you some MorphOS background once again for those who might not know a thing about it

                                                      1. 2

                                                        And here are some notes regarding inaccuracies in your post.

                                                      1. 3

                                                        Sorry to be “that guy”, but you guys know you can disable PulseAudio completely and live a better life without you weird and non-deterministic issues?

                                                        1. 3

                                                          I did this two years ago and wished I hadn’t waited so long. What a relief.

                                                          1. 1

                                                            My main gripe is SteamOS where I did a factory reset, having forgotten to backup /etc/ and lost the config that made some things not crackle. Fortunately I don’t have time to play that much and can choose unaffected games.

                                                            The OS should not require PA, but I worry that someshit will lock down the Alsa device and volumes can get messed up by avoiding that with software mixing…

                                                            Alsa benefits from having slmething on top of it but I hate it being PA, especially when PA is practically required.

                                                          1. 3

                                                            Looking for a new job.

                                                            Yes, this is what I’ll probably do this and next week, and I didn’t even planned it at Sunday evening. The company which I work for just closed the whole location yesterday instantly and wiped all the teams out without any prior notice or preparation. They’re of course moving developers and admins to the HQ one by one and plugging them into other teams, but overall situation doesn’t look good and making it so immediate and unexpected isn’t promising as well.

                                                            I’m mostly looking for a system administration job, maybe Golang dev, preferably involved more in baremetal, more “classical” UNIX ecosystem instead of “cloud” technobabble (but I know it, too).

                                                            I’m located in Kraków, Poland. Remote is possible too, if you can justify the needed paperwork for cross-border work.

                                                            My resume and contact info is at my home page

                                                            1. 1

                                                              Sorry you got hit with that kind of BS. Wish you best of luck on getting into better place.

                                                            1. 2

                                                              I’m just going to get F(x)tec Pro1 and port PostmarketOS (while the device vendor supports and appreciates that) on it instead.

                                                              1. 1

                                                                :O A smartphone with a physical keyboard actually exists?! I’d be willing to run that with PostmarketOS too if the usability of basic features like texting was ok…

                                                                1. 2

                                                                  It’s not in stores yet, they ship to preordering people around 14th Sep, public release is at 1st Oct.

                                                                  1. 2

                                                                    If all you want is a keyboard there is always an option :) Right now there are the three most recent Blackberry-branded devices (Priv, KeyOne, KeyTwo) all of which run only Android and have very locked bootloaders, and also the Gemini. Upcoming are this one, Pyra, and the Cosmo.

                                                                1. 2

                                                                  missed their chance to call it “snake arena” (:

                                                                  1. 2

                                                                    Snake 3: Arena

                                                                  1. 9

                                                                    The reply is amusing

                                                                    We look at things a different way. Buffer overflows are easily caught by widely-available tools, and if remote code execution is a problem then one ought to be using such tools.

                                                                    Remote code execution is always a problem. As a rough benchmark, there are 12259 CVEs with the keyword ‘overflow’, and there are only 86 CVEs with the keyword ‘truncation’. I think this is also a framing difference. The response is relying on bug detection whereas the original post is relying on damage scope. The ability to detect a truncation is difficult, yes, but the damage scope is relatively low. Conversely, while tools exist to detect a buffer overflow, the damage scope is so many orders of magnitude higher that it is worse in the long run if the tools fail to detect a buffer overflow.

                                                                    there’s a lot to say for the GNU tradition of refusing to impose arbitrary limits (as snprintf-using code usually does)

                                                                    Uh, is there? Are there any strong arguments for refusing to impose arbitrary limits that can’t be disarmed by “make resizing and retrying fundamentally easier” ?

                                                                    Off topic, I just noticed that Termansen was 2 years younger than me when he started writing sortix, dang.

                                                                    1. 6

                                                                      The reply is an usual GNU/Frredesktop/RH attitude of “RESOLVED WONTFIX” for every time someone out of the “herd” has a serious suggestion or criticism of fundamental aspects of the software they develop.

                                                                      1. 5

                                                                        You’ll have better success with a calm rationale and a diff than a rant without one.

                                                                        I used to complain about certain projects but I’ve since been able to get diffs into them. I avoided complaining to people’s faces and stayed maximally professional, and just did the thing they want (and pinged my patches every 2-4 weeks when they were ignored).

                                                                        1. 3

                                                                          Add Mozilla and Google to that list :(

                                                                      1. 2

                                                                        Most of people there want additional tags to add them to blacklist.

                                                                        And this is quite worrying - that’s not why tags should exist, they’re to indicate and sometimes promote the certain category of posts, but not to forward them to /dev/null - that’s more how Linux Netfilter works, by the way ;)

                                                                        1. 3

                                                                          I don’t want to blacklist email, to the contrary. I’d enjoy following exactly this tag instead of a plethora of different tags that don’t quite capture the topic, but are only tangentially related.

                                                                          1. 3

                                                                            Why do you think people should not be able to filter out topics they find uninteresting? I could quite do without anything tagged “culture,” for example, because I’m here entirely for the technical articles and discussion.

                                                                            1. 2

                                                                              that’s not why tags should exist

                                                                              But Lobsters explicitly has blacklisting as a functionality, no? That would seem to indicate that it’s a valid use case.

                                                                            1. 1

                                                                              As this works only for people who use browser to watch YouTube, it might be useless for me watching videos as videos should be watched (mpv/smplayer/iina (for mac) and youtube-dl just for URL extraction in my case).

                                                                              But it’s also useless for anyone using mobile clients as well. You can say “why do you want to use mobile client app if you already don’t like ads?” and it’s fine. The thing is that official YT client on Android for example, is very “patchable” and there are some forks of it who already lock down the ads. Also there’s a NewPipe which does more or less the same thing I do on my desktop/laptop (mentioned above).

                                                                              Going to the conclusion I would like to see that to be offered not in a form of “extensions” (i mean, single bullet you install & forget) but more like public API where you can register (or even better just use it anonymously with these hashed IPs mentioned on the website) and then read/add/vote on “sponsor” data. Adding a support for mpv (which has Lua scripting built in) or NewPipe or even patched YT (both made in Kotlin IIRC) would be just a few lines of HTTP requests.

                                                                              1. 2

                                                                                The whole project is open source and you are free to download the sqlite database of sponsorship timestamps, so I bet you could make a sponsorblock plugin for mpv or similar video players. Since youtube-dl names files with the id from youtube, you could lookup the video in the database that way.