Tor Lillqvist
banner
tml.mementomori.social.ap.brid.gy
Tor Lillqvist
@tml.mementomori.social.ap.brid.gy
Software engineer, mostly retired. Loves trains. Anti-fascist. Atheist. Feminist. Disillusioned by the open source "community".

A few videos on […]

🌉 bridged from ⁂ https://mementomori.social/@tml, follow @ap.brid.gy to interact
Pinned
Olen ollut täällä jo usean vuoden mutta ehkä #esittely on paikallaan varsinkin kun vaihdoin instanssia tänä vuonna.

Olen aika tuore eläkeläinen, työskennellyt ohjelmisto-insinööreilyn parissa. Siitä viimeiset 15 vuotta open source -maailmassa, LibreOfficen parissa. Nykyään harrastan löhöilyä […]
Original post on mementomori.social
mementomori.social
Sometimes ChatGPT does exactly what one asks it to do, and even correctly. Nice.

https://github.com/CollaboraOnline/online/issues/13925#issuecomment-3694809875
December 28, 2025 at 3:08 PM
Reposted by Tor Lillqvist
Mä voisin tehdä työkseni jotain tällaista mut etänä. 🤔
The Japanese man who gets paid to 'do nothing' | BBC Global
YouTube video by BBC Global
youtu.be
December 28, 2025 at 1:21 PM
Reposted by Tor Lillqvist
December 28, 2025 at 12:57 AM
Pitää näköjään olla insinöörikoulutus jotta osaa avata nenäliinapaketin oikein. Ainakin meidän perheessä. Vaikka paketissa on iso ”avaa tästä” tarra mistä vedetään. Anteeksi.
December 28, 2025 at 10:54 AM
Ovatko nämä HSL:n uudenmalliset pysäkkinäytöt mitä tekniikkaa? Voisiko olla e-inkkiä? Näkyvät toki myös pimeälläkin, joten ledien valaisemat pimeällä.
December 28, 2025 at 9:39 AM
Ooh. YLE TV1:llä Kirjakauppiaan tutkimukset (Bookish). Juuri alkoi, veikkaan että taatusti mainio. Mark Gatiss 👍
December 27, 2025 at 5:47 PM
Reposted by Tor Lillqvist
such a fun EAN code design for a parrot design wine bottle.
December 27, 2025 at 4:37 PM
I wonder whether Putin's favourite TV series is The Great, and he sees himself as Peter III (until the coup, which (unhistorically) seems to take a very long time to happen). The torture in S1E9 made me think of this.
December 27, 2025 at 1:28 PM
Reposted by Tor Lillqvist
Words to live by. #christmas #newyears
December 26, 2025 at 12:34 AM
Watching Boston Strangler, the 2023 version. This anachronism poked me in the eye, too.

https://areena.yle.fi/1-70193184
December 26, 2025 at 6:37 PM
Läser denna härligt roliga bok (på nytt, efter kanske 40 år).

Är det en trend att svenska moderna författare använder två initialer, PC och GW? Finns det fler?
December 26, 2025 at 9:26 AM
The Photos app featured this photo from 2021.
December 25, 2025 at 11:35 PM
Reposted by Tor Lillqvist
You bet I observe Christmas because otherwise its quantum state is indeterminate. Do you want a Santa who is both dead and alive??
December 25, 2025 at 3:33 PM
Viikon sana: hilupilttuu. (Kesäleski, Areena, 27:08.) #äidinkieli_iäti
December 25, 2025 at 7:35 PM
Reposted by Tor Lillqvist
## The Star – Arthur C. Clarke Online Flip Book / Download Back to our Information Page Unfortunately your browser does not appear to support the audio tag. It is three thousand light years to the Vatican. Once, I believed that space could have no power over faith, just as I believed that the heavens declared the glory of God’s handiwork. Now I have seen that handiwork, and my faith is sorely troubled. I stare at the crucifix that hangs on the cabin wall above the Mark VI Computer, and for the first time in my life I wonder if it is no more than an empty symbol. I have told no one yet, but the truth cannot be concealed. The facts are there for all to read, recorded on the countless miles of magnetic tape and the thousands of photographs we are carrying back to Earth. Other scientists can interpret them as easily as I can, and I am not one who would condone that tampering with the truth which often gave my order a bad name in the olden days. The crew are already sufficiently depressed: I wonder how they will take this ultimate irony. Few of them have any religious faith, yet they will not relish using this final weapon in their campaign against me–that private, good-natured, but fundamentally serious, war which lasted all the way from Earth. It amused them to have a Jesuit as chief astrophysicist: Dr. Chandler, for instance, could never get over it. (Why are medical men such notorious atheists?). Sometimes he would meet me on the observation deck, where the lights are always low so that the stars shine with undiminished glory. He would come up to me in the gloom and stand staring out of the great oval port, while the heavens crawled slowly around us as the ship turned end over end with the residual spin we had never bothered to correct. “Well, Father,” he would say at last, “it goes on forever and forever, and perhaps Something made it. But how you can believe that Something has a special interest in us and our miserable little world–that just beats me.” Then the argument would start, while the stars and nebulae would swing around us in silent, endless arcs beyond the flawlessly clear plastic of the observation port. It was, I think, the apparent incongruity of my position that caused most amusement to the crew. In vain I would point to my three papers in the Astrophysical Journal, my five in the Monthly Notices of the Royal Astronomical Society. I would remind them that my order has long been famous for its scientific works. We may be few now, but ever since the eighteenth century we have made contributions to astronomy and geophysics out of all proportion to our numbers. Will my report on the Phoenix Nebula end our thousand years of history? It will end, I fear, much more than that. I do not know who gave the nebula its name, which seems to me a very bad one. If it contains a prophecy, it is one that cannot be verified for several billion years. Even the word nebula is misleading: this is a far smaller object than those stupendous clouds of mist–the stuff of unborn stars–that are scattered throughout the length of the Milky Way. On the cosmic scale, indeed, the Phoenix Nebula is a tiny thing–a tenuous shell of gas surrounding a single star. Or what is left of a star . . . The Rubens engraving of Loyola seems to mock me as it hangs there above the spectrophotometer tracings. What would you, Father, have made of this knowledge that has come into my keeping, so far from the little world that was all the universe you knew? Would your faith have risen to the challenge, as mine has failed to do? You gaze into the distance, Father, but I have traveled a distance beyond any that you could have imagined when you founded our order a thousand years ago. No other survey ship has been so far from Earth: we are at the very frontiers of the explored universe. We set out to reach the Phoenix Nebula, we succeeded, and we are homeward bound with our burden of knowledge. I wish I could lift that burden from my shoulders, but I call to you in vain across the centuries and the light years that lie between us. On the book you are holding the words are plain to read. AD MAJOREM DEI GLORIAM, the message runs, but it is a message I can no longer believe. Would you still believe it, if you could see what we have found? We knew, of course, what the Phoenix Nebula was. Every year, in our galaxy alone, more than a hundred stars explode, blazing for a few hours or days with thousands of times their normal brilliance before they sink back into death and obscurity. Such are the ordinary novae–the commonplace disasters of the universe. I have recorded the spectrograms and light curves of dozens since I started working at the Lunar Observatory. But three or four times in every thousand years occurs something beside which even a nova pales into total insignificance. When a star becomes a supernova, it may for a little while outshine all the massed suns of the galaxy. The Chinese astronomers watched this happen in A.D. 1054, not knowing what it was they saw. Five centuries later, in 1572, a supernova blazed in Cassiopeia so brilliantly that it was visible in the daylight sky. There have been three more in the thousand years that have passed since then. Our mission was to visit the remnants of such a catastrophe, to reconstruct the events that led up to it, and, if possible, to learn its cause. We came slowly in through the concentric shells of gas that had been blasted out six thousand years before, yet were expanding still. They were immensely hot, radiating even now with a fierce violet light, but were far too tenuous to do us any damage. When the star had exploded, its outer layers had been driven upward with such speed that they had escaped completely from its gravitational field. Now they formed a hollow shell large enough to engulf a thousand solar systems, and at its center burned the tiny, fantastic object which the star had now become–a White Dwarf, smaller than the Earth, yet weighing a million times as much. The glowing gas shells were all around us, banishing the normal night of interstellar space. We were flying into the center of a cosmic bomb that had detonated millennia ago and whose incandescent fragments were still hurtling apart. The immense scale of the explosion, and the fact that the debris already covered a volume of space many billions of miles across, robbed the scene of any visible movement. It would take decades before the unaided eye could detect any motion in these tortured wisps and eddies of gas, yet the sense of turbulent expansion was overwhelming. We had checked our primary drive hours before, and were drifting slowly toward the fierce little star ahead. Once it had been a sun like our own, but it had squandered in a few hours the energy that should have kept it shining for a million years. Now it was a shrunken miser, hoarding its resources as if trying to make amends for its prodigal youth. No one seriously expected to find planets. If there had been any before the explosion, they would have been boiled into puffs of vapor, and their substance lost in the greater wreckage of the star itself. But we made the automatic search, as we always do when approaching an unknown sun, and presently we found a single small world circling the star at an immense distance. It must have been the Pluto of this vanished solar system, orbiting on the frontiers of the night. Too far from the central sun ever to have known life, its remoteness had saved it from the fate of all its lost companions. The passing fires had seared its rocks and burned away the mantle of frozen gas that must have covered it in the days before the disaster. We landed, and we found the Vault. Its builders had made sure that we would. The monolithic marker that stood above the entrance was now a fused stump, but even the first long-range photographs told us that here was the work of intelligence. A little later we detected the continent-wide pattern of radioactivity that had been buried in the rock. Even if the pylon above the Vault had been destroyed, this would have remained, an immovable and all but eternal beacon calling to the stars. Our ship fell toward this gigantic bull’s-eye like an arrow into its target. The pylon must have been a mile high when it was built, but now it looked like a candle that had melted down into a puddle of wax. It took us a week to drill through the fused rock, since we did not have the proper tools for a task like this. We were astronomers, not archaeologists, but we could improvise. Our original purpose was forgotten: this lonely monument, reared with such labor at the greatest possible distance from the doomed sun, could have only one meaning. A civilization that knew it was about to die had made its last bid for immortality. It will take us generations to examine all the treasures that were placed in the Vault. They had plenty of time to prepare, for their sun must have given its first warnings many years before the final detonation. Everything that they wished to preserve, all the fruit of their genius, they brought here to this distant world in the days before the end, hoping that some other race would find it and that they would not be utterly forgotten. Would we have done as well, or would we have been too lost in our own misery to give thought to a future we could never see or share? If only they had had a little more time! They could travel freely enough between the planets of their own sun, but they had not yet learned to cross the interstellar gulfs, and the nearest solar system was a hundred light-years away. Yet even had they possessed the secret of the Transfinite Drive, no more than a few millions could have been saved. Perhaps it was better thus. Even if they had not been so disturbingly human as their sculpture shows, we could not have helped admiring them and grieving for their fate. They left thousands of visual records and the machines for projecting them, together with elaborate pictorial instructions from which it will not be difficult to learn their written language. We have examined many of these records, and brought to life for the first time in six thousand years the warmth and beauty of a civilization that in many ways must have been superior to our own. Perhaps they only showed us the best, and one can hardly blame them. But their words were very lovely, and their cities were built with a grace that matches anything of man’s. We have watched them at work and play, and listened to their musical speech sounding across the centuries. One scene is still before my eyes–a group of children on a beach of strange blue sand, playing in the waves as children play on Earth. Curious whiplike trees line the shore, and some very large animal is wading in the shadows yet attracting no attention at all. And sinking into the sea, still warm and friendly and life-giving, is the sun that will soon turn traitor and obliterate all this innocent happiness. Perhaps if we had not been so far from home and so vulnerable to loneliness, we should not have been so deeply moved. Many of us had seen the ruins of ancient civilizations on other worlds, but they had never affected us so profoundly. This tragedy was unique. It is one thing for a race to fail and die, as nations and cultures have done on Earth. But to be destroyed so completely in the full flower of its achievement, leaving no survivors–how could that be reconciled with the mercy of God? My colleagues have asked me that, and I have given what answers I can. Perhaps you could have done better, Father Loyola, but I have found nothing in the Exercitia Spiritualia that helps me here. They were not an evil people: I do not know what gods they worshiped, if indeed they worshiped any. But I have looked back at them across the centuries, and have watched while the loveliness they used their last strength to preserve was brought forth again into the light of their shrunken sun. They could have taught us much: why were they destroyed? I know the answers that my colleagues will give when they get back to Earth. They will say that the universe has no purpose and no plan, that since a hundred suns explode every year in our galaxy, at this very moment some race is dying in the depths of space. Whether that race has done good or evil during its lifetime will make no difference in the end: there is no divine justice, for there is no God. Yet, of course, what we have seen proves nothing of the sort. Anyone who argues thus is being swayed by emotion, not logic. God has no need to justify His actions to man. He who built the universe can destroy it when He chooses. It is arrogance–it is perilously near blasphemy–for us to say what He may or may not do. This I could have accepted, hard though it is to look upon whole worlds and peoples thrown into the furnace. But there comes a point when even the deepest faith must falter, and now, as I look at the calculations lying before me, I know I have reached that point at last. We could not tell, before we reached the nebula, how long ago the explosion took place. Now, from the astronomical evidence and the record in the rocks of that one surviving planet, I have been able to date it very exactly. I know in what year the light of this colossal conflagration reached our Earth. I know how brilliantly the supernova whose corpse now dwindles behind our speeding ship once shone in terrestrial skies. I know how it must have blazed low in the east before sunrise, like a beacon in that oriental dawn. There can be no reasonable doubt: the ancient mystery is solved at last. Yet, oh God, there were so many stars you could have used. What was the need to give these people to the fire, that the symbol of their passing might shine above Bethlehem?
xpressenglish.com
December 25, 2025 at 2:10 PM
Reposted by Tor Lillqvist
Jutussa Orpo sanoo myös ”Vaikeissa aluekysymyksissä se, minkä Ukrainan voi hyväksyä, mekin voimme hyväksyä”.

Ei, Suomen ja EU:n ei tule koskaan hyväksyä valtioiden rajojen siirtämistä väkivalloin. Ei siinäkään tapauksessa, että Ukrainan olisi pakon edessä taivuttava hyväksymään alueluovutukset.
December 23, 2025 at 8:27 PM
Reposted by Tor Lillqvist
December 24, 2025 at 9:10 PM
Reposted by Tor Lillqvist
Package managers keep using git as a database, it never works out.

https://nesbitt.io/2025/12/24/package-managers-keep-using-git-as-a-database.html
Package managers keep using git as a database, it never works out
Using git as a database is a seductive idea. You get version history for free. Pull requests give you a review workflow. It’s distributed by design. GitHub will host it for free. Everyone already knows how to use it. Package managers keep falling for this. And it keeps not working out. ## Cargo The crates.io index started as a git repository. Every Cargo client cloned it. This worked fine when the registry was small, but the index kept growing. Users would see progress bars like “Resolving deltas: 74.01%, (64415/95919)” hanging for ages, the visible symptom of Cargo’s libgit2 library grinding through delta resolution on a repository with thousands of historic commits. The problem was worst in CI. Stateless environments would download the full index, use a tiny fraction of it, and throw it away. Every build, every time. RFC 2789 introduced a sparse HTTP protocol. Instead of cloning the whole index, Cargo now fetches files directly over HTTPS, downloading only the metadata for dependencies your project actually uses. (This is the “full index replication vs on-demand queries” tradeoff in action.) By April 2025, 99% of crates.io requests came from Cargo versions where sparse is the default. The git index still exists, still growing by thousands of commits per day, but most users never touch it. ## Homebrew GitHub explicitly asked Homebrew to stop using shallow clones. Updating them was “an extremely expensive operation” due to the tree layout and traffic of homebrew-core and homebrew-cask. Users were downloading 331MB just to unshallow homebrew-core. The .git folder approached 1GB on some machines. Every `brew update` meant waiting for git to grind through delta resolution. Homebrew 4.0.0 in February 2023 switched to JSON downloads for tap updates. The reasoning was blunt: “they are expensive to git fetch and git clone and GitHub would rather we didn’t do that… they are slow to git fetch and git clone and this provides a bad experience to end users.” Auto-updates now run every 24 hours instead of every 5 minutes, and they’re much faster because there’s no git fetch involved. ## CocoaPods CocoaPods is the package manager for iOS and macOS development. It hit the limits hard. The Specs repo grew to hundreds of thousands of podspecs across a deeply nested directory structure. Cloning took minutes. Updating took minutes. CI time vanished into git operations. GitHub imposed CPU rate limits. The culprit was shallow clones, which force GitHub’s servers to compute which objects the client already has. The team tried various band-aids: stopping auto-fetch on `pod install`, converting shallow clones to full clones, sharding the repository. The CocoaPods blog captured it well: “Git was invented at a time when ‘slow network’ and ‘no backups’ were legitimate design concerns. Running endless builds as part of continuous integration wasn’t commonplace.” CocoaPods 1.8 gave up on git entirely for most users. A CDN became the default, serving podspec files directly over HTTP. The migration saved users about a gigabyte of disk space and made `pod install` nearly instant for new setups. ## Go modules Grab’s engineering team went from 18 minutes for `go get` to 12 seconds after deploying a module proxy. That’s not a typo. Eighteen minutes down to twelve seconds. The problem was that `go get` needed to fetch each dependency’s source code just to read its go.mod file and resolve transitive dependencies. Cloning entire repositories to get a single file. Go had security concerns too. The original design wanted to remove version control tools entirely because “these fragment the ecosystem: packages developed using Bazaar or Fossil, for example, are effectively unavailable to users who cannot or choose not to install these tools.” Beyond fragmentation, the Go team worried about security bugs in version control systems becoming security bugs in `go get`. You’re not just importing code; you’re importing the attack surface of every VCS tool on the developer’s machine. GOPROXY became the default in Go 1.13. The proxy serves source archives and go.mod files independently over HTTP. Go also introduced a checksum database (sumdb) that records cryptographic hashes of module contents. This protects against force pushes silently changing tagged releases, and ensures modules remain available even if the original repository is deleted. ## Beyond package managers The same pattern shows up wherever developers try to use git as a database. Git-based wikis like Gollum (used by GitHub and GitLab) become “somewhat too slow to be usable” at scale. Browsing directory structure takes seconds per click. Loading pages takes longer. GitLab plans to move away from Gollum entirely. Git-based CMS platforms like Decap hit GitHub’s API rate limits. A Decap project on GitHub scales to about 10,000 entries if you have a lot of collection relations. A new user with an empty cache makes a request per entry to populate it, burning through the 5,000 request limit quickly. If your site has lots of content or updates frequently, use a database instead. Even GitOps tools that embrace git as a source of truth have to work around its limitations. ArgoCD’s repo server can run out of disk space cloning repositories. A single commit invalidates the cache for all applications in that repo. Large monorepos need special scaling considerations. ## The pattern The hosting problems are symptoms. The underlying issue is that git inherits filesystem limitations, and filesystems make terrible databases. **Directory limits.** Directories with too many files become slow. CocoaPods had 16,000 pod directories in a single Specs folder, requiring huge tree objects and expensive computation. Their fix was hash-based sharding: split directories by the first few characters of a hashed name, so no single directory has too many entries. Git itself does this internally with its objects folder, splitting into 256 subdirectories. You’re reinventing B-trees, badly. **Case sensitivity.** Git is case-sensitive, but macOS and Windows filesystems typically aren’t. Check out a repo containing both `File.txt` and `file.txt` on Windows, and the second overwrites the first. Azure DevOps had to add server-side enforcement to block pushes with case-conflicting paths. **Path length limits.** Windows restricts paths to 260 characters, a constraint dating back to DOS. Git supports longer paths, but Git for Windows inherits the OS limitation. This is painful with deeply nested node_modules directories, where `git status` fails with “Filename too long” errors. **Missing database features.** Databases have CHECK constraints and UNIQUE constraints; git has nothing, so every package manager builds its own validation layer. Databases have locking; git doesn’t. Databases have indexes for queries like “all packages depending on X”; with git you either traverse every file or build your own index. Databases have migrations for schema changes; git has “rewrite history and force everyone to re-clone.” The progression is predictable. Start with a flat directory of files. Hit filesystem limits. Implement sharding. Hit cross-platform issues. Build server-side enforcement. Build custom indexes. Eventually give up and use HTTP or an actual database. You’ve built a worse version of what databases already provide, spread across git hooks, CI pipelines, and bespoke tooling. None of this means git is bad. Git excels at what it was designed for: distributed collaboration on source code, with branching, merging, and offline work. The problem is using it for something else entirely. Package registries need fast point queries for metadata. Git gives you a full-document sync protocol when you need a key-value lookup. If you’re building a package manager and git-as-index seems appealing, look at Cargo, Homebrew, CocoaPods, Go. They all had to build workarounds as they grew, causing pain for users and maintainers. The pull request workflow is nice. The version history is nice. You will hit the same walls they did.
nesbitt.io
December 24, 2025 at 4:49 PM
Telkkarissa Posh Bennet, Scary Bennet, Sporty Bennet, Ginger Bennet, ja Baby Bennet.
December 25, 2025 at 9:20 AM
Heh. Käveltiin eilen tässä ympäristössä, ja vanhalla puutaloalueella vaimo totesi että muistuttaa Helsingin Käpylää. Nyt huomaan kartasta että alueen nimikin on #Käpylä. #tampere
December 25, 2025 at 6:56 AM
Reposted by Tor Lillqvist
A nuclear Christmas Carol: the best time to have built a nuclear power plant was 20 years ago. The second best time is right now. Don't wait.

Happy Christmas!
December 24, 2025 at 7:50 PM
Perusasioiden äärellä.
December 24, 2025 at 7:17 PM
Jaahas. TV-uutisissa kerrotaan perheestä joka ei vietä perinteistä joulua. Sensijaan uutisessa näkyy miten perheessä paistetaan joulutorttuja, joulukuusi on koristettu, isä pukeutuu joulupukiksi ja käy sukulaisten luona jakamassa lahjoja, lapsi kertoo että lempijouluruoka on kinkku. Ei ollenkaan […]
Original post on mementomori.social
mementomori.social
December 24, 2025 at 6:45 PM