A Racket Array Tutorial

:: racket, data visualization

If you are unfamiliar with NumPy or Matlab, Racket’s arrays can look strange and unusual, and we’ll try to figure out some use cases for them in this tutorial.

Pumpkin Plot

:: racket, data visualization

Inspired by the Digital Arts with MATLAB project, I wanted to check out if the Racket 3D Plot package could be used for a similar purpose, so I decided to plot a pumpkin…

The Wolf, the Goat, and the Cabbage

:: racket

… in which we revisit miniKanren and use it to solve a planning puzzle about ferrying some items safely across a river.

Timezone Lookup Revisited

:: racket

… in which we look at how to really speed up the lookup of geographic locations in a large number or regions covering the entire Earth surface. This is the problem that the tzgeolookup package has to solve: given a geographic location it needs to determine which one among the 425 time zones it belongs to, and it has to do it quickly.

Synchronizing FIT files using a Raspberry Pi

:: activitylog2

I wrote the ActivityLog2 as an application to analyze training data on the local computer, to avoid using a cloud service, and I also wanted a convenient way to download data off my Garmin watch without having to hook up USB cables to my laptop. The result is the PiFitSync project which I had running for several years now, evolving to download data from three generations of Garmin devices.

Heat Maps Revisited

:: activitylog2, racket

The Heat Map visualization in ActivityLog2 has been updated to handle large amounts of data, making it possible to show all 11 years worth of GPS points that I have, and still being able to show an interactive map, where the user can zoom and move the map while data is loading.

Asteroids (Gameplay)

:: racket, games in racket

… having spent most of the first blog post on writing a small game engine to be able to handle the Asteroids game, in this post we’ll look at how to implement the actors to actually make the game playable.

Asteroids (Game Engine)

:: racket, games in racket

… in which we look how we can implement the classic Asteroids game game using only the Racket language and its graphics facilities. We’ll implement a basic game engine, a basic physics engine and the game itself, and manage to do it in about 1000 lines of code.


:: racket, activitylog2

Can you write GUI applications in Racket? Different versions of this question shows up periodically on various Racket forums, and, of course, Racket does have a GUI Library. However, usually the person asking the question implies a bit more, and it is not always clear what this “a bit more” is…

Rather than attempting to answer the question myself, I decided to just put together some screenshots of an application I wrote using Racket.

Who Owns the Fish?

:: racket

… that is the question. To find the answer will use a logic programming DSL embedded in Racket, named miniKanren.

By the way, if you are in a hurry: the German owns the Fish. Twice.

Shaded Area Plot

:: racket, data visualization

… in which we explore using interval renderers and color maps to create a plot where the area under the line is shaded based on data from a second data series.

Box and Whiskers Plot

:: racket, data visualization

The Box and Whiskers plot is a method for depicting groups of numerical data through their quartiles and it is a popular way to depict statistical information about data sets, yet the Racket plot package does not support such a plot type. In this blog post we’ll explore how to add this plot type to the plot package without having to modify the package itself, and we’ll look at some useful techniques of extending the plot package.

© Alex Harsányi, licensed under CC BY-NC-SA 4.0 , and there's a cookie policy.