git-llmfs, a git filter that will reduce your repo code size through the power of LLMs!

3 months ago by cm0002 to c/programmer_humor

git-llmfs is a git filter that uses local LLM summaries as a compression mechanism for code files to save space in a git repository.
Scipitie 82 points 3 months ago

Anyone downvoting this has:

  • Not looked at the repo
  • Not looked at the community
  • Has a hate boner for the two letters L and M if combined in a certain way.
  • Missed out
path: 0 24718560, hotness: undefined, score: 82, children: 11
Fiery 64 points 3 months ago

Sneak peak for people too lazy to read the very short readme:

Does it actually work? About just as much as any reasonable person would expect

path: 0 24718560 24718767, hotness: undefined, score: 64, children: 1
Scipitie 17 points 3 months ago

You are a nicer person than I am! ❤️

path: 0 24718560 24718767 24718784, hotness: undefined, score: 17, children: 0
lanigerous 47 points 3 months ago

The AI disclaimer is brilliant:

Ironically, aside from the obvious use of LLMs for the actuall project, everything was written by hand. I wanted to use this as a learning opportunity about git filters, so everything you see is my fault.

path: 0 24718560 24721134, hotness: undefined, score: 47, children: 0
palordrolap 11 points 3 months ago

Well, I'm not going to downvote, but something in my brain is screaming "lossy compression!" and so you might say I'm at least wary.

path: 0 24718560 24719537, hotness: undefined, score: 11, children: 6
mitchty 14 points 3 months ago

/dev/null compresses everything perfectly. The hard part is recovery and is left to the reader.

path: 0 24718560 24719537 24727396, hotness: undefined, score: 14, children: 2
fnrir 8 points 3 months ago

/dev/null is also webscale

path: 0 24718560 24719537 24727396 24733370, hotness: undefined, score: 8, children: 0
ghodawalaaman 3 points 3 months ago

infinite compression ratio :o

path: 0 24718560 24719537 24727396 24728130, hotness: undefined, score: 3, children: 0
davidgro 11 points 3 months ago

That's the joke.

path: 0 24718560 24719537 24724994, hotness: undefined, score: 11, children: 0
Mikina 4 points 3 months ago

It is a tremendously stupid idea, which is why I found it funny (also, it's one of those things where name came first and inspired the rest).

But, to take it seriously for a moment (and I'm not trying to defend it, not a fan of LLMs as most of the people here), is it necessarily lossy? I mean, you basically have to include the 5Gb large model for it to work, and you just move the data from the file to hoping the summary can trigger a correct combination of parameters.

I didn't run any larger tests, and I assume that if you managed to keep the API/function names and behavior, the summary would be actually longer than the actual implementation in most cases anyway, so it's probably not even a compression (especially if you include the model).

It's just a food for thought, it's definitely a bad idea to do something like this, to the point where I'm pretty sure you could get millions from investors if you made a startup working on something like this (and that one already exists), but I do honestly wonder if the fact that you kind of have the data in the model would still count as lossy.

path: 0 24718560 24719537 24727285, hotness: undefined, score: 4, children: 1
Gabor_Transform 1 point 3 months ago

When I first saw this, I thought it was obviously a toy to learn something and as an excuse use an LLM. I wasn't sure if the use of an LLM was serious or not (e.g. did the originator know the limitations); however, I did take it seriously for the sake of argument after one of the other comments talked about compression.

I decided that I actually like this project quite a bit as an example to introduce information theory to students. What the compression comment gets wrong imo is that compression is about taking an instantiation of information, reducing it to a minimum set of measurable units of infirmation (i.e. bits) to recreate that instantiation.

What this would aim to do, assuming it works (or rather what a competent human could do) is reduce the instantiation to a set of information that can recreate an instantiation of said information (changing the problem into a non-unique inversion problem) to recreate functionality but not an exact duplicate of the input. To the degree that the description converges on one result then one would end up with the exact same input; however, as human language is notoriously verbose and imprecise this would not compress anything.

Kudos.

path: 0 24718560 24719537 24727285 24727892, hotness: undefined, score: 1, children: 0
ggtdbz 5 points 3 months ago

I remember GPT2TC, LLMs were a very interesting niche little proof of concept software area for a few years before

path: 0 24718560 24727686, hotness: undefined, score: 5, children: 0
Cyber 35 points 3 months ago

I think Microsoft have been using something like this for years.

path: 0 24718000, hotness: undefined, score: 35, children: 1
ghodawalaaman 5 points 3 months ago

I have read an article about their own engineer has forgotten how to write native application for their own fucking operating system. I wonder even a LLM can make good win32 app.

path: 0 24718000 24728158, hotness: undefined, score: 5, children: 0
AstroLightz 3 points 3 months ago

Haven't looked at the repo yet, but I hope it just rm -rf's your entire git repo.

path: 0 24735443, hotness: undefined, score: 3, children: 1
qaz 2 points 3 months ago

Better than that

path: 0 24735443 24827802, hotness: undefined, score: 2, children: 0
BigDanishGuy -7 points 3 months ago

So... Clean build? But with the added bonus of risking some AI destroying the code? Cool, just what the world needed: a worse way of doing something you been doing effectively for a couple of decades

path: 0 24734266, hotness: undefined, score: -7, children: 0
programmer_humor
programmer_humor

@programming.dev

login for more options
33675
2568
7703

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics
    • If the mod doesn't find it funny, you're banned. Ha-ha!... For real: do not use the community for "statements". There are other places for such content. Keep it chill and funny.

go to feed...