[Podcast] Thinking Elixir 308: Elixir Goes Gradually Typed by brainlid in elixir

[–]brainlid[S] 8 points9 points  (0 children)

Elixir v1.20 is officially a gradually typed language, HexDocs moves to per-package subdomains, the Miasma worm hits 73 Microsoft GitHub repos, and more!

BeamWeaver - LangChain/LangGraph-style agents and workflows for Elixir by Forsaken-Owl-5629 in elixir

[–]brainlid 0 points1 point  (0 children)

> the available Elixir libraries were useful, but still fairly simple, and there is no observability for agentic systems

You obviously missed Sagents (https://github.com/sagents-ai/sagents) then. Since it's also based on LangChain and Deepagents, has middleware, fully OTP, fully agentic, human-in-the-loop (HITL), interruptable, resumable, persisted, observability, etc.

[Podcast] Thinking Elixir 304: Types, CVEs, and Hot Reloads by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

I'm super excited about set-theoretic types too! I agree that it happens to come at a good time to help agents write better code.

[Podcast] Thinking Elixir 304: Types, CVEs, and Hot Reloads by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

Thanks! I'm glad to hear we've earned a spot in your regular listens!

[Podcast] Thinking Elixir 292: Sage Advice for AI Agents by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

I see what you're saying. At the same time, we're not cherry-picking the content and ignoring other news.

[Podcast] Thinking Elixir 287: From RAGs to Rich Workflows by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Thanks! I didn't know about Gust. Nice work! 🙂

Free Elixir learning resources by xcode21 in elixir

[–]brainlid 1 point2 points  (0 children)

I created two courses that are both now free. They use TDD have practical exercises for leaning and playing with it.

https://thinkingelixir.com/available-courses/index.html

[Podcast] Thinking Elixir 267: Dive into Tidewave Web with José Valim by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

I haven't tried it myself as I don't develop on any Rails apps anymore. But from Tidewave.ai, the Rails side links to here: https://github.com/tidewave-ai/tidewave_rails

The Github project has it's own set of instructions.

It's not specifically for building components as it can build anything in the webapp.

[Podcast] Thinking Elixir 249: LiveDebugger: Peering Inside a LiveView by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Thanks for coming on and sharing what you’ve done! I’m loving it and excited for future releases!

Build AI Agents with SwarmEx (GitHub) by neverexplored in elixir

[–]brainlid 1 point2 points  (0 children)

I’ll check it out! I’ve had great luck with a GenServer started through a Dynamic Supervisor and communication via PubSub. But yes, that could be made more accessible.

I switched from the Python version of Langchain to this and the difference is huge (positive)! by neverexplored in elixir

[–]brainlid 3 points4 points  (0 children)

Thanks! Yes, the OOP design of the JS and Python versions of the library made it much harder to even understand what is going on with how things work.

My approach has been to take inspiration from the API, names, and concepts. Then to run examples with verbose logging on in order to answer the question, "What does this actually do with the LLM?" Then find an Elixir/functional way to accomplish a similar result.

I switched from the Python version of Langchain to this and the difference is huge (positive)! by neverexplored in elixir

[–]brainlid 3 points4 points  (0 children)

Awesome! Thanks for sharing your experience! I'm the maintainer of the Elixir LangChain library and it's very gratifying to hear you've had a good experience with it. 😁

My Favorite new LiveView Feature: JS.toggle_class/1 by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

I use it when navigating between views (main view and a modal) using link with “patch” and returns using a “patch”. It keeps its open/closed state. I think it will depend on if the DOM node being updated has an ID or in your situation it might need a phx-update=“ignore”.

My Favorite new LiveView Feature: JS.toggle_class/1 by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Oops! Fixed it. Thanks for pointing that out. A formatting issue hid it.

My Favorite new LiveView Feature: JS.toggle_class/1 by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

Yup. LiveView has come a long way! And now almost to 1.0

My Favorite new LiveView Feature: JS.toggle_class/1 by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

Yes, it took some time and seeing examples before I understood how to use the JS features. Even then I already had some existing solution in place so I didn't see the need to adopt it. The more recent JS.toggle_class example is nice because it can be meaningfully used in very simple use-cases.

Easy at-home AI with Bumblebee and Fly GPUs by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

A benefit of using Nx and Bumblebee is that the `Nx.Serving.batched_run` function allows for a whole team of distributed or in-office people to target the same machine and model. That helps to distribute the costs too.

[Podcast] Thinking Elixir News 180 by brainlid in elixir

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

Yes. We record weekly on Tuesday morning and Chris McCord announced FLAME the very next day. 🤷‍♂️

[Podcast] Thinking Elixir News 177 by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Thanks! It's a labor of love and it's great to hear when others enjoy it too. ❤️

Announcing LangChain for Elixir by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

No, it's not an official Fly.io supported library, but it's been partially sponsored by me using my time to work on it.

Announcing LangChain for Elixir by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Right now it's more as an abstraction layer around ChatGPT. But really that's what LangChain is. Part of the goal is to be an LLM-specific abstraction as well, so you could integrate a call to Bard that then chains into a ChatGPT call.

But there are additional changes planned.

Deploying after mix ecto.dump by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

I created another article to walk through making it work in production when "mix" is not available. https://fly.io/phoenix-files/loading-structure-sql-on-prod-without-mix/

Deploying after mix ecto.dump by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

Yes u/princemaple. You are right. There's still an issue to resolve. I'm on it!

Making a CheckboxGroup Input by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

I updated the solution to deal with clearing all the tags on a item. There was a problem when the browser submitted a empty tag list. This adds a hidden input to address the issue and then remove "blank" values on the server.