raku for yachting

On Saturday, I was honoured to be among the leaders of the raku community in the FOSDEM 2022 raku devroom. Thanks to Andrew Shitov for organising and to all those who were able to join.

Here’s the official video of my presentation for those who missed the talk (and so that I can find it again in future):

If you prefer to roll up your sleeves and try this yourself, rather than watch the video, then just open the Yacht::Navigation Jupyter Binder … eg/Chapter 9 covers Navigation Lights.

  • click the badge above, sometimes the server will be built and takes about 60 secs to launch
  • if you are unlucky, a new server build can take 30-40sec, please be patient (show logs to see the action)

To recap on the main points:

  • Physics::Navigation is a new member of the Physics::Measure, Physics::Unit module set
  • It extends the raku OO model to add classes for Latitude, Longitude, Position, Bearing
  • It was also a good way to sea test some of the concepts in the base modules
  • Yacht::Navigation is an -Ofun interactive workbook for amateur yachtsmen / raku coders to learn a bit of navigation lore and to play with raku concepts in a hands on way
  • It uses Brian Duggan’s awesome raku Jupyter notebook kernel … and was a way for me to put that tool into the mix and get a good sense of the potential of raku + Jupyter as a learning and literate programming environment

The bit about Raku Grammar for Navigation Lights seemed like a great raku feature to present in the context of a usable (if rather controlled) real world problem and to illustrate how the combination of Grammars and OO are a big game changer for coders with intermediate skills (like me) who would not naturally reach for the Rec::Descent big guns.




Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s