honestly a sad state. Obviously there is a reasonable threshold, but trying not to speak to anyone until you've done a ton of work / research when they know the answer is just sad. Like what's wrong with asking a question? We've entered this anti-human hellscape where asking a question in slack (async) is somehow a crime, like posting an opinion without a double-blind study to back it up (burn him!).
And the same people who are complaining about time wasting of having to ask/answer a question from a coworker which might create a modicum of civility and connection in this bitter cruel world are the same shit-posting on social media and doom watching youtube all day. "My flow can't be interrupted, I need all my energy to refactor this column from VARCHAR to TEXT, and to update this button from onClick inline to using a named closure".
Please, the reality is that we sold human connection for an illusion of productivity and the bitter pill of isolation where we all now feel guilt and shame for wanting to talk with other people (through an albeit disconnected and disembodied asynchronous channel).
If anyone responds with "I don't have time to respond I'm so busy", please realize you are proving my point. You are literally doom scrolling YC for no reason and alienating / pushing away coworkers to argue with internet strangers, sad.
My threshold for asking for help might be a little higher than the median, but, I like this operating style personally. Maybe it's just how I was raised, but the thought of not trying to figure something out for myself first is unthinkable. I fill like I get plenty of human connection at work and collaborate with peers and other disciplines plenty.
I'm not in tech, I'm in civil engineering so maybe it's just a difference in the types of problems we have in different industries.
I do find it very frustrating when an EIT asks me how to do something and it's clear that they haven't even read the instructions page to the excel sheet that they literally have open. I have time to mentor peers and subordinates but I want them to treat my time with the same respect that they treat their own.
hey that's perfectly understandable, and yeah, definitely there is a group that wants you to "do the work for them". I was reacting more to a kind of question/chat shaming I've seen -- where engineers act like they're optimizing 99% of their precious time and mental energy and can't be bothered to make a humanized workplace experience for others.
I think he meant "show me a true linked list / node graph in rust that isn't unsafe". The reason being its not possible using c-style pointer following (or without just putting everything auto-pointers). What you've shown is exactly the tradeoff they were referring to. In rust, the answer is: make sure lifetime of all memory is explicitly managed, then use integers for the 'links' between nodes.
His point was that for his programming, he wants to be able to make real pointers and real linked lists with memory unsafe, which Rust makes difficult or opaque. For example with linked list, you could simulate (to avoid unsafe), by either boxing everything (so all refs are actually smart pointers), or you can use a container with scoped memory lifetime, and have integers in an array that are the "next" pointer. In addition to extra complexity, the "integers as edges" doesn't actually solve the complexity, it just means you can't get a bad memory error (you can still have 'pointers' that point to the wrong index if you're rolling your own).
Same with your graph code. Using a COO representation for a graph does in theory make it "memory safe" (albeit more clumsy to use if you are doing pointer-following logic), and it also introduces other subtle bugs if your logic is wrong (e.g. you have edge 100 but actually those nodes were removed, so now you're pointing at the wrong node).
I think the point (which I agree with for things like linked list, graph, compiler) is that depending on your usecase, the "safety" guarantees of rust are just making it harder to write the simplest most understandable code. Now instead of: `Node* next` I have lifetimes, integer references, two collections (nodes and edges) to keep in sync, smart pointers, etc. Previously my complexity was to make sure `next != null`, now its a ton of boilerplate and abstractions, performance hits, or more subtle bugs (like 'next' indices getting out of sync with the array of 'nodes').
If there was a way to explicitly track the lifetime of an arbitrary graph/tree of pointers at compile time, we wouldn't need garbage collection -- its not solvable at compile time, and the complexity has to live somewhere.
> it also introduces other subtle bugs if your logic is wrong (e.g. you have edge 100 but actually those nodes were removed, so now you're pointing at the wrong node
This is not actually a different kind of bug; it's just use-after-free, which you can of course get when using pointers instead of indices.
Actually it's slightly safer than pointer use-after-free because it is type safe and there's no UB.
Also some of the Rust arenas give you keys (equivalent to pointers) which can check for this. There's a good list here (see "ABA mitigation"):
Yeah the usual mott and bailey. Monday -- AI is taking over the world, tremble in fear! Tuesday -- sure it did a boneheaded thing, its just a tool, no better than an intern, actually its _your_ fault, all the data in the entire world isn't enough to train this system not to delete prod!
Yeah I think there are two definitions of determinism people are using which is causing confusion. In a strict sense, LLMs can be deterministic meaning same input can generate same output (or as close as desired to same output). However, I think what people mean is that for slight changes to the input, it can behave in unpredictable ways (e.g. its output is not easily predicted by the user based on input alone). People mean "I told it don't do X, then it did X", which indicates a kind of randomness or non-determinism, the output isn't strictly constrained by the input in the way a reasonable person would expect.
The correct word for this IMO is "chaotic" in the mathematical sense. Determinism is a totally different thing that ought to retain it's original meaning.
Kind of crazy they are posting statuses to reddit. Thought the complaints about "why not status page and email?" are very valid -- seems kind of unprofessional. If I'm paying $200 per month per user for a service, an email or a message from the claude interface itself would be nice, so I don't have to stumble on this in random forums.
Agreed. I block Reddit, Instagram, Facebook, Twitter on my phone and work computers to avoid impulsive doom scrolling with the time vampires. I never would have seen this announcement. Reddit should not be viewed as a channel for corporate communications.
Photoshop is a good example -- not that I agree with everything in the app, but just to design all the interactions properly in photoshop would take hundreds of hours (not to mention testing and figuring out the edges). If your goal is a 1-to-1 clone why not use Krita or photoshop? With LLM you'll get "mostly there" with many many hours of work, and lots of sharp edges. If all you need is paint bucket, basic brush / pencil, and save/load, ok maybe you can one-shot it in a few hours... or just use paint / aesprite...
In this case, I see the author's point. The DJ isn't being advertised as "a narrow tool to select some random pop tunes". If an average person is told this is AI, has a full text interface and responds with "sure I'll do what you asked" and appears to understand, then they expect it to do what it is asked.
We're told its better than people at selecting songs (e.g. has the combined wisdom of all music and music experts), basic requests like "play the first movement of Beethoven's 7th" don't sound hard for an average person with limited / no musical expertise. If I said "please play the entire 7th symphony", and the tool responds with "sure, I'll play the whole thing", then proceeds to play the Beatles, I'd say that's a fair thing to point out as a shortcoming.
Its only obvious to tech people that understand that the technology has extreme limits and only works well on areas with abundant high quality data and labels, and can't be expected to reason like a person at all in many cases, that those limits seem as obvious as hammer / screw-driver. And that given how spotify developed these models, they probably didn't really intend classical or test that area -- so it fails despite sounding confident.
But maybe we should stop advertising screwdrivers as universal intelligence? There's a lot of mott and bailey going on. When AI makes mistakes its "just tools, stop expecting intelligence." However, when people question the AI hype its "humans make mistakes too, LLMs are truly reasoning and better most humans already." And "the entire labor economy will be replaced, human DJs will cease to exist.".
There's a simple solution. If a medical malpractice happens, law suit against the LLM company. If their license is revoked as part of that finding, unfortunately that applies to the "doctor" (e.g. ChatGPT).
Same for self-driving. Just hold each car like a normal driver, the owning AI company has liability. So after ~20 tickets and accidents in a week, a few ambulances being blocked, the only option is to revoke the driver's license (of which, all the cars share one, as they have the same brain).
This would make AI companies more cautious and only advertise capabilities they actually have and can verify. They would be held to the standard of a human. I think that's reasonable (why replace humans if the outcome is worse, and why reduce protections for individuals).
To make the analogy more clear: even if a telemedicine doc sees 10,000 patients a day all over the world, they would be held liable for any medical malpractice. Bad enough, and their license would be revoked, regardless of the fact that they see many patients all over the world. Same deal with AI / LLM -- if ChatGPT is making medical advice and it hurts someone, that's the same as a human doing so -- its malpractice and lawsuits can happen.
If they are somehow licensed, well then that license can be revoked. We would revoke a human's license for a single offense in some cases, the same should occur with AI.
they can be continuously updated, assuming you re-run representative samples of the training set through them continuously. Unlike a mammal brain which preserves the function of neurons unless they activate in a situation which causes a training signal, deep nets have catastrophic forgetting because signals get scattered everywhere. If you had a model continuously learning about you in your pocket, without tons of cycles spent "remembering" old examples. In fact, this is a major stumbling block in standard training, sampling is a huge problem. If you just iterate through the training corpus, you'll have forgotten most of the english stuff by the time you finish with chinese or spanish. You have to constantly mix and balance training info due to this limitation.
The fundamental difference is that physical neurons have a discrete on/off activation, while digital "neurons" in a network are merely continuous differentiable operations. They also don't have a notion of "spike timining dependency" to avoid overwriting activations that weren't related to an outcome. There are things like reward-decay over time, but this applies to the signal at a very coarse level, updates are still scattered to almost the entire system with every training example.
And the same people who are complaining about time wasting of having to ask/answer a question from a coworker which might create a modicum of civility and connection in this bitter cruel world are the same shit-posting on social media and doom watching youtube all day. "My flow can't be interrupted, I need all my energy to refactor this column from VARCHAR to TEXT, and to update this button from onClick inline to using a named closure".
Please, the reality is that we sold human connection for an illusion of productivity and the bitter pill of isolation where we all now feel guilt and shame for wanting to talk with other people (through an albeit disconnected and disembodied asynchronous channel).
If anyone responds with "I don't have time to respond I'm so busy", please realize you are proving my point. You are literally doom scrolling YC for no reason and alienating / pushing away coworkers to argue with internet strangers, sad.
reply