Denis Stetskov describes how we’ve “normalized catastrophe” in the software industry, Meta is officially handing React and React Native over to a foundation, The New Stack reports on GitHub’s Azure migration priority, Miguel Grinberg benchmarks Python 3.14, and The Oatmeal’s Matthew Inman published his take on AI art.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Elixir creator, José Valim, is throwing his hat into the coding agent ring with Tidewave –a coding agent for full-stack web development. Tidewave runs in the browser alongside your app, but it’s also deeply integrated into Rails and Phoenix. On this episode, José tells us all about it. Also: his agent flow, YOLO mode, an MCP hot take, and more.
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Our friends at Cult.Repo launch their epic Vite documentary on October 9th, 2025! To celebrate, Jerod sat down with Evan You to discuss Vite’s adoption story, why he raised money to start VoidZero, how developer documentaries get made, open source sustainability, and more.
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Abner Coimbre makes a compelling case why our biggest technical talent should abandon for-profit social platforms, Noah Brier creates a Claude Code and Obsidian starter kit, Bharath Natarajan documents the Vercel vs Cloudflare fight, Toolbrew is a well-designed website brimming with common utilities, and Yusuf Aytas analyzes why over-engineering happens.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Over the past two months, we’ve seen some of the most serious supply chain attacks in npm history: phishing campaigns, maintainer account takeovers, and malware published to packages with billions of weekly downloads. What is going on?! What can we do about it? Our old friend, Feross Aboukhadijeh, joins us to help make sense of it all.
Join the discussion
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Charlie Marsh built Ruff (an extremely fast Python linter written in Rust) and uv (an extremely fast Python package manager written in Rust) because he believes great tools can have an outsized impact. He believes it so much, in fact, that he started an entire company that builds next-gen Python tooling.
On this episode, Charlie joins us to tell us all about it: why Python, why Rust, how they make everything so fast, how they’re starting to make money, what other products he’s dreaming up, and more.
Join the discussion
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Andrew Churchill thinks companies should really be hiring junior engineers, Addy Osmani announces Chrome DevTools MCP, GitHub lays out a roadmap to fend off npm attacks, Jerry Liu builds an app that generates a timeline of your day’s activities, and Sean Goedecke attempts to define “good taste” in the context of software engineering.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Bryan Cantrill and Steve Tuck, the co-founders of Oxide, are on the pod live (to tape) from the stage at OxCon. Jerod and I were invited to Oxide’s annual internal conference to meet the people and to hear the stories of what makes Oxide a truly special place to work right now. The best part was this on-stage discussion with Bryan and Steve. Enjoy!
Join the discussion
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Voices of Oxide on the pod! Cliff Biffle (engineer), Dave Pacheco (engineer), and Ben Leonard (designer) are on the show today. Jerod and I were invited to Oxide’s annual internal conference called OxCon to meet the people and to hear the stories of what makes Oxide a truly special place to work right now.
Cliff Biffle is working on all Hubris and firmware. Cliff says “There’s a lot that happens before the ‘main CPU’ can even power on.” Dave Pacheco is leading the efforts on Oxide’s “Update” system. And Ben Leonard in charge of all things brand and design at Oxide.
Join the discussion
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Adolfo Ochagavía believes we’re approaching the problem of configuration from a flawed starting point, Annie Mueller hits us with a wakeup call about how she reads beginner tutorials, Brian Kihoon Lee spends some time meditating on taste, Namanyay thinks vibe coding is coders braindead, and Can Elma speculates on why AI helps senior engineers more than juniors.
View the newsletter
Join the discussion
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Carl George joins the show to talk about Texas Linux Fest, Omarchy, Linux desktop environments, configuring Linux, and more. Use the code CHL15 for 15% off your ticket to Texas Linux Fest.
Join the discussion
Changelog++ members get a bonus 10 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Use the code CHLG15 for 15% off your ticket to Texas Linux Fest.
Something missing or broken? PRs welcome!
Everything is changing. Adam is joined by his good friend Beyang Liu from Sourcegraph — this time, talking about Amp (ampcode.com). Amp is one of the many, and one of Adam’s favorite agentic coding tools to use. What makes it different is how they’ve engineered to it to maximize what’s possible with today’s frontier models. Autonomous reasoning, access to the oracle, comprehensive code editing, and complex task execution. That’s nearly verbatim from their homepage, but it’s also exactly what Adam has experienced. They talk through all things agents, how Adam might have been holding Amp wrong, and they even talked through Adam’s idea called “Agent Flow”. If you’re babysitting agents, this episode is for you.
Join the discussion
Changelog++ members get a bonus 16 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Zach Gates quantifies the value of automating things, Albania’s new prime minister names an AI “minister” to his Cabinet, Eckart Walther launches Really Simple Licensing (RSL) along with some big names on the web, Vishnu Haridas praises UTF-8’s design, and Justin Searls disagrees with last week’s headline story about AI coding tools and shovelware.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Mike Judge breaks down why he doesn’t believe the AI coding claims add up, the folks behind Cactoide create an open source alternative to Meetup / Eventbrite, Ryan Farley tells the story of how RSS beat Microsoft, Dominik Szymański ditched Docker for Podman (and thinks you should too), and Stripe announces a new layer 1 blockchain called Tempo.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Jim Remsik has lived on the bleeding edge (but also the heart’s center) of the Ruby world for decades. This fall, he’s organizing six (yes, SIX) XO Ruby confs all around the United States.
On this episode, Jim joins us to reminisce about the early days of Ruby and Rails, share what he’s learned from so many years of organizing events, and invite all of us to join him on his upcoming 7500 mile road trip.
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Dominik Meca is infuriated by Next.js, Josh Bressers explains why open source is just one person, Huon Wilson describes the usefulness of “Copy as cURL”, Herman Martinus re-licenses Bear, and Nawaz Dhandala unpacks why dependency bloat is such a pervasive problem.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Arun Gupta, now a “free agent” after his surprise exit from Intel, joins us to discuss how he’s dealing with his first job hunt since the 1990s. Along the way, we talk about agentic coding strategies, what GPT-5’s release implies about the future, and more. (US buys 10% of Intel)++
Join the discussion
Changelog++ members get a bonus 12 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Our friends at Cult.Repo launched their epic Python documentary on August 28th, 2025! To celebrate, we sat down with Travis Oliphant –creator of NumPy, SciPy, and more– to get his perspective on how Python took over the software world.
Stick around for the twist ending! We set aside Python and dissect Travis’ big idea to make open source projects financially sustainable through direct investment.
Join the discussion
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Elon Musk and xAI take on Microsoft, DHH ships version 2 of Omarchy (his love letter to Linux), Glyn Normington on managing developer’s block, Mitchell Hashimoto declares that all Ghostty contributions must disclose AI tooling, the United States government takes a 10% stake in Intel, and Adam Derewecki thinks we should do things that don’t scale, then don’t scale.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Our Changelog & Friends proof-of-concept with Mat Ryer has been remastered! Now with full-length video on YouTube. Originally recorded: 2023-02-08
Mat joins us for some good conversation about some Git tooling that’s been on our radar. We speculate, we discuss, we laugh, and Mat even breaks into song a few times. It’s good fun.
Join the discussion
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
The epic show with Adam Jacob has been remastered! Now with full-length video on YouTube. Adam goes solo with Adam Jacob for an epic pod into his journey to get to System Initiative. From SysAdmin at 8 years old, to discovering Linux and working for Mom-and-pop ISPs, to open source changing his life and starting Opscode and building Chef. Buckle up and enjoy.
Join the discussion
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Cursor has a big problem, Alireza Bashiri thinks plaintext beats todo apps, Manish built an offline AI workspace, OverType is a WYSIWYG markdown editor that’s just a textarea, and sshrc lets you bring your config with you to remote machines.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Bryan Cantrill returns in the wake of Oxide Computer Company’s $100M Series B. Bryan tells us how he’s avoiding an appearance on Silicon Valley (ding), why their uniform compensation is working, where Oxide fits in the AI datacenter, what scaling to 50+ rack orders looks like, and more. (GitHub has no CEO and saving Intel)++
Join the discussion
Changelog++ members get a bonus 22 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Dr. Ewelina Kurtys is leading the way in biocomputing at FinalSpark where she is working on the next evolutionary leap for AI and neuron-powered computing. It’s a brave new world, just 10 years in the making. We discuss lab-grown human brain organoids connected to electrodes, the possibility to solve AI’s massive energy consumption challenge, post-silicon approach to computing, biological vs quantum physics and more.
Join the discussion
Changelog++ members get a bonus 2 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Open source maintainers share their regrets, Thomas Dohmke steps down as GitHub CEO, James Kettle breaks down HTTP/2 from a security perspective, PHP is getting the pipe operator this November, and a class action copyright suit threatens Anthropic and the rest of the AI industry.
View the newsletter
Join the discussion
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Gerhard calls Kaizen 20, ‘The One Where We Meet’. Rightfully so. It’s also the one where we eat, hike, chat, and launch Pipely live on stage with friends.
Join the discussion
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
We’re LIVE at the historic Oriental Theater in Denver, CO with Nora Jones. Nora is the founder of Jeli.io, recently acquired by PagerDuty and she’s been shaping the way we think about reliability, incident response, and human-centered engineering for years.
We get into the real story behind the deal. Not just the headline, but what it’s like selling your company, what it takes to actually integrate a product into a larger platform, how customers responded, what changed for her team, and why her new role at PagerDuty is basically everything she was building Jeli for.
Join the discussion
Changelog++ members get a bonus 25 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Alex Kondov knows when you’ve been vibe coding. (He can smell it.) our friends at Charm release a Go-based AI coding agent as a TUI, Jan Kammerath disassembled the “hacked’ Tea service’s Android app, Alex Ellman made a website that provides up-to-date pricing info for major LLM APIs, and Steph Ango suggests remote teams have “ramblings” channels.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Adam & Jerod (plus zero other randos) dig into Stack Overflow’s 2025 developer survey results. We discuss SO’s decline, the desire for younger devs to have real chats with real people, the rise of uv and more Python winning, why people are frustrated with AI, and more.
Join the discussion
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Greg Osuri, Founder and CEO of Akash Network joins us to share the backstory in his testimony before congress on the energy crisis and what it’s going to take to power the future of AI. From powering datacenters, to solar, decentralized AI compute, to zombies in SF.
Join the discussion
Changelog++ members get a bonus 2 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jono Alderson takes aim at SPAs thanks to modern CSS, copyparty turns almost any device into a file server, Ernie Smith honors the Game Genie’s 35th anniversary, Anthropic shares how their teams use Claude Code, and Drew Lyton tells why he believes the future is NOT self-hosted.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Welcome back to #define, our game of obscure jargon, fake definitions, and expert tomfoolery. This time we’re joined by three Changelog++ members, to see who has the best vocabulary and who can trick everyone else into thinking that they do.
Join the discussion
Changelog++ members get a bonus 14 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Sugu Sougoumarane, creator of Vitess, comes off sabbatical to bring Vitess to Postgres. We discuss what motivated Sugu to come off sabbatical, why now is the time, the technical challenges of doing so, the implementation details of Multigres (Vitess for Postgres). We also discuss the state of Postgres at scale.
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Przemysław Dębiak beat an advanced AI model from OpenAI in a 10-hour head-to-head coding marathon, Linux breaks 5% desktop share in U.S., Stefano Marinelli is writing a series on making your own backup system, César Soto Valero switched to Python (and is liking it), and Charlie Graham thinks it’s rude to show AI output to people.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Nick Nisi joins us to discuss all the Windsurf drama, his new agentic lifestyle, whether or not he’s actually more productive, the new paper that says he maybe isn’t more productive, the reckoning he sees coming, and why we might be the last generation of code monkeys.
Join the discussion
Changelog++ members get a bonus 13 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
David Hsu from Retool joins Adam to discuss how he built Retool. From the pivot in YC, to building the most widely used internal tools platform, to now being the platform for AI agents in the enterprise—on this episode we cover David journey from YC to building agents for the enterprise.
Join the discussion
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Researchers in Japan achieve a world record in data transmission speeds, Robin Sloan explains how an app can be a home-cooked meal, Windsurf founders Varun Mohan & Douglas Chen are headed to Google, new Intel CEO Lip-Bu Tan says it’s too late for the incumbent, Anton Zaides says stop forcing AI tools on your engineers, and Adrien Friggeri visualized his ten-year running streak.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Abi Noda from DX is back to share some cold, hard data on just how productive AI coding tools are actually making developers. Teaser: the productivity increase isn’t as high as we expected. We also discuss Jevons paradox, AI agents as extensions of humans, which tools are winning in the enterprise, how development budgets are changing, and more.
Join the discussion
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
We talk with Don MacKinnon, Co-founder and CTO of Searchcraft—a lightspeed search engine built in Rust. We dig into the future of search, how it blends vector embeddings with classic ranking, and what it takes to build developer-friendly, production-grade search from the ground up.
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Justin Searls describes the “full-breadth developer” and why they’ll win because AI, Cloudflare comes up with a way publishers can charge crawlers for access, Hugo Bowne-Anderson explains why building AI agents fails so often, the Job Worth Calculator tells you if your job is worth the grind, and Sam Lambert announces PlanetScale for Postgres.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Jeff Cayley joins Adam to talk about selling mountain bikes all over the planet and making some of the best outdoor and mountain bike gear, parts, and accessories you can buy. They have a killer YouTube channel as well.
Join the discussion
Changelog++ members save 62 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Thorsten Ball returned to Sourcegraph to work on Amp because he believes being able to talk to an alien intelligence that edits your code changes everything. On this episode, Thorsten joins us to discuss exactly how coding agents work, recent advancements in AI tooling, Amp’s uniqueness in a sea of competitors, the divide between believers and skeptics, and more.
Join the discussion
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
David Singleton says coding agents have crossed a chasm, Anton Zaides explains how SWEs should approach the “squeeze”, Mat Duggan has ideas for Kubernetes 2.0, Sean Goedecke does a nice job elucidating the coding agent commoditization, and one more good reason to write, even though it’s hard.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring:
Our old friend Chris McCord, creator of Elixir’s Phoenix framework, tells us all about his new remote AI runtime for building Phoenix apps. Along the way, we vibe code one of my silly app ideas, calculate all the money we’re going to spend on these tools, and get existential about what it all means.
Join the discussion
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Chris Anderson joins the show. You may recognize Chris from the early days of CouchDB and Couchbase. Back when the world was just waking up to NoSQL, Chris was at the center of it all, shaping how developers think about data distribution and offline-first architecture.
These days, Chris is working on Vibes.diy and Fireproof — tools that make one-shot app generation not only possible, but shareable within minutes. We talk about the origins of CouchDB, the fork that led to Membase and Couchbase, and how that long journey led to this new paradigm: Vibe Coding.
Join the discussion
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jerod tells Adam about how bad he hates the taste of Gin, sips on some Generative A Rye (on the rocks), they open the comments section for a bit, and then land the plane talking about being alone, naked, and afraid.
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jerod is joined by Carson Gross, the creator of htmx –a small, zero-dependency JavaScript library that he says, “completes HTML as a hypertext”. Carson built it because he’s big on hypermedia, he even wrote a book called Hypermedia Systems. Carson has a lot of strong opinions weakly held that we dive into in this conversation.
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Lukas Mathis tells us to stop uploading our data to Google, Robert Vitonsky wants web devs to not guess his language using his IP, Tom from GameTorch reminds us that software talent is gold right now, Austin Parker from Honeycomb describes how LLMs are upending the observability industry, and Vitess co-creator, Sugu Sougoumarane, joins Supabase to lead their Multigres effort to bring Vitess to Postgres.
View the newsletter
Join the discussion
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Justin Searls joins Jerod in Apple’s WWDC wake for hot takes about frosty UIs. We go (almost) point-by-point through the keynote, dissecting and reacting along the way. Concentricity!
Join the discussion
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jerod chats with Richard Feldman about Roc – his fast, friendly, functional language inspired by Richard’s love of Elm. Roc takes many of Elm’s ideas beyond the frontend and introduces some great ideas of its own. Get ready to learn about static dispatch, platforms vs applications, opportunistic mutation, purity inference, and a whole lot more.
Join the discussion
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Diwank explains why you should never let AI writes your tests, Apple redesigns all of their software platforms, AI has brought about the rise of judgement over technical skills, Peter Steinberger says Claude Code is now his computer, and the curious case of Memvid.
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Adam & Jerod discuss the news! Our Merch sale, useful built-in macOS CLI utilities, the slow death of the hyperlink, systematically estimating a project’s bus factor, The Browser Company abandoning Arc, the Dead Internet theory & more!
Join the discussion
Changelog++ members get a bonus 8 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 off the team plan. Don’t just observe. Take action. Sentry is the only app monitoring platform built for developers that gets to the root cause for every issue. 100,000+ growing teams use sentry to find problems fast.CHANGELOG. You can try it for free for 30 days - but we’re confident you will not want to return it (we love ours). Once you experience AI-optimized sleep, you’ll wonder how you ever slept without it. Currently shipping to: United States, Canada, United Kingdom, Europe, and Australia.Featuring:
Show Notes:
Links we didn’t get to* IronCalc - Open-Source Spreadsheet Engine * Why you’re bad at giving feedback
Links discussed during BONUS++* WP Engine Tracker * wpenginetracker.com
Something missing or broken? PRs welcome!
Preston Doster joins the show to tell us what it takes to run a Mastodon server with 55,000 accounts and 11,000 monthly active users.
Join the discussion
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 off the team plan. Don’t just observe. Take action. Sentry is the only app monitoring platform built for developers that gets to the root cause for every issue. 100,000+ growing teams use sentry to find problems fast.Featuring:
Show Notes:
Interview* Hachyderm * Public grafana dashboard
One correction about the cost to run Hachyderm. Preston said it’s about $600/mo and after the interview emailed me to let me know it’s closer to $1000/mo
Something missing or broken? PRs welcome!
We’re on the main stage at THAT Conference with Danny Thompson. He has an amazing story and journey into tech. Thanks to our friends at Cloudflare for helping us get to THAT Conference earlier this year to enable this conversation.
Special thanks to Nick Nisi and Clark Sell for coming in clutch and getting us the audio to ship this show!
Join the discussion
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Carmen Huidobro joins Amy, KBall & Nick on the show to talk about her work, the importance of writing docs, and her upcoming conference talk at React Summit US!
Join the discussion
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
It can be frustrating to get an AI application working amazingly well 80% of the time and failing miserably the other 20%. How can you close the gap and create something that you rely on? Chris and Daniel talk through this process, behavior testing, and the flow from prototype to production in this episode. They also talk a bit about the apparent slow down in the release of frontier models.
Join the discussion
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG. You can try it for free for 30 days - but we’re confident you will not want to return it (we love ours). Once you experience AI-optimized sleep, you’ll wonder how you ever slept without it. Currently shipping to: United States, Canada, United Kingdom, Europe, and Australia.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
With the number of libraries available to Go developers these days, you’d think building a CLI app was now a trivial matter. But like many things in software development, it depends. In this episode, we explore the challenges that arose during one team’s journey towards a production-ready CLI.
Join the discussion
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Changelog Merch is now on sale, IronCalc sets out to democratize spreadsheets, Grant Slatton writes about algorithms we develop software by, Mark Rainey gives respect to the ultimate in debugging, Gitpod is leaving Kubernetes & Johannes Kaufmann’s html-to-markdown converts entire websites into Markdown.
View the newsletter
Join the discussion
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
We take you one last time back to the All Things Open 2024 hallway track to talk with some friends, new & old. We speak with Alex Kretzchmar about self-hosting. We speak with Israa Taha about self-confidence. We speak with Avindra Fernando & Adhithi Ravichandran about self-employment.
Join the discussion
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.CHANGELOG to get $350 off your very own Pod 4 Ultra. You can try it for free for 30 days - but we’re confident you will not want to return it. Once you experience AI-optimized sleep, you’ll wonder how you ever slept without it. Currently shipping to: United States, Canada, United Kingdom, Europe, and Australia.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
No interview this week! Instead, Justin & Autumn sit down to talk about what they’ve been learning recently.
Join the discussion
Changelog++ members save 8 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Vercel CPO, Tom Occhino, joins Jerod for a one-on-one covering React & Next’s past, present & future. We discuss the birth of React, Tom’s move to Vercel, deploying Next apps to non-Vercel hosts, React as the next jQuery, the viability of Web Components, Vercel customers getting surprise bills & so much more.
Join the discussion
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
The hallway track at All Things Open 2024 — features Carl George, Principal Software Engineer at Red Hat for a discussion on the state of open source enterprise linux and RHEL (Red Hat Enterprise Linux), Max Howell, creator of Homebrew and tea.xyz which offers rewards and recognition to open source maintainers, and Chad Whitacre, Head of Open Source at Sentry about the launch of Open Source Pledge and their plans to helps businesses and orgs to do the right thing and support open source.
Join the discussion
Changelog++ members save 13 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.CHANGELOG to get $350 off your very own Pod 4 Ultra. You can try it for free for 30 days - but we’re confident you will not want to return it. Once you experience AI-optimized sleep, you’ll wonder how you ever slept without it. Currently shipping to: United States, Canada, United Kingdom, Europe, and Australia.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Writing a shell is rarely the kind of project you take on lightly. In this episode, Johnny is joined by Qi Xiao to explore how to go about such a feat in Go.
Join the discussion
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
This week, Chris is joined by Gregory Richardson, Vice President and Global Advisory CISO at BlackBerry, and Ismael Valenzuela, Vice President of Threat Research & Intelligence at BlackBerry. They address how AI is changing the threat landscape, why human defenders remain a key part of our cyber defenses, and the explain the AI standoff between cyber threat actors and cyber defenders.
Join the discussion
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
PRACTICALAI to get $350 off your very own Pod 4 Ultra. You can try it for free for 30 days - but we’re confident you will not want to return it. Once you experience AI-optimized sleep, you’ll wonder how you ever slept without it. Currently shipping to: United States, Canada, United Kingdom, Europe, and Australia.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
IEEE Spectrum reports on the return to physical buttons and dials, Microsoft released GenAIScript, iFixit’s Elizabeth Chamberlain announces a big Right to Repair win, Daniela Baron reimagines technical interviews & John O’Nolan, shares some thoughts on open source governance and how to create trust within technology, communities, and media
View the newsletter
Join the discussion
Changelog++ members get a bonus 6 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
We join the Whiskey Web and Whatnot podcast live from the hallway track at All Things Open 2024. Topics include: Chianti, content creation, open source, fake jobs, cancel culture, Silicon Valley (ding), frontend frustrations, the Roman empire & more.
Join the discussion
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Maybe Jira for your kids’ chores is a good idea… Probably not.
Join the discussion
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Interview* Austin on Bluesky * Deserted Island Devops
Something missing or broken? PRs welcome!
(Includes expletives) David Heinemeier Hansson (DHH), creator of Ruby on Rails and co-owner of 37signals, joined the show to discuss this Rails moment and renewed excitement for Rails. We discuss hard opinions, developers being cooked too long in the JavaScript soup, finding developer joy, the pros and cons of the BDFL, the ongoing WordPress drama with WP Engine, and what’s to come in Rails 8.
Join the discussion
Changelog++ members get a bonus 1 minute at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jerod & the gang play “Twenty” Questions to get to know Amy, review the big Svelte 5 release, discuss commercial open source & get Nick’s report from SquiggleConf!
Join the discussion
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Elham Tabassi, the Chief AI Advisor at the U.S. National Institute of Standards & Technology (NIST), joins Chris for an enlightening discussion about the path towards trustworthy AI. Together they explore NIST’s ‘AI Risk Management Framework’ (AI RMF) within the context of the White House’s ‘Executive Order on the Safe, Secure, and Trustworthy Development and Use of Artificial Intelligence’.
Join the discussion
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Daniel Quinn weighs in on how to develop with Docker The Right Way, Mitchell Hashimoto says Ghostty will be publicly released this coming December, Kevin Li writes about the value of learning how to learn, The Browser Company moves on from Arc & the React Native team ships its new architecture.
View the newsletter
Join the discussion
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
From switching ISPs to migrating Amazon off Oracle, Pete Naylor knows which database to use.
Join the discussion
Changelog++ members get a bonus 8 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Interview* Amazon turns off last Oracle instance
Something missing or broken? PRs welcome!
At the tail end of 2019, we got together with Quincy Larson to celebrate ten years of Changelog & five years of freeCodeCamp by recording back-to-back episodes on each other’s pods. Can you believe it’s now five years later and we’re all still here doing our thing?! Let’s learn what Quincy and the amazing community at freeCodeCamp have been up to!
Join the discussion
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
We are on the other side of “big data” hype, but what is the future of analytics and how does AI fit in? Till and Adithya from MotherDuck join us to discuss why DuckDB is taking the analytics and AI world by storm. We dive into what makes DuckDB, a free, in-process SQL OLAP database management system, unique including its ability to execute lighting fast analytics queries against a variety of data sources, even on your laptop! Along the way we dig into the intersections with AI, such as text-to-sql, vector search, and AI-driven SQL query correction.
Join the discussion
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Shay Banon, the creator of Elasticsearch, joins us to discuss pulling off a reverse rug pull. Yes, Elasticsearch is open source, again! We discuss the complexities surrounding open source licensing and what made Elastic change their license, the implications of trademark law, the personal and business impact of moving away from open source, and ultimately what made them hit rewind and return to open source.
Join the discussion
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Yasir Ekinci joins Johnny & Mat to talk about how virtually every Observability vendor is rushing to add Generative AI capabilities to their products and what that entails from both a development and usability perspective.
Join the discussion
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
GOTIME using our link to get an exclusive 60% off an annual Incogni plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Will Crichton wishes some naming conventions would die already, GitHub user brjsp noticed that Bitwarden’s new SDK dependency isn’t open source, Joaquim Rocha details his forking best practices, Sophie Koonin explains why you should go to conferences & Mike Hoye puts WordPress on SQLite.
View the newsletter
Join the discussion
Changelog++ members get a bonus 3 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Zac Smith left his role leading Equinix Metal in June of 2023. Since then, he’s been thinking deeply about the present and potential future of data centers, OEMs, chip makers & more.
Join the discussion
Changelog++ members get a bonus 11 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Adam Jacob remains optimistic about the future for infrastructure and is building new ideas to make it better.
Join the discussion
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
This week we’re going back in time to one of our top performing shows of all time where we talk with Matt Rickard about his blog post Reflections on 10,000 Hours of Programming. These reflections are about deliberately writing code for 10,000 hours. Most don’t apply to beginners. He was clear to mention that these reflections are purely about coding, not career advice or soft skills. If you count the reflections we cover on the show and be the first to comment the amount of reflections on this thread in Zulip, we’ll give you a coupon code to use for a 100% free t-shirt from the merch store. Good luck…
Join the discussion
Changelog++ members save 15 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
KBall interviews Jerod about the tools he uses in development, podcasting & business. We start with text editors & terminal tools, move to podcast recording & editing tools, discuss the open source podcasting platform Jerod built in Elixir, then finish with tools to run a small business & our approaches to genAI. Oh, and you don’t want to miss Jerod’s Big Confession!
Join the discussion
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Workflow orchestration has always been a pain for data scientists, but this is exacerbated in these AI hype days by agentic workflows executing arbitrary (not pre-defined) workflows with a variety of failure modes. Adam from Prefect joins us to talk through their open source Python library for orchestration and visibility into python-based pipelines. Along the way, he introduces us to things like Marvin, their AI engineering framework, and ControlFlow, their agent workflow system.
Join the discussion
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Nicholas Bloom finds WFH is powering a productivity boom, Matt Mullenweg has decided that WP Engine’s beatings will continue until morale improves, Levels.fyi has added a salary heat map, Gareth Edwards highlights just how fragile the Internet really is & Artem Zakirullin details how cognitive load is what really matters in software development.
View the newsletter
Join the discussion
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Go Time co-host, Johnny Boursiquot, joins Adam & Jerod to discuss not making the (first) cut, applying Founder Mode, being a cog (or not), realizing that companies are posting fake engineering jobs & the (maybe) imminent demise of the .io TLD.
Join the discussion
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Lili Cosic’s experience at different companies & communities has given her insights into what’s important & when to adapt to learn new (or old) things.
Join the discussion
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Interview* Why InfluxDB was re-written in rust
Something missing or broken? PRs welcome!
John Nunemaker joins us to share his new thesis for acquiring Rails based SaaS apps. He’s early days on his next big thing called Very Good Software and recently acquired Fireside, a podcast hosting service started by Dan Benjamin. This comes after many years since John’s acquisition of a lifetime of Speakerdeck to GitHub, which laid the foundation for these moves.
Join the discussion
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jerod & KBall discuss a trio of goings on in/around the web dev world: Evan You’s new startup, Matt Mullenweg’s WordPress mess & Ryan Carniato’s WebComponents debate.
Join the discussion
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
The last time we did a roundup of our unpopular opinion polls, it was November of 2021!
That’s too long ago, so today we fix that bug. Join Go Time producer, Jerod Santo, as he ranks & reviews the most (un)popular opinions of 2022.
Join the discussion
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
As Argilla puts it: “Data quality is what makes or breaks AI.” However, what exactly does this mean and how can AI team probably collaborate with domain experts towards improved data quality? David Berenstein & Ben Burtenshaw, who are building Argilla & Distilabel at Hugging Face, join us to dig into these topics along with synthetic data generation & AI-generated labeling / feedback.
Join the discussion
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
PRACTICALAI to get $350 off your very own Pod 4 Ultra. You can try it for free for 30 days - but we’re confident you will not want to return it. Once you experience AI-optimized sleep, you’ll wonder how you ever slept without it. Currently shipping to: United States, Canada, United Kingdom, Europe, and Australia.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
A bias against hyperlinking has developed on platforms, GitHub engineering continues to evolve Issues, Evan You announces VoidZero, some companies are only pretend hiring & Klaas van Schelven asks: does it scale (down)?
View the newsletter
Join the discussion
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Dave Eddy has learned systems programming the traditional way with books and man pages. Now he’s sharing what he’s learned, starting with bash.
Join the discussion
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Interview* Dave Eddy * You Suck At Programming * Mastering ZSH * Void Linux * On The Metal Podcast * runit * gokrazy Linux * Bits between the bits talk
Something missing or broken? PRs welcome!
Abi Noda, co-founder and CEO at DX, joins the show to talk through data shared from the Stack Ocverflow 2024 Developer Survey, why devs are really unhappy, and what they’re doing at DX to help orgs and teams to understand the metrics behind their developer’s happiness and productivity.
Join the discussion
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Tomek Sułkowski from TutorialKit joins Jerod to tell him all about the open source toolkit for creating awesome, interactive tutorials without having to code up the hard parts.
Leave us a comment
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
TutorialKit in the wild* Welcome to the Vite Plugin API tutorial * Welcome to the Remult tutorial * Welcome to Next Patterns
Something missing or broken? PRs welcome!
In this episode, we will be talking to Russ Cox, who joined the Go team at Google in 2008 and has been the Go project tech lead since 2012, about stepping back & handing over the reins to Austin Clements, who will also join us! We also have Cherry Mui, who is stepping into Austin’s previous role as tech lead of the “Go core”.
Leave us a comment
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
GOTIME using our link to get an exclusive 60% off an annual Incogni plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
We are constantly hearing about disillusionment as it relates to AI. Some that that is probably be valid, but Mike Lewis, an AI architect from Cincinnati, has proven that he can consistently get LLM and GenAI apps to the point of real enterprise value (even with the Big Cos of the world). In this episode, Mike joins us to share some stories from the AI trenches & highlight what it takes (practically) to show what is possible, doable & scalable with AI.
Leave us a comment
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
PRACTICALAI to get $350 off your very own Pod 4 Ultra. You can try it for free for 30 days - but we’re confident you will not want to return it. Once you experience AI-optimized sleep, you’ll wonder how you ever slept without it. Currently shipping to: United States, Canada, United Kingdom, Europe, and Australia.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jerod is joined by the co-hosts of core.py , Pablo Galindo & Łukasz Langa, a podcast about Python internals by people who work on Python internals. Python 3.13 is right around the corner, which means the Global Interpeter Lock (GIL) is now experimentally optional! This is a huge deal as Python is finally free-threaded. There’s more to discuss, of course, so we get into all the gory details.
Leave us a comment
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
OpenFreeMap puts OpenStreetMap data on your website for free, Fatih Arslan builds a Dieter Rams inspired iPhone dock, Joseph Gentle thinks the Rust programming language feels like a first-gen product & the web dev community is debating the viability of Web Components once again.
View the newsletter
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Nick Nisi joins Adam and Jerod to talk about Karaoke, ARC and the business model of web browsers, this WordPress drama, and an epic bonus for Changelog ++ subscribers.
Leave us a comment
Changelog++ members get a bonus 61 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
20% discount to All Things Open 2024 - Use the code MediaChangelog20
Something missing or broken? PRs welcome!
The ability to learn on the job has been a critical skill for David Beale throughout his career. Is the job market not allowing that anymore?
Leave us a comment
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Interview* LinkedIn post about David learning COBOL
Links of the week* Underwater datacenters * Nuclear datacenters
Something missing or broken? PRs welcome!
Jerod is joined by Ryan Dahl to discuss his second take on leveling up JavaScript developers all around the world. Jerod asks Ryan why not try to fix or fork Node instead of starting fresh, how Deno (the open source project) can avoid the all too common rug pull (not cool) scenario, what’s new in Deno 2 & their pragmatic decision to support npm, they talk JSR, they talk Deno KV & SQLite, they even talk about Ryan’s open letter to Oracle in an attempt to free the unused “JavaScript” trademark from the giant’s clutches.
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jerod is joined by Ryan Dahl to discuss his second take on leveling up JavaScript developers all around the world. Jerod asks Ryan why not try to fix or fork Node instead of starting fresh, how Deno (the open source project) can avoid the all too common rug pull (not cool) scenario, what’s new in Deno 2 & their pragmatic decision to support npm, they talk JSR, they talk Deno KV & SQLite, they even talk about Ryan’s open letter to Oracle in an attempt to free the unused “JavaScript” trademark from the giant’s clutches.
Leave us a comment
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Seems like we are hearing a lot about GraphRAG these days, but there are lots of questions: what is it, is it hype, what is practical? One of our all time favorite podcast friends, Prashanth Rao, joins us to dig into this topic beyond the hype. Prashanth gives us a bit of background and practical use cases for GraphRAG and graph data.
Leave us a comment
Changelog++ members save 8 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Tech twitter (“tech X”?) is abuzz with Paul Graham’s Founder Mode essay. How does that affect you or come into play when you’re not a founder? Does it matter at all to you, your projects & your code?
Leave us a comment
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Mahmoud Mousa releases Sidekick, a tool for hosting side projects on a cheap VPS, Ryan Dahl, has had enough of Oracle bogarting “JavaScript” but not even using it, Thomas Rampelberg’s kty is a sweet terminal for Kubernetes, Redis users are considering alternatives after their relicense & a bunch of smart JS folks wrote up nine Node.js pillars.
View the newsletter
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Gerhard Lazu joins us for Kaizen 16! Our Pipe Dream™️ is becoming a reality, our custom feeds are shipping, our deploys are rolling out faster & our tooling is getting just right.
Leave us a comment
Changelog++ members get a bonus 10 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
uBlue is trying to build the world’s best Linux experience for developers and gamers. Jorge Castro joins Justin & Autumn to tell us how it’s going.
Leave us a comment
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Interview* Universal Blue website * Bazzite Linux (gaming) * Bluefin Linux
Links of the week* Known crew member SQL injection * Yubikey secret key vulnerability
Something missing or broken? PRs welcome!
Nick is joined by Josh Goldberg & Dimitri Mitropoulos to discuss SquiggleConf, a new conference focused on web dev tooling. We explore the motivations behind creating a conference dedicated to developer tools, the challenges of organizing both conferences and local meetups, and strategies for building engaged tech communities.
We also discuss the importance of developer tooling, the pandemic’s impact on tech events, and share insights on encouraging new speakers and creating inclusive environments & more!
Leave us a comment
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jimmy Miller talks to us about his experience with a legacy codebase at his first job as a programmer. The codebase was massive, with hundreds of thousands of lines of C# and Visual Basic, and a database with over 1,000 columns. Let’s just say Jimmy got into some stuff. There’s even a Gilfoyle involved. This episode is all about his adventures while working there.
Leave us a comment
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
In this follow-up to episode #306, “How soon until AI takes my job?”, the gang of (grumpy?) veteran software engineers candidly chat about how their day to day is changing in the midst of improving AI tooling & hype.
Leave us a comment
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Recently the company stewarding the open source library scikit-learn announced their seed funding. Also, OpenAI released “o1” with new behavior in which it pauses to “think” about complex tasks. Chris and Daniel take some time to do their own thinking about o1 and the contrast to the scikit-learn ecosystem, which has the goal to promote “data science that you own.”
Leave us a comment
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Join the Practical AI community — it’s free! Connect with us in the #practicalai Slack channel. The community is here for you as a place to below, to bounce ideas around, or to get feedback on a conference to attend or talk you’d like to give.
Something missing or broken? PRs welcome!
Scott Chacon writes up his insider take on GitHub’s success, Sentry wants other companies to take the Open Source Pledge, Benj Edwards used AI to reproduce his late father’s handwriting, Dave Kiss explains the current hype that PHP is getting & Taylor Otwell raises $57 million series A from Accel.
View the newsletter
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
David Flanagan created a successful YouTube channel but knew to take things to the next level he’d need to own more of the stack.
Leave us a comment
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Interview* Rawkode Adacemy * Rawkode on YouTube * grafbase * Turso
Something missing or broken? PRs welcome!
Jerod & Adam share our Zulip first impressions, react to Elasticsearch going open source (again), discuss Christian Hollinger’s blog post on why he still self-hosts & answer a listener question: how do we produce podcasts?
Leave us a comment
Changelog++ members get a bonus 22 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Chris Shank has been on sabbatical since January, so he’s had a lot of time to think deeply about the web platform. On this episode, Jerod & KBall pick Chris’ brain to answer questions like, what does a post-component paradigm look like? What would it look like if the browser had primitives for building spatial canvases? How can we make it easier to make “folk interfaces” on the web?
Leave us a comment
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Erez Zukerman shares the story of launching the ErgoDox EZ on Indiegogo (May 2015), what it takes to create customizable ergonomic keyboards, the benefits of split keyboards and custom key layouts, repairability and longevity, community engagement, and the attention to detail required in everything they create. We talk through their keyboard lineup, our personal experience with how we mouse and keyboard…we cover it all.
Leave us a comment
Changelog++ members get a bonus 15 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Dinis Cruz drops by to chat about cybersecurity for generative AI and large language models. In addition to discussing The Cyber Boardroom, Dinis also delves into cybersecurity efforts at OWASP and that organization’s Top 10 for LLMs and Generative AI Apps.
Leave us a comment
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Join Johnny as he dives into the world of home automation with Ricardo Gerardi & Mike Riley, two tinkerers who’ve taken the plunge with Go. We explore the challenges (and the fun) they encounter along the way. If you’re interested in automating your home (or working with micro controllers) come learn how to get started!
Leave us a comment
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
A Rust for Linux developer resigns amidst rising tension in the Linux community, Bret Victor shows off what he’s been working on for years, Rachel (by the bay) laments how useless “SRE” has become as a role, Doug Turnbull makes the case for hiring junior devs & Baldur Bjarnason says the LLM honeymoon phase is about to end.
View the newsletter
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Emily Freeman joins the show alongside our Ship It co-host, Justin Garrison! We hear Emily’s burnout story & learn how she and Forrest Brazeal are putting tech-focused influencers on tap. But first: area code turf wars, bad movie reboots & buying used DVDs… at Starbucks?!
Leave us a comment
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Du’An Lightfoot, dev advocate at AWS, joins Justin & Autumn to discuss networking, a knowledge gap people many people have. You can ignore the things you don’t understand or you can invest time to learn it.
Leave us a comment
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Interview* cidr CLI * Reddit post mortem * Sal Khan TED talk
Llama 3 white paper* The Llama 3 Herd of Models
Something missing or broken? PRs welcome!
Jerod, Nick & Chris discuss a next-gen JavaScript bundler, Node getting even tighter with TypeScript, the top programming languages according to IEEE Spectrum, Chris’ feelings on Node’s built-in test runner & more!
Leave us a comment
Changelog++ members get a bonus 4 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
We’re joined by Alya Abbott from Zulip, the open source, organized, threaded, team chat for distributed teams of all sizes. We talk about Zulip’s origins, how it’s open source, the way it’s led, no VC funding, what makes it different/better, how you can self-host it or use their cloud, moving to Zulip, contributing and being a part of the community…all the things.
Leave us a comment
Changelog++ members save 16 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
GenAI is often what people think of when someone mentions AI. However, AI is much more. In this episode, Daniel breaks down a history of developments in data science, machine learning, AI, and GenAI in this episode to give listeners a better mental model. Don’t miss this one if you are wanting to understand the AI ecosystem holistically and how models, embeddings, data, prompts, etc. all fit together.
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
The Cursor AI code editor raises $60 million, RedMonk’s Rachel Stephens tries to determine if rug pulls are worth it, Caleb Porzio details how he made $1 million on GitHub Sponsors, Elastic founder Shay Banon announces that Elasticsearch is open source (again) & Tomas Stropus writes about the art of finishing.
View the newsletter
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
What if your infrastructure diagram was responsible for the actual infrastructure?! John Watson & Scott Prutton from System Initiative join Justin & Autumn to discuss.
Leave us a comment
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Interview* System Initiative
Book recommendations* A Mind for Numbers * Dark Wire * Thinking Fast and Slow * Where Good Ideas Come From
Something missing or broken? PRs welcome!
What happens when you take two #define champs (Taylor Troesh, Thomas Eckert), a grizzled veteran (Adam Stacoviak), a british bard (Mat Ryer), a PhD (Carol Lee) & you pit them against each other in a game of fake tech definitions?! There’s only one way to find out…
Leave us a comment
Changelog++ members get a bonus 27 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
How do you systematically measure, optimize, and improve the performance of LLM applications (like those powered by RAG or tool use)? Ragas is an open source effort that has been trying to answer this question comprehensively, and they are promoting a “Metrics Driven Development” approach. Shahul from Ragas joins us to discuss Ragas in this episode, and we dig into specific metrics, the difference between benchmarking models and evaluating LLM apps, generating synthetic test data and more.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Ryan Worl, Co-founder and CTO at WarpStream, joins us to talk about the world of Kafka and data streaming and how WarpStream redesigned the idea of Kafka to run in modern cloud environments directly on top of object storage. Last year they posted a blog titled, “Kafka is dead, long live Kafka” that hit the top of Hacker News to put WarpStream on the map. We get the backstory on Kafka and why it’s so widely used, who created it and for what purpose, and the behind the scenes on all things WarpStream.
Leave us a comment
Changelog++ members save 14 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Simon Wijckmans from c/side joins Jerod & Nick to discuss the Pollyfill attack in detail. What does it mean for web developers & client-side security going forward?
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
On this episode, Angelica is joined by Go community leaders from around the world: meetup organizers from Guadalajara, St. Louis, New York & Go Bridge Atlanta. Together, they explore the ins & outs of organizing meetups, the benefits of attending, the Go Developer Network (GDN) & the current state of the Go Meetup community.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Waymo cars make bad neighbors, Leonardo Creed pulls together wisdom from Linus Torvalds & the Art of Unix Programming to conclude what good programmers worry about, Max Schmitt makes the argument that toast notifications create a bad user experience, ChartDB is a web-based database diagramming editor, Simon Tatham makes a list of code review anti-patterns & scientists confirm that ‘flow state’ is very much a thing.
View the newsletter
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Adam & Jerod catch up with our ol’ friend, Suz Hinton! It’s been a couple years since Suz was a regular on JS Party. Since then, she moved back to Australia, earned a degree in cyber security & won a fidget spinner from the NSA… but that’s not all!
Leave us a comment
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Silvia Botros joins Justin & Autumn for a phenomenal conversation about databases, her career path & the ins/outs of writing High Performance MySQL.
Leave us a comment
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Eric Bailey joins Jerod to discuss everything Dungeons & Dragons taught him about writing alt text, building accessible websites, Primer, the problem with a11y overlays & more.
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
If you have questions at the intersection of Cybersecurity and AI, you need to know Donato at WithSecure! Donato has been threat modeling AI applications and seriously applying those models in his day-to-day work. He joins us in this episode to discuss his LLM application security canvas, prompt injections, alignment, and more.
Leave us a comment
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Flavors of Ship It on The Changelog — if you’re not subscribed to Ship It yet, do so at shipit.show or by searching for “Ship it” wherever you listen to podcasts. Every week Justin Garrison and Autumn Nash explore everything that happens after git push — and today’s flavors include running infrastructure in space, managing millions of machines at Meta, and what it takes to control your 3D printer with OctoPrint.
Leave us a comment
Changelog++ members save 11 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
This episode is from these original episodes of Ship it:
Something missing or broken? PRs welcome!
This episode focuses on the art of delivering concise Lightning Talks, a popular format at conferences worldwide where speakers present in a short timeframe. Joined by some of this year’s GopherCon Lightning Talkers, we’ll discuss their experiences, challenges & tips for effective communication within a limited time.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Chris Stjernlöf got nerd-sniped and ended up writing down his practices of reliable software design, Ben Visness has had enough with the npm community’s propensity to pull in micro-libraries to suit every need, “Stay SaaSy” makes three metaphors for problem solving categories, Troy Hunt takes us inside the “3 billion people” National Public Data breach & Dasel is one data tool to rule them all.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
You won’t believe the bizarre secrets Jordan Eldredge found investigating corrupt Winamp skins (#7 will shock you)! You also won’t believe how long we can wax nostalgic about the era of Napster, Aladdin & Pearl Jam.
Leave us a comment
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Justin & Autumn are joined by Steven Wu from Scanner. Scanner built logging infrastructure focused on security teams and occasional querying. We dive deep into how architectural decisions affect your business.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
InterviewSteven Wu at scanner.dev
How things breakAzure Status History
Something missing or broken? PRs welcome!
Raphael Landaverde & Jake Shirley work on Minecraft full-time. How cool is that?! On this episode, they join Jerod to tell us all about the web tech that drives Minecraft’s scripting infrastructure, how they incrementally change a massive / always-moving target, the best / worst parts of the job & much more.
Leave us a comment
Changelog++ members get a bonus 9 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Andres Kling and Chris Wanstrath have joined forces to form a non-profit called Ladybird Browser Initiative to manage the newly forked Ladybird browser. We discuss what it’s going to take to get to alpha, the why behind Ladybird, avoiding incentives other than those of the users, their plans for incremental adoption of Swift as the successor language over C++, and of course what they hope Ladybird can achieve as a truly independent open source browser that’s for the people.
Leave us a comment
Changelog++ members get a bonus 4 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
You might have heard that “AI is only as good as the data.” What does that mean and what data are we talking about? Chris and Daniel dig into that topic in the episode exploring the categories of data that you might encounter working in AI (for training, testing, fine-tuning, benchmarks, etc.). They also discuss the latest developments in AI regulation with the EU’s AI Act coming into force.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Kris, Angelica & Johnny react to the recently announced Go team changes, discuss the finding that 80% of developers surveyed by Stack Overflow are unhappy & disagree about the concept of tech debt (but agree that something’s gotta give).
Leave us a comment
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jimmy Miller tells us about the best, worst codebase he’s ever seen, The Phylum Research Team follows up on the great npm garbage patch, Zach Leatherman logs his findings on sneaky serverless costs, David Cain wants you to go on quests instead of goals & Ashley Janssen gives us szeven rules for effective meeting culture.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Tim Banks joins Justin and Autumn — there’s nothing quite like being punched in the face by Zookeeper or being taken down by a “hot” shard.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Interview* Tim Banks X * Tim Banks website
Links of the week* RSA hack * Google wont acquire Wiz
Something missing or broken? PRs welcome!
Database aficionado, Ben Johnson, joins Jerod to answer the age ol’ question: which database should you use? Answering that isn’t always easy, which means it’s time to play the “It Depends” jingle & weigh (some of) the options.
Leave us a comment
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
We’re talking OpenAPI this week! Kris & Johnny are joined by Jamie Tanna, one of the maintainers of oapi-codegen, to discuss OpenAPI, API design philosophies, versioning, and open source maintenance and sustainability. In addition to the usual laughs and unpopular opinions, this week’s episode includes a Changelog++ section that you don’t want to miss.
Leave us a comment
Changelog++ members get a bonus 18 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
There is an increasing desire for and effort towards GPU alternatives for AI workloads and an ability to run GenAI models on CPUs. Ben and Greg from Intel join us in this episode to help us understand Intel’s strategy as it related to AI along with related projects, hardware, and developer communities. We dig into Intel’s Gaudi processors, open source collaborations with Hugging Face, and AI on CPU/Xeon processors.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
The latest Stack Overflow Developer Survey has some concerning results, Joeri Sebrechts helps you do plain vanilla web dev, MIT’s “missing semester” course looks pretty amazing, a dive into the fascinating history of CSV & a tool to get request analytics from the nginx access logs.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Adam Jacob goes solo with Adam for an epic journey into his journey to get to System Initiative. From SysAdmin at 8 years old, to discovering Linux and working for Mom-and-pop ISPs, to open source changing his life and starting Opscode and building Chef. Buckle up. This is a different flavor of “Friends” for you. Enjoy.
Leave us a comment
Changelog++ members save 12 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Deploying new applications can be tough. Deploying configuration management safely at scale with stores around the world is different. Martin Jackson joins us to discuss.
Leave us a comment
Changelog++ members save 8 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
How stuff breaks* Pragmatic Engineer summary * CrowdStrike’s Executive Summary (PDF) * Brendan Gregg on eBPF
Something missing or broken? PRs welcome!
Node.js makes big TypeScript & SQLite moves, ECMAScript 2024 adds some niceties to the language (but not the ones you’re probably excited for) & we review the State of React 2023 results. Emergency?! Nick!
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
I’d rather be TypeScripting
Something missing or broken? PRs welcome!
We discussed “🥦 Broccoli AI” a couple weeks ago, which is the kind of AI that is actually good/healthy for a real world business. Bengsoon Chuah, a data scientist working in the energy sector, joins us to discuss developing and deploying NLP pipelines in that environment. We talk about good/healthy ways of introducing AI in a company that uses on-prem infrastructure, has few data science professionals, and operates in high risk environments.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
We check out the upcoming 1.23 release for new language features and improvements, including iterator functions and supporting packages.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
The Switzerland federal government requires releasing its software as open source, Google decides not to deprecate third-party cookies, Mark Zuckerberg says “open source” AI is the path forward, GitHub allows anyone access to deleted / private repository data & Tailscale wants to build a New Internet.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Michael Gat joins us for a look back on mainframes & why sometimes deploying on a Friday IS the right thing to do.
Leave us a comment
Changelog++ members get a bonus 12 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Interview* Mainframe blog post * SCaLE 21x talk * Changelog #1 with Cameron Seay * Changelog #2 with Cameron Seay
Outro* Facebook research * Google research * Amazon research * Netflix research * Microsoft research * Disney Animation research * Pixar research * Association for Computing Machinery (ACM)
Something missing or broken? PRs welcome!
Robert Ross joins us in CrowdStrike’s wake to dissect the largest outage in the history of information technology… and what it means for the future of the (software) world.
Leave us a comment
Changelog++ members get a bonus 9 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Josh Goldberg joins Nick & Chris to discuss the latest updates from ESLint, typescript-eslint & the new flat config format. They also discuss creating reusable configs & project generators before pivoting to talk about a new conference focused on developer tooling. Finally, Chris & Josh talk about the past, present & future of Mocha.
Leave us a comment
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
with keywordSomething missing or broken? PRs welcome!
This week Daniel & Chris hang with repeat guest and good friend Demetrios Brinkmann of the MLOps Community. Together they review, debate, and poke fun at the 2024 Gartner Hype Cycle chart for Artificial Intelligence. You are invited to join them in this light-hearted fun conversation about the state of hype in artificial intelligence.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Adam Lisagor (Sandwich Video founder) takes us behind the Sandwich to share his insights into the importance of storytelling in the tech industry, the value of helping Founders communicate their stories effectively, the details behind his new AI company, and the apps he’s making for Apple Vision Pro at Sandwich Vision.
Leave us a comment
Changelog++ members get a bonus 3 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Jesús Espino from Mattermost tells Natalie all about (the final four of) his 10 “aha moments” he had reading the Go source code. Don’t miss Part 1!
Leave us a comment
Changelog++ members save 8 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Brendan Gregg details how eBPF can help us have no more blue Fridays, Misty De Meo thinks GitHub is starting to feel like legacy software, Gavin D. Howard does not want Rust to be used for everything, The Notion team published a deep dive into how they used the WASM version of SQLite to improve browser performance & Gregor Ojstersek writes up how to build good relationships inside and outside your engineering teams.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Nick Janetakis is back and this time we’re talking about TUIs (text-based user interfaces) — some we’ve tried and some we plan to try. All are collected from Justin Garrison’s Awesome TUIs repo on GitHub. This episode is “AI free.”
Leave us a comment
Changelog++ members get a bonus 17 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOG when you sign up to get $100 OFF the team plan.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
GitLab has changed a lot over the past 8 years and so has Abubakar. Starting in the help desk he’s seen a lot and takes us through GitLab’s and his progression.
Leave us a comment
Changelog++ members save 13 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Interview* Gitlab’s helm chart
Outro* Happy Eyeballs * Justin’s resume
Something missing or broken? PRs welcome!
Go’s known for it’s fantastic standard library, but there are some places where the libraries can be challenging to use. The html/template package is one of those places. So what alternatives do we have? On today’s episode we’re talking about Templ, an HTML templating language for Go that has great developer tooling. Co-hosts Kris Brandow and Jon Calhoun are joined by Adrian Hesketh, the creator of Templ, and Joe Davidson, one of the maintainers on the project.
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:44) - Joe and Adrian
(02:35) - Celsius vs Fahrenheit
(04:51) - HTML templating with Go
(08:24) - How old is this?
(09:52) - Bringing this into existance
(16:40) - Generating Go code
(19:27) - The 2nd generate step
(25:31) - Serverside rendering
(36:03) - Sponsor: Changelog News
(37:42) - Back to Templ
(41:58) - LSP
(42:50) - What is Templ good for?
(49:01) - Surprisingly good docs
(52:03) - Making the docs approachable
(55:42) - Unpopular opinions!
(56:07) - Adrian's unpop
(59:23) - Joe's unpop
(1:03:04) - Jon's unpop
(1:04:00) - Outro
Bun 1.0 is out of the oven, Mojo is now available for local download, Vince Lwt asked 60+ LLMs a set of 20 questions & published the answers, Textual Web turns TUIs in to web applications & James Haydon dives deep to discover the bug that the UK air traffic control meltdown.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(01:05) - Bun 1.0 is here
(02:08) - Mojo is ready for download
(02:57) - 20 questions for 60 LLMs
(04:01) - Textual Web
(05:03) - Sponsor: Tailscale
(06:00) - The UK air traffic meltdown
(07:43) - Outro
V Körbes returns to talk prototyping with Natalie, Johnny & Kris. Is Go good for prototyping? What makes a language prototypable, anyway? How does space radiation fit in to all this? Tune in and ride along to find out!
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:35) - Sponsor: Tailscale
(03:11) - V Körbes
(05:01) - Java for prototyping
(05:37) - What makes a language prototypable
(11:59) - Individual prototyping
(25:47) - The rest of the stack
(29:35) - Is Go a great prototyping tool?
(34:17) - Bad considerations
(43:34) - Prototype less fluent
(44:41) - Johnny's rebuttal
(52:33) - Space radiation
(57:07) - Unpopular opinions!
(57:25) - Kris' unpop
(59:23) - V Körbes' unpop
(1:02:30) - Johnny's unpop
(1:03:11) - Natalie's unpop
(1:03:48) - Outro
In this episode we welcome back our good friend Demetrios from the MLOps Community to discuss fine-tuning vs. retrieval augmented generation. Along the way, we also chat about OpenAI Enterprise, results from the MLOps Community LLM survey, and the orchestration and evaluation of generative AI workloads.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:07) - Welcome to Practical AI
(00:43) - Practical AI & Friends
(02:01) - Look into MLOps community
(04:19) - Changes in the AI community
(07:34) - Finding the norm
(08:30) - Matching models & uses
(11:21) - Stages of debugging
(13:10) - Layer orchestration
(16:26) - Practical hot takes
(21:46) - Fine-tuning is more work
(24:13) - Retrieval augmented generation
(31:23) - MLOps survey
(38:09) - The next survey
(41:50) - Enterprise hypetrain
(42:39) - OpenAI & your data
(43:19) - AI vendor lock-in?
(47:44) - Now what do we do?
(48:58) - Hype in the AI life
(56:35) - Goodbye
(57:23) - Outro
This week on The Changelog Adam is joined by Zach Lloyd, Founder & CEO of Warp. We talked with Zach last year about what it takes to build the terminal of the future, and today Adam catches up with Zach to see where they are at on that mission. They talk about the business model of Warp, how they measure success, reaching product/market fit, building features developers love, integrating AI, and the pros and cons of going open source (again).
Leave us a comment
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(00:57) - Sponsor: Convex
(04:13) - Start the show!
(06:20) - Can you share some numbers?
(07:20) - The last time we spoke
(08:57) - Measuring Product/Market fit
(11:03) - What feedback are you getting?
(13:53) - Who are you building this for?
(16:53) - The thesis is...?
(18:31) - Warp is like Raycast
(27:23) - Giving the power to all
(31:28) - Sponsor: Square
(33:58) - Is your mission to replace Terminal.app?
(35:45) - Warp in VS Code?
(37:09) - What terminal apps are used on Mac?
(39:32) - We still need a standalone terminal app
(41:42) - Who is your competition?
(47:25) - Should Terminal.app die?
(49:50) - What's the business model?
(53:16) - Do a Pro plan like Raycast
(57:03) - What's the state of "Teams"
(59:14) - What is Warp Drive?
(1:05:25) - Sponsor: Changelog News
(1:06:42) - Adam shares a feature request
(1:09:29) - Respect my Oh my ZSH
(1:15:04) - Give them good UI
(1:18:58) - What did it take to get to now?
(1:28:29) - Is $50 million dollars alot?
(1:29:39) - Adding AI features
(1:35:22) - What's next?
(1:38:15) - Will Warp ever be open source?
(1:47:18) - Wrapping up
(1:47:36) - Get in touch!
Our “what’s new in Go” correspondent Carl Johnson joins Johnny & Kris yet again to discuss what’s new with the latest iteration of Go in version 1.21.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Welcome to Go Time!
(00:35) - Sponsor: Tailscale
(04:02) - Carl Johnson
(06:11) - Most important release note
(11:14) - Logging
(17:41) - maps.keys
(20:09) - CMP package
(23:47) - min-maxing
(29:04) - loop variable closer
(34:05) - PGO
(37:49) - Forward and backward compatibility
(40:01) - Sponsor: Changelog News
(41:13) - WebAssembly
(44:54) - Funk
(47:47) - Unpopular opinions!
(48:06) - Carl's unpop
(1:01:20) - Waterfall paper
(1:03:27) - Outro
You might have heard a lot about code generation tools using AI, but could LLMs and generative AI make our existing code better? In this episode, we sit down with Mike from TurinTech to hear about practical code optimizations using AI “translation” of slow to fast code. We learn about their process for accomplishing this task along with impressive results when automated code optimization is run on existing open source projects.
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:07) - Welcome to Practical AI
(00:43) - Code optimizing with Mike Basios
(03:19) - Solving code
(07:24) - The AI code ecosystem
(10:41) - Other targets
(12:58) - AI rephrasing?
(15:28) - Sponsor: Changelog News
(16:40) - State of current models
(20:31) - Improvements to devs
(22:31) - Managing your AI intern
(25:09) - Custom LLM models
(29:49) - Biggest challenges
(33:19) - Hallucination & optimization
(35:42) - Test chaining?
(39:09) - LLM workflow
(41:25) - Most exciting developments
(43:40) - Looking forward to faster code
(44:14) - Outro
OpenTF announces they’re forking Terraform and joining the Linux Foundation, Meta gets in the LLM-for-codegen game with Code Llama, Matt Mullenweg announces WordPress.com’s new 100-year plan, Paul Gichuki from Thinkst learns that default behaviors stick (and so do examples) & Marco Otte-Witte makes his case for Rust on the web.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:46) - OpenTF forks Terraform
(02:08) - Meta announces Code Llama
(02:48) - Sponsor: Sentry
(03:48) - WordPress.com offers 100-year plan
(04:44) - Default behavior sticks (so do examples)
(06:26) - The case for Rust for the web
(07:24) - Outro
Nick celebrates a decade of writing everyone’s favorite language with guest Josh Goldberg, who contributes to TypeScript, maintains typescript-eslint, and is an all-around great person! Jerod is also here to join the celebration, but let’s keep that a secret from him!
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all
(00:55) - Welcoming Josh back to the show
(03:33) - Jerod "doxxes" Josh
(07:58) - Let's talk about TypeScript
(11:54) - Getting into TS
(18:10) - When Nick Nisi hesitates...
(21:04) - Nick airs his early TS grievances
(30:50) - Present day TS
(39:17) - Sponsor: Changelog News
(40:54) - Even Postgres gets an LSP
(41:42) - An aside: Neovim
(45:27) - Nick bashes TS
(47:48) - Feeling the pain
(50:18) - TSLint & complexity
(52:14) - The JSDoc trend
(59:24) - Josh's competition hot take
(1:00:37) - Major TS pain points
(1:03:01) - What Josh wants in TS
(1:04:32) - Will Jerod ever use TS?
(1:05:47) - Closing call to ACTION
(1:07:09) - Next up on the pod
(1:08:14) - BONUS++ (FOR ALL)
This week we’re talking to Andreas Kling about SerenityOS and Ladybird. Andreas started SerenityOS as a means of therapy. It’s self-described as a love letter to “‘90s user interfaces with a custom Unix-like core.” Andreas previously worked at Nokia and later at Apple on the WebKit team, so he had an itch to do something along the lines of a browser, and that’s where Ladybird came from. We get into the details of compilers, OSs, browsers, web specifications, and the love of making software.
Leave us a comment
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(01:09) - Sponsor: Convex
(04:29) - Start the show!
(16:41) - How do you install it?
(20:32) - Why? Why?
(21:55) - An outlet to learn and explore
(26:32) - Need a bathroom? Build it.
(28:38) - Did you write the compiler?
(32:37) - Major stuff in the works
(36:56) - Sponsor: Tailscale
(40:33) - Why do we need more browser engines?
(46:46) - Do we really need diversity in browser engines?
(57:00) - Gecko vs Quantum
(1:00:30) - Diff'ing implementation vs spec?
(1:03:45) - Long-term personal goals
(1:05:40) - Where is Ladybird on the roadmap?
(1:10:01) - Who's on the team? Who is we?
(1:14:56) - What is a non-capitalistic product?
(1:17:57) - Let's plug some URLs
(1:18:40) - Use GitHub Sponsors to sponsor
(1:20:05) - Wrapping up
(1:20:41) - Outro and a bonus for ++
On Go Time #281, my Unpopular Opinion was about the software development method outlined in the waterfall paper. There was a brief exchange between myself and Johnny:
Subscribe to our YouTube channel for more clips like this, live show recordings & more ✌️
Kris: So I read the “Waterfall” paper, and I will say that the method of doing engineering described in that paper is far superior to anything that we’re doing today.
Johnny: I heard Waterfall is superior to all.
Kris: That might be what you heard. Is that what I said? That’s what you heard though…
The Unpopular Opinion segment of the show is a lot like No Nuance November, in that the opinions that are offered generally have deep truths to them, but we strip away that nuance to provide a quick soundbite that we can have our audience vote on. As expected, this opinion was unpopular, but this is a case where adding the nuance is quite important.
This post expands on my Unpopular Opinion, providing the background for how I arrived at it, adds some suggestions for improving your software development process, and includes a bonus Unpopular Opinion at the end.
Background The first step of adding nuance is to define the terms that we use. Let’s start with “waterfall”. To help put together a slightly more broad definition of waterfall I asked the other hosts of Go Time how they define the waterfall development model. Here’s what they said.
Angelica: A process where all planning work is done before any code is written and where adaptation to unexpected circumstances or changes in requirements are difficult to incorporate.
Mat: Waterfall is a development process with big upfront design where all design is completed before moving to subsequent steps, in which some people are excluded, and there is no iteration
Jerod: Big up front design and only move forward
If we aggregate these definitions, we can break the waterfall model down into three components:
How does this understanding match with the sources of the definition?
If we use Wikipedia as the general consensus for the history, not well at all. There are three papers that Wikipedia cites as establishing the phases used in waterfall along with the actual term itself:
I think these three papers are actually sufficient to explain not only our misunderstanding of waterfall, but also where it came from. Additionally, I said that the methodology in Royce’s paper specifically is superior to what we do today, but I’d like to expand it to encompass all three of these papers. The papers are similar in what they suggest, and combined provide useful additions to software engineering processes.
Production of Large Computer Programs Benington’s paper was published in 1956 and then republished with an editor’s note in 1983. This paper is cited as the first one describing software development phases that resemble waterfall.
However, this paper doesn’t describe the entire development process, only a portion of it1. To this point, Benington’s editor’s note clarifies that in the original paper they “[omitted] a number of important approaches”. One of the significant omissions is that they built a prototype with the main purpose of understanding as much of the problem space as they could before they built the system. If I were to speculate, I would say that people believing this paper describes waterfall were assuming that it described the entire development process. This is a good example of why we shouldn’t make assumptions based on the absence of information2.
The editor’s note of the paper helps us understand where our current software development practices have gone awry. Benington felt that the main reason their software project was successful was because those building it were engineers trained in formal engineering3 who used structured programming and a top-down approach4.
He cites three reasons why subsequent projects missed their schedules and had large cost overruns:
The second reason is the most notable. In Benington’s assessment, the problem with software development was not that it was top down, but that it lacked prototyping. The issues with the specifications were that you needed to write all of them before you wrote any code. He thought this method was “terribly misleading and dangerous”.
The major theme in both the paper itself and the editor’s note is that software development requires far more documentation than was being produced by the processes in use. This was true for the process they used to produce SAGE in the 1950s and was still true when Benington wrote the editor’s note in the 1980s. It is still true to this day.
Software Requirements: Are They Really A Problem? Bell & Thayer’s paper was published in 1976. As the title suggests, this paper was a research effort to determine if software requirements were an issue for software development. This paper originates the term “waterfall”:
[An] excellent paper by Royce [introduces] the concept of the “waterfall” of development activities.
This brief reference is likely what started the confusion around Royce’s paper. Context is important here: Bell & Thayer were primarily concerned with requirements analysis and documentation. Their usage of material from Royce’s paper is narrowly focused on requirements related topics. Their paper doesn’t comment on the entire software development process. That said, their paper is still relevant to modern software development processes outside of it establishing the term “waterfall”.
The conclusion they reached is that software requirements were insufficient, which causes the software developed to not solve the desired problems. Their solution: software requirements must be engineered and continually reviewed / revised. So this paper also states that software development processes require additional documentation and that an iterative approach is required.
Managing The Development of Large Software Systems Royce’s paper was published in 1970. I won’t bury the lede here, the conclusion of this paper is the same as the other two: write more documentation.
In the view of Royce, who’s view aligns with the authors of the other two papers, even if there exists quite a bit of documentation it is likely not enough and you should write more.
As his is the only paper that actually discusses a development process in depth, I think it’s important to cover a bit more of what he says. But first, let’s talk about an important concept.
An Interlude On Risk In my research for this post, there was a general feeling around Royce’s claim of how risky and failure prone the process he describes is. I believe this is a misunderstanding of the way Royce sees risk. There’s a fantastic book by Tom DeMarco and Timothy Lister titled Waltzing with Bears, in which they discuss managing software projects. There’s one particular quote I’d like to point out from the first chapter:
If a project has no risks, don’t do it. Risks and benefits always go hand in hand.
Risk is unavoidable, but that doesn’t mean we have to blindly accept its chaotic outcomes5.
This is the sense of risk used in Royce’s paper. So when he writes:
“I believe in this concept, but the implementation described above is risky and invites failure.” (emphasis mine)
He isn’t saying that the process is bad, he’s saying the inherent risk hasn’t been contained and mitigated. This is clarified two paragraphs later when he writes:
“I believe the illustrated approach to be fundamentally sound. The remainder of this discussion presents five additional features that must be added to this basic approach to eliminate most of the development risks.” (emphasis mine)
To emphasize this point, earlier in the paper he declares that the two step process he initially outlined is dangerous for large software projects:
“An implementation plan to manufacture larger software systems, and keyed only to these steps, however, is doomed to failure.”
Royce’s Software Development Process So what is it about Royce’s software development process that I find to be far superior to anything we’re doing today? Let’s start with one of his first pieces of advice: if the basic process works for you, then use the basic process.
He states that there are two crucial stages to software development: analysis and coding. Translated into modern language, these roughly equate to the work done by product managers and the work done by software engineers, respectively.
These make up what I’ll call the basic process for software development.
Royce emphasizes that these are stages that businesses are happy to pay for and people are happy to do. But in his view, an entire development process made of only these two stages only works for small software projects. In particular, projects that will be operated by the software engineers who built them. Larger projects or those which will be operated by another party (such as an operations team) are “doomed to failure” if they only use these two steps.
His view here is pragmatic: he believes that if these stages work for you then you’d be wasting money doing additional stages. However, in his experience, writing large software systems always requires additional stages.
Royce suggests adding 5 stages to the process:
He notes that these are steps that businesses don’t want to pay for and people don’t want to do, but are nonetheless required. So the total process is 7 steps: system requirements, software requirements, analysis, program design, coding, testing, and operations. He notes that there is an iterative relationship between these steps.
Yes, you read that right, the “waterfall” paper describes an iterative development process, and Royce says this on the very first page of the paper. That means all three papers that are used to describe the history of waterfall software development advocate for iterative software development. He notes that the iterative relationship is between the preceding and succeeding steps and leads to a maximization of salvageable work from earlier stages and keeps change process “scoped down to manageable limits.”
He then discusses the problem with this process: testing occurs too late. This is often the main critique of waterfall development and I’ll illustrate with an example:
If your business requirements state that you need to handle 100,000 concurrent users, and you’ve done the analysis, design, and coding to implement a system you believe will handle 100,000 concurrent users… Until you actually do the testing you have no idea if the system will actually be capable of satisfying this requirement.
Royce provides a figure representing this:
A main thing to note is that the backward iterative cycles skip the coding and analysis stages. There’s a bit of nuance as to why he does this. Royce believes that analysis (product management) and coding (software engineering) departments are well staffed and that generally they have little impact on requirements, design, and testing. To continue with the previous example, if the system we tested cannot handle 100,000 concurrent users, it is much more likely that the issue lies within the design or business requirements than within the analysis or code. The well-staffed aspect also means that if there is a problem with the analysis or code, these changes will be easy enough to make that it will have little impact on the overall process. In Royce’s view, if a problem is discovered during testing…
“Either the requirements must be modified, or a substantial change in the design is required. In effect the development process has returned to the origin and one can expect up to a 100-percent overrun in schedule and/or costs.”
This is where that risk tradeoff comes from. The high risk is that if you don’t get everything right, then you wind up with a large overrun in time and money, but the reward is that if you do get everything right, you’ll have built software with minimal time and minimal cost. Instead of crossing one’s fingers and hoping that they get everything right, Royce suggests adding 5 additions to the process.
Together, the additions constrain the potential overrun in time and money while increasing the time and costs by a minimal amount.
Royce’s 5 Risk Management Additions The language that Royce uses is rather direct and requires a bit of nuance. To put this nuance at the forefront, each of his additions are titled below with my interpretation followed by Royce’s original titles (in parentheses).
Returning to our 100,000 concurrent users example, we could write a preliminary design where we choose basic technologies that we want use6 along with assessments of what we can build, test and operate7. If it turns out that it’s not feasible to build the system to handle 100,000 concurrent users with current resources or knowledge, then it’s much better to return to the business requirements step than to discover this after product management have already created a set of PRDs.
Royce notes that this must be a written document, since “at least one person must have a deep understanding of the system which comes partially from having had to write an overview document”. This echoes a similar recommendation from Benington, who sees having a chief engineer as a major component for the success of a project.
“Replace project management. Stop all activities not related to documentation. Bring the documentation up to acceptable standards”.
He gives three reasons why so much documentation is required:
Royce suggests six documents that should be written throughout the software development process, five of which should be completely up to date when the software project is delivered. (Bell & Thayer suggest having up to date documentation as well.)
How do we know if we’re unsure? Well, many of us have been in the room when a project manager asks for an estimate and one person says “three hours” and another person says “two weeks” for the same task. The solution to this problem is to prototype and gain enough information such that you no longer need to rely solely on human judgement.
This addition pairs well with the first two, as documentation from previous projects can aid us in estimating what a similar component of a new project will require. By doing a preliminary design we can figure out what things we need to prototype8. Royce specifically says to not prototype the things that you already know how to build or the things that are straightforward.
Plan your testing and do more testing (“Plan, Control, and Monitor Testing”) While the previous three steps are meant to reduce the surprises found during testing, that doesn’t obviate the need to do testing. Some of Royce’s advice is quite antiquated9, but it reduces down to having testing specialists handle testing since they’ll be cheaper and do a better job; do code reviews; thoroughly test your code10; and do a final set of tests with sign offs.
Communicate with the business11 (“Involve The Customer”) Royce notes that while the business should be included, they shouldn’t have free rein. After the requirements stages, he suggests having three designated places where the business is solicited for input: after the preliminary design, during program design, and after testing in the form of final software acceptance test.
Review And that’s it. In Royce’s view, adding these steps to the software development process he outlined will “transform a risky development process into one that will provide the desired product”. I agree with Royce that these stages and additions are required for large software projects.
That said, I don’t think that we should just directly take a development process that one person found useful and use it everywhere. We should extract the valuable advice and use it to build new processes, ones that give us pathways to discovering more ways to manage high risk/high reward projects. I believe this paper contains three such valuable pieces of advice that will improve most (if not all) software development processes:
I think the second piece of advice is the most valuable of the three.
Many of us have sat in a retrospective meeting12 after a particularly long project and found it difficult to remember all of the things that we wanted to say. There might be something that really frustrated us that we no longer remember, or something that was fantastic that we quickly forgot. By documenting these things we not only aid ourselves in remembering for the meeting itself, but we also provide a way for people in the future (including ourselves) to go back and review a previous project. This is what helps build organizational momentum and institutional knowledge, helping future projects require less time and fewer resources.
The third piece of advice might seem obvious, but I’ve been a member of several organizations where engineers are allowed to review their own code. If you have the same group of people doing a separate stage, you don’t have a separate stage, you’ve just drawn an extra box that isn’t meaningful. If the people writing the code also perform the testing, you don’t have a separate testing stage. The same is true if you have programmers operating the software.
Modern Day Interpretation While I don’t think that we should directly use Royce’s software development process, I do think that it is a good place to start and superior to what most of us are doing today. Below are the steps of his process but updated for a modern understanding:
Conclusion If there is only one thing that you take away from this article, I hope that it is this:
Documentation is the key to a successful software project
Not only do the referenced authors heavily emphasize this point, but I believe the massive success of open source provides us with evidence of what happens when we focus on documentation. The open source ecosystem lives and dies by documentation. Projects that spend time to develop high quality documentation are often far more successful than competing projects that might be higher quality in terms of functionality or code.
An example of this is the PHP programming language and the ecosystem around it. I started my career in PHP and Drupal, and the main thing that pulled me in was the comprehensive documentation. Many of us joke about how so much of our job is “doing a web search, finding a Stack Overflow post, and doing what’s suggested”, and this is yet another example of how impactful an abundance of documentation can be.
In this article we defined the waterfall development methodology, discussed its origins including the “waterfall” paper, did a review of the paper itself along with associated papers, and suggested some ways to enhance your current software development process. I hope that over the course of this post, I’ve convinced you that the “waterfall” paper includes some great advice that can be used to improve our software development processes.
Thanks for taking the time to read this post and let me know your thoughts in the comments below.
Unpopular Opinion Redux You didn’t think I would leave you without a new Unpopular Opinion, did you?
The way I defined waterfall at the beginning of this post specifically stated that once you progress from one stage, you never return to it. My unpopular opinion is that most software development actually follows this and that when we say that we’re iterating we are actually just spinning around in one specific stage.
Not only does most software development resemble Figure 1 in Royce’s paper:
He referred to this as "doomed to failure"
But even in the processes that have design stages in them, we rarely return to previous stages.
How many times have you actually gone back and updated the Business Requirements Document (if it even exists) or a Product Requirements Document? How many times have you gone back and updated a design document? If we were actually iterating to previous stages wouldn’t we also be revising and updating these documents? If they aren’t part of the process why did we write them in the first place?
Leave us a comment
Recently a16z released a diagram showing the “Emerging Architectures for LLM Applications.” In this episode, we expand on things covered in that diagram to a more general mental model for the new AI app stack. We cover a variety of things from model “middleware” for caching and control to app orchestration.
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Emerging Architectures for LLM Applications
Something missing or broken? PRs welcome!
Timestamps:
(00:07) - Welcome to Practical AI
(00:43) - Deep dive into LLMs
(02:25) - Emerging LLM app stack
(04:35) - Playgrounds
(08:07) - App Hosting
(10:46) - Stack orchestration
(15:50) - Maintenance breakdown
(19:08) - Sponsor: Changelog News
(20:43) - Vector databases
(22:36) - Embedding models
(24:27) - Benchmarks and measurements
(26:59) - Data & poor architecture
(29:42) - LLM logging
(33:01) - Middleware Caching
(37:32) - Validation
(40:53) - Key takeaways
(42:36) - Closing thoughts
(44:23) - Outro
New research shows that CAPTCHAs are now utterly useless, hundreds of concerned technologists signed the OpenTF Manifesto to keep Terraform open source forever, Josh Collinsworth writes down all the things you forgot (or never knew) because of React, Mike Seidle shared some quick-but-powerful advice on building new software features & Erlend Sogge Heggen urges new open source projects to join the Fediverse (by way of Mastodon).
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(01:09) - CAPTCHAs are now utterly useless
(02:10) - The OpenTF Manifesto
(03:06) - Things you forgot (or never knew) because of React
(04:53) - Sponsor: Sentry
(05:44) - Work, Like, Love
(06:31) - Greenfield OSS projects should join Mastodon
(07:37) - Outro
Our friend Justin Searls recently published a widely-read essay on enthusiast programmers, inter-generational conflict & what we do with this information. That seemed like a good conversation starter, so we grabbed Justin and Landon Gray to discuss. Let’s talk!
Leave us a comment
Changelog++ members get a bonus 7 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Let's talk!
(00:38) - Old friends & new friends
(01:03) - 4+ people podcasts
(01:42) - Conferencing on hard mode
(02:37) - Justin the Rubyist
(04:45) - Justin & Friends
(05:21) - Era of the enthusiast programmers
(11:36) - Landon's introduction
(13:39) - Thoughts on the post
(16:25) - Experiment with the world
(19:32) - Inter-generational conflict
(26:47) - Jerod's passion
(28:10) - Defining generations
(30:30) - Evolved marketing
(32:21) - Landon's coding journey
(36:19) - Justin's intro to programming
(37:52) - Napster
(39:51) - 10x dev
(41:26) - Landon on passion
(44:47) - Atypical traits
(46:48) - #LearnToCode
(48:55) - Friendly dev tools
(50:12) - It's a numbers game
(53:03) - Landon on persistence
(57:37) - Obligatory shift to AI
(1:02:40) - Stopping at 'make it work'
(1:03:16) - AI as training wheels
(1:07:07) - More grit
(1:09:14) - This house of cards
(1:14:47) - Taking the wheels off
(1:15:30) - High stakes
(1:18:14) - How do we land this plane
(1:19:07) - We're going to figure it out!
(1:20:23) - Landon'ing the plane
(1:20:46) - Coming up next (Changelog++!)
Jim (Hyphen) Nielsen joins Jerod & Nick for a fun conversation about language-level toll roads, when (and how) to quit, the stratification of social networking & the state of the world in publishing your thoughts on the internet.
Leave us a comment
Changelog++ members get a bonus 13 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all
(00:55) - Hello, hello
(02:04) - Welcoming Jim to the show
(05:15) - The trough of AI disillusionment
(06:19) - The Thing of the Moment
(07:25) - Language-level Toll Roads
(22:15) - The art of knowing when to quit
(30:24) - Shout out to Metalsmith
(32:17) - But HOW do you quit?
(38:22) - Stratification of social networking
(43:49) - A podcaster's perspective
(53:13) - On Mastodon
(57:25) - RSS is the indie social web
(1:01:33) - Closing time
(1:03:05) - Next up on the pod (Changelog++!)
This week we’re talking with Jonathan Carter who’s on his fourth term as Debian Project Lead (DPL) and we’re talking about 30 years of Debian!
Leave us a comment
Changelog++ members get a bonus 12 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOGMEDIA and get the team plan FREE for six (6) months.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(01:24) - Sponsor: Sentry
(04:57) - Start the show!
(06:17) - Debian Project Lead (DPL)
(10:03) - From Ubuntu to Debian
(15:09) - How does Debian work?
(17:59) - On-ramping marginalized contribs
(19:51) - Formulization of Debian
(23:04) - Stability of Ttrusted Organizations (TOs)
(27:55) - Who is "Bookworm"?
(31:54) - Sponsor: Tailscale
(35:30) - Free as in freedom (and beer)
(41:20) - What is a Linux distribution?
(45:30) - We need OS choice on mobile
(50:14) - Proxmox builds on Debian
(55:11) - Linux on Apple hardware
(58:59) - Feels on Ubuntu
(1:01:57) - Feels on Arch
(1:03:30) - The state of the enterprise Linux standard
(1:06:18) - Why not Debian?
(1:15:29) - What it takes to run for DPL?
(1:17:44) - Jonathan's day job
(1:21:07) - The human history of Debian
(1:27:13) - Consider Hackclub's model
(1:28:38) - Wrapping up
(1:29:09) - Outro
HashiCorp adopts a Business Source license, Matt Rickard hypothesizes why Tailwind CSS won, WarpStream sets out to make a Kafka-compatible offering directly on S3, Vadim Kravcenko publishes an excellent guide for managing difficult software engineers & Russ Cox gives an update on Go 2.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro (Strange Loop!)
(00:38) - HashiCorp goes Business Source
(02:13) - Why Tailwind CSS won
(03:10) - Kafka is dead, long live Kafka
(04:21) - Sponsor: Tailscale
(05:32) - Managing difficult software engineers
(06:16) - An update on Go 2
(07:15) - Outro (Subscribe!)
Gerhard joins us for the 11th Kaizen and this one might contain the most improvements ever. We’re on Fly Apps V2, we’ve moved from S3 to R2 & we have a status page now, just to name a few.
Leave us a comment
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Let's talk!
(00:38) - Kaizen 11
(01:17) - Are we improving?
(02:09) - Best Kaizen ever?
(03:21) - Email bug
(05:43) - Oban Web
(08:47) - Close to the users?
(09:55) - TL;DL on caching issues
(11:15) - Apps V2
(14:14) - 'Flapping'
(17:04) - Our 2 SLOs
(20:59) - Cleaning the master feed
(24:47) - HITs & MISSes
(27:46) - One more layer
(34:17) - Jerod's list
(35:51) - Growing S3 costs
(38:48) - Storage Lens
(40:51) - R2 D2?
(44:10) - S3 backup
(44:52) - B2 vs S3
(47:37) - Setting up a mirror
(48:55) - GitHub x Dagger?
(55:39) - Goodbye Jerod's bucket
(56:26) - Changelog Nightly backups
(1:02:54) - Adam finds a bot?
(1:03:57) - An anti-spam bot
(1:05:58) - status.changelog.com
(1:07:22) - Next Kaizen
(1:08:16) - Middlware.io
(1:09:21) - More SLOs
(1:11:35) - Triggers vs SLOs
(1:14:09) - Happy Kaizening
(1:16:16) - Join our Slack!
(1:17:00) - Plz don't archive channels
(1:18:00) - Coming up next (join ++!)
A technical dive into how the Go stack works and why we as programmers should care.
Leave us a comment
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:35) - Sponsor: Tailscale
(04:12) - Meeting our guests
(05:45) - Growing lilies
(10:05) - Starting at the basics
(14:13) - Sponsor: Changelog News
(15:23) - When does the stack shrink
(17:59) - Working backwards with memory
(23:38) - Can you be good enough?
(35:59) - The stack vs the heap
(43:10) - When to care about the heap
(56:26) - Measure first, optimize after
(1:00:53) - Unpopular opinions!
(1:01:10) - Yarden's unpop
(1:05:08) - David's unpop
(1:10:24) - Wrapping up
(1:11:30) - Outro
Val Town is a shiny, new social programming environment to write, run, deploy and share code. Steve Krouse –Val Town creator– joins Jerod & Amal to tell us all about it.
Leave us a comment
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all
(00:55) - Welcoming Steve
(03:22) - A great concept
(13:36) - "Sent from my phone"
(17:24) - What does my code live?
(24:01) - Fraud & abuse
(25:24) - Sponsor: Changelog News
(26:32) - Smart people behind it
(28:33) - The business side of things
(34:01) - Getting your data
(36:58) - Sharing is caring
(38:56) - Discovering Vals
(40:57) - Large Val-based systems
(47:55) - The pricing story
(50:13) - Val's tech stack
(52:05) - Questions from the chat
(55:57) - Security concerns
(58:08) - Closing time
(59:06) - Next up on the pod
Leslie Lamport is a computer scientist & mathematician who won ACM’s Turing Award in 2013 for his fundamental contributions to the theory and practice of distributed and concurrent systems. He also created LaTeX and TLA+, a high-level language for “writing down the ideas that go into the program before you do any coding.”
Leave us a comment
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOGMEDIA and get the team plan FREE for six (6) months.Featuring:
Show Notes:
The TLA+ Home Page
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(00:56) - Sponsor: Tailscale
(04:32) - Start the show!
(04:53) - Leslie & LaTeX
(07:03) - Separating the ideas
(10:54) - Thinking like a mathematician
(14:02) - Coding is like typing
(21:13) - "Let's get coding"
(25:01) - You don't know until you know
(28:35) - Thinking in algorithms
(34:14) - Sponsor: Sentry
(37:52) - What's different today?
(40:55) - What makes a system distributed
(43:53) - The movie metaphor
(49:51) - Stuttering insensitivity
(52:19) - The Bakery Algorithm
(58:21) - The day of discovery
(1:01:57) - Back to the editor
(1:03:56) - Leslie's work these days
(1:05:20) - Final words
(1:06:07) - Up next...
In this Fully Connected episode, Daniel and Chris kick it off by noting that Stability AI released their SDXL 1.0 LLM! They discuss its virtues, and then dive into a discussion regarding how the United States, European Union, and other entities are approaching governance of AI through new laws and legal frameworks. In particular, they review the White House’s approach, noting the potential for unexpected consequences.
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
LEARNING RESOURCE!
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Welcome to Practical AI
(00:43) - We're fully connected
(01:41) - DIY Superconductor
(06:18) - Stable Diffusion XL 1.0
(09:40) - Minimum requirements
(11:19) - LLama2s
(12:24) - Water from a poisoned well
(14:58) - Sponsor: Changelog News
(16:07) - Policy makers
(17:12) - Letter to the EU
(20:55) - Fear on both sides
(23:53) - AI Bill of Rights
(28:52) - Human alternatives
(32:33) - AIRC compliance
(37:08) - Learning resources
(40:19) - Next adventure
(40:53) - Outro
Matt Asay thinks the open source licensing war is over, LangUI is an open source Tailwind component library for your AI chat app, Ivan Kuleshov modded a Mac mini to run via PoE, Apple joins Pixar and others in the Alliance for OpenUSD & John D. Cook says sometimes you shouldn’t pick the best tool for the job.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
CHANGELOGMEDIA and get the team plan FREE for six (6) months.Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro (RIP Bram)
(01:14) - Open source licensing war is over
(02:38) - LangUI for your AI
(03:13) - Mac mini modded with PoE
(04:07) - Alliance for OpenUSD
(05:28) - Sponsor: Sentry
(06:18) - The worst tool for the job
(07:11) - Outro
This week Adam is joined by Abi Noda, founder and CEO of DX to talk about DX AKA DevEx (or the long-form Developer Experience). Since the dawn of software development there has been this push to understand what makes software teams efficient, but more importantly what does it take to understand developer productivity? That’s what Abi has been focused on for the better part of the last 8 years of his career. He started a company called Pull Panda that was acquired by GitHub, spent a few years there on this problem before going out on his own to start DX which helps startups to the fortune 500 companies gather real insights that leads to real improvement.
Leave us a comment
Changelog++ members get a bonus 33 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOGMEDIA and get the team plan FREE for six (6) months.Featuring:
Show Notes:
For our ++ subs * $STDOUT * Changelog Interviews #466: Song Encoder on $STDOUT
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(01:13) - Sponsor: Sentry
(04:46) - Start the show!
(08:19) - Falling in love with DX
(10:21) - DevX vs DX?
(13:14) - DX vs developer productivity
(16:04) - How devs value their work
(20:49) - Let's go back to Pull Panda
(27:34) - Getting devs to be truthful
(35:05) - Why hasn't this been done before?
(38:08) - Abi shares example questions
(53:19) - Sponsor: Caisy
(56:10) - Is DX just a survey company?
(1:00:12) - Are you transforming companies?
(1:02:14) - Who cares about DX?
(1:06:20) - What size company does this?
(1:10:28) - DX team of 1
(1:22:36) - The DX playbook
(1:25:08) - Let's give a prescription for DX
(1:28:21) - Why do people fill out these surveys?
(1:33:45) - Wrapping up
(1:34:52) - Teasing the BONUS
KBall and Amal go deep on careers. They share their career journeys, talk through learnings and mishaps that happened along the way, and break down key factors to understand about big role transitions like Senior->Staff and Engineer->Manager.
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all
(00:40) - Helloooooo!
(02:18) - KBall's career journey
(10:44) - Hiding the ugly bits
(12:56) - Work-life balance
(17:30) - Amal's career journey
(36:18) - Sponsor: Changelog News
(38:19) - Transitions
(41:12) - Leadership duties
(47:36) - Going beyond senior
(50:27) - The 3 things a staff eng does
(52:41) - When is it time?
(58:42) - Driving impact
(1:00:28) - Take care, y'all
(1:00:54) - Next up on the pod
Today we’re talking with Alice Merrick & Andy Walker about building a world-class developer experience. You know it when you see it, things just feel right. But it’s more than just a pleasant UI or lipstick on a pig (which is a saying), it really matters.
Leave us a comment
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:45) - Introducing the guests
(04:01) - What is the dev experience
(07:14) - Multimodal experience
(10:22) - Change aversion
(12:44) - Measuring time to fluency
(17:27) - Fonts
(23:28) - Cookie consent forms
(26:29) - Interactive docs
(32:17) - In-browser playground
(35:44) - Short comings of the playground
(40:51) - Sponsor: Changelog News
(42:54) - Patterns we don't like
(52:23) - Unpopular opinions!
(52:54) - Alice's unpop
(1:07:25) - Andy's unpop
(1:09:33) - Kris' unpop
(1:18:55) - Outro (BONUS++)
Our Frontend Feud game show series forces me to survey JS Party listeners frequently to get their thoughts on software, development, life, and software development life.
Each question has to be accompanied by an <input type=text> because providing choices ruins the entire point of the game. So, before we play I compile all the answers in an SQLite database, group similar responses, and put the most popular ones on the game board.
That “grouping similar responses” step is the hardest part and can be somewhat controversial during the games. I’ve gotten better over the years at crafting the questions to constrain the responses.
For example, instead of asking: “How do you feel about GitHub Copilot?”
We ask: “In one word, how does GitHub Copilot make you feel?”
"Anxious" works better in a GROUP BY than "I'm concerned that it'll take my job"
Nevertheless, some questions we ask aren’t usable because the responses are just too varied to group in any meaningful way. But that doesn’t mean they aren’t interesting! For our most recent game, we asked our listeners:
“What is one thing you always have to remind yourself when coding?”
The responses were all over the place, so I didn’t use it in the game. But they do provide a cool peak into the minds of developers. It’d be a shame to let them sit privately on some disk drive until its bits fade to black.
So, without further ado… We asked 100 JS Party listeners what ONE thing they always have to remind themselves when coding. Survey says!
R.I.P. to the late, great Norm Macdonald
On health & wellness * Exercise * Take a break (7x) * Don’t burn out * Make sure to eat * My body position * Clean up your damn editor tabs
Pep talk & self-encouragement * I can do this * It’s ok to fail * You can do it * You’ll figure it out * The solution is probably simple * Everyone has the same struggles * There’s got to be a way to do this * I’m not stupid—this just takes time * There IS a solution, just have to find it * Writing failing code is not a personality trait * It’s going to be difficult before it gets easier
Small things easily forgotten * To commit * Commit often * Check your imports * How to iterate objects * Something related to regex * 16 times table for px to rem * JavaScript has explicit returns * The computer does exactly what it was told
Following best practices * Keep it simple (8x) * Verify, don’t trust * Don’t DRY too soon * Add sensible comments * Good commit messages * Simple is better than smart * Don’t forget to do that side refactor
Remember testing? * Write tests! (4x) * Run the tests * Are there any tests? * Cross-browser testing * Test more than the happy path
Focus is everySQUIRREL! * Not to drift off * Don’t surf the web * One thing at a time * Read docs properly * What am I working on? * Read the documentation * Read (and reread) the error message * Finish committing before pushing (seriously) * You don’t have time to try that new thing out * (distracted) What was I supposed to be doing? * Don’t spend an hour on tiny things that don’t matter
Slowing down vs going faster * Slow down * Ship sooner * Optimize it later * It’s good enough * Stop overthinking it * Don’t over-optimize * Don’t over-engineer * Slow down and think * Just get something working * Don’t let perfect be the enemy of the good * There’s no single perfect solution, there are always drawbacks * Better to get something out than sitting analyzing the problem
Considering the bigger picture * No one will die * Not saving lives * Don’t hate on others * The end user, not me * It’s all for the customer * Consider your future self * Hi, I’m the problem it’s me * Zoom out, see the bigger picture * Be sure the problem is worth solving * Value is the most important thing that you bring to the company * I’m going to have to come back to this at some point, so make it easy to understand
I saved the weirdest best reminder for last. This one doesn’t fit neatly into any of the categories above. I hope Tom Cochrane doesn’t mind, but I gave it the motivational poster treatment so we can enjoy it with the gravity it deserves:
Background image by kimi lee on Unsplash
Your turn! What’s ONE thing you always have to remind yourself while coding? Is it covered above or uniquely different? Leave a comment below and let us know 👇
Leave us a comment
There’s so much talk (and hype) these days about vector databases. We thought it would be timely and practical to have someone on the show that has been hands on with the various options and actually tried to build applications leveraging vector search. Prashanth Rao is a real practitioner that has spent and huge amount of time exploring the expanding set of vector database offerings. After introducing vector database and giving us a mental model of how they fit in with other datastores, Prashanth digs into the trade offs as related to indices, hosting options, embedding vs. query optimization, and more.
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Vector databases blog posts from Prashanth:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Welcome to Practical AI
(00:43) - Prashanth Rao
(01:40) - What are vector DBs
(03:21) - Semantics and vectors
(04:20) - How vectors are utilized
(09:53) - Evolution of NoSQL
(15:52) - Sponsor: Changelog News
(17:53) - How do we use them
(20:37) - Use cases for vector DBs
(23:58) - Over-optimizing
(26:14) - Tradeoffs
(31:00) - Mature vendors
(33:04) - Speedrunning the blog points
(34:48) - In-memory vs on-disk
(40:43) - Environments
(44:21) - Exciting things in the space
(50:45) - Outro
Something interesting is going on at Stack Overflow, researches dig up some new (and potentially unavoidable) LLM attacks, Google proposes a new API that Ron Amadeo calls a DRM gatekeeper for the web, the Python Steering Council affirms PEP 703 & Lucas McGregor writes why no one wants to talk to your chatbot.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(01:01) - The fall of Stack Overflow
(01:58) - LLM Attacks
(03:25) - Web DRM by Google
(04:34) - Unlocking Python
(05:34) - Sponsor: Tailscale
(06:43) - No one wants to talk to your chatbot
(07:48) - Outro (Shout outs++)
Ok Homelabbers, it’s time to unite! Join Adam and his new friend Techno Tim for 1.5 hours of homelab goodness. From networking and WiFi, virtualizing Ubuntu running Docker containers, to Home Assistant and automation, building a Kubernetes cluster, to gutting a perfectly good machine just to build exactly what you need to run the ultimate Plex server — that’s what homelab is about. Let’s do this.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Subscribe to Techno Tim on YouTube
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Let's talk!
(00:37) - It's Techno Tim!
(03:02) - What is Homelab?
(04:50) - Our Homelab beginnings
(09:24) - It's all Homelab
(14:04) - The homelab stack
(17:36) - We both love Unifi
(21:22) - POE is awesome
(22:56) - Let's talk about the network
(30:36) - This is your day job, so it's complex
(34:19) - You have CI?!
(38:45) - Just do what you want
(39:54) - I choose Plex
(44:32) - ZFS pool resizing
(47:00) - Why Ubuntu?
(50:50) - Stability and resource efficiency
(54:40) - Mobile/travel routers
(1:01:30) - I believe in this product
(1:02:10) - Discovering. new things
(1:04:59) - The business of YouTube
(1:09:37) - The path of creators
(1:15:26) - Rackstuds
(1:17:25) - Tim's big rack
(1:18:10) - Intel NUC cluster
(1:20:18) - Reducing temperature
(1:21:33) - Power consumption
(1:23:32) - Plans for the fututre
(1:26:16) - Here's some feedback
(1:31:19) - Sam the Cooking Guy
(1:32:53) - Bye friends!
(1:33:13) - Wrapping up
This week we’re joined by Solomon Hykes, the creator of Docker. Now he’s back with his next big thing called Dagger — CI/CD as code that runs anywhere. We’re users of Dagger so check out our codebase if you want to see how it works. On today’s show Solomon takes us back to the days of Docker, what it was like on that 10 year journey, his transition from Docker to Dagger, Dagger’s community-led growth model, their focus on open source and community, how it works, and even a cameo from Kelsey Hightower to explain how Dagger works.
Leave us a comment
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(01:21) - Sponsor: Square
(04:16) - Start the show!
(05:26) - The last time we talked...
(07:04) - 10 year journey
(14:31) - Simultaneous invention
(17:41) - So, what is is Dagger?
(19:20) - What were you running from?
(23:32) - What pulled you to this?
(31:39) - Sponsor: Passbolt
(32:45) - Was it a fail?
(37:37) - Dagg 101
(46:57) - Kelsey and I go way back...
(52:03) - The manufacturing problem
(58:02) - Kelsey explains Dagger
(1:01:03) - Connecting the two analogies
(1:02:23) - Daggerizing an example
(1:08:04) - Ideal community member?
(1:15:58) - Does Dagger require Dagger?
(1:18:27) - Does prod require your control plane?
(1:19:05) - Are we using the control plane?
(1:22:00) - Downfall of Docker model v1
(1:25:33) - Exciting times
(1:27:11) - Dagger is hiring!
(1:28:59) - What the heck is this thing?
(1:30:41) - Read the docs
(1:31:29) - Solomon will be back in 6 months
(1:31:47) - Up next...
Una & Adam from The CSS Podcast defend their Frontend Feud title against challengers Chuck & Robbie from Whiskey Web and Whatnot. Let’s get it on!
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's feud time, y'all!
(00:32) - Welcoming our contestants
(01:47) - Terry the intern's interview questions
(03:11) - How the game works
(04:40) - Round 1: Favorite language
(09:41) - Round 2: !Favorite language
(13:57) - Round 3: Monitor size
(19:18) - Round 4: Work benefits
(32:24) - Round 5: Must-have SaaS
(36:29) - Round 6: Copilot feels
(43:10) - End Game
(44:01) - Interviewing the champs
(45:46) - Chuck & Robbie's show
(46:43) - The final word
(48:29) - Closing time
(48:58) - Outro (moar game shows!)
So, do we like generics or not? Some people feared they’d be the end of the language. Others were very hopeful, and had clear use cases, and were thrilled about the feature coming to the language. It was also often touted as the reason a lot of people didn’t adopt Go. So what do we think now? Mat and Kris are joined by Roger Peppe and Bryan Boreham to discuss the state of Generics in Go.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:45) - Roger Peppe
(02:22) - Bryan Boreham
(02:57) - Overview of generics
(06:25) - [Square brackets]
(08:09) - Roger's generic use
(19:37) - Constraints
(26:45) - Proposal for type switching
(30:01) - The error interface
(30:51) - Roger's Qt project
(35:45) - How do generics make you feel?
(43:56) - Go 1.21
(47:18) - Maps package
(49:41) - Unpopular opinions
(50:01) - Mat's unpop
(50:45) - Roger's unpop
(59:25) - Bryan's unpop
(1:03:55) - Kris' unpop
(1:11:04) - Mat's 2nd unpop
(1:12:01) - When Mat called a guy homeless
(1:22:11) - Universal jokes
(1:26:59) - Outro
It was an amazing week in AI news. Among other things, there is a new NeRF and a new Llama in town!!! Zip-NeRF can create some amazing 3D scenes based on 2D images, and Llama 2 from Meta promises to change the LLM landscape. Chris and Daniel dive into these and they compare some of the recently released OpenAI functionality to Anthropic’s Claude 2.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Learning resources:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:43) - It's a different world
(02:16) - ZIP NeRF
(07:20) - Uses in eCommerce
(10:16) - Industrial usecases
(11:53) - Military ops?
(12:54) - Everyone can benefit
(14:28) - Connect the dots
(15:33) - LLaMA 2
(18:48) - Parameter limits
(21:48) - What do you need?
(23:59) - Why the jump?
(28:01) - Mark's anti-competetiveness
(31:51) - Walled garden?
(32:34) - Claude 2
(36:59) - Using different models
(39:54) - OpenAI vs Anthropic
(45:52) - Dig in!
(47:02) - Goodbye
(47:17) - Outro
Our friends at Supabase quietly went public today, Redpoint’s InfraRed 100 report is out, Twitter is now X, GitHub’s Copilot Chat now in public preview (for businesses) & Oxide has homelab plans (in 2050).
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:18) - Supabase quietly went public
(02:04) - Twitter is now X
(03:36) - GitHub’s Copilot Chat now in public preview
(05:16) - Sponsor: Speakeasy
(06:00) - Apple Vision Pro developer kit
(07:02) - Oxide in the Homelab
(08:45) - Outro
Adam was out when Bryan made his podcast debut here on The Changelog, so we had to get him back on the show along with his co-founder and CEO Steve Tuck to discuss Silicon Valley (the TV show), all things Oxide, homelab possibilities, bringing the power of the cloud on prem, and more.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Let's talk!
(00:38) - Is this Oxide & Friends?
(01:12) - Last time we talked...
(02:39) - Silicon Valley
(11:12) - Oxide sold a box
(13:54) - Awesome design
(16:55) - Oxide's heist team
(17:39) - Is this your rack?
(18:20) - Homelab Oxide edition
(19:33) - Oxide's enthusiast audience
(23:34) - Would you consider "The Homecloud"
(24:29) - Throw us a bone
(25:58) - Give me a simplified Oxide rack
(28:02) - Know what you're saying no to
(29:53) - Far into the future
(31:03) - The 2050 roadmap
(38:59) - What's wrong with the switch?
(41:15) - How different is an Oxide rack?
(43:34) - Powered and provisioned same day
(47:43) - Take the Homelab out of the DC
(49:38) - The first boot
(51:59) - Customer demos
(54:53) - Back to the bootup
(59:36) - How did you know?
(1:13:11) - On-site with a customer
(1:13:50) - On prem vs cloud
(1:18:50) - Where's the secret?
(1:22:12) - We all pod? Nah...
(1:35:21) - Bye friends!
(1:36:20) - Wrapping up
This week it’s storytime with Steve Yegge! Steve came out of retirement to join Sourcegraph as Head of Engineering. Their next frontier is Cody, their AI coding assistant that answers code questions and writes code for you by reading your entire codebase and the code graph. But, we really spent a lot of time talking with Steve about his time at Amazon, Google, and Grab. Ok, it’s storytime!
Leave us a comment
Changelog++ members get a bonus 9 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOGMEDIA and get the team plan FREE for six (6) months.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(00:59) - Sponsor: Sentry
(04:44) - Start the show!
(07:49) - Did Jeff have the vision of AWS?
(10:14) - SOAP was cool?
(16:30) - Scope: A story I've never told
(22:58) - Yin and Yang
(24:14) - Jeff freezes people
(28:23) - Sponsor: Drata
(30:06) - Thinking on your feet
(31:05) - Be like water? (no)
(31:42) - Steve is 'the closer'
(35:38) - Book causes eviction!!
(42:54) - Sociopathic leaders
(47:18) - Since you've been gone (from Google)
(52:16) - Where is Google going?
(58:57) - Will Apple call it AI?
(1:00:10) - Did you Google that?
(1:02:57) - Here's how Google wins
(1:05:48) - Bake in 'opt-in relevance'
(1:06:38) - From retirement to Sourcegraph
(1:09:27) - Humans need struggle
(1:11:19) - Why Sourcegraph?
(1:15:00) - Where is Cody going?
(1:23:45) - Steve made Jeff Bezos giggle
(1:25:44) - Grab was fun
(1:27:54) - Cody is cheating
(1:32:34) - How to be inevitable
(1:35:36) - A second prescription
(1:41:00) - Up next!
Justin Fagnani joins us this week to talk about Lit, a library that helps you build web components. With 17% of pageviews in Chrome registering use of web components, Lit has gained widespread adoption across a variety of companies looking to create reusable components which leverage the power and interoperability of the web platform. Tune in to learn about what makes this tiny library so incredibly lit!
Leave us a comment
Changelog++ members get a bonus 2 minutes at the end of this episode and zero ads. Join today!
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all!
(00:40) - Welcoming Justin to the show
(02:36) - What is it?
(04:36) - The evolution of the project
(10:02) - How do updates flow in to the DOM?
(11:19) - How it tracks data
(14:38) - Managing references
(17:13) - dangerouslySetInnertHTML
(21:25) - Lit is simple (af)
(23:54) - Absolutely necessary
(26:41) - App frameworks built on Lit
(31:33) - Who's using this?
(34:44) - How Lit is governed
(38:48) - Building for the platform first
(40:46) - Web components aren't sexy
(43:26) - Incorporating shadow DOM
(53:35) - Good role models
(54:53) - Justin's web wish
(57:30) - Closing time
(58:46) - Outro
The Go ecosystem has a hoard of tools and editors for Gophers to choose from and it can be difficult to find ones that are a good fit for each individual. In this episode, we discuss what tools and editors we’re using, the ones we wish existed, how we go about finding new ones, and why we sometimes choose to write our own tools.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
script (not mentioned in episode)Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:45) - Andy Walker
(02:39) - Finding tools
(07:28) - Anti-syntax highlighing
(15:39) - Watching screencasts
(19:45) - Apple Vision
(24:00) - Subconscious programming
(31:48) - Writing tools myself
(35:50) - Shell or CLI
(40:31) - Tools doing too much
(46:47) - Neovim
(49:11) - Charm
(52:13) - Tools shaping design
(57:47) - Terminal emulators
(1:00:12) - The F***
(1:02:20) - Build process tools
(1:05:38) - sh
(1:06:42) - Documentation tools
(1:08:47) - Terminal multiplexer
(1:09:49) - Application launchers
(1:12:05) - Non-development tools
(1:13:38) - Bike
(1:16:54) - Muse
(1:18:43) - Unpopular opinions!
(1:19:02) - Bananas
(1:21:19) - Jon's unpop
(1:23:03) - Andy's unpop
(1:25:56) - Mat's unpop
(1:27:39) - Kris' unpop
(1:35:35) - Last words
(1:36:23) - Outro
As a technologist, coder, and lawyer, few people are better equipped to discuss the legal and practical consequences of generative AI than Damien Riehl. He demonstrated this a couple years ago by generating and copyrighting every possible musical melody. Damien joins us to answer our many questions about generated content, copyright, dataset licensing/usage, and the future of knowledge work.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:07) - Welcome to Practical AI
(00:43) - Damien Riehl
(01:36) - Regulations on AI
(03:52) - All the music
(07:21) - Human vs AI output
(11:30) - Working alongside AI
(14:51) - Finding the gray area
(20:47) - Ai is not copyright-able
(24:19) - Where is the line drawn?
(27:42) - Snake eating its own tail
(30:08) - Can I use these models?
(31:15) - Lessening value of IP
(34:05) - No more patents
(35:55) - 4 Worlds
(38:27) - Scarcity or abundance?
(39:36) - Outrunning the tsunami
(41:26) - Goodbye
(42:05) - Outro
Ellie Huxtable’s Atuin makes your shell history magical, Dmitry Kudryavtsev writes why he thinks engineers should focus on writing, LazyVim promises to transform your Neovim setup into a full-fleged IDE, Geoff Graham shares with Smashing Magazine how he writes CSS in 2023 & Brad Fitzpatrick collects a public list of bad issue track behaviors.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:27) - Magical shell history
(02:05) - Engineers should focus on writing
(03:01) - LazyVim
(03:41) - Sponsor: Passbolt
(04:31) - Writing CSS in 2023
(05:36) - Bad issue tracker behaviors
(06:21) - Outro
Red Hat’s decision to lock down RHEL sources behind a subscription paywall was met with much ire and opened opportunity for Oracle to get a smack in and SUSE to announce a fork with $10 million behind it.
Few RHEL community members have been as publicly irate as Jeff Geerling, so we invited him on the show to discuss.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Let's talk!
(00:37) - An inflammatory enigma
(01:09) - Dear Red Hat: Are you dumb?
(07:35) - Red Hat's reasons
(08:49) - CentOS 8 / CentOS Stream
(10:01) - The rebuilders are here
(13:14) - Zero value leaches?
(15:43) - A matter of scale
(16:47) - Not the same Red Hat
(17:48) - Red Hat was the open company
(22:43) - Where the mess started
(24:05) - The big winner is Oracle?
(27:02) - Oracle: the open company?
(31:33) - Young Jerod finds Red Hat
(33:30) - Come back to the light side!
(35:57) - Walk it back?
(37:25) - Give us production ready
(40:33) - Open source pirates
(42:40) - Jeff's users
(45:39) - the freer the freer
(47:51) - The spirit of open source
(49:56) - We are hackers!
(51:04) - "We have to pay our people"
(52:37) - The future of open enterprise Linux
(54:30) - Jeff the tinkerer
(57:14) - Chokepoint capitalism
(59:22) - Rocky & Alma's options
(1:02:24) - Fight the EULA
(1:04:22) - Jeff's upcoming video
(1:07:48) - Future homelab episode?
(1:09:04) - No Unify?
(1:10:51) - Love hosting data
(1:11:33) - Jeff's unpop
(1:13:08) - The takeaway
(1:13:21) - Bye friends!
(1:14:01) - Coming up next
Austin Gil returns to JS Party, bringing a fresh perspective on the fundamentals of file uploads. Brace for an insightful session as we navigate the complexities of this key JavaScript topic together, much like a dedicated coach drilling the fundamentals into his team!
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all
(00:40) - Hoy hoy!
(02:24) - What Austin's been up to
(06:31) - Sportsball analogies
(20:58) - File uploads client-side
(23:24) - HTTP fundamentals
(31:06) - theannoyingsite.com
(33:24) - Browsers representing users
(35:47) - File uploads server-side
(40:39) - Streaming vs serializing
(49:22) - Painting the bigger picture
(49:58) - On object storage
(53:56) - Getting files into object storage
(57:22) - Scanning for malware
(1:02:44) - Talkin' CDNs
(1:05:33) - Callin' in the closer
(1:05:58) - Next up on the pod
This week we’re talking about type checking with Jake Zimmerman. Jake is one of the leads at Stripe working on Sorbet — an open source project that does Type checking in Ruby and runs over Stripe’s entire Ruby codebase. As of May of 2022 Stripe’s codebase was over 15 million lines of code spread across 150,000 files. If you think you have a bigger Ruby codebase, Jake is down to go byte-for-byte to see who wins. Jake shares tons of wisdom and more importantly he shares why he thinks types will win in the end.
Leave us a comment
Changelog++ members get a bonus 4 minutes at the end of this episode and zero ads. Join today!
Sponsors:
CHANGELOGMEDIA and get the team plan FREE for six (6) months.Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Chagnelog
(01:00) - Sponsor: Sentry
(05:02) - Start the show!
(10:59) - Sorbet's origin story
(15:32) - Stripe's use of Sorbet
(17:10) - This is a big deal
(19:58) - Ruby doesn't want to be type checked
(24:14) - Method missing?
(25:39) - Sponsor: Drata
(27:22) - First-party Ruby types
(35:14) - Why aren't Types built in?
(37:37) - Sorbet's implementation and design
(46:12) - RBI vs RBS?
(51:19) - Stripe has the largest Ruby codebase
(52:46) - Adopting Sorbet
(54:27) - Editor support
(56:55) - Types will win
(58:36) - Jake's language of choice
(1:00:18) - The name "Sorbet"
(1:02:54) - Up next!
Chris sat down with Varun Mohan and Anshul Ramachandran, CEO / Cofounder and Lead of Enterprise and Partnership at Codeium, respectively. They discussed how to streamline and enable modern development in generative AI and large language models (LLMs). Their new tool, Codeium, was born out of the insights they gleaned from their work in GPU software and solutions development, particularly with respect to generative AI, large language models, and supporting infrastructure. Codium is a free AI-powered toolkit for developers, with in-house models and infrastructure - not another API wrapper.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Welcome to Practical AI
(00:43) - Hello Codeium
(01:31) - Varun's background
(03:21) - Anshul's background
(04:59) - Codeium's reason
(07:26) - Increasing GPU demands
(10:10) - Landing on the wave
(11:01) - Riding the wave
(13:45) - Codeium and Copilot
(15:59) - From help to Codeium
(17:35) - What made Codeium stand out?
(20:30) - How Codeium delivers a better UX
(23:54) - Privacy concerns
(27:56) - The practicality of Codeium
(31:13) - What users do
(35:56) - Where generative AI is headed
(40:52) - Goodbye
(41:15) - Outro
Our award winning worthy survey game show is back, this time Mat Ryer hosts it live on stage at GopherCon Europe 2023!
Elena Grahovac joins forces with Björn Rabenstein to battle it out with Alice Merrick & Mohammed S. Al Sahaf. Let’s see who can better guess what the GopherCon Europe gophers had to say!
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:32) - The rules
(01:59) - Mohammed Sahaf
(02:32) - Alice Merrick
(03:04) - Elena Grahovac
(03:34) - Björn Rabenstein
(04:09) - Round 1
(07:39) - Round 2
(11:19) - Round 3
(14:23) - Round 4
(18:57) - Round 5
(23:32) - Outro
Oracle smacks IBM for their handling of RHEL, the folks at The Dam share a Slack clone in 5 lines of Bash, Justin Jaffray writes up 13 ways to think about joins, llama.cpp learns web chat thanks to a contribution by Tobi Lütke & Meta is willing to pay 3 engineers to remove Python’s GIL.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:31) - Oracle smacks IBM
(03:03) - A Slack clone in 5 lines of Bash
(03:42) - 13 ways to think about joins
(04:10) - llama.cpp learns web chat
(04:51) - Sponsor: Speakeasy
(05:45) - Meta to pay for Python GIL removal
(06:57) - Outro (Shout outs++)
Darcy Clarke, former GitHub Staff Engineering Manager and founder of vlt, joins us to discuss a major bug in the npm ecosystem that he recently disclosed. We cover the bug’s timeline, nuances, and impact, all while setting some important context on npm packages, clients, and registries. Tune in to learn how to protect your codebase and gain a deeper understanding of this crucial part of the JavaScript ecosystem.
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all
(00:40) - Welcoming Darcy
(02:56) - A massive bug
(05:04) - Ecosystem overview
(09:30) - But why?
(13:58) - Verdaccio
(16:46) - Why is this so broken
(27:38) - Timeline of the bug
(41:40) - Blog post feedback
(43:45) - Why, GitHub, why?!
(45:12) - Sponsor: Changelog News
(46:44) - How do we dig ourselves out
(53:14) - What the early days were like
(55:03) - What's next for Darcy
(57:25) - vlt (Volt)
(59:45) - Closing time!
(1:01:57) - Next up on the pod
In this Fully Connected episode, Daniel and Chris explore recent highlights from the current model proliferation wave sweeping the world - including Stable Diffusion XL, OpenChat, Zeroscope XL, and Salesforce XGen. They note the rapid rise of open models, and speculate that just as in open source software, open models will dominate the future. Such rapid advancement creates its own problems though, so they finish by itemizing concerns such as cybersecurity, workflow productivity, and impact on human culture.
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Welcome to Practical AI
(00:43) - Introductions
(01:16) - Chris switching jobs
(01:36) - Animal advocacy and AI
(02:24) - The proliferation of models
(03:47) - SD-XL 0.9
(06:55) - The multi-model approach
(08:51) - Vertical limits
(13:18) - History repeats itself
(13:55) - Sponsor: Changelog News
(15:28) - Open models catching up
(17:45) - Zero Scope XL
(19:17) - How to evaluate
(24:48) - Quantizing your model
(26:28) - 7b parameter zone
(28:13) - Mosaic's acquisition
(32:20) - AI in business decisions
(33:50) - We're in the wild west
(37:32) - AI culture
(38:33) - Models are tools
(41:26) - Outro
This week we’re talking to Daniel J. Barrett, author of Efficient Linux at the Command Line as well as many other books. Daniel has a PhD and has been teaching and writing about Linux for more than 30 years (almost 40!). So we invited Dan to join us on the show to talk about efficient ways to use Linux. He teaches us about combining commands, re-running commands, $CDPATH hacks, and more.
Leave us a comment
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(00:58) - Sponsor: Square
(03:52) - Start the show!
(05:56) - Distro of choice
(07:39) - Linux only?
(08:32) - There are so many efficiency gains
(11:41) - Minimum learning curve
(14:25) - Command substitution
(17:01) - Process substitution
(22:22) - Which
(25:05) - $CDPATH
(29:49) - Sponsor: Changelog News
(31:28) - I can see that biting me
(32:49) - Challenge to move to a new machine
(35:22) - Bash
(42:41) - Explaining homebrew's install command
(48:41) - Dan shares a riddle
(52:24) - ChatGPT and learning Linux
(54:10) - ChatGPT package hallucination
(56:25) - There's a batter way
(1:02:43) - Emacs
(1:05:19) - Directory stack
(1:10:12) - I'd watch videos of Dan
(1:15:02) - Teaser for future books
(1:16:30) - Cold Ice Cream & Hot Kisses
(1:18:15) - Where to buy the books
(1:20:50) - Up next
Many Gophers build projects as a team of one. Sometimes these are side projects, other times they are projects used by millions of people but who are still maintained by a single individual. In this episode, the panel discusses techniques for developing and maintaining Go projects as a solo developer.
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:44) - Ben Johnson
(01:17) - Solo vs side projects
(05:00) - Does size matter?
(05:47) - How long was BoltDB a side project?
(07:55) - Tips for solo projects in Go
(11:45) - Open vs closed source
(17:59) - Taking contributions
(21:12) - Bringing more people in
(22:59) - Sponsor: Changelog News
(24:33) - How Ian brings others in
(26:43) - How did BoltDB handle support?
(32:25) - Pitfalls of being a solo dev
(38:09) - Feedback templates?
(39:50) - Go specifically
(43:10) - Advice for the newbie
(44:20) - Unpopular opinions!
(44:44) - Ben's unpop
(46:42) - Ian's unpop
(48:37) - Kris' unpop
(51:13) - Bonus unpop
(55:34) - Goodbye!
(55:56) - Outro (Changelog & Friends)
Lukas Mathis writes about streak redemption, Jonathan Katz thinks vectors are the new JSON, Andy Jiang says CommonJS is hurting JavaScript & Swyx on the rise of the AI Engineer.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
CHANGELOG and get the team plan free for three months.Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:54) - Streak Redemption
(01:52) - Vectors are the new JSON
(03:14) - Sponsor: Sentry
(04:00) - CommonJS is hurting JS
(04:36) - The rise of the AI Engineer
(05:30) - Outro
On Monday, Kelsey Hightower announced his retirement from Google. On Tuesday, he sat down with us to discuss why, how & what’s next.
Along the way, Kelsey teaches us how not to suck at work, analyzes his magical demos, fights off the haters (again) & opines on System Initiative, Dagger & 37Signals moving off the cloud.
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Let's talk!
(00:38) - Kelsey needs royalties
(01:39) - The shirt off Jerod's back
(02:38) - Kelsey's announcement
(04:02) - Buying your time back
(05:27) - Not a midlife crisis
(07:34) - Retirement takes prep
(09:19) - What the runway looks like
(10:53) - We're glad you're here
(11:24) - What's true retirement?
(12:40) - Vacation time?
(14:01) - r/TVTooHigh
(20:13) - Sponsor: Changelog News
(21:46) - How to not suck
(27:05) - Magical demos
(30:36) - Anti-happy path crowd
(33:04) - Just that good
(36:24) - Casting vision
(38:34) - Problems & solutions
(40:19) - The best macOS release
(41:04) - On System Initiative
(48:56) - The network effect
(50:02) - What happened to CoreOS?
(52:41) - On 37Signals' move
(1:01:33) - MRSK: what is this?
(1:04:09) - Lightweight versions FTW
(1:05:48) - Shave the cruft
(1:06:52) - Return to the 1.0
(1:09:55) - Thoughts on Dagger
(1:15:51) - What is Dagger really?
(1:17:05) - Goal is to be removed
(1:19:32) - The DevOps end game
(1:22:51) - Kelsey's unpop
(1:27:23) - Bye friends!
(1:27:55) - Coming up next
Listener Joe Davidson recently tweeted: “I’d really be interested in an episode debating Kubernetes vs serverless functions for distributed systems. As someone working a lot with serverless to create large scale systems, for me the complexity in Kubernetes doesn’t seem worth it, especially when onboarding new people. But I’d like to see it from the other perspectives. I could be missing something.”
So we invited Joe on the show alongside Abdel Sghiouar and Srdjan Petrovic to discuss!
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:45) - Introducing the guests
(03:06) - Do we need this complexity?
(08:52) - Sponsor: Changelog News
(11:02) - Joe's experience with Kubernetes
(13:48) - K8s does more than functions
(21:35) - Srdjan, what are you working on?
(27:01) - go run
(28:23) - Buildpacks
(33:17) - Cross-service communication
(39:10) - Concern for portability
(43:24) - Teeing up part 2
(45:55) - Outro
Taylor Troesh joins Jerod to discuss a bevy of software development topics: yak shaves, dependency selection, -10x engineers, IKEA-oriented development, his new content-addressable programming language & much more along the way.
Leave us a comment
Changelog++ members get a bonus 4 minutes at the end of this episode and zero ads. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(00:58) - Sponsor: DevCycle
(03:37) - Start the show!
(04:50) - Who is Taylor?
(05:33) - What about time?
(10:08) - 12 ways to shave a yak
(13:23) - (Don't) create thirsty systems
(16:02) - Clever systems produce clever problems
(20:32) - Make it like Mario Kart 64
(21:20) - Practical tips
(28:00) - Sponsor: Drata
(29:43) - We make fun of 10x
(35:04) - Coding against the bank API
(36:28) - Lindy's law
(38:24) - Let's talk tooling
(43:12) - What will be around in 50 years?
(43:44) - TCP and UTP
(45:34) - Ikea-oriented developement
(46:55) - Easily deletable code
(49:21) - Code that's now a liability
(58:26) - Scrapscript
(1:04:33) - Wrapping up
(1:05:03) - Don't make things worse
(1:05:23) - Outro
Your feed might be dominated by LLMs these days, but there are some amazing things happening in computer vision that you shouldn’t ignore! In this episode, we bring you one of those amazing stories from Gabriel Ortiz, who is working with the government of Cantabria in Spain to automate cartography and apply AI to geospatial analysis. We hear about how AI tooling fits into the GIS workflow, and Gabriel shares some of his recent work (including work that can identify individual people, invasive plant species, building and more from aerial survey data).
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Welcome to Practical AI
(00:42) - Gabriel Ortiz
(03:41) - Dipping your toes in deep learning
(06:05) - AI meets geospatial
(12:17) - Deep learning tools in geospace
(16:17) - Counting people on beaches
(21:55) - What data are you working with?
(24:58) - Sponsor: Changelog News
(27:07) - More discoveries
(30:33) - Automated cartography
(33:33) - Implications of instant cartography
(36:09) - Current limitations of AI
(41:45) - What excites Gabriel?
(43:35) - Outro
Tracy Durnell thinks AI has already poisoned its own well, Adam Hill’s microsite catalogs everything you need to UnsuckJS, Lionel Dricot thinks we need more Richard Stallman, not less & the Vulcan team proves you can’t trust ChatGPT’s package recommendations.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
CHANGELOG and get the team plan free for three months.Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:40) - AI model collapse
(03:15) - UnSuckJS.com
(04:27) - We need more RMS
(05:57) - Sponsor: Sentry
(06:43) - AI package hallucination
(07:37) - Outro
Brett Cannon (our unofficial ambassador to the Python community) is here to help alleviate our pip install anxiety. Along the way, we ask him about Python 4, removing the GIL, what he thinks about Chris Lattner’s Mojo project, Rust in the Python world & way more (of course).
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Let's talk!
(00:38) - Tall, Snarky Canadian
(01:54) - Tall people club
(04:34) - On winning the weather
(05:40) - Listen to this & blog about it
(08:48) - In response to episode #526
(10:23) - Default Python things
(17:39) - Arch Linux happened
(20:28) - Timing the Python 3 transition
(21:18) - Thank God for Perl 6!
(22:48) - Perl 6 a.k.a. Raku
(23:42) - I'm no Perl Monger
(24:43) - Pythonistas thank you
(25:40) - Jerod likes Python!
(26:24) - pipx is the way
(30:43) - Will there be a Python 4?
(33:13) - Python's release cycle
(36:32) - Removing the GIL
(41:59) - Brett's time on the Steering Council
(43:33) - Good Python pods
(44:27) - A rolling council
(49:37) - Every pod must have an AI chapter
(54:06) - Really sorry for winning
(55:17) - Google uses it (good)
(56:35) - Google uses it (bad)
(57:28) - The ultimate Tic-Tac-Toe diversion
(1:02:05) - Textual takes us back to packaging
(1:07:19) - Brett's take on Mojo
(1:15:12) - Rust tooling for Python
(1:19:05) - The key word is "tool"
(1:22:32) - RustPython
(1:23:40) - Canadian BBQ & ice cream
(1:28:22) - Brett goes to Austin?
(1:29:46) - Bye friends!
(1:30:08) - Coming up next
Let’s debate debugging techniques! Do you print debug or dive deep into debugging tools? KBall & Jerod argue that print statements are all you need while Amal & guest Eric Clemmons take the other side. Who will win and why will it be Jerod? 😉
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all
(00:40) - Welcoming our debaters
(01:41) - Amal intros Eric
(03:15) - Setting the debate stage
(06:48) - Amal's opening statement
(08:28) - KBall's rebuttal
(10:28) - Eric's turn
(11:57) - Jerod's response
(14:48) - Amal round 2
(15:32) - KBall round 2
(16:31) - Eric round 2
(17:35) - Jerod round 2
(18:56) - Amal round 3
(20:02) - KBall round 3
(21:22) - Eric round 3
(22:35) - And the winner is...
(23:34) - Sponsor: Changelog News
(25:42) - Real thoughts begin
(37:14) - How Eric finds bugs
(38:46) - Bug sources > symptoms
(41:34) - One thing at a time
(42:15) - On intuition
(45:15) - Happy path assumptions
(47:58) - It's almost always your code
(50:34) - Check out patch-package
(53:15) - replay.io
(55:53) - Time-travel debugging
(58:26) - Closing time
(1:00:04) - Outro
This is a fancified excerpt of Jonathan Norris’ unpopular opinion on Go Time #275. Jonathan is Co-Founder & CTO @ DevCycle where they’re using WebAssembly in very interesting ways. To get the full experience you should listen while you read.
🎧 Click here to listen along while you read. It's better! 🎧
The advantages of WebAssembly, with its:
will really drive a shift away from container-based runtimes for things Kubernetes and edge workloads by 2030. There’s a ton of energy around making this happen within the WebAssembly community.
Subscribe to Changelog's YouTube channel for more clips like this, live show recordings & more ✌️
Kris Brandow: What do you think is the largest barrier to getting there now?
That’s a good question I would say:
And as we’ve talked about today a lot, getting to a point where you can optimize and profile the WebAssembly a lot easier is a big thing. And the standardization…
So there’s a lot of really exciting changes to WebAssembly that are coming along. I think we’ve talked about a couple of them already, around multi-threading support and native garbage collection support.
One of the big changes that’s coming is called the component model, which is a way to standardize the communication across multiple WebAssembly components so they can talk to each other and really make your code a lot more componentized (and in smaller chunks).
So that’s a big effort that the community is working on to drive towards replacing largercontainers in these Kubernetes and edge workloads.
So yeah, I think those are the big things; if the WebAssembly community can get sort of those big changes that are coming - the component model, multi-threading, garbage collection support and many other things down, then I think we’ll be on that path, and we’ll see some big companies start up around this space in the coming years.
Brad Van Vugt: I think it’s funny, because we’ve talked about this a lot, and I think my unpopular opinion would be the opposite of yours. Because I don’t know – maybe more on timeframe, sure, maybe possibly, but I think the lift required is so large. Do you think that something AssemblyScript is crucial for that, as sort of this core, native entry point?
I think a more approachable, higher-level language is important as an entry point. I think that’s one of the challenges with WebAssembly right now: the best environments are lower-level environments, things using Rust, or C++.
There’s actually a good amount of momentum around running JavaScript or TypeScript in WebAssembly, but by bundling in SpiderMonkey (Firefox’s JavaScript engine) into your WebAssembly runtime, they’ve been able to get that working in a couple megabytes. So you basically have the full SpiderMonkey runtime running within WebAssembly, running your JavaScript or compiled TypeScript code in that…
For a lot of these Wasm cloud/edge companies… that’s one of the big entry points that they’re talking about.
But yeah, I would say getting a higher-level language that executes really efficiently in Wasm is probably one of the biggest barriers to that.
Kris Brandow: There’s a lot of pressure from the other side, of VMs and hypervisors becoming super-fast, like with Firecracker, and all of that. Do you see maybe a merging of those technologies, so you can get the security benefits of virtual machines with the speed and all the other benefits of Wasm?
Don’t get me wrong, those VMs have gotten very good over many years, and we’ve been relying on them for a lot of our high-scale systems. But yeah, I think there’s just an order of magnitude difference between the size of containers.
You can optimize the size of your containers to be pretty small, like tens of megabytes… But WebAssembly is, at its core, designed to be more portable than that.
You’re talking about tens of kilobytes, instead of tens of megabytes. And the boot-up times can be measured in microseconds, instead of milliseconds, or tens of milliseconds, or even seconds (!) for containers.
So there’s just an order of magnitude change by using WebAssembly. I think it’s gonna be really hard for a lot of containerized systems to match.
You can think about a big platform running at the edge (at scale) where – for our use case, we have a lot of SDKs that hit our edge APIs. And we have certain customers, say our big mobile apps… And they may send out a push notification and get hundreds of thousands of people, or even millions of people who all open their app at exactly the same time.
When that sports score, or that big news event lands on their phone; they’re opening their app at exactly the same time, and we see massive deluges of traffic (literally, a hundred times our steady state traffic) hit our edge endpoints in those points in time. And because we’re using these edge platforms, they’re able to spin up thousands of runtimes of Wasm and edge runtimes in milliseconds to serve that traffic. And having to do that with VMs is possible, but there’s a lot more latency in that toolchain.
So that’s why I think the power of not only the really tight security model, but the boot-up times, the small size of the Wasm modules really can power that. And for certain use cases it makes a lot of sense.
I’m not gonna say it’s gonna replace every use case; it’s clearly not. But for certain high-performance latency-sensitive use cases like trying to deliver feature flags globally to mobile apps, or web apps around the world (that is our use case)… it’s definitely very applicable to this problem.
Jon Calhoun: I feel the current setup with Docker containers (or whatever else) are a little bit slower, but they work for probably 90% of use cases; maybe not – I’m just throwing that as a random number out, but they work for some big chunk of use cases. And the WebAssembly version that you’re saying would replace it - essentially, the speed benefits and all those things, there’s going to be a huge chunk of people who wouldn’t actually care as much about that, necessarily. So I’m assuming for that to happen, it would have to become just as easy to use the Wasm replacement for Docker. At least in my mind, that’s the only way I would see that working, is if it became just as easy. And I don’t know, do you think it’s just as easy now?
Oh, it’s definitely not just as easy yet. I think there’s definitely a lot of developer tooling work to go to make it easy. We’ve been using Cloudflare Workers, and there’s lots of other people that (for edge runtimes) make it super-easy to deploy at runtimes; they make that pretty easy.
But I think the real benefits come from the security benefits.
So a WebAssembly module is way tighter in controlling what it has access to through the WASI interface than a VM is, right? And so for very security-conscious companies, I could see it having a lot of value there for certain mission-critical modules of their application.
And then there’s a lot of cost benefits.
One of the reasons why it’s a lot cheaper to run your edge workloads in Cloudflare Workers (or Fastly, or Netlify, any of those edge runtimes) versus something like AWS Lambda, is because the boot-up and shutdown times and the sizes of the binaries that they have to manage are way smaller.
Those edge runtimes can start up your code and in milliseconds, if not faster, where Lambdas and other things like that are more containerized at the edge, take a lot longer to spin up, they have a lot higher memory footprints, things that… And so the cost differences there can be huge.
We saw huge cost savings ourselves by moving to these edge runtimes to run these workloads at scale. Not only do we build SDKs, but we run really high-scale sort of APIs at the edge.
There’s huge cost advantages to having really small, portable, fast runtimes that I can execute all around the world.
Leave us a comment
This week we’re joined by Adam Jacob and we’re talking about his mission at System Initiative to rebuild DevOps. They are out of stealth mode and ready to show off their transformative new power tool that reimagines what’s possible from DevOps. It’s an intelligent automation platform that allows DevOps teams to build detailed interactive simulations of their infrastructure and use them to rapidly update their production environments.
Leave us a comment
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog!
(00:55) - Sponsor: DevCycle
(03:51) - Start the show!
(08:46) - Why deploy once per week?
(14:58) - Where do you start?
(19:34) - Making a digital twin
(23:35) - Sounds like Lisp
(28:21) - Sponsor: Drata
(30:04) - Let's get visual
(34:35) - The opposite of what we have
(36:19) - Click! Make it true.
(42:55) - What does this replace?
(45:33) - Is this the death of GitOps?
(49:44) - What are you doing differently?
(53:06) - The Red Hat model
(59:18) - You gotta call it something else
(1:01:28) - The product is not free
(1:03:42) - Does the license matter?
(1:06:01) - Sponsor: Changelog News
(1:07:32) - Dev environment in the cloud?
(1:08:44) - Contraining to infrastructure code
(1:10:28) - How does it work today?
(1:12:48) - Bring your own Cloud SaaS
(1:15:59) - Closing the loop
(1:17:17) - Was Stealth Mode a good idea?
(1:19:39) - Major pivots?
(1:22:55) - Very optimistic but meh.
(1:24:32) - No more papercuts
(1:25:29) - Outro
Kaylyn Gibilterra returns as Natalie & the gang take our diversity conversation one step further. This time we’re talking about neurodiversity as it relates to being a developer, a manager, a conference participant & more.
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:44) - Kaylyn Gibilterra
(03:46) - Neurodiversity, what is that?
(07:43) - Why the need for labels?
(20:48) - Relative neurotypicalness
(23:11) - Johnny's main concern
(32:11) - Is diagnosing important?
(41:00) - Sponsor: Changelog News
(42:25) - What can conferences do?
(46:46) - Responsibility of the people
(51:30) - In the context of work...
(1:03:54) - Unpopular opinions!
(1:04:25) - Johnny's unpop
(1:05:47) - Kris's unpop
(1:06:22) - Kaylyn's unpop
(1:08:23) - Natalie's unpop
(1:10:12) - Kris' second unpop??
(1:12:07) - Closing
(1:12:29) - Outro
Chris and Daniel take a step back to look at how generative AI fits into the wider landscape of ML/AI and data science. They talk through the differences in how one approaches “traditional” supervised learning and how practitioners are approaching generative AI based solutions (such as those using Midjourney or GPT family models). Finally, they talk through the risk and compliance implications of generative AI, which was in the news this week in the EU.
Leave us a comment
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Welcome to Practical AI
(00:43) - Fully Connected
(02:38) - What is AI today?
(05:54) - A big AI misconception
(14:18) - Generative AI
(16:48) - Foundation models
(18:22) - Generative models
(26:20) - Sponsor: Changelog News
(27:45) - AI and the destruction of mankind
(33:26) - AI pilots
(41:42) - Fundamentally transforming humans
(45:54) - Outro
An open platform for operating LLMs in production, working quickly is more important than it seems, imaginary problems are the root of bad software, Val Town is a social website to write and run code & Aaron Francis’ guide to finishing your projects.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:47) - OpenLLM
(01:24) - Speed matters
(02:31) - Imaginary problems
(03:12) - Sponsor: HasuraCon 2023
(04:37) - Val Town
(05:30) - Finish your projects
(06:48) - Outro
Mat Ryer is back and he’s brought with him 10 tips to be a 10x developer (like he is). After that, we try a new segment we’re calling “Tool Time” (and try out a few jingles for it along the way). Finally, it’s time to review our previous unpopular opinions and put some new ones into the world for your (dis)agreeing pleasure. Join us for an automagical time!
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Let's talk!
(00:38) - Mat Ryer is back
(00:44) - B2TF Musical?
(01:40) - B2TF controversy
(05:17) - We own Mat
(06:23) - Mat Depends
(08:07) - 10x devs do exist
(09:16) - Mat's cookies
(12:10) - Here for the tips
(12:18) - #10: coffee
(13:25) - Just stay 'til #6
(14:03) - #9: standing desk
(14:37) - Stacking multiplier
(15:18) - #8: make mistakes
(16:41) - #7: new keyboard
(17:38) - #6: write tests first
(18:44) - What is 10x about?
(20:11) - "10 Eggs" by Mat Ryer
(21:23) - Did you hear about wood milk?
(23:00) - Mat drinks oat milk
(23:37) - #5: pen and paper
(24:50) - "Dear Diary" by Mat Ryer
(25:38) - Better compilers
(26:59) - #4: water
(29:12) - #3: KISS
(31:10) - Adam's idea [page|bucket|box]
(32:48) - The best idea
(33:57) - Another idea
(35:07) - In the works idea
(36:09) - An almost good idea
(37:16) - Least recommended
(38:15) - An idea we're doing
(39:26) - #2: love yourself
(41:16) - #1: Vitamin D
(44:38) - A new segment!
(45:15) - Mat's Tool Time
(46:12) - What goes into a linter
(48:30) - How do you lint?
(50:02) - Elixir linter
(51:06) - Flat Earth!?
(55:13) - Adam's Tool Time?
(55:27) - "Tool Time Jingle #1" by Mat Ryer
(56:06) - Adam's Tool Time
(58:25) - The future of 1Password
(1:00:12) - "Tool Time Jingle #2" by Mat Ryer
(1:00:39) - Renaming 1Password
(1:02:24) - Jerod's Tool Time
(1:06:27) - Queen Latifah
(1:08:44) - Why Jerod needed ntfy.sh
(1:12:08) - Configuring DNS
(1:14:04) - Good DevEx
(1:15:54) - What is good DX?
(1:17:34) - Improve NextDNS
(1:20:51) - Unpopular Opinions!
(1:21:08) - Reviewing Adam's unpop
(1:22:43) - Reviewing Mat's unpop
(1:25:27) - Reviewing Jerod's unpop
(1:26:02) - Mat's 1st unpop
(1:27:21) - Mat's 2nd unpop
(1:30:34) - QUIZ TIME
(1:31:54) - Adam's unpop
(1:35:23) - Jerod's unpop
(1:37:29) - End with a song?
(1:38:04) - "Automagical" by Mat Ryer
(1:39:09) - Coming up next
The panel dives into all of the supporting structures that we build around writing code, what works in different environments, and good and bad practices they have seen. From PR etiquette to CI/CD to how to write a ticket, they look at them from an open source perspective, an enterprise perspective, and everything in between.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all
(00:40) - Hellooooo party people
(01:52) - PR etiquette
(08:46) - Effective feedback
(14:21) - Synchronous reviews
(15:24) - Levels of feedback
(18:03) - CI/CD
(21:28) - Too much CI?
(24:37) - Continuous deployment
(27:50) - Feature branches
(34:43) - Tickets
(39:13) - Ticket comms
(41:19) - More on comms
(48:42) - Closing thoughts
(51:07) - Closing time
(51:32) - Coming soon on the pod
This week we’re talking about Passkeys with Anna Pobletts, Head of Passwordless, at 1Password. Will Passkeys enable a passwordless future? Time will tell. Anna shares the what, the why, how, and the when on Passkeys.
Leave us a comment
Changelog++ members save 9 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(00:55) - Sponsor: Square
(03:54) - Start the show!
(04:56) - What is a Passkey?
(10:27) - Security win. Yes. UX win? Kinda.
(12:16) - Rhymes with SSH Keys
(12:59) - Three ways to authenticate
(17:49) - Recovery seems like an after-thought
(21:32) - How do get to a Passkey world?
(23:54) - Sponsor: Drata
(25:34) - 1Password now offering dev services
(31:50) - Don't Make Me Think™
(33:15) - Home Depot!!
(40:08) - Passage and Passkeys
(44:19) - Home Depot Passkey example
(47:21) - Sponsor: Raycast
(51:15) - Passkeys to prevent spammers
(54:18) - Back to Home Depot
(57:07) - Apple and sharing Passkeys
(59:55) - Revocation process?
(1:00:40) - What are the cons?
(1:03:02) - First steps for Passage?
(1:05:13) - Verifiable Crendentials
(1:06:46) - Passkey resources
(1:07:24) - Closing out the show
(1:08:19) - Up next!
Daniel had the chance to sit down with @swyx and Alessio from the Latent Space pod in SF to talk about current AI trends and to highlight some key learnings from past episodes. The discussion covers open access LLMs, smol models, model controls, prompt engineering, and LLMOps. This mashup is magical. Don’t miss it!
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Welcome to Practical AI
(01:16) - Latent Space Podcast
(04:00) - Practical AI Podcast
(06:20) - Prediction Guard
(08:05) - Daniel's favorite episodes
(10:21) - Alessio's favorite episode
(10:54) - Swyx's favorite episode
(12:44) - Listener favorites
(15:14) - LLMOps
(17:06) - Reza Shabani
(19:06) - Benchmarks 101
(20:06) - Roboflow
(21:38) - Mode collapse
(26:21) - Rajiv Shah
(28:01) - Staying on top of things
(33:11) - Kirsten Lum
(34:31) - datadan.io
(38:48) - Prompt engineering
(40:38) - Unique challenges engineers face
(42:51) - AI-UX
(45:31) - NLP data sets
(50:49) - Unlabeled data sets
(55:07) - Lightning round!
(55:20) - What's already happened in AI?
(56:27) - Unsolved questions in AI
(58:01) - Get hands on
(58:53) - Outro
Our guests helped create a ML pipeline that enabled image processing and automated image comparisons, enabling healthcare use cases through their series of microservices that automatically detect, manage, and process images received from OEM equipment.
In this episode they will chat through the challenges and how they overcame them, focusing specifically on the wait strategy for their ML Pipeline Healthcare Solution microservices. We’ll also touch on how improvements were made to an open source Go package as part of this project.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's Go Time!
(00:44) - Introducing the guests
(05:38) - The problem that needed solving
(07:57) - Why Go?
(11:17) - The Go implementation
(14:08) - How to know it's the right fit
(19:53) - Getting it ready to be used
(25:02) - The core takeaways
(28:47) - Other challenges
(34:34) - The learning curve of Go
(36:57) - Would you choose Go again?
(38:01) - Iterating, going forward
(41:49) - Unpopular Opinions!
(42:13) - Samantha's unpop
(44:32) - Neethu's unpop
(46:10) - Outro
Reddit goes dark as subreddits protest, Lemmy lights up as disillusioned redditors turn to the fediverse, OpenObserve is a cloud native observability platform, Julia Evans dispels some myths about blogging & Red Hat’s Jeffrey “Jefro” Osier-Mixon tells Adam and Jerod all about Automotive Linux at Open Source Summit NA.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:29) - Reddit goes dark
(01:22) - Lemmy lights up
(02:16) - OpenObserve
(03:51) - Sponsor: Speakeasy
(04:51) - Some blogging myths
(05:46) - Outro
(06:22) - Jefro on Automotive Linux
Homebrew project leader Mike McQuaid joins us to weigh in on Apple’s big Vision Pro announcement. We also hit on our favorite (and least favorite) non-AR things from the WWDC 2023 keynote.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Let's talk!
(00:45) - Homebrew & Friends
(01:09) - What will Apple break this time?
(01:58) - What tends to break?
(02:59) - From /usr/local to /opt
(05:40) - The only downside of /opt
(06:17) - Why not ~/.homebrew?
(07:38) - SHOW US THE VR THING
(10:33) - More like blending realities
(12:00) - Not in the metaverse
(13:27) - The guy who's ready to escape
(14:29) - Apple Watch launch vibes
(16:46) - The new dad camcorder
(19:25) - Not there yet
(22:17) - Conjuring the code!
(22:44) - Again on the weight
(24:41) - Ready P1
(27:06) - Soooo many sensors
(29:51) - There's no controllers
(31:43) - 11 launch games?
(33:22) - Game devs yay or nay
(36:33) - Training simulators
(38:31) - A certain type of game
(40:08) - Sponsor: Changelog++
(41:04) - Vision Pros in public
(43:59) - CmdrTaco on the iPod
(44:30) - Who wants to wear a headset?
(46:04) - FaceTime is more metaverse
(46:34) - Apple relentlessly iterates
(47:47) - A strong base
(48:52) - Never buy the 1st gen
(50:33) - "They're not a phone company"
(51:07) - Apple's new playbook
(52:12) - Kickin' Meta's butt, right?
(53:39) - Starting with the Pro
(54:37) - People with glasses
(55:33) - Where Adam would use
(57:37) - Where Mike would use
(59:45) - Where Jerod would use
(1:00:54) - Big In small spaces
(1:02:30) - The biggest of big
(1:03:46) - Other announcements happened
(1:04:38) - iCloud keychain sharing
(1:06:57) - iOS needs a Password.app
(1:07:39) - Passkeys
(1:09:02) - FindMy Apple TV remote!
(1:10:53) - Apple Silicon transition complete
(1:11:23) - Death of Intel chips
(1:12:30) - MK Ultra
(1:13:10) - PCIe expansion
(1:13:54) - Mike on Siri
(1:14:39) - Jerod's Siri prediction fail
(1:17:19) - Jerod on Journal.app
(1:18:06) - Adam on iPadOS 17
(1:19:36) - Day One is Automattic
(1:20:28) - Goodbyes
(1:21:37) - Coming up next
(1:22:34) - Crying about M2
This is our last week of hallway track coverage at The Linux Foundation’s Open Source Summit North America 2023 in Vancouver, Canada. Today’s anthology episode features: Jeffrey Sica (Developer Experience & Programs @ CNCF), Eddie Zeneski (Kubernetes SIG CLI), Yaron Schneider (Co-creator of Dapr and Founder and CTO at Diagrid).
Special thanks to our friends at GitHub for sponsoring us to attend this conference as part of Maintainer Month.
Leave us a comment
Changelog++ members save 10 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
CHANGELOG and get the team plan free for three months.Featuring:
Show Notes:
Part 1 * Cloud Native Computing Foundation * The Endowment effect
Part 2 * Kubernetes CLI Special Interest Group (SIG)
Part 3 * Dapr * Dapr on cncf.io
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - This week on The Changelog
(01:12) - Sponsor: Sentry
(05:21) - It's Jeefy!!
(06:51) - So what do you do (here)?
(07:50) - Office Space!
(08:51) - Jeefy supports all CNCF projects
(11:03) - What is the motivation of the CNCF?
(13:10) - Miss you Dan!
(13:27) - What's the End Game for CNCF?
(15:16) - Must have all Cloud Native OSS
(15:52) - This is like, my opinion, man.
(16:46) - Give the personal answer
(17:56) - Everyone wants to CNCF their thing
(20:13) - Do you like this job?
(21:48) - What do you like most?
(22:15) - I have impact and help
(22:43) - I make the hotel bed
(22:55) - The Endowment effect
(25:20) - What If...? No CNCF.
(27:30) - This interview is OVER!
(28:44) - Sponsor: Raycast
(32:39) - Working on the Kubernetes CLI
(33:48) - Kube Control (officially)!??
(34:59) - What should we know?
(35:13) - It's all Go
(35:26) - From Bash to Go
(35:48) - Thank you ChatGPT!
(36:37) - GPT flattened the world
(37:10) - How many flags??
(37:31) - Biggest challenge as a Maintainer?
(39:00) - Kubernetes is all JSON
(39:46) - The Go YAML world
(41:17) - New contributor challenges
(42:15) - Putting down the wisdom
(43:55) - How to become a contributor?
(45:01) - What brings someone back 3x?
(45:44) - Rewrite?
(47:46) - Could you learn from Linux?
(49:06) - Useful software gets upgraded
(50:24) - Could be a Yarn / NPM situation
(52:29) - CI bill is $3M a year!!
(54:05) - It's a Cloud Native world
(54:10) - Maintainer hacks
(55:47) - What is your day like?
(57:02) - Thanks for talking Eddie
(57:21) - Sponsor: Changelog News
(59:17) - Incubating in the CNCF
(1:00:10) - Started Dapr at Microsoft
(1:01:50) - Distributed systems problems
(1:02:57) - Is this a framework?
(1:04:28) - Dapr stack?
(1:05:11) - Escaping Microsoft
(1:07:10) - Start a Microsoft and exit to Founder
(1:08:07) - From "No" to "Yes"
(1:09:15) - Nice Logos
(1:10:40) - Why a managed Dapr?
(1:12:25) - The reluctant Founder journey
(1:15:26) - Competing on "Best managed service"
(1:16:30) - You're not Dapr, Inc.?
(1:17:31) - Parallels to Dapr?
(1:18:03) - Polyglot drawbacks
(1:19:02) - The future of Dapr
(1:19:49) - Up next!
Million.js is a JavaScript library that helps render large datasets in the browser efficiently using a virtual DOM and custom diffing algorithm. Aiden and Tobi join Nick to talk about what it does, it’s goals, and where it’s going.
Leave us a comment
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - It's party time, y'all!
(00:39) - Welcoming our guests
(03:11) - Intro to Million.js
(09:17) - Component limitations?
(11:17) - Technical difficulties
(11:44) - Sponsor: Changelog News
(13:38) - Nobody reads docs!
(15:40) - Compatibility story
(17:00) - What it's actually doing
(19:31) - Svelte & Virtual DOM
(20:11) - Helpers & tooling
(22:32) - Sponsor: KBall Coaching
(23:17) - Origin of the name
(24:43) - React team relationship
(29:35) - The future
(32:18) - Potential blockers
(35:59) - A note on Solid
(38:51) - Getting involved
(39:44) - Closing time
(41:23) - Next up on the pod
Lately.AI has been working for years on content generation systems that capture your unique “voice” and are tailored to your unique audience. At first, they didn’t know that they were going to build an AI system, but now they have a state-of-the-art generative platform that provides much more than “prompting” out of thin air. Lately.AI’s CEO Kate explain their journey, her perspective on generative AI in marketing, and much more in this episode!
Leave us a comment
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Welcome to Practical AI
(00:43) - Kate from Lately AI
(01:47) - Origins of Lately
(04:04) - Initial intentions
(08:19) - Capabilities of Lately
(14:17) - What is voice?
(16:10) - Beyond a formula
(19:27) - Approaching the problem
(23:23) - More human?
(28:16) - Sponsor: Changelog News
(29:40) - Silence is sometimes the best practice
(30:38) - The megaphone vs the magnet
(33:07) - Non-profit vs for profit
(35:49) - Calm down everybody
(39:08) - New things coming
(40:46) - Goodbyes
(41:16) - Outro
The Astro team releases a new documentation builder, legendary computer scientist Donald Knuth plays with ChatGPT, over 500 volunteer mods have signed an open letter to Stack Overflow Inc, Reddit faces a revolt due to their new API pricing & the Technology Innovation Institute release Falcon, a new open source LLM that’s topping Hugging Face’s leaderboard.
Leave us a comment
Changelog++ members save 1 minute on this episode because they made the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro
(00:32) - Starlight
(01:55) - Knuth asks ChatGPT
(03:15) - Sponsor: HasuraCon 2023
(04:25) - Stack Overflow mods strike
(05:30) - Reddit API pricing revolt
(06:22) - New open source LLM champ
(07:01) - Unpop roundup!
(09:11) - Outro
The Gorilla team is building an API store for LLMs, DeviceScript is Microsoft’s new TypeScript programming environment for microcontrollers, Nyxt is a hackable browser written in Lisp, Morgan Housel writes about expectations debt & I issue a gentle reminder to my fellow software engineers: there’s still no silver bullet.
Leave us a comment
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Featuring:
Show Notes:
All links mentioned in this episode of Changelog News (and more) are in its companion newsletter.
Something missing or broken? PRs welcome!
Timestamps:
(00:00) - Intro (Apple Podcasts)
(00:49) - Gorilla
(01:47) - DeviceScript
(02:34) - Nyxt
(03:13) - Sponsor: Raycast
(04:00) - Expectations Debt
(05:36) - Still no silver bullet
(07:20) - Outro
The late, great Fred Brooks wrote many words about software engineering. You may have heard of Brooks’s Law or read his seminal book, The Mythical Man-Month. Even if you haven’t, you’ve probably heard at least one colleague proclaim:
Nine women can’t make a baby in one month!
This is a powerful metaphor for two reasons. First: it’s so vivid that it’s hard to forget (and easy to recall in a time of need). Second: it makes obvious a not-so-obvious conclusion. Which is:
Adding manpower to a late software project makes it later.
That’s a hard pill to swallow, especially when your project is late. But it’s a truth pill, which makes it worth choking down. Here’s another truth pill that Brooks wrote in his paper No Silver Bullet–Essence and Accident in Software Engineering:
There is no single development, in either technology or management technique, which by itself promises even one order of magnitude [tenfold] improvement within a decade in productivity, in reliability, in simplicity.
For those who don’t understand the silver bullet reference… it’s pulled from folklore where a bullet cast from silver is the only weapon that can kill a werewolf. Over time a silver bullet has come to represent “a simple, seemingly magical, solution to a difficult problem.” Brooks could have easily reached for panacea instead, but I think the shiny characteristic of silver makes it the perfect analog to software solutions.
I’ve found myself referencing this a couple times recently. Both of those conversations were in the context of React, but the principle applies to every over-adopted technology.
So, this post is a gentle reminder to my fellow software engineers:
Please humor me while I quote myself for a moment: (Hey, it’s easier than writing)
Subscribe to our YouTube channel for more clips like this, live show recordings, and more ✌️
We tend to be kind of lazy and just take the big hammer and hit all the nails with it. Like, “Oh, I’ve found the panacea. This is gonna solve all my problems”, because it does solve some of your problems big-time.
But it’s also is gonna create other problems, and it’s also not gonna fit in every place that you can shove it. I mean, I know there’s React-based command line builders… And it’s like, okay, if you like components, cool. That makes sense. But why is React building your command-line app? I just don’t understand.
When I extemporaneously said “I just don’t understand”, I meant that the choice confounds me. But I do understand why people might make it.
Saying “use the right tool for the job” is easy, but actually selecting the right tool for the job is anything but. Good tools are hard to find, hard to evaluate, hard to learn. We have constraints, we have biases, we have shortcomings.
But that’s all part of the work.
And if you “just use Go” or “just use React” or “just use Postgres” for every problem that crosses your keyboard, you’re just not putting in the work.
(And I say this as a guy who uses Postgres for most things! 😆)
If you enjoyed reading this, you’ll probably enjoy Changelog News, my free weekly podcast + newsletter covering developer news worth your attention. I keep it brief (~8 min), entertaining & always on-point. Not so sure? Check out a recent issue!
Leave us a comment
TIL that four corporate publishers have sued the Internet Archive for copyright infringement.
When Julius Caesar burned the Library of Alexandria, it was hard to imagine a greater destruction of scholarship. Now, 2,000 years later, some petty, litigious schmucks are ready to deal an even bigger blow to the literary canon.
Discuss on Changelog News
Andy Baio with the eagle eyes 🦅
While trying to fix my printer today, I discovered that a PDF copy of Satoshi Nakamoto’s Bitcoin whitepaper apparently shipped with every copy of macOS since Mojave in 2018.
I’ve asked over a dozen Mac-using friends to confirm, and it was there for every one of them. The file is found in every version of macOS from Mojave (10.14.0) to the current version, Ventura (13.3), but isn’t in High Sierra (10.13) or earlier.
Well that’s a fun bit of trivia! But why?
Is there a secret Bitcoin maxi working at Apple? The filename is “simpledoc.pdf” and it’s only 184 KB. Maybe it was just a convenient, lightweight multipage PDF for testing purposes, never meant to be seen by end users.
Discuss on Changelog News
There’s always at least one new thing I’ve never come across in every one of these kind of lists.
Discuss on Changelog News
Courtland Allen:
Exactly six years ago (to the day!), Stripe acquired Indie Hackers to help us grow and inspire millions of people building online businesses.
Today, I’m happy to announce that @channingallen and I are indie hackers again!
So what now?
Well, if we want to survive and thrive, we’re going to have to generate revenue just like any other business! I’m an entrepreneur at heart and always have been. In fact, working at Stripe was my first and only salaried job.
Right now we’re sitting at exactly $0 in MRR, so the journey is just now (re)starting.
Welcome back to the club, guys! Exciting times 💯
Discuss on Changelog News
+10x engineers may be mythical, but -10x engineers exist. To become a -10x engineer, simply waste 400 engineering hours per week. Combine the following strategies:
I know the 10x developer is a myth and all, but one thing we don’t talk about very often is that it is sometimes easy to out-pace other devs simply by moving forward at a decent clip.
This is because there are easy (yet non-obvious) ways to make negative progress as a developer. It’s not hard to move orders of magnitude faster than someone who’s headed in the wrong direction.
Discuss on Changelog News
I’ve quit Elixir’s REPL by hitting Ctrl-C twice a zillion times, but I’ve never stopped to play with the BREAK menu provided between the Ctrl-C’s.
BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution
This article is a nice explainer of all the options and what you can do with each.
Discuss on Changelog News
Try the hosted version if you prefer…
Discuss on Changelog News
Running live demos can be stressful. You know what you want to say and show. You prepare the CLI commands you want to run to best showcase what you’ve built, but then you waste time typing long commands; you make typos; the commands fail or take way too long to complete. Maybe they depend on external system (network, APIs, cloud, …) and of course it’s not cooperating while you’re running your live demo.
Here’s how you can avoid all of the above by scripting, automating and recording your demos, so that you never have to stress about showcasing ever again…
Discuss on Changelog News
By modifying a classical neural network, we introduced a new model inspired by biology which shows improved memory performance. It helps modeling brain processes and may eventually improve AI-based language tools such as ChatGPT.
Discuss on Changelog News
This app uses Apple’s Core ML Stable Diffusion implementation to achieve maximum performance and speed on Apple Silicon based Macs while reducing memory requirements. (Also runs on Intel based Macs.)
Discuss on Changelog News
Emilio Cobos Álvarez:
So this week I landed a few patches that completely removed XUL layout from the Firefox codebase.
This means that (modulo a few exceptions documented below) all the Firefox UI is using regular web technology to render (mostly CSS flexbox).
This was a rather big effort (first filed 9 years ago in bug 1033225), and I wanted to document some of the things that I learned during the process, some of the things and decisions that made it possible, and some of the things that I would’ve maybe done differently.
Discuss on Changelog News
Daniel Stenberg’s new tool for parsing & manipulating URLs might fit nicely into HTTP your utility belt.
URLs are tricky to parse and there are numerous security problems in software because of this. trurl wants to help soften this problem by taking away the need for script and command line authors everywhere to re-invent the wheel over and over.
Discuss on Changelog News
Tyler Cipriani:
GitHub private repos lull us into lazy thinking.
We cram our secrets into git, then shove it off to the most expansive code forge in the history of humanity, and most of the time: everything’s fine.
But GitHub’s ssh host key leak last week demonstrates that private repos are, at best, private-ish.
Discuss on Changelog News
A solid pre-flight checklist by PG aficionado Craig Kerstiens. It covers all the essentials: backups, high-availability, logging, statement timeouts & connection pooling.
Discuss on Changelog News
After two years of work, Kirby Ferguson has combined his four part series into a single, hour-long video. I haven’t even watched it yet (it’s queued up), but I know this is absolutely deserving of an hour of your time this weekend.
Discuss on Changelog News
Taxy uses GPT-4 to control your browser and perform repetitive actions on your behalf. Currently it allows you to define ad-hoc instructions. In the future it will also support saved and scheduled workflows.
Taxy’s current status is research preview. Many workflows fail or confuse the agent. If you’d like to hack on Taxy to make it better or test it on your own workflows, follow the instructions below to run it locally. If you’d like to know once it’s available for wider usage, you can sign up for our waitlist.
Ok that’s cool… 🤯
Here it is using Google Calendar with the prompt “Schedule standup tomorrow at 10am. Invite david@taxy.ai”
Discuss on Changelog News
Alex Schepanovski:
I always thought of 1+N as a thing that you just keep in your head, catch on code reviews or via performance regressions. This worked well for a long time, however, the less control we have over our SQL queries the more likely it will sneak through those guards…
I tumbled on a couple of 1+Ns while reading a project code for an unrelated reason and it got me thinking – do I ever want Django to do that lazy loading stuff? And the answer was never.
Turns out the implementation of this is quite easy. ~15 loc for the naive version and ~35 for a more robust version. Give it a try if you, like Alex, never want to allow a 1+N in your Django app again.
Discuss on Changelog News
This open letter by the Future of Life institute has been signed by 1380 people (so far) including notable technologists such as Steve Wozniak, Stuart Russell, Emad Mostaque (Stability AI) & Elon Musk.
Powerful AI systems should be developed only once we are confident that their effects will be positive and their risks will be manageable. This confidence must be well justified and increase with the magnitude of a system’s potential effects. OpenAI’s recent statement regarding artificial general intelligence, states that “At some point, it may be important to get independent review before starting to train future systems, and for the most advanced efforts to agree to limit the rate of growth of compute used for creating new models.” We agree. That point is now.
Therefore, we call on all AI labs to immediately pause for at least 6 months the training of AI systems more powerful than GPT-4. This pause should be public and verifiable, and include all key actors. If such a pause cannot be enacted quickly, governments should step in and institute a moratorium.
Discuss on Changelog News
The team behind this took LLaMA and trained it on ~800k GPT-3.5-Turbo responses. The result is a sophisticated assistant you can easily run on your laptop by downloading a 4GB file and cloning the repo.
Discuss on Changelog News
k8sgptis a tool for scanning your Kubernetes clusters, diagnosing and triaging issues in simple english. It has SRE experience codified into it’s analyzers and helps to pull out the most relevant information to enrich it with AI.
Discuss on Changelog News
Design handoffs are inefficient and painful. They cause frustration, friction and a lot of back and forth. Can we avoid them altogether? Of course we can! Let’s see how to do just that.
Discuss on Changelog News
ALOHA stands for “A Low-cost Open-source Hardware System for Bimanual Teleoperation”, which is certainly a stretch in terms of acronym, but the project itself is so cool that I don’t think it really matters… Here’s the pitch:
Fine manipulation tasks, such as threading cable ties or slotting a battery, are notoriously difficult for robots because they require precision, careful coordination of contact forces, and closed-loop visual feedback. Performing these tasks typically requires high-end robots, accurate sensors, or careful calibration, which can be expensive and difficult to set up. Can learning enable low-cost and imprecise hardware to perform these fine manipulation tasks? We present a low-cost system that performs end-to-end imitation learning directly from real demonstrations, collected with a custom teleoperation interface.
Discuss on Changelog News
Dave Runje:
We were searching for something like FastAPI for Kafka-based service we were developing, but couldn’t find anything similar. So we shamelessly made one by reusing beloved paradigms from FastAPI and we shamelessly named it FastKafka.
The point was to set the expectations right - you get pretty much what you would expect: function decorators for consumers and producers with type hints specifying Pydantic classes for JSON encoding/decoding, automatic message routing to Kafka brokers and documentation generation.
Discuss on Changelog News
Alexander Lotvall:
It’s a typing app specifically for software developers. You type code snippets from real open source projects. It supports inviting your friends to a room and competing in real time against your friends, and you can get your result on the global leaderboard.
I like how it uses code snippets from popular projects. I don’t like how slow I am at writing Rust code! 🤣
Discuss on Changelog News
Steve Yegge is very excited about LLMs and thinks the rest of us should be as well:
There is something legendary and historic happening in software engineering, right now as we speak, and yet most of you don’t realize at all how big it is.
LLMs aren’t just the biggest change since social, mobile, or cloud–they’re the biggest thing since the World Wide Web. And on the coding front, they’re the biggest thing since IDEs and Stack Overflow, and may well eclipse them both.
Steve’s been in the industry a long time. He worked at Amazon back when AWS was just a demo on some engineer’s laptop and he worked at Google when Kubernetes was just a demo on some engineer’s laptop.
The point: when Steve Yegge gets excited about something it probably means more than when most people get excited about something.
Discuss on Changelog News
Use
ane_transformersas a reference PyTorch implementation if you are considering deploying your Transformer models on Apple devices with an A14 or newer and M1 or newer chip to achieve up to 10 times faster and 14 times lower peak memory consumption compared to baseline implementations.
We were just discussing Apple’s next AI move on yesterday’s JS Party live (ships to the feed next Friday). They’ve been the quietest tech giant since the GenAI movement kicked in to high gear. My guess: they’ll have a LOT to say at this June’s WWDC…
Discuss on Changelog News
Often folks think that chasing the next promotion is the best thing to do, but sometimes you should just enjoy where you are..
Discuss on Changelog News
Typst is a new markup-based typsetting system that is designed to be as powerful as LaTeX while being much easier to learn and use.
Discuss on Changelog News
Andrew Quinn:
fzfis a bit of a weird program because installing it actually overwrites a whole bunch of keyboard shortcuts, in the interest of making them better. Normally I would hate this. But…
Lots of good stuff in this post 👍
Discuss on Changelog News
This project brings stable diffusion models onto web browsers. Everything runs inside the browser with no server support. To our knowledge, this is the the world’s first stable diffusion completely running on the browser. Please checkout our demo webpage to try it out.
Discuss on Changelog News
Josh Comeau:
Over the past few months, I’ve spoken with lots of early-career devs who are getting more and more anxious about AI. They’ve seen the increasingly-impressive demos from tools like GPT-4, and they worry that by the time they’re fluent in HTML/CSS/JS, there won’t be any jobs left for them.
I couldn’t disagree more. I don’t think web developer jobs are going anywhere. And I’m getting pretty sick of the FUD? being spread online.
So, in this blog post, I’m going to share my hypothesis for what will happen. Things are going to change, but not in the scary way people are saying.
Discuss on Changelog News
Nowadays, Alpine Linux is one of the most popular options for container base images. Many people (maybe including you) use it for anything and everything. Some people use it because of its small size, some because of habit and some, just because they copy-pasted a Dockerfile from some tutorial. Yet, there are plenty of reasons why you should not use Alpine for your container images, some of which can cause you great amount of grief…
Discuss on Changelog News
This is an awesome HN thread on all the ways blogging have improved the lives of developers around the world. It’s brimming with statements like:
I’ve been blogging since 1998 and can trace every major step forward in my career to my blog.
The best time to start your developer blog was 1998. The second best time is right now.
Discuss on Changelog News
Docker CMO, Tim Anglade:
For those of you catching up, we recently emailed accounts that are members of Free Team organizations, to let them know that they will lose features unless they move to one of our supported free or paid offerings. This impacted less than 2% of our users…
The Docker Free Team subscription was deprecated in part because it was poorly targeted. In particular, it didn’t serve the open source audience as well as our recently updated Docker-Sponsored Open Source program, the latter offering benefits that exceed those of the deprecated Free Team plan.
We’d also like to clarify that public images will only be removed from Docker Hub if their maintainer decides to delete them. We’re sorry that our initial communications failed to make this clear.
Just to be clear: their apology is not about the change, it’s about how they communicated the change. There’s more details in the post about deleting public images, squatting names, etc, but that’s the gist.
Discuss on Changelog News
TypeScript PM, Daniel Rosenwasser:
This release brings many new features, while aiming to make TypeScript smaller, simpler, and faster. We’ve implemented the new decorators standard, added functionality to better support ESM projects in Node and bundlers, provided new ways for library authors to control generic inference, expanded our JSDoc functionality, simplified configuration, and made many other improvements.
Discuss on Changelog News
Congrats to Dan, Rachel and the entire React team for shipping a new docs site! Here’s their TLDR:
Discuss on Changelog News
Alex Ellis:
Yesterday, Docker sent an email to any Docker Hub user who had created an “organisation”, telling them their account will be deleted including all images, if they do not upgrade to a paid team plan. The email contained a link to a tersely written PDF (since, silently edited) which was missing many important details which caused significant anxiety and additional work for open source maintainers.
He goes on to explain the problem in great details. Btw, Alex is no Docker hater. He has a long history of using and supporting the tech. He goes on to say:
Open Source has a funding problem, and Docker was born in Open Source. We the community were their king makers, and now that they’re turning over significant revenue, they are only too ready to forget their roots.
This decision seems myopic. There are other image hosting options, one of them even shares (inspired?) half of DockerHub’s name… Oh, and here’s our open invitation to the folks at Docker to come on the pod.
Discuss on Changelog News
This web-based tool has a lot of cool features: node search, embeddable widgets, downloadable images, dark mode & more. Jump straight to the online editor to try it out.
Discuss on Changelog News
This site categorizes, displays & provides CSS font-family declarations for the system fonts on every modern OS. Why are system fonts cool? Because they’re the fastest fonts your website can use. No downloading, no layout shifts, no flashes — just instant renders.
Discuss on Changelog News
Sualeh Asif from Control (an AI code editor):
We’ve been using GPT-4 for a few months internally, and we thought we’d highlight a few examples](https://github.com/anysphere/gpt-4-for-code) that have been both particularly impressive and really useful to us.
Here it’s converting a Python dict of member functions to esoteric but correct-on-first-try C++ code 👇
Discuss on Changelog News
With Mountpoint for Amazon S3, your applications can access objects stored in Amazon S3 through file operations like open and read. Mountpoint for Amazon S3 automatically translates these operations into S3 object API calls, giving your applications access to the elastic storage and throughput of Amazon S3 through a file interface.
Early alpha. Written in Rust by the AWS team.
Discuss on Changelog News
Justin Searls dives deep into whether AI tools like ChatGPT actually threaten knowledge worker jobs and provides helpful ideas around what to do about it.
Having spent months programming with GitHub Copilot, weeks talking to ChatGPT, and days searching via Bing Chat as an alternative to Google, the best description I’ve heard of AI’s capabilities is “fluent bullshit.” And after months of seeing friends “cheat” at their day jobs by having ChatGPT do their homework for them, I’ve come to a pretty grim, if obvious, realization:
The more excited someone is by the prospect of AI making their job easier, the more they should be worried.
Discuss on Changelog News
Ned Batchelder:
This package provides one command,
watch_gha_runs. It takes a GitHub repo URL and a branch name, and displays the status of the latest GitHub Action runs on that branch. If any of the runs are in progress, it will refresh the display each second with the current status.If you like, the name can be pronounced, “Watching? Ha!”
Discuss on Changelog News
You can think, plan, design & toil away on your project/product all you want, but until you have real people using it… you’re only guessing. Here are 4 things the creator of basement community learned after picking up their first batch of real users:
Discuss on Changelog News
Another win for the fediverse. Plugin developer Matthias Pfefferle (who is joining WordPress with the acquisition):
When Matt announced that Tumblr wants to implement ActivityPub on Twitter, I asked why not WordPress, so I came in contact with Automattic and they offered me the opportunity to work full time on the plugin and other Open Web projects.
The plugin lets people follow your WordPress site on ActivityPub-supporting social networks. Today it has over 2k active installs, but what would that number look like if this plugin came bundled with new installs/upgrades?
There’s very little downside for WordPress site owners to one-click install that sucker…
Discuss on Changelog News
Jason Stiebs runs down all that you can accomplish in Elixir without a compilation step by running elixir my_script.exs, including the use of any hex package thanks to Mix.install/2.
Discuss on Changelog News
A multi-tenant HTTP reverse tunnel solution through remote port forwarding from the SSH protocol.
This is intended for small teams that need to expose the local development environment to the public internet, and you need to bring your own domain name and SSO provider.
It gives stable subdomain for every user, and gated by your SSO through OIDC protocol.
Think this as a bare-bone alternative to the ngrok’s $65/user/month enterprise tier. Try to put this behind a production system will blow up your SLA.
For individuals and production systems, just buy ngrok, it is still my favorite.
Discuss on Changelog News
Quirks: every language has ’em, and the more you learn a language the more of ‘em you run across. Here’s a collection of quirks across a bunch of languages. I’m positive there’s many more that could be added…
Discuss on Changelog News
Jim Nielsen:
I heard Paul Ford, a professional writer for Wired and other publications, say something on The Aboard Podcast, Episode 3 that resonated. Referring to a moment when lots of folks online were looking for the perfect writing environment, he said the software tool, workflow, environment, whatever, it didn’t matter. You could do it with pen and paper if you want.
The only technology that you need is deadlines.
Ooff. Yup, that resonates. That’s been the best piece of technology for making me productive too.
See also arbitrary deadlines are actually awesome by yours truly.
Discuss on Changelog News
You’re so vain, you probably think this cool new web app by Robert van Hoesel is about you… and it is! It’ll track your total followers, interactions & posts over time and provide an overview of your top posts as well.
Discuss on Changelog News
If you thought floppy disks were a relic of the past, think again. A surprising number of industries, from embroidery to aviation, still use floppies. Jacopo Prisco tells the story in Wired:
The floppy disk may never truly die out. “There are people in the world who are still busy finding and fixing up and maintaining phonograph players from 1910, so it’s really hard for me to believe that the floppy disk is just going to utterly disappear,”…
Discuss on Changelog News
You know how collaborating with Google Sheets, Airtable & friends is super easy because anybody with a web browser and the correct permissions can get in on it? With Mathesar, you can enable that kind of access to any Postgres database!
Super powerful? I think so. Super risky?! Likely, especially if a lot of your data-related logic is in app code. Worth it? That’s up to you to decide…
Discuss on Changelog News
I’m a big fan of Elixir, asdf & TUIs so this one’s a no-brainer share for me. The linked blog post by Mitchell Hanberg goes into the details:
While I find
lazyasdfto be an amazing achievement for myself, it isn’t super interesting on its own. Let’s dive into the specifics of how I was able to build and distribute a TUI application with Elixir.
Source code here.
Discuss on Changelog News
No, not running the rendered assets of a WordPress install in the browser. That wouldn’t be noteworthy. This is running the entire WordPress kit and caboodle inside your browser, thanks to WebAssembly.
Try it for yourself right here. Feel free to play with it: log in with admin / admin, add a comment, etc.
Discuss on Changelog News
A cool microsite by Henri Parviainen that helps you design some scrollbars by pointing-and-clicking then copy/paste the requisite CSS code to recreate in your app.
Discuss on Changelog News
Service Weaver is a programming framework for writing, deploying, and managing distributed applications in Go. With Service Weaver, you write your application like it is a traditional, single-process Go executable that runs on your local machine. Then, you deploy it to the Cloud, and the framework breaks it down into a set of connected microservices and integrates it with the cloud provider (e.g., monitoring, tracing, logging).
Discuss on Changelog News
Hired CEO, Josh Brenner:
We create this report every year to help talent professionals and software engineers understand the hiring climate, as well as what’s top of mind for employers and engineers.
Here’s some of their key findings:
There’s a lot to digest here. Worth a read, especially if you’re on the market.
Discuss on Changelog News
There’s a lot of “magic” that happens behind the scenes to make whole Kubernetes work. One of those is resource management and resource allocation done by Linux cgroups.
In this article we will take a deep dive into what cgroups are, how Kubernetes uses them to manage Node resources, and how we can take advantage of them beyond setting resource requests and limits on Pods.
Discuss on Changelog News
Thomas Ricouard:
This is the first article in what I hope will be a long series of stories about the making of the Ice Cubes app. This article will focus on what the app is, the general story behind it, and an overview of the codebase.
I’ve been using Ice Cubes (source code, App Store) for all Mastodon stuff on my phone since it was first released, and I really like it. I didn’t know it was open source at the time, but even better: its author is writing all about the making of it. Looking forward to this series!
Discuss on Changelog News
Bryan Braun:
Do you longingly reminisce about the days when flying toasters graced your screen? Do words like “Confetti Factory” and “Daredevil Dan” make your heart skip a beat?
If so, then never fear—CSS is here! Using modern CSS techniques like animations and transforms, we can imitate several of your favorite After Dark™ screensavers.
The animations were made with CSS alone. No animated gifs or JavaScript.
Discuss on Changelog News
Corey Quinn:
Countless volumes have been written about the various benefits of serverless, a task made even easier by it being such a squishy, nebulous term that’s come to mean basically whatever the author wants it to mean. This has been a boon for AWS’s product teams, who’ve gone from creating services that are clearly serverless such as DynamoDB, Route 53, IAM, and others to instead slapping the “serverless” moniker on things that are clearly not very serverless at all, like OpenSearch and Aurora.
Discuss on Changelog News
Andy Jiang and Deno’s content team are really speaking my language lately:
Sites take time to build these days. A large Next.js 11 site will take several minutes to build. This is wasted time in the development cycle. Build tools like Vite or Turbopack highlight their ability to get this number down.
But the deeper question hasn’t been considered:
Why do we even need a build step?
Discuss on Changelog News
MRSK deploys web apps anywhere from bare metal to cloud VMs using Docker with zero downtime. It uses the dynamic reverse-proxy Traefik to hold requests while the new application container is started and the old one is stopped. It works seamlessly across multiple hosts, using SSHKit to execute commands. It was built for Rails applications, but works with any type of web app that can be containerized with Docker.
Watch the screencast or check out the code & docs.
Discuss on Changelog News
Fabien Sanglard’s advice to writers:
By starting with a markup based generator, you rob yourselves of the opportunity to learn the core technology running the whole internet. Instead you will learn to use a layer built on top of it with little to no re-usable knowledge. Inevitably, you will want to do something the framework did not forecast and will come up with convoluted ways to do it anyway.
Additionally, depending on how long you will write and how often you do it, setting up a generator may be counterproductive.
The best way to avoid the YAGNI trap is to start as simple as possible and only add tech when you’re absolutely sure the ROI is higher than the TCO.
Discuss on Changelog News
Evan Hahn, describing what he calls the “lone developer problem”:
A lot of software is built by one person. It might be an entire product built by a lone developer or a significant piece of a system.
When this happens, I’ve observed that code written by a single developer is usually hard for others to work with. This code must’ve made sense to the author, who I think is very smart, but it doesn’t make any sense to me!
All this time, I just thought it was my code that was hard for others to work with! Turns out I’m not alone…
Discuss on Changelog News
The UI of the open source OKLCH Color Picker & Converter was created with community education in mind as the driving design principle. Beyond being a handy tool, there was a secondary goal: speeding up familiarity and adoption of OKLCH and perceptual color spaces.
To that end, this article explains how the underlying reality of the color space itself guided the UI design.
Discuss on Changelog News
The common trope that feedback is a gift is a misnomer: we love giving and receiving gifts but recoil from delivering and accepting feedback. Some truths are hard to hear and discuss, so the gift-giving metaphor falls short.
What if I told you there was a way to overcome that sinking feeling associated with delivering feedback? Yes, delivering great actionable feedback is a learnable skill that improves with deliberate practice. Read my post to learn some useful techniques.
Discuss on Changelog News
I was a programmer for 12 years. I then switched to support and people management for 12 years. I now want to go back to programming for the rest of my career. I started working at Zed Industries on January the 17th, helping build the Zed editor and be a Rust programmer wannabe. End of June is going to be the judgment day. Will I remain part of Zed?
That’s right. I have a six month contract with the company my ex-GitHub colleague founded. They are trusting me to become productive in Rust within 6 months. With no prior experience in Rust, this feels like a Herculean feat. The interesting part is that I abandoned a high-paying job to do this. And by the end of the six month contract, Zed Industries and I may decide to part ways and still be friends.
And I am blogging about my experience so far. It’s a mix of personal learnings and small technical bits and pieces sprinkled here and there. But it’s mostly about my personal experience.
Discuss on Changelog News
On first glance, making a first person game without an engine or a graphics API seems like an almost impossible task. In this post I’ll show you how to do that using an algorithm called ray casting.
My goal here is to show how something that looks complicated can be broken down into simple pieces, and if I’ve done my job right, it should feel like you’ve discovered how the game works.
Discuss on Changelog News
Ben Hoyt shares his experience switching two of his side projects from on an EC2 instance to Fly.io:
It took me about an hour to figure out the basics of Fly.io and move the simpler project, and a couple of evenings to move the more complex one. Fly.io handles the annoying reverse proxy and SSL stuff, deployment is as simple as
fly deploy, and there’s a nice dashboard on Fly.io to show me what’s going on…I’m only a few weeks into using Fly.io to host my side projects, but I’m very happy with their product so far. I was quite happy to delete the 500 lines of Ansible scripts, systemd unit files, and Caddy config files.
It also made me smile to finally stop the EC2 instance and bump my AWS bill down from $9 per month to about 10 cents per month (I still use S3 for user-uploaded images and for backups). I have nothing against EC2 and would use it again for certain things, but for small web applications, Fly.io seems like a great fit.
Discuss on Changelog News
Akshay Khot:
Although Hotwire (an approach to building web apps without much JS by sending HTML instead of JSON over the wire.) is closely tied to Ruby on Rails, you might be surprised to know that you don’t really need Rails to learn, play, and experiment with Hotwire. In this article, I will show you how a simple static website can use Turbo Drive and Frames to make it more dynamic and responsive.
We’ve been using the predecessor to Hotwire’s Turbo Drive on this very website (an Elixir app) for 7 (!) years now, so I’m convinced there are valid uses of Hotwire outside of its usual Rails context.
Discuss on Changelog News
Take any plaintext, encrypt it & generate a PDF with a QR code that’s easy to scan back in.
Uses the Age format.
Discuss on Changelog News
The rough math goes like this: We spent $3.2m on cloud in 2022. Just under a million of that was on storing 8 petabytes of files in S3, fully replicated across several regions. So that leaves ~$2.3m on everything else: app servers, cache servers, database servers, search servers, the works. That’s the part of the budget we intend to bring to zero in 2023. Then we’ll worry about exiting the 8PB from S3 in 2024.
David spoke at length on this decision when he was on Ship It! late last year.
Discuss on Changelog News
Owncast (an open source live video & web chat server) underwent a redesign lately and its creator, Gabe Kangas, has been writing about that process and the choices he made along the way.
This post discusses the before and after of migrating to React. Covering Gabe’s thoughts from the developer experience, contributor recruiting pipeline & productivity standpoints.
Discuss on Changelog News
Tyler Cipriani:
Despite their best efforts, all weather apps will eventually lie.
Weather is often hyper-local…
So, in 2013, I set up a Davis Vantage Vue integrated sensor suite (ISS) and mounted it on a pole attached to my garage.
The heart of his system is WeeWX, a free and open source weather station software written in Python. Ten years later, he’s learned some things, but he’s still using his homegrown weather monitoring.
Discuss on Changelog News
Yury Molodtsov:
Running your own blog in 2023 is still needlessly complicated, especially if you have any kind of taste. Why have one in the first place?
Social apps and networks are obviously the easiest options, but they’re geared toward vastly different things, and I just don’t trust their longevity. Having your own platform enables flexibility and portability, so your content can be kept online practically forever.
This!
There are many options out there, ranging from WordPress and Ghost to static blogs to managed online platforms and Micro.blog. How do you choose between them?
What follows is a survey of some of the popular tools and what Yury thinks about them. My advice is this: don’t worry too much about tooling. That’s the easy part. Writing’s the hard part. We often bike shed the easy parts to avoid the hard part. Yuri seems to agree:
Having the right tool certainly helps, but at the end of the day, what matters is what you write there. Focus more on the content and just ensure the process of writing and posting is simple enough.
Discuss on Changelog News
Recent guest Justin Searls announces his new thing:
Standard Ruby (a Ruby style guide with linter & automatic code fixer) now ships with its own built-in language server, which enables it to offer lightning-fast linting and formatting for supported editors. This new extension leverages that language server to deliver a much faster UX than most other Ruby extensions available for VS Code.
I don’t know how many of our readers live at the intersection of VS Code and Ruby… but if you do, this should be great news for you. 😉
Discuss on Changelog News
My opinionated list of four approaches to building websites and web applications. Publicly hosted on the internet, serving HTML, CSS, JavaScript, images, etc over HTTP.
There are more than four ways to build a web app, but the ones Tom covers in-depth in this post are:
Discuss on Changelog News
Andy Bell has been obsessed with one particular CSS snippet for years now. In this post, he shares it with us and shows us how he’s recently improved it further by using Custom Properties.
Discuss on Changelog News
Antoine Vastel:
The new headless Chrome has been released in November 2022. For the moment, it hasn’t become the standard headless mode. It’s still hidden behind a –headless=new flag. However, it will soon become the standard headless mode, and this is going to change a lot of things when it comes to bot detection, particularly detection based on browser fingerprint.
Antoine is the head of research at DataDome, a bot detection company, so he knows what he’s talking about here. The good news is you can still detect the new headless Chrome, but it will be more tricky. The other good news is that fingerprinting is just one of many tools in the bot detector’s belt. Others include request behavior, reputation scores, proxy detection & TLS fingerprinting.
Discuss on Changelog News
Sloth is a native Mac app that shows all open files, directories, sockets, pipes, and devices in use by all running processes on your system. This makes it easy to inspect which apps are using which files, etc.
lsof is powerful, but I use it infrequently and its CLI is inscrutable. That’s a perfect setup for a GUI like this.
Discuss on Changelog News
Nikola Đuza lays out a way you can customize your README to stand out from the crowd:
GitHub supports adding HTML in Markdown, but it is pretty aggressive when removing HTML that can be potentially dangerous to users. Things like scripts, iframes, and similar will get removed or “silenced” to avoid malicious content from being served to users.
Luckily, there’s one way to sneak in some HTML (or a web page) inside the README. You can do it via SVG and
foreignObjectSVG element.
Discuss on Changelog News
Homebrew project lead, Mike McQuaid:
Today, I’d like to announce Homebrew 4.0.0. The most significant change since 3.6.0 enables significantly faster Homebrew-maintained tap updates by migrating from Git-cloned taps to JSON downloads.
Discuss on Changelog News
Anybody following our news and/or podcast feeds for a bit already know of SQLite and have likely used it and continue to use it, but for those just joining us, here’s yet another dev with effusive praise for the little database engine that could:
SQLite is one of those projects that I wish I had known about long before I did. I had heard about it, but for many years I never thought about taking a serious look at it because I was under the false impression that is was a tiny database only useful for personal address books and small embedded devices.
I highly recommend you take a look at SQLite!
Discuss on Changelog News
Rust and Haskell don’t shy away from powerful features. As a result, both languages have steep learning curves when compared with other languages. Trying to learn Rust or Haskell can be frustrating, especially in the first couple of months.
But if you already know Rust, you have a head start with Haskell; and vice versa.
In this article, we want to show how knowledge of one of these languages can help you get up to speed with another.
Discuss on Changelog News
Tired of pushing to test your .gitlab-ci.yml? With this tool, you can run those pipelines locally in your shell or Docker to make sure everything’s working right before sending it off to GitLab to be processed.
Discuss on Changelog News
In a post about overestimating our short-term ability and underestimate our long-term ability, Paavan drops this nugget:
It’s important to recognise the value of quantity over quality. This is best illustrated by an anecdote that I first heard from Kevin Cannon at PUSH Conference: a potter who spends time making 100 vases will end up with one that’s better quality than if they spent the same amount of time trying to just make 1 perfect vase. So, while quality is obviously important, focussing on quantity at the start of a creative journey is the way to get there.
I’ve never heard that anecdote before, but I absolutely love the truth it so clearly represents.
Discuss on Changelog News
As Amos Wenger says in the opener to this 37 minute read:
Some bugs are merely fun. Others are simply delicious! Today’s pick is the latter.
It’ll take a deep dive into UTF-8 and UTF-16 to get to the bottom of this delicious bug. 🥺
Discuss on Changelog News
Great for generating code snippets, shell commands, documentation & more.
Discuss on Changelog News
Lucas F. Costa:
In this blog post, I’ll elucidate why backlogs exist and why they never shrink. Then, I’ll expound on why they’re useless and harmful. Finally, I’ll demonstrate how one can work without a backlog and explain why it’s much more productive to do so.
I agree whole heartedly with his “why they never shrink” logic, but I’m not willing to say that makes them “useless and harmful.” I’m not sure Lucas even believes that, since his advice of what to do instead at the end of the post boils down to “keep a short backlog.”
Still, I enjoy Lucas’s thought process and you might too. Recommended reading.
Discuss on Changelog News
Aiming for one ‘big bang’ release is asking for trouble. Continuous improvement is a better route to creating great digital products. In this post, we take you on a thought experiment to prove this out.
Discuss on Changelog News
Jay Mody:
My goal with this post is to provide a simple and hackable yet complete technical introduction to the GPT as an educational tool. As such, we ONLY implement the forward pass code, using already trained model weights.
Discuss on Changelog News
Like it or not, Facebook’s engineering decisions have steered the developer world in various directions over the years, especially on iOS. InfoQ’s Sergio De Simone does a solid job summarizing the last ten years of that history for all of us to learn from.
Discuss on Changelog News
An open-source knowledge-based community software. You can use it quickly to build Q&A community for your products, customers, teams, and more.
It looks like a lot of work has been put into this, with more cool stuff coming (integrations, gamification).
Discuss on Changelog News
StackQL allows you to create, modify and query the state of services and resources across all three major public cloud providers (Google, AWS and Azure) using a common, widely known DSL…SQL.
I have to admit, it does look pretty darn simple:
SELECT * FROM google.compute.instances WHERE zone = 'australia-southeast1-b' AND project = 'my-project';
Discuss on Changelog News
Designers often complain about the quality of feedback they get from senior stakeholders without realizing it’s usually because of the way they initially have framed the request. In this article, Andy Budd shares a better way of requesting feedback: rather than sharing a linear case study that explains every design revision, the first thing to do would be to better frame the problem.
Discuss on Changelog News
This short piece by Jim Nielsen resonated with me (much like Manu’s post resonated with Jim). He says:
I like this idea of beginning to notice and bring attention to people or creative works that intentionally bring closure, even when you’re left wanting a little more.
When it comes to open source software, people often see a lack of activity and proclaim that a project is unmaintained. Sometimes that’s true, but sometimes the project is merely finished, and that’s okay. In fact, it’s better than okay. It’s downright successful.
There’s a big difference between quitting and finishing. Quitting is in the realm of failure, but finishing is in the realm of success. The key is to define what finished means before you get there, lest you feel like you’re merely quitting.
The art of knowing when to quit? Sure. But how about the art of knowing how to finish?
Discuss on Changelog News
For many hackers, programmers, and computer scientists, having an understanding of graph theory is immensely helpful. But what about those who do not have this background?
This blog posts adapts Scott Young’s Ultralearning approach and applies it to learning graph theory for those who many not have a formal training in maths!
Discuss on Changelog News
Creator Tyler Deitz says:
StreetPass is a browser extension that helps you find your people on Mastodon. It piggybacks off the way Mastodon handles decentralized identity verification and turns it into a simply discovery tool that recommends users based on the websites you visit! Available for Chrome and Firefox (soon Safari).
Discovery is one of the more challenging facets of federated social networking. It gets even more challenging now that Twitter’s API is getting paywall’d, so most of the free tools to port your Twitter social graph over to Mastodon will quit working. I expect more tools like StreetPass to pop up in the coming days as the Fediverse seems to be capturing that hacker spirit Twitter once embraced.
Discuss on Changelog News
What’s old is new cool again. Here’s Andy Jiang, writing on Deno’s blog:
In the past 10 years, the median size for a desktop webpage has gone from 468 KB to 2284 KB, a 388.3% increase. For mobile, this jump is even more staggering — 145 KB to 2010 KB — a whopping 1288.1% increase.
That’s a lot of weight to ship over a network, especially for mobile. As a result, users experience terrible UX, slow loading times, and a lack of interactivity until everything is rendered. But all that code is necessary to make our sites work the way we want.
This is the problem with being a frontend dev today. What started out fun for frontend developers, building shit-hot sites with all the bells and whistles, has kinda turned into not fun. We’re now fighting different browsers to support, slow networks to ship code over, and intermittent, mobile connections. Supporting all these permutations is a giant headache.
How do we square this circle? By heading back to the server (Swiss basement not required).
He goes on to talk about isomorphic JavaScript frameworks and Deno’s offerings in this space. But hey, you don’t need all that fancy stuff to do SSR. All you need is a programming language that can render HTML (this is almost all languages) and a server…
Discuss on Changelog News
Filippo Valsorda:
Last May I left my job on the Go team at Google to experiment with more sustainable paths for open-source maintainers. I held on to my various maintainer hats (Go cryptography, transparency tooling, age, mkcert, yubikey-agent…), iterated on the model since September, and I’m happy to report that I am now a full-time independent open-source maintainer.
People like Filippo are still (unfortunately) the exception, not the rule. BUT! I’ll celebrate every time an open source maintainer makes it to the promised land, hopefully paving the way for others to follow after.
I’m sharing details about my progress to hopefully popularize the model, and eventually help other maintainers adopt it, although I’m not quite ready to recommend anyone else drop everything to try this just yet.
Discuss on Changelog News
Learning Kubernetes can seem overwhelming. It’s a complex container orchestration system, that has a steep learning curve. But with the right roadmap and understanding of the foundational concepts, it’s something that any developer or ops person can learn.
In this Kubernetes learning roadmap, I have added prerequisites and complete Kubernetes learning path covering basic to advanced Kubernetes concepts.
Discuss on Changelog News
GraphGPT converts unstructured natural language into a knowledge graph. Pass in the synopsis of your favorite movie, a passage from a confusing Wikipedia page, or transcript from a video to generate a graph visualization of entities and their relationships.
Discuss on Changelog News
While playing with the SQLite vs Filesystem benchmark, I became intrigued by how the cache between the two approaches behaved. That led me to discover a super exciting tool called vmtouch, which allows you to interact with the Operating System page cache and do some performance debugging.
Discuss on Changelog News
Richard MacManus from The New Stack spoke with Netlify CEO Matt Biilmann about the deal and their new catchphrase: “composable architectures”
Biilmann described it as a “change away from monolithic solutions,” citing a couple of examples: Adobe Experience Manager “as the DXP [digital experience platform] system for all your web productions” and Drupal “as the core engine that both powers the backend and the frontend of your site, the business logic and the UI layer, and so on.” He argues that these types of “monolithic” solutions can “start to feel very legacy and very dated.”
I’m not sure if “composable architectures” will stick, but they sure did a good job of making “jamstack” a thing, so time will tell on that.
Discuss on Changelog News
This Python-based tool scans through your git log and generates a heat map like the one below from the cpython repo, which highlights the files that Guido van Rossum changed the most.
Discuss on Changelog News
Greg Schier from Railway:
The theory goes that if you ship code on Friday you’ll inevitably be working Saturday to fix what you broke. This makes logical sense; software is messy and mistakes are unavoidable.
But no, shipping code on Friday isn’t bad. At least, it doesn’t have to be.
The key to their success is confidence, which comes from having a solid deployment pipeline and shipping through it often. Gerhard Lazu hit that nail on the head in this short clip as well.
Discuss on Changelog News
Bryan Braun reflects on years of pairing:
I’ve pair-programmed in a lot of different situations. I’ve been the junior developer who needed to be unblocked. I’ve been the new team member, being onboarded to a new codebase. I’ve paired with peers for knowledge-sharing and productivity. And I’ve been the senior dev.
He goes on to say that it’s easy to put a pairing session on rails to avoid embarrassment, but:
When I think back, my favorite pair-programming sessions were the one where things went wrong. These were the moments that taught me what being a programmer is all about. What do you do when you don’t know what to do? How do you break down a new problem? What tools do you reach for? When do you abandon your current approach? These are things you can’t learn from a blog post.
Discuss on Changelog News
Robin Linacre:
SQL should be the first option considered for new data engineering work. It’s robust, fast, future-proof and testable. With a bit of care, it’s clear and readable. A new SQL engine - DuckDB - makes SQL competitive with other high performance dataframe libraries, making SQL a good candidate for data of all sizes.
You can make a similar argument for SQL that Gary Bernhardt made for Vim. Here’s Gary on Vim, run your own s/Vim/SQL/g filter on this as you read it:
…just for me, 15 years; at the beginning of that time, TextMate was just becoming popular. Then it was Sublime Text was cool. Then Atom was cool. Then VS Code was cool. A lot of people switched between two of those, three of those, maybe all four of those, and that whole time I was just getting better and better and better at Vim… And you multiply that out by the length of a career, you use Vim for 40 years - you’re gonna be so good at it by the end, and it’s still gonna be totally relevant, I think.
Discuss on Changelog News
We linked to Fathy a few months back when he forked Chrome to turn HTML into SVG, but this time he’s really outdone himself by making it render to the terminal. What resulted is the Carbonyl web browser.
Discuss on Changelog News
An opinionated rant to accompany your Monday morning coffee:
When you work with a format as complex as yaml, it is difficult to be aware of all the features and subtle behaviors it has. There is an entire website dedicated to picking one of the 63 different multi-line string syntaxes. This means that it can be very difficult for a human to predict how a particular document will parse. Let’s look an example to highlight this…
Discuss on Changelog News
Manage your resume as structured data, in a modular fashion, within the comfort of your code editor, rendered your way and out of word processors. Here’s a quick 3 minute demo.
Discuss on Changelog News
I love a good “I built a thing and here is how I built that thing” post, especially when it’s penned by someone like Chris who’s sure to keep you entertained along the way.
Wouldn’t it be neat to have aggregated data (for a website, daily email, push alert, etc) of kids events in our surrounding area so we know about them right away?
— My wife, possibly salty we missed out on Bluey Live tickets in Portland
Discuss on Changelog News
Chip Huyen:
When we actively hire, our startup gets 150 - 200 applications each month. I read every single one of them. Sometimes, I’d talk to a candidate and see that what we perceived as their strongest aspects actually weren’t included in their resume. Occasionally, a candidate would tell me that they didn’t expect their resume to still be screened by humans – had they known, they would have written their resume differently.
The resume evaluation process is pretty much a black box for most candidates. And it is so because few hiring managers have publicly discussed this. I thought I should start the conversation.
Chip’s team mostly hires for infra and ML roles, so some of the advice here will be catered towards those positions. Still, if you’re on the job market you’d be well-served by spending 15-20 minutes reading this post and tweaking your resume where applicable.
Discuss on Changelog News
This post introduces the concept of durable execution, which is used by Stripe, Netflix, Coinbase, Snap, and many others to solve a wide range of problems in distributed systems. Then it shows how simple it is to write durable code in Node.
Discuss on Changelog News
I’m currently working at a top tier investment bank as a software engineer. I’m an insignificant cog in a machine that skims the cream from the milk. I’m earning the most money I’ve ever made and yet I’m the least fulfilled I’ve ever been.
Right now in the UK and across the world, things are uncertain. Companies are laying workers off, there’s a cost of living and energy crisis. I’m excruciatingly lucky to have been in the right place at the right time to develop the skillset I’ve got. In times like these every signal is telling me to stay on the path I’m on, enjoying the comfort and safety of a high paying job.
I’m not going to listen. I’m quitting and I’m leaving this place. I’ll see you in the mountains.
After this post blew up, Seán wrote a follow-up on what quitting the rat race means to him.
Discuss on Changelog News
Run displayplacer list to print your current layout’s args so you can create profiles for scripting/hotkeys with Automator, BetterTouchTool, etc.
Discuss on Changelog News
The creators of this new Nix resource thought the existing Nix docs were a bit difficult to navigate for beginners and believe flakes are the future of Nix and wanted to introduce more people to them early in the learning process.
Discuss on Changelog News
Yup, that Neon. Congrats to Nikita and team for this big win.
Databases and web apps go together like peanut butter and jelly. In a word, they’re inseparable. And despite all the amazing innovations in NoSQL data stores, often a good old relational database is the most reliable tool for the job.
We want to make it completely seamless to develop applications that need databases on Replit. Starting today, you can create and instantly begin to use PostgreSQL databases from within the Replit workspace.
The fine print.
Under the hood, this product is powered by our friends at Neon who have created a lightning-fast serverless database. The database will go to sleep after 5 minutes of inactivity. Most clients should handle the reconnection seamlessly.
Discuss on Changelog News
Ruby on Jets allows you to create and deploy serverless services with ease, and to seamlessly glue AWS services together with the most beautiful dynamic language: Ruby. It includes everything you need to build an API and deploy it to AWS Lambda. Jets leverages the power of Ruby to make serverless joyful for everyone.
I’m not (yet) big on serverless things, but if I were, I’d love to run some Ruby code there.
Discuss on Changelog News
This is a Pythonic wrapper around stable diffusion with image editing by InstructPix2Pix. The four images featured below (top) are generated by the following command:
imagine "a scenic landscape" "a photo of a dog" "photo of a fruit bowl" "portrait photo of a freckled woman"
Then they are edited (bottom) with the following commands:
```
aimg edit scenic_landscape.jpg "make it winter" --prompt-strength 20>> aimg edit dog.jpg "make the dog red" --prompt-strength 5>> aimg edit bowl_of_fruit.jpg "replace the fruit with strawberries">> aimg edit freckled_woman.jpg "make her a cyborg" --prompt-strength 13 ``` Discuss on Changelog News
This was written over a year ago, but since it took Justin Etheredge 20 years to acquire these 20 pithy (his word) pieces of wisdom, I don’t think it’ll be going stale anytime soon. My three favs, as a sampler:
Discuss on Changelog News
This project is from the SQLite team themselves. Their reasoning for it:
SQLite is sometimes used as the core of a client/server database system. While it works reliably well in such cases, the database backend module that it uses to store b-tree structures in its database file was not designed with this case in mind and can be improved upon in several ways. The HC-tree (hctree) project is an attempt to develop a new database backend that improves upon regular SQLite as follows…
It improves concurrency, adds support for replication & removes database size limitations.
Discuss on Changelog News
Jeremia Kimelman:
Datasette is an open source tool that takes an SQLite database and gives you an out-of-the-box, web-based UI built specifically for exploring data. Need an example? Here’s a database of all of Motley Fool’s earning transcripts that I used to look for talk of their California campaign activity. And here’s a bunch of other examples of Datasette from the official site.
And the thing is: I love Datasette. It recently turned 5 years old and I wanted to write down the thing that makes it an absolutely delightful data hammer.
Discuss on Changelog News
In this post, I will show you some advanced usage patterns for working with Playwright in order to take a screenshot of a specific element and modify the contents of the image, either before taking the screenshot or after, using image preprocessing tools.
Discuss on Changelog News
Large language models (LLMs) are emerging as a transformative technology, enabling developers to build applications that they previously could not. But using these LLMs in isolation is often not enough to create a truly powerful app - the real power comes when you can combine them with other sources of computation or knowledge.
This library is aimed at assisting in the development of those types of applications.
LangChain is designed to help with prompts, chains (sequences of calls), data augmented generation, agents, memory & evaluation tasks.
Discuss on Changelog News
Evil Martians work on dozens of Ruby on Rails projects every year. Naturally, this involves a lot of Ruby gems. So what would it look like if they were somehow able to converge into one Gemfile—the ideal Martian Gemfile? Our development philosophies, programming habits, and soul are within this universe of Martian gems.
Discuss on Changelog News
Tyler Cipriani read “‘Did you miss my comments or what?’ Understanding Toxicity in Open Source Discussions,” and learned about entitlement:
The term is new (to me), but the paper renders a familiar scene, “The author is usually visibly upset about not being able to use the tool, often complaining about wasted time.”
The situation is all-too-common and exhausting. And when it happens over-and-over, maintainers give up.
It made me wonder: why have I never seen “entitlement” in a code of conduct?
Good question…
Discuss on Changelog News
Alex Ewerlöf and his team implemented “Tech Debt Friday”
Engineers looked forward to the Tech Debt Friday. The team would happily remind management that this day cannot (under any circumstances) be planned for regular feature/bugfix work. Although we fixed some bugs along the way, this was primarily an investment to make future feature development cheaper while improving the maintainability and reliability.
Initially it was hard to defend spending 10% of the team bandwidth on tech debt, but over time the payback was huge
He goes on to list eight things that happened as result of this policy. Good stuff.
Discuss on Changelog News
Medium CEO, Tony Stubblebine:
Today, Medium is launching a Mastodon instance at me.dm to help our authors, publications and readers find a home in the fediverse. Mastodon is an emerging force for good in social media and we are excited to join this community.
This strikes me as smart for Medium and a big vote of confidence for Mastodon and the entire concept of federated social networking. With Tumblr support (allegedly) coming as well, what’s next? Reddit?!
Discuss on Changelog News
If you are the technical co-founder or early engineering lead at a startup, and you want to talk about your microservices, hand-rolled CI/CD, in-house monitoring stack, or any other unique part of your stack, I will say: Cool. Let’s riff. Take me deep, I’m ready.
But there’s something I’m likely to tell you in return, something I’ll probably insist you’re overlooking and need to internalize as soon as possible: Your technology stack is not the product.
It’s easy to get too focused on our tech and tools. Sometimes we think it’s our competitive advantage, other times it’s merely personal fascination and intellectual stimulation. This post is a good reminder:
A mindset of technology being the means, not the end, is uncomfortable. But it will help you stay focused on what matters most (the product and your customers), avoid wasteful misadventures, and maximize the company’s chance of success.
Discuss on Changelog News
I have (re)written my password generator in Rust with support for many different patterns. From completely random ASCII, to memorable diceware-like passphrases, and anything in between, plus extras such as private IP addresses or MACs.
I’ve also classified these patterns for easy accessing, and based on the pattern entropy I provide guesstimates about the effort for a brute force attack.
Discuss on Changelog News
Scott Antipa:
I’m working on a flowchart editor that runs in the browser, and I wanted a way for people to use it without having to sign in, or store any data on our server. I wanted to give them control over their data and to be able to store it locally to open and edit later. And also easily share it with other people. It’s easy to do this by supporting file upload/download, but I wanted something simpler, like the ability to share by sending a url. I also didn’t want to store anything on the backend (at least for the free tier).
What he decided on was to base64 encode the entire application state and store it in the fragment section of the URL. I love all the upsides of this approach and it’s pretty trivial to accomplish. Here’s the pseudocode that Scott provides in his post:
const stateString = JSON.stringify(appState); // appState is a json objectconst compressed = compress(stateString);const encoded = Base64.encode(compressed);// Push that `encoded` string to the url// ... Later, on page load or on undo/redo we read the url and// do the followingconst decoded = Base64.decode(encoded); // same encoded as above, but read from urlconst uncompressed = uncompress(decoded);const newState = JSON.parse(uncompressed);// Now load your application with the newState
Discuss on Changelog News
Measuring a manager’s impact is hard since outcomes take time. The manager takes full responsibility for the team - be it stagnation, execution woes, poor collaboration, churn, or a lack of focus. This post provides early evaluation metrics as well as tips for course correction.
Discuss on Changelog News
Cedric Chin, writing about the famous adage that says “when a measure becomes a target, it ceases to be a good measure.”
At some level, this is self-evident. Goodhart’s Law is about as pithy and about as practicable as “the only certainty in life is death and taxes” and “hell is other people.” It is descriptive; it tells you of the existence of a phenomenon, but it doesn’t tell you what to do about it or how to solve it.
There are more useful formulations of the law that help solve it. Some organizations use this narrower, more actionable form:
When people are pressured to meet a target value there are three ways they can proceed:
- They can work to improve the system
- They can distort the system
- Or they can distort the data
With that framing in hand, Cedric goes on to describe how you can solve for these three ways and design incentive/measurement systems that work.
Discuss on Changelog News
This is an incredibly detailed and fun story producing a system architecture that includes Postgres, Elasticsearch & an OCR service running on a cluster of iPhones.
How much effort will one man put in to help himself and others find that meme!
Discuss on Changelog News
A long-standing debate between me and a peer at work has been how we should name services. His position was always that services should be named something descriptive, so that you can infer from the name what it does. My position is that the name should definitely not be descriptive, but should be something cute and wholly disconnected from the purpose. And I think this applies more broadly to projects and companies, too.
Nicholas’ reason for cute names winning comes down to the inevitably of change in a service/project’s function and the difficulty in renaming things. I hadn’t thought of that argument, but I already agreed with the premise.
We also apply this thinking to podcast episode names, which can be a mixed bag because descriptive titles certainly help when it comes to discovery. As Adam and I discussed on our recent State of the “log” episode, if you see use a descriptive title, it’s most likely because we couldn’t think of a good cute/interesting one.
But that’s just our opinion about episode naming. What do you prefer?
Discuss on Changelog News
Apropos of nothing, you may be considering starting a new AI-related project. The OpenAI folks inferred this fact and created a repo full of example code and prompts to get started with their API.
Discuss on Changelog News
Thomas Depierre, writing about the concept of the Software Supply Chain in the context of open source development:
We are not suppliers. All the people writing and maintaining these projects, we are not suppliers. We do not have a business relationship with all these organisations. We are volunteers, writing code and putting it online under these Licences. And yes, we put it online for people to use them. But we do not get anything from it.
He goes on to discuss how, importantly, licenses such as the MIT point this out (in all caps):
If you use this, I owe you nothing. At all. We have no relationship. I put this up online on the condition that if you use it, all the risks are on you… So all your Software Supply Chain ideas? You are not buying from a supplier, you are a raccoon digging through dumpsters for free code. So I would advise you to put these rules in the same dumpster. And remember. I am not a supplier.
That raccoon line reminds me of a now-ancient meme you might still enjoy…
Discuss on Changelog News
This is a must-read thriller!
Costs were dropping by 90% as promised. He was paid 50K$. Then he disappeared. Completely.
The happy IT director wanted to give more assignments to this genius. But he vanished. Didn’t answer emails, voicemail on the phone number closed LinkedIn account. Gone.
The truth, sometimes, is stranger than fiction…
Discuss on Changelog News
This escalated quickly. I don’t know about you, but I’m a daily user of ChatGPT. Just yesterday, I asked “What options does Linux offer for fast RAID 0 software RAID?” and I had an entire conversation that settled on Btrfs as a good option and I learning how to create and configure the array, mount it, and most importantly scrub it for errors. I’ve never had that experience using Google (nor can you).
…according to a report by Semafor, Microsoft Corp is discussing the possibility of acquiring OpenAI, the parent company of ChatGPT. The tech-industry giant is ready to pay upwards of $10 billion for the acquisition.
Clearly, Microsoft sees the bigger picture here for Bing, Microsoft 365, GitHub Copilot, and more. This also speaks to the conversation we had with Swyx about AI’s future being tied to capitalism and eventually being controlled but the FAANGs.
Discuss on Changelog News
Tim McNamara makes an important distinction that is often lost on us:
Agile doesn’t make your team magically speed up its ability to close tickets. Instead, it speeds up the team’s decision-making process. It’s about orientation, not velocity. An agile workflow is one where you are able to quickly adjust direction based on short feedback cycles.
Mat, Natalie & I touched on this when they dragged me on to Go Time last summer to share some thoughts on velocity. Worth a (re)listen if you’re in to such things.
Discuss on Changelog News
Shahed Nasser shares how she and the technical writing team at Medusa went about improving their docs:
The most essential change that helped us implement all improvements is how we manage the documentation. In most software companies, documentation has less of a priority compared to the software, and it is handled as an afterthought.
At Medusa, we early on came to realize that documentation is what can actually drive further adoption of Medusa.
There’s a lot to learn from their process that you can apply to your own, but I think the biggest winner Shahed shares is the mindset change of thinking about documentation itself as a product, not as something that augments or attaches to the product.
Discuss on Changelog News
Sometimes all a project needs is the ability to read/write small amounts of JSON data and have it saved in some persistent storage. Imagine a simple data-model which receives infrequent updates and could be represented as JSON object. It doesn’t demand a full-blown database, but it would be neat to have a way to interact with this data and have it persist across sessions.
This is where gist-database comes in handy, by leveraging the power of the gist api you can easily create a key/value data-store for your project.
This is a perfect solution for low write / high read scenarios when serving static site content with Next.js and using Incremental Static Regeneration to keep your cached content fresh.
Discuss on Changelog News
Kate Rose Morley:
A tree view (collapsible list) can be created using only html and css, without the need for JavaScript. Accessibility software will see the tree view as lists nested inside disclosure widgets, and the standard keyboard interaction is supported automatically.
TIL!
Discuss on Changelog News
The headline is the nut of this story, but here’s CircleCI CTO Rob Zuber with the announcement:
We wanted to make you aware that we are currently investigating a security incident, and that our investigation is ongoing. We will provide you updates about this incident, and our response, as they become available. At this point, we are confident that there are no unauthorized actors active in our systems; however, out of an abundance of caution, we want to ensure that all customers take certain preventative measures to protect your data as well.
Discuss on Changelog News
A solid rundown of the discrepency between what we hope from microservices and what we often get instead. TLDR:
Architecture is hard sometimes–people keep offering up some new idea that quickly becomes the mainstream “way to do it” without any context or nuance, and the industry, desperate to find ways to improve their architecture, snaps it up without hesitation. Microservices was the latest in the trend, and it’s time we dissected the idea and got to the real root of what’s going on.
Discuss on Changelog News
This thing scans all 65k ports in 3 seconds, is scriptable with Python, Lua & Shell, “learns” based on your usage, and automatically pipes ports into Nmap.
Discuss on Changelog News
We don’t normally include how-tos in Changelog News, but I’m making an exception for this post because a) it goes deep on how Docker works on macOS, and b) this is a problem that plagues so many of us that I thought it worth pointing to a solution.
There’s also a nice bit about Development Containers at the end, which are quite promising, indeed.
Discuss on Changelog News
Very cool! Here’s the code for plotting a simple sin curve:
import { Mafs, CartesianCoordinates, FunctionGraph } from "mafs"function HelloFx() { return ( <Mafs> <CartesianCoordinates subdivisions={4} /> <FunctionGraph.OfX y={(x) => Math.sin(x)} /> </Mafs> )}
Discuss on Changelog News
Guillem Ballesteros:
I have reached Vim nirvana with my latest setup. I can finally bring all the advantages of working within Jupyter to my favorite text editor. You get the code cells and interactive development with a fine-tuned editor and plain text files which can be put through linters and code formatters.
He goes on to share the plugins and config that make the nirvana happen.
Discuss on Changelog News
If you’re better with words than you are with shapes, this git guide by Zach Musgrave may help you get out of the “I memorized N git commands but I have no idea how any of this works” phase.
Here’s how Zach describes it:
The git commit graph and its relationship to common git workflows explained using simple English and easy to understand diagrams. Also some jokes.
Discuss on Changelog News
You’ve probably done the whole deleted_at thing to mark records as deleted without actually deleting them from the database. That strategy is fraught for a few reasons.
In this post, Brandur Leach proposes an alternative strategy with the following endorsement:
Speaking from 30,000 feet, programming is all about tradeoffs. However, this is one of those rare places where as far as I can tell the cost/benefit skew is so disproportionate that the common platitude falls flat.
Anytime your fellow developer can make that statement in earnest, whatever they’re talking about is worth a try…
Discuss on Changelog News
On Wednesday, Stability AI announced it would allow artists to remove their work from the training dataset for an upcoming Stable Diffusion 3.0 release. The move comes as an artist advocacy group called Spawning tweeted that Stability AI would honor opt-out requests collected on its Have I Been Trained website. The details of how the plan will be implemented remain incomplete and unclear, however.
This seems like a step in the right direction, but it appears that artists will have to proactively register and manually flag matched images in the database. Ain’t nobody got time for that!
Discuss on Changelog News
Python’s magic methods - also known as dunder (double underscore) methods - can be used to implement a lot of cool things. Most of the time we use them for simple stuff, such as constructors (__init__), string representation (__str__, __repr__) or arithmetic operators (__add__/__mul__). There are however many more magic methods which you probably haven’t heard about and in this article we will explore all of them (even the hidden and undocumented).
Discuss on Changelog News
If you operate an SSH server that receives connections from the public, you owe it to yourself to read this list of things you can do to lock that sucker down.
Discuss on Changelog News
sqlite-loadable-rs is a new framework for writing fast, performant, and mostly-safe SQLite extensions in Rust. These extensions are nearly as fast those written in C, with the added benefit of Rust’s memory safety features, easy access to thousands of 3rd party crates and packages on crates.io, all while maintaining a splendid developer experience.
Discuss on Changelog News
Congrats to the entire Svelte team (and contributors) for this release, which culminates two years of effort:
We’re so excited to share this release with you. It’s the culmination of thousands of hours of work, both from the Svelte core team and the wider community, and we think it’s the most enjoyable way to build production-grade websites, whether you’re a solo developer working on a small project or part of a large team.
Discuss on Changelog News
Tony Parker writing on Swift’s blog:
When Swift began life as an open source project, we wanted to open not just the language itself, but the ecosystem around it. Foundation has been instrumental in the success of decades of software and has been an integral part of the Swift developer experience from the beginning, and we knew it had to be included in the open source offering.
Historically, Apple’s open source efforts have varied in just how open they are when it comes to community. On that topic, this is an uplifting bit of prose:
Open source projects are at their best when the community of users can participate and become a community of developers. A new, open contribution process will be available to enable all developers to contribute new API to Foundation.
This new Foundation project is slated to launch on GitHub in 2023.
Discuss on Changelog News
Jacob O’Bryant’s “Grand Vision For How Social Media Ought To Be”:
there should be a bunch of different:
- publishing services, like Substack and Ghost
- reading apps, like Gmail and Matter
- community platforms, like Slack and Discord
and we should look for ways to make these reading, publishing, and community services all play nicely together. I’m calling this model “the unbundled web,” and I think RSS should be the primary method of interop.
Where do I sign up? 😉
Discuss on Changelog News
Setting up Rails for the first time with all the dependencies necessary can be daunting for beginners. Docked Rails attempts to flatten the onboarding curve by only requiring a working Docker installation in order to get started making a new Rails application, working with that application during development, and running a basic server. All based on pre-configured commands and dependencies living in a Docker image.
Getting started is as easy as:
docker volume create ruby-bundle-cachealias rails='docker run --rm -it -v ${PWD}:/rails -v ruby-bundle-cache:/bundle dhh37/rails'alias rails-server='docker run --rm -it -v ${PWD}:/rails -v ruby-bundle-cache:/bundle -p 3000:3000 dhh37/rails server -b 0.0.0.0'
Discuss on Changelog News
After 5+ years working for GitLab, Brendan O’Leary is moving on to his next adventure.
I’m so proud of what we built—and I’m still proud and awed by the remarkable people there. GitLab’s values are the gold standard for what it means to be a wonderful company—for the team-members, for the community, and for the shareholders.
He took a moment to write down a few things he learned while there. The bullet points follow, but you’ll have to visit his blog for all the details:
Discuss on Changelog News
Nick Cameron works on Rust at Microsoft. He shared these desires for Rust in 2023.
The core team used to call for blog posts to help plan the next year. The core team has pretty much disappeared and certainly hasn’t called for blog posts, but I’m going to write one anyway because I have opinions and I want you to hear them. Sorry. I think you should write such a post too!
Discuss on Changelog News
I thouroughly enjoyed reading this. It’s interesting to think about the evolution of transport storage. To this day, the USB thumb drive has proved to be the long-term winner and something I personally use very often. Wanna install Debian or do a clean install of macOS? You’ll likely do it by creating a bootable USB thumb drive.
Before the invention of the thumb drive, computer users stored and transported their files using floppy disks. Developed by IBM in the 1960s, first 8-inch and later 5 ¼-inch and 3 ½-inch floppy disks replaced cassette tapes as the most practical portable storage media. Floppy disks were limited by their relatively small storage capacity—even double-sided, double-density disks could store only 1.44 MB of data. During the 1990s, as the size of files and software increased…
Would you be surprised to learn that the supposed inventor of the thumb drive is in jail right now in Singapore? But why?
Discuss on Changelog News
SQLite has few functions compared to other database management systems. SQLite authors see this as a feature rather than a problem, because SQLite has an extension mechanism in place.
There are a lot of SQLite extensions out there, but they are incomplete, inconsistent and scattered across the internet.
sqleanbrings them together, neatly packaged into domain modules, documented, tested, and built for Linux, Windows and macOS.
Think of it like an extended standard library for SQLite.
Discuss on Changelog News
Stephan Schmidt warns: “We have invited complexity through the door. But it will not leave as easily.”
One way to simplify your stack and reduce the moving parts, speed up development, lower the risk and deliver more features in your startup is “Use Postgres for everything”. Postgres can replace - up to millions of users - many backend technologies, Kafka, RabbitMQ, Mongo and Redis among them.
He then goes on to list nine things you can use Postgres for that replace more specific solutions: fulltext search, geospatial queries, etc.
Discuss on Changelog News
Phlex views are “plain old Ruby objects” — templates are methods and HTML tags are method calls. If you know how to define a class with a method that calls another method, you know how to use Phlex.
When it comes to API usability, Ruby is so tough to beat. This looks actually fun to use!
class Nav < Phlex::HTML def template nav(class: "main-nav") { ul { li { a(href: "/") { "Home" } } li { a(href: "/about") { "About" } } li { a(href: "/contact") { "Contact" } } } } endend
Discuss on Changelog News
How will large language models (LLMs) change the world?
No one knows. With such uncertainty, a good exercise is to look for historical analogies—to think about other technologies and ask what would happen if LLMs played out the same way.
I like to keep things concrete, so I’ll discuss the impact of LLMs on writing. But most of this would also apply to the impact of LLMs on other fields, as well as other AI technologies like AI art/music/video/code.
What follows are 13 examples of technological innovations that changed the world and description of how they affected they way people work. Here’s an example analogy of Feet and Segways:
First, there was walking. Then the Segway came to CHANGE THE NATURE OF HUMAN TRANSPORT. Twenty years later, there is still walking, plus occasionally low-key alternatives like electric scooters.
In this analogy, LLMs work fine but just aren’t worth the trouble in most cases and society doesn’t evolve to integrate them. Domain-specific LLMs are used for some applications, but we start to associate “general” LLMs with tourists and mall cops. George W. Bush falls off an LLM on vacation and everyone loses their minds.
Discuss on Changelog News
José Valim announces Bumblebee and walks you through how to run ML modules in Livebook with just three clicks. Finally, he shows you how to embed a model into a Phoenix app. So cool!
Discuss on Changelog News
Julia Evans is working on a new zine about debugging, so she took to Mastodon to ask for tips and compiled a list of the best ones (with explainers). Here’s a short list of some tips covered:
Discuss on Changelog News
A series of 8 free data puzzles to be released daily starting on December 18th. Created by Saul Pwanson (author of VisiData) as an analogue to the popular Advent of Code, but for data nerds who want to find answers in a dataset, rather than hack on algorithms.
Discuss on Changelog News
OpenAI recently released a model for automatic speech recognition called Whisper. I decided to reimplement the inference of the model from scratch using C/C++. To achieve this I implemented a minimalistic tensor library in C and ported the high-level architecture of the model in C++. The entire code is less than 8000 lines of code and is contained in just 2 source files without any third-party dependencies.
State of the art voice recognition without any PyTorch baggage and it’s optimized to run on Apple Silicon!
Discuss on Changelog News
Andrea Leopardi likens database migrations to git commits and wonders why we don’t leave them in the past and load an up-to-date SQL file instead. He also shares his approach to this in Elixir.
Discuss on Changelog News
Wait-for-secrets GitHub Action waits for the developer to enter secrets during a workflow run. Developers can enter secrets using a web browser and use them in the workflow.
This seems like a good enough solution to yet another battle between security and usability.
Discuss on Changelog News
I had the honor of joining the fine folks at Elixir SF awhile back to talk all about how we’ve been podcasting on Elixir for a long time now. Tune in if you’re curious about such things and/or if you’d like to take a stroll down memory lane as I show old versions of our album art and play our intro music along the way.
The preso is average, but the Q&A near the end is above average, if you ask me. OH! And also we got Zoom bombed twice, which was a first for me. Thankfully, it was also a last. So far, at least…
Discuss on Changelog News
Simon Willison is using this year’s Advent of Code as an opportunity to learn Rust.
He’s using Copilot to help him with syntax/snippets via comment-driven prompting. He’s using ChatGPT as a study partner by asking it questions about how to do things in Rust. Is it working?
So far I think this is working really well.
I feel like I’m beginning to get a good mental model of how Rust works, and a lot of the basic syntax is beginning to embed itself into my muscle memory.
The real test is going to be if I can first make it to day 25 (with no prior Advent of Code experience I don’t know how much the increasing difficulty level will interfere with my learning) and then if I can actually write a useful Rust program after that without any assistance from these AI models.
And honestly, the other big benefit here is that this is simply a lot of fun. I’m finding interacting with AIs in this way—as an actual exercise, not just to try them out—is deeply satisfying and intellectually stimulating.
This might be an early glimpse into the future of AI-assisted learning…
Discuss on Changelog News
Spotify’s annual “Wrapped” campaign is so successful we’re starting to see it copy/pasted to various other social networks. This GitHub version is by a 3rd-party, though, so they have a lot of API limitations to work around. It’s a cool service, but be prepared to see “Incomplete Data. Please refresh later to finish loading.”
Discuss on Changelog News
Distributed, offline-first bug tracker embedded in git, with bridges
I love the idea of having your bug repo right there inside your code repo. The terminal UI is a nice touch!
Discuss on Changelog News
Loren describes the differences between gRPC and GraphQL and summarizes the strengths and weaknesses of each. They give a rule of thumb (GraphQL for client-server and gRPC for server-to-server) and note cases in which you might want to make exceptions to the rule.
Discuss on Changelog News
When choosing between pixels and rems in CSS, you should almost always use rems. It’s a simple rule to follow. This article explains why.
Discuss on Changelog News
This week we’re back at All Things Open 2022 covering the hallway track. Up first is Shivay Lamba and he’s schooling us on all things server-side WASM. It’s the new hotness. After that, we talk with Yishai Beeri, CTO of LinearB about the world of code review, PR queues, AI developers, and making human developers more efficient, and happier. And last, we talk with Guy Martin from NVIDIA about what’s going on in the Industrial Metaverse. He shares details about an open source project developed by Pixar called Universal Scene Description (USD) and what they’re doing with NVIDIA Omniverse.
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Part 1* WebSssembly * Bytecode Alliance * Cloud Native Computing Foundation on Slack
Part 2* LinearB
Part 3* Universal Scene Description * NVIDIA Omniverse
Something missing or broken? PRs welcome!
Thomas Steiner (Web Developer Advocate at Google) joins Amal & Nick to talk about Project Fugu – an effort to close gaps in the web’s capabilities enabling new classes of applications to run on the web.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
This looks like an interesting framework for everything error-related. The core handles the usual tasks (wrapping errors, creating classes, etc.) and plugins offer more advanced use cases (serialization, CLI errors, logging, etc.).
Discuss on Changelog News
This awesome list clocs in at ~1500 lines and has been maintained for six years now. It could use some help in the podcasts section, though…
Discuss on Changelog News
That is the question. Whether ’tis nobler in the mind to suffer the slings and arrows of outrageous test coverage, or to take arms against a sea of bugs…
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
In today’s episode, we have the pleasure of two guests: Whitney Lee, Staff Technical Advocate at VMware, the one behind the ⚡️ Enlightning episodes, and Mauricio Salatino, which you already know from 🎧 shipit.show/41 on Continuous Delivery for Kubernetes.
The two of them gave the most amazing KubeCon NA Keynote last month: What a RUSH! Let’s Deploy Straight to Production!
So how do we create an Internal Development Platform that enables anyone on the team to deploy straight to production with the confidence that everything will just work?
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Robert Laszczak does a good job defending/explaining many gophers’ position on frameworks:
Go frameworks exist, but none provides a feature set like frameworks from other languages. This won’t change soon.
You may think that it’s because the Go ecosystem is younger. But there is a more important factor. Go is built around the Unix Philosophy…
Discuss on Changelog News
Burnout has reportedly reached a critical point in the software developer circle since the onset of the Covid-19 health crisis. A recent study by Haystack Analytics, a company specializing in productivity of engineers, found that 83% of software developers suffer from burnout. The main reasons given by the latter to explain this exhaustion are high workload (47%), process inefficiency (31%) and lack of clarity of objectives and targets (29%).
That few?! 😏
Discuss on Changelog News
Jake Lazaroff spent the last few months learning Tailwind with an open mind and he’s ready to share his opinion of the popular CSS framework:
Tailwind is commonly described as “utility classes”, but that’s a bit of an understatement. It’s essentially a small language you write in the class attributes of your HTML that compiles to a combination of CSS rules and selectors — an abstraction over CSS. But all abstractions leak, and Tailwind is very leaky.
When an abstraction leaks, it means you still have to be aware of (and sometimes deeply so) the underlying layer that’s being abstracted. In this case, Jake is saying that you still need to know CSS to use Tailwind and lays out a few scenarios in which this is the case.
This might be unfair to Tailwind. To my knowledge, the team has never promoted it as a CSS replacement. At its core, it really is just a set of class names that apply styles. But even after working with it for months, there’s still a mental translation layer between “Tailwind CSS” and “real CSS”.
Discuss on Changelog News
There are some big AI-related controversies swirling, and it’s time we talk about them. A lawsuit has been filed against GitHub, Microsoft, and OpenAI related to Copilot code suggestions, and many people have been disturbed by the output of Meta AI’s Galactica model. Does Copilot violate open source licenses? Does Galactica output dangerous science-related content? In this episode, we dive into the controversies and risks, and we discuss the benefits of these technologies.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Related to Copilot:
Related to Galactica:
Something missing or broken? PRs welcome!
Ruby 3.1 adds a new core class called Data to represent simple immutable value objects. The Data class helps define simple classes for value-alike objects that can be extended with custom methods.
While the Data class is not meant to be used directly, it can be used as a base class for creating custom value objects. The Data class is similar to Struct, but the key difference being that it is immutable.
In its heyday, most Rubyists wouldn’t touch immutability with a ten-foot pole. Times, they are a changin’…
Discuss on Changelog News
Learning C was quite difficult for Tom M. Thankfully for us, along the way he collected summaries, signposts, and advice for these broader points that made his journey with C and other compiled languages easier. So, if you’re on a similar journey, this page will serve you well on your way.
Discuss on Changelog News
Heroku’s free plans officially reach EOL, Swyx explains the mixed reaction to Stable Diffusion 2.0, a real Twitter SRE explains how it continues to stay up even with ~80% gone, Tyler Cipriani tells us about one of Git’s coolest, most unloved features & we chat with Joel Lord about brewing beer with IoT & JavaSCript at All Things Open 2022.
Oh, and help make this year’s state of the “log” episode awesome by lending your voice!
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
If you’ve ever had to split a string into sentences, you may have reached for a naive regular expression:
``` 'Hello! How are you?'.split(/[.!?]/);
```
Instead of giving yourself two problems, Stefan Judis says maybe reach for Intl.Segmenter, which he shows is quite sophisticated and supported everywhere but Firefox.
Discuss on Changelog News
This week we’re back talking to Gergely Orosz — this time not quite about the insane tech hiring market, but more so the flip side, the 180, the not so good tech hiring market, the layoff market and what you can expect. There’s a lot of FUD out there, so hopefully this show gives you a lens into what’s really going on, and what to really expect. Maybe more so, how to keep your job or find a new job. We come to this topic with great compassion and great understanding, so please…there is a community here for you. There’s a lot of people in our Slack. Call it your home, it’s free to join and everyone is welcome.
Discuss on Changelog News
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Debbie O’Brien –Senior Program Manager at Microsoft– joins Amal & Nick for a deep-dive on Playwright, an automation library for cross-browser end-to-end testing. Along the way, we learn why Microsoft decided to fork Puppeteer, Playwright’s unique value proposition, cool features like auto-waiting & the trace viewer, how it compares to Cypress & a lot more.
Discuss on Changelog News
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Shout out to Caio Amaral for requesting this episode. You, too, can request an episode!
Something missing or broken? PRs welcome!
If you don’t have time to fill out the entire survey… at least skip down to the “Resources” ~> “Podcasts” section and help someone dethrone those rascals over at Syntax. I think it might be JS Party’s time, y’all…
Discuss on Changelog News
Matt Welsh:
I hesitated writing this post, because I don’t want to start, or get into, a holy war over programming languages. (Just to get the flame bait out of the way, Visual Basic is the best language ever!) But I’ve had a number of people ask me about my experience with Rust and whether they should pick up Rust for their projects. So, I’d like to share some of the pros and cons that I see of using Rust in a startup setting, where moving fast and scaling teams is really important.
The learning curve and hiring difficulties seem to be the major culprits, in Matt’s experience.
Discuss on Changelog News
Nishant Roy, Engineering Manager at Pinterest Ads, joins Johnny & Jon to detail how they’ve managed to continue shipping quality software from startup through hypergrowth all the way to IPO. Prepare to learn a lot about Pinterest’s integration and deployment pipeline, observability stack, Go-based services and more.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
A team without a proven observability strategy will invariably suffer from reactive disruptions; mitigating outages will be painful, like finding a needle in a haystack while blindfolded. This post describes a battle-proven strategy for ensuring full observability coverage.
Discuss on Changelog News
Why another file manager? I wanted something simple and minimalistic. Something to help me with faster navigation in the filesystem; a
cdandlsreplacement. So I build “llama”. It allows for quick navigation with fuzzy searching.cdintegration is quite simple. And you can openvimright from the llama. That’s it. As simple and dumb as a llama.
Discuss on Changelog News
For our last 2022 Kaizen episode, we went all out:
All of this, and a whole lot more, is captured as GitHub discussion 🐙 changelog.com#433. If you want to see everything that we improved, that is a great companion to this episode.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
All episode notes are in GitHub discussion changelog.com#433. Feel free to add your thoughts / questions!
Something missing or broken? PRs welcome!
An interesting idea from Gustav Westling…
One of the things that I like to do in my projects, is to make the git history as linear as possible.
Usually this means to rebase commits onto the main branch, but it can also mean to only allow merges in one direction, from feature branches into main, never the other way around. It kind of depends on the project.
Today I’m taking this one step further, and I’m introducing a new concept: extremely linear git history.
With our extremely linear history, the first commit in a repo hash a hash that starts with
0000000, the second commit is0000001, the third is0000002, and so on!
How he accomplishes this is perhaps even more interesting (and hacky!)
Discuss on Changelog News
I recently discovered an awesome tool called Coolify that calls itself an open-source Netlify or Heroku alternative that can be self-hosted. Gave it a whirl for my own personal projects and loved it, so I thought I’d share.
Discuss on Changelog News
Kate Monica and the team at Tremendous have been doing this high-documentation, low-meeting work culture for awhile now, so she wrote up five discrete benefits that they’ve seen as a result of it.
Discuss on Changelog News
In a tweet, of all places:
Come to @tumblr. We’ll add activitypub for interconnect. Don’t stress.
This is exactly the kind of adoption necessary for the Fediverse to really take off. its_happening.gif?
Discuss on Changelog News
Matthew Tejo:
Twitter supposedly lost around 80% of its work force. What ever the real number is, there are whole teams with out engineers on it now. Yet, the website goes on and the tweets keep coming. This left a lot wondering what exactly was going on with all those engineers and made it seem like it was all just bloat. I’d like to explain my little corner of Twitter (though it wasn’t so little) and some of the work that went on that kept this thing running.
This is a detailed post about Twitter’s caching system that Matthew and others built while working there, and it’s brilliantly summed up by commenter Johnny Manu40:
When everything works fine, they wonder why they hired you. When everything stops working, they wonder why they hired you. I.T. in a nutshell.
Discuss on Changelog News
Christoffer Ekeroth:
I’ve become convinced that “little languages”—small languages designed to solve very specific problems—are the future of programming, particularly after reading Gabriella Gonzalez’s The end of history for programming and watching Alan Kay’s Programming and Scaling talk.
Examples of “little languages” include SQL and regular expressions. In the old days we called these DSLs, but the author argues that term has become overloaded and I have a hard time disagreeing with that.
Discuss on Changelog News
Matt Healy says your next smart device is a $30 Kindle, Changelog sets up an instance as Mastodon takes off, Anurag Bhagsain puts OpenAI’s GPT-3 in your CLI, Kirill Rogovoy argues that no architecture is better than bad architecture & we talk to Mish Manners at All Things Open 2022.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Homebrew creator Max Howell is back with a brand new invention:
tea is a standalone, binary download for all platforms that puts the entire open source ecosystem at your fingertips. Casually and effortlessly use the latest and greatest or the oldest and most mature from any layer of any stack. Break down the silos between programming communities, throw together scripts that use entirely separate tools and languages and share them with the world with a simple one-liner.
All you need is
tea.
Bold! I love how many interesting ideas are packed in to this project: pipelines, universal virtual-env, executable markdown… the list goes on. Check out the README for all the deets. My big question is: might Max and the team be thinking too big this time around?
Discuss on Changelog News
This week we’re taking you to the hallway track of All Things Open 2022 in Raleigh, NC. Let’s set the stage, here’s what we like do when we go to conferences — we setup our podcast studio at our booth where all the other vendors are and we talk to everyone we can. We give out t-shirts, stickers, pins, high fives…and it’s a blast.
Today’s anthology episode from ATO features: Arun Gupta (VP and GM of Open Ecosystem Initiatives at Intel), long-time friend Chad Whitacre (Head of Open Source at Sentry), and Ricardo Sueiras (Principal Advocate in Open Source at AWS)
The common denominator for each of these conversations is advocating for and supporting open source. Special thanks to Todd Lewis and team for inviting us to come back to ATO. We enjoyed meeting long time fans and new ones too.
Discuss on Changelog News
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Arun Gupta * open.intel
Chad Whitacre * The Changelog #87: Sustaining Open Source and Building an Open Company * The Changelog #123: Gittip and Open Companies
Ricardo Sueiras * AWS Open Source
Something missing or broken? PRs welcome!
KBall and Boneskull dive deep with Paloma Oliveira on the cultural and social consequences of open source software, explore her background in arts and government-supported open source, and discuss practical approaches to change the culture of open source towards more sustainability.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
In your company, who designs the end-to-end developer experience? From design to implementation, what is the developer experience that you actually ship? Even though the average developer wastes almost half of their working hours because of bad DX, many of us don’t even know what that means, or how to improve it.
Kenneth Auchenberg is working at Stripe, building economic infrastructure for the internet. Gerhard found his perspective on Developer Experience Infrastructure (DXI) refreshingly simple, as well as very useful.
Discuss on Changelog News
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Developer Experience is the new hot thing, and we now see many existing teams re-labeled as Dev Experience. What does DX really mean, and what is the relationship between developer relations, advocacy, DX, and product teams?
@auchenberg Twitter 🧵
Something missing or broken? PRs welcome!
Amazon CTO, Werner Vogels:
Today, I am publishing the Distributed Computing Manifesto, a canonical document from the early days of Amazon that transformed the architecture of Amazon’s ecommerce platform. It highlights the challenges we were facing at the end of the 20th century, and hints at where we were headed.
25 years later. This is super cool!
Discuss on Changelog News
Elaine Atwell says all CTOs urgently need to answer the question: should I allow Copilot at my company?
If you haven’t already figured it out from the title, Elaine’s answer to that question is No. But that might not be the right answer for everyone. In this article, she goes over the case for and against Copilot, and how you can detect whether it’s already in use at your organization.
Discuss on Changelog News
Kirill Rogovoy:
It took me several years to learn how to write code that scales to 10s of team members and a million lines of code. It took even more time to learn to write stupid code again.
Discuss on Changelog News
On a previous episode of Go Time we discussed binary bloat, and how the Go protocol buffer implementation is a big offender. In this episode we dive into the history of protocol buffers and gRPC, then we discuss how the protocol and the implementation can vary and lead to things like binary bloat.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Kubernetes v1.25 introduced Container Checkpointing API as an alpha feature. This provides a way to backup-and-restore containers running in Pods, without ever stopping them.
This feature is primarily aimed at forensic analysis, but general backup-and-restore is something any Kubernetes user can take advantage of.
So, let’s take a look at this brand-new feature and see how we can enable it in our clusters and leverage it for backup-and-restore or forensic analysis.
Discuss on Changelog News
Online platforms and their users are susceptible to a barrage of threats – from disinformation to extremism to terror. Daniel and Chris chat with Matar Haller, VP of Data at ActiveFence, a leader in identifying online harm – is using a combination of AI technology and leading subject matter experts to provide Trust & Safety teams with precise, real-time data, in-depth intelligence, and automated tools to protect users and ensure safe online experiences.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
While obtaining a job internationally may seem daunting, this guide will walk you through all the steps you need to find and secure a developer job abroad.
In this article, I share how how to prepare your resume for getting a developer job abroad, how to search for international opportunities, application strategies, important considerations to make when applying, the do’s and don’ts of successful interviews, and more!
Discuss on Changelog News
As the old saying goes, imitation is the sincerest form of flattery. In the software world, an open source alternative is the sincerest form of imitation. Well, Retool (a Changelog sponsor) can consider themselves flattered, because Openblocks sets out to do openly what they’ve been doing proprietarily. Here’s why:
It’s cumbersome to create a single app. You had to design user interfaces, write code in multiple languages and frameworks, and understand how all of that code works together.
Low-code/No-code platforms are fast to get started with but quickly become unmaintainable and inflexible. This creates more problems than it solves.
Retool-like solutions are great for their simplicity and flexibility, but they can also be limited in different ways compared to frameworks like React/Vue.
Openblocks wants to take a step forward. More specifically, Openblocks is
- An all-in-one IDE to create internal or customer-facing apps.
- A place to create, build and share building blocks of web applications.
- A domain-specific language that UI-configurable block is the first-class citizen.
Discuss on Changelog News
Might a “modular monolith” be the happy middle ground in the endless monolith or microservices decision? You may have to answer that question for yourself, but this post shares some good thoughts around designing a modular monolith:
When designing a modular monolith, it is all about breaking up the system into modules, and then combining those modules into a monolith for deployment.
It might be worth noting that finding what modules you will need, might not be as easy as you would think. They have to be as independent as possible. High-cohesion and low coupling is very important here, as all communication between the modules might end up being a cross network call, if you decide to break it into services in the future.
This means that all communication between modules need to well abstracted, and be either asynchronous, so that they can handle the call going across the network in the future, or use some form of messaging.
Discuss on Changelog News
Fathy Boundjadj new html2svg project is pretty cool. We’ve seen a lot of efforts to convert HTML to raster images like PNG and JPG, but SVG is a different (pixel-independent) story.
This end product took some engineering, and the linked post goes deep into all the steps Fathy had to take along the way. From taking the picture to rendering to SVG to supporting shadows and more.
Discuss on Changelog News
Let’s see if this ages well, but I do agree that Armin shares some good points. Scale comes with mainstream, and mainstream Mastodon isn’t quite possible if we can’t all agree (and we can’t). This is probably Mastodon’s most obvious achilles heel — agreement in a decentralized, federated, you can “do what you want” world.
…before we even hit the issue of the technology, we hit the issue of there being absolutely no agreement of what the thing should look like or what the issue actually is and that’s I think much more interesting.
Some people claim the solution to the technical scalability issue is huge instances, some other people have the belief that the actual intended design and solution were micro-instances of in extreme cases a user each.
Then there’s moderation, which if you’ve ever run any community forums, Slacks, etc you’ll know that you’re going to have to moderate and deal with people problems.
On the topic of moderation the very same issue is even more absurd. Some instances want uncontrolled free speech where some instances effectively are pure shit-posting instances which are completely de-federated from the most of the fediverse as a result. Other instances really like to control their content, where some popular ones such as fosstodon ban all languages than English as a result to allow moderation. There also is no real agreement on if larger or smaller instance are going to make the problem of moderation better or worse.
Discuss on Changelog News
I didn’t want to click through to this. I was like, “No. A Kindle?” But, the opening image got me. That’s why all I’m sharing is this note and that image.
Discuss on Changelog News
Roger Lee has been tracking all tech layoffs since COVID-19, Amanda Hoover says tech worker demand is still high, ntfy helps you send push notifications for free, devenv lets you share development environments without containers, Markdoc scales from personal blogs to massive documentation sites & we talk with Mike Bifulco at All Things Open 2022.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Use it as a CLI, a server, a library, or inside a container 👌
Discuss on Changelog News
If you loathe Markdown, read this. If you love Markdown, read this.
I truly loathe Markdown. Truly. But given the widespread use of Markdown, it might seem strange that I have such aversion to it. If you somehow really like it, or are so used to it by now, you might be tempted to think I’m the oddball. But I’m definitely not alone in my dislike of the format…
It’s popular and got a lot wrong, but also a lot right. 🤔
Discuss on Changelog News
This week we’re back for part 2 with Adam Wiggins — going beyond Heroku and the story of Muse (listen to part 1). After a six-year adrenaline high on Heroku, Adam needed time to recover and refill the creative well. So, he moved to Berlin, did some gig work with companies…dabbled in investing and advising. But he wasn’t satisfied. Adam likes to build things.
Ultimately, he was just waiting for the right time to reconnect with James Lindenbaum and Orion Henry — the same fellas he created Heroku with. Eventually they founded Ink & Switch, an independent research lab which led to innovations that made Muse possible. Muse is a tool for deep work and thinking on iPad and Mac. Today’s show is all about that journey and the details in-between.
Discuss on Changelog News
Changelog++ members get a bonus 6 minutes at the end of this episode and zero ads. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Estelle Weyl has been building the web since 1999 and documenting it since 2007. Today she joins Amal for a loooong and deeeep conversation about new and !important features of CSS & HTML. Sit down, strap in, and prepare to be schooled!
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
It stores your shell history in context (what directory you ran the command in, whether it succeeded or failed, how long it took, etc). This is all stored locally and end-to-end encrypted for syncing to to all your other computers. All of this is easily queryable via the
hishtoryCLI. This means from your laptop, you can easily find that complex bash pipeline you wrote on your server, and see the context in which you ran it.
Discuss on Changelog News
Russ Cox, for the Go team:
Today we celebrate the thirteenth birthday of the Go open source release. The Gopher is a teenager!
It’s been an eventful year for Go. The most significant event was the release of Go 1.18 in March, which brought many improvements but most notably Go workspaces, fuzzing, and generics.
He goes on to describe many of the other notable features and events of the past year and closes with a glance into Go’s future:
In Go’s 14th year, we’ll keep working to make Go the best environment for software engineering at scale. We plan to focus particularly on supply chain security, improved compatibility, and structured logging, all of which have been linked already in this post. And there will be plenty of other improvements as well, including profile-guided optimization.
Discuss on Changelog News
Podman Desktop installs, configures and keeps Podman up to date on your local environment. It provides a system tray, to check status and interact with your container engine without losing focus from other tasks. The desktop application provides a dashboard to interact with containers, images, pods and volumes but also configures your environment with your OCI registries and network settings. Podman Desktop also provides capabilities to connect and deploy pods to Kubernetes environments.
Discuss on Changelog News
Natalie & Ian welcome Liran Haimovitch & Tiago Queiroz to the show for a discussion focused on debugging Go programs. They cover good & bad debugging practices, the difficulty of debugging in the cloud, the value of errors logs & metrics, the practice of debugging in production (or not) & much more!
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Google search quality has been deteriorating for awhile. In this manifesto (of sorts), Kagi CEO Vladimir Prelovac describes what he thinks needs to replace it:
In the future, instead of everyone sharing the same search engine, you’ll have your completely individual, personalized Mike or Julia or Jarvis - the AI. Instead of being scared to share information with it, you will volunteer your data, knowing its incentives align with yours. The more you tell your assistant, the better it can help you, so when you ask it to recommend a good restaurant nearby, it’ll provide options based on what you like to eat and how far you want to drive. Ask it for a good coffee maker, and it’ll recommend choices within your budget from your favorite brands with only your best interests in mind. The search will be personal and contextual and excitingly so!
Discuss on Changelog News
For web automation/testing, Selenium has been the de facto “standard” since forever. It’s simple to get started with and supports almost every programming language.
My problem with it has been: It’s good enough, but nothing more. It doesn’t work that well with modern, Javascript framework heavy sites (Angular, React etc). I’m not saying it doesn’t work– just not too well.
I know a lot of people who use Selenium, but I don’t know a lot of people who enjoy using Selenium. (That’s no knock on the Selenium team. They solved a hard problem for lots of devs over the course of many years. Huge impact!) Playwright on the other hand…
Discuss on Changelog News
In today’s episode we have the pleasure of Audun Fauchald Strand, Principal Software Engineer at NAV.no, Norway’s Labour & Welfare Administration. We will be talking about NAIS.io, the application platform that runs on-prem, as well as on the public cloud.
Imagine hundreds of developers shipping on an average day 300 changes into a system which processes $100,000,000 worth of transactions on a quiet week. If you think this is hard, consider the context: a government institution which must comply with all laws & regulations.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
NAV.no average weekly service deployments, 2009 - 2022
Something missing or broken? PRs welcome!
Adam Gordon Bell:
There are many ways to understand how containers work, but most useful explanations are actually simplifications….
But for me, containers are just chrooted processes. Sure, they are more than that: Containers have a nice developer experience, an open-source foundation, and a whole ecosystem of cloud-native companies pushing them forward. But, let me show you why I think
chrootis the key.
I like this framing. It makes a lot of sense to me. More than ‘lightweight VM’, which is how I’ve thought about them previously. The rest of this article is Adam stepping through the process of building a container runtime using only the chroot system call.
Discuss on Changelog News
Compared to other programming languages such as Python and Go, Rust’s standard library is very small, including only core data structures in the standard library with all other functionality farmed out to 3rd party ecosystem crates, and a common complaint from new Rust developers is that they don’t know where to start: which crates they ought to use and which crates they ought to trust. This list attempts to answer those questions.
Discuss on Changelog News
Rachel Stephens, trying to reconcile the claims that the tech industry is vastly overstaffed with other claims of vast resource scarcity:
Both things can be true: it’s not a clear over- or under-staffing problem. It’s a problem of proportionality. There can definitely be organizational bloat… At the same time, there are also areas in tech that remain chronically understaffed and under-resourced: OSS project maintainers, people working on-call support, and people writing documentation to name a few.
An interesting analysis with a much-needed call for kindness to our fellow nerds as they face these tumultuous times.
And (I can’t believe I’m writing this, but the jokes about Twitter layoffs in particular keep coming at a surprising rate) be kind to people facing layoffs. Losing your job is awful in the best of circumstances; going through it in such a public and charged situation must be emotionally grueling. Be kind.
Discuss on Changelog News
It’s been a while since we’ve touched on quantum computing. It’s time for an update! This week we talk with Yonatan from Quantum Machines about real progress being made in the practical construction of hybrid computing centers with a mix of classical processors, GPUs, and quantum processors. Quantum Machines is building both hardware and software to help control, program, and integrate quantum processors within a hybrid computing environment.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Quantum Machines
Something missing or broken? PRs welcome!
Katana can run in standard mode, which is like curl/wget, or it can run in headless mode, which is like a real web browser with JavaScript parsing and all that jazz. And since it’s written in Go, you get that silky universal binary experience. Just drop it in your $PATH and you’re off to the races!
Discuss on Changelog News
According to this, 757 companies have laid off 104,791 employees thus far in 2022. Absolutely brutal.
Discuss on Changelog News
Colin Bartlett’s 50 useful Vim commands, Jeremey Utley on why your first ideas aren’t always the best, Emanuele Rocca’s pets configuration management project, our Kaizen shirts are now on sale & Arun Venkatesen makes a microsite for infinite canvas tools.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Apropos of nothing 😉
Mastodon, a decentralized microblogging site named after an extinct type of mammoth, recorded 120,000 new users in the four days following billionaire Elon Musk’s acquisition of Twitter, its German-born founder Eugen Rochko tells TIME. Many of them were Twitter users seeking a new place to call their online home.
Those users, whether they knew it or not, were following in the footsteps of Rochko, 29, who began coding Mastodon in 2016 after becoming disillusioned with Twitter. “I was thinking that being able to express myself online to my friends through short messages was very important to me, important also to the world, and that maybe it should not be in the hands of a single corporation,” Rochko says. “It was generally related to a feeling of distrust of the top down control that Twitter exercised.”
Adam and I first spoke with Eugen in 2018 (before it was cool) and even signed up on his instance, but haven’t started posting there… yet. I’m a bit skeptical of its ability to scale beyond technologist circles. But maybe that’s okay?
Discuss on Changelog News
Olo provides online ordering & delivery services to restaurants, a big part of which is notifying their customers when important events take place in their ordering platform. For this need, they built a webhook service, which was working great… until it wasn’t.
In this article, they share how they evaluated, chose, and eventually migrated to Apache Kafka for this service. It looks like a lot of work that paid off in the end, woo hoo!
Discuss on Changelog News
This week on The Changelog we’re joined by Adam Wiggins, co-founder and former CTO of Heroku, for an exclusive trip down Heroku memory lane. Adam and Jerod are both tremendous fans of Heroku and believe (to this day) they represent the apex in developer experience for delivering code to production.
We talk through the beginnings of Heroku, the v1 most people have forgotten about, the era of web hosting back in 2008-2010, the serendipity of Silicon Vally in those days, pitching to Y Combinator, the makings of git push heroku, the Heroku style and name, the sale of Heroku to Salesforce, potential regrets — and we tee up part 2 coming next week with Adam going beyond Heroku and the story of Muse.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
This is so cool! Shout out to Zach Latta (Founder of Hack Club) for giving me a call today to tell me about Sprig — this awesome new Hack Club project is built by teenagers for teenagers.
Sprig is a game console where every user is a creator. It can only be obtained by building a tile-based game in the web-based game editor and shipping it in the community gallery. It’s made by Hack Club.
… Fall of 2022, we are giving a Sprig (valued at over $100 in components alone) to every teenage hacker that successfully shares a game they create in our community gallery.
Discuss on Changelog News
Maggie Johnson-Pint from Stanza sits down with Amal & Divya for a deep-dive in to the production side of the development world. If you’re at all curious (and/or intimidated) by terms like Site Reliability Engineering (SRE), Service Level Objective (SLO), OpenTelemetry, distributed tracing, and the like… this episode’s for you!
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Now that we’re out of the ‘dark times’ where CSS was so limited that we spent countless hours developing hacks, tricks, and workarounds… Sacha Greif wonders if the pendulum has swung the other way:
we are now faced with an embarrassment of CSS riches, and it can be hard to catch up. CSS Grid started being supported in major browsers almost five years ago, yet I still check a reference every time I use it. And as cool as subgrid seems, I’ve yet to even try it out.
Perhaps CSS is even starting to reach over into areas best handled by HTML or JavaScript?
Discuss on Changelog News
Today we’re talking about uses for Go in the medical industry. Tim Stiles develops and maintains a Go package for synthetic biology and molecular biology called Poly. It has broad applications for biotech R&D, but also has very direct applications to medicine.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
A couple weeks back, Adam logged some news that linked to githubcopilotinvestigation.com. Well, There’s a new website now: githubcopilotlitigation.com
Matthew Butterick:
By training their AI systems on public GitHub repositories (though based on their public statements, possibly much more) we contend that the defendants have violated the legal rights of a vast number of creators who posted code or other work under certain open-source licenses on GitHub. Which licenses? A set of 11 popular open-source licenses that all require attribution of the author’s name and copyright, including the MIT license, the GPL, and the Apache license.
Discuss on Changelog News
Most internet speed testing tools focus on bandwidth, but latency and packet loss are major factors in the experience as well.
Bandwidth means, once things get going, how fast you can download. But “once things get going” can take a really long time. In fact, it can take longer than the whole download! This is especially true for simple web pages, or web pages made up of a bunch of tiny pieces, which is very common on today’s web… That’s where latency comes in.
Try blip for yourself: gfblip.appspot.com
Discuss on Changelog News
15 years ago, Gerhard discovered magic in the form of Ruby on Rails. It was intuitive and it just worked. That is the context in which Gerhard fell in love with infrastructure and operations.
Today, for special episode 77, we start at Seven Shipping Principles, and, in the true spirit of Ship It, we’ll see what happens next.
Our guest is David Heinemeier Hansson, creator of Ruby on Rails, co-founder of Basecamp & HEY, and a lot more - check out dhh.dk.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
History is proof that removing a dangerous feature can greatly improve the quality of code. Today, we have a slew of dangerous practices that compromise the robustness and maintainability of software. Nearly all modern programming languages have some form of null references, shared global state, and functions with side effects—things that are far worse than the GOTO ever was.
How can those flaws be eliminated? It turns out that the answer has been around for decades: purely functional programming languages.
Discuss on Changelog News
This is for people who need to administer a handful of machines, all fairly different from each other and all Very Important. Those systems are not Cattle! They’re actually a bit more than Pets. They’re almost Family. For example: a laptop, workstation, and that personal tiny server in Sweden. They are all named after something dear.
Liz Rice and I spoke about pets & cattle recently on The Changelog. I asked her, “from your perspective, are the people still doing it the old-school pets way?”
This tool is a great example of Pets-style administration being alive and well.
Discuss on Changelog News
Vercel dropped Next.js 13 last week and there’s a lot of new stuff (router, server components, streaming & more) in this release. If you learn best by example (and subsequent tinkering with existing things), this (WIP) repo might be a good starting place for you.
Discuss on Changelog News
Recently Chris and Daniel briefly discussed the Open RAIL-M licensing and model releases on Hugging Face. In this episode, Daniel follows up on this topic based on some recent practical experience. Also included is a discussion about graph neural networks, message passing, and tweaking synthesized voices!
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
In CSS, we’ve been encoding colors with rgb() or hex (mostly for historical reasons). However, the new CSS Color 4 specification adds many better ways of declaring colors in CSS. Of these, oklch() is the most interesting one—this article explains why.
Discuss on Changelog News
From VimTricks:
Here are 50 useful Vim commands that work in normal mode. Many of these can be combined and modified to produce dozens more. Use these as inspiration for your own repeatable workflows.
Discuss on Changelog News
Simon Willison describes the Perfect Commit as a single commit that contains all of the following:
- The implementation: a single, focused change
- Tests that demonstrate the implementation works
- Updated documentation reflecting the change
- A link to an issue thread providing further context
Here’s four paragraphs on how he got to here:
I went through a several year phase of writing essays in my commit messages, trying to capture as much of the background context and thinking as possible.
My commit messages grew a lot shorter when I started bundling the updated documentation in the commit—since often much of the material I’d previously included in the commit message was now in that documentation instead.
As I extended my practice of writing issue threads, I found that they were a better place for most of this context than the commit messages themselves. They supported embedded media, were more discoverable and I could continue to extend them even after the commit had landed.
Today many of my commit messages are a single line summary and a link to an issue!
Discuss on Changelog News
If you’re feeling the FOMO of JavaScript or you’re writing “spaghetti code” just to do something a NextJS component would do out of the box, then read this post from Bill Prin on why he moved from Django to NextJS.
The summary is that using a language like Python or Ruby for a significant web project has increasingly gotten less reasonable over time to the point where now, in 2022, it’s getting hard to justify. By not keeping your web stack in pure Javascript, you are making your life unnecessarily difficult (as usual, we’ll include languages like TypeScript as part of the JavaScript ecosystem). You will almost certainly invest a bunch of time-solving problems that would be automatically solved for you if you just stuck with JavaScript.
I will provide specific examples of solving problems using Django that would have been trivially solved in NextJS.
He goes on to share two reasons why you should use Python or Ruby for web projects in 2022.
You’re working on an existing project that hasn’t been migrated yet or is not worth migrating.
You are already a master of a Python or Ruby web stack, and you need to implement a new project as soon as possible, and you don’t have time to learn a better stack.
Discuss on Changelog News
This week we’re doing some Linux mythbusting and talking retro gaming with Jay LaCroix from Learn Linux TV. This is a preview of what’s to come from our trip to All Things Open next week. By the way, make sure you come and check us out at booth 60. We’ll be recording podcasts, shaking hands, giving out t-shirts and stickers…and speaking of gaming, you can go head-to-head with us on Mario Kart or Rocket League on the Nintendo Switch. We’re giving that Switch away to a lucky winner at the conference, but you have to play to win. If you’re there, make sure you come see us because we want to see you.
Discuss on Changelog News
Changelog++ members get a bonus 10 minutes at the end of this episode and zero ads. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Nick & Amelia welcome the co-authors of Tiny CSS Projects to discuss their awesome new (and still in-progress) Manning book all about CSS!
Use code podjsparty20 when checking out to save 40% (good for all products in all formats!) and join the JS Party community chat for a chance to win a free ebook copy!
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
An open-source knowledge based community software. You can use it to quickly build your Q&A community for product technical support, customer support, user communication, and more.
Install with Docker, a Go binary, or from source.
Discuss on Changelog News
Suppose you learn some functional JavaScript, and it’s wonderful. But, for some reason, your team doesn’t get it? What do you do? To understand what’s going on, we need to step back and get a little perspective…
Discuss on Changelog News
An opinionated set of thumb rules that Shrikant Sharat Kandula follows after a decade of writing shell scripts. His starter template looks nice as well:
```
set -o errexit set -o nounset set -o pipefail if [[ "${TRACE-0}" == "1" ]]; then set -o xtrace fi
if [[ "${1-}" =~ ^-*h(elp)?$ ]]; then echo 'Usage: ./script.sh arg-one arg-two
This is an awesome bash script to make your life better.
' exit fi
cd "$(dirname "$0")"
main() { echo do awesome stuff }
main "$@"
```
Discuss on Changelog News
This tldr from Guilherme Rambo is enough, but read the full post for all the details.
TL;DR: Any app with access to Bluetooth could record your conversations with Siri and audio from the iOS keyboard dictation feature when using AirPods or Beats headsets. This would happen without the app requesting microphone access permission and without the app leaving any trace that it was listening to the microphone.
This bug has since been handled by Apple. Also, after reaching back out to Apple (on Oct 25), Guilherme was told he’d be receiving a $7,000 (USD) bug bounty payment for reporting the issue.
Discuss on Changelog News
Mat Ryer gathers a gang of ghouls and ghosts to tell spooky developer stories! Join us to hear tales of Mat’s $1k nightmare, Dee’s infinite loop of horror, Natalie’s haunted time as a junior dev & many, many more.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
In today’s episode, we talk about distroless, ko, apko, melange, musl and glibc. The context is Wolfi OS, a community Linux OS designed for the container and cloud-native era. If you are looking for the lightest possible container base image with 0 CVEs and both glibc and musl support, Wolfi OS & the related chainguard-images are worth checking out.
Ariadne Conill is an Alpine Linux TSC member & Software Engineer at Chainguard.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Lars Wikman on what it takes to learn software development and how he responds when people ask him how they should go about it:
At the time I was learning, I didn’t have access to any kind of bigger picture. I had limited resources. Limited documentation. I had so many limitations. I ran into them constantly and eventually found the next thing I could use to do cool stuff. If you try to teach someone to use an HTML form today, you will need to decide if you are talking about the basic idea or reality. Do we need to cover CSRF, captchas and how to do it in React? How about the backend? Starting out, I didn’t hear about half of the things I didn’t know; I think that made things easier.
When it comes to the software industry, this is the best of times. There are amazing learning resources available, a vast repository of free code that you don’t have to write, and lucrative job offers on the other end of the chasm.
When it comes to the software industry, this is the worst of times. There are too many learning resources to choose from, a crippling repository of free code that might stumble you, and overwhelming imposter syndrome on the other end of the chasm.
Lars sums it up nicely:
Hand someone a fish and they’ll never know that the ocean is vast. Teach them how to fish and they’ll be forever lost at sea.
Discuss on Changelog News
Sacha Greif gets out his crystal ball and tries to anticipate the future CSS trends (as well as some far-fetched and futuristic CSS features that might one day make their way to the browser) based on his learnings from running the State of CSS survey (go take it!)
Discuss on Changelog News
I’m here for any story that begins with an errant rm -r -f *, especially when the stakes are super-high, like you could lose an entire movie of Toy Story 2’s magnitude…
Woody’s hat disappeared. And then his boots disappeared. And then as we kept checking, he disappeared entirely. Woody’s gone.
Can you guess what happens next?
We realized that the backups we had were actually bad.
Remember: nobody wants backups, everyone wants restore. Like Pixar’s movies, this tale ends happily, but I won’t spoil for you how the day was saved.
Discuss on Changelog News
This panel discussion was recorded at a recent event hosted by a company, Aryballe, that we previously featured on the podcast (#120). We got a chance to discuss the AI-driven technology transforming the order/fragrance industries, and we went down the rabbit hole discussing how this technology is being adopted at large, well-established companies.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Webpack creator Tobias Koppers announcing its (Vercel-funded) successor:
Turbopack is built on a new incremental architecture for the fastest possible development experience. On large applications, it shows updates 10x faster than Vite and 700x faster than Webpack. On even larger applications, the difference is greater—often 20x faster than Vite.
Turbopack is open source and still in alpha. Here’s what the future may hold:
To start, Turbopack will be used for the Next.js 13 development server. It will power lightning-fast HMR, and it will support React Server Components natively, as well as TypeScript, JSX, CSS, and more.
Turbopack will eventually also power Next.js production builds, both locally and in the cloud. We’ll be able to share Turbo’s cache across your entire team, using Vercel Remote Caching.
Webpack users can also expect an incremental migration path into the Rust-based future with Turbopack.
Discuss on Changelog News
The speed record for data transmission using a single light source and optical chip has been shattered once again. Engineers have transmitted data at a blistering rate of 1.84 petabits per second (Pbit/s), almost twice the global internet traffic per second.
For context, if you’re fortunate enough to be living the “gig-life” (as my local carrier markets it) with a 1-gigabit connection at your house… a petabit is a million times faster than that. And that record-setting 1.84 petabit speed is just the start:
But the new chip is far from finished breaking records, according to the team behind it. Using a computational model to scale the data transmission potential of the system, the researchers claim that it could eventually reach eye-watering speeds of up to 100 Pbit/s.
Shut up and take my money?!
Discuss on Changelog News
Long past are the days when I’d upgrade my production OS on day/week one, but I do try to read at least one or two reviews of the latest macOS to see how much of my FOMO is well-placed. And if you’re going to read just one review, it might as well be Ars Technica’s…
I haven’t waded into the depth of this review yet, but the opener has me underwhelmed:
The throughline for all these features is about making the Mac more welcoming and comfortable for people who come to it through one of Apple’s mobile platforms…
But when was the last time that the Finder, the Dock, or the Menu Bar was given a substantial, non-cosmetic rethink? When did Apple last make major improvements to the way that windows coexist on a given screen? The Mac does get new under-the-hood features that are specific to it, but the headline features are mostly iOS and iPadOS imports, especially this year.
I would absolutely love for Apple to rethink Finder! Having said that, the fact that this reviewer is down with Stage Manager on macOS despite how terrible I’ve heard it is on iOS is intriguing…
Stage Manager differs from standard macOS multitasking by offering a column of recently used apps on the side of your screen (it’s the left-hand side by default, but it will switch if you’ve got your Dock set to use the left-hand side of your screen instead). But unlike minimizing or maximizing an app from the Dock, each “stage” can contain multiple app windows from multiple apps; switch from one stage to another, and every window on that stage will pop back up on your screen in exactly the arrangement you were using before.
It’s off by default, thank goodness, but I would like to give this a try and see how it maps to my way of window/app management. Have you tried Stage Manager on macOS? What do you think? How does it compare to iOS?
Discuss on Changelog News
This looks a lot like the early days of Postman. Built with Vue.js.
Discuss on Changelog News
Valerian Saliou’s Sonic search backend, Brandon Willett on how to build software like an SRE, DHH on why they’re leaving the cloud, Amos’ HTTP crash course nobody asked for & Sam Magura tells why he and the Spot team are breaking up with CSS-in-JS.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
🏂 Fantastic – local use, security, syntax highlighting, dark mode, source file saving, international, presentation mode, PPT Mode, single edit mode, export file, internal jump, document auto typesetting, picture upload, LaTeX, Mermaid, PlantUML, Markmap.
🎊 Beauty – minimalist design style, folder + file list + editor 3 column mode.
🚄 Fast – using Swift5 native development, the performance experience is much better compared to the Web.
🥛 Simple – very light, pure editor input experience, many shortcut keys to help you fast.
Discuss on Changelog News
This is a journey of how I, a developer unfamiliar with C, went down the rabbit hole of navigating the SQLite source and changed it to offer a capability that wasn’t available.
Discuss on Changelog News
Dendron founder, Kevin Lin:
PMF is not just your only job but it is the job that only you, the startup founder, can do. Your investors can help introduce you to relevant people, successful founders can tell you how they found PMF, but ultimately, you are the only person that can determine PMF for your company.
And don’t forget to talk your users along the way!
Discuss on Changelog News
This week we’re talking with Will McGugan about using the terminal to not just build software, but also to deliver software. Will is a few months into his journey of building Textualize, a company he started around his open source projects Textual and Rich. When combined Textual and Rich give you a Python framework to build beautiful full-featured TUIs for the Terminal. We talk with Will about his big idea of the terminal as a platform, how he got here from first principles, what it takes to build Textual apps and whether or not they can replace not so good web admins, building, launching, and distributing Textual apps, why Python was his choiice of language, the big picture and business model behind Textualize, and why he’s building this as open source and in public.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
What do Story of the Week, HeadLIES & Pro Tip Time have in common? They’re all games we play on this seriously ridiculous episode of JS Party!
Discuss on Changelog News
Changelog++ members get a bonus 8 minutes at the end of this episode and zero ads. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Story of the Week * The Future of the Web is on the Edge * Brave blocking annoying and privacy-harming cookie consent banners * Linear’s website temporarily replaced with a Figma file
HeadLIES * Apple’s Mixed Reality Headset to Offer Iris Scanning for Payments, Logging In * The US department of Veteran Affairs postpones rollout of electronic health record systems, developed by Oracle under a $50B contact, until 2030 * Heroku reverses course, plans to reintroduce free plans after facing community backlash * Decentraland’s reported to have only has 38 Daily Active Users in their $1.3B Ecosystem * Meta Avatar Legs Demo ‘Created By Motion Capture’, Not Live VR
Pro Tip Time * Nick: How I use git worktrees * Jerod: Get a Pi-hole!
Something missing or broken? PRs welcome!
TLDR: AWS is super-expensive at scale.
Of course it’s expensive to rent your computers from someone else. But it’s never presented in those terms. The cloud is sold as computing on demand, which sounds futuristic and cool, and very much not like something as mundane as “renting computers”, even though that’s mostly what it is.
But also:
It’s also about what kind of internet we want to operate in the future. It strikes me as downright tragic that this decentralized wonder of the world is now largely operating on computers owned by a handful of mega corporations. If one of the primary AWS regions go down, seemingly half the internet is offline along with it.
Methinks this will become even more of a trend in the coming months and years.
Discuss on Changelog News
This is one of those pieces of advice that is easy to say, but hard to do. Cedric Chin:
The only problem with this advice is that it’s trite — it sounds obvious; people don’t take it seriously; it’s a cliché. But it really isn’t any of those things, not if you’re actually trying to put it to practice. One of the more interesting things about focus is that you can see it in good operators, if you know how to look. But it happens to also be really difficult to do.
Instead of articulating a fully-fleshed out theory of focus, I want to do something different here. I’m going to tell you a handful of stories. This should do more to illustrate the nature of focus in business than anything else that I can say. Let’s get started.
Some good stories follow. I’ll just add that good ideas is just one category of things that focus means saying “no” to. Another major category is good opportunities.
When you’re first getting started in your career, you are short on opportunities and long on time. But success breeds success. At a certain point, that relationship flips and you have more opportunities (actual, good ones) than you have time. Saying “no” to the wrong ones and “yes” to the right ones is another lesson in and of itself, but the same thing is in danger: your focus.
Discuss on Changelog News
In this episode, we’re joined by tech Lawyer Luis Villa to explore the question, who owns code? The company, the engineer, the team? What about when you’re using AI, Machine learning, GitHub Copilot… is that still your code?
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Tomasz Cichociński:
It’s completely fine to deepen one technology or one programming language knowledge. It’s totally fine to just have a 9-5 job that pays the bills. But if you aim to level up, I’m highly recommending trying something new to broaden your perspective.
If you’re writing JavaScript, try some functional language like Elixir or ReScript. If you’re already familiar with high level, garbage collected languages, try something low level like Rust or even C/C++. Play with different concurrency model like coroutines or actor model.
You don’t need to change your job, you don’t need to ship products with it. Try to create something fun. You’ll thank yourself later.
Discuss on Changelog News
Is GitHub Copilot an AI parasite trained in the realms of fair use on public code anywhere on the internet? Or, is it a much needed automation layer to all the reasons we open source in the first place?
When I first wrote about Copilot, I said “I’m not worried about its effects on open source.” In the short term, I’m still not worried. But as I reflected on my own journey through open source—nearly 25 years—I realized that I was missing the bigger picture. After all, open source isn’t a fixed group of people. It’s an ever-growing, ever-changing collective intelligence, continually being renewed by fresh minds. We set new standards and challenges for each other, and thereby raise our expectations for what we can accomplish.
Amidst this grand alchemy, Copilot interlopes. Its goal is to arrogate the energy of open-source to itself. We needn’t delve into Microsoft’s very checkered history with open source to see Copilot for what it is: a parasite.
The legality of Copilot must be tested before the damage to open source becomes irreparable. That’s why I’m suiting up.
What are your thoughts on this investigation and “potential lawsuit” against GitHub Copilot?
Discuss on Changelog News
Few genuinely need a multi-cloud setup. There is plenty of advice out there which mostly boils down to don’t do it, you will be worse off. Vex.dev is a startup that provides APIs for video and audio streaming. The hard part is real-time combined with massive scale - think hundreds of thousands of concurrent connections. They achieve this by using a combination of Fly.io, AWS and GCP. Jason Carter, founder of Vex Communications, is joining us today to talk about the multi-cloud setup that vex.dev runs.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
After reading Lucas da Costa’s Why deadlines are pointless and what to do instead, I agree with almost every point he makes, especially this one:
It’s about time we start calling deadlines by their real name: pressure
Lucas goes on to describe how deadlines can cause harm, can’t actually make people code faster, and so on. I agree with that too. But does that make them pointless? Not necessarily!
Sometimes a little pressure is just what the doctor ordered. Here’s what I mean by that.
Note: Lucas’s article is written to software teams that are dedicated to a single product. This post is to a slightly different audience: those of us with many disparate things we could be working on at any given time. For that reason, I don’t believe his take on Parkinson’s Law applies in this context. If you disagree, please do let me know in the comments!
Stuff doesn’t just magically get done 🪄 Parkinson’s law tells us that work expands so as to fill the time available for its completion. That rings true, doesn’t it? There’s a corollary to this law:
If you wait until the last minute, it only takes a minute to do.
I know this one all too well. (And I’m willing to bet you’ve experienced it yourself.) Now, let’s take that saying extremely literally for a moment: how can you wait until the last minute if there isn’t a last minute to wait for? You’ll never do the thing!
Instead, combat your propensity to delay work (until some imaginary future date when some better version of yourself magically makes it all happen) by creating an arbitrary deadline for completion and trying your best to hit it.
An example that’s been working for me 💪 Every tenth episode of Ship It! we talk about the work we’re doing here at Changelog to make things better. That means I know that every two and a half months, I’m gonna go on a podcast and talk about what I accomplished. So when that sucker is coming up my brain is like, “We’re shipping stuff!”
Arbitrary enough for you? We literally made it up. It means nothing. I could go on that show and say, “I didn’t ship anything this time”… and nobody would care. We’d probably even get a few laughs out of it. But it has proven itself as a motivating factor for me to finish some stuff.
Some ideas on coming up with a good deadline 🧠 Need some help picking a deadline that will motivate you to ship? Here’s a starter list:
Those are all pretty generic. I’m sure you can get creative and tie an arbitrary deadline to something going on in your life.
You do have to remember that it’s arbitrary ⌛️ Problems arise when arbitrary deadlines get concretized in our minds and we begin making other plans that depend on them. That’s not the point! Refer back to Lucas’s article for all of the reasons why that deal is a non-starter.
When it becomes apparent that you aren’t going to hit an arbitrary deadline, you have to pick a new arbitrary deadline that’s further down the road and try to hit that one instead.
I stated this case (in less words) when Lucas joined us on The Changelog to discuss his thoughts on product development structures as systems. It was a fascinating conversation that I think you’d enjoy. Give it a listen before your next birthday! 😉
Discuss on Changelog News
It is just not about redundancy. In this post I cover how having more AZs mean you need fewer nodes to achieve higher availability.
Discuss on Changelog News
This is an excellent deep-dive on error message best practices by Jenni Nadler from Wix:
Error messages are part of our daily lives online. Every time a server is down or we don’t have internet, or we forget to add some info in a form, we get an error message. “Something went wrong” is the classic. But what went wrong? What happened? And, most importantly, how can I fix it?
Discuss on Changelog News
Rust is quite popular, but why? Emil Ernerfeldt, CTO of rerun.io, shares his thoughts in the subject.
I believe Rust is the most important development in system programming languages since C. What is novel is not any individual feature (“Rust is not a particularly original language”), but the fact that so many amazing features have come together in one mainstream language.
Rust is not a perfect language (scroll down for my complaints!), but it’s so much nicer than anything else I’ve used.
I’m not alone in loving Rust - Rust has been the most loved language in the Stack Overflow Developer Survey for seven years straight. So what are the features that make me love Rust so much?
Discuss on Changelog News
The Open Podcast Prefix Project is a free and open source podcast prefix analytics service committed to open data and listener privacy. This hits close to home for us in a couple ways, so we invited the project’s creator, John Spurlock, Backstage to learn more about it.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Zach Musgrave from Dolt reviews several case studies of performance problems they ran into while benchmarking Dolt DB to get row access to be as fast as MySQL.
Oh, and he also shares how to fix each problem, which is nice. 😉
Discuss on Changelog News
Out-of-the-box, the Python standard library ships with many great libraries, some of which provide CLIs, allowing us to do many cool things directly from terminal without needing to even open a .py file.
This includes things like starting a webserver, opening a browser, parsing JSON files, benchmarking programs and many more, all of which we will explore in this article.
Discuss on Changelog News
People are starting to wake up to the fact that they have control and ownership over their data, and governments are moving quickly to legislate these rights. John K. Thomson has written a new book on the topic that is a must read! We talk about the new book in this episode along with how practitioners should be thinking about data exchanges, privacy, trust, and synthetic data.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Use the code podpracticalAI19 for 40% off of Data for All, along with all Manning products in all formats!!!
Something missing or broken? PRs welcome!
We revisit our Harmonai story from last week, Jamie Tanna reviews posting his salary history publicly, Sid Sijbrandij’s new (open core) venture fund, Zed Shaw thinks Stripe is like Paypal in 2010 & Helix is a new Rust-based terminal.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
This is awesome — Brandon, please write down more lessons learned, even if they’re just something for you to reference later on.
I’ve been doing this “reliability” stuff for a little while now (~5 years), at companies ranging from about 20 developers to over 2,000. I’ve always cared primarily about the software elements I describe as living “outside” the application – like, how does it get its configuration? What kinds of instances does it run on, and are those the best kinds to use? What steps does it take on its path from “code in a repository” to “running in production”? And I’ve always kept track of what I liked – which mechanisms allowed fast iteration and which caused frustration, which led to outages and which prevented them.
… So! With that out of the way – this is how I’d rebuild it all from scratch if I could.
Discuss on Changelog News
An actual card game to teach actual kids how to actually combine unix commands with pipes.
task: print the most common line from a file, we need to first cat the file (in our case the file is card 03.txt), then sort it, uniq count it, then do numeric sort, then tail -1:
answer:
cat 03.txt | sort | uniq -c | sort -n | tail -1
Print it yourself or… actually it’s sold out for now so you’ll have to print it yourself.
Discuss on Changelog News
Full-stack web development is (still) too complicated. Simple CRUD, a common requirement of any business application, should be simple to build, maintain, and extend when the need arises.
Remult is a full-stack CRUD framework that uses your TypeScript entities as a single source of truth for your API, frontend type-safe API client and backend ORM.
This isn’t just production-ready, it’s been used in production since 2018.
Discuss on Changelog News
vdsql is a new plugin that allows VisiData to connect to databases and query them directly, using the database’s own query engine. It uses Ibis to generate SQL for many popular backends, including Postgres, DuckDB, Clickhouse, and more.
vdsql v0.2, released this past week, is already quite useful, and development continues to improve both vdsql and VisiData for bigger data!
Discuss on Changelog News
Matias Pan is a Staff Software Engineer at Lemon Cash, a crypto startup based in Argentina. Lemon infrastructure runs digital wallets & physical cards, which technically makes them a bank. How does Matias & his team think about enabling developers get code from their workstations into production? Remember, we are talking about a bank - a bad deploy is a big deal. And when a bad database migration goes out, what happens then?
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
npm install -g easy-sharingsharing /directory-or-file-to-shareDiscuss on Changelog News
You’re cordially invited to the “Best Booth in the Building”! We’ll be giving away stickers & t-shirts, recording shows, playing video games & awarding one lucky/skilled listener with a FREE Nintendo Switch 🕹
Discuss on Changelog News
Tapajyoti Bose draws our attention to some obscure-but-useful elements: meter & progress, sup & sub, datalist, map & area, details & summary, object, and abbr
Discuss on Changelog News
If Stable Diffusion has you using metaphors like wizardry, spell casting, and the like, maybe this excellent, illustrated explainer by Jay Alammar will help you distinguish it from magic. 🪄
Discuss on Changelog News
Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes.
This is used by CNCF projects like Flux and Flagger for end-to-end testing as well as workshops.
Discuss on Changelog News
Diagrams are faster and compact way for knowledge transfer. It’s much easier to convey system architecture with a diagram compared to writing an essay on it.
Diagrams are especially useful in providing high level overview of software design. Following are the most-widely used diagrams by engineering teams…
Discuss on Changelog News
When we had Mike Riley on the show back in May, one major deterrent to his pitch that we can/should “run our homes on a Raspberry Pi” is that, well, you couldn’t buy one anywhere.
It’s six months later and you still can’t buy one! In this post, Jeff Geerling dives into the why behind that unfortunate fact, gets an official response from RPi, and lays out a few alternatives. One alternative even pleasantly surprised him…
Discuss on Changelog News
Minimalistic data structure sketches with links to the code examples on JavaScript
Discuss on Changelog News
No, not that Matrix, although I’m sure you could pull this off there as well…
Discuss on Changelog News
The GNU Debugger is powerful, but it can also be inscrutable at times. Maybe this GUI will help?
Discuss on Changelog News
Digital Ocean kicks off Hacktoberfest 2022, Divam Gupta releases DiffusionBee 1.0 with “Image To Image” support, Zeno Rocha open sources Dracula UI for React, GitX gets brought back from the brink & Prerender.io engineers save a bundle by moving off AWS.
Oh, and join us at All Things Open in early November!
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Johannes Schuck holds the opinion that state machines are underrated. So he wrote this:
The goal of this list of facts is not to teach you what state machines are or how to use them; there are plenty of other resources for that. Rather, the goal here is to motivate their usage and to highlight things about them that are frequently overlooked, but nonetheless relevant.
Discuss on Changelog News
Tobias Bieniek:
Have you ever worked with JavaScript? Have you been annoyed by the three hundred copies of left-pad in all of the
node_modulesfolders on your disk? Would you prefer if all of your projects shared theirnode_modulesfolders instead of each getting their own copy?
The single character that saved him all that space? The p in pnpm…
Discuss on Changelog News
This week we turn the mics on ourselves, kind of. Lars Wikman joins the show to give us a guided tour through ID3 esoterica and the shiny new open source Elixir library he developed for us. We talk about what ID3 is, its many versions, what it aims to be and what it could have been, how our library project got started, all the unique features and failed dreams of the ID3v2 spec, how ID3v2 and Podcast 2.0 are solving the problem differently, and how all of this maps back to us giving you (our listeners) a better experience while listening to our shows.
Discuss on Changelog News
Changelog++ members get a bonus 15 minutes at the end of this episode and zero ads. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Jean Yang:
There’s clearly a lot of programmer pain. But why we don’t see more tech transfer of these “deep” technologies from research into industry is something I have been thinking about since I was in college, when I decided I wanted to spend my life making programmers’ lives better. Many other fields, from robotics to databases, have clearer paths to commercialization. But when it comes to new programming languages or software analyses, the path of tech transfer is often decades-long, if it exists at all.
She goes on to describe a few factors that are in the way of “deep tech” dev tools investing, how some of those things are changing, and how others still need to change.
Discuss on Changelog News
Patformatic co-founders Matteo Collina & Luca Maraschi join Amal & Chris to discuss their just-announced (and we mean just announced) open source database tool: Platformatic DB!
It’s a daemon that can turn any PostgreSQL, MySQL, MariaDB, or SQLite database into a REST and GraphQL endpoint. What makes it special is that it allows massive customization thanks to the flexibility of Fastify plugins.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
We did an episode on functional programming in Go with Aaron Schlesinger back in 2019… But that was before generics were a thing. Let’s revisit the topic and discuss the pros and cons now that we have generics. What’s changed? What hasn’t?
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Dracula UI is a dark-first collection of UI patterns and components. Key features:
Built for Dark Mode: Most templates are built using light colors and later on adapted to dark colors. Dark themes shouldn’t be an afterthought, they should be a top priority.
Designer Friendly: Speed up the prototyping phase by using a highly configurable Design System. Collaborate easily by taking advantage of a carefully crafted Figma file.
Great Developer Experience: Don’t worry about class names, just use the Visual Studio Code snippets. You can take advantage of autocomplete and also access the entire documentation right from your code editor.
Discuss on Changelog News
This is a neat little CLI utility from Kelly Brazil that parses the output of common Unix system commands into JSON/YAML. We’re linking to the latest version (1.22.0) which adds new magic parsers for /proc files. This handy glue-type tool gets one click neater every release!
Discuss on Changelog News
Point Refurb at your Python code to see how bad good it is. Here’s the author’s motivation:
I love doing code reviews: I like taking something and making it better, faster, more elegant, and so on. Lots of static analysis tools already exist, but none of them seem to be focused on making code more elegant, more readable, or more modern. That is where Refurb comes in.
Discuss on Changelog News
The podcast moguls of Changelog Media have been keen to introduce chapters into their podcast episodes and they reached out to me for a hand. And would you know, now they have chapters and the Elixir community has a shiny new ID3 tag library.
Chapters are neat, they let you see a Table of Contents, jump to specific parts and similar. The changelog.com site is an open source project built in Elixir. I love working with Elixir. It is a steadily growing but still somewhat niche language and it doesn’t have every library under the sun, only most of them. It hasn’t had a fully fledged ID3v2 library so far. There are a few libraries that let you parse a tag in one specific way, targeting a subset. I haven’t found any that allow writing a tag. To create podcast chapters you need to update the ID3 tag of the MP3 file, or create one from scratch. This means decoding and encoding.
This brought the motivation to create something they needed and contribute that in the open to the community. I think that’s a very healthy approach: building something you actually need and sharing it.
I’ve worked with Jerod on Changelog things in the past and am somewhat active in the Changelog Slack. I’ve also made an appearance on Ship It! early on, recently with episode 70 and I took Jerod with me out to the wider Elixir and Erlang community for an episode of BEAM Radio where I am a host. Typically I write on Underjord.io and on my newsletter. I mostly publish about Elixir with plenty of wider tech opinions.
I want to give a lot of credit to the Changelog folks for their approach to this. Rather than building the bare minimum inside their code base they tasked me with building a useful library that should solve their problem and many adjacent problems people might have. Then turn that loose as open source. They paid to add another library to the Elixir ecosystem and are committed to maintaining it. Classy!
On to the ID3!
The ID3 format Specifically we are targeting ID3v2.3. Because that’s the most commonly used and supported one in our experience. There is the newer ID3v2.4 which we might expand to support at some point. If you want to read or work with the spec I recommend going via the Mutagen project that re-hosts the specs in a much more readable manner.
I’ve covered my reflections on the fun of the ID3 spec and the thoughts it awoke in me on my blog. This time around I want to get more technical about it and by chance shine a light on some very nice parts in my favourite language.
If you have an MP3 file and it wants to offer metadata it probably has an ID3 tag prepended. The format is a nice and tight chunk of binary. It starts with a tag header, 10 bytes, like this:
``` ID3 3 0 X XXXX | | | | |__ 4 bytes of "synch-safe" size | | | |____ 8 bits/1 byte of flags | | |___ 1 byte, revision (currently 0) | |__ 1 byte, version (the 3 in v2.3) |___ Initial 3-byte marker
```
Parsing this out in Elixir with binary pattern matching looks like this:
``` <<"ID3", 3::8, _::8, flag1::1, flag2::1, _more_flags::6, size::32, remainder::binary>> = File.read!("myfile.mp3")
```
Some of those flags can add some additional data to the header but this is the basic thing. You read the flags and the size, convert the size (it uses an unusual format) and you are prepared to get into the next part. Frames. A frame is one piece of metadata. Text frames like TIT1 and TIT2 represent titles, TALB is album. Then we use APIC which is Attached Picture. CHAP which is the slightly newer Chapter frame. And on it goes. Each type of frame has a custom format aside from the T-series. T-frames, text frames, are all the same format.
A frame starts with a frame header, 10 bytes, and it has the following format, exemplified with a TALB frame:
``` TALB XXXX XX | | |_ 2 bytes of flags | |__ 4 bytes of size |______ 4 bytes of frame ID
```
And an Elixir match would look something like this, first pull the header, then use the size to grab the data:
```
<
<
```
The size gives us the ability to grab the rest of the frame data and if we don’t know how to deal with it we can simply skip it to get to the next frame. For cases where we do know how to deal with the frame data that means we’ve implemented that particular type of frame. We can look at the humble text frame as that gives us a lot of useful frames with a single implementation. Most other frames are special butterflies and we need code for all of them. Some examples:
``` @spec parse(id :: binary(), size :: integer(), flags :: integer(), data :: binary) :: map()
def parse("T" <> _, _size, _flags, data) do
<
def parse("APIC", _size, _flags, data) do
<
```
This parse function matches on the frame identifier to take us to the right parsing code. Frame data often comes with a mix of fixed-size fields and variable-length things, such as strings. These variable-length strings are null-terminated. That’s where we call :binary.split above. I’m hand-waving the encoding-handling above. Essentially ID3v2.3 supports ISO 8859-1 and UTF-16. If you are using UTF-16 your null bytes are <<0,0>> and if not <<0>>.
These are the fundamentals of the ID3 format. You have your header, then you have your frames, each frame has a header and some data. The frame data is specific to the frame type. Certain frames can actually have subframes. I’m looking at Chapters (CHAP) here.
Elixir binaries & strings
A curiosity about Elixir is that an Elixir string is just any binary that is clean UTF-8. All strings are binaries but not all binaries are strings. This is why we can write a binary match like this <<"TALB", size::32, flags::16, rest::binary>>. If the first characters spell out “TALB” as a string it will match. Well a UTF-8 string will be the same as an ISO-8859-1 / latin1 string or even an ASCII string if we’re just using your basic letters. This means we have a bunch of cases where we can conveniently use a string in a binary match.
Overall the binary pattern matching syntax is just incredibly useful and powerful and make most work I’ve done with binaries in Elixir quite convenient.
Efficiently building binaries As mentioned we wanted to write tags as well, not just read them. Elixir is a Functional Programming style language and as such maintains immutability. This means when we build our binaries we can’t just add a byte to the end of a piece of memory without consequence. This:
``` new_binary = first_binary <> <<0xff>>
```
Would mean we create a copy. We could get away with this in the ID3 library because we aren’t talking about particularly large binaries in the ID3 tag. Mostly, at least, there can be pictures. The copies are small, the cost is small. I have seen some absurd base64 encoded data in an XML file absolutely murder memory in a poorly considered XML library in Elixir though. Hundreds and hundreds of copies of a large binary. OOM Killer had a field day.
We don’t want that. So we use IO lists. Lists in Elixir are cheap as long as you prepend. IO lists are structures of nested lists and binaries. Our previous operation becomes:
``` new_iolist = [first_binary, <<0xff>>]
```
That’s cheap, new list, two items, we don’t try to change them so they can be simple references to memory and all that. Once we need the final binary we can flatten them with IO.iodata_to_binary/1. Many parts of Elixir also allows writing the IO list directly. I don’t believe I made use of this though.
This means we have a pretty convenient and efficient way of building binaries in an immutable world.
A well-behaved library When I explored the existing libraries to learn from them I ran into what I would consider a small illness of the early days of the Elixir community. Back from when everyone was less experienced with all the possibilities and almost everything was built too cleverly by half. At least one of the libraries I tried set up an app and when I tried to parse a file it would run a GenServer (essentially an actor) to provide a stream interface to the data and the parsing of data got intermingled with the implementation detail of how to get the binary data. I believe it also ended up being a Task, or involved GenServer calls and such. Things that can fail and time out in fun ways.
Now, this library had one thing quite right. You shouldn’t always do a File.read!("myfile.mp3") and call it a day. That means loading the whole file into memory which is overkill. This library does offer a function for parsing the ID3 tags out of a binary you already have, whether you got that from a stream, you read a full file or you generated a file that you want to write. You can use Id3vx.parse_binary for that. But the common case would be reading from a file and parsing that. This should ideally only pull the necessary bytes as needed and leave the rest alone. The tag is at the beginning for a reason. This incremental streaming read is what happens under the hood if you use Id3vx.parse_file as it opens an IO device (essentially a file descriptor).
Regardless of what way you started the parsing procedure the library will pull the bytes of binary data as needed, either from your big hunk of binary file data or from the IO device.
There is very little reason to use any of the fancy parts of Elixir, Erlang or OTP when parsing less than 256MB of binary data. And if you are doing a bit of parsing where you need to do a ton of files in parallel or you need a timeout, then this library offers simple enough primitives that you can stitch that together yourself. There are no global GenServers, no config at all. It reads and it writes and provides a simple API while mostly doing the right thing under the hood.
Representing the data in Elixir Elixir offers maps that are you average hashed dictionary dealio. Efficient random access. Keys. Values. We also have structs that are named maps with a limited set of fields.
I started working with ad hoc maps as I implemented the library but after the fifth or so instance of getting a field-name wrong and not hearing about it until I wrote a test I decided to go with structs. The tag itself is represented as a %Tag{} struct that captures the header information of the tag such as size and flags. It also contains a list of frames. Each frame is a %Frame{} struct with information about size, flags and such. Each frame has a data key that gets into the specific frame implementations. %Text{}, %AttachedPicture{}, %Chapter{} and %Popularimeter{} to list some examples.
I also have a special case which is the %Unknown{} frame. It is essentially a no-op decode. For each frame we keep the raw frame data around and if we need to re-encode a tag where we can’t parse all the frames we can still reproduce it fully.
When you throw a file path or binary at this library for parsing you will get a %Tag{} struct and if you can produce a %Tag{} struct the library should be able to encode you an appropriate ID3 tag.
Purpose-built API The library is built primarily to add chapters to a podcast but also in general to make building out ID3 tags decently convenient. With ID3 tags there are certain tasks that are very common and a lot of less common ones. To support the more common set I built out a pipeline-style API. If you need the less common frames or perfect control you have every possibility to construct the Frame structs yourself and add appropriate data. They typically have solid defaults as well. But for the 90% use-case, this is the way you’d do things:
``` alias Id3vx.Tag
Tag.create(3) # For ID3v2.3, the 3 in 2.3 |> Tag.add_text_frame("TIT1", "Regular Programming") |> Tag.add_typical_chapter_and_toc( 0, # start-time 20, # end-time 0, # start byte offset 1024, # end byte offset "Chapter 1", # title fn chapter -> # callback for adding to chapter
chapter
|> Tag.add_text_frame("TPUB", "Chapter publisher")
|> Tag.add_attached_picture("", "image/jpeg", File.read!("mypicture.jpg"))
end
)
```
That code would create a tag struct with a title and one chapter. Rinse and repeat for more chapter, more images, more text fields.
You can see it in action in Changelog’s code doing specifically this:
``` def add_chapters_to_tag(tag, chapters) do Enum.reduce(chapters, tag, fn(c, acc) -> Tag.add_typical_chapter_and_toc(acc, in_milliseconds(c.starts_at), in_milliseconds(c.ends_at), 0, 0, # settings start/end offsets to zero forces use of start/end times c.title, fn(chapter) -> chapter |> add_link_to_chapter(c.link_url) |> add_image_to_chapter(c.image_url) end) end) end
```
For writing the tag you could use Id3vx.encode_tag and then concatenate it to the start of an MP3 like encoded_tag <> File.read!("myfile.mp3") but what if that file might already have an ID3 tag you want to replace? This was something Jerod needed that also makes a ton of sense.
This gave rise to Id3vx.replace_tag(tag, infile, outfile) which will take a media file, find the ID3 tag and measure it, strip it off of the start of the file and then encode and add our own tag. Example from Changelog’s codebase here:
``` new_tag = episode |> tag_for_episode() |> add_image_to_tag(cover_file) |> add_chapters_to_tag(chapters)
Id3vx.replace_tag(new_tag, file_path, tagged_file_path)
```
We don’t implement full ID3v2.4 support (contributions welcome) but I believe we can replace them just fine.
For any usage that is more complex than this there is plenty of in-depth primitive data to access in the frames, there are functions that let you encode things piecemeal and much more.
I hope this library will be useful in general around the Elixir community and I’m very glad that Changelog podcasts will now have chapters.
Discuss on Changelog News
One of our listeners, Andrew Welker, suggested that we talk about Klustered, so a few hours before David Flanagan was about to do his workshop at Container Days, we recorded this episode. We talked about all the weird and wonderful Kubernetes debugging sessions on Klustered, a YouTube playlist with 43 videos and counting.
We then talked about Rawkode Academy, and we finished with conferences. Good thing we did, because David almost forgot about KubeHuddle, the conference that he is co-organising next week. Gerhard is looking forward to talking at it! No, seriously, check it out at kubehuddle.com.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
SHIPIT and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
MNT Research… is going small for its next project. The MNT Pocket Reform has a seven-inch screen with a clamshell design that, when closed, will be less than five centimeters thick. If its perky purple facade looks a bit retro, that’s no surprise; the Pocket’s inspirations read like a ‘greatest hits’ list of pocketable computers.
They’re taking open source seriously:
MNT’s open-source promise is not limited to an open source operating system or select internal components The Pocket Reform, as with MNT’s full-size Reform laptop, will provide mainboard schematics, 3D models for physical components, and open source drivers, among other things.
Coming soon to a crowd fund near you.
Discuss on Changelog News
Zsot Varga explains how Prerender saved $800k annually by removing their reliance on AWS and building in-house infrastructure to handle traffic and cached data. This was no minor migration, and it took months to pull off, but it’s a solid lesson in testing your assumptions.
The cloud (which is AWS in most cases) is the default for most businesses today. That’s a good starting place for many reasons, but once you get up and going you may find it’s not the best choice for your business, like the folks at Prerender learned.
Discuss on Changelog News
It’s Hacktoberfest again, but you don’t know where to find interesting projects? This CLI will help you find participating projects based on your starred repositories. Simply run:
``` npx hacktoberfest-hunt
```
Discuss on Changelog News
I love that people are bringing HTML back to the forefront:
Our mission is to enable anyone to build multi-page dynamic web apps while staying as close to the platform as possible. Enhance fills in the gaps to make building for the backend, and the browser a seamless experience for web authors and consumers.
Modern JavaScript frameworks bring more problems than they solve; recreating native web platform features adding unnecessary weight and complexity, which is challenging to unravel.
Enhance provides a dependable foundation built on standards-based web platform features, allowing developers to create web applications that are lightweight, flexible, and future-proof.
Discuss on Changelog News
It’s one thing to gather some labels for your data. It’s another thing to integrate data labeling into your workflows and infrastructure in a scalable, secure, and useful way. Mark from Xelex joins us to talk through some of what he has learned after helping companies scale their data annotation efforts. We get into workflow management, labeling instructions, team dynamics, and quality assessment. This is a super practical episode!
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Vivian Qu states her case as to why Apple’s decision to remove outdated apps from the App Store is dumb, especially for indies like her.
Never mind the fact that my app has a 5-star rating and was still being downloaded, with no complaints from any of my users. Also disregard the fact that I had other highly-rated apps up on the App Store, some of which had been updated much more recently than July 2019, clearly showing that I have not abandoned these apps entirely. If there had been an actual reviewer who checked my outdated app, they would have discovered that I architected the app from the beginning to dynamically scale the UI so it resizes to fit the latest iPhone devices. All these could be signals that indicate to Apple that this is not a garbage-filled scam app that is lowering the quality of their App Store.
She goes on to tell the entire saga that she (and others) were put through to keep their apps on the store. Sometimes an app isn’t outdated, it’s just complete. Ya know?
Discuss on Changelog News
Michael Knyszek:
Since our last blog post about the Go GC in 2018 the Go GC, and the Go runtime more broadly, has been steadily improving. We’ve tackled some large projects, motivated by real-world Go programs and real challenges facing Go users. Let’s catch you up on the highlights!
Lots of invisible changes/improvements, but Michael focuses in on a new knob that he’s encouraging gophers to play with: the soft memory limit
Discuss on Changelog News
This is a great starter snippet for any web page:
``` main { max-width: 38rem; padding: 2rem; margin: auto; }
```
The linked post explains the why behind these rules and expands with a 100 byte alternative and the comments have a bunch of variants and conversation about each specific rule.
Discuss on Changelog News
Mozilla says Firefox will continue to support current content blockers, Nabeel Sulieman thinks NATS is great and recommends you check it out, InfoQ breaks down Uber’s recent security breach, Klemen Sever explained OAuth2 by drawing cute shapes & Jorge Manrubia reflects back as an aging programmer.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
This book is my condensed personal experience in the last 12 years in various projects, communities and roles in Open Source. Including my best practice, tips and a lot of examples and resources.
After 2 years a new edition is here with new stuff and also available on Amazon Kindle.
134 pages about best practices and suggestion about the open source world!
Discuss on Changelog News
This project is a web implementation of the raining green code seen in the Matrix franchise. It’s built right on top of the upcoming graphics API WebGPU, but falls back to the functional WebGL wrapper, REGL; its previous Three.js version is maintained in a separate branch.
I used to spend countless hours in college scouring the web for the best digital rain screen saver for my laptop. Sounds like the author is with me on that:
The number of implementations out there of this effect is a testament to the size of the film’s impact on popular culture. For decades, I’ve enjoyed searching for and comparing them from time to time. That’s probably how you arrived here— it’s fun to see what kinds of solutions different people come up with to a problem, when the process is purely recreational and its success is subjective.
This one’s really nice and even has a 3D mode. The README says it’s “made with love”, but from what I can tell it’s almost entirely JavaScript. 😜
Discuss on Changelog News
This week we’re talking about product development structures as systems with Lucas da Costa. The last time we had Lucas on the show he was living the text-mode only life, and now we’re more than 3 years later, Lucas has doubled down on all things text mode. Today’s conversation with Lucas maps several ideas he’s shared recently on his blog. We talk about deadlines being pointless, trajectory vs roadmap and the downfall of long-term planning, the practices of daily stand-ups and what to do instead, measuring queues not cycle time, and probably the most controversial of them all — actually talking to your customers. Have you heard? It’s this newly disruptive Agile framework that seems to be working well.
Discuss on Changelog News
Changelog++ members get a bonus 6 minutes at the end of this episode and zero ads. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
This looks awesome:
We are a group of programmers helping each other build new things, whether it be writing complex encryption programs, or simple ciphers. Our goal is to work together to document and model beautiful, helpful and interesting algorithms using code.
We are an open-source community - anyone can contribute. We check each other’s work, communicate and collaborate to solve problems. We strive to be welcoming, respectful, yet make sure that our code follows the latest programming guidelines.
Discuss on Changelog News
We’re back with another spicy YepNope debate! This time, Amelia and KBall are arguing that there’s real value to (continue) using React in 2022, while Amal and special guest (and author of the post which stemmed the whole debate) Josh Collinsworth argue that React’s time leading innovation has passed. Of course, the stance each panelist is taking is assigned ahead of time. Is that how they really feel? Tune in and find out!
Discuss on Changelog News
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
We recently logged jqq (an interactive wrapper around jq), but Ruby means installing it can be a burden. jqp wraps gojq, so it compiles to a universal binary and the UI is pretty compelling as well.
Discuss on Changelog News
Unlike the alternatives, Rocketry’s scheduler is statement-based. Rocketry natively supports the same scheduling strategies as the other options, including cron and task pipelining, but it can also be arbitrarily extended using custom scheduling statements.
That’s pretty useful! I used to struggle to shove conditionals in to my cron jobs. Example time:
``` from rocketry.conds import daily, time_of_week from pathlib import Path
@app.cond() def file_exists(file): return Path(file).exists()
@app.task(daily.after("08:00") & file_exists("myfile.csv")) def do_work(): ...
```
Discuss on Changelog News
PyScript is a Pythonic alternative to Scratch, JSFiddle, and other “easy to use” programming frameworks, with the goal of making the web a friendly, hackable place where anyone can author interesting and interactive applications.
Lots of code examples of various apps (clock, repl, todos, etc) here. I love the why behind this effort:
As an industry, we have focussed on making the impossible possible, rather than focussing on making the possible accessible to all.
They want to bring programming to the 99%. Somebody’s gotta do it…
Discuss on Changelog News
If you are running Kubernetes, or really any kind of microservice architecture, you will eventually run into challenges with communication and synchronization between your instances. To solve this, I recommend deploying an instance of NATS as part of your initial infrastructure setup.
NATS is great! I tell you why in this blog post.
Discuss on Changelog News
In this episode, we will be exploring interviewing as a Software Engineer. Tips, tricks, and gotchas, as well as potentially some interviewing horror stories and red flags to avoid at all costs. We’re joined by Emma Draper, Engineering Manager at the New York Times based in Arizona, and Kate Jonas, goes by Jonas, Technical Enablement Manager at Datadog based in Denver.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Adam and I have wanted our podcasts to have chapters for a looooong time.
Like, multiple years long.
They’re such a great way to navigate and explore an episode. You can skip directly to the subjects that interest you, skip past the ones that don’t, and even discover new parts of the show1 that pique your interest.
I’m a big chapters user myself; have been ever since the feature was added to my podcast app of choice and some podcasts I listen to added them. But we never put in the work to chapter our podcasts because of various challenges in our way.
The challenges We’ve self-hosted (and self-content-managed) our podcasts since 2016. To get that done, we built our own web app because, well, we’re software developers2 and as the saying goes:
haters gonna hate, liars gonna lie, developers gonna develop
This app has served us very well, but one consequence of that decision is that we can’t sit around and wait for a (often VC-backed) hosting company to announce a feature like chapters and simply start using it. We have to roll it ourselves.
Two (and a half) factors made this challenging.
1️⃣ We shell out to (the extraordinary) FFmpeg to write ID3 tags on our mp3 files upon upload. FFmpeg, it just so happens, doesn’t support ID3v2’s chapter frame feature.
2️⃣ Our app is written in (the extraordinary) Elixir language. Elixir, it just so happens, didn’t have an ID3v2 package that we could use instead of FFmpeg to do that job.
And the half: I’m mostly an app developer. I write little libraries here and there, but I am not great at reading a spec (especially one that uses a binary file format) and turning that into a library. I know I could do it if I had to… but it’d take me a long time and I only get a few hours each week to work on this stuff.
Enter Sandman Wikman I can’t recall what finally tipped the scale, but one day earlier this year it just felt like the right time to finally tackle chapters head on.
So, I figured that if we could hire our friend (and long-time listener) Lars Wikman to do the heavy lifting and create an ID3v2 package that supports chapters, I could find time to manage the rest.
Adam was down. Lars was down. The rest was all heavy metal code.
Prompt: Metallica's "Enter Sandman" poster but it's a computer programmer and says "Enter Wikman"
Lars created and released id3vx for us, an Elixir library for parsing and encoding ID3 tags. I put it to use in our codebase, and here we are.
Ok, it wasn’t all straight forward. But the details are only slightly interesting, and surely more interesting to us than they are to you. Lars joined us on our 7th Kaizen episode of Ship It! to discuss some of those details.
Listen to that if you’re super curious. What follows are a few bits that are worth a mention.
Our production workflow Adding the technical means to attach chapters to an mp3 file is one thing, but being able to do that at scale (we publish 5ish episodes a week) and have them be good is a whole other matter.
We have a team of people producing these shows. From the host(s) that do the recording, to the content editors that cut out the bad parts, to the producers who put it all together and ship it out. We needed a way for the chapters to be added throughout the process by the people with the most context, but still editable by the producers and publishers. Here’s our flow:
1) Content editor leaves waypoints Content editing is the process of taking the raw audio tracks and removing the bad bits, smoothing out the rough spots, and generally making it as listenable as possible. This work requires you to listen to the entire podcast, sometimes at a painstakingly slow pace. It’s tedious work, but it also means you have the most context to detect topic changes than anyone else in the process.
Here’s before and after shots of our recent Go Time episode on avoiding bloat:
Go Time #246 prepped for editing. Click for full resolution image.
Go Time #246 content edited. Click for full resolution image.
2) Producer formalizes as markers
See all of those Topic Change markers in the panel on the left side of the project? Those are spots the editor thinks would make a good chapter break. They aren’t 100% usable, but they’re good enough for the producer to formalize during the final, “mastering” stage of production. Here’s what the chapter markers look like when the episode is finally ready to be mixed down and uploaded:
Go Time #246 mastered and ready to ship. Click for full resolution image.
3) Publisher enters into our admin
After the mix down, we end up with a .wav file that has the markers and metadata in it and a .mp3 that needs ID3 tags. I decided early on that the source of truth for chapters would be in our admin, not the .wav file.
So, I built a little admin UI for manually adding/editing chapters (painful!) and a mechanism for “bootstrapping” an episode’s chapter by dropping the .wav file on the form (delightful!)
This part is actually pretty fun!
Now that we have the episode’s chapters in our database and a pure-Elixir library for writing them out as ID3 tags, we can output the chapters in all the right places!
Chapters, chapters, everywhere Writing the chapter metadata to our mp3s was the hard part, but that’s not the only place they’re useful. You’ll find this feature manifesting in a few different places:
In your podcast app This is the big one, of course. Any podcast app that parses chapter info from ID3 tags should have them! If yours does, but you don’t see any chapters. Please let us know in the comments!
Left to right: Pocket Casts, Overcast, Apple Podcasts
In your RSS feed
Podcasting 2.0 is a very interesting movement that we discussed briefly on our latest RSS episode with Ben Ubois. They’ve created a new namespace and are adding a bunch of new tags. We’ve added a few of them to our feeds. Namely: funding, transcript, person, and now chapters.
On that episode linked above, we debated the pros/cons of putting chapters in the RSS feed instead of in the mp3 itself. I represented the 2.0 spec drafters’ decision pretty well on the podcast, but I’ve since found this blurb which explains their logic quite nicely:
Benefits with this approach are that chapters do not require altering audio files, and the chapters can be edited after publishing, since they are a separate file that can be requested on playback (or cached with download). JSON chapter information also allows chapters to be displayed by a wider range of playback tools, including web browsers (which typically have no access to ID3 tags), thus greatly simplifying chapter support; and images can be retrieved on playback, rather than bloating the filesize of the audio. The data held is compatible with normal ID3 tags, thus requiring no additional work for the publisher.
We’ll continue to put our chapters in both places for the foreseeable future, but hopefully more apps hop on the new hotness soon!
In your episode page Why not also emit chapters on the episode details page and link up the timestamps to our onsite player? HTML for the win! (So much so that this was the first place the feature appeared. Too easy!)
The player itself hasn’t integrated chaptering yet, but since we already have the data as JSON, that should be pretty easy to wire up.
Enjoy! Special thanks to Lars, Maqbool, Jason, and everyone who worked with us on this effort. Some have called the addition of chapters “The greatest technical improvement to Changelog podcasts since transcripts! And by some, I mean me. I’ve been calling it that. 😜
We’ll probably improve and refine from here. A few easy wins: adding more links, image support, onsite player support. But they’re pretty well baked for now, we hope you enjoy ’em!
If you crave more tasty ID3/Lars content, check out his blog posts and stay tuned for next week’s episode of The Changelog when we’ll be nerding out on the craziness of the spec! 💚
Discuss on Changelog News
They’re really putting the Open in OpenAI with this one…
Whisper is an automatic speech recognition (ASR) system trained on 680,000 hours of multilingual and multitask supervised data collected from the web. We show that the use of such a large and diverse dataset leads to improved robustness to accents, background noise and technical language. Moreover, it enables transcription in multiple languages, as well as translation from those languages into English. We are open-sourcing models and inference code to serve as a foundation for building useful applications and for further research on robust speech processing.
We might need to give this a spin on our transcripts. Who knows, maybe our next big innovation could be The Changelog in German, French, Spanish, etc!
Discuss on Changelog News
Nick Nisi hasn’t played it yet, but he’s already declared TDungon to be the “Game of the Year”…
Discuss on Changelog News
Dave Farley, co-author of Continuous Delivery, is back to talk about his latest book, Modern Software Engineering, a Top 3 Software Engineering best seller on Amazon UK this September. Shipping good software starts with you giving yourself permission to do a good job. It continues with a healthy curiosity, admitting that you don’t know, and running many experiments, safely, without blowing everything up. And then there is scope creep…
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Dave Rupert brainstorms some new CSS organization acronyms.
I’m not anti-BEM nor anti-roboclasses, but as we enter a new era for CSS I think we have an opportunity to rethink best practices around architecting CSS. Before we get lost rethinking the wheel, let’s hold on to some good principles from the past decade or so:
- We want to author in components
- We generally want low-specificity to avoid collisions
- We want a bucket of global utility classes/variables for ad-hoc composition or customizations
With those principles, let’s dive into some CSS architecture alternatives.
He goes on to describe CUBE, HECS, WILS, GPC, and other systems that haven’t even been named yet 😆
Discuss on Changelog News
iliana etaoin:
There is a lot of attention on securing “software supply chains.” The usual approach is that you want to try to avoid security issues in your underlying components from impacting customers of your product; and when they do, you want to be able to respond quickly to fix the issue. The people who care about this class of problem are often software companies. The class of components that are most concerning these companies are ones where unpaid hobbyist maintainers wrote something for themselves with no maintenance plan.
This is where the supply chain metaphor — and it is just that, a metaphor — breaks down…
I think we all know this intrinsically, but it’s easy to forget. iliana goes on to describe feelings I’ve heard expressed by a few maintainers recently:
I just want to publish software that I think is neat so that other hobbyists can use and learn from it, and I otherwise want to be left the hell alone. I should be allowed to decide if something I wrote is “done”. The focus on securing the “software supply chain” has made it even more likely that releasing software for others to use will just mean more work for me that I don’t benefit from. I reject the idea that a concept so tenuous can be secured in the first place.
Discuss on Changelog News
The picture below explains it better than I can with words. 👇
Discuss on Changelog News
WeightWatcher, created by Charles Martin, is an open source diagnostic tool for analyzing Neural Networks without training or even test data! Charles joins us in this episode to discuss the tool and how it fills certain gaps in current model evaluation workflows. Along the way, we discuss statistical methods from physics and a variety of practical ways to modify your training runs.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
This essential guide is designed to be useful for pretty much any team member: find out why your project would benefit from a shared set of practices and patterns between designers and frontend engineers.
Discuss on Changelog News
Here’s Paul Graham with some wise advice he’s learned from YC’s users — this also tees up a large conversation on this Friday’s episode of The Changelog (talk to your users).
I recently told applicants to Y Combinator that the best advice I could give for getting in, per word, was. Explain what you’ve learned from users.
Here’s why that makes sense.
That tests a lot of things: whether you’re paying attention to users, how well you understand them, and even how much they need what you’re making.
But giving this advice made Paul consider what he has learned from YC’s users (the startups they’ve funded). This one is almost cliché at this point, but still quite true.
Focus is doubly important for early stage startups, because not only do they have a hundred different problems, they don’t have anyone to work on them except the founders. If the founders focus on things that don’t matter, there’s no one focusing on the things that do.
Discuss on Changelog News
We’re currently refurbishing 🙃 our authentication stack at Back Market, and we need to onboard our developers and teams to various OAuth2 concepts. Here’s our take on OAuth2 (with cute shapes.
Discuss on Changelog News
Andreas Kling’s new cross-platform browser project, Dan Hollick’s nerdy deep-dive on QR code tech, Stephan Dilly’s Rust-based terminal UI for Git, Miłosz Piechocki’s opinion on junior vs senior engineers & Divam Gupta’s Tensorflow port of Stable Diffusion.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Tan Li Hau gave this talk at Front Conference, but the videos won’t be out for a year (!), so he gave the talk again and posted it to his YouTube channel. Here’s how he described the video to us:
Watch the <1 hour video to write a simplified Svelte compiler <300 lines of code is amazing! Easy to follow, inspiring, and gives a great overview of how to write a compiler.
Discuss on Changelog News
Here’s the motivation behind this Rust-based TUI:
I do most of my git work in a terminal but I frequently found myself using git GUIs for some use-cases like: index, commit, diff, stash, blame and log.
Unfortunately popular git GUIs all fail on giant repositories or become unresponsive and unusable.
GitUI provides you with the user experience and comfort of a git GUI but right in your terminal while being portable, fast, free and open source.
Discuss on Changelog News
This week on The Changelog we’re talking about Stable Diffusion, DALL-E, and the impact of AI generated art. We invited our good friend Simon Willison on the show today because he wrote a very thorough blog post titled, “Stable Diffusion is a really big deal.”
You may know Simon from his extensive contributions to open source software. Simon is a co-creator of the Django Web framework (which we don’t talk about at all on this show), he’s the creator of Datasette, a multi-tool for exploring and publishing data (which we do talk about on this show)…most of all Simon is a very insightful thinker, which he puts on display here on this episode. We talk from all the angles of this topic, the technical, the innovation, the future and possibilities, the ethical and the moral – we get into it all. The question is, will this era be known as the initial push back to the machine?
Discuss on Changelog News
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Adam was invited by our friends at Square to interview Jack Dorsey as part of their annual developer conference called Square Unboxed. Jack Dorsey is one of the most prolific CEOs out there — he’s a hacker turned CEO and is often working at the very edge of what’s to come (at scale). Jack is focused on what the future has to offer, he’s considered an innovator by many. He’s also a Bitcoin maximalist and has positioned himself and Block long on Bitcoin.
What you’re about to hear is the fireside chat Adam had with Jack at Square Unboxed 2022. Jack and Adam discuss the vision Square has for the developer platform and why it’s so central to the company’s strategy.
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Ali & Divya recorded seven (!) awesome conversations all about Remix and the web ecosystem live on-stage at the first-ever Remix Conf after-party!
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Connect’s creators call it a “better gRPC”, but I am in no position to evaluate that claim so I will leave it as an exercise for you. Here’s what they have to say about it:
Connect is production-ready — focused, simple, and debuggable — and it’s fully compatible with gRPC clients and servers. If you’re frustrated by the complexity and instability of today’s gRPC libraries, we think you’ll find Connect a breath of fresh air.
Go library out now. Connect for TypeScript is “coming soon”
Discuss on Changelog News
Did you know VS Code has a proprietary license?
Microsoft’s vscode source code is open source (MIT-licensed), but the product available for download (Visual Studio Code) is licensed under this not-FLOSS license and contains telemetry/tracking.
The VSCodium project exists so that you don’t have to download+build from source. This project includes special build scripts that clone Microsoft’s vscode repo, run the build commands, and upload the resulting binaries for you to GitHub releases. These binaries are licensed under the MIT license. Telemetry is disabled.
They also have various package managers covered, so you can brew install --cask vscodium, etc.
Discuss on Changelog News
I entered Rust four years ago. To this moment, I co-authored teloxide and dptree, wrote several publications and translated a number of language release announcements. I also managed to write some production code in Rust, and had a chance to speak at one online meetup dedicated to Rust. Still, from time to time I find myself disputing with Rust’s borrow checker and type system for no practical reason. Yes, I am no longer stupefied by such errors as cannot return reference to temporary value – over time, I developed multiple heuristic strategies to cope with lifetimes…
But one recent situation has made me to fail ignominiously.
Discuss on Changelog News
A reasoned critique of the often lauded with keyword that can be summarized as:
Return values from different expressions in a
withblock can only be distinguished by the shape of the data returned. This creates ambiguity inwith’selseclauses that make code harder to understand and more challenging to modify correctly.
The author describes the problem in detail and even provides two alternatives to with..else that avoid the resulting ambiguity.
Discuss on Changelog News
During a conversation in the #gotime channel of Gopher Slack, Jerod mentioned that some people paint with a blank canvas while others paint by numbers. In this 8th episode of the maintenance series, we’re talking about maintaining our knowledge. With Jerod’s analogy and a little help from a Leslie Lamport interview, our panel discusses the myth of incremental progress.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Bozhidar Batsov:
Every now and again I come across some discussion on making Emacs “modern”.1 The argument always go more or less like this - Emacs doesn’t look and behave like and the world will end if we don’t copy something “crucial” from it…
If you ask me - there’s pretty much nothing we can do that would suddenly make Emacs as popular as VS Code. But you know what - that’s perfectly fine. After all there are plenty of “modern” editors that are even less popular than Emacs, so clearly being “modern” doesn’t make you popular. And there’s also our “arch-nemesis” vim, that’s supposedly as “dated” as Emacs, but is extremely popular.
Discuss on Changelog News
Today we are talking how to optimise sociotechnical systems with Ben Ford, founder & CEO of Mission Control. The correct order is: people, process & technology. The tools are important, and we talk about specific ones in the second half of this episode, but there are rules and principles that govern how people interact, and we need to start there.
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Cheeky title, but they’re talking about cheat, which is different than man and info in that it’s entirely example based and community maintained.
The cheat system cuts to the chase. You don’t have to piece together clues about how to use a command. You just follow the examples. Of course, for complex commands, it’s not a shortcut for a thorough study of the actual documentation, but for quick reference, it’s as fast as it gets.
Discuss on Changelog News
When we had Paul Copplestone from Supabase on The Changelog I asked him what a cloud native Postgres would look like. He replied,
Decoupled compute and storage. So the idea is that you should be able to attach the compute part of it to a storage, hopefully like an infinite storage; you know, anything that is infinitely scalable. If you can do this, and in particular, if the compute can start up very fast, maybe in, say, a hundred milliseconds via some sort of HTTP response, then that’s cloud native, yeah.
Enter Neon, which sells itself as:
The multi-cloud fully managed Postgres with a generous free tier. We separated storage and compute to offer autoscaling, branching, and bottomless storage.
Behind this new business from MemSQL co-founder Nikita Shamgunov is the linked (Apache-licensed) server written in Rust.
Discuss on Changelog News
Simply run git log --full-history --date=short --pretty=format:"%ad,%an" > gitlog.csv and upload the resulting file. Here’s what changelog.com’s looks like (10+ commits only to keep it tight) 👇
Discuss on Changelog News
Spoiler alert: it’s a Pi-hole
How does the Pi Hole work though? The Pi Hole answers your computer’s DNS queries and if it is a domain on the blacklist, it sends the request to the Pi Web server. This Web server just serves up a blank page. So instead of loading the ad from the real domain, the blank page from the Pi is downloaded, thus “blocking” the ad or metric.
How effective is the setup, in practice?
Statistically speaking our household is averaging 15% of queries blocked and a spike over a bad weather weekend of 30% blocked. It is scary and incredible to think the number of ads and metrics forced upon us, and this number continues to increase. I am delighted with the Pi Hole project and am recommending it to all.
Discuss on Changelog News
Hugging Face is increasingly becomes the “hub” of AI innovation. In this episode, Merve Noyan joins us to dive into this hub in more detail. We discuss automation around model cards, reproducibility, and the new community features. If you are wanting to engage with the wider AI community, this is the show for you!
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Dragonfly is a modern in-memory datastore, fully compatible with Redis and Memcached APIs. Dragonfly implements novel algorithms and data structures on top of a multi-threaded, shared-nothing architecture. As a result, Dragonfly reaches x25 performance compared to Redis and supports millions of QPS on a single instance.
Discuss on Changelog News
Here we will collect information about awesome useful and awesome experimental tools that simplify working with databases for DBA, DevOps, Developers and mere mortals.
Feel free to add information about your own db-tools or your favorite third-party db-tools.
Discuss on Changelog News
Nick and Chris welcome back Mik and Bret to discuss logging and error handling in Node and JavaScript and the subtleties and intricacies that extend far beyond console.log!
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
This week we’re peeking into the future again — this time we’re looking at the future of modern code review and workflows around pull requests. Jerod and Adam were joined by two of the co-founders of Graphite — Tomas Reimers and Greg Foster.
Graphite is an open-source CLI and code review dashboard built for engineers who want to write and review smaller pull requests, stay unblocked, and ship faster. We cover all the details – how they got started, how this product emerged from another idea they were working on, the state of adoption, why stacking changes is the way of the future, how it’s just Git under the hood, and what they’re doing with the $20M in funding they just got from a16z.
Discuss on Changelog News
Changelog++ members get a bonus 5 minutes at the end of this episode and zero ads. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Last week I logged the very impressive Imagen project, which smarter people than me have said is the SOTA for text-to-image synthesis. Now a WIP implementation is just a pip install imagen-pytorch away.
Architecturally, it is actually much simpler than DALL-E2. It consists of a cascading DDPM conditioned on text embeddings from a large pretrained T5 model (attention network). It also contains dynamic clipping for improved classifier free guidance, noise level conditioning, and a memory efficient unet design.
Discuss on Changelog News
Kev Quirk:
DuckDuckGo, the privacy centric search firm have been found to be allowing Microsoft trackers through their browser. It’s dishonest, and I’m really disappointed.
Noteworthy: this is the DDG browser, which I’ve never used. Not the search engine. But still, this is concerning like Kev says:
DuckDuckGo tout themselves as being highly transparent and privacy respecting in everything they do. So to discover that they have been keeping this tidbit of information from their users — one that goes against the very fibre of the company — is a little concerning for me.
Discuss on Changelog News
Richard Hipp, announcing SQLite version 3.39.0 in their forums:
If you prefer, you can experiment with the latest 3.39.0 code directly in your web-browser and without having to download or install anything by visiting sqlite.org/fiddle/. (The page name is by analogy to sites like “JSFiddle” and “SQLFiddle”.)
The page runs a WASM-compiled copy of a recent 3.39.0 build in a sandbox in your web browser. Using controls on that page, you can import database files from your local machine (assuming they aren’t too big), work with them, then export any changes back to your desktop.
WebAssembly FTW!
Discuss on Changelog News
Unreproducible issues, although rare, are typical for each project, sooner or later. They can affect different system parts and make us many causes for investigating and fixing them.
In this article, I try to share some of the techniques I have used in such investigations, which gave me great help in such scenarios. I hope they are helpful to you (if you did not use them already). And, if you have techniques of your own, share them!
Discuss on Changelog News
Ken Kantzer was part of ~20 code audits of companies that had just raised their A or B rounds of funding:
It was fascinating work – we dove deep on a great cross-section of stacks and architectures, across a wide variety of domains. We found all sorts of security issues, ranging from catastrophic to just plain interesting. And we also had a chance to chat with senior engineering leadership and CTOs more generally about the engineering and product challenges they were facing as they were just starting to scale.
In this post he shares some of the more surprising things he’s learned from the experience. There’s a lot to digest in this post, but I’ll highlight my favorite to whet your whistle:
Simple Outperformed Smart. As a self-admitted elitist, it pains me to say this, but it’s true: the startups we audited that are now doing the best usually had an almost brazenly ‘Keep It Simple’ approach to engineering. Cleverness for cleverness sake was abhorred. On the flip side, the companies where we were like ”woah, these folks are smart as hell” for the most part kind of faded.
Discuss on Changelog News
The Berlin tech ecosystem was all about PHP/Python for a long time. In the recent years it became a tech hub and an early adopter of Go. In this conversation we’ll see how this reflects in the 10+ years old Go meetup, with the meetup organizing team.
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
This excellent “pragmatic guide to getting things done” distills down many of the teachings in David Allen’s best-selling book that popularized the system.
Discuss on Changelog News
This is the post-KubeCon CloudNativeCon EU 2022 week. Gerhard is talking to Matt Moore, founder & CTO of Chainguard about all things Knative and Sigstore.
The most important topic is swag, because none has better stickers than Chainguard.
The other topic is the equivalent of Let’s Encrypt for securing software.
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
YouTubeDrive is a Wolfram Language (aka Mathematica) package that encodes/decodes arbitrary data to/from simple RGB videos which are automatically uploaded to/downloaded from YouTube. Since YouTube imposes no limits on the total number or length of videos users can upload, this provides an effectively infinite but extremely slow form of file storage.
Filed under: ways-no-youtube-engineer-ever-imagined-people-would-use-their-software
Discuss on Changelog News
Billy Wilcosky:
Flat file web software is about having a set up which doesn’t use a “traditional” database. Instead it uses plain text files, other files, and/or maybe something like a json feed to store the data.
In this post, he explains why he thinks flat file web software is on the come up (again):
Flat file software can be powerful. Depending on what you need. And I think with the right developers and brain power behind the movement it can be more scalable and secure. The sky’s the limit. When I hear a developer saying, no, flat file isn’t good because… really all I’m hearing is they don’t want to change the way web software works. Because what I’ve found is most anything is possible.
Here’s a couple of flat file platforms which are incredible. One is a CMS/blog, the other a forum. Yes, a flat file forum.
A somewhat-related categorical question: Does SQLite count?
Discuss on Changelog News
Google researchers are giving DALL-E a run for its money:
Our key discovery is that generic large language models (e.g. T5), pretrained on text-only corpora, are surprisingly effective at encoding text for image synthesis: increasing the size of the language model in Imagen boosts both sample fidelity and image-text alignment much more than increasing the size of the image diffusion model.
Discuss on Changelog News
TIL that Pong was built using hardware circuitry. Fascinating! Here’s the original schematics from Atari 👇
Discuss on Changelog News
This package wraps the graphql-go/graphql implementation to provide a “fluent” pattern for constructing GraphQL queries in Go. This can be valuable in situations where dynamic queries are desired: when the fields of a GraphQL query (or mutation) are not known until runtime. For most other use cases, plain query strings or a helper library such as this should be sufficient.
I wonder if this would change Mislav’s unpopular GraphQL/Go opinion…
Discuss on Changelog News
Testing microservice architecture locally is difficult. At Nylas, we’ve created a local development environment using Minikube and Tilt. In this article, I walk you through how we do it.
Discuss on Changelog News
Ignoring progressive enhancement could be seriously hurting your conversions. This article will show you how to build resiliency into your apps.
Discuss on Changelog News
Chris Kiehl hits his hammer right on the head of this common sentiment in software circles:
Developers from certain languages [Java] have learned to wield this design principle with more power than many others. It’s how we end up with so much stuff in code bases that’s just… there. Existing. Superficially it appears unused, but silently and stoically, we know it protects us from the turbulent future change which lurks ever ahead.
The antithesis of one of my favorite design principles: YAGNI
Discuss on Changelog News
If you’ve ever wondered how the Linux kernel does its thing:
The goal is simple - to share my modest knowledge about the insides of the linux kernel and help people who are interested in linux kernel insides, and other low-level subject matter. Feel free to go through the book Start here
Discuss on Changelog News
This week we’re talking with Bruce Schneier — cryptographer, computer security professional, privacy specialist, and writer (of many books). He calls himself a “public-interest technologist”, a term he coined himself, and works at the intersection of security, technology, and people.
Bruce has been writing about security issues on his blog since 2004, his monthly newsletter has been going since 1998, he’s a fellow and lecturer at Harvard’s Kennedy School, a board member of the EFF, and the Chief of Security Architecture at Inrupt. Long story short, Bruce has credentials to back up his opinions and on today’s show we dig into the state of cyber-security, security and privacy best practices, his thoughts on Bitcoin (and other crypto-currencies), Tim Berners-Lee’s Solid project, and of course we asked Bruce to share his advice for today’s developers building the software systems of tomorrow.
Discuss on Changelog News
Changelog++ members get a bonus 27 minutes at the end of this episode and zero ads. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Today we are at KubeCon CloudNativeCon EU 2022, talking to Adolfo García Veytia about securing Kubernetes releases. Adolfo is a Staff Software Engineer at Chainguard, and one of the technical leads for SIG release, meaning that he helps ship Kubernetes. You most likely know him as Puerco, and have seen first-hand his passion for securing software via SBOMs, cosign and SLSA. Puerco’s love for bikes and Chainguard are a great match 🚴♂️
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
SHIPIT and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
In 2020, Shawn (swyx) Wang wrote:
Every 10 years there is a changing of the guard in JavaScript. I think we have just started a period of accelerated change that could in thge future be regarded as the Third Age of JavaScript.
We’re now in year three of this third age and Swyx joins us to look back at what he missed, look around at what’s happening today, and look forward at what might be coming next.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
PARTYTIME and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
AutoAnimate is a zero-config, drop-in animation utility that adds smooth transitions to your web app. You can use it with Vue, React, or any other JavaScript application.
Discuss on Changelog News
How can you tell it’s Friday? I’m posting something ridiculous (but cool) to the news feed. These are some high quality cat pics! 302, 403, and 405 are all great… but 414 is the best.
Discuss on Changelog News
Matt Holt & Mohammed S. Al Sahaf sit down with Natalie & Jon to discuss every gopher’s favorite open source web server with automatic HTTPS!
In addition to laying out what Caddy is and why it’s interesting, we dive deep into how you can (and why you might want to) extend Caddy as a result of its modular architecture.
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
In this article we take look at how you can use Python’s Kubernetes Client library to automate all the boring Kubernetes tasks and operations, such as creating/patching resources, watching events, accessing containers and more.
Discuss on Changelog News
David Crawshaw gave an excellent talk (at Go Northwest in 2018) on using SQLite (so hot right now) together with Go and how enjoyable/productive the combo is. Quite worthy of its ~30 minutes runtime.
Discuss on Changelog News
Ryan Dahl describes the JavaScript sandbox as a higher level container for server software:
This container isn’t meant to address the same breadth of problems that Linux containers target. Its emergence is a result of its simplicity. It minimizes the boilerplate for web service business logic. It shares concepts with the browser and reduces the concepts that the programmer needs to know.
People like Ryan and his colleagues at Deno are exploring this future, but it’s not quite here yet.
Discuss on Changelog News
Provides interactive git add, git log (👀 below), git diff, and a bunch more. Powered by fzf
Discuss on Changelog News
Connor Sears, founder and CEO of Rewatch, joins Adam to share the journey of creating Rewatch. What began inside of GitHub to help them thrive and connect is now available to every product team on the planet. Rewatch lets teams save, manage, and search all their video content so they can collaborate async and with greater flexibility. We talk about where the tool’s inspiration came from (spoiler alert, inside GitHub it was called GitHub TV which you’ll hear during the show), how teams leverage video to reduce the constraints of communication, how Connor and his co-founder knew they had product-fit and how they grew the team and product, and of course the flip side of that — we talk about some of Connor’s failures along the way, and knowing when it’s the right time to take a big swing.
Discuss on Changelog News
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
CloudNativePG is distributed under the Apache License 2.0, and is now owned and governed by a newly formed community of contributors to the project, built on solid principles and values inspired by the Cloud Native Computing Foundation (CNCF).
Among these are openness, fairness, inclusivity, technical excellence, “community over product/company,” built-in quality and built-in security. I’m part of the initial group of maintainers of the project, currently made up by the top six committers of the project within EDB.
If you’ve been following Ship It’s Kaizen episodes, you know we had troubles running Postgres in K8s and recently moved to a managed (sorta) database. I wonder if Gerhard will be tempted to try this operator out anyhow…
Discuss on Changelog News
Curl creator/maintainer Daniel Stenberg is writing a book. It’s (aptly) named: Uncurled
Because of my background and life with Open Source and probably a lot because of the relative success some of my projects have had, I frequently get questions about subjects related to maintaining Open Source. How to run a project and what makes them succeed? For a long time I have been collecting lessons from my life with Open Source into a list of advice for fellow Open Source library hackers. This document is my attempt to convert those thoughts and experiences into words.
I don’t believe it’s finished, but there’s a lot here already! Excited for this and while it’s a free to read GitBook right now, I hope it ends with some kind of physical manifestation.
Discuss on Changelog News
Don’t all AI methods need a bunch of data to work? How could AI help document and revitalize endangered languages with “human-in-the-loop” or “active learning” methods? Sarah Moeller from the University of Florida joins us to discuss those and other related questions. She also shares many of her personal experiences working with languages in low resource settings.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
The purpose of the template is to show:
- how to organize a project and prevent it from turning into spaghetti code
- where to store business logic so that it remains independent, clean, and extensible
- how not to lose control when a microservice grows
Discuss on Changelog News
Anton Zhiyanov shows how you can store non-normalized data in SQLite and use virtual columns to query against it without the massive performance penalty that json_extract would otherwise incur.
Discuss on Changelog News
Highly customizable, easy-to-use, and minimal terminal styled website template.
Building a simple website with LiveTerm only takes minutes, and you only need to work with one file:
config.json. After you cloned this repository, simply runyarn install && yarn devand start editingconfig.jsonto build your website!
Powered by Next.js.
Discuss on Changelog News
I had the honor of joining Robby Russell (who you may remember from Oh My Zsh) on his Maintainable podcast for a super-fun discussion on well-maintained software. Here’s how Robby describes it:
Robby has a chat with Jerod Santo, the Managing Editor and Partner of Changelog Media. Jerod helps lead and co-host Changelog’s flagship podcast, The Changelog, and builds all the cool stuff that makes Changelog awesome. Jerod shares his journey from being a typical networking engineer (Infosec) to the experienced programmer that he is today and his programming wisdom from the trenches.
Tune in as he highlights the undeniable importance of automated test suites and code readability, describes the arc of an engineer’s career, and talks about the past experiences that make him lean more towards clarity over cleverness when coding. He also shares some of the things engineers should consider in regard to pulling in third-party code or writing from scratch, and so much more. Enjoy!
Thanks for having me, Robby! 💚
Discuss on Changelog News
James Simone ponders the relationship between healthy teams and performance in the software world.
Here’s what it comes down to: teams perform well when successes are shared and failures are owned… We don’t celebrate successes enough, and part of that (I think) is caused by the feeling of pressure that comes from working on a project that seems dooomed to fail without meticulous and ever-present attention.
He goes on to delve in to the source(s) of engineering failures, the dangers of “brightsizing”, known predictors for project success, and a bunch of related topics. Lots to ponder here alongside James, who’s seen a lot of software projects live & die during his eight years in the business.
Discuss on Changelog News
WANT!
Framework has created a really slick, fully user serviceable, laptop and have recently started selling the mainboard as a SBC for general use. To better support folks who may want to integrate it into their projects, they are also releasing technical documentation including pinouts, cad models and other resources.
When they reached out and explained their plans and offered to let me play with one, I jumped at the chance and this is what I came up with after some experimentation.
Discuss on Changelog News
This week we’re joined by Mike Riley and we’re talking about his book Portable Python Projects (Running your home on a Raspberry Pi). We breakdown the details of the latest Raspberry Pi hardware, various automation ideas from the book, why Mike prefers Python for scripting on a Raspberry Pi, and of course why the Raspberry Pi makes sense for home labs concerned about data security.
Use the code PYPROJECTS to get a 35% discount on the book. That code is valid for approximately 60 days after the episode’s publish date.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
KBall interviews TPW about the 1.0 release of Redwood - what it provides, why they’ve repositioned as a “JavaScript framework optimized for startups”, and what’s coming next.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
A ranty story from Kitze on a time when he didn’t ship the app he was working on and somebody else did!
It’s not their fault. I was just slow. I didn’t ship on time. I’m gonna go ahead and tattoo “JUST SHIP IT” on my forehead. Nah I wouldn’t be able to see it there. On my arm maybe. Nvm, let me go back to scrolling their landing page.
Discuss on Changelog News
Another entry in the maintenance series! Throughout the series we’ve discussed building versus buying, building actually maintainable software, maintaining ourselves, open source maintenance, legacy code, and most recently Go project structure. In this 7th installment of the series, we continue narrowing our focus by talking about what to do when projects get big and messy.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Good for them (and us)! But what does that mean in practice?
Over the next few months, we’ll be completing the OpenJS Foundation’s incubation program checklist, including transferring the Jest domain, repo, website, and other assets to OpenJS. We’ll also be updating the code of conduct and contributor license agreement.
Additionally, as part of this move, we will be publishing a project charter and creating new governance policies that will document the process for gaining commit access, as well as our leadership selection process.
Next up: React?! A guy can dream…
Discuss on Changelog News
A searchable, templated catalog of popular terminal commands curated from across the internet.
Pretty sweet resource from our friends at Warp. Contribute your own commands on GitHub.
Discuss on Changelog News
Check your site against this to determine your accessibility compliance with the WCAG.
Discuss on Changelog News
Today we talk to Priyanka Sharma (E.D. at the Cloud Native Computing Foundation) about all things KubeCon Europe 2022. We start with Gerhard’s favourite subject - Priyanka’s Happy Hour - and then we switch focus to the conference.
For many, this will be the first in-person KubeCon since 2019. As for Gerhard, he is not sure that he remember how airports work. If he succeeds, he looks forward to meeting some of you in Valencia. If not, send help.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
SHIPIT and get the team plan free for three months.Featuring
Notes and Links
KubeCon + CloudNativeCon Europe 2022:
Something missing or broken? PRs welcome!
I love when software engineers share their career/life choices and the reasoning behind them so others can benefit from their perspective, like this one on bucket filling:
Somebody once described balance to me as three buckets filled with water. One for career, a second for physical health, and a third for social and family life. At any point, one bucket might be running low. But as long as the overall water level is high enough, things should be fine.
Scott’s choice to join a startup seems odd given his reason for leaving Google, but:
So: am I happier? Undoubtedly yes.
I work more hours. I’m more likely to be working in the evening or on the weekend now. But what I do makes a difference that I can see. Progress feels 10x faster.
Most surprising is that I have more energy. It’s easier to find motivation to get back in the gym. I have more energy in social situations.
Working more hours sounds like tipping the work/life balance in the wrong direction, but excitement about your work certainly changes the calculus. He’s happier now, so that’s great!
Discuss on Changelog News
Currently supports SQLite and CSV. MySQL and Postgres are on the roadmap. Built with Bubble Tea.
Discuss on Changelog News
Good news, everyone! Jan Schaumann merged Futurama with your (least) favorite programming languages. Amy Wong is… Ruby?!
Object-oriented, cute, really popular, and a bit naive. Had a bit of Fry grafted onto herself for a while. Also had a thing with Bender. And Zapp. Easy going, but doesn’t do well in difficult situations, falls over easily.
Bender is Shell. Fry is Perl. If you care at all for his reasoning, you’ve already clicked through!
Discuss on Changelog News
This week Sid Sijbrandij, Co-founder and CEO of GitLab, is back talking with Adam about all the details of their massive IPO last October 2021. To set the stage, this episode was recorded on Feb 1, 2022. During the show Adam mentioned they IPO’d at a $13B market cap, but they actually ended their opening day at approximately $15B. That’s a massive win for open source, GitLab, Sid, and the rest of the team. For loyal listeners you know we’ve had Sid on this show before, so of course we had to get him back on the show post-IPO to get all the details of this new journey.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Sid’s appearances on Changelog.com podcasts (in reverse chronological order)
Something missing or broken? PRs welcome!
Josh Stella:
For those who haven’t used Emacs, it’s something you’ll likely hate, but may love. It’s sort of a Rube Goldberg machine the size of a house that, at first glance, performs all the functions of a toaster. That hardly sounds like an endorsement, but the key phrase is “at first glance.” Once you grok Emacs, you realize that it’s a thermonuclear toaster that can also serve as the engine for… well, just about anything you want to do with text.
Discuss on Changelog News
Interesting findings by Melanie S. Brucks and Jonathan Levav:
According to new research one important skill is impacted by the restrictions of video calls: creativity. But why is idea generation negatively affected? And could other skills actually benefit from virtual communication?
Discuss on Changelog News
Big news from our friends at Hugging Face:
Hugging Face is now the fastest growing community & most used platform for machine learning! With 100,000 pre-trained models & 10,000 datasets hosted on the platform for NLP, computer vision, speech, time-series, biology, reinforcement learning, chemistry and more, the Hugging Face Hub has become the Home of Machine Learning to create, collaborate, and deploy state-of-the-art models.
What will they spend the money on? Good stuff:
Thanks to the new funding, we’ll be doubling down on research, open-source, products and responsible democratization of AI.
Discuss on Changelog News
Lots of cool stuff for Markdown authors in April’s VS Code release. Namely:
- drag and drop files into the editor to create a Markdown link
- find all references to header|links|files|urls inside of Markdown
- rename headers|links inside Markdown (and propagate the changes)
- rename Markdown files (and propagate to all references)
The Dendron team is excited because their primary vault hosts over 400k lines of Markdown 🤯
VS Code, and IDEs more broadly, help developers manage large code bases by making available tools to leverage and manipulate the syntax of programming languages. By shifting some of this tooling to markdown, can we do the same for large Markdown repositories?
Discuss on Changelog News
Gui Heurich on one of the legends of the Ruby community, _why the lucky stiff.
Through the things that he built, the way he performed, and the books that he wrote, _why makes us think about code and also about ourselves. It makes us think about ourselves as programmers. In a sense, _why was the meta-programmer, the one that generates other programmers by promoting reflexivity.
Discuss on Changelog News
I’ve long been fascinated by literate programming (the art of writing code as if it was a novel), but it’s been awhile since I’ve seen a good example of in practice. Here’s a good one:
I wanted to showcase the BDD-inspired low-tech solution I came up with via a toy project, demonstrating a small but significant programming task, broken down as series of design-implementation cycles.
Wordle is a perfect target: it’s a small codebase, with a half dozen features to string together into a useable game.
This story has five chapters and a satisfying conclusion:
This project was my first foray into literate programming at this scale, an attempt to bring together all the good ideas of TDD, modern Python development, Gherkin usage for requirements traceability purposes (without overly zealous extremes of Cucumber automation). All these ideas were until now scattered, implemented each without the others in different places, and this project fuses them into something I hope is more valuable than the sum of its parts.
Discuss on Changelog News
We’re talking with Woody Zuill today about all things Mob Programming. Woody leads Mob Programming workshops, he’s a speaker on agile related topics, and coaches and guides orgs interested in creating an environment where people can do their best work. We talk through it all and we even get some amazing advice from Woody’s dad. We define what Mob Programming is and why it’s so effective. Is it a rigid process or can teams flex to make it work for them? How to introduce mob programming to a team. What kind of groundwork is necessary? And of course, are mob programming’s virtues diminished by remote teams in virtual-only settings?
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
PARTYTIME and get the team plan free for three months.Featuring
Notes and Links
“More work can be done faster by having less people working at any given time.” - Woody Zuill
Something missing or broken? PRs welcome!
Duplicates taking up tons of space on your home NAS? fclones quickly identifies duplicates, even when there’s 10s of thousands that you’re scanning over the network:
fclones treats your data seriously. You can inspect and modify the list of duplicate files before removing them. There is also a –dry-run option that can tell you exactly what changes on the file system would be made.
Also check out the algorithm used to detect duplicates.
Discuss on Changelog News
Let the debate begin (again)! This time we’re arguing whether or not single-page apps were a big mistake. This premise was inspired by Chris Ferdinandi’s SPAs were a mistake post.
Divya & Nick represent Team Yep and KBall goes solo on Team Nope. Jerod, as per our usual arrangement, is on Team Winner.
Discuss on Changelog News
Changelog++ members get a bonus 6 minutes at the end of this episode and zero ads. Join today!
Sponsors
Featuring
Notes and Links
Previous YepNope debates: * Should websites work without JS? * Is modern JS tooling too complicated? * Should we rebrand JavaScript? * Are web apps fundamentally different than web sites?
Something missing or broken? PRs welcome!
Andraž Bajt:
Basic premise is: browsers are great at navigating pages, let’s leverage that by serving users directly with HTML. This already gives you half-decent pages but you can go further and sprinkle on some sugar. A bit of JS. Instead of reinventing the world in JS let’s try to really use what modern browsers provide natively and then push just a bit forward.
Is the pendulum starting to swing away from SPAs/client-side rendering and back toward MPAs/server-side rendering? Will we ever find balance somewhere in the middle?
Discuss on Changelog News
Can Go help you write faster PHP apps? In this episode, we explore the unusual pairing of Go and PHP that led to the RoadRunner project, a high-performance PHP application server, load-balancer, and process manager that is all written in Go.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Mike Hanley on GitHub’s blog:
The software supply chain starts with the developer. Developer accounts are frequent targets for social engineering and account takeover, and protecting developers from these types of attacks is the first and most critical step toward securing the supply chain…
Today, as part of a platform-wide effort to secure the software ecosystem through improving account security, we’re announcing that GitHub will require all users who contribute code on GitHub.com to enable one or more forms of two-factor authentication (2FA) by the end of 2023.
This is a big step in the right direction and their new(ish) 2FA for GitHub Mobile feature helps make the burden not as cumbersome as it might be otherwise.
Discuss on Changelog News
Some years back I applied to join IBM’s grad scheme, there was a peculiar stage to the process I’ve not seen elsewhere. It was during the onsite day, where a batch of 20 or so applicants were put through various tests in an IBM office. They called it the “group test”; around 8 of us were led to a room and asked to solve a puzzle together.
You can probably see where this story is headed… (see also)
Discuss on Changelog News
Let’s say you’re on the go and you land on a particularly impressive website. You’d love to peak underneath the covers, but getting at the developer tools on a phone is a pain.
Instead: bookmark this site, copy/paste the URL, and voilá! 💁♀️
Discuss on Changelog News
This week Peer Richelsen, Co-Founder and Co-CEO of Cal.com, joins the show to talk about building the “Stripe for Time” — with a grand mission to connect a billion people by 2031 through calendar scheduling. Cal has grown from an open-source side project to one of the fastest-growing commercial open source companies. We get into all the details — what it means to be an open source Calendly alternative, how they quantify connecting a Billion people by 2031, where there’s room for innovation in the scheduling space, and why being community first is part of their secret sauce.
Discuss on Changelog News
Changelog++ members save 7 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Cal.com Series A and v1.5
Cal.com open dashboard
Cal.com is an open startup
Something missing or broken? PRs welcome!
Bonnie I-Man Ng:
I was working on bioinformatics a few years ago and was amazed by those single-word bash commands which are much faster than my dull scripts, time saved through learning command-line shortcuts and scripting.
Recent years I am working on cloud computing and I keep recording those useful commands here. Not all of them is oneliner, but I put effort on making them brief and swift. I am mainly using Ubuntu, Amazon Linux, RedHat, Linux Mint, Mac and CentOS, sorry if the commands don’t work on your system.
Discuss on Changelog News
Today we talk to Mark Ericksen about all the things that we could be doing on the new platform - this is a follow-up to episode 50.
Mark specialises in Elixir, he hosts the Thinking Elixir podcast, and he also helps make Fly.io the best place to run Phoenix apps, such as changelog.com. In the interest of holding our new platform right, we thought that it would be a great idea to talk to someone that does this all day, every day, for many years now.
We touch up on how to run database migrations safely, and how to upgrade our application config to the latest Phoenix version. We also talked about some of the more advanced platform features that we may want to start leveraging, like the multi-region PostgreSQL.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
The coolest thing about this story is that the entire endeavor was apparently prompted by a random developer tweet! If you’ve ever wondered what all goes in to opening the source of historic software products like this one:
This code was restored from the Microsoft corporate archives and cleared for release.
- Developer names and aliases were removed, with the exception of current employees who worked on the original release who consented to keeping their names in place
- The archive consisted of several CDs, some of which were for alternate builds or products, and have been excluded
- The code does not build with today’s engineering tools, and is released as-is.
Discuss on Changelog News
An in-progress list of things you might feel like saying attached to things you should probably say instead. For instance, you’re thinking, “Do your job!” But it’s probably more beneficial to say:
It is my understanding that you are the appropriate person to contact in regards to this. But If there’s is someone better equipped for this let me know.
You can also flip the list to translate what you are being told by someone from what they actually mean.
Discuss on Changelog News
Most Ruby engineers know the difference between symbols and strings from a usage perspective. So, in this article I look at them from a different angle.
You’ll learn about a cool compiler optimization called “string interning”, which is used in many languages. Also, you will understand what happens when (almost any) interpreter runs your code, take a look at the AST and take a peak at the symbols interpretation at the low level.
Discuss on Changelog News
GitLab’s Sid Sijbrandij shares 12 strategies managers can use to support their team and prevent burnout. One of his standout strategies that I doubt rarely gets put into use is reduce the number of hours worked by agreeing to reduce effort
Discuss on Changelog News
AI is discovering new drugs. Sound like science fiction? Not at Absci! Sean and Joshua join us to discuss their AI-driven pipeline for drug discovery. We discuss the tech along with how it might change how we think about healthcare at the most fundamental level.
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Train and deploy industry-standard or completely custom machine learning models, directly powered by your business data, into your production stack, with an open source Postgres extension.
Is there anything Postgres can’t do?! 😉
Discuss on Changelog News
Josh Comeau writing for Smashing Mag:
Developers often reach for UI frameworks like Bootstrap or Material UI, hoping that they’ll save a bunch of time and quickly build a professional-looking app. Unfortunately, things rarely work out this way. Let’s talk about it.
Stick around for the rebuttals section, too.
Discuss on Changelog News
As it gets easier and easier to deploy to the cloud, and with increased concern about data sovereignty, regional architectures are becoming more common. This article gives you an overview of how we easily maintain our regional services on AWS at Apptrail.
Discuss on Changelog News
OpenAI’s new SOTA text-to-image neural network is producing some “insane results”. The linked repo is an open source implementation of the same technique.
Discuss on Changelog News
Since TypeScript doesn’t follow SemVer itself, TS libraries which do want to follow SemVer need both high-level guidance about how to do that and detailed analysis of the corner cases to watch out for as well as ways to mitigate breaking changes from TS.
This doc is a (beta!) specification of SemVer for managing changes to TypeScript types, including when the TS compiler makes breaking changes in its type-checking and type emit across a “minor” release.
Discuss on Changelog News
In this post, I will talk about important factors you should consider when architecting systems that are powered by third-party systems. The factors I detail are:
Discuss on Changelog News
Spacedrive helps you organize your files across many devices in one place. Here’s the motivation:
Many of us have multiple cloud accounts, drives that aren’t backed up and data at risk of loss. We depend on cloud services like Google Photos and iCloud, but are locked in with limited capacity and almost zero interoperability between services and operating systems. Photo albums shouldn’t be stuck in a device ecosystem, or harvested for advertising data. They should be OS agnostic, permanent and personally owned. Data we create is our legacy, that will long outlive us—open source technology is the only way to ensure we retain absolute control over the data that defines our lives, at unlimited scale.
Discuss on Changelog News
This is alpha software, but it seems pretty low risk to give it a try.
Wireit works with
npm run, it doesn’t replace it. To configure an NPM script for Wireit, move the command into a newwireitsection of yourpackage.json, and replace the original script with thewireitcommand.Now when you run
npm run build, Wireit upgrades the script to be smarter and more efficient.
Discuss on Changelog News
Nick rewrote our JS Danger game board app from Dojo to React for his talk at React Global Online Summit about componentizing application state with React and XState.
On this episode Jerod, KBall, and Feross chat with Nick about the entire process and what he learned along the way. Oh, we also play an epic round of Pro Tip Time!
Discuss on Changelog News
Changelog++ members get a bonus 8 minutes at the end of this episode and zero ads. Join today!
Sponsors
PARTYTIME and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
This post by Chris de la Iglesia starts off very down on blockchains, but ends up not so down after all:
We are entering a new world with a new focus on giving users control over their data, their identity, and their systems. We are building distributed filesystems, distributed identity, and yes, blockchains. I think oftentimes we end up seeing only the blockchain technology due to the headlines and the financial investment, but distributed systems as a whole are taking off in a big, big way.
Discuss on Changelog News
Matan Peled from Technion University joins Natalie & Mat to discuss his PhD research on meta programming and static analyzers. How does Go’s measure up? What would Matan’s look like if he built one? All that and more!
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
The second jq alternative we’ve discovered this week! (first here)
jqis hard to use. There are alternatives likefqandzq, but they still make you learn a new programming language. Im tired of learning new programming languages.
gqis not optimized for speed, flexibility or beauty.gqis optimized for minimal learning/quick usage.gqunderstands that you don’t use it constantly, you use it once a month and then forget about it. So when you come back to it,gqwill be easy to relearn. Just use the builtin library just like you would any other go project and you’re done. No unfamiliar syntax or operations, or surprising limits. Thats it.
I don’t know if Go is a great fit for this use-case, but if you already know it well… makes sense.
Discuss on Changelog News
I used scare quotes around “whole life” because those are his words and surely there’s a lot more to life than things you can quantify, but still: this is interesting
Back in 2019, I started collecting all kinds of metrics about my life. Every single day for the last 2.5 years I tracked over 100 different data types - ranging from fitness & nutrition to social life, computer usage and weather.
This data produces 44 graphs that are all shared publicly on the website.
Discuss on Changelog News
This is our 5th Kaizen where we talk about the next improvement to changelog.com: we are now running on fly.io and our PostgreSQL is managed. This is a migration that many were curious about, including Simmy de Klerk, the person that requested this episode.
After migrating all our media files to AWS S3 (check episode 40), we thought that this part was going to be easy. Plan met reality. Pull request 407 has all the details.
We want to emphasise the type of partner relationships that we seek at Changelog & why they are important to us, as well as to our listeners. Honeycomb & Fly embody the principles that we care about, and Gerhard thinks that we are currently missing a Kubernetes partner.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
SHIPIT and get the team plan free for three months.Featuring
Notes and Links
changelog.com March 2022 - Requests & Bytes served
changelog.com April INCOMPLETE 2022 - Requests & Bytes served
changelog.com March 2022 - Miss latency 95pc
changelog.com April INCOMPLETE 2022 - Miss latency 95pc
Something missing or broken? PRs welcome!
If you’ve found the (excellent) jq tool for working with JSON a bit unwieldy… check out zq and see if you like its API any better. I wouldn’t put too much weight on the faster aspect, though:
We will cover zq’s performance in a future article, but to cut to the chase here, zq is almost always at least a bit faster than jq when processing JSON inputs
Almost always at least a bit faster is not something you’re likely to notice in practice.
Discuss on Changelog News
A solid rant by Terence Eden, who has to use macOS for work but would rather not:
I know you’re going to be tempted to reply with “you’re using it wrong” - but I’m not. This is how I like to use my computer. And it is clear that the MacBook isn’t my computer - it is Apple’s. (OK, OK! It belongs to my employer!)
Some of his grievances like window snapping and moving/removing UI elements can be alleviated with 3rd-party solutions, but he’s not wrong that the operating system doesn’t provide these features.
Discuss on Changelog News
Mihai Parparita:
It’s a golden age of emulation. Between increasing CPU power, WebAssembly, and retrocomputing being so popular The New York Times is covering it, it’s never been easier to relive your 80s / 90s / 2000s nostalgia. Projects like v86 make it easy to run your chosen old operating system in the browser. My heritage being of the classic Mac line, I was curious what the easiest to use emulation option was in the modern era…
Here’s a video demo of what resulted: a full-featured classic 68K Mac in your browser.
Discuss on Changelog News
Today we’re talking with Zach Lloyd, founder of Warp — the terminal being re-imagined for the 21st century and beyond. Warp is a blazingly fast, rust-based terminal that’s being designed from the ground up to work like a modern app. We get into all the details — why now is the right time to re-invent the terminal, where they got started, the business they aim to build around Warp, what it’s going to take to gain adoption and grow, but more importantly — what’s Warp like today to get developers excited and give it a try.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
We all hear a lot about MLOps these days, but where does MLOps end and DevOps begin? Our friend Luis from OctoML joins us in this episode to discuss treating AI/ML models as regular software components (once they are trained and ready for deployment). We get into topics including optimization on various kinds of hardware and deployment of models at the edge.
Discuss on Changelog News
Changelog++ members get a bonus 0 minutes at the end of this episode and zero ads. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Eric Jang was recently on the job market (finally landing at [Halodi Robotics])(https://halodi.com/) and in this post he shares his process and view of the job market today. He also has some insights on where it’s headed. In brief:
In the future, every successful tech company will use their data moats to build some variant of an Artificial General Intelligence.
Discuss on Changelog News
And if you like Alpine, there’s a companion collection of snippets that you can copy/paste into your project.
Discuss on Changelog News
A nice little web-based tool to help you quickly/visually grok some JSON data you’re working with. I tested it on some game data from an old JS Danger episode, and it handled it pretty well.
Discuss on Changelog News
Still in beta, but Fleet has a lot of promise. It boasts compile times up to 5x faster than cargo. Here’s how:
Fleet works by optimizing your builds using existing tooling available in the Rust ecosystem, including seamlessly integrating sccache, lld, zld, ramdisks (for those using WSL or HDD’s) et al.
Discuss on Changelog News
Frank Krueger joined us to talk about solving hard problems. Earlier this year he wrote a blog post titled “Practical Guide to Solving Hard Problems,” and a lot of what he had to say really resonated with us. The premise is simple — if you have to write some code that you’re just not sure how to write…what do you do? What are the practical steps that you can take when you’re feeling stumped? Today’s show goes deep on that subject…practical ways to solve hard problems and ship your best work.
Frank has his own podcast called Merge Conflict — check it out at mergeconflict.fm.
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Daniel Rosenwasser and Ryan Cavanaugh from the TypeScript team at Microsoft join Nick and Boneskull to catch us up on the latest happening with the TypeScript project, including what’s exciting in the new 4.7 beta release. Then, we dive deep into the new, TC-39 stage 1 Type Annotations proposal, what it is, and what it means for the future of a not really typed JavaScript!
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Let’s be honest: The current generation of robotic lawn mowers sucks. Basically all of these bots drive in a random direction until they hit the border of the lawn, rotate for a randomized duration and repeat. I think we can do better!
Therefore, we have disassembled the cheapest off-the-shelf robotic mower we could find (YardForce Classic 500) and were surprised that the hardware itself is actually quite decent.
The bot itself is surprisingly high quality and doesn’t need to be changed at all. We just need some better software in there.
Here’s an overview video that explains the entire idea.
Discuss on Changelog News
Nice to see some efforts around standardizing MLOps. Here’s their high-level selling points:
Discuss on Changelog News
Björn Rabenstein & Bartlomiej Płotka join Mat & Johnny to discuss observability, monitoring and instrumentation for gophers.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
With the recent events relating to Google Analytics platform, it’s becoming very clear that the time has come for many of us to migrate from Google Analytics to different platforms.
In this article we will go over both the “Why?”, so that you can make an informed decision whether you need to migrate of not, as well as the “How?” of migrating from Google Analytics - that is, quickly and easily taking your data and moving to different analytics platform without too much hassle.
Discuss on Changelog News
From the engineering team at Bloomberg:
It can track memory allocations in Python code, in native extension modules, and in the Python interpreter itself. It can generate several different types of reports to help you analyze the captured memory usage data. While commonly used as a CLI tool, it can also be used as a library to perform more fine-grained profiling tasks.
It has a lot of nice outputs so you can grok what’s going on.
Discuss on Changelog News
Alex Sims, a Senior Software Engineer at James & James, an eCommerce fulfilment company, reached out to us about the Kaizen story of the third-party logistics (3PL) platform that he has been involved with for several years now.
The system delivered 16 millions of orders in 10 years, and 4.5 million in the last year alone. All the numbers are going up, and there is only so much that a single PHP monolith deployed as VM images can handle. So how do you even start thinking about the architectural improvements, and inspire everyone involved to move towards better?
We encourage you to look at the architectural diagrams in the show notes, especially the 10 year roadmap, and ask Alex for a blog post follow-up. While today’s episode was a good conversation starter, there is a lot that we did not have time to cover.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
☝️ First improvement to the ecommerce fulfilment system ☝️
☝️ The 10 year roadmap that Alex imagines ☝️
Something missing or broken? PRs welcome!
Brave is rolling out a new feature called De-AMP, which allows Brave users to bypass Google-hosted AMP pages, and instead visit the content’s publisher directly. AMP harms users’ privacy, security and internet experience, and just as bad, AMP helps Google further monopolize and control the direction of the Web.
The Brave team is really doubling down on privacy and security. I don’t think that strategy would’ve won users a few years ago, but in 2022 and beyond…
Discuss on Changelog News
Curious how OpenAI’s new DALL-E 2 manages to generate impressive artwork from short natural language prompts? This article breaks down the steps then focuses in on how it does the image generation step.
Discuss on Changelog News
This guide by Josh Comeau is Josh doing what Josh does so well: taking complex/arcane/technical topics and making them approachable & fun for his audience.
It takes years of practice to become a terminal guru, but here’s the good news: we can take a shortcut. We don’t really need to know 98% of the stuff you can do with a terminal. If we focus on the most-important critical fundamentals, we should be able to become comfortable with the command line in a remarkably short amount of time. ✨
That’s what this blog post is all about.
Discuss on Changelog News
In the fourth “AI in Africa” spotlight episode, we welcome Leonida Mutuku and Godliver Owomugisha, two experts in applying advanced technology in agriculture. We had a great discussion about ending poverty, hunger, and inequality in Africa via AI innovation. The discussion touches on open data, relevant models, ethics, and more.
Discuss on Changelog News
Changelog++ members get a bonus 0 minutes at the end of this episode and zero ads. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
We’ve been using Parker Selbert’s Oban library for years and he even helped us hold it right by improving our open source implementation!
So, Jerod invited him Backstage to discuss the library, how we’re using it, Parker’s plan to make it financially sustainable, his “freedom number” of Oban Pro subscribers, and a bunch of other random stuff along the way. Let’s go!
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
I thought Ali and Jen had some excellent advice in this segment of our JS Party episode on web dev for beginners, so I’m re-sharing it here in hopes that you might share it with people you know who may be stuck in the early phases of their web development path.
I also like what I had to say (imagine that!)
One thing that is true about software development in general… is that it’s actually really hard. And we need to just say that. Because you’re gonna hit bumps. You’re gonna hit walls. And some people will power through those walls and other people won’t, and that’s just the way life is…
But I think having something real that you want to exist… having a real project that you want to see into the world helps you get through those moments.
Discuss on Changelog News
Supabase CTO Ant Wilson walks through the pros & cons of open sourcing your startup and why he believes the answer to the question in the headline is (probably) “yes”
Open-sourcing Supabase ended up surprising us in many ways. Many people imagine that maintaining your business in public might be burdensome - but the opposite is true. There are many unexpected upsides that have made building Supabase - the product and the company - easier.
While some of this advice comes from our lens as a Dev Tools or PaaS company, most of it will apply to any software company.
Discuss on Changelog News
Sounds like Jacob Kaplan-Moss isn’t the only hiring manager who’s keen on the reverse code review:
When hiring developers, there are many things we are looking for, but over the years I have found that raw coding ability is easily the most important quality to look for. I can quickly train a person to have knowledge in some domain, but I’ve never seen raw coding ability come from anything other than personal commitment to extensive and deep practice. Because of this, I have found that some methods work better than others to discover talent.
… instead of writing code, consider instead having the candidate read existing code and talk about what it does and how it works. This offers some powerful advantages:
The advantages in brief:
Click through for the details and how to put this in to practice.
Discuss on Changelog News
Rasmus Porsager created Postgres.js –the fastest full-featured PostgreSQL client for Node.js and Deno. Today he joins Jerod for a deep-dive on Postgres, why he created this open source library, and how you can use it to build pg-backed JavaScript applications.
Discuss on Changelog News
Changelog++ members get a bonus 3 minutes at the end of this episode and zero ads. Join today!
Sponsors
JSPARTY and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Lexical is an extensible JavaScript web text-editor framework with an emphasis on reliability, accessibility and performance. Lexical aims to provide a best-in-class developer experience, so you can easily prototype and build features with confidence. Combined with a highly extensible architecture, Lexical allows developers to create unique text editing experiences that scale in size and functionality.
It has solid React integration because Facebook, but Lexical has no dependencies and can be used and extended independent of any library or framework.
Discuss on Changelog News
A tragic tale, but one worth sharing because we can all learn from their mistake:
Due to an unfortunate sequence of events, I accidentally made the project’s repository private for a moment. And GitHub cascade-deleted our community that took 10 years to build.
Whoops! This reminds me of the time I thought it’d be cute to set JSPartyFM’s Twitter birth date to the day our first episode shipped, which immediately resulted in the account being suspended for being too young.
Sounds like GitHub isn’t up for restoring their stars, so if you were following HTTPie before, you’ll want to head over there and give ’em a re-star.
Discuss on Changelog News
We often have code that’s similar between projects and we find ourselves copying that code around. In this episode we discuss what to do with this common code, how to organize it, and what code qualifies as this common code.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
What you’re about to read is a fancified excerpt from Ship It! #44. You should read the original transcript or listen to the entire conversation for more context. To set the stage, this is Kelsey’s response to Gerhard asking what the biggest takeaway should be from their conversation.
The reason we find ourselves as practitioners (as an industry as a whole) constantly migrating between different platforms, journeys, and digital transformations…
We do this because I don’t think we ever understood the fundamentals.
The fundamentals are very clear. If you’re thinking about application delivery, for example, we know what the fundamentals are.
Ideally, we’re versioning the source code we write, and using tools that enable us to build and package applications in a reproducible way. 15 years ago maybe you were just creating WAR files or ZIP files. Maybe you were sophisticated and you were creating RPMs or DEBs so you could use a package manager. Those practices have always been good ideas. Packaging is a by-product, or the artifact, of assembling code and your dependencies, and getting your applications ready for deployment in a repeatable way. If you did that 15 years ago, adopting something like Docker is not hard to do. You say…
“Okay, we’re gonna take the existing RPM and use it to create a container image. Instead of running yum install on a server to install the RPM, we can now call the same command from a Docker file, and produce a container image.”
It’s just another packaging step, and if you decouple packaging from deployment, then you get the ability to change just the last mile.
So even if you’re just using RPMs today, you can layer on container packaging. Even if you’re using something like Puppet to deploy those RPMs, once you have a container image, you can actually swap out the Puppet step for the Docker step, and it works.
But you have to understand the fundamentals and the boundaries between these concepts.
I think as an industry we’ve been pushing…
Automate. Automate. Automate.
And we haven’t been saying…
Understand. Understand. Understand.
Because if you understand what you’re doing, you can automate if you want to.
Because if you really have a clean process that says…
“Okay, we’ve automated the build process of a Docker container image, and look, we don’t really have more than two environments.”
So the QA process can look like this…
“Docker run this container image. It works. We go to production. Docker run the same container image. It works.”
And maybe that’s all your team needs to do! And look, that’s okay. But I think understanding allows us to make that decision, and then we can decide what automation tool is the best for the job.
These fundamentals can be applied using different tools. The tools are not the fundamentals. It’s the ideas and concepts that we have been talking about today.
Dig this post? Subscribe and check out what Kelsey has to say about the power of protocols. 👇
Subscribe to our YouTube channel for more clips like this, live show recordings, and more ✌️
Discuss on Changelog News
Gergely Orosz did an excellent job detailing the ins & outs of Atlassian’s epic outage:
Hundreds of companies have no access to JIRA, Confluence and OpsGenie. What can engineering teams learn from the poor handling of this outage?
The TL;DR on the cause of the outage is a script that was supposed to “mark for deletion” some records also had “permanently delete” functionality and was run against a wrong list of IDs, improperly deleting 400 of their customers. Oh, and their backup restore process is really good at doing all customers, but not a subset. Ruh roh!
Lots to learn here, and Gergely puts a fine point on the biggest takeaways. A must-read!
Discuss on Changelog News
Adam Chalmers:
Over the last few weeks I built my own DNS client. Mostly because I thought dig was kinda clunky. Partly because I wanted to learn more about DNS. So here’s how I built it, and how you can build your own too. It’s a great weekend project, and I learned a lot from finishing it.
DNS is simple enough that you can grok it quickly, but still complex enough that Adam learned a ton along the way: reading RFCs, network sockets, Bitvec, and more.
Discuss on Changelog News
JS Party is a weekly celebration of JavaScript and the web so fun is at the heart of every episode.
We play games like Frontend Feud… (clip from episode #192)
Discuss and analyze the news… (clip from episode #213)
Explain technical concepts to each other like we’re 5… (clip from episode #195)
Debate hot topics like should websites work without JS? (clip from episode #87)
Interiew amazing devs like Rich Harris and Una Kravets… (clip from episode #167)
This is JS Party! Listen and subscribe today.
We’d love to have you with us. 💚
Discuss on Changelog News
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Florin Lipan managed to squeeze a fully-functional static web server into a Docker image that has a 186KB footprint! Here I was thinking FROM alpine was a skinny starting point…
Discuss on Changelog News
In this episode we talk about launching Dagger with all four founders: Andrea, Eric, Sam & Solomon.
While you may remember Sam & Solomon from episode 23, this time we assembled all four superheroes in this story and went deeper, covering nearly three years of refinements, the launch, as well as the world-class team & community that is coming together to solve the next problem of shipping software. Container images and Kubernetes are great steps in the right direction, but now it’s time for the next leap into the future.
You can use Dagger to run your CI/CD pipelines locally, without needing to commit and push. You can also use Dagger as a Makefile alternative, which resonates with Gerhard, but go further and your perspective on documentation & automation may start shifting.
Gerhard believes that this is the Docker moment of CI/CD.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
github.com/dagger/dagger stars after 3 days
Dagger Launch - NASDAQ billboard
Something missing or broken? PRs welcome!
On our episode with Brian Kernighan, I asked him if there were ever a situation in which he would advise you start a new program in C today. His response:
I think probably unless you are in one of these resource-constrained environments, clearly, right upfront, that you’re going to be resource-constrained and the improvement of hardware isn’t gonna rescue you in the next couple of years, I would not start with C. I really wouldn’t. And then it depends what is your application.
As if on queue, StackOverflow blogger Marcin Pasinski has done a comparison between C and Go in the quintessential resource-constrained environment. Oddly enough, no mention of TinyGo in the piece, but otherwise a solid analysis.
Discuss on Changelog News
This week we’re joined by Deepthi Sigireddi, Vitess Maintainer and engineer at PlanetScale — of course we’re talking about all things Vitess. We talk about its origin inside YouTube, how Vitess handles sharding, Deepthi’s journey to Vitess maintainer, when you should begin using it, and how it fits into cloud native infra.
Discuss on Changelog News
Changelog++ members get a bonus 10 minutes at the end of this episode and zero ads. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Hidde de Vries:
WebAIM have come out with their latest report on which accessibility issues they found in the top million websites that they tested automatically. What is some low hanging fruit you could fix today?
Discuss on Changelog News
Nils Norman Haukås:
I have been a big fan of the write libraries, not frameworks argument for a while now. Lately, I’ve come to ponder that there might be a fruitful expansion to this argument, that we should start to value principles over patterns, patterns over libraries, and libraries over frameworks.
I don’t disagree!
The challenge with principles & patterns is they are more difficult to formalize (and communicate) than libraries & frameworks because they’re by nature less specific and more meta (lowercase “m” ftw).
In other words, libraries & frameworks are an end product. Principles & patterns are means to an end. It’s easier to ship a product than to ship the means to it.
The latter is the realm of documentation, education, and conversation.
Discuss on Changelog News
Dan Luu:
Wave is a $1.7B company with 70 engineers whose product is a CRUD app that adds and subtracts numbers. In keeping with this, our architecture is a standard CRUD app architecture, a Python monolith on top of Postgres. Starting with a simple architecture and solving problems in simple ways where possible has allowed us to scale to this size while engineers mostly focus on work that delivers value to users.
Despite the unreasonable effectiveness of simple architectures, most press goes to complex architectures. For example, at a recent generalist tech conference, there were six talks on how to build or deal with side effects of complex, microservice-based, architectures and zero how one might build out a simple monolith… Larger conferences are similar; a recent enterprise-oriented conference in SF had a double digit number of talks on dealing with the complexity of a sophisticated architecture and zero on how to build a simple monolith.
He goes on to describe boring choices they’ve made and counter-balances that some by also describing why they’ve made some more complex choices such as GraphQL and Kubernetes. An excellent, nuanced piece.
Discuss on Changelog News
For all your object wrangling needs:
foo.bar.0.bazfoo.*, **.barfoo./ba?/foo.0:2foo bar bazDiscuss on Changelog News
Mike Lapidakis thinks Apple’s Hide My Email feature that debuted in iOS 15 is “one of the most under-rated privacy launches of the past year.”
I’m a huge fan of the service and think the practice of a unique email per site is nearly as essential as using a unique password. When it’s this easy, you have no excuse.
Discuss on Changelog News
Dominick Schroer:
When was the last time you completed a project? When was the last time you started a project? Have you every felt that you were trapped working on something that you don’t enjoy anymore? Size is something that I’m sure most developers with the drive to do side projects have felt. Recently I have been completing more projects with more success than ever before. This is my new process.
His 4-step process is so simple it might be brilliant.
Discuss on Changelog News
Though the application overall is stable and usable, it should not be considered safe for critically important work. There are numerous bugs and half working implementations. Pull requests are greatly appreciated.
If this kind of thing is your bag, I’ve also heard Geany is worth a look.
Discuss on Changelog News
Louis Lazaris describes/demos somewhat obscure HTML attributes you may find useful enough to personally use in one of your projects. I learned a few things, maybe you will too.
Discuss on Changelog News
This episode was requested by Tyler Smith who feels that he may not need Kubernetes just yet. Tyler has a few questions about Docker & Docker Swarm, so Andrea Luzzardi, former Docker Swarm Lead, joins us today to answer them.
We talk about Docker Swarm beginnings, some of the challenges that it faced, and what Andrea’s recommendation is for Tyler’s journey with Docker Swarm.
After dedicating four years of his professional career to Docker Swarm, Andrea is the best person that Gerhard knows to talk about this subject. And guess what, the same thing happened now as it did at KubeCon 2015: Sam pointed to Andrea. It will all make sense in the first five minutes. This one is going to be fun!
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
JSPARTY and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
There’s a lot going on in that picture. Let’s take a closer look at exactly what computers and gear they were using to do the 3D animation for this game.
Why? Because, Final Fantasy 7 is a true classic. When the game was first released in early 1997, for the Sony PlayStation, it took the RPG gaming world by storm. To this day, many consider it the greatest entry in the franchise.
I remember getting this game for Christmas and playing it nearly non-stop until school started again after the new year. Greatest entry in the franchise? Easily!
Discuss on Changelog News
KBall and Jerod digest and disect recent JS community news (React 18, Redwood 1.0, MDN Plus) then sit down for yet another game of HeadLIES! Can KBall fare better than Nick Nisi did last April Fools?!
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
JSPARTY and get the team plan free for three months.Featuring
Notes and Links
Headlines * React 18 release notes * Redwood v1.0 Launch Week * TPW on JS Party #119 * Introducing MDN Plus
HeadLIES 1. Man says he hacked airline website to find lost luggage 2. Blockchain.com Raises New Funding at $14 Billion Valuation 3. Leaked Apple memo describes the company’s plan to go fully remote by 2025 4. Woman arrested for car theft drove another stolen car to court appearance: Dublin police 5. First patient to communicate via brain implant asks to hear Radiohead album 6. Exxon is mining bitcoin in North Dakota as part of its plan to slash emissions 7. Research shows TikTok tic videos contribute to a rise in cases of girls with tics 8. Mark Zuckerberg says it’s ‘reasonable’ that the metaverse isn’t a place but a feeling 9. Google Search’s new ‘highly suspect’ label helps you question the source of a story 10. As Docker gains momentum, it hauls in $105M Series C on $2B valuation
Something missing or broken? PRs welcome!
Has Go caught your interest, but you just haven’t had the time/opportunity to really dig into it? Are you relatively productive in your current language/ecosystem but wonder if the grass truly is greener on Go’s side of the fence? If so, this episode’s for you!
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Solid piece on literate programming by Richard Gall for The New Stack. My foremost exposure to the practice came from Jeremy Ashkenas’ CoffeeScript and Backbone.js docs. I always found it cool and useful to read, but couldn’t imagine myself writing code/docs that way. Which brings us to this bit at the end of the article:
“One of the things we learned is that it’s very expensive,” he said. “And so you spend time trying to figure out what sort of situations justify the expense. And one of them is where people are building relatively small, sophisticated kernels that are going to be shared widely.”
Seems like Jeremy’s use case drilled it. If you’re mostly writing application code, literate programming probably isn’t worth the headache, but for library/framework authors…
Discuss on Changelog News
After recording Ship It! #46, Nabeel Sulieman and Gerhard stuck around to pair on getting KCert (a simpler alternative to cert-manager) set up on our LKE infra. It works!
Discuss on Changelog News
I’ve been using asdf on my new machine to manage Elixir/Erlang and Node versions and it works like a charm. Highly recommend! There are some complaints in the comments of this post about it being slow, but I haven’t had that problem yet.
Discuss on Changelog News
DuckDuckGo and Bing are not true alternatives – they’re just worse versions of Google.
The next Google can’t just be an input box that spits out links. We need new thinking to create something much better than what came before.
In the last few years, different groups of people came to the same conclusion, and started working on the next generation of search engines.
For this new generation, privacy is necessary, and invasive ads are not an option. But that’s where the commonalities end. Beyond that, they’ve all taken the idea of a search engine in very different directions.
The post goes on to describe & detail a whole new wave of search engines. I had no idea so many people were working on this problem. Exciting!
Discuss on Changelog News
Ever wanted to identify what font was being used o a website, PDF, mobile app, or image file? Here’s the resource you need to get you there in as few steps as possible.
Discuss on Changelog News
You might not need this curated checklist of 300+ tips for protecting digital security and privacy (you probably do), but I bet there’s someone in your life who does (you probably do, too).
Discuss on Changelog News
Abubakar Abid joins Daniel and Chris for a tour of Gradio and tells them about the project joining Hugging Face. What’s Gradio? The fastest way to demo your machine learning model with a friendly web interface, allowing non-technical users to access, use, and give feedback on models.
Discuss on Changelog News
Changelog++ members get a bonus 2 minutes at the end of this episode and zero ads. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Asahi Linux is a project and community with the goal of porting Linux to Apple Silicon Macs, starting with the 2020 M1 Mac Mini, MacBook Air, and MacBook Pro.
Our goal is not just to make Linux run on these machines but to polish it to the point where it can be used as a daily OS. Doing this requires a tremendous amount of work, as Apple Silicon is an entirely undocumented platform. In particular, we will be reverse engineering the Apple GPU architecture and developing an open-source driver for it.
Asahi Linux is developed by a thriving community of free and open source software developers.
Yes, please!
Discuss on Changelog News
Install via gh extension install dlvhdr/gh-dash. Customize ~/.config/gh-dash/config.yml.
Discuss on Changelog News
For now, [x]it! is merely a file format specification.
You don’t have to use a specific tool for
.xitfiles, the basic operations like creating items or checking them off can be done in every text editor. Tools can make the experience more convenient, though, and provide support for common use cases.
The cool thing is anybody/everybody can now develop integrations for their favorite tools.
Discuss on Changelog News
John Ruble:
On any moderately-sized Node.js project you’ve likely already outgrown the package.json “scripts” section. But because the growth was gradual, with no single acute pain point, you might not have noticed. There’s a better way.
I’ve never been able to get into Makefiles, but many people I respect love them. For me the syntax is too arcane, but I recognize the power. If the “scripts” section of your package.json is getting unwieldy, it might be time for a make over. (yes I went there)
Discuss on Changelog News
What does it take to master a programming language like Go? Joining us is the author of Mastering Go to help us answer that very question and to discuss the third edition of the book.
Discuss on Changelog News
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
I’ve avoided using Docker Desktop on my Mac like you avoid those 16-seeds in your March Madness bracket. Why? Because it’s dog slow. But not anymore?
The 4.6 release of Docker Desktop for Mac contains a number of changes that drastically improve file sharing performance for macOS users. Firstly, developers now have the option of using a new experimental file sharing implementation called virtiofs (the current default is gRPC-FUSE). Secondly, improvements have been made to the way that files are synced between the macOS host and Docker VM. During testing with our amazing macOS community of users, we have observed that these changes have reduced the time taken to complete filesystem operations by up to 98%.
virtiofs is an experimental feature, so you need to enable it to realize these gains.
Discuss on Changelog News
This piece by Aria Beingessner is incredibly relevant to our shipping-this-week episode with Brian Kernighen:
My problem is that C was elevated to a role of prestige and power, its reign so absolute and eternal that it has completely distorted the way we speak to each other. Rust and Swift cannot simply speak their native and comfortable tongues – they must instead wrap themselves in a grotesque simulacra of C’s skin and make their flesh undulate in the same ways it does.
C is the lingua franca of programming. We must all speak C, and therefore C is not just a programming language anymore – it’s a protocol that every general-purpose programming language needs to speak.
And just in case these pull quotes leave you with the impression that Aria is happy about the situation… yeah, nope.
Discuss on Changelog News
The New Stack has a solid rundown of all the new hotness that shipped yesterday when Go 1.18 officially rolled out. Of course, if you’re a regular Go Time listener, you’re already well aware of both the headline features as well as the other cool stuff in this release.
Discuss on Changelog News
Today’s conversation with Kelsey Hightower showed Gerhard what he was missing in his quest for automation and Kubernetes. The fundamentals that Kelsey shares will most certainly help you level up your game.
This is a follow-up to the last 45 seconds of the Kubernetes documentary.
Oh, and we finally cleared where we should run our changelog.com PostgreSQL database 🙂
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
The 45 seconds that started this conversation
Something missing or broken? PRs welcome!
What happens when your data operations grow to Internet-scale? How do thousands or millions of data producers and consumers efficiently, effectively, and productively interact with each other? How are varying formats, protocols, security levels, performance criteria, and use-case specific characteristics meshed into one unified data fabric? Chris and Daniel explore these questions in this illuminating and Fully-Connected discussion that brings this new data technology into the light.
Discuss on Changelog News
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Learning Resources * Go.Dev - a great programming language for data fabric development * Python Data Science Handbook
Something missing or broken? PRs welcome!
Chris does a great job answering what will surely be the most common question about this acquisition in his announcement post:
The amount of value this team has given to the web world over the years is immeasurable.
I sincerely hope DigitalOcean turns out to be a worthy new steward of this precious resource and the site’s best years are ahead of it. 🤞
Discuss on Changelog News
With a detailed instructions video, anyone can build it at home - you just need access to a 3D printer and have to buy a Raspberry Pi computer and an 8MP Raspberry Pi camera.
The full set of instructions are on their GitHub org.
Discuss on Changelog News
Safari 15.4 dropped today and it has a bunch of goodies in there for web devs including lazy-loading images, the
Discuss on Changelog News
Ars Technica takes an epic stroll down memory lane:
In their moment, minicomputers were used in a variety of applications. They served as communications controllers, instrument controllers, large system pre-processors, desk calculators, and real-time data acquisition handlers. But they also laid the foundation for significant hardware architecture advances and contributed greatly to modern operating systems, programming languages, and interactive computing as we know them today.
We were just discussing this machine on our upcoming episode with Brian Kernighan.
Discuss on Changelog News
HUBFS is a file system for GitHub and Git. Git repositories and their contents are represented as regular directories and files and are accessible by any application, without the application having any knowledge that it is really accessing a remote Git repository. The repositories are writable and allow editing files and running build operations.
So if you hubfs mnt (on macOS/Linux), it will set up a file hierarchy inside /mnt that follows this pattern: / owner / repository / ref / path. Cool idea! It is affected by GitHub’s API rate limiting and I’m not sure if/how it syncs (commits) back to the remote repos…
Discuss on Changelog News
Schema changes are usually critical operations to perform on a high volume database. One thing off, and you are looking at an outage. pg-osc makes it easy and safe to run any ALTER statement on a production database table with no locking.
Discuss on Changelog News
Here’s one of the 15 language-agnostic, actionable tips on REST API design:
Use conventional HTTP status codes to indicate the success or failure of a request. Don’t use too many, and use the same status codes for the same outcomes across the API.
Smile Egbai had a solid rant about this on Go Time recently.
Discuss on Changelog News
The incomparable Jessica Kerr is back with another grab-bag of amazing topics. We talk about her journey to Honeycomb, devs getting satisfaction from the code they write, why step one for her is “get that new project into production” and step two is observe it, her angst for the context switching around pull requests, some awesome book recommendations, how game theory and design can translate to how we skill up and level up our teams, and so much more.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Julia Evans lays out her process for taking API responses in her browser’s dev tools and using them in her own programs/scripts:
Some of you might be wondering – can you always do this?
The answer is sort of yes – browsers aren’t magic! All the information browsers send to your backend is just HTTP requests. So if I copy all of the HTTP headers that my browser is sending, I think there’s literally no way for the backend to tell that the request isn’t sent by my browser and is actually being sent by a random Python program.
Discuss on Changelog News
This week Amal and Nick are joined by Dan Shappir, a Performance Tech Lead at Next Insurance, to learn about enabling a performance-first mindset within your engineering org.
Dan recently left his 7+ year tenure leading performance at Wix where he and his team improved, and monitored the speed of millions of websites around the world.
Join us to learn how he lead a cultural transformation that propelled Wix sites to be faster than most other React apps in the wild - including ones built with frameworks like Next.js.
Discuss on Changelog News
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
This is a bit different from your “State of JS” or “State of Frontend” surveys because it only focuses on EmberJS but it has been running longer than any of them. If you have used Ember even just a little bit we would appreciate your opinions and we want to listen to our community to find ideas on how to improve!
Discuss on Changelog News
This proposal is brand new (stage 0), but I hear that a lot of work has been put into it behind the scenes by a lot of people, so it has that going for it…
This proposal aims to enable developers to add type annotations to their JavaScript code, allowing those annotations to be checked by a type checker that is external to JavaScript. At runtime, a JavaScript engine ignores them, treating the types as comments.
The aim of this proposal is to enable developers to run programs written in TypeScript, Flow, and other static typing supersets of JavaScript without any need for transpilation, if they stick within a certain reasonably large subset of the language.
The implications of this change are pretty massive, if it were to ever ship. And you better believe we’re putting together a JS Party episode to discuss it with the people involved.
Discuss on Changelog News
Darrien Glasser goes super deep on the gif file format: its history, its anatomy, its weirdness:
Gifs can take user input to advance to the next frame. This poor guy built a whole site around recreating this feature with pngs. A shame he didn’t read the gif spec after being stuck inside for 2 years like me.
Discuss on Changelog News
Ed Welch joins Mat and Jon to discuss logging. They explore the different options for logging in Go, and discuss what data is worth including. Everything from log levels, formats, non-structured vs structured logs, along with common gotchas and good practices when dealing with logs at scale.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Gary Marcus makes the case that deep learning has hit a wall:
Let me start by saying a few things that seem obvious,” Geoffrey Hinton, “Godfather” of deep learning, and one of the most celebrated scientists of our time, told a leading AI conference in Toronto in 2016. “If you work as a radiologist you’re like the coyote that’s already over the edge of the cliff but hasn’t looked down.” Deep learning is so well-suited to reading images from MRIs and CT scans, he reasoned, that people should “stop training radiologists now” and that it’s “just completely obvious within five years deep learning is going to do better.”
Fast forward to 2022, and not a single radiologist has been replaced.
But he doesn’t stop there. After laying out multiple examples of deep learning failures, he change tone:
For the first time in 40 years, I finally feel some optimism about AI.
Read the article to find out why that is.
Discuss on Changelog News
In this week’s episode Cameron Dutro, a software engineer at GitHub, Ship It listener and someone with an extraordinary attention to detail, joins us to talk about Kuby, a convention-over-configuration approach to deploying Rails apps.
The question that we will be trying to answer is what happened to Rails Active Deployment. The path to that promise land is paved with good intentions, but it’s complicated.
Discuss on Changelog News
Changelog++ members save 5 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
All the details of the National Science Foundation’s “big bet” are in the article, but here’s the money quote:
If you are working on an open source project that might benefit from this kind of funding, check it out here. Phase I applications are due May 12, 2022, and Phase II applications are due October 21, 2022.
Discuss on Changelog News
Say good bye to learning new tools just to work with a different data format.
Dasel uses a standard selector syntax no matter the data format. This means that once you learn how to use dasel you immediately have the ability to query/modify any of the supported data types without any additional tools or effort.
Discuss on Changelog News
Daniel and Chris talk with Lukas Egger, Head of Innovation Office and Strategic Projects at SAP Business Process Intelligence. Lukas describes what it takes to bring a culture of innovation into an organization, and how to infuse product development with that innovation culture. He also offers suggestions for how to mitigate challenges and blockers.
Discuss on Changelog News
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Jean Yang:
Should you move to serverless? Is GraphQL the answer to your API woes? Should you follow the latest DevOps playbook to increase your system reliability? In the world of tech tools, there’s a lot of buzz. But it doesn’t always reflect the daily reality of programmers.
As the founder of a developer tools startup, I’ve talked with hundreds, if not thousands, of software developers over the last few years in the course of routine user research. The common theme in these conversations, even bigger than the need for the product we were building, was an overarching need that is currently underserved: building for real developers, or what I like to call the 99% Developers.
Good stuff to be reminded of. That reminds me: You are not Google/Amazon/LinkedIn.
Discuss on Changelog News
Rich Burroughs:
When you hear the phrase “cloud native,” is Kubernetes the first thing that comes to your mind? It is for me, and I expect I’m not alone. Kubernetes is now the second-largest open source project after Linux, and it’s the big fish in the cloud native pond. But there are many other projects in the CNCF landscape and the broader cloud native community.
So, I thought I’d list some cloud native tools that can be very useful for teams that aren’t using Kubernetes or aren’t using it for every workload. Here are 7 of them that I like a lot.
If Rich’s name rings a bell, that’s because he was just on Ship It! last week. 😉
Discuss on Changelog News
It’s possible to pair well simply by avoiding pairing poorly.
I’ve never thought about it that way, but yeah, makes sense. What follows is a list of things not to do when pairing. Things for navigators, things for drivers, and things for both.
This is just one page from Tuple’s pair programming guide, which looks excellent all-around.
Discuss on Changelog News
Thanks to Jim Nielsen, TIL that:
``` defaults write NSGlobalDomain WebKitDeveloperExtras -bool true defaults write -g WebKitDeveloperExtras -bool YES
```
Lets you trigger Safari’s Web Inspector on different system views that are built with web tech. Nifty!
Discuss on Changelog News
Samuel Berthe:
This project have started as an experiment to discover generics implementation. It may look like Lodash in some aspects. I used to code with the awesome go-funk package, but it uses reflection and therefore is not typesafe.
As expected, benchmarks demonstrate that generics will be much faster than implementations based on reflect stdlib package. Benchmarks also shows similar performances to pure
forloops.
Discuss on Changelog News
This week we have the pleasure of Rich Burroughs, Senior Developer Advocate at Loft Labs and host of the Kube Cuddle podcast.
We talk about multitenancy in Kubernetes and how to run Kubernetes in Kubernetes with vcluster. If you are using KiND, you will find this episode interesting, and maybe even helpful.
We also talk about the role that Kelsey Hightower played in Rich joining the CNCF ecosystem. The key take-away is that people make all the difference.
ADHD is something that Rich thinks about often. Gerhard was curious about the difference between ADHD and burnout, as well as this Twitter thread on re-reading sent emails.
Discuss on Changelog News
Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Kent and our panelists dive deep on the hottest new React framework: Remix. What it does today, what makes it special, how it lured Kent away from a lucrative independent teaching career, and what’s coming up next.
Discuss on Changelog News
Changelog++ members save 6 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Bhupesh Varshney:
A lot of folks looking how to get started on open source are given very generic advice on how to approach their first contribution. In this newsletter issue I share one specific actionable item.
His secret tip? Solve static analyzer issues. There, I saved you a click. Unless you’re not sure what he means by that or want his advice on how to actually get that done…
Discuss on Changelog News
So Argc is a little Rust program that your bash scripts can use to make handling command-line parameters easy. You describe the options, parameters, and subcommands in comments like this:
```
upload() { echo "cmd upload" echo "arg: target $argc_target" }
```
Then you trust Argc to parse that and do the heavy lifting:
``` eval "$(argc -e $0 "$@")"
```
The only drawback (aside from potential parsing bugs) to this approach is your script now depends on having argc in the machine’s executable path. i.e. – it’s not portable.
What’d be even cooler, IMHO, would be to instead use argc as a pre-processor of sorts that spits out a pure-bash implementation from your input script. Regardless, a cool idea!
Discuss on Changelog News
Let’s talk about the concept of immutable databases, the problems they target, and why you’d want to build one in Go.
Discuss on Changelog News
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Chris Ferdinandi:
For years, a trend in our industry has been to build single-page apps, or SPAs.
With an SPA, the entire site or app lives in a single HTML file. After the initial load, everything about the app is handled with JavaScript. This is, in theory, supposed to result in web apps that feel as fast and snappy as native apps.
Today, I want to explore why that’s nonsense. Let’s dig in!
I built one of the first big SPAs (remember Grooveshark?), but I’ve shied away from them ever since. I do think there are cases when they make sense (Trello and GMail come to mind), but overall I think too many people chose the architecture too many times because it was the it thing to do vs it was actually the best decision for their circumstance.
Heck, even Chris’s disclaimer of ‘when SPAs make sense’ section at the top is easily defeated by our Turbolinks implementation. But I digress… read this post it’s a good one for sure.
Discuss on Changelog News
Install SingleFile on any major browser and then just:
Discuss on Changelog News
Derek Sivers:
I write almost everything important in my life: thoughts, plans, notes, diaries, correspondence, code, articles, and entire books.
They are my extended memory — my noted self — my organized thoughts. I refer to them often. I search them, update them, and learn from them. I convert them into HTML to make websites, or LaTeX to make books.
My written words are my most precious asset. They are also a history of my life. That’s why I only use plain text files. They are the most reliable, flexible, and long-lasting option. Here’s why.
Discuss on Changelog News
An argument in support of software packages that come in the form of a single binary executable (statically linked or portable), that one can just copy anywhere in ${PATH} and execute, without needing sudo, or downloading half the distribution’s packages as dependencies.
Discuss on Changelog News
One of the things we discussed with Paul Copplestone from Supabase was what, exactly, might a cloud native Postgres look like? Well, perhaps it will look like OrioleDB:
A new storage engine for PostgreSQL, bringing a modern approach to database capacity, capabilities and performance to the world’s most-loved database platform.
OrioleDB consists of an extension, building on the innovative table access method framework and other standard Postgres extension interfaces. By extending and enhancing the current table access methods, OrioleDB opens the door to a future of more powerful storage models that are optimized for cloud and modern hardware architectures.
Discuss on Changelog News
This week we’re joined by the “mad scientist” himself, Feross Aboukhadijeh…and we’re talking about the launch of Socket — the next big thing in the fight to secure and protect the open source supply chain.
While working on the frontlines of open source, Feross and team have witnessed firsthand how supply chain attacks have swept across the software community and have damaged the trust in open source. Socket turns the problem of securing open source software on its head, and asks…“What if we assume all open source may be malicious?” So, they built a system that proactively detects indicators of compromised open source packages and brings awareness to teams in real-time. We cover the whys, the hows, and what’s next for this ambitious and very much needed project.
Discuss on Changelog News
Changelog++ members will hear a bonus 11 minutes at the end of this episode and zero ads. Join today!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Something missing or broken? PRs welcome!
Alon from Greeneye and Moses from ClearML blew us away when they said that they are training 1000’s of models a year that get deployed to Kubernetes clusters on tractors. Yes… we said tractors, as in farming! This is a super cool discussion about MLOps solutions at scale for interesting use cases in agriculture.
Discuss on Changelog News
Changelog++ members save 2 minutes on this episode because they made the ads disappear. Join today!
Sponsors
Featuring
Notes and Links
Something missing or broken? PRs welcome!
Designed by Cambridge engineers and computer scientists, Raspberry Pi has sold more than 40 million units, and created a market worth $1 billion… is used in tens of thousands of commercial applications in a variety of industries across the world… has created a whole new class of computing device, transforming the way engineers design control systems… has supported more than 26,000 teachers in the UK…
And the list goes on. Quite the accomplishment! Reminds me of that Bill Gates quote: “Most people overestimate what they can do in one year and underestimate what they can do in ten years.”
Discuss on Changelog News
Vikram Rangnekar:
GraphJin gives you an instant secure and fast GraphQL API without code. GraphQL is automagically compiled into an efficient SQL query. Use either as a library or a standalone service. Build your backend APIs 100X faster.
I have to zonk him for that “automagically”, but still looks like a cool project.
Discuss on Changelog News
I came across an interesting use case for edge compute the other day: cookie management at the edge. It probably won’t be super relevant to a ton of people, but it’s an interesting use case I wanted to share, nonetheless.
Discuss on Changelog News
Almond.CSS helps in two ways: it normalizes the CSS styles to provide similar experience cross-browser, and it spices things a little by adding custom styles (that can be personalized!)
Use the different HTML5 semantic tags on your website, include the library in your project, and let CSS and the browser work their magic. Just combine your HTML and Almond CSS (no JavaScript needed.)
Demo here. Looks like a great starter for simple side projects and the like.
Discuss on Changelog News
JSON support in SQLite has been in the works for awhile now, but prior to this release you had to opt in to it. Now it’s on by default and this is a great rundown of using the query features.
Discuss on Changelog News
For many software folk, we prefer our networking to have TCP handshakes, not literal (or even virtual) handshakes. If that’s you, this guide might help you get over the hump:
Here’s the truth: you can get what you need from these events without being awkward or creepy. Whether that’s job leads or important connections, there is a well-defined, time-tested way to accomplish this. It will push your limits, but it won’t leave you feeling gross inside. And the more you do it, the better you’ll get at it.
Discuss on Changelog News
This diagram by Nived Velayudhan and Seth Kenlon might help you better understand Kubernetes by looking at the 10 steps that take place when you create a pod or a deployment.
Discuss on Changelog News
Dave Ceddia shares his go-to list of questions that he (literally) printed and brought with him to interviews for that final 5-ish minutes at the end when you get a chance to ask your own questions. It does come with a small disclaimer, though:
This was years ago by the way, long before COVID, when pretty much every interview was in-person. The shock factor of pulling out 2 pages of questions wouldn’t translate so well to Zoom, haha. But still: if time runs out, you can mention that you still have a bunch of questions, and could please email them afterward.
Discuss on Changelog News
PgBouncer is a popular connection pooler for Postgres. PgCat is that same functionality, only in Rust. This is alpha software and those no worse place to run alpha software (IMHO) than in places that have direct connections to your database. Still, this is worth linking to because it’s yet another instance of open source infrastructure code getting Rusty.
Discuss on Changelog News
In the third of the “AI in Africa” spotlight episodes, we welcome Kathleen Siminyu, who is building Kiswahili voice tools at Mozilla. We had a great discussion with Kathleen about creating more diverse voice and language datasets, involving local language communities in NLP work, and expanding grassroots ML/AI efforts across Africa.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
A couple weeks back I expressed some Windows FOMO* while linking out to a very cool Swiss Army knife for developers project. Well, FOMO-be-gone! There is now a DevToys project for we Mac users.
*I have since been informed of DevUtils.app, which is also worth a gander.
Discuss on Changelog News
Garage is a distributed storage solution, that automatically replicates your data on several servers. Garage takes into account the geographical location of servers, and ensures that copies of your data are located at different locations when possible for maximal redundancy, a unique feature in the landscape of distributed storage systems.
It has an S3-compatible API and can be used as a storage backend for things like NextCloud, Matrix, and Mastodon. It’s being built by a non-profit in France that is “working to promote self-hosting and small-scale hosting.” Why do they do this?
self-hosting means running our own hardware at home, and providing 24/7 Internet services from there. We have many reasons for doing this. One is because this is the only way we can truly control who has access to our data. Another one is that it helps us be aware of the physical substrate of which the Internet is made: making the Internet run has an environmental cost which we want to evaluate and keep under control. The physical hardware also gives us a sense of community, calling to mind all of the people that could currently be connected and making use of our services, and reminding us of the purpose for which we are doing this.
Discuss on Changelog News
This major undertaking was discussed by Matt Ahrens on our recent ZFS episode. How it works:
The feature reflows existing data, essentially rewriting it onto a new arrangement of disks – meaning the original group plus a newly added disk. In so doing, a new adjacent chunk of free space is created at the end of the logical RAID-Z group and thus at the end of each physical disk.
With a disclaimer:
While all capabilities of this feature have been implemented and all tests so far have been passed, there are still a few loose ends to tie up. Specifically, there is some code cleanup to do, some verbose logging to remove, some code documentation to write, and similar relatively minor tasks. We aim for this to be integrated by Q3.
Discuss on Changelog News
Adrien Griveau makes the case for settings as a feature, not a design bug. He build the argument from a simple (and perhaps controversial) point: “users love settings”
There certainly are moments where I find myself on the settings page of a product because it failed to deliver the experience I really wanted. But not all settings are created equal.
There’s a difference between product settings that a product needs to get right by default and preferences that designers deliberately shouldn’t have a strong opinion on.
Discuss on Changelog News
This week we’re joined by Jacob Kaplan-Moss and we’re talking about his extensive writing on work sample tests. These tests are an exercise, a simulation, or a small slice of real day-to-day work that candidates will perform as part of their job. Over the years, as an engineering leader, Jacob has become a practicing expert in effectively hiring engineers — today he shares a wealth of knowledge on the subject.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
A (WIP) series on working with the K8s API from both the command line and from code.
Discuss on Changelog News
Conor O’Neill:
I blame my life-long work obsession with automation and avoiding repetitive drudgery on my first boss and mentor Danny in S3. He was horrified to see me doing the same thing over and over in a VAX code editor and introduced me to the magical world of macros.
From that point onwards, I was a man on a mission to save us all as much time as possible in our working days.
From Yahoo! Pipes to IFTTT to Node-RED and beyond: this is quite the journey.
Discuss on Changelog News
Andrew Stetsenko:
Relocation to a foreign country for work can be very exciting and lead to unique opportunities that couldn’t be accessed in your home country. At the same time, it’s a real challenge - I know it firsthand… Hopefully, this handbook will give you the necessary guidance. Topics covered include resume preparation, job search, salary negotiation, relocation packages, and more.
Discuss on Changelog News
It’s still in closed beta, but this looks like a really cool environment for data scientists and other folks who code to accomplish other goals vs code as craft. One cool thing you can do is take your Jupyter notebooks and convert them to PyFlow graphs (and vice versa).
Discuss on Changelog News
This week we’re joined by Nora Jones, founder and CEO at Jeli where they help teams gain insight and learnings from incidents. Back in December Nora shared here thoughts in a Changelog post titled “Incident” shouldn’t be a four-letter word - which got a lot of attention from our readers. Today we’re talking with Nora about all things incidents — the learning and growth they represent for teams, why teams should focus on learning from incidents in the first place, their Howie guide to post‑incident investigations, why the next emerging role is an Incident Analyst, and she also shares a few book recommendations which we’ve linked up in the show notes.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
in Software * The Changelog #462: Learning-focused engineering with Brittany Dionigi * Costa Concordia disaster
Daniel Stenberg’s first step toward adding first-party JSON support to everyone’s favorite command-line URL transmitter is a flag that is basically a shortcut for the following flags:
``` --data [arg] --header "Content-Type: application/json" --header "Accept: application/json"
```
Will more come of this? Time (and the community) will tell…
The discussion has been ignited in the curl community about what, if anything, we should do in curl to make it a smoother and better tool when working with JSON. The offered opinions range from nothing (“curl is content agnostic”) to full-fledged JSON generator, parser and pretty-printer (or a combination in between).
Discuss on Changelog News
Ryan Carniato joins Jerod, Amelia, and Nick to discuss SolidjS – a declarative, efficient, and flexible JavaScript library for building user interfaces.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
Ships with a file explorer, autocompletion, git integration, status line, fuzzy finding, and more.
Discuss on Changelog News
Gunnar Holwerda (Engineering Manager) and Tom Pansino (DevOps Team Lead) share with us a few stories about how the teams at opensesame.com manage AWS operational complexity. The first link in the episode show notes are the slides that Tom & Gunnar prepared for this conversation. Check them out as you hear us speak about the Inverse Conway Manoeuvre, and why you should always go for the bananas.
If you like this episode, and have a similar story to share, please reach out to us. We all love real-world stories that we can learn from, and perhaps contribute to.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
Anybody who’s had to design/implement HTML emails knows how utterly painful it is. With Mailwind you get to do it the same way you’d build a site with Tailwind and then run:
``` mailwind --input-html email.html --output-css style.css
mailwind --input-html email.html --output-html email-inlined.html
```
And you’re off to the outbox! 📤
Discuss on Changelog News
Just wow. This is an impressively hacky hack. You’re probably wondering how? As many such things do, it all starts with a new (Chrome-only) API:
A new set of APIs affectionately known as Houdini give your browser the power to control CSS via its own Object Model in Javascript. In English, this means that you can make custom CSS styles, add custom properties, and so on…
And it ends with something that looks like this:
``` main { // ... --sql-query: SELECT name FROM test; }
```
Discuss on Changelog News
MLOps is an increasingly popular topic that is no longer just a subset of DevOps. Go is a great choice for infrastructure. What role does Go play in MLOps?
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
A nice set of algorithms implemented with Go best practices in mind, making this a good learning resource. I wonder how much churn we’ll see on these once generics are officially added to the language… 🤔
Discuss on Changelog News
If you’d prefer code over comics, see instead her little Go program that explains the same.
Discuss on Changelog News
They brand CasaOS as an operating system, but it’s really a layer on top of Linux that provides a nice UI and easy app (docker container) installation. It’s early days for the project, but we definitely need some open source options in this space, so here’s hoping they continue to progress!
Discuss on Changelog News
Ben Kuhn is a big fan of one-on-one meeting between managers and their direct reports to discuss whatever the report wants. So, he suggested his partner try them with him to improver her graduate program experience.
In the end, they succeeded far beyond my expectations: Eve thinks our one-on-ones sped up her dissertation by about a year.
Discuss on Changelog News
In addition to being a Developer Advocate at Hugging Face, Thomas Simonini is building next-gen AI in games that can talk and have smart interactions with the player using Deep Reinforcement Learning (DRL) and Natural Language Processing (NLP). He also created a Deep Reinforcement Learning course that takes a DRL beginner to from zero to hero. Natalie and Chris explore what’s involved, and what the implications are, with a focus on the development path of the new AI data scientist.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
It’s behind a --experimental-fetch flag for now and the Node team are seeking feedback on this very exciting feature. If you’re not well aware of the fetch API and why it’d be a productivity boon to have it in Node, check the MDN page on it.
Discuss on Changelog News
Welcome to Song Encoder, a special series of The Changelog podcast featuring people who create at the intersection of software and music. This episode features Pwnie Award-winning songwriter Forrest Brazeal.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
An interesting exploration of Tesla’s recent update to their in-car control screen that resulted from the author not being able to find the defogger control. Here’s an example of the kind of analysis he provides:
Edward Tufte has this visual rule that 1+1=3. With a single line on the screen, you have just that single object, but adding a second line does something interesting, it adds a third ‘object’ on the screen, the negative space between the two. All good visual designers deeply understand this effect.
In UX design we have a cognitive equivalent. If you have two buttons, there is a third ‘object’ created, the decision a user must make on which button to tap. This cognitive load is invisible and rarely discussed but it can be a real source of confusion.
Discuss on Changelog News
Avi Lumelsky shares his journey finding and reporting databases with sensitive data about Fortune-500 companies, hospitals, crypto platforms, startups during due diligence, and more.
His major entry point: misconfiguration
Discuss on Changelog News
Tobie Langel, Open source strategist and Principal at UnlockOpen, joins Chris, Feross, and Amal to discuss recent widespread incidents affecting the JavaScript community (and breaking CI builds) around the globe. Two widely used npm libraries were self-sabotaged by their single maintainer, yet again, highlighting the many gaps in our OSS supply chain security, sustainability and overall practices. We explore all these topics and solution on what our ecosystem needs to be more resilient to these types of attacks in the future.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
I love how much hacking has been inspired by Wordle.
The Wordle source code contains 2,315 days of answers (all common 5-letter English words) and 10,657 other valid, less-common 5-letter English words.
We combine these to form a set of 12,972 possible words/answers.
We then simulate playing 1,000 Wordle games for each of these possible words, guessing based on the frequency of the word in the English language and the feedback received.
Then we take three measures to evaluate the observed distribution of ⬛🟨🟩 squares on Twitter according to our valid words.
The resulting code is included in the article.
Discuss on Changelog News
Lots of people talk about Kubernets’ complexity, but it’s rare for someone to attempt to plumb the depths of why exactly that is.
I don’t claim to have the full answer, but this post is an attempt to commit to paper two specific thoughts or paradigms I have that I reach for as I try to understand why working with Kubernetes feels so hairy sometimes.
Discuss on Changelog News
This week Adam is joined by Christine Yen, co-founder and CEO of Honeycomb. Christine and Adam recorded this show late last year, just after their Series C funding round. They talk about the superpower of observability for developers, how she and Charity Majors got to the place to found Honeycomb, the state of their platform today, what exactly observability is, and their goals for the future of Honeycomb.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
One of the most common questions we receive at Go Time is how to handle schema migrations in Go. In this episode Jon is joined by Mike Fridman and Vojtech Vitek, maintainers of the popular schema migration tool pressly/goose, to discuss techniques, tools, and tips for handling schema migrations.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
This is a ‘Linux Swiss Army Knife’, offering maximum utility while still being able to fit in your pocket. Is it fast? No. Can it run a GUI? Also no. But it can run scripts, ping a server, toggle a few GPIOs, and interact with a USB device.
Discuss on Changelog News
The criteria for inclusion is as follows:
I’m seeing lots of Changelog guests & friends in this awesome list. 😎
Discuss on Changelog News
Vincent Ambo –the person behind nixery.dev, tvl.fyi, and a former Google engineer– shares his take on monorepos, Nix, and fully declarative systems without any Flux, Argo or Kubernetes.
While the tooling is impressive, it’s the principles behind it that captivated Gerhard’s imagination. Vincent has a rather interesting take on the monorepository idea, including one change - one version - one deploy. There are a lot of interesting links in the show notes, including all the code that Vincent uses to manage infrastructure.
As a result of this conversation, Gerhard is running Nix on one of his Macs, and also started experimenting with his first NixOS production instance.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
This is a piece that I wrote for GitHub’s ReadME project about an important aspect of software maintenance: recognizing which contributions are a good fit for a project—and which are not.
The thought process applies equally well to proprietary code bases and open source projects.
Discuss on Changelog News
Old as in old school cool not old as in passe:
Despite the new gatekeepers’ best efforts, the old Internet never completely disappeared. Personal websites created by individuals that have always been the meat of the old Internet are still around. They are still about exploration, innovation, fun, and all the rest. Try as the new gatekeepers have, they simply have not had the power to eradicate the old Internet completely. All they can do is pretend it does not exist. And, that is exactly what they do.
But…
… the old Internet seems to be slowly and quietly coming back, and it is coming back even better than before. Now it has better technology and an additional well-defined purpose that it never had before.
Some people have begun to refer to personal websites as the “indie web”, the “small Internet”, or the “smol Internet”. Some seem to reserve the last two terms exclusively for the Gemini Network, which nearly quadrupled in size last year. But, I think all three terms should also apply to some of the other networks that use alternative networking protocols–the Gopher Network, the Tor network, and the ZeroNet network, to name a few.
Discuss on Changelog News
Linux users on Tuesday got a major dose of bad news—a 12-year-old vulnerability in a system tool called Polkit gives attackers unfettered root privileges on machines running any major distribution of the open source operating system.
Previously called PolicyKit, Polkit manages system-wide privileges in Unix-like OSes. It provides a mechanism for nonprivileged processes to safely interact with privileged processes. It also allows users to execute commands with high privileges by using a component called pkexec, followed by the command.
Oh my. It requires local access first, which is the only good news here.
Discuss on Changelog News
From drug discovery at the Quebec AI Institute to improving capabilities with low-resourced languages at the Masakhane Research Foundation and Google AI, Bonaventure Dossou looks for opportunities to use his expertise in natural language processing to improve the world - and especially to help his homeland in the Benin Republic in Africa.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
Featuring
Notes and Links
PRQL (pronounced “Prequel”) aims to be “a simpler and more powerful SQL”
Like SQL, it’s readable, explicit and declarative. Unlike SQL, it forms a logical pipeline of transformations, and supports abstractions such as variables and functions. It can be used with any database that uses SQL, since it transpiles to SQL.
To get an idea on PRQL’s design, they provide this SQL statement as an example:
``` SELECT TOP 20 title, country, AVG(salary) AS average_salary, SUM(salary) AS sum_salary, AVG(salary + payroll_tax) AS average_gross_salary, SUM(salary + payroll_tax) AS sum_gross_salary, AVG(salary + payroll_tax + benefits_cost) AS average_gross_cost, SUM(salary + payroll_tax + benefits_cost) AS sum_gross_cost, COUNT(*) as count FROM employees WHERE salary + payroll_tax + benefits_cost > 0 AND country = 'USA' GROUP BY title, country ORDER BY sum_gross_cost HAVING count > 200
```
And then translate it to PRQL, which looks like:
``
from employees
filter country = "USA" # Each line transforms the previous result.
let gross_salary = salary + payroll_tax # This _adds_ a column / variable.
let gross_cost = gross_salary + benefits_cost # Variables can use other variables.
filter gross_cost > 0
aggregate by:[title, country] [ #by` are the columns to group by.
average salary, # These are the calcs to run on the groups.
sum salary,
average gross_salary,
sum gross_salary,
average gross_cost,
sum gross_cost,
count,
]
sort sum_gross_cost # Uses the auto-generated column name.
filter count > 200
take 20
```
Discuss on Changelog News
Troy Hunt (of Have I been Pwned fame) has been a vocal proponent of cloud-first services for awhile. Last December, that strategy came back to bite him:
It all started with my monthly Azure bill for December which was way over what it would normally be. It only took a moment to find the problem…
He goes on to tell the tale in excruciating detail. Be careful out there, cloud natives.
Discuss on Changelog News
Rebuilding Wordle is a fun way to show off what your frontend framework is capable of (and how). Evan You has been doing just that for Vue. It’s not a 100% reproduction of the original, but it does have one cool feature the official game does NOT:
You can make your own Wordle and send it to friends by base64-encoding a word and include it as the URL query
Here’s a custom one using an acronym that many devs think about often…
Discuss on Changelog News
This week Paul Copplestone, CEO of Supabase joined us to catch us up on the next big thing happening in the world of Postgres. Supabase might be best known as “the open source Firebase alternative,” a tagline they might be reluctant to maintain. But from Adam’s perspective, he’s never been more excited about what they’re bringing to market for Postgres fans. In the last year, Supabase has gone from 0 to more than 80,000 databases on their platform — and they’re still in beta…and it’s open source. Hopefully today’s show sheds some light on why everyone is talking about Supabase.
Discuss on Changelog News
Join Changelog++ to support our work, get closer to the metal, and make the ads disappear!
Sponsors
CHANGELOG and get the team plan free for three months.Featuring
Notes and Links
Wesley Aptekar-Cassels has been using NixOS on his main laptop for ~3 years and he’s ready to talk about it:
I don’t think that NixOS is the future, but I do absolutely think that the ideas in it are, so I want to write about what I think it gets right and what it gets wrong, in the hopes that other projects can take note. As such, this post will not assume knowledge of NixOS — if you’ve used NixOS significantly, there probably isn’t anything new in here for you.
Discuss on Changelog News
This is just one of Charm’s various open source CLI projects.
Discuss on Changelog News
This repo links to dozens of courses for each of 23 categories of computing. It’s just an astounding amount of freely accessible education.
Discuss on Changelog News