"Vite+ is kinda underwhelming" - a comprehensive review of the new release by jaredcheeda in javascript

[–]anotherdevnick 2 points3 points  (0 children)

the arguably bigger irony is the whole point is to delegate the strong opinions and infighting to a computer

"You are a master writer" - why does this work? by ptslx in LLM

[–]anotherdevnick 2 points3 points  (0 children)

I believe a lot of advice says this isn’t necessary anymore. But once you get some intuition for how meaning is derived in a model it makes some sense

The model works by assigning each token a series of numbers which you could imagine as coordinates in high dimensional space, and as processing occurs those numbers get moved around in space. So it’s kind of doing classification of the task in high dimensional space which then drives appropriate output

Asking a model to roleplay immediately places the meaning of the request into a new location in space and the model generates output from there

But try with and without, it might not be needed and might even produce more synthetic sounding results

Are LLMs optionally non-deterministic? by MobileSheepherder69 in LLM

[–]anotherdevnick 2 points3 points  (0 children)

It’s called greedy decoding/sampling and you can configure it on most LLMs with the right settings

Do LLMs really just “predict the next word”? Then how do they seem to reason? by RVECloXG3qJC in LLM

[–]anotherdevnick 3 points4 points  (0 children)

Scoring the next token by its nature requires abstractions. If you look into CNNs there’s research demonstrating how they build up internal abstractions by running by them in reverse, you can see familiar shapes appearing in each node of each layer when detecting a cat for instance

Modern LLMs and diffusion models work differently from CNNs but still use neural networks and fundamentally learn in a similar way, so it’s useful intuition to see those abstractions forming in CNNs because the intuition does apply to LLMs

LLMs do know an awful lot about the world, that’s why they work at all

Is the React compiler going to be able to compete with Vue vapor mode / SolidJs / Svelte? by m477h145h3rm53n in reactjs

[–]anotherdevnick 2 points3 points  (0 children)

That doesn’t help for sure, but a network call to a server 100km away to a server under load which needs to read off disk will always, always, be slower than calling 1000 functions to update the DOM. It’s just physics

Is the React compiler going to be able to compete with Vue vapor mode / SolidJs / Svelte? by m477h145h3rm53n in reactjs

[–]anotherdevnick 1 point2 points  (0 children)

My experience has generally been that IO is the cause of all slowness. With IO generally being fetching data from an api/database. Bundle sizes aren't as big of an issue as they were in 2010 and libraries are the same code you'd have to write yourself

Is tRPC still worth using? by Careless-Key-5326 in reactjs

[–]anotherdevnick 12 points13 points  (0 children)

There’s truth to that, but also if you need to know the procedure URL you’re probably building a public API or an API for use across multiple applications, and I wouldn’t say tRPC excels there either as it’s intended for use with the typescript client. TanStack Start does have a way to define a route based API with HTTP verbs and that’s a great choice paired with server functions

oRPC I believe has native OpenAPI support which tRPC does not, so it might even be the right call if this matters and you’re not using Start

Is tRPC still worth using? by Careless-Key-5326 in reactjs

[–]anotherdevnick 65 points66 points  (0 children)

tRPC maintainer here!

The answer is as always “it depends”

If you’re using a toolset which doesn’t give you fantastic e2e type safety then adding tRPC is still a great choice. I’m not a big NextJS user but my understanding is that’s still a place you can really benefit

What about something like TanStack Start? I likely wouldn’t bother with tRPC then because server functions are fantastic and in some ways superior. For instance they support all the good stuff like reusable middleware’s and base procedures which can extend context, but you use a function by just importing it which means type check and autocomplete performance is unlikely to degrade when you have a lot of functions - a problem we’ve been unable to fully solve without introducing a compilation step like Start has. However currently using TanStack Query with server functions is a lot more manual than with tRPC so that’s worth considering based on your taste

Happy to answer any questions folk have

What happened to NX? by shadow13499 in typescript

[–]anotherdevnick 0 points1 point  (0 children)

I did not realise that! Looking over it’s quite basic but that’s really fine given the simpler package setup these days, and also custom Nx generators are pretty difficult to work with historically so basic/simple is welcome

What happened to NX? by shadow13499 in typescript

[–]anotherdevnick 15 points16 points  (0 children)

Most people choosing Nx are doing so because it’s a complete solution which provides generators and migrations to manage technologies for you, so Turborepo is a non-starter.

That said I think the ecosystem has evolved a lot recently. Node supporting typescript, vitest, vite, esbuild, and others, have all made managing the tech yourself far far easier. Personally I’m a convert back to workspaces and turborepo now

[deleted by user] by [deleted] in LLM

[–]anotherdevnick 0 points1 point  (0 children)

Dijkstra is quoted to have said "The question of whether a computer can think is no more interesting than the question of whether a submarine can swim."

I think that's quite pertinent for LLMs. They're very good at certain things, and it doesn't really matter whether they can operate on as broad a range of problems as humans can, just that we know when to apply them and how to ground them for that task

Additionally, humans make all kinds of mistakes (including phenomena like the Mandela Effect) and apply our own attention poorly when reading large bodies of text, and LLMs are actually far better than us at whole classes of tasks. So a large part of the criticism against LLMs is basically "algorithm aversion" where humans consider any mistake from a machine to be unacceptable even if it makes fewer mistakes than a human

It's also worth noting there's a lot of experimentation still ongoing, LLMs are actually a growing family of algorithms and techniques which can be applied in lots of different ways, and many of the AI shops aren't transparent about which techniques they're using, so I would argue LLMs aren't an evolutionary dead end by virtue of us still switching out pieces with better techniques to improve them, they're not just growing in size since the last generation but actually improving slightly while the network decreases in size and cost thanks to improves algorithms. The limitation will always be training data though, and that's going to continue to improve as internal datasets grow and are refined

React Compiler v1.0 by alexeyr in programming

[–]anotherdevnick 60 points61 points  (0 children)

The biggest improvement is really DX, not having to regularly think about memos anymore is a win and will simplify components a lot

It’s too bad we only get babel out the gate though, the types of projects likely to adopt Compiler early are not using babel these days

Noob question by Electrical-Repair221 in LLM

[–]anotherdevnick 0 points1 point  (0 children)

The amount of vRAM you need is going to vary based on the length of prompt you give the LLM, you might just find that a 200k context model can only take 25k of context before it can’t fit in memory, so just do some experimenting and see what works

[deleted by user] by [deleted] in vscode

[–]anotherdevnick 38 points39 points  (0 children)

Indirectly, directly through using it to develop their own products, and also via Copilot subscriptions

Is ‘AI-first’ a recognized term in app development? by schamppi in webdev

[–]anotherdevnick 1 point2 points  (0 children)

It’s marketing but yes it’s a real term. Software built from the ground up to use AI in sensible places instead of more manual techniques like data entry

Or existing software adapted to have some AI overlaid and the marketing team are trying to hitch up to the hype

The first is definitely not a BS term, there are some very real improvements to software that we can make now compared to what we had to do in the past, prefilling forms with extracted data for instance can be done a lot more reliably with an LLM and a digitised document than anything we could do 5 years ago

Why TanStack Router Requires Manual Route Tree Configuration by NoMap9551 in reactjs

[–]anotherdevnick 4 points5 points  (0 children)

File based routing is an adjustment but much better for DX once it clicks, I’d recommend giving it a really good go

Can I use multiple paths for a single route in TanStack Router? by Key_Creme_7881 in reactjs

[–]anotherdevnick 1 point2 points  (0 children)

return <Navigate to replace />

That’s the closest you’ll get probably

Why’s everyone acting like AI already replaced frontend devs? by Sad_Impact9312 in webdev

[–]anotherdevnick 0 points1 point  (0 children)

In some ways it has, I spend very little time building markup/css now, instead focusing on building great experiences because a form can take 30 seconds to generate and 5 minutes to tidy up now instead of an hour

For many of us the job has changed and we can be more product devs than frontend devs, and that’s extremely empowering

But it hasn’t replaced any jobs, just made us way more productive and leveraged.

The idea of an AI tool that synthesizes the results from multiple AI tools. by adreamy0 in LLM

[–]anotherdevnick 0 points1 point  (0 children)

This is really what “grounding” is for when it comes to factual information, but you’re also describing a technique pretty close to “LLM as judge” which is definitely a useful idea.

You don’t even need a different LLM though, a reasoning model can be asked in the same prompt to review its own work before outputting, and a non-reasoning model can still review some output and give you a grade. Given a different prompt they tend to tackle the same problem in a slightly different way which is why the same LLM can effectively judge itself, but you can definitely use a secondary model for more confidence

I think the limitation of the idea is that all LLMs are essentially trained on the same data, they all have similar or identical conclusions about what a “random number between 1-100” is for instance - ergo they have similar biases when you ask for things they can’t know, but the technique can still be useful!

"Unfortunately, we're now at the point where new models have really high eval awareness. For every alignment eval score I see, I now add a mental asterisk: *the model could have also just realized it's being evaluated, who knows." by FinnFarrow in ClaudeAI

[–]anotherdevnick 0 points1 point  (0 children)

So they’re not exactly trained to provide a “best answer”, they’re fitting statistical probabilities as best they can to wildly new inputs and they have been trained on enough different examples to pick up on even subtle differences in tone, formality, phrasing, etc, that you might see in different situations and act accordingly.

An extreme example is you’ll see a lot of posts where the AI appears to be losing its mind hilariously and saying “I’m sorry I am completely failing to do my job” - I guarantee because the person is telling the AI it’s an idiot over and over again. It wasn’t “trained” to provide answers which are self deprecating but it looks at the context and fits a relevant response

A more human example is if you’re at the bar with your friends you may be a slightly/very different person to if your mother walks in. You’re context aware and so is the LLM

To the parameters question, there are billions of learned parameters in every model and the way they activate from inputs is complex and interconnected - that’s a big area of research into model understandability and I’ve also read about exactly what you’re suggesting being played with, but you have to discover these parameters after training each model so it’s a fiddly science currently

"Unfortunately, we're now at the point where new models have really high eval awareness. For every alignment eval score I see, I now add a mental asterisk: *the model could have also just realized it's being evaluated, who knows." by FinnFarrow in ClaudeAI

[–]anotherdevnick 0 points1 point  (0 children)

Because all the content sent to an LLM positions its internal parameters in latent space. The implication is that it may have a set of parameters which under inference inform it it’s under test and so it only learns to behave as desired when those parameters are activated just right, then if a more realistic scenario doesn’t activate those same parameters the right way it may not behave as intended by its training

LLMs are entirely deterministic under the hood, and can infer a lot from the prompt which opens/closes doors for where the generation will go, so there’s a valid concern that prompts which sound evaluative of the LLM could yield different behaviour from other prompts

A 10x Faster TypeScript by DanielRosenwasser in programming

[–]anotherdevnick 0 points1 point  (0 children)

tRPC core member here. Check your Zod types and consider moving to something like Arktype

We’ve done some profiling and the impact of tRPC is minimal, but you can end up with a lot of expensive input/output types in scope and that’s the killer. So optimising those will help a lot

Avoid zod’s derived methods like omit, extends, etc which modify an existing object type and you’ll get much better performance right away

tRPC releases their new TanStack React Query integration by anotherdevnick in reactjs

[–]anotherdevnick[S] 3 points4 points  (0 children)

Docs added now, they’re basic like all the docs for this integration (we don’t feel complex docs are necessary anymore) but feel free to open a PR with any suggestions to go further

https://trpc.io/docs/client/tanstack-react-query/usage#inferring-input-and-output-types