Racket meet-up Saturday 3 December at 18:00 UTC :racket:

Racket meet-up Saturday 3 December at 18:00 UTC :racket:

At this meet-up:

  • Show and tell
  • News & rumours
  • AOB

Meet-up time at your location: 2022-12-03T18:00:00Z (Discourse should convert this for you)

In the 'Racket Room': https://gather.town/app/wH1EDG3McffLjrs0/racket-users

Racket meet-ups are on the first Saturday of EVERY Month at 18:00 UTC

30 minutes but can overrun (it usually lasts ~1hr)

EVERYONE WELCOME

Stephen
:beetle:

Racket Discourse

Racket Discord

For this meetup I've prepared some longer show-and-tell about what I've been up to in the past three months if anyone is interested:

  • unifying local terminal and NTV (network virtual terminal - TELNET)
  • changing the semantics of custom input-ports' read
  • properly implementing custom input-ports polling without busy-wait loops
  • optimized software color blending
  • new universal algorithms for lossy bitmap to ANSI character strings conversion (character halves, quads and sextands from Symbols for Legacy Computing in Unicode 13+)
  • why is Racket the best programming language ecosystem for development of software rasterizers
  • and (if there is enough interest) excerpts from the 20 years of history of "why" things like this

See you all at the meetup tonight!

3 Likes

Thanks @dominik.pantucek looking forward to it!

——

Meet-up time at your location Time Zone Converter – Time Difference Calculator


Pacific Time, PT      	Sat, 3 Dec 2022 at 10:00 PST
Mountain Time, MT     	Sat, 3 Dec 2022 at 11:00 MST
Central Time, CT      	Sat, 3 Dec 2022 at 12:00 CST
Eastern Time, ET      	Sat, 3 Dec 2022 at 13:00 EST
London, United Kingdom	Sat, 3 Dec 2022 at 18:00 GMT
Prague, Czechia       	Sat, 3 Dec 2022 at 19:00 CET
Taipei, Taiwan        	Sun, 4 Dec 2022 at 02:00 CST

Thanks to everyone who attended the Racket meet-up

we started off sharing our excitement about the announcement of Racketfest, "the rogue festival of Racket & language-oriented programming" for March 2023 (Thank you to Jesse for organising Racketfest - sadly Jesse was unable to attend the meet-up but sent his apologies)

You can read the Racketfest announcement here: Racketfest 2023: The little Racket conference that could!

Also mentioned was the Advent of Code Racket Leaderboard announcement

After this @dominik.pantucek did a longer show and tell as mentioned earlier in the thread - he has agreed to post some screenshots for those who were not able to join us.

Mentioned: (a wildly incomplete list)

  • Using fxvector for better performance
  • x64 Assembler a x64 assembler written in Typed Racket, and it generates code that can be used in Racket directly.

I had to leave the group to make my dinner for my family but before I left there was excitement about the upcoming Racketfest talk Lamb­da, the Drag­on Slay­er! from by Paulo Matos of Igalia @pmatos ...it is a long wait until Sat­ur­day, March 18, 2023

best wishes
Stephen
:beetle:

PS the next meet-up with be Saturday 7 January...join us, everyone is welcome.

PPS I've just booked my Racketfest ticket and I am looking forward to meeting more Racket & language-oriented programming enthusiasts there.

3 Likes

Based on the overly positive feedback yesterday, I've already sent an abstract for Racketfest 2023!

In the first part of my presentation, I focused on implementing custom ports and unifying the terminal interface for both local terminal and remote terminals and building a library that provides similar functionality to curses[1] and charterm[2] - albeit rather differently. As a showcase I used the library to implement a multi-actor terminal "game" where multiple users can connect to given TCP port using the TELNET protocol and from the programmer perspective it all boils down to parameterize[3]d current-input-port and current-output-port:

The upper-left window is the Racket program, the other three are just TELNET connections to it. And yes, the players (@ symbols) can move around using arrow keys.

Then I talked about the latest incarnation of my canvas drawing library with capability of converting a true-color RGB canvas to aforementioned curses-like library for text screen updates and about the (preliminary) work on supporting generic software triangle rasterizes (and why it is important to first find the most convenient syntax to express the various algorithms involved). Currently affine texture mapping is the most complex feature supported and with the help of syntax-parse[4] for every triangle algorithm developed, I get one working with quads for free:

That is alpha-blended ARGB sprite with some (albeit in this screenshot only slight) alpha on top of that over the infamous XOR texture[5] rendered into 80x24 text terminal using Symbols for Legacy Computing from Unicode 13.0.

Of course, the ultimate goal is the same as with the previous version which was half-Racket, half-C++:

Special thanks to @spdegabrielle for keeping the community vibrant and thanks everyone for showing up yesterday. Remember - it's only three meetups until we meet in person (again) at Racketfest 2023[6]!

[1] https://en.wikipedia.org/wiki/Curses_(programming_library)
[2] https://docs.racket-lang.org/charterm/index.html
[3] https://docs.racket-lang.org/reference/parameters.html#(form._((lib._racket%2Fprivate%2Fmore-scheme..rkt)._parameterize))
[4] https://docs.racket-lang.org/syntax/Parsing_Syntax.html#(form._((lib._syntax%2Fparse..rkt)._syntax-parse))
[5] https://lodev.org/cgtutor/xortexture.html
[6] https://racketfest.com/

3 Likes