guillaume savaton - au mouvant sillage



Simulating digital circuits in Racket

Guillaume Savaton

In the series My first domain-specific language with Racket, I have created a simple hardware description language (HDL) called Tiny-HDL. The intent of the series was to illustrate the techniques for creating a domain-specific language in Racket, from parsing to code generation, with a focus on name resolution and semantic checking. In this post, I will focus on the runtime aspects: how can we simulate a digital circuit description in Racket.

Read more…

This story continues in the following posts:


My first domain-specific language with Racket

Guillaume Savaton

For many years, I have felt an attraction to languages from the Lisp family, but I was held back by two concerns: my indecisiveness about which variant to learn, and the lack of a personal project to implement with it. Recently, I have started drafting the Hardware Description Language (HDL) of my dreams and I have decided to try Racket, a Scheme variant that is also advertised as a language-oriented programming language.

Read more…

This story continues in the following posts:


midi@3:14, home-made MIDI keyboard

Guillaume Savaton

This post is the first of a series about « midi@3:14 », my home-made MIDI keyboard. In the following sections, you will read about the hardware design and assembly. The next posts will be dedicated to the firmware and companion software.

Read more…

How to install the Pantheon desktop environment over Ubuntu 14.04

Guillaume Savaton

Elementary OS is a Linux distribution that comes with its own desktop environment called Pantheon. The developers do not officially support installing Pantheon separately from the rest of the distribution. In fact, while Elementary OS Freya is based on Ubuntu 14.04, it requires newer versions of several packages.

Fortunately, if your computer is already running Ubuntu 14.04, there is a reasonably easy way to transform your existing setup into a seemingly genuine Elementary OS setup.

Read more…

5 reasons why I write free software

Guillaume Savaton

Sozi is a zooming presentation tool that I have been developing for five years in my spare time. Sozi is free software. It has gathered some enthusiastic and faithful users, and I usually receive very positive feedback.

However, people do not always realize that Sozi is mainly the work of a single person with the help of several contributors. There is no company behind it, no structured development team, no professional-grade support, and no ambition to gain market shares.

In this post, I will try to clarify my motivations for developing Sozi.

Read more…

Gribouille: a demo hand-writing/drawing application for Firefox OS on the Flatfish tablet

Guillaume Savaton

On the Nexus 7, I have always been surprised by the poor reactivity of hand-writing and drawing applications. Generally, there is a noticeable delay between the gestures of the finger (or stylus) and the progess of the lines being drawn. In some cases, it is difficult to draw small details rapidly: the resolution of the lines decreases with the speed of the gestures.

I have created a simple demo application to test how the Flatfish tablet with Firefox OS behaves and to experiment ideas to achieve an acceptable result.

Read more…

First steps in the Mozilla Firefox OS Tablet Contribution Program

Guillaume Savaton

In January this year, Mozilla launched the Tablet Contribution Program to help test and improve Firefox OS on tablet devices. I volunteered as soon as the applications opened and on the 1st of April, I received a confirmation that I was one of the 500 selected participants. A few months passed. And two weeks ago, just before leaving for holyday, I finally received the tablet.

In this post, I will give an overview of my first impressions with the device. More posts will come with details about what I am doing with it.

Read more…