Racket meet up Saturday 5 Feb 18:00 UTC

As usual, this was a great meeting! As a matter of getting better in compiling the meeting minutes in Sunday afternoon tea friendly manner, it might be wise to include not only the academic and technical references but also some cultural references we came across. Mostly for broadening the horizon here. And as @dominik.pantucek doesn't want to seem self-obsessed, he'll keep writing this in third person[1].

No academic papers were scheduled for discussion but that does not mean some didn't eventually pop up. That is a kind of thing that can be expected to happen within Racket community.

At the very beginning @bogdan briefly described his current work on Apache Kafka support. His goal is to implement the wire protocol and in order to help him with this task, he created a DSL for making binary parsers and "unparsers" - binfmt[2]. According to his own words, this is inspired by EBNF and it supports "local" back-references within any given definition - but the references cannot currently cross the definition boundary. A short discussion revealed that there won't be a need for supporting cross-definition back-references when implementing a typical wire protocol of any kind. Yet turning this into a general tool might require this feature to be implemented as generic binary formats can be Interesting[3].

@jbclements joined and wanted to double-check one last possible issue of 8.4 release related to OpenGL on Ubuntu systems. @dominik.pantucek is running similar system to the one in question (Ubuntu 21.10) and it was fairly straightforward to quickly eliminate the possibility of this issue[4] being rooted in the 8.4 release. It will probably get released as this is written or while you read it. Good job everyone involved!

@dominik.pantucek then talked a bit about why he is not developing new features to his Unicode Tables package[4] - he and his colleagues are actually using it as a basis for a VM management tool on top of libvirt[5] with Racket REPL as user interface. An interesting discussion followed - about various people's experiences with different virtualization platforms and more importantly with distributed storage solutions. Apparently Ceph[6] or similar tool is used more often than not - as an object storage, as a distributed filesystem and of course as a VM disk image backend.

A brief excursion into the history of computing followed when @dominik.pantucek and @sschwarzer discussed the nooks and crannies of FTP protocol client implementation. Yes, this is a piece of living history and most of the programmers will have to live with that for the foreseeable future. Turns out @sschwarzer is the maintainer of Python's ftputil[7] package and latest patches to net/ftp provided by @dominik.pantucek and his colleagues show that there are still systems that need solid support for FTP - although it is getting 42 years old in June[8].

@marc and @bogdan shared their thoughts and a vision for the congame[9] project which is used for running (not only) economic studies. Data storage abstraction, workflow tracking using continuations and all other kinds of neat stuff were discussed and during that discussion @ryanc pointed out that there already was a project with similar goals: Topsl[10]. Not only the paper is available, but apparently the - a bit rusted - source code is still waiting there for future researchers to try[11]. More discussion continued about gradual typing, shallow typing, what are the practical differences between types and contracts, or even how to perform static program analysis without types using the Racket macro ecosystem.

Then, finally, a slow but thorough discussion about RacketCon started. Firstly, a summary of what has been discussed is due to be given.

Everyone agreed that it would be nice to have some sort of on-site event somewhere. It is also apparent that - given the special circumstances all around the world - this does not look feasible to a full extent. An online conference is probably the way to go. However, the closer to summer the dates will be, the better chances of organizing some physical event as well. People shared their thoughts and experiences from past RacketCons, RacketFests and similar events even from different projects and academia. A common canon is that although it is nice that the Racket community is compact, it would be nice to spread the burden of organizing the main Racket conference between more people. @jeapostrophe has done a great job in the past and it would be a dire omission not mentioning @jesse with everything he did on the old continent. @sschwarzer suggested doing smaller events in the barcamp[12] style and expand upon it. From everything he said, in the Python community in Germany - this was definitely something worth trying. It also aligns well with what @spdegabrielle envisioned a few months ago - the community organization should be progressing through the year towards organizing RacketCon.

The distilled idea that got the furthest is to organize a mixture of online and on-site events with pre-recorded talks. It might be a good idea to have more talks about similar topics - themed tracks would be a good name for such approach. Then on each continent an on-site event could be held at the same (or similar) time where people could discuss the talks and topics in person. It might even be possible to have some live panel discussions across the globe!

Although it would be nice to go to US where there is a strong Racket presence in certain states - more feasible approach is probably better course of action now. Also it turns out that accommodation is definitely not cheap in Boston and you can easily get banned[13]. Those who actually attended the meeting will probably understand this reference better now.

Secondly, some things should probably be clarified regarding next RacketCon as soon as possible:

  • Is it feasible to mix the online/on-site method? How (both technical and organizational question)?
  • Can everyone (even remotely) involved agree upon some themes/topics to help with the CfP process?
  • How can anyone help with the organization and not leave most of the burden on @jeapostrophe? What is the granularity of all the work involved? Can we efficiently split it between multiple (groups of) people?
  • Apart from the actual schedule for the conference - what about the planning and preparations schedule? Isn't it already the right time to start?

On the optimistic note, hopefully someone will start off from here and more refined plans will follow. Perhaps @spdegabrielle - wink, wink?

It also came to everyone's attention that Racket News issues are not published as often as they used to be. Maybe a helping hand is just what is needed. It has always been a pleasure to read it and nobody wants it to disappear. If @pmatos is busier with other tasks right now, people expressed the willingness to help him whenever possible, so with some community help maybe we are about to see another Racket News issue soon!

As the main organizer didn't arrive, there was virtually no coverage for the Creative Racket Competition[15]. But the time has not run out yet - so be sure to submit your entry before the deadline!

And remember - showing up at Racket Meetups helps you learn the news of the Racket world as they happen! It is informative, it is interesting, it is helpful, it is greatly appreciated by everyone involved and it is fun!

[1] Rock And Roll Nerd by Tim Minchin - YouTube
[2] binfmt: binary format parser generator
[3] Interesting Times - Wikipedia
[4] Unicode Tables
[5] https://libvirt.org/
[6] Ceph.io — Home
[7] ftputil · PyPI
[8] RFC 765 - File Transfer Protocol specification
[9] https://github.com/MarcKaufmann/congame
[10] https://people.cs.uchicago.edu/~jacobm/pubs/topsl.pdf
[11] Topsl / Code / [r293] /trunk/topsl
[12] BarCamp - Wikipedia
[13] Banned in Boston - Wikipedia
[14] https://racket-news.com/
[15] Creative Racket Competition 2022: January 1, 2022 → February 28, 2022

9 Likes