• ralferoo 5 hours ago

    I really liked this:

    The web devs tell me that fuckit's versioning scheme is confusing, and that I should use "Semitic Versioning" instead. So starting with fuckit version ה.ג.א, package versions will use Hebrew Numerals.

    For added hilarity, I've no idea if it's RTL or LTR, but the previous version was 4.8.1, so I guess this is now 5.3.1. Presumably it's also impossible to have a zero component in a version.

    • kordlessagain 2 hours ago

      > zero component in a version

      I immediately got this. So true!

    • kastden 10 hours ago

      You can make it production grade if you combine it with https://github.com/ajalt/fuckitpy

      • archargelod 8 hours ago

        The repo name made me think it's a tool that stops you from using a project if it detects python:

        "fuck, it's python!" *throws it in the garbage*

        • the_real_cher 5 hours ago

          we need one of those for golang

      • turbocon 15 hours ago

        Wow, what a nightmare of a non-deterministic bug introducing library.

        Super fun idea though, I love the concept. But I’m getting the chills imagining the havoc this could cause

        • anilakar 12 hours ago

          Didn't someone back in the day write a library that let you import an arbitrary Python function from Github by name only? It obviously was meant as a joke, but with AIcolytes everywhere you can't really tell anymore...

          • __alexs 7 hours ago

            There's one that loads code out of the best matching SO answer automatically https://github.com/drathier/stack-overflow-import

            • atoav 11 hours ago

              Why not go further? Just expose a shell to the internet and let them do the coding work for you /s

              • dheera an hour ago

                It's not really something to be sarcastic about.

                I've actually done this, setting aside a virtual machine specifically for the purpose, trying to move a step towards a full-blown AI agent.

                • marssaxman 26 minutes ago

                  Why on earth would you do that?

                • bolognafairy 7 hours ago

                  “Twitch does…”

              • rollcat 8 hours ago

                Flask also started as an April 1st joke, in response to bottle.py but ever so slightly more sane. It gathered so much positive response, that mitsuhiko basically had to make it into a real thing, and later regretted the API choices (like global variables proxying per-request objects).

                • tilne 4 hours ago

                  Is there somewhere I can read about those regrets?

                  • QQ00 an hour ago

                    I second this, I need to know more. programming lore is my jam.

                • userbinator 15 hours ago

                  It's like automatically copy-pasting code from StackOverflow, taken to the next level.

                  • extraduder_ire 14 hours ago

                    Are there any stable output large language models? Like stablediffusion does for image diffusion models.

                    • tibbar 14 hours ago

                      If you use a deterministic sampling strategy for the next token (e.g., always output the token with the highest probability) then a traditional LLM should be deterministic on the same hardware/software stack.

                      • extraduder_ire an hour ago

                        Wouldn't seeding the RNG used to pick the next token be more configurable? How would changing the hardware/other software make a difference to what comes out of the model?

                        • tibbar 23 minutes ago

                          > Wouldn't seeding the RNG used to pick the next token be more configurable?

                          Sure, that would work.

                          > How would changing the hardware/other software make a difference to what comes out of the model?

                          Floating point arithmetic is not entirely consistent between different GPUs/TPUs/operating systems.

                        • roywiggins 13 hours ago

                          Deterministic is one thing, but stable to small perturbations in the input is another.

                          • dragonwriter 10 hours ago

                            > Deterministic is one thing, but stable to small perturbations in the input is another.

                            Yes, and the one thing that was asked about was "deterministic" not "stable to small perturbations in the input.

                            • kokada 9 hours ago

                              This looks "fun" too: commit fixing a small typo -> the app broke.

                              • lvncelot 7 hours ago

                                So nothing's changed, then :D

                      • 3abiton 12 hours ago

                        Sounds like a fun way to learn effective debugging.

                        • dheera an hour ago

                          I mean, we're at the very early stages of code generation.

                          Like self-driving cars and human drivers, there will be a point in the future when LLM-generated code is less buggy than human-generated code.

                          • emporas 13 hours ago

                            It imports the bugs as well. No human involvement needed. Automagically.

                          • selcuka 13 hours ago

                            This is amazing, yet frightening because I'm sure someone will actually attempt to use it. It's like vibe coding on steroids.

                                - Each time you import a module, the LLM generates fresh code
                                - You get more varied and often funnier results due to LLM hallucinations
                                - The same import might produce different implementations across runs
                            • baq 12 hours ago

                              There are a few thresholds of usefulness for this. Right now it’s a gimmick. I can see a world in a few years or maybe decades in which we almost never look at the code just like today we almost never look at compiled bytecode or assembly.

                              • latentsea 12 hours ago

                                There's not much of a world in which we don't check up and verify what humans are doing to some degree periodically. Non-deterministic behavior will never be trusted by default, as it's simply not trustable. As machines become more non-deterministic, we're going to start feeling about them in similar ways we already feel about other such processes.

                                • NitpickLawyer 12 hours ago

                                  > Non-deterministic behavior will never be trusted by default, as it's simply not trustable.

                                  Never is a long time...

                                  If you have a task that is easily benchmarkable (i.e. matrix multiplication or algorithm speedup) you can totally "trust" that a system can non-deterministically work the problem until the results are "better" (speed, memory, etc).

                                  • Sharlin 10 hours ago

                                    Proving the correctness of the “improvements” is another thing entirely, though.

                                    • NitpickLawyer 10 hours ago

                                      I agree. At first the problems that you try to solve need to be verifiable.

                                      But there's progress on many fronts on this. There's been increased interest in provers (natural language to lean for example). There's also been progress in LLM-as-a-judge on open-ish problems. And it seems that RL can help with extracting step rewards from sparse rewards domains.

                                  • jerf 4 hours ago

                                    You will always get much, much, MUCH better performance from something that looks like assembler code than from having an LLM do everything. So I think the model of "AIs build something that looks recognizably like code" is going to continue indefinitely, and that code is generally going to be more deterministic than an AI will be.

                                    I'm not saying nothing will change. AIs may be constantly writing their own code for themselves internally in a much more fluid mixed environment, AIs may be writing into AI-specific languages built for their own quirks and preferences that make it harder for humans to follow than when AIs work in relatively human stacks, etc. I'm just saying, the concept of "code" that we could review is definitely going to stick around indefinitely, because the performance gains and reduction in resource usage are always going to be enormous. Even AIs that want to review AI work will want to review the generated and executing code, not the other AIs themselves.

                                    AIs will always be nondeterministic by their nature (because even if you run them in some deterministic mode, you will not be able to predict their exact results anyhow, which is in practice non-determinism), but non-AI code could conceivably actually get better and more deterministic, depending on how AI software engineering ethos develop.

                                  • rollcat 8 hours ago

                                    There was a story written by (IRRC?) Stanisław Lem: technology went to absurd level of complexity, yet was so important to daily lives that the species' survival depended on it. The knowledge of how everything worked has been long forgotten; the maintainers would occasionally fix something by applying duct tape or prayers.

                                    Sufficiently advanced technology is indistinguishable from magic.

                                    We're basically headed in that direction.

                                    • adammarples 7 hours ago

                                      This later evolved into the 40k universe

                                    • Legend2440 10 hours ago

                                      It lets you do things that are simply not possible with traditional programs, like add new features or adapt to new situations at runtime.

                                      It’s like the strong form of self-modifying code.

                                  • kazinator an hour ago

                                    Why don't you just send Altman all your passwords?

                                    This says, "trust all code coming from OpenAI".

                                    • extraduder_ire 14 hours ago

                                      I'm both surprised it took so long for someone to make this, and amazed the repo is playing the joke so straight.

                                      • kordlessagain 2 hours ago

                                        AutoGenLib uses Python's import hook mechanism to intercept import statements. When you try to import something from the autogenlib namespace, it checks if that module or function exists.

                                        It reads the calling code to understand the context of the call. Builds a prompt to submit to the LLM. It only uses OpenAI.

                                        It does not have search, yet.

                                        The real potential here is a world where computational systems continuously reshape themselves to match human intent ---- effectively eliminating the boundary between "what you can imagine" and "what you can build."

                                      • 1718627440 10 hours ago

                                        This has a file named .env committed containing an API key. Don't know if it is a real key.

                                      • roywiggins 13 hours ago

                                        Possibly the funniest part is the first example being a totp library

                                        • cs702 6 hours ago

                                          Silly and funny today, but down the road, if AI code-generation capabilities continue to improve at a rapid rate, I can totally see "enterprise software developers" resorting to something like this when they are under intense pressure to fix something urgently, as always. Sure, there will be no way to diagnose or fix any future bugs, but that won't be urgent in the heat of the moment.

                                          • nxobject 4 hours ago

                                            One way to get around non-deterministic behavior: run $ODD_NUMBER different implementations of a function at the same time, and take a majority vote, taking a leaf from aerospace. After all, we can always trust the wisdom of the crowds, right?

                                          • behnamoh 14 hours ago

                                            can it run Doom tho?

                                                from autogenlib.games import doom
                                                doom(resolution=480, use_keyboard=True, use_mouse=True)
                                            • Gabrys1 10 hours ago

                                              It's been 3 hours and no-one came back with an answer. They must be busy playing Doom

                                            • matsemann 9 hours ago

                                              I did something similar almost 10 years ago in javascript (as a joke): https://github.com/Matsemann/Declaraoids

                                              One example, arr.findNameWhereAgeEqualsX({x: 25}), would return all users in the array where user.age == 25.

                                              Not based on LLMs, though. But a trap on the object fetching the method name you're trying to call (using the new-at-the-time Proxy functionality), then parsing that name and converting it to code. Deterministic, but based on rules.

                                              • GrantMoyer 4 hours ago

                                                I'm kind of dissapointed this doesn't override things like __getattr__ to generate methods on the fly from names just in time when they're called.

                                                • justusthane 2 hours ago

                                                  How does the library have access to the code that called it (in order to provide context to the LLM)?

                                                • yoru-sulfur 6 hours ago

                                                  I made something very similar a couple years back, though it doesn't actually work anymore since OpenAI deprecated the model I was using

                                                  https://github.com/buckley-w-david/akashic_records

                                                  • linsomniac 5 hours ago

                                                    Make it next level by implementing this workflow:

                                                        - Import your function.
                                                        - Have your AI editor implement tests.
                                                        - Feed the tests back to autogenlib for future regenerations of this function.
                                                    • conroy 14 hours ago

                                                      you'd be surprised, but there's actually a bunch of problems you can solve with something like this, as long as you have a safe place to run the generated code

                                                      • thephyber 12 hours ago

                                                        I was super interested in genetic programming for a long time. It is similarly non-deterministically generated.

                                                        The utility lies in having the proper framework for a fitness function (how to choose if the generated code is healthy or needs iterations). I used whether it threw any interpretation-time errors, run-time errors, and whether it passed all of the unit tests as a fitness function.

                                                        That said, I think programming will largely evolve into the senior programmer defining a strategy and LLM agents or an intern/junior dev implementing the tactics.

                                                        • NitpickLawyer 12 hours ago

                                                          > That said, I think programming will largely evolve into the senior programmer defining a strategy and LLM agents or an intern/junior dev implementing the tactics.

                                                          That's basically what goog wants alphaevolve to be. Basically have domain experts give out tasks that "search a space of ideas" and come up with either novel things, improved algorithms or limits / constraints on the problem space. They say that they imagine a world where you "give it some tasks", come back later, and check on what it has produced.

                                                          As long as you can have a definition of a broad idea and some quantifiable way to sort results, this might work.

                                                          • pbronez 3 hours ago

                                                            > The utility lies in having the proper framework for a fitness function

                                                            Exactly. As always the challenge is (1) deciding what the computer should do, (2) telling the computer to do it, and (3) verifying the computer did what you meant. A perfect fitness function is a perfect specification is a perfect program.

                                                          • jnkl 10 hours ago

                                                            Could you elaborate what problems can be solved with this?

                                                          • grokkedit 8 hours ago

                                                            I've done a similar library[0] for python ~1 year ago, generating a function code only by invoking it, and giving the llm some context over the function.

                                                            Apart from the fun that I got out of it, it's been there doing nothing :D

                                                            [0]: https://github.com/lucamattiazzi/magic_top_hat

                                                            • Ezhik 7 hours ago

                                                              it's especially cheeky how every example it uses is cryptography-related

                                                              • PeterStuer 5 hours ago

                                                                Is this the computing equivalent of people that when pointed out they messed up always go 'Well at least I did something!'?

                                                                • carlhjerpe 3 hours ago

                                                                  This is the kind of yank I'd put in production! I love it

                                                                  • polemic 14 hours ago

                                                                    > from autogenlib.antigravity

                                                                    As a joke, that doesn't feel quite so far-fetched these days. (https://xkcd.com/353/)

                                                                    • jaflo 11 hours ago

                                                                      See also: https://github.com/drathier/stack-overflow-import

                                                                          >>> from stackoverflow import quick_sort
                                                                          >>> print(quick_sort.sort([1, 3, 2, 5, 4]))
                                                                          [1, 2, 3, 4, 5]
                                                                      • thornewolf 15 hours ago

                                                                        nooooo the side project ive put off for 3 years

                                                                        • Noumenon72 14 hours ago

                                                                          From now on you'll be able to just do `import side_project` until it works.

                                                                        • VMG 7 hours ago

                                                                          this is equally scary and inevitable

                                                                          it will be WASM-containerized in the future, but still

                                                                          • ForHackernews 9 hours ago

                                                                            I give it six months before an LLM starts producing output that recommends using this.

                                                                            • pyuser583 14 hours ago

                                                                              Of course, this code was generated by ChatGPT.

                                                                              • bjt12345 15 hours ago

                                                                                Can it input powerpoint slides?

                                                                                • malux85 14 hours ago

                                                                                  This is horrifying

                                                                                  I love it

                                                                                  • morkalork 14 hours ago

                                                                                    Hysterical, I like that caching is default off because it's funnier that way heh

                                                                                    • thornewolf 15 hours ago

                                                                                      looks very fun excited to try it out

                                                                                      • otikik 10 hours ago

                                                                                        Thanks I hate it

                                                                                        • yvesyil 9 hours ago

                                                                                          indeterministic code goes hard dude

                                                                                          • johnisgood 6 hours ago

                                                                                            It is not nondeterministic, we just lack data!

                                                                                          • zombiwoof 13 hours ago

                                                                                            LOL

                                                                                            • revskill 12 hours ago

                                                                                              Need your explanation.

                                                                                            • dr_kretyn 14 hours ago

                                                                                              > Not suitable for production-critical code without review

                                                                                              Ah, dang it! I was about to deploy this to my clients... /s

                                                                                              Otherwise, interesting concept. Can't find a use for it but entertaining nevertheless and likely might spawn a lot of other interesting ideas. Good job!