Skip to content

Last Week in Pony - September 10, 2023

Well, it was a week, a week that stuff happened. Some of it Pony related, some not. We suggest you listen to some Townes Van Zandt while you read this and maybe, listen to a dog whine for attention at the same time. Really gussy up your life; pony style.

Items of Note

Office Hours is Going to be Moving

Sean just started a new job and he has a fairly regular, recurring meeting that conflicts with Office Hours. This past week, we moved Office Hours back by one hour. We haven’t settled on a final “new time” for Office Hours. You are welcome to contribute to the discussion of what days/times are best for you in the Zulip.

Going beyond JavaScript and Actor-Based Programming

Victor Morrow shared an interview with Douglas Crockford (of “JavaScript: The Good Parts” fame) in the Zulip this week.

Victor summarized the interview as:

(Crockford) talking about the need for replacement of JavaScript with an actor based programming solution. He did not seem to be aware of Pony in the talk but suggesting that there should be a language with the properties of Pony

Dipin Hora followed up with a couple of related links for Crockford’s notes on his language and talk where he goes into it more.

My personal take is to be wary of any talk about “the next programming language” but, hey, no one ever accused Crockford of lacking hubris.

Pony Development Sync

Audio from the September 5th, 2023 sync is available.

The primary topic of this week’s sync was the Windows TCP test flakiness that Sean spent several days tracking down. Knowing that he was going to be starting a new job on the 5th and wouldn’t have time to address any hard Pony issues for a while, he dug in and figured out the source of our Windows TCP test flakiness that was only showing up in GitHub Actions. Curious? Good. Now, go listen to the recording.

Office Hours

We have an open Zoom meeting every Friday 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.

Sadly there was no Office Hours this week. There was going to be, but then Sean lost power and… no Office Hours.

If you’d be interested in attending an Office Hours in the future, you should join some time, there’s a calendar you can subscribe to to stay up-to-date with the schedule. We do our best to keep the calendar up-to-date.

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.

This week we are going to look at one of the Pony Patterns: Testing Output Only Actors!

Many actors will produce output that is meant to leave the system, but how do we test these actors? In Pony we can use a combination of factors built right into the language to ensure proper testing. The factors of importance here are: 1. Pony promises, 2. Stub objects, and 3. causal messaging.

The moving parts for this pattern are difficult to summarize any clearer than the Patterns entry itself so I will leave you with the brief advice that if you have an actor that implements the OutStream interface then it is worth looking at this pattern! And if you don’t yet have such an actor, look anyway!


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!