Every LiveView mounts twice — once for the dead render, once when the socket connects. Everyone reaches for connected?(socket), but it doesn't stop the double mount; it just hides it. What that quietly costs you, and how to actually mount once:
https://t.co/NCtQkyzjyU
The Elixir Mentor cheat sheet just got a big update.
3 pages now covering IEx, mix, Ecto, Phoenix, git, docker, Vim, and asdf. Everything I reach for daily, in one place.
Grab it free: https://t.co/8AVkly9FYy
Always loved lean frameworks for quick work and as such I'm really happy to share that me and @nelsonmestevao built a "Sinatra" for @elixirlang based on Plug and Bandit 🧵(1/7)
https://t.co/WsaA8lpGwO
This might be the most insane Docker repo on GitHub right now 🤯
It lets you run full macOS inside a Docker container and open it straight from your browser.
- Spin up macOS with a single Docker command
- Run full macOS on Linux using QEMU/KVM
- Open it instantly in the browser
- Supports multiple macOS versions
- Perfect for testing, CI, and macOS-only tools
This is the kind of project that makes you question what Docker can’t do.
Repo: https://t.co/qUFxQ4lclw
🚨 ISSO É MUITO, MUITO GRAVE
O pior pesadelo da indústria de software acabou de acontecer.
Alguém envenenou o LiteLLM no PyPI. 97 milhões de downloads por mês. Um simples "pip install" roubava TUDO da sua máquina.
Chaves SSH. Credenciais AWS/GCP/Azure. Kubernetes configs. Wallets de crypto. Senhas de banco de dados. Variáveis de ambiente. Tudo.
Mas a parte mais assustadora não é essa.
O malware usa um arquivo .pth que executa automaticamente em TODO processo Python. Você nem precisa importar a biblioteca. Basta ter instalado. Cada script Python na máquina ativava o payload.
Mas aqui está o detalhe que deveria tirar seu sono:
O LiteLLM existe pra uma coisa: ser o gateway único entre seu código e todos os provedores de IA. OpenAI, Anthropic, Google, dezenas de outros. Por definição, o ambiente onde ele roda concentra TODAS as suas API keys de LLM num lugar só.
O atacante não escolheu um pacote qualquer. Escolheu o único que já nasce com acesso a cada chave de cada provedor da sua organização.
Targeting cirúrgico.
E o pior: o ataque só foi descoberto porque o atacante escreveu código ruim.
Vibe coding nos salvou. Dessa vez.
O padrão que ninguém quer reconhecer:
→ 19 de março: TeamPCP compromete o Trivy (scanner de vulnerabilidades da Aqua Security)
→ 23 de março: Checkmarx KICS comprometido
→ 24 de março: LiteLLM envenenado via pipeline CI/CD do próprio Trivy
→ Credenciais roubadas alimentam o próximo ataque
O que a Wiz chamou de "loop": ferramenta de segurança comprometida → pacote popular comprometido → credenciais de dezenas de milhares de ambientes nas mãos do atacante → próximo alvo.
A mensagem do TeamPCP no Telegram: "Essas empresas foram feitas pra proteger suas supply chains e não conseguem proteger nem as delas."
Karpathy resumiu perfeitamente: cada vez que você instala qualquer pacote, está confiando em cada dependência na árvore inteira. E qualquer uma pode estar envenenada.
A engenharia de software clássica ensina que dependências são boas. Que estamos construindo pirâmides com tijolos. Essa era acabou.
O próximo ataque não vai ter um bug que crasha a máquina pra te avisar.
I've built a new JavaScript runtime that runs inside the BEAM.
Every JS runtime is a GenServer with its own OS thread. No JSON anywhere — JS objects map to BEAM terms natively through a lock-free queue.
What makes it different from running Node/Deno/Bun alongside Elixir:
→ JS runtimes live in supervision trees. They crash, restart, recover state — standard OTP
→ fetch() goes through :httpc. WebSocket through :gun. crypto.subtle through :crypto. BroadcastChannel through :pg — works across a cluster
→ The DOM is lexbor (C library). JS renders into it, Elixir reads it directly — no serialization, no re-parsing
→ Workers are BEAM processes. They get preemptive scheduling for free
→ TypeScript toolchain (OXC) and npm client built in — no Node.js on the machine at all
Full control over the JS layer: parse ASTs, bundle imports, transform TypeScript, minify — all from Elixir via OXC NIFs.
Use cases:
— SSR with Preact/React into native DOM, Elixir reads the tree
— Sandboxed user-defined business rules with memory limits, timeouts, and a controlled API surface
— Parallel Workers that compute and broadcast via distributed process groups
— Evaluating or bundling TypeScript without any external toolchain
— Running npm packages inside the BEAM
Still a research project in early beta. Covered with tests including Web Platform Tests ports, but expect rough edges.
https://t.co/OCB2aoombd