German Velasco @germsvel.com · 08/09/2026I’ll miss seeing you there. Always love to touch base with you. 😔 010
German Velasco @germsvel.com · 08/09/2026Who's going to @elixirconf.bsky.social in a couple of days? I'd love to meet up! #ElixirLang 430
German Velasco @germsvel.com · 13/08/2026So, I think if we renamed `min_demand` -> `min_threshold` or `resupply_threshold` it would remove the confusion that max & min demand bring. And that would help people understand GenStage more easily. #ElixirLang 020
German Velasco @germsvel.com · 13/08/2026I think the reason for that is that `min_demand` is not a true counterpart to `max_demand`. (`max_demand` makes sense to me) But GenStage's docs explain it correctly: ":min_demand specifies the minimum threshold to trigger for more demand" 110
German Velasco @germsvel.com · 13/08/2026That post mentions `max_demand` and `min_demand` as "the thing that trips people up the most". I totally agree. It's what's always tripped me too. It made me think: why is that? 100
German Velasco @germsvel.com · 13/08/2026This blog post by @whatyouhi.de is amazing. The best explanation of GenStage I've seen. andrealeopardi.com/posts/gensta... #ElixirLangandrealeopardi.comElixir's GenStage Demand (a Visual Explainer)Concurrency gives us more workers; demand tells us when to stop sending them work. This is what I want to point people to when we talk about "demand". 1126
German Velasco @germsvel.com · 05/08/2026😬 I guess this is how you take over a framework?static.klipy.comHomer Simpson Hides in ShrubsALT: Homer Simpson Hides in Shrubs 010
German Velasco @germsvel.com · 05/08/2026Love to hear that Mike! 🙌 Can't claim too much credit though: heavily inspired by Capybara and Wallaby. 010
German Velasco @germsvel.com · 05/08/2026Wow... didn't catch that at all 🤦♂️ Uhhh... do you think people noticed? 000
German Velasco @germsvel.com · 05/08/2026Just published Phoenix 0.12.0! 🎉 Excited for this one because it now supports `aria-label` and `aria-labelledby` Thanks to contributors for making it happen! 🥳 phoenix-test.hexdocs.pm/PhoenixTest....phoenix-test.hexdocs.pmPhoenixTest — PhoenixTest v0.12.0 3183
German Velasco @germsvel.com · 03/08/2026I keep finding that the diverge-then-converge pattern is really helpful with LLMs. So, I wrote a post about it. Hope others find it helpful! ✍️ www.germanvelasco.com/blog/diverge...germanvelasco.comDiverge then converge with LLMsOne of the patterns I've found particularly helpful with LLMs is the diverge-then-converge pattern. LLMs excel at both of those things separately, and when we put them together, they are an excellent ... 011
German Velasco @germsvel.com · 31/07/2026Through it all, I practice and teach a culture of continuous improvement so that, long after I'm gone, your team can continue the virtuous cycle of self-improvement. DMs are open, or email me at german(at)germanvelasco.com. And for more on how I work, see germanvelasco.comgermanvelasco.comGerman VelascoSoftware developer and consultant. Let's build great software together. 020
German Velasco @germsvel.com · 31/07/2026- ♻️ Process: continuously improving how your team builds, coordinates, and delivers your product 100
German Velasco @germsvel.com · 31/07/2026- 🧑💻 People: strengthening your team's technical and product skills as we improve the product (remember, your team is the engine behind your product). Mentoring, pair programming, workshops, whatever is needed to make your team the best version of itself. 100
German Velasco @germsvel.com · 31/07/2026- ✨ Product: building the best possible product for your customers. I care about the solution end-to-end. 100
German Velasco @germsvel.com · 31/07/2026For the first time in a while, I have an opening for new clients (in September). Do you need help with your product, engineering team, or an Elixir/Phoenix project? How I help teams (3 Ps) 👇germanvelasco.comGerman VelascoSoftware developer and consultant. Let's build great software together. 162
Reposted by German VelascoDavid Bernheisel @david.bernheisel.com · 24/07/2026Next time you're upgrading Phoenix and you're using AI assistance, try pointing it to elixirstream.dev/gendiff/api and tell me how it goes. cc @steffend.me #ElixirLangelixirstream.devhttps://elixirstream.dev/gendiff/api# gendiff — Markdown API for coding agents Generate a diff of a project generator's output between two versions, rendered as Markdown built for LLMs. Fetch one URL, get the diff — no UI needed. ## E... 0164
German Velasco @germsvel.com · 24/07/2026Yeah, that's a real thing -- and not just in IT. I've tried positioning from the Erlang side (been running forever), but it can be a tough hill to climb if people just prefer Java (or something else) and mask it as "less risky." 010
German Velasco @germsvel.com · 17/07/2026What are companies in the #ElixirLang space struggling with right now? AI adoption? Finding product-market fit? Team dynamics? Hiring? Something else? (I know there's varied answers, but curious if there are commonalities) 320
German Velasco @germsvel.com · 07/07/2026That's kinda what my post is about -- that planning takes so long and so many iterations. It's kinda like the 10k line PR -- the longer the plan, the less I want to read it. 100
German Velasco @germsvel.com · 07/07/2026I'm not a big fan of the big-upfront-plan approach to work with LLMs. Am I the only one? I wrote a bit about it in www.germanvelasco.com/blog/are-pla...germanvelasco.comAre plan files the new 10k-line PRs?Many people's new way of working with LLMs is to start with an idea, have the LLM create a spec (review and approve that), then have the LLM generate a very detailed plan. At that point, people have t... 121
German Velasco @germsvel.com · 25/06/2026I finally finished writing the blog post that shares some things I tried (some good, some bad) when creating ExCrap without reading the code. Hope others find it helpful! ✍️ www.germanvelasco.com/blog/i-wrote... #ElixirLanggermanvelasco.comReflections on creating ExCrap without looking at the codeI recently published ExCrap, an Elixir library for calculating Change Risk Anti-Patterns scores -- or as they're commonly called CRAP scores. It made for a perfect experiment: creating the library wit... 091
German Velasco @germsvel.com · 23/06/2026Here's the post, using the sunk cost fallacy and the loss aversion principle to analyze why people feel bad about deleting code. ✍️ www.germanvelasco.com/blog/why-dea...germanvelasco.comWhy dead code feels hard to deleteIt's always surprising when people don't want to delete dead code because they think they might need it in the future or because they worked so hard on it. Recently, I had one of those conversations w... 030
German Velasco @germsvel.com · 23/06/2026I wrote a post for whenever you have a co-worker who wants to keep dead code around. In particular, I love the loss aversion principle that I tried to capture in these two contrasting images in the post. 150
Reposted by German VelascoClaudio Ortolina @claudio-ortolina.org · 19/06/2026It was really fun! I tried to ramble as little as possible. My main point was that pi lets me build tools that are tightly integrated, and usable by me and the LLM. It helps me being more effective without relinquishing control. 121
German Velasco @germsvel.com · 19/06/2026A few weeks ago, I paired with @claudio-ortolina.org where he shared a bit about his AI workflow and how he uses pi, as he walked me through his app to manage his huge (and ever growing) record collection. Thanks again Claudio for pairing! www.elixirstreams.com/ai_files/pai... #ElixirLangelixirstreams.comElixir Streams |> Pairing with Claudio Ortolina on his AI workflowElixir and Phoenix tips, courses, and more. 050
German Velasco @germsvel.com · 16/06/2026Imagine the conversations that will ensue with other teammates.static.klipy.comKeanu Reeves: You're Welcome PleasureALT: Keanu Reeves: You're Welcome Pleasure 010
German Velasco @germsvel.com · 16/06/2026The mix task, as you might guess, is `mix crap` 🤷 It'll show you potential crap in your codebase. My goal is for @david.bernheisel.com to say it out loud in the last Thinking Elixir podcast 😅 1112
German Velasco @germsvel.com · 16/06/2026The other interesting part is that this was an “I won’t read the code” experiment for me. Small lib, so seemed like a good fit. I’ll write a blog post that talks more about that in detail with some lessons learned (for those interested). #ElixirLang 010
German Velasco @germsvel.com · 16/06/2026Just published a new library to calculate CRAP metrics (I know, that's what it’s called 🤷): change risk anti-patterns. It’s a metric composed of cyclomatic complexity and test coverage. 👇 ex-crap.hexdocs.pm/readme.html #ElixirLangex-crap.hexdocs.pmExCrap — ex_crap v0.1.0 3174
German Velasco @germsvel.com · 12/06/2026If we want to build software factories (still an if for me), how can we build good ones? And I don’t know about you, but I think it all comes down to verification. 👇 www.germanvelasco.com/blog/draw-th...germanvelasco.comDraw the rest of the ___ owl (software factory edition)My guess is that most software development teams in the world are at a point where we are drawing the two circles. Those are all the teams where developers use LLMs daily. But then you hear about team... 041
German Velasco @germsvel.com · 09/06/2026Making the decision to stop writing code by hand a few months ago was the biggest small change I made that helped me see LLMs differently. It took a while, but I finally like programming with them. Wrote a post that shares some thoughts on that 👇 www.germanvelasco.com/blog/stop-wr...germanvelasco.comStop writing code by hand (and feel the friction)If you're using LLMs in your day-to-day workflow, and you're only using them as assistants that you ask questions of (like a glorified Google in your terminal or IDE), or if you call on them like a ge... 030
German Velasco @germsvel.com · 05/06/2026I have my own setup. Not a Cursor fan, but thanks for the offer. Crit is a great tool though. Lack of links is my fault. @tomasztomczyk.bsky.social shared in different reply (but just for more visibility) the links are there 👇 bsky.app/profile/toma...bsky.app 000
German Velasco @germsvel.com · 05/06/2026A few weeks ago, @tomasztomczyk.bsky.social was kind enough to pair with me and show me his AI workflow. It was an awesome pairing session where he showed me everything, from his new tool (crit), custom skills, commands, workflows, etc. 👇 youtu.be/9c3J4J8U6a8 #ElixirLang #AIFilesyoutu.bePairing with Tomasz Tomczyk on his AI WorkflowYouTube video by German Velasco 2121
German Velasco @germsvel.com · 04/06/2026I recently finished an experiment where I tried to write (and publish) daily, so I wrote a retrospective on it. For those interested 👇 www.germanvelasco.com/blog/daily-w...germanvelasco.comDaily writing retrospectiveBack in April, I decided to write daily for my newsletter. Up to that point, my newsletter was mostly a delivery mechanism for my blog. But I wanted to change that. I wanted to write more. 280
German Velasco @germsvel.com · 03/06/2026Let's go to ExMex! I've been thinking about going there. 040
German Velasco @germsvel.com · 01/05/2026I've been writing daily in my newsletter for a couple of weeks now. Some days things just come out flowing like I've been meaning to write them for a while. This blog post was one of those (adapted from a daily post). Hope others enjoy it! ✍️ www.germanvelasco.com/blog/pair-pr...germanvelasco.comPair-programming is a cheat codeI had that written on my office whiteboard for a while last year. I had just finished working with a client for over a year where the whole team pair-programmed full-time (we also did a lot of mobbing... 041
German Velasco @germsvel.com · 27/04/2026PhoenixTest v0.11 is out! Huge thank you to all who contributed 🥳 Changelog: hexdocs.pm/phoenix_test... #ElixirLanghexdocs.pmChangelog — PhoenixTest v0.11.1 0121
German Velasco @germsvel.com · 23/04/2026Thanks @katafrakt.eurosky.social for the PR (and sorry it took so long!) 🥳 040
German Velasco @germsvel.com · 23/04/2026I decided to write daily (for 30 days) on my newsletter (www.germanvelasco.com#newsletter_f...) I really like writing as a tool to sharpen my thinking. So far, I've talked about sharpening our tools, stacking days, isoquants and isocots lines. If that sounds interesting, join me!germanvelasco.comGerman VelascoSoftware developer and consultant. Let's build great software together. 040
German Velasco @germsvel.com · 22/04/2026After some deliberation, I finally decided to make www.TestingLiveView.com free! I still think it's an amazing resource, but my focus is elsewhere now. So, I wanted to make it a free resource for the community. #ElixirLangtestingliveview.comTesting LiveViewTest LiveView effectively. Trust your code. Ship confidently. 04715
German Velasco @germsvel.com · 18/04/2026Yes! That'd be amazing. I'll take any excuse to hang out with you again. :) I'm sure you're gonna blow my mind with advanced Tidewave workflows. 010
German Velasco @germsvel.com · 18/04/2026Love it! I'll follow up via DM. And I'm interested in all use cases. Just trying to show as many people using AI in as many ways. (and selfishly, I'm almost the same. nvim+tmux+opencode. So, would love to see you work!) 010
German Velasco @germsvel.com · 16/04/2026Anybody interested in pairing with me (and recording) to show how you're using AI in your day-to-day for ElixirStreams? I think there's a lot of siloed information (and hints online). So, I'd love to shed some light with real people showing real usage. #ElixirLang 340