Racket

(work in progress)

Racket as a “tool”

  • I found Scribble a nice tool for taking notes, preparing documents. I use it a lot for communicating with colleagues, preparing offers etc. I customized the LaTeX output to use our company’s document class.
  • I used Slideshow for some presentations. Though I lack a lot of practice and creating figures etc. is very time-consuming for me.

Racket “in production”

  • Receiving telegrams for a M2M application: The application receives messages via HTTP, checks and convert them and then forwards the messages to another service for data management and visualization.
  • Backup script: Fires up a instance on EC2 (Amazon Web Services), copies and runs a Racket script on the new instance. This script dumps a PostgreSQL database and copies the resulting dump to Amazon S3.
  • File handling for an EDI project: Transfer files between a local directory and a remote directory via SFTP.

Teaching / Education

  • “IoT” course (two days), see our ELS 2017 Paper.
  • I use Racket as the first programming language for my apprentices together with the book “How to Design Programs, 2nd edition”.

Resources

Libraries

Blog Posts, Books and Articles

Small snippets

  • How to install all libraries after a new version of Racket comes out: raco pkg migrate.
  • How to find a module’s location: (collection-file-path "main" "drracket"), (require syntax/modresolve) (resolve-module-path 'drracket) in Emacs (with Racket-Mode installed): racket-open-require-path (C-c C-x C-f), racket-find-collection which uses the Racket package raco-find-collection, (Source: Racket Users mailing list).
  • Adding raco make to Racket Minimal: raco pkg install compiler-lib.