On May 11th we organised the second Crystal language meetup here in Buenos Aires. In case you are still not familiar with Crystal, check out this blogpost on the story behind it and how we ended up creating an awesome programming language with a thriving community worldwide. In this post, we wanted to make a quick review of the presentations from the meetup.

Matias opened the event with a demo on how to easily set up bindings to C libraries from Crystal, and shared his experience with crystal-git, an ongoing project that provides bindings to libgit2.

Brian then presented some interesting experiments with websockets that, together with a well-designed DSL, led to remote browser DOM manipulation directly from Crystal code. The live demo ended up having everyone moving their cursors in a blank canvas and seeing everyone else’s position in real-time, directly in the browser, and orchestrated entirely by Crystal code.

Crystal demo cursors

Redomi cursors demo

One of the Crystallers at the meetup, Emiliano, shared his testing library, crotest, which provides some interesting additions over the standard Crystal testing library, such as setup/teardown blocks, and macros for easily adding new assertions. The library is an impressive effort, and it’s always great to see such developments being taken on by developers outside Manas who have adopted Crystal.

Later, I made a small review of the work we had been doing together with Brian on crystal-db, an effort to define a common API for all SQL-like drivers. Though the library is still an ongoing effort, there are already implementations for MySQL and SQLite; plus some goodies such as macros for instantiating objects directly from SQL resultsets.

Last but not least, Ary, one of the language’s creators, made a quick review of the upcoming changes and improvements to the language, mostly on named tuples and methods arguments.

All in all, the event was a success, and we look forward to seeing you on the next Meetup. Sign up here to our meetup group to get notified on the next event!

You can watch the streaming from the meetup in Spanish here, though we acknowledge that the video quality could get some improvements (and we promise to review this for the next event!).