Martin Emde's Avatar

Martin Emde

@martinemde.com.bsky.social

Modularity @ Gusto, Rubyist

188 Followers  |  67 Following  |  206 Posts  |  Joined: 18.11.2024  |  2.1918

Latest posts by martinemde.com on Bluesky

A screenshot showing `jim release` building a "packed" gem, build a normal gem, and upload them both to GitHub Releases.

A screenshot showing `jim release` building a "packed" gem, build a normal gem, and upload them both to GitHub Releases.

!!! `jim release` can now:

1. build itself as a .gem,
2. pack itself into a single-file script,
3. publish both of these to GitHub Releases

Try out the packed `jim.rb` file. It should be completely self-contained:

github.com/duckinator/j...

30.10.2025 00:17 โ€” ๐Ÿ‘ 16    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

You might say the reason they needed to do a switch atomically is because someone said โ€œif you remove him Iโ€™ll add him back.โ€

If someone says that to you, does that make it right to respond by using your power to move first to do it by force so you donโ€™t have to answer the concerns being expressed?

01.11.2025 16:11 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

You knowโ€ฆ Ruby Centralโ€™s takeover of rubygems GitHub org ONLY worked because it could be executed within seconds, and by doing so, prevent the possibility of revert.

If the ownership change was a PR it would never have been approved.

If RC is โ€œrightโ€, why did they need the atomic switch?

01.11.2025 16:09 โ€” ๐Ÿ‘ 8    ๐Ÿ” 3    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Slippery Zips and Sticky Tar Pits: Securing Software Archives in Python Learn how the Python Software Foundation is improving archive security in a new white paper by Seth Larson, sponsored by Alpha-Omega. Explore how ZIP and tar vulnerabilities impact software supply cha...

Read the new white paper by @sethmlarson.dev about the challenges and vulnerabilities caused by package repository archive formats. alpha-omega.dev/blog/slipper...

29.10.2025 15:30 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I have also had this problem. It is very inconsistent. Maybe this is why.

29.10.2025 14:35 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Open Infrastructure is Not Free: PyPI, the Python Software Foundation, and Sustainability In September, the Python Software Foundation (PSF) co-signed the Open Infrastructure is Not Free: A Joint Statement on Sustainable Stewardship Letter published by the Open Source Security Foundation (OpenSSF) as a steward of the Python Package Index (PyPI). As a follow up, I would like to share a bit more about the concerns expressed in this letter as they relate to our community and the PSF.

PyPI serves billions of requests daily- but sustaining it isnโ€™t free. The PSF joined the OpenSSF & others in calling for organizations to invest in sustainable open infrastructure. Learn what this means for #PyPI, the PSF, & how our community can pitch in:

29.10.2025 13:11 โ€” ๐Ÿ‘ 53    ๐Ÿ” 15    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1

@sethmlarson.dev and I went through months of intense, complex work to climb a steep and slippery learning curve, only to be stopped short at the very end by a hard ethical line we couldn't crossโ€”it was gut-wrenching.

I'm proud of what we did and I'm proud of what we didn't do.

27.10.2025 15:00 โ€” ๐Ÿ‘ 55    ๐Ÿ” 14    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 1
Rocky Mountain Ruby 2025 - We Who Remember Magic by Brandon Weaver
YouTube video by Confreaks Rocky Mountain Ruby 2025 - We Who Remember Magic by Brandon Weaver

www.youtube.com/watch?v=IQQt...

My keynote, "We Who Remember Magic", from Rocky Mountain Ruby just posted.

26.10.2025 05:50 โ€” ๐Ÿ‘ 20    ๐Ÿ” 5    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 2
The PSF has withdrawn a $1.5 million proposal to US government grant program

Python Software Foundation had to make a tough choice here. I applaud them for sticking to their values. thanks for your leadership in this space @python.org pyfound.blogspot.com/2025/10/NSF-...

27.10.2025 16:59 โ€” ๐Ÿ‘ 14    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Funny you should bring this up! I know some people that work on ruby packaging. I wonder if they need any help.

26.10.2025 06:32 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
We want Ruby to move forward - Martin Emde

Let's move Ruby forward. martinemde.com/2025/10/25/m...

26.10.2025 05:34 โ€” ๐Ÿ‘ 38    ๐Ÿ” 8    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
We want to move Ruby forward On September 9, without warning, Ruby Central kicked out the maintainers who have cared for Bundler and RubyGems for over a decade. Ruby Central made these changes against the established project poli...

the former maintainers of Bundler and RubyGems have a proposal: we want to move Ruby forward andre.arko.net/2025/10/26/w...

26.10.2025 04:45 โ€” ๐Ÿ‘ 134    ๐Ÿ” 52    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

One takeaway is that the open source world is an amazing place! It's marvelous how well this usually works. This is distributed trust at scale via education and support (rather than control). All the work to help people learn security and provide best practices mostly seems to work. Wonderful!

26.10.2025 00:03 โ€” ๐Ÿ‘ 4    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1

Companies should scan their open source. Full adoption of trusted publishing could have foiled NPMโ€™s Shai Halud. Fighting about shared ownership models is horribly destructive when it makes the people leave that understand these problems. Thatโ€™s the real security vulnerability.

25.10.2025 23:49 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

If all you need to make your supply chain secure is CLAs for devs and a non-profit administrative staff holding keys to the world, remember that most package managers still run untrusted code on install, packages go live with minimal scanning, and best practice publishing security adoption is low.

25.10.2025 23:45 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

You might wonder, โ€œhow can a group of friends be sufficient for global enterprise software supply chain security?โ€ The answer for me is that these people were there BECAUSE it was so important. RubyGems.org has had no major outage in 14 years. This is not a fluke.

25.10.2025 23:38 โ€” ๐Ÿ‘ 8    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

Malicious compliance

25.10.2025 18:49 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Updating my LEGO White House

23.10.2025 02:51 โ€” ๐Ÿ‘ 47376    ๐Ÿ” 11121    ๐Ÿ’ฌ 784    ๐Ÿ“Œ 438

To the mild insult, sorry again. Itโ€™s tricky to say โ€œI disagree slightly and wish to present a different perspective on a complex issue that has many different sidesโ€. Well, not that difficult, I just said it there but I shortcutted significantly the first time. I appreciate you accepting my apology

25.10.2025 16:43 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I see no way around it. Weโ€™re in a gray world of questionable characters that usually do the right thing and sometimes act in their own best interest despite the damage. I donโ€™t know what else to do besides hope. Rubygems maintainers had a great things going here. Imperfect yes, but honest.

25.10.2025 16:41 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Also, Iโ€™m sorry. It seems like my way of saying โ€œitโ€™s confusingโ€ did sound a bit like I was saying you were confused. It was not my intention. My goal is to give more nuance to a complex situation given all I know and to relate that it is difficult to know every conflicting detail.

25.10.2025 16:15 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

The blame is squarely on Ruby Central here. None of this was necessary. If they wanted to assume more responsibility for their infrastructure they should have asked and we would have helped. The GitHub org only needed a few hours of work to fully separate infrastructural code.

25.10.2025 16:08 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Iโ€™m holding out hope that Ruby Core made a simple oversight. The Ruby Core maintainer restored us. Iโ€™m not ready to assign blame on that yet. This is the conciliatory stance I want to take with Ruby Core to heal until Iโ€™m proven otherwise.

25.10.2025 16:05 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Iโ€™d sponsor that podcast.

25.10.2025 15:10 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The team that managed rubygems was formed by building social connections with people that cared enough to work on rubygems in their free time. It is at its core a trust based team of equals. This is why corporate takeovers that take advantage of that trust hurt so much. Trust is all we had.

25.10.2025 14:47 โ€” ๐Ÿ‘ 14    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I know itโ€™s a bit confusing, but I wouldnโ€™t say that Ruby core is part of the problem. I think they are reasonable, they did what they could to support the community given the situation. Ruby Core cares about Ruby and cares about OSS developers.

25.10.2025 14:32 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Iโ€™ll clarify that RC paying for labor is only partial, recently, and for a portion of the engineering time and people. Most work was done for free on personal time or company time. RC is more of a fiscal host for contributions to rubygems than a company managing the service. They do conferences.

25.10.2025 14:14 โ€” ๐Ÿ‘ 9    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

By this I mean to clarify that there never has been some sort of โ€œRuby Central team that manages rubygems.org and understand how it deploys.โ€ This is much more like public land, gifted by AWS and Fastly, on which outside maintainers build tubygens.org using their own accounts and RC paid for labor.

25.10.2025 14:08 โ€” ๐Ÿ‘ 8    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Jamie Writes Words This action will delete this post on this instance and on all federated instances, and it cannot be undone. Are you certain you want to delete this post?

Jamie Gaskins wrote a great piece explaining how shipit, the code the deploys rubygems.org works and why a fork would have been fine. The one thing I would add is that there is no Ruby Central institutional knowledge. There were and are only outside rubygems maintainers jgaskins.blog/ruby-central...

25.10.2025 14:03 โ€” ๐Ÿ‘ 9    ๐Ÿ” 3    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

The hard part I think would be the index. Youโ€™d need an index per gem with a BitTorrent address and a checksum, maybe, youโ€™d need to build a chain โ€ฆ weโ€™re just building crypto.

25.10.2025 07:11 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@martinemde.com is following 20 prominent accounts