Changelog News
Developer news worth your attention
Hello friends! š
Our be-where-the-people-are philosophy means Iām required to say, āYes, we joined Threads.ā Connect with us there, if you like.
Or follow us on Twitter, like always. But weāre also on (and Iām personally rooting for) the fediverse. Donāt forget Bluesky! This is getting exhaustingā¦
Enough of that. Letās get into the news. (Audio Edition)
š„ Oracle smacks IBM for RHEL source change
On June 21st, IBMās Red Hat announced they would stop publishing public sources of Red Hat Enterprise Linux (RHEL) because, in summary, they do not want others ārepackaging it for their own profit.ā This change was met with community back lash, no surprise. So, on the 26th Red Hat VP Mike McGrath wrote up an explainer that didnāt seem to help things much. Enterā¦ Oracle?
Why did IBM make this change? Well, if you read IBMās blog attempting to explain its rationale, it boils down to this:
At Red Hat, thousands of people spend their time writing code to enable new features, fixing bugs, integrating different packages and then supporting that work for a long time ā¦ We have to pay the people to do that work.
Interesting. IBM doesnāt want to continue publicly releasing RHEL source code because it has to pay its engineers? That seems odd, given that Red Hat as a successful independent open source company chose to publicly release RHEL source and pay its engineers for many years before IBM acquired Red Hat in 2019 for $34 billion.
Themās is fightinā words! But theyāre just getting startedā¦
Oracle makes the following promise: as long as Oracle distributes Linux, Oracle will make the binaries and source code for that distribution publicly and freely available. Furthermore, Oracle welcomes downstream distributions of every kind, community and commercial. We are happy to work with distributors to ease that process, work together on the content of Oracle Linux, and ensure Oracle software products are certified on your distribution.
By the way, if you are a Linux developer who disagrees with IBMās actions and you believe in Linux freedom the way we do, we are hiring.
This is brilliant positioning by Oracle. Thatās a sentence I never thought Iād write! But thereās one last body blow before this roundās bell rings:
Finally, to IBM, hereās a big idea for you. You say that you donāt want to pay all those RHEL developers? Hereās how you can save money: just pull from us. Become a downstream distributor of Oracle Linux. We will happily take on the burden.
š A Slack clone in 5 lines of Bash
Did you know that Mattermost contains half a million lines of Go, and again half a million lines of TypeScript. Just for the server! Imagine how big Slackās codebase isā¦
Simple Unix Chat (suc
), on the other hand, is small enough that I can include its core loop right here in this newsletter. Behold the five lines of bash that do as much as half a million lines of Go:
while /usr/bin/true
do
read -r line || exit 0 # EOF
/usr/bin/echo "$(/usr/bin/date --iso-8601=seconds)"\
"$(printf "%-9s" "$(/usr/bin/id --user --name --real)")" \
"$line" >> /var/lib/suc/"$1"
done
The linked article is an awesome breakdown of how suc
does so much with so little.
š§ 13 ways to think about joins
Justin Jaffray rounds up and explains the many ways you can conceptualize a relational (inner) join:
Theyāre not without redundancy, some of them are arguably the same, but I think theyāre all interesting perspectives nonetheless.
A join is a lookup, a nested loop over rows, a flat map, a path through a graph, a ring productā¦ (and 8 more)
š llama.cpp learns web chat
This merged pull request from Shopify founder/CEO Tobias LĆ¼tke that adds a web chat server to llama.cpp is super cool for a bunch of reasons.
- The fact that Tobi still codes and contributes to open source at this stage in his career: cool
- The overall quality of the content, feedback, and collaboration around the PR on public display: cool
- The feature itself, which now everyone in the world with a networked computer can benefit from: cool
Sorry if Iām gushing a bit here, but this is the kind of open source phenomena that really geeks me out. Love it!
š APIs are getting a brand new DevEx
Thanks to Speakeasy for sponsoring this weekās Changelog News š°
Get ready because Speakeasy (the API infrastructure company) is officially launching and this week theyāre showing of some of the exciting new features theyāe rolled out to devs around the world.
Give your API the #DevEx it deserves. Speakeasy managed SDKs are idiomatic, type-safe, and readable. In other words theyāreā¦ crafted by developers, for developers.
Learn how Speakeasy manages the full SDK lifecycle, how they validate OpenAPI docs, how you should go about creating SDKs, and catch an awesome demo of using Speakeasy to build a terraform provider from your OpenAPI spec. Check it out!
š¤ Meta will pay 3 engineers to make Pythonās GIL optional
You may have heard Python Steering Council member Brett Cannon discuss removing the GIL with us on Changelog & Friends a few weeks back. Turns out thereās a lengthy discussion all about that ongoing that got very interesting a few days ago. Guido van Rossum had stated:
it would be great if Meta or another tech company could spare some engineers with established CPython internals experience to help the core dev team with this work.
And Meta employee Carl Meyer replied:
Weāve had a chance to discuss this internally with the right people. Our team believes in the value that nogil will provide, and we are committed to working collaboratively to improve Python for everyone.
If PEP 703 is accepted, Meta can commit to support in the form of three engineer-years (from engineers experienced working in CPython internals) between the acceptance of PEP 703 and the end of 2025, to collaborate with the core dev team on landing the PEP 703 implementation smoothly in CPython and on ongoing improvements to the compatibility and performance of nogil CPython.
Thereās a BIG if in that offer because PEP 703 hasnāt been accepted by the Steering Council yet. Big decision! But if they approve it, itās great knowing there will be dedicated engineers making the effort happen.
š§ ICYMI: Recent good pods from us
Efficient Linux at the CLI ā OāReilly author Daniel J. Barrett joins Adam & Jerod to talk about efficient ways to use Linux. He teaches us about combining commands, re-running commands, $CDPATH hacks, and more.
The massive bug at the heart of npm ā Darcy Clarke joins Amal & Feross on JS Party to discuss a novel supply chain attack he recently disclosed that heās referring to as āmanifest confusionā.
The solo gopher ā 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. Ben Johnson joins Kris & Ian on Go Time.
Cambrian explosion of generative models ā Daniel & Chris explore recent highlights from the current model proliferation wave sweeping the world - including Stable Diffusion XL, OpenChat, Zeroscope XL & Salesforce XGen.
šŗ And one from the back catalog
A new $stdout track called Stonk Options reminded me of the special Song Encoder episode I did profiling his life/work. While giving it a re-listen, I realized it was made in the pre-chapters era š. So I fixed it for youĀ me us!
Donāt take VC funding. It will destroy your company
Oliver Eidel warns anyone thinking about taking VC to start a company. I do believe VC has its place, but you need to know what exactly youāre getting yourself in to and Oliverās list of secondary effects in this post is a good start:
- Because your goal is to sell the company later, it has to grow
- Youāll be spending much of your time on finding the next investors
- You have to focus on large markets with many (or large) customers
- Making existing customers happy is less important than acquiring many more new customers
His biggest point is that when you take VC funding profitability takes a back seat (to growth) and this ākills your companyā
Software engineers hate code
This is the best-kept secret of the software engineering profession: engineers hate code. Especially code written by other people. Itās why they love working on greenfield projects so much. No code, no maintenance, no headaches!
Co-sign! The best code: no code. Second best: deleted code. Third best: my code. Worst: your code š
Language-Level Toll Roads
Jim Nielsen hits on something at the intersection of open source frameworks and for-profit platforms that Iāve also felt recently, but havenāt been able to verbalize. The first example is Denoās new KV storage. According to Simon Willison:
[Deno KV is] an interesting variant on a key/value store thatās backed by SQLite locally, and will run against a neat FoundationDB global distributed database when you deploy scripts to the Deno Deploy cloudā¦
theyāre baking a core feature into their framework which their SaaS platform is uniquely positioned to offer as a global-scale upgrade.
This is what prompted Jim to write:
That makes sense ā but it still feels a bit strange. Iām trying to put my finger on why. I think itās because of how integrated this proprietary feature is at the language level of an open source project. Itās like a language-level toll road.
Iām not sure what to conclude about this, but I have to admit Iām a bit leery of blurred lines, regardless of the intention or practicality of blurring them.
š Meme break!
You canāt always get what you wantā¦
But if you try sometimes, you might findā¦
You get what you need dev is capable of
āļø Cool tools for the trade
- diode ā A Wasm-powered local dev env for Laravel
- Final2x ā Upsize images to arbitrarily large sizes
- bespoke ā The best parts of Mailchimp, Kalviyo, Substack & Typeform
- plate ā The rich-text editor framework for React
- lima ā a nice way to run Linux VMs on Mac (via b0rk)
š¤ Shout out to our supporters!
Itās time once again to thank our newest Changelog++ members. BIG thanks to Peter O, Adam S, Trevor S, Piotr G, Nick R, Mikayel H & Adam B for supporting our work with your hard-earned cash!
If Changelog++ is new to you, it is our membership program you can join to ditch the ads, get closer to the metal with bonus content, directly support our work & get shout outs like the ones above. ā
š” Community radar
Did you know you can submit links for coverage and/or send me timely tweets/posts?
- Shifted: Google Cloudās Richard Seroter says shifting left is for suckers. Shift down instead (via adamstac)
- Rusted: OCaml may very well be getting Rust-like memory management (via yawaramin)
- Unabridged: Libera.Chat is disabling the Matrix<>IRC bridge due to technical issues (via simonmic)
- Released: The Ember team announced their 5th major release of their framework for building ambitious web apps (via real_ate)
- Flagged: A tool for managing feature flags and experiments using a git-based workflow (via fahad19)
- Replicated: a CLI orchestrator that simplifies setting up logical replication between Postgres instances (shayonj)
Thatās the news for now!
On Wednesdayās interview show weāre sitting down with Jake Zimmerman from the Sorbet team at Stripe to hear all about the fast, powerful type checker designed for Ruby and why Jake believes types will win in the end.
(Wow, you made it all the way to the end! Is this newsletter too long? Or just right? Hit reply and let me know!)
Have a great week, forward this email to a friend who might dig it, and Iāll talk to you again real soon. š
āJerod