preciz

preciz

Aider + claude 3.5 sonnet works really well with Elixir

I just want to tell you guys that I have started using aider and since I paired it with claude 3.5 sonnet it has been a game changer.

I was able to accomplish tasks that I had delayed for ~2 years in just minutes.

One of these tasks was that we had an old modal that was still using vanilla JS from the old times when LiveView didn’t have the JS module.
I linked the docs to aider with the
/web https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.JS.html

Then after adding the necessary files and shortly prompting it, I waited for the result and it was done.

This combination well deserves the hype.
(I’m not associated with any of the above)

#ai

Most Liked

preciz

preciz

The top model on Aider LLM leaderboard is claude-3.5-sonnet.

I have switched from OpenAI 4o and in my experience in Elixir claude 3.5 sonnet is way ahead.

sbuttgereit

sbuttgereit

I agree with you that LLMs absolutely give no guarantees that they’ll always be correct and that they can be confident in their failures. However, the lesson from an example like this shouldn’t be to conclude that LLMs aren’t useful or helpful in general. They are both useful and helpful more than they’re not… so long as you’re using them correctly and come to them with proper expectations. They are not going to write your application for you or replace the programmer: in fact, I think it takes a more senior developer to really extract the benefit from these tools at this point. I look at LLM given solutions/code much the same way I might approach a Stack Overflow answer to a question I have… often times I find at least enough to set me on the right path… but I also see answers that, through the lens of my experience, I know somehow just “aren’t right” or complete, etc. If I ask the LLM to write code for me, I’m now viewing it very much as a junior developer whose code I need to carefully review. The answers or code don’t always work out or save time, but over repeated iterations, I find that overall I’m clearly more productive.

I also find that these things can be helpful in just explaining the code written by others. What turned my opinion on LLM utility was a task I was asked to do. I was given an MS SQL Server T-SQL routine to convert to PostgreSQL PL/pgSQL which was a long mess of nested loops and conditionals. Another developer on the project asked an LLM to convert the procedure to PostgreSQL and it didn’t work so I got the ask. After my failing to get a correct result a couple of times (missing a conditionally set value a couple of nesting levels away kind of things and not having an example of what actual inputs or outputs were) I turned to the LLM… but I didn’t ask it to create the code, I simply asked it to tell me what the T-SQL routine did in plain English. The LLM got that description spot on, which I could verify, and I was able to produce a correct results (by hand) in a single well structured SQL query at around a third the amount of code. At that point I was sold but also understood the role the LLM should play in the workflow.

Finally, we mustn’t forget that humans can provide wrong answers with strident confidence as well. The original posing of the “Monty Hall Problem” (Monty Hall problem - Wikipedia), and many of subsequent responses to the published solution, demonstrated that, while we may fail in different ways than an LLM, we still can fail with great certitude that we’re right. So I will continue to ask for help from colleagues and delegate tasks to other humans, too… but I’ll also consider the possibility that the answers I get will be wrong or flawed in some way and so will never suspend my judgment or critical evaluations.

preciz

preciz

Auto commits were annoying for me too so I have this in my .aider.conf.yml:

  ## Enable/disable auto commit of LLM changes (default: True)
  auto-commits: false
  
  ## Attribute aider code changes in the git author name (default: True)
  attribute-author: false
  
  ## Attribute aider commits in the git committer name (default: True)
  attribute-committer: false

Last Post!

restlessronin

restlessronin

As a non-IDE option, I offer this tool that I built for providing code context to (primarily) Claude Projects. But it works with OpenAI GPTs as well as LLM chats that don’t have “knowledge” files. It might be particularly useful with o1/o1-mini ATM, since those chats don’t yet allow attachments.

I basically paste my entire codebase in one operation into “Knowledge” in a Claude 3.5 Sonnet Project and work on each task in a single chat. It’s shocking how effective it is.

I’m not knocking Aider/Cursor/Continue, they’re all wonderful projects. It’s just that I find I’m more productive in a chat environment where I go through many iterations on AI generated code before I’m happy with the result. I also like knowing exactly what’s in the context and what the prompt is.

And yes, the tool was dogfooded / bootstrapped with itself :wink:

https://github.com/cyberchitta/llm-context.py

Happy to get feedback from any users. Since this isn’t an elixir project, it might be better to provide specific feedback on the project issues tab, rather than here.

Where Next?

Popular in Discussions Top

restack_oslo
Hello, Please pardon me for any faux paux. I am 46 and this is my first time on a forum of any kind. I wanted to to get answers from tho...
New
slashdotdash
Phoenix Live View is now publicly available on GitHub. Here’s Chris McCord’s tweet announcing making it public.
New
mikl
I wanted to capitalize a string, and tried using String.capitalize(). That generally works well, until you try to capitalize a word like...
New
opsb
We’re considering our architecture from a viewpoint of scaling our traffic heavily over the next 6 months. Our current deployment is runn...
New
marciol
Please, let me know if this kind of discussion already took place in another topic . Hi all, how do you consider if is better to build ...
New
crispinb
On reading dhh’s latest The One Person Framework it strikes me that Phoenix with LiveView is already pretty much this. However, never hav...
New
arcanemachine
https://nitter.net/josevalim/status/1744395345872683471 https://twitter.com/josevalim/status/1744395345872683471
New

Other popular topics Top

rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54921 245
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42533 114
New

We're in Beta

About us Mission Statement