<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: unqueued</title><link>https://news.ycombinator.com/user?id=unqueued</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 10 Aug 2026 09:42:04 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=unqueued" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by unqueued in "Lost my phone at the office. Claude suggested tracking Bluetooth signal strength"]]></title><description><![CDATA[
<p>I used bluez and bash to lock xscreensaver using some very minimal bash. It wasn't my idea I believe people on the Gentoo forums were doing it.<p>But you can just loop over something like `hcitool rssi "$MAC"` and project it somewhere, there's a variety of ways.<p>I like using dunstify with the -p option to persist on screen.<p>I think it's really impressive what these agents can do, but you should also consider whether you're asking it to burn tokens reinventing the wheel for you, or making a pretty wrapper around a wrapper.</p>
]]></description><pubDate>Fri, 07 Aug 2026 23:33:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=49217450</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=49217450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49217450</guid></item><item><title><![CDATA[New comment by unqueued in "YouTube DRM added on ALL videos with TV (TVHTML5) clients"]]></title><description><![CDATA[
<p>> The alternative is that people complain "netflix doesn't work on firefox", switch to chrome instead, which is even worse.<p>So what if users complain? How is it better for Firefox to do something bad just because Google is doing something bad?<p>Firefox is supposed to provide an <i>alternative</i> to what's out there. Firefox also didn't support some popular proprietary Internet Explorer features, and they never attempted to. For a time, much of MySpace didn't work as well in Firefox. But I'm glad that Firefox didn't cave, even if some users complained that they couldn't make the scrollbars neon green or make music autoplay.<p>Not letting Microsoft or Google dictate how they implement a web browser worked out really well for them.
Chasing proprietary platforms has ruined them.<p>At the time EME was adopted Firefox was much more popular, I think 20% back in 2012. Video platforms were using Silverlight for DRM. There's a good chance that EME would not have gotten off the ground if Mozilla didn't embrace it, or at least not as quickly.<p>Mozilla should have taken a stand and refused to support EME when they had the chance. They would be better off than they are now. And there's a good chance Netflix would not have thrown away a double digit percentage of subscribers.<p>Instead they embraced DRM and now they have nothing.</p>
]]></description><pubDate>Tue, 11 Mar 2025 14:36:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=43332869</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=43332869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43332869</guid></item><item><title><![CDATA[New comment by unqueued in "YouTube DRM added on ALL videos with TV (TVHTML5) clients"]]></title><description><![CDATA[
<p>I wish more were done to push back against this consolidation of power by these platforms.<p>We're like frogs that have been stoking the fuel of our own pot.<p>It used to be that DRM was considered to be in conflict with the browser, because it was not acting on behalf of the user. If you must have DRM, then it is on the platform to shoehorn it in through an external plugin, like Silverlight.<p>When Firefox adopted EME extensions, I knew it was the beginning of the end; they were rolling out the red carpet for DRM. If we make DRM a switch that can simply be thrown, then it will become the norm, not the exception. And there have been proposals for years to DRM fonts and other absurdities. If a company insists on using DRM, then they should have to shoulder the burden of doing something that a browser was never support to support.<p>The nightmare that we're racing toward is you will only be permitted to cache a trickle of video at a time and your TPM attestation hardware must include a token in every HTTP request. Your browser will just be a software cablebox.<p>They aren't happy about URLs either and would love to require that if you want to share a reference to something, you have to do it on their terms, like generating a url in their app with a hash that expires and limited in how many times it can be viewed. I'm sure influencers will still have the privilege of unlimited sharing.<p>They've been slowly rolling this infrastructure out for the last decade. These are not isolated inconveniences, these are coffin nails.</p>
]]></description><pubDate>Mon, 10 Mar 2025 21:38:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=43326388</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=43326388</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43326388</guid></item><item><title><![CDATA[New comment by unqueued in "Show HN: NeatShift – Organize Windows files with symbolic links"]]></title><description><![CDATA[
<p>I think symlinks are really underappreciated for organizing files.<p>One cool thing you can do is to treat directories as tags when you symlink into them, since a file can 'belong' to multiple directories.<p>If you're using Windows, you can just use WSL and then you don't need administrative access as the OP's program does.<p>Here are some simple tools to let you use symlinks as tags:<p><a href="https://github.com/perses76/refmat-symlink">https://github.com/perses76/refmat-symlink</a><p><a href="https://mikeknowl.es/projects/ztag/" rel="nofollow">https://mikeknowl.es/projects/ztag/</a><p><a href="https://github.com/michaelknowles/ztag">https://github.com/michaelknowles/ztag</a><p>But if anyone is curious about ways to better organize their files in general, I would check the writings of Karl Voit:<p><a href="https://archive.baty.net/2018/using-karl-voits-file-naming-system/" rel="nofollow">https://archive.baty.net/2018/using-karl-voits-file-naming-s...</a><p><a href="https://karl-voit.at/2022/01/29/How-to-Use-Tags/" rel="nofollow">https://karl-voit.at/2022/01/29/How-to-Use-Tags/</a><p>Simple and portable self describing filenames has served me really well for a long time across many platforms.<p>This script has done a lot of lifting for me and it will work with WSL with little effort:<p><a href="https://github.com/mdom/squaretag">https://github.com/mdom/squaretag</a></p>
]]></description><pubDate>Fri, 27 Dec 2024 23:37:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=42527093</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=42527093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42527093</guid></item><item><title><![CDATA[New comment by unqueued in "OpenBSD now enforcing no invalid NUL characters in shell scripts"]]></title><description><![CDATA[
<p>If you are iterating over a lot of files, a read while loop can be a major bottleneck. As long as you use the null options from find and pipe into xargs, you should be safe with any filename.<p>I've found it can reduce minutes down to seconds for large operations.<p>If you have to process a large number of files, you can let xargs minimize the number of times a program is run, instead of running it once per file.<p>Something like:<p><pre><code>  # Set the setgid bit for owner and group of all folders
  find . -type d -print0 | xargs -0 chmod g+s

  # Make the targets of symlinks immutable
  find . -type l -print 0 | xargs -0 readlink -z | xargs -0 chattr +i
</code></pre>
Way faster.
But there are lots of caveats. Make sure your programs support it. Maybe read the xargs man page.</p>
]]></description><pubDate>Tue, 24 Sep 2024 22:47:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=41641795</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=41641795</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41641795</guid></item><item><title><![CDATA[New comment by unqueued in "OpenBSD now enforcing no invalid NUL characters in shell scripts"]]></title><description><![CDATA[
<p>There is a pretty good syntax for dealing with nasty filenames, if you must: ANSI-C quoting[1].<p>If you have to output in a shellscript in this format, use printf %q<p>from man printf:<p><pre><code>       %q     ARGUMENT is printed in a format that can be reused as shell input, escaping non-printable
              characters with the proposed POSIX $'' syntax.
</code></pre>
It is just $'<nasty ansi-c escaped chars>'<p>$ touch $'\nHello\tWorld\n'
$ ls<p>One thing I do like about a filesystem that fully supports POSIX filenames is that at the end of the day a filesystem is supposed to represent data. I think it is totally sensible to exclude certain characters, but that it should be done higher up in the stack if possible. Or have a flag that is set at mount time. Perhaps even by subvolume/dataset.<p>One thing I haven't seen mentioned is that POSIX filenames are so permissive that they allow you to have bytes as filenames that are invalid UTF-8. That's why the popular ncdu[2] program does NOT use json as it's file format, although most think it does. It's actually json but with raw POSIX bytes in filename fields, which is outside of the official json spec. That does not stop folks from using json tools to parse ncdu output though.<p>Another standard that is also very permissive with filenames is git. When I started exploring new ways to encode data into a git repo, it was only natural that I encountered issues with limitations of filesystems that I would check out in.<p>Try cloning this repo, and see if you are able to check it out:
<a href="https://github.com/benibela/nasty-files">https://github.com/benibela/nasty-files</a><p>It is amazing how many things it breaks.<p>If you are writing software that deals with git filenames or POSIX filenames (that includes things like parsing a zip file footer), you can not rely on your standard json encoding function, because the input may contain invalid utf-8. So you may need to do extra encoding/filtering.<p>[1]: <a href="https://www.gnu.org/s/bash/manual/html_node/ANSI_002dC-Quoting.html" rel="nofollow">https://www.gnu.org/s/bash/manual/html_node/ANSI_002dC-Quoti...</a><p>[2]: <a href="https://dev.yorhel.nl/ncdu/jsonfmt" rel="nofollow">https://dev.yorhel.nl/ncdu/jsonfmt</a></p>
]]></description><pubDate>Tue, 24 Sep 2024 22:07:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=41641481</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=41641481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41641481</guid></item><item><title><![CDATA[New comment by unqueued in "Back dating Git commits based on file modification dates"]]></title><description><![CDATA[
<p>Both Finder and explorer.exe will mung mtimes from casual browsing, usually due to metadata updates.
It is a common enough problem that there are utilities to bind mtimes to files.<p>IMO mtime the de-facto file timetsamp metadata, since it is most widely supported. The other file timestamp metadata I found were not as useful or portable.<p>And people use git for storing more than just source code.<p>I personally find it very useful to be able to clone my podcast index and have accurate timestamps not just from the commit, but from the file itself.<p>Timestamps can be important for a collections of files, but they are fragile and often an afterthought.</p>
]]></description><pubDate>Mon, 05 Aug 2024 21:09:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=41165643</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=41165643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41165643</guid></item><item><title><![CDATA[New comment by unqueued in "Back dating Git commits based on file modification dates"]]></title><description><![CDATA[
<p>Sometimes search indexing and build tools get it wrong, so if you know what you're doing, then tools like this allow you to provide an override.<p>Just browsing an old photo collection without making any changes can cause a 15 year old file to show up as a "new file", even though it's contents have not changed. This is especially true with media files that the os might take it upon itself to regenerate metadata for.<p>Or you may wish to store an accurate snapshot of the timestamps of cached or intermediate build artifacts.</p>
]]></description><pubDate>Mon, 05 Aug 2024 21:07:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=41165623</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=41165623</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41165623</guid></item><item><title><![CDATA[New comment by unqueued in "Back dating Git commits based on file modification dates"]]></title><description><![CDATA[
<p>Thanks for sharing, I love stuff like this. I get frustrated at mtimes being munged. MacOS finder is terrible about this.<p>If anyone is interested, I wrote a more generalized tool for storing metadata called storetouch[1] which takes a snapshot of file's mtimes, and stores them in a nicely formatted file for convenient restoration. You can run it's output by itself with bash, or easily parse it's output.<p>I found that the commit or author date's did not always make sense to represent the true age of a file. Especially for non-source-code documents. For example, a repo of scanned documents. Or a git-annex repo of podcasts going back 20 years.<p>Instead, I treat the commit date as the commit date, and I have a versioned sidecar that stores the actual original mtimes of the files.<p>It can also handle all valid POSIX filenames (a surprising amount of utilities don't, including tools like git-restore-mtime, last time I checked).
If you're already using a tool like git-annex or datalad though, they have the ability to store metadata for each file as well.<p>I would also suggest checking out git-store-meta[2] which was the original inspiration. It stores more than just mtime, but it is more closely tied to git.<p>[1]: <a href="https://github.com/unqueued/storetouch">https://github.com/unqueued/storetouch</a><p>[2]: <a href="https://github.com/danny0838/git-store-meta">https://github.com/danny0838/git-store-meta</a></p>
]]></description><pubDate>Sat, 03 Aug 2024 17:45:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=41148047</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=41148047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41148047</guid></item><item><title><![CDATA[New comment by unqueued in "Radicle: Open-Source, Peer-to-Peer, GitHub Alternative"]]></title><description><![CDATA[
<p>You can already use it with git-annex to store binaries using the git-annex-remote-git-aafs[1] special remote.<p>Although I would be careful and make sure you understand what it is doing to your branch namespace. Even though in the worst case it would not save any space over directly committing binaries, they are in orphan branches that can be pruned without rewriting history.<p>But even so, you can just use any number of git-annex special remotes to bypass using git for sharing files.<p>They may eventually add first-party support for git-annex. But nothing is stopping you from using it now.<p>[1]: <a href="https://github.com/domo141/git-annex-remote-git-aafs">https://github.com/domo141/git-annex-remote-git-aafs</a></p>
]]></description><pubDate>Tue, 05 Mar 2024 19:18:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=39607977</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=39607977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39607977</guid></item><item><title><![CDATA[New comment by unqueued in "Microsoft's AI shopping announcement contains hallucinations in the demo"]]></title><description><![CDATA[
<p>I think "confabulation" is a way more accurate term, I wish it had stuck instead of "hallucination".<p>A hallucination is a problem with input. Confabulation is false <i>output</i>.<p>Confabulation is when a person mistakenly recalls details and tries to "fill in the blanks", without realizing what they are saying is untrue.</p>
]]></description><pubDate>Fri, 28 Jul 2023 18:02:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=36910752</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=36910752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36910752</guid></item><item><title><![CDATA[New comment by unqueued in "Bcachefs File-System Plans to Try Again to Land in Linux 6.6"]]></title><description><![CDATA[
<p>That's what's great about btrfs. I started using it that way too. It was nice to be able to take instant snapshots of my fs. I just amended my existing backup scripts to act on temporary snapshots instead. Then, I started dividing things up into subvolumes.<p>I suggest moving your filesystem root to its own subvolume (the convention is to call it @root), then optionally mounting the actual filesystem root as like /mnt/fsroot, and mounting it by passing subvol=/. That is where I keep my snapshots. You can still have /home be nested in @root. I have subvolumes for /var/cache, /var/lib/docker, etc. And more fragmented qemu images just go on a NoCOW subvolume with +C set, and I back up normally.<p>I also highly suggest reflinks. Once you start using them you will use them all the time.<p>I don't know if zfs supports reflinks yet, at the time it didn't. But combining reflinks with subvolumes solves a lot of problems. Since btrfs doesn't support recursive snapshotting, you can just do cp --reflink=always -rp @root /path/to/new-subvolume, and it will combine the contents of the subvolumes without consuming any more space. And of course, btrfs-send will (usually) not duplicate reflink data.</p>
]]></description><pubDate>Wed, 12 Jul 2023 15:49:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=36696392</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=36696392</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36696392</guid></item><item><title><![CDATA[New comment by unqueued in "Bcachefs File-System Plans to Try Again to Land in Linux 6.6"]]></title><description><![CDATA[
<p>I will probably give bcachefs on one of my machines.<p>I started using btrfs back when it was way less stable, but that instability was more than offset by the other features.<p>The last time I lost a btrfs filesystem was four years ago when it was less stable, but it did not matter because it only amounted to about an hour of logs lost, and I reconstructed it in minutes. So btrfs is a must on any embedded devices. It frees me to use cheaper media, because I can have two copies of all data and metadata, and compression, and fine grained external snapshots.<p>Zfs is great for making big complex arrays and if you plan out how your are storing your data ahead of time. But it has a steeper learning curve and is more seperate from the underlying OS.<p>Btrfs fills this perfect niche for me of being a drop in replacement for ext4, and being really flexible and offering some of the nicer features of zfs. (differential snapshots, checksumming, compression)<p>So I'm excited to try bachefs as an alternative to btrfs.</p>
]]></description><pubDate>Wed, 12 Jul 2023 15:40:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=36696222</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=36696222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36696222</guid></item><item><title><![CDATA[New comment by unqueued in "Bcachefs File-System Plans to Try Again to Land in Linux 6.6"]]></title><description><![CDATA[
<p>This is an example of how btrfs is poorly handled by many userland tools by default. You should never ever need to have thousands of snapshots.<p>I use btrbk to manage my snapshots. It keeps my snapshots pruned to 300, pruning intermediate snapshots, so I can still easily step back 52 weeks, or I can purge them if I want to improve performance and reclaim space. While at the same time, every single snapshot is sent to two compressed encrypted backup images over ssh. The diff algorithm is pretty good, but for some types of files that fragment frequently, it is best to put them on their own subvolumes. My places.sqlite files from my browser testing profiles were adding tens or hundreds of MiB to snapshots, so they went in a seperate subvolume. I don't think the zfs would perform any better.<p>I don't blame people for having bad experiences with btrfs, it is very inconsistently documented.<p>I think it is especially annoying how many userland tools keep every single snapshot as a subvolume of the root, so that you have tens of millions of read-only files stored in /.snapshots. Awful.</p>
]]></description><pubDate>Wed, 12 Jul 2023 14:59:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=36695546</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=36695546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36695546</guid></item><item><title><![CDATA[New comment by unqueued in "iVentoy"]]></title><description><![CDATA[
<p>I actually have something I've been meaning to put on github. I wrote it over a decade ago and I need to dockerize it. I only made it in Vagrant.<p>But it can do something iVentoy can not.<p><a href="https://www.iventoy.com/en/faq.html" rel="nofollow noreferrer">https://www.iventoy.com/en/faq.html</a>:<p><pre><code>   The computer which run iVentoy must be in the same LAN with them.
   Besides, there must no other DHCP servers in the same LAN.
</code></pre>
It can coexist with an existing DHCP server. That means you can just start it up on your own network without any modifications, and start netbooting machines.<p>It turns out that multiple DHCP servers can co-exist on the same network segment. So I just have a second dhcp server solely for a pxe bootstrapper. At the time, at least the initial download must be tftp, but I used a stripped down ipxe stub that took advantage of the universal undi network drivers, and then loaded the rest (usually syslinux) over a fast HTTPS connection.<p>From there, iSCSI was no problem, and I could also use tools like plop, memdisk, or grub4dos, as well as Windows 7/8/10 with wimboot.<p>I remember for some distros like Knoppix, we would use an NBI driver to just mount the iso directly over the network, which could be far simpler and more performant than NFS.<p>EDIT: To be honest, it is simple enough that it doesn't have to use Docker. It is mostly dnsmasq and PHP.</p>
]]></description><pubDate>Sat, 08 Jul 2023 18:38:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=36647392</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=36647392</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36647392</guid></item><item><title><![CDATA[New comment by unqueued in "Effective Immediately: A central hub for people who've been recently laid off (2020)"]]></title><description><![CDATA[
<p>My biggest mistake after being laid off was to not be discerning enough about my next job. You need to be willing to say no to a crummy job offer, even as the bills pile up.</p>
]]></description><pubDate>Sat, 22 Apr 2023 22:09:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=35671358</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=35671358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35671358</guid></item><item><title><![CDATA[New comment by unqueued in "How to build a Linux-based wireless router out of spare parts (1998)"]]></title><description><![CDATA[
<p>John, at around that time you mentioned, you gifted me with my first shell account on one of your coffeshop servers, Reva. I just wanted to say THANK YOU. Up until then, I had read books about unix from the library, and had failed to install Mandrake on my laptop, but being able to access such a well configured NetBSD environment was really helpful and set me on a good path.<p>I had never been truant from school before up to that point, but sometimes life rewards you for taking risks.</p>
]]></description><pubDate>Mon, 06 Feb 2023 01:06:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=34671894</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=34671894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34671894</guid></item><item><title><![CDATA[New comment by unqueued in "Google removed my Yubikeys from a Google account 'just to be safe'"]]></title><description><![CDATA[
<p>I was hoping that using hardware keys would eliminate some of the security hoops that we have to jump through. And it does seem to help. But the whole reason that I have a key is so I do not have to supply my phone number, and I have a more trusted way of proving my identity, even if I am connecting from an unusual location.</p>
]]></description><pubDate>Mon, 26 Dec 2022 21:09:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=34141919</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=34141919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34141919</guid></item><item><title><![CDATA[New comment by unqueued in "Google removed my Yubikeys from a Google account 'just to be safe'"]]></title><description><![CDATA[
<p>This makes me worried, because I am pretty sure Google is going to start removing keys based on attestation certificates.<p>I believe that this is much more about rate limiting than about security for the end users.</p>
]]></description><pubDate>Mon, 26 Dec 2022 21:08:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=34141902</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=34141902</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34141902</guid></item><item><title><![CDATA[New comment by unqueued in "Show HN: We scaled Git to support 1 TB repos"]]></title><description><![CDATA[
<p>No, that is not correct, git-annex uses a variety of special remotes[2], some of which support deduplication. Mentioned in another comment[1]<p>When you have checked something out and fetched it, then it consumes space on disk, but that is true with git-lfs, and most other tools like it. It does NOT consume any space in any git object files.<p>I regularly use a git-annex repo that contains about 60G of files, which I can use with github or any git host, and uses about 6G in its annex, and 1M in the actual git repo itself. I chain git-annex to an internal .bup repo, so I can keep track of the location, and benefit from dedup.<p>I honestly have not found anything that comes close to the versatility of git-annex.<p>[1]: <a href="https://news.ycombinator.com/item?id=33976418" rel="nofollow">https://news.ycombinator.com/item?id=33976418</a><p>[2]: <a href="https://git-annex.branchable.com/special_remotes/" rel="nofollow">https://git-annex.branchable.com/special_remotes/</a></p>
]]></description><pubDate>Tue, 13 Dec 2022 22:09:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=33976723</link><dc:creator>unqueued</dc:creator><comments>https://news.ycombinator.com/item?id=33976723</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33976723</guid></item></channel></rss>