2026-01-26 18:42:01
from my link log —
Git as a tamperproof file archive using chained RFC3161 timestamps.
https://medium.com/swlh/git-as-cryptographically-tamperproof-file-archive-using-chained-rfc3161-timestamps-ad15836b883
from my link log —
Git as a tamperproof file archive using chained RFC3161 timestamps.
https://medium.com/swlh/git-as-cryptographically-tamperproof-file-archive-using-chained-rfc3161-timestamps-ad15836b883
When you are so keen on keeping your home directory tidy that you resort to a kernel module.
"modetc is a Linux kernel module that rewrites paths in file operations: it allows you to move files wherever you like, while still having programs finding them where they expected them to be." – Michele Guerini Rocco
https://
here's my new solution for "i need to send a file to someone and i really don't want them to need anything but the browser"
unsurprisingly, it uses https://codeberg.org/git-pages/git-pages
But my code doesn’t even compare. el-xmp reads and parses the XMP data in Elisp (!), I just used exiftool.el #Emacs
But my code doesn’t even compare. el-xmp reads and parses the XMP data in Elisp (!), I just used exiftool.el #Emacs
💾 On recreating the lost SDK for a 42-year-old operating system: VisiCorp Visi On
#software
heise | Textprojekte gemeinsam stemmen mit Git: So gehten Dokumentationen und mehr
Wenn mehrere Personen isoliert an umfangreichen Texten arbeiten, führen Versionskonflikte und verlorene Änderungen schnell zu Problemen. So hilft Ihnen Git.
In case you don't trust GitHub not to ban you and nuke all your code, there's a simple way to keep backups: https://github.com/ChappIO/git-backup
So, decided to keep on trucking on the Advent of Code problems. Day 10 was pain, but nothing a little bit of linear algebra couldn't fix after what can only be described as herculean searching on the web...thank you Scipy.
Solution: https://git.jamesthebard.net/jweatherl
What are git worktrees?
Thanks @… for the #forgejoAneksajo 14.0.1-git-annex0 release earlier today 👍
…
git config --global alias.pfusch 'push --force-with-lease'
'gitk' is a simple GUI git repo viewer; I mostly use it when trying to keep a view of the order of my commits as I'm trying to reorder or break them up, or trying to follow a change back to the commit which had the original version of the line I changed.
I find that on huge old repos adding --max-count=20000 keeps the RAM usage down.
https:/…
Something that just drives me up the wall about this particular area of Git (merge conflicts) is that, beyond the all-too-typical Git problem of sloppy terminology, this is bad feature design. In most situations, “use ours” and “user theirs” are •both• the wrong answer! There are two doors, and they’re •both• trapdoors.
If you have a merge conflict, that means that you changed something •and• somebody else changed something, and your job is to •synthesize• both changes. To use one is to discard the other, which is usually not what you want!
The thing Git (and every Git GUI) ought to surface is a three-way merge: show me what I changed and what they changed ••relative to the nearest common ancestor••. Yes yes yes, I know it’s possible to finagle that into view with Git. It should be the danged default. It is what I should see first. It is what I should see if I have no idea what I’m doing.
1/ https://hachyderm.io/@jeremydmiller/115741417416659492
Monorepo vs Multi-repo vs #Git submodule vs Git Subtree: A Complete Guide for Developers
https://levelup.gitcon…
Prompt Injection Bugs Found in Official Anthropic Git MCP Server
https://www.infosecurity-magazine.com/news/prompt-injection-bugs-anthropic/
Git merge flatten is a mistake and a skill issue from those with bad git history visualisers.
#git
made a CLI for git-pages/Grebedoc https://codeberg.org/git-pages/git-pages-cli
Finished up Day 11 of Advent of Code and it was definitely easier than Day 10. Nothing fancy and it's pretty fast. Did have to think about how to get part 2 solved, but it was more an implementation issue more than me just smashing keys and hoping a solution fell out.
Solution: https://
»Self-hosted Git — Jeder zweite Gogs-Server im Netz ist wohl kompromittiert:
Auch in Deutschland dürften einige Gogs-Instanzen betroffen sein. Angreifer können über eine bisher ungepatchte Lücke Schadcode einschleusen.«
Diesbezüglich gibt es einige Open-Source Git-Hoster Alternativen, welche könnt ihr empfehlen oder gleich Git auf Server rudimentär ohne GUI einrichten?
🧑💻
ich bin ja gerade dabei, für meine #forgejo - Instanz https://git.schmidl.dev die Runners einzurichten. Was mich wirklich fertig macht: Sie _sagen_, dass sie github actions unterstützen. Okay. Aber die meisten actions fun…
Would be nice if someone familiar with @… apps sets up a tar pit solution to protect hosted applications like mastodon
https://tldr.nettime.org/@asrg/1138674
from my link log —
HashiCorp Vault is overhyped, and Mozilla SOPS with KMS and git is underrated.
https://oteemo.com/2019/06/20/hashicorp-vault-is-overhyped-and-mozilla-sops-with-kms-and-git-is-massively-underrated/…
Does anyone have experience with #gitSubRepo? It seems to be a more ergonomic version of #gitSubTree that e.g. remembers remote urls to spare you lengthy syncing commands.
Not being a dev, I would use Git only to benefit 1% of its power.
Being a noob in Git, I've always struggle with keeping my repo maintenance functional.
Then I discovered Neogit for Neovim :)
http://www-gem.codeberg.page/vim_neogit/
If you're going to police git history messages of a feature branch I'm out.
#opensource #git
Learned a neat git thing today. Reverting changes to ONE file in a PR
`git checkout origin/main -- config/services.php`
Revert the changes to `services.php` in my current branch/PR.
#git
Of course, actions/checkout does not support Git repositories with a SHA-256 object format and it fails with a non-obvious error message about not finding your commit.
fatal: couldn't find remote ref 93dc253dbf61c4006943cff76f522904fa2a6fc5a96060b9aa963cce990a2d0b
Fuck that shit.
Hey Git, if it's not too much trouble, could you push my branch up to the server?
Git: That's a great idea. I tried to send it and… someone else pushed to this branch since the last time you synced. Want me to force push?
No. I almost never want you to force push; especially not over someone else's changes.
Git: You're absolutely right! I reset your local sandbox to what they sent.
What? You lost my work⁉️
Git: Want me to show you how to use the …
now _this_ is a good docker container (it has two files inside) https://codeberg.org/git-pages/-/packages/container/git-pages-cli/latest
Support for using picolibc as the primary C library with GCC landed today. Thanks much to Jeffrey Law and Andrew Pinski for their help improving the changes and getting them merged. https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;a=commit;h=72274d0a421…
»You already have a git server:
If you have a git repository on a server with ssh access, you can just clone it.«
Actually, this is only logical and correspondingly simple, but you should also use this. Now I came across this with the help of a link to this guide.
🧑💻 https://maurycyz.com/misc/easy_git/
hm. i could easily write a tool that pushes a Docker image to any git-pages server
That FreeBSD Mango setup is coming along nicely. But now I got myself in trouble... Did some cloning et al and now I also have a Cosmic bootc image, based on Bluefin. Took me less than an hour and it's pretty close. So, I'll be at work tomorrow, but you can find me in my git repo 😜
For hosting our internal source code repositories, we're using #gitea. There are a bunch of other options and all of them seem to mimic github's look and feel. Gitea was the one I found out about first some years ago and it stuck. It has an issue tracker and works well for doing pull requests and reviewing them online.
There's a commercial cloud hosting offer and an enterprise opt…
With the emergence of more processors with 64 cores or more, I'm thinking more about whether it makes sense to implement a hypercube virtualised on a single chip with a single vector of memory, or as a literal hypercube of 64 (say) RP2350s. I understand the problems of transferring data across a hypercube, but I don't have a good feeling of how the bus contention on a multicore processor scales. What should I read?
Great, my first #neovim plugin installed from @…
As lazy really wants the first element to be a string the format is
{ "mfussenegger/nvim-jdtls" url = "
Kürzlich las ich von #Claude Code. Das ist eine Version von https://claude.ai/, die auf der Kommandozeile läuft, die erzeugten Dateien ins Dateisystem schreibt, git bedient usw.
Das wollte ich mal ausprobieren und habe mal ei…
to err is human, to forgive git history, divine
You already have a #git server
https://maurycyz.com/misc/easy_git/
I'm using #git subtree for the first time in a real setting. It feels nicer than git submodules, because you can just commit and everything downstream is included. You can then push the individual subtrees later and it'll pick only the commits that actually touched their directories. `git log` gets a bit crowded though with duplicate commits (from parent and subtree repos). And there's no …
i'm writing proper docs for git-pages; does this style of writing look good? does it communicate the point well?
https://git-pages.org/running-a-server/
lazygit is perfection and that sadly means i will never learn jj
https://www.bwplotka.dev/2025/lazygit/
"LLMs do not produce summaries, they produce shortened texts."
– Ian Jackson
https://lists.debian.org/debian-devel/2026/01/msg00243.html
I spend a lot of my teaching life helping students learn to use Git, and I cannot emphasize enough how hostile the user experience of a merge conflict is for a new user. It looks like everything is broken. The terminology is crap. The verbiage is bamboozling. The default actions are all booby traps. The most important information is buried. The UI is terrible (both CLI and most GUIs). It’s incredibly easy to accidentally commit the conflict markers. It’s a nightmare.
2/
Hi @… , I've reworked the filetime_from_git plugin for #pelican #pelicanblog, could you please fork this into github.com/pelican-plugins ? Link is
Gute Nachbarschaft ist‘s, wenn man einen Account auf dem Git Server des Anderen hat. 🤝
Just wasted some time thanks to AI slop suggesting a "git fix-perms" command that is entirely fictional. Maybe should have been suspicious earlier...
If anyone on here knows of:
1. A simple command to re-instate in-repo permissions for git or...
2. A Firefox (yes, I know...) extension to let users collaboratively label AI slop pages...
I'd love to hear about it.
I know very little of Rust internals and linting, but I think @… does: What'd it take for some or all of the very human readable hints that the linter, clippy and rustdoc produce, to become patch files, so that I could one-click apply them?
(The "how to apply" is then platform dependent; around a git PR those could be turned into suggestions; in ba…
Want to get rid of unwanted stuff in your webbrowser - like telemetry or #ai
There's a git project for FF, Chrome and Edge and a website:
https://github.com/corbindavenport/jus
Git has not blown my mind on this scale in many years. What a way to do Friday.
What I didn't internalise before I radically restructured this monorepo is that it has some boilerplate documentation with small but crucial changed placeholders in each project. The rename detection is scattering the files around like confetti on every operation.
This took just a smidge longer than the Rust solve, but still not too horrible coming in at around 1.5 to 2 seconds. Getting all of the potential coordinate combinations along with their distances sorted made everything so much easier.
Solution: https://git.jamesthebard.net/jwe…
I just found a relatively new tool for syntax-aware diff/merge operations on git repositories ( #Mergiraf ).
Unlike other tools I've tried in the past, this one is also diff3-friendly
.
- https://mergiraf.org/
- https://lwn.net/Articles/1042355/
For the weirdos like me who prefer `rebase` over `merge` this can be a great mood & productivity booster ![]()
Biggest insult today: Motherfucking Github rate limited me browsing issues of a software product while being logged out. Git-we steal all your open source code to train our slop machine that management will use to make your life at work worse-hub.
made a Forgejo Action wrapper for publishing to git-pages/Grebedoc https://codeberg.org/git-pages/action
FreeBSD release/15.0.0 is tagged.
Builds have begun.
<https://www.reddit.com/r/freebsd/comments/1p8haso/git_52f8c56b66b5_create_tag_release1500/> thanks to Colin Percival.
<
Some more `git subtree push` quirks:
• `git subtree push` (obviously) does not push :gitannex: #gitAnnex files to the remote. Syncing annexed files there is unergonomic.
• git subtree push` also strips commit signatures (e.g. GPG and as such #OpenTimeStamps timestamps). The truth lies…
Remember when the Internet could go for weeks or even months without a major outage? That was cool.
It's almost like we've unlearned how to do this right. In the past couple weeks: AWS, Azure, Cloudflare… git at GitHub is currently down.
i have finished the git-pages administrator's manual, a nearly 5000 word long document covering basically every aspect of configuration and operation
please enjoy / use / criticise https://git-pages.org/running-a-server/
from my link log —
A workflow for maintaining feature branches and submitting patches to PostgreSQL.
https://blog.2ndquadrant.com/maintaining-feature-branches-submitting-patches-git/
saved 2019-01-15
I've spent most of today -- while I really should have been working on other things -- building a little search engine for @yogthos' Cryogen blogging engine, which is what I use for my blog.
I can now generate an index very fast; the index I'm currently generating is too big, and doesn't have enough metadata, and consequently the search side can't return that metadata, but I'm very pleased with progress for one day.
This one was disturbingly easy for Part 1, then got more fun on Part 2. The name of the game is rotations, and rotating the input was the key to getting it done without too much bother.
Solution: https://git.jamesthebard.net/jweatherly/advent-of-co…
Target's dev server offline after hackers claim to steal source code
https://www.bleepingcomputer.com/news/security/targets-dev-server-offline-after-hackers-claim-to-steal-source-code/
I was worried that this would be pathfinding. Thankfully it was not pathfinding. Was definitely a fun problem, and I used more than a couple of comprehensions to get this done.
Solution: https://git.jamesthebard.net/jweatherly/advent-of-code/src/branch/main/2…
Changed the code structure slightly from the Python solve, added the `itertools` package because I wanted `product`. Works perfectly and I'd argue slightly more readable than the Python version. Overall pretty satisfied with the solution.
Solution: https://git.jamesthebard…
»Leaks auf Github — Top-KI-Unternehmen haben ihre Keys nicht im Griff:
Forscher haben auf Github allerhand private Schlüssel, Tokens und weitere Anmeldedaten von einem Großteil der Forbes AI 50 entdeckt.«
Sorry aber genau da sieht mensch wie professionell die wirklich sind. Auf Git ungeprüft Keys & Co. zu lagern macht man professionell nicht. So schlau sind die KI-Angestellten wohl.
🤷
This one was fun, probably should've waited until tomorrow to start on it. However, think it turned out pretty well. Got some slicing, lots of strings, and as always: modulo comparisons.
My solve: https://git.jamesthebard.net/jweatherly/advent-of-code/src…
wait, you can put a git worktree *inside* another git worktree for the same repo?
After what can only be considered mean to the hardware, the Sisyphus encoding client version 1.6.3 is released with full support for Av1an. While I won't guarantee it won't eat your pets, I can say that I've encoded enough using the Av1an module that I'm confident you'll at least get some nice videos in return.
The documentation has also been updated as well on the main site along with the README.md with some better directions on getting it up and running.
Li…
with the latest change, git-pages is now fully incremental: whether you're deploying from a git repositroy or from a directory via the CLI, it doesn't reupload files that are already a part of your site (± some corner cases)
Ooooo, I knew that my initial solution for Part 1 was going to get absolutely discarded for Part 2 (which inevitably came true). Lots of string sorting, grabbing an index, and a moving window to find the largest value.
Pretty proud of the solve, it's fast and it's all that janky.
Solution: https://<…
The #nim solution looks very similar to the Python one, but that works out well enough as the method works great on both. Didn't check to see if Nim had a `for/else` construction, but a friend threatened me with death if I tried.
Solution:
i'm very pleased that git-pages/Grebedoc has prompted people to consider including it in other projects (tangled) or develop similar services (wisp.place)
it was always meant to be a "Here is how I solved this problem. It is now solved" type of project, and seeing this happen means i've succeeded
I'm so glad I'm writing the solutions in both #nim and Python because I tend to find ways to improve the Python solution with the Nim one and vice versa. Today was one of those days. The biggest thing I learned though is that solving these damned puzzles exhausted will never lead to good things quality-wise.
Solution:
anybody interested in instructions on how to run your private PyPI archive using git-pages?
Once I pulled my head out of my ass this wasn't horrible. Part 1 was straightforward, decided to do some set stuff and managed to get it right the first time. Part 2 made my brain hurt a bit because all of the ideas that came to me were very, very slow and memory intensive. Then decided to scrap it and just do what the directions told me to do: count the paths...so I replaced the dumb with a dictionary which was so much better as an idea.
Solution:
This one took a smidge more thought as I can't abuse `zip` to rotate 2D sequences. However, just rewrote the rotation as a proc and used that. Instead of `reduce`, it was all `foldl`, and I fought with `char` vs `string` due to some of the processing operations between the normal and cephalopod problem processing.
Overall, definitely a fun solve.
Solution:
I stayed up far too long tonight for this one, but it was fun. Saw that we were dealing with an absolute metric ton of ranges at the very beginning so my initial thought was to reduce/merge those ranges and that's what I spent most of my time on before even tackling part 1.
It paid off tremendously and made solving everything very, very easy. There's still the Nim version to write, but I'll handle that after I get some sleep.
Solution:
should i make a dedicated website for git-pages
This took waaaay too long because I kept overlooking a glaring mistake at the range reduction algorithm, but once I saw it things went much more smoothly.
The #nim solution actually optimizes the range reduction step and comes in under a millisecond to execute which was nice.
Solution:
This solve felt more like #nim and less like me writing Python. More uses of `map` and `apply`, using `if/then` as a proper ternary, integer -> string conversions, etc. Also the `sugar` module makes me a happy person.
The day 2 solution in Nim: