Skip to content

Last Week in Pony - December 3, 2023

You probably won’t remember this 3rd of December.

Items of Note

Pony Development Sync

Audio from the November 28th, 2023 sync is available.

We had a short agenda that we ran through pretty quickly. It was almost entirely pull requests opened by Sean that closed “good first issues” posted to the contribute to pony Zulip stream.

Office Hours Cancellations

Office Hours won’t be held on Christmas and New Year’s Day. We will have a two week gap in Office Hours meetings. We will be holding other meetings on our normal schedule.

To stay up-to-date with the Office Hours changes, subscribe to the calendar.

Office Hours

We have an open Zoom meeting every week for the community to get together and well, do whatever they want. In theory, Sean T. Allen “owns” the meeting and will often set an agenda. Anyone is welcome to show up and participate. Got a Pony related problem you need help solving and prefer to do it synchronously? Give Office Hours a try. The meeting is open to anyone. Stay up-to-date with the schedule by subscribing to the Office Hours calender. Hopefully, we’ll see you at an Office Hours soon.

Attendees were Adrian, Dipin, and Sean. Our only Pony related discussion was around an error that Gordon Tisher encountered and brought up on Zulip.

Interested in background? Check out the initial conversation from the Ponylang Zulip.

Community Resource Highlight

We like to take a moment in each Last Week in Pony to highlight a community resource. There are many community resources that can go unappreciated until just the right time when someone hops into the Ponylang Zulip asking a question or facing a problem we have all had at one time or another. Well here in Last Week in Pony, we make it just the right time to highlight one of our excellent community resources.

Pony is a highly concurrent, actor-based language. This high concurrency can have an effect where many actors are generated to share a workload (i.e., “fan out”) which all then report results to a single actor (i.e., “fan in”). When this is well-balanced life is good and all is well, but when unbalanced it can lead to massive slow down. One possible reason for such a slow down is the “thundering herd” problem which necessitates a well-implemented backpressure system. In general, a backpressure system allows for those parts of a system that are causing strain to be temporarily stopped so the rest of the system can reduce that strain. The Pony backpressure system allows us to mitigate problems such as the “thundering herd” by re-balancing resource usage (i.e., which actors are scheduled on finite cores).

This week we invite you to watch the Virtual User Group video An informal tour of the Pony backpressure system. In this video, Sean explains how the Pony backpressure system works. After watching the video, take a look at some of the examples that use the backpressure system such as fan-in, overload, and under_pressure.

Last Week In Pony is a weekly blog post to catch you up on the latest news for the Pony programming language. To learn more about Pony, check out our website, our Twitter account @ponylang, or our Zulip community.

Got something you think should be featured? There’s a GitHub issue for that! Add a comment to the open “Last Week in Pony” issue.

Interested in making a change, or keeping up with changes to Pony? Check out the RFC repo. Contributors welcome!