At the beginning...
Computer training, I started using the UNIX operating system in the
late 80s when I worked in the industry. I immediately appreciated
the capabilities of this operating system that allows complex
treatment combining the use of multiple tools.
Also at this time that I started to practice programming in C
I bought my first PC in 1989. This machine was running under MS-DOS,
an operating system much more rudimentary than UNIX.
Having bought a C compiler from Borland (Turbo C 2.0), I quickly set
about writing in C UNIX commands that I knew, to succeed, little by
little, to have the same technical possibilities at home than on my
In little more than 10 years, and I rewrote for MS-DOS à hundred of
UNIX-like commands including tle text editor vi.
Like many, I finally learned the existence of GNU/Linux, but in the
mid 90s, it did not immediately interested me because I already had
my personal UNIX on MS-DOS.
Since September 1999, I work near Paris and go back in my native
region around Toulouse for the holidays (school).
The first 3 years I moved my most recent computer to use it in the Paris
region from September to June and near Toulouse in July-August.
At the end of summer 2002, I preferred to leave this computer in
Toulouse region to buy a newer machine in the Paris region.
Unforeseen problem: this new machine does not have the drivers for
Windows 3.1 that I used for some essential elements such as graphics
card (limited to 256 colors), modem, etc. ... Hence the need to move
to a more recent operating system.
The newest operating system has been naturally GNU/Linux that I used
already on my workplace.
The passage under the GNU/Linux has been for me the occasion to start
in autumn 2002 writing a suite of email tools called
that I posted on the Web from June 2003 starting at that occasion my
2 first websites.
Origin of the idea of Cyloop
In my workplace, we had a file server that centralized the user
accounts and also served as an internet proxy.
On this server, a colleague implanted RRDtool which, combined
with snmp for data acquisition allowed to obtain graphs with
information about the server, like the access network (LAN and
Internet), filling different partitions of hard disk and memory
I was interested in these tools and had perfected the system
established by my colleague.
A few years later, from the autumn of 2008, I installed the same tools
on my home computer.
Some graphics RRDtool as the layout of the memory usage permit to know
when a computer is turned on. Moreover, for a long time graphs showing
the filling of hard disk gave the same information until I found a way
to extend the previous course during periods of shutdown.
Still, I wanted to make graphs that provide an average value of the
use of my computer at different times of day or week. However,
RRDtool has not been provided to make this kind of document.
The idea to write Cyloop came from that.
Chronology writing Cyloop
Before you start writing different tools of Cyloop, I had to design a
file format for storing the data recorded at different instants of a
In October-November 2008, I wrote the format specifications for
At first, I designed a file format able to store a single variable
counter type, or value type, at the different moments of the cycle.
I soon felt that a Cyloop file may store several variables identical
characteristics, and later variables with different characteristics,
each variable having its own description.
However, to write the different tools Cyloop, I preferred to start by
performing a version with one variable by file whose potential could
be expanded once the various tools of Cyloop would be developed.
I quickly abandoned the idea of intermediate Cyloop files with
multiple variables with identical characteristics, which, if it had
some interest on programming side, was useless in relation to the
ability to store multiple variables of different nature.
There remained only a fundamental tool to write to get a version
of Cyloop exploitable, but writing this tool was much longer than
- Writing of various tools Cyloop began in December 2008 with the
tools cylcree (creating a new Cyloop file) and cyldump
(display the contents of these files).
- In February 2009, I wrote the command cylincr : incrementing
a counter variable at the current moment of the cycle.
- In April 2009, I'm busy creationg the command cyladdval :
addition of a new value in a "values" variable at the current moment
of the cycle.
Then, I stopped working on Cyloop until July 2010 when I changed my
source files for future internationalization of the user interface
using the principle that I developed some years before for Libremail
- In July-August 2009, I started writing cylgraph
(generation of Cyloop graphics) for the part performing the curve
of counter-type variables. I also started a first study in order to
recover the drawing of characters in order to write in the images
generated by cylgraph.
- In October-November 2009, I added to cylgraph the drawing of the
curve for values-type variables.
- In December 2009, I added to cylgraph the drawing of the curves
minimum and maximum at the different moments of the cycle for
- In February 2010, I added some grids in the graphs generated by
cylgraph and worked on memorizing cast of characters for the extended
- In October 2010, I returned to work on memorizing typefaces.
The choice of character models with wheelbase has proved unsuitable
for the storage of small characters, I chose to recover the drawing
of characters from screen images of characters large enough coming
from Firefox (sans serif), and after various image processes, from 4
pixels of the original image, I got a pixel of a displayed character
in ASCII-art on 12 lines and 8 columns in a text file that could then
be retouched by hand in a text editor, before converting the drawing
of the character in a string of hexadecimal values.
- From October to December 2010, I thus generated files containing
the graphic character set iso-8859-1 and its variants from iso-8859-2
to iso-8859-16, and windows-1252 .
- In December 2010 and January 2011, I added the writing of the
scale values on the graph axes and title of graphics.
I also started support of UTF-8 for text written in these graphs.
- In February 2011, I started writing the French version of this
website, my aim (with a year behind my initial estimates) was to be
able to show Cyloop at the Solutions Linux show scheduled for May
10 to 12 2011.
- During the first half of March 2011, I made the animated gif of
the introductory page of the website.
- During the second half of March 2011, I realized biggest part of
the website in French as well as man pages.
- In April 2011, I started the translation of the website which was
launched on the evening of April 24.