Threads for ljs

    1. 1

      book, mm patches dinner with wife :)

    2. 1

      Finish my mm book, contribute patches to mm, play with music production. Basically all the things I do now in my spare time and will continue to do (well minus book when done) until the day I die.

    3. 18

      I remain utterly baffled by people’s capacity for self-deception when it comes to LLMs.

      You can literally go and chat to one right now and get it to, often within minutes, spit out nonsense. Often well-written but subtle nonsense, but nonsense nonetheless.

      Which makes sense, given the algorithm explicitly tries to generate text which probabilistically sounds like a correct answer.

      This odd assumption that somehow, via magic, this technology will do all of the things it fails to do now (despite its underlying algorithm being literally incapable of doing so) seems to be what’s driving this.

      The excitement is based on the self-perpetuating idea of what it could be + a snazzy demo. And isn’t that a description of every bit of vapourware out there?

      I don’t mean to be disrespectful, but I do find this LLM craze a good litmus test of AI ‘experts’. Those who back the knowingly false nonsense spoken about LLMs expose themselves as either liars, incompetent, or in the most charitable interpretation, wishful thinkers.

      Unfortunately I think ML as a field has a lot of bullshit and people twiddling knobs with no understanding of what underlies what they do, despite calling themselves ‘data scientists’. It’s been a huge turn off for me from when ‘big data’ proponents first claimed ridiculous things that don’t seem to have panned out. Plus ca change.

      This is not to say that it isn’t useful for anything, it’ll be very useful for spam, fraud, copyright theft (which is a lot of what it actually does anyway), and in the nicer realms perhaps automation of the most rote, pattern-based non-novel activities out there.

      For things which have precise requirements and are trivially novel, it is worse than useless, it is actively harmful.

      Obviously you can come up with 100 examples of ‘this time it feels different’ things that were meant to change the world but people forget so quickly… equally so with this when chat gpt + friends fail to fulfill the nonsense claimed for them (but do succeed at those things they are good at). People will just act as if they only meant the latter all along…

      1. 3

        Have you compared levels of nonsense between generations of GPT? GPT-2 would fall for all silly questions like “who’s the king of the USA?”, but GPT-3 catches many of them. GPT-3 will happily hallucinate and give vague answers about anything you ask it, but GPT-4 less so. It’s not perfect, but it is going in the right direction, and there is real tangible progress. What makes you believe that it won’t improve further?

        1. 11

          I’m expecting some performance plateaus to show up sooner or later as a result of it getting progressively harder to source training data that didn’t itself come out of an earlier version of ChatGPT.

        2. 2

          A lot of complex tasks reach plateaus where techniques that work moderately well simply don’t improve. For example:

          If you want to predict the weather in a temperate climate, you can get around 60% accuracy by predicting the same as yesterday. You can also get similar accuracy by predicting the same as this day last year. You can then build statistical models on top that try to exclude outliers. No matter how complex these models are, you don’t get to 70% accuracy. To get to 80-90% accuracy, you need to do fluid dynamics modelling of the atmosphere.

          If you want to translate natural language and you have a dictionary of words, you can do a reasonable job (at least within a language family) translating them independently. You get a big improvement moving to translating bigrams (pairs of words) and trigrams. Above that, you get little improvement.

          Dall-E and Stable Diffusion both also got a lot of hype, but they still get fingers wrong. Worse, at least Stable Diffusion is massively racist. Yesterday, my partner used it to generate an image to accompany a blog post. The prompt asked for a student sitting an exam with a robot looking over their shoulder. The first picture was okay (except or some weirdness around the eyes) but about two thirds of them had an Indian person instead of a robot, no matter how we tweaked the prompts. Now, hopefully, that’s because there are a lot of Indian students photographed at robotics competitions and it doesn’t know which of the features in the image is the student and which the robot, but it could equally be racism in the training data. Either problem can be solved only with better-labelled data and that’s expensive.

          I can’t think of a single probabilistic process that doesn’t show massive wins early on and then plateau. LLMs will definitely hit that, the only question is how close we are to that point.

        3. 1

          LLMs are simply not capable of inferring results from insufficient data, they’re essentially running statistics on words in a corpus with zero understanding of what is being discussed.

          The idea that a technique that literally CANNOT do what people claim of it will one day evolve into being able to do them SOMEHOW is my whole objection.

          Case in point is tesla’s FSD. Trivially novel tasks are not suited to such techniques nor could they ever be. That’s not to say they’re not useful for some things.

          1. 2

            Tesla’s FSD is a fraud, not LLM.

            Notion of AI “understanding” anything is irrelevant. It’s philosophical distraction and a tangential argument about semantics. It’s not falsifiable — an AI can conquer the universe, and you can always say it merely executed a universe-conquering algorithm without truly understanding what it did.

            So I still think we are on track to make an algorithm that can execute almost any text-based task as well or better than a human. The algorithm won’t have a clue that it exists, beyond parroting how humans refer to it. It won’t understand that it is beating humans at intellectual tasks. Humans will continue to change the definition of AI to make these achievements not count as intelligence.

            1. 1

              I never said LLM was a fraud? I said it can’t do what people claim of it because it cannot handle novel input.

              When I say ‘understanding’ I mean it modelling reality e.g. understanding physics for a physics question, understanding logic for a logic question etc. That you think that is ‘philosophical’ is umm… ok.

              The issue is that when past data is sparse (trivially the case for many realms, e.g. driving, hence why I mention it) and you have literally no realistic model for inference, but rather some unknowable process based on what is perceived to sound like a correct answer, you are going to get eloquent sounding nonsense.

              Nobody here nor anywhere else anywhere that I’ve read (and I have read fairly widely) who is promoting what you are promoting here has explained how this can be overcome.

              I think there’s a reason for that and the fact you quite literally ignored the first paragraph in the parent post encourages my belief in that.

      2. 1

        I think you are far and away too pessimistic about this tech. Instead of approaching LLMs as another tool for translating natural language to computing actions you’re attacking the hype around it. Of course there’s hype, it’s new and cool. That doesn’t matter. There are two important factors about LLMs that matter to me personally:

        • LLMs can be tweaked to get reliable and actionable input and output for other systems.
        • Many of the things that humans want from other humans are not precise answers but rather things that evoke feelings or help them generate ideas and LLMs can do this in ways that were previously impossible. Essentially text that approaches the nonsensical qualities that humans sometimes display.

        LLMs feel about as important as databases to me right now but they’re newer, different and not as explored so I could be wrong.

        To those people who upvoted OP: have you tried, like really tried to utilize gpt-4 or gpt-3-turbo or any local models to process naturally posed questions and requests into reasonable commands and formatted api responses? That’s one of the powers this stuff grants you. You write a few sloppy sentences about what you want, add preprocessing and extra prompting in the back then with the support of systems that read from the generated output you’re able to use that for good enough end user responses.

        And if they don’t like the first gen, generate it again.

        It’s just another tool that you should vet for your work. It may require more effort than you want to put in in order to make it useful for your domain but other people have different reqs.

        1. 2

          LLMs feel about as important as databases to me right now but they’re newer, different and not as explored so I could be wrong.

          I think that’s a great analogy. In particular:

          • Databases are essential to some classes of applications.
          • Some of those application classes are incredibly important in the real world.
          • Lot of things need only a very simple database to get the benefit.
          • Techniques from databases are useful in a lot of other places.
          • Most things don’t need a database.
        2. 1

          ‘To those people who upvoted OP’ or, like, OP himself perhaps? Slightly rude there. Yes I have, thanks. But do go on assuming I haven’t used this technology, as I am sure that is far more convenient.

          ‘Instead of approaching LLMs as another tool for translating natural language to computing actions you’re attacking the hype around it.’

          OK, replace ‘LLM’ with eliza. Do you see the issue?

          The problem is whether the technique is capable of doing what is claimed of it. No amount of ‘it’s getting better!’ or digs at me can get around the fact that LLMs are simply not capable of solving trivially novel problems (again, I see all these people criticising me have totally ignored that, very telling).

          You can’t correctly infer a model from which to make a determination with sparse data to do so using LLMs, it’s literally impossible.

          I find the database analogy utterly bizarre. Databases are precise and follow set rules which you can assess and find out in detail exactly what they do.

          LLMs infer things from data sets and by their nature have not one inkling about what they speak.

          And again as I’ve said, I’m sure they will be useful for some things. They just won’t be replacing programmers or radiologists or magically changing the nature of knowledge work. My objection is firmly directed at the CLAIMS made for it.

          1. 1

            I find the database analogy utterly bizarre. Databases are precise and follow set rules which you can assess and find out in detail exactly what they do.

            I use databases for storing and querying data; I’ve seen ChatGPT used for spitballing ideas and napkin calcs for cargo laden airships with accurate formulas and usage of those formulas.

            From your previous post:

            This is not to say that it isn’t useful for anything, it’ll be very useful for spam, fraud, copyright theft (which is a lot of what it actually does anyway), and in the nicer realms perhaps automation of the most rote, pattern-based non-novel activities out there.

            It’s not just spam. It’s idea and lead generation at the very least. https:// rentry airships_gpt_full

            But do go on assuming I haven’t used this technology, as I am sure that is far more convenient.

            It just feels like you used for a bit then concluded that it was and forever will be a toy. I might be wrong in that assumption. Sorry for making it if it’s wrong.

            1. 2

              I use databases for storing and querying data; I’ve seen ChatGPT used for spitballing ideas and napkin calcs for cargo laden airships with accurate formulas and usage of those formulas.

              OK so databases are used for spitballing ideas? I mean… no? My point is comparing them to databases (rigid, specific, understandable method for obtaining data, you can even run PLAN commands) is bizarre as LLMs are the precise opposite.

              It’s not just spam. It’s idea and lead generation at the very least.

              Yes perhaps I was a bit mean there, sorry. I definitely do think there are uses for it, people keep missing that I say that though, perhaps because I was a wee bit too spicy in that OP. I have used it for idea generation myself!

              It just feels like you used for a bit then concluded that it was and forever will be a toy. I might be wrong in that assumption. Sorry for making it if it’s wrong.

              Nope, as I’ve said over and over again, my objection is based on the nature of LLMs - they’ve been around for a while and I seriously doubt many were claiming they can do what people now claim they can do.

              The fundamental issue is that they cannot deal with novel input. They essentially perform a clever pattern match to their giant corpus, algortihmically determining what sounds like a correct answer to a query.

              Where data is sparse in that corpus, it has no model of reality to refer to to determine what is a sensible answer or not. It maintains the ‘what sounds like the right answer’ and thus defaults to eloquent nonsense. This is not something that can be fixed iteratively, it’s a limitation of the technique.

              There are some fields (driving is a good example) where there is infinite, trivial novelty (complicated junction, ok now it’s snowing, ok now there’s glare, ok now it’s icy ok now there’s fog ok now there’s 3 vehicles doing complicated manouvers with 1 obscured, ok etc. etc.).

              My issue is not with LLMs, it’s with people claiming they can do things they very obviously cannot not or that ‘trust me bro’ it’ll iterate to these magical things in the future.

              This perception is pushed by people who stand to make literal $bns from this. perhaps $100’s of bns or more + endless ML folks who, I am a little cynical as to how well they understand the fundamentals of what they do shall we say who are equally benefiting from the gravy train. That combined with a number of people who kid themselves and those honestly confused or who don’t understand the technique + fanboys and we see why this hype cycle is what it is.

              I can’t stand lies, I can’t stand liars, it’s that simple for me.

      3. 1

        This is not to say that it isn’t useful for anything, it’ll be very useful for spam, fraud, copyright theft (which is a lot of what it actually does anyway), and in the nicer realms perhaps automation of the most rote, pattern-based non-novel activities out there.

        This is overly dismissive. I use ChatGPT and CoPilot a lot during the day, because it makes me more productive and I can assure you I am not a spammer or a fraudster.

        Claiming that LLM’s are useless because they can produce nonsense is like saying that autocomplete is useless because sometimes the option you want isn’t listed in the pulldown. Clearly the world has a different opinion on that.

        As for progress, I am not an expert, but so far each generation of GPT has shown remarkable steps forward. If it suddenly stops with GPT4 I am ok with that, because I can already put it to good use.

        1. 1

          You intentionally ignored the second part of the sentence there. But again, people prefer to ignore that because it’s much more exciting to imagine that LLMs can do things LLMs can’t do.

          I never claimed ‘LLMs are useless because they can produce nonsense’. I think it’s quite telling that critics have to misrepresent these things. And ‘the world’ had a different opinion on crypto from me. It also a different opinion on evolution by natural selection. I’ll leave you to fill in the gaps as to why that’s a bad analogy.

          If you’re happy using copilot to essentially plagiarise other people’s code without license where, again, due to the literal nature of how LLMs work, subtle errors that you might miss creep in then fine. Personally I would consider this to be ‘worse than useless’.

    4. 1

      More book (at 661 pages now), some mm patches and probably some debate on the mm mailing list.

    5. 18

      It’s a great pity to see somebody I really admire allow himself to be dazzled by this technology’s ability to mimic competence by pattern matching. An autocomplete with the entire corpus of stackoverflow will come up with some brilliant answers for some things, some subtly wrong answers for others, some absolutely wrong answers for yet others and utterly garbled output for more.

      The whole issue is that you need to be able to differentiate between all of them. And again, it is all entirely based on you stealing the work of others with an advanced search tool which has absolutely no idea as to the veracity or quality of what you’re stealing.

      I’m sorry Stevey, this is the next crypto. And it’s funny he mentions the whole not sticking with amazon thing because he was skeptical or k8s or whatever, because surely that argument equally applies to crypto? It’s survivorship bias, you regret not betting big on the things that turned out to work, then decide because this seems like a crazy claim like some other things that succeeded, this one must be true.

      The good thing with LLM type solutions is that you can go and try and see for yourself how wrong it gets it. Picking and choosing some lisp example that happens to work is exactly how this stuff gets you.

      I genuinely find this whole LLM craze extremely depressing. No waiting for the results to come in, no considering what the limits of such technology might be (yes LLMs will be VERY useful for some things, just not all). It’s just like the self driving nonsense. If you take time to think about how these algorithms work (essentially pattern matching with better results at higher data density) it becomes really obvious that it won’t work well for fields that require precise answers and which quickly get novel (driving, coding).

      It’s the emperor’s new clothes, and god’s sake Stevey I thought you were wiser than this (this is really about wisdom more so than intelligence, many smart people I know have been sucked in).

      I think this whole phenomenon is well described by Filip at https://blog.piekniewski.info/2023/02/07/ai-psychosis/

      1. 5

        A point I haven’t seen discussed yet is that, right now the stuff seems great because the majority of the content on the internet is training content: writing by people. But in a year or two when the internet is flooded with ChatGPT crap, the training data will be full of ChatGPT crap too. The algorithm can only do so much to compensate for the fact that soon it will be metaphorically eating its own shit.

      2. 3

        IMO there’s one very big difference between the radiology and self-driving stuff, and what we have now. Radiology was big companies making shrinkedwrapped products that they sold to hospitals, ChatGPT is an AI anybody can try to use for anything they want.

        So to finish this essay on a bit more positive note, here are some professions which in my opinion may actually get displaced with existing tech: … Pharmacist. It is absolutely possible today to build a machine that will automatically dose and pack custom prescriptions. A drug consultation could be done remotely via a video call before releasing the product to the customer.

        Okay this is totally insane.

        1. 7

          All it takes is a (few) high-profile case(s) where someone got killed by an LLM that got the dosage wrong (grams instead of milligrams seems like a likely mistake) and let’s see how quickly politicians will outlaw this kind of tech for serious use.

          1. 1

            I think the author does not refer to LLM in this section. It’s introduced with (highlight by me):

            here are some professions which in my opinion may actually get displaced with existing tech

            If he was refering to LLMs, I would have expected “with LLMs” or “with the new tech” or at least “with the existing tech” (even if existing was a bit weird to refer to something new). But written like this to me this is a reference to a broad spectrum of technology.

            I understand it so that he means existing technology in general, so in most cases probably something more tailored to the use case (e.g. bureaucrat: web application, cashier: self-service cashiers, bank clerks: online banking). But all of this already exists to more or less extent in different parts of the world.

    6. 2

      Going from 422 pages of https://linuxmemory.org/progress to 437 (my target is 15pgs/week).

      I may stop posting these as it’s boring and the entirety of my 2023.

    7. 13

      Last week I got made redundant, along with ~ 14% of staff globally. So this week is mostly about:

      • spending more time with the family and children (end of the school holidays)
      • taking the children on an overnight trip to a local historical village
      • polishing up my resume and re-activating my LinkedIn account
      • cleaning up my Ruby “coding exercise” project in case anyone wants to know if I can still code
      • having a few preliminary chats with my network to see what’s out there
      1. 6

        Good luck!

      2. 3

        Good luck! I just concluded a job search. The market is good - I hope you’ll be pleasantly surprised!

        1. 2

          Any tips on where to find good jobs? I find most job boards lacking in some ways or others - when I’m looking, I’m typically looking for rather specific things and don’t want to waste my time wading through irrelevant posts.

          1. 1

            It probably depends a lot on the kind of job you’re looking for. Lobste.rs has a regular ‘who’s hiring’ quarterly post, perhaps this is a good time for a ‘who’s looking’ version. I’m not actively looking at the moment but I had a quick skim of some of the tech comany’s open hiring and discovered that AMD appears to be trying to build a CPU perf team in the building practically next door to my house. I’m now very curious what they’re working on…

          2. 1

            Networking networking networking!

            Seriously. Attend in person local meet-ups. Get to know people. This has been by far my greatest source for finding job leads in my career.

      3. 1

        Sorry to hear and I hope you get everything sorted and the time is well spent!

    8. 1

      Hit 400 pages in my book this weekend :) https://fosstodon.org/@ljs/109690264304091663

    9. 3

      Lots of annoying non-writing things that I need to do to publish my book about Janet. Switching from Hugo to a custom build system, improving the syntax highlighting, autogenerating the table of contents instead of manually keeping it in sync… dumb things like that I’ve been putting off for a while.

      1. 1

        What is Janet? As a technical book (wannabe?) author myself I am curious as to how other people do their thing!

        1. 3

          Indeed, the programming language. It’s such a niche language that there are very few syntax highlighters for it, so I had to write one – or, really, extend one that I had written a while ago to actually cover the whole language. The book features a lot of repl sessions as well, so I did some stuff to highlight those correctly… obviously none of that was necessary, but I think most programmers are used to looking at color, so it’ll make it easier to read.

          When I started writing this book I just opened a text editor and started going, and used Hugo to generate the website because I had used it before. But Hugo is incredibly inflexible, so I knew I’d have to replace it at some point, and I managed to put that off that until the book was ~80% written. So now I’m using redo to build it directly with a hacked together mdast parser – JavaScript is not my first choice, but I wrote the syntax highlighter as a CodeMirror extension (because the book includes a repl) so using JS lets me re-use the same parser to highlight the code snippets in the book.

          Anyway, all that work is behind me now, so I can get back to actually finishing the book!

          1. 1

            nice, from one (putative) author to another good luck! I do think the key is keeping on with the grind.

        2. 2

          Not OP, but i’d guess https://janet-lang.org/

    10. 3

      As usual, my book. I wonder if I’m going to bore people by saying this over and over, but it is true :) https://linuxmemory.org/

    11. 2

      Grah, non perceptually uniform rainbow brings pain! Big green center all looks same. Please consider perceptually uniform color space like OkLab https://bottosson.github.io/posts/oklab/

      Easy solution is downloading better rainbow from here https://colorcet.com/

      1. 1

        PRs/forks are welcome :)

        Too busy with kernel stuff to spend any time on this myself unfort! I agree the colour range looks weird to the eye, the implementation is very simplistic

    12. 1

      ha I just realised that I did this nearly 10 years ago (but updated again more recently). Still, a fun hack! :)

    13. 1

      No radix sort alas :(

      1. 2

        Pull requests are welcome :) https://github.com/lorenzo-stoakes/rainbow-sort

        The code is, however, old and sketchy.

        1. 2

          Delightful! Thank you, I want to add merge sort. (Maybe somehow I’ll even do it.)

          CoffeeScript

          :thinking: ….how hard can it be?

          1. 1

            The code is less than… brilliant and I haven’t done web dev for many years now so I am sure anything you can think of will be superior to what already exists :P

            The most recent changes were somewhat hacked in but made the output ‘fair’ as before they didn’t all update at the same rates.

            You are also absolutely welcome to fork or do whatever you like with it if you’d enjoy that! It’s MIT so anybody is free to do whatever with it!

    14. 2

      This is cool looking but I can’t tell what going on. Most sorting visualizations I’ve seen visualize the sort in 1d somehow… but this uses 2d and I cant tell how it maps onto the 1d sort.

      EDIT: It looks like it is a 1d array of colors that wraps from bottom to top, left to right. But I still don’t see how to apprehend the sorting logic – either I’m missing something or it’s just supposed to be pretty rather than instructive?

      1. 3

        It’s totally designed to be pretty more than instructive though I hope it does provide something of the latter.

        The issue with a 1d representation is it’s obviously quite limited in how much you can show, so the idea is you have a vertical 1d representation in each column that simply wraps to the next from red to blue. I think it does a good job of showing the piecemeal nature of selection sort and friends and the divide + conquer nature of qsort + heap sort so there are insights!

        It’s something I did years ago but updated for fun :) as part of that I improved the ‘fairness’ of it so different sorting algorithms sorting the same number of elements should reflect the ratio between the sorts in real life, which is a radical difference, so I think that is informative too.

        The UI is a little less intuitive on that, should maybe have a lock button but my main interest these days is kernel hacking so will probably say as is, a small folly!

        1. 2

          Thanks for the explanation. It is quite nice looking!

    15. 4

      Back to day job and in my spare time, another week of working on https://linuxmemory.org/ :) currently examining VMA behaviour in the biggest chapter on process memory.

      1. 2

        Thanks for writing this, stumbled upon it now reading this thread and I know a friend it could help (works in the field soon), but even for myself this is a great resource!

        1. 2

          Thanks! I hope it is useful for people when it’s finally finished :)

    16. 2

      I have been working pretty heavily on my book (https://linuxmemory.org/) and, relatedly, contributing some patches to the linux kernel (mm) good to take advantage of some time off from work to do both!

    17. 10

      I think the key word here is empathy - of course it’s easy to feel incredibly agitated when a tool fails to work correctly what might seem like totally arbitrary reasons or even because of what might seem to you as wilful incompetence. The key thing is to stop, take a breath, and remember that this person is providing this tool to you completely for free, for a variety of possible reasons - them seeing to your raised issue is a favour not the completion of an obliged service.

      I think this feeds into a problematic level of entitlement amongst the development community due to the wide, free, availability of high-quality software. Too often we don’t stop to think about how that development comes about and it takes a shock like heartbleed to realise that our entitled view that stops short of the reality of who creates the software might be more than a little warped.

      Remember how painful it was the last time somebody made a thoughtless comment about your code or even some other aspect of your work or life. Pause to gain perspective as to the nature of what you’re receiving from the maintainer and what they owe you (nothing.) Then be very polite even if through gritted and frustrated teeth - your frustration is with electrons not flowing the right way in an integrated circuit, not this human being.