day 53 :
For my "murmuration" xscreensaver project :
- I attempted a first code compilation, and modified the xscreensaver Makefile (work in progress).

- I advanced a bit in my Delaunay triangulation implementation (this uses a LOT of 3-dimensional geometry).

day 54 :
For my Delaunay triangulation C code, I wrote a matrix determinant function and an other to compute a tetrahedron circumsphere (using the formulas given in the link).

Then, I wrote some unit tests, for norm and matrix functions.

day 55 :
This week, I will release a first public version of my colorcheck utility (in Python 3).

Tonight, I added --version and --help options, with the argparse module.


day 56 :
I fixed a little issue in my command line argument parsing, and I completed the setup file with all useful fields.

Now, I still have to understand how to publish the package on PyPI (Python Package Index).

day 57 :
I learnt how to rename properly a directory with Mercurial (hg rename), and I modified some imports accordingly.

Then, I wrote a README file, with Markdown (that I never used before).

The public release should be ready tomorrow.

day 58 :
I released the 0.1 version of colorcheck tonight, available on PyPI :

It is quite simplistic, but I will begin to work on the next version tomorrow.

day 59 :
I made a quick review of colorcheck, to prepare the next version.

The next version will see a complete change. HTML parsing will also be needed, in order to have full information about webpages color contrasts. I will use BeautifulSoup 4 for this (a parsing library I know well).

day 60 :
I worked for my xscreensaver project, and tried to compile my code (in order to execute unit tests).

It is quite difficult if you don't know xscreensaver code and standards well. For example, I discovered that drand48() was not allowed in this project.

day 61 :
I completed the Makefile I will use in order to test my xscreensaver project (and discovered the -D option for gcc).

It is nearly finished, but I still have an issue with 2 conflicting main() functions.

I will finish this next Saturday.

day 62 :
I worked on my Kakuro grid solving algorithm.

It is a difficult task, I could not advance much tonight, but I added a simple method to computer the number of distinct solutions (to identify "impossible grids" for example).

day 63 :
I think I have found a solving algorithm for my Kakuro program and I have started to implement it.

But I have issues with my solve() method, that is becoming too complex.

day 64 :
I am testing my solving algorithm with custom (non-random) grids. It is really too difficult with random grids.

I designed a JSON-based file format for Kakuro grids, and I am adding a constructor in the Grid class to support this format.

day 65 :
My JSON file importer is now functional, I could test it successfully on an example grid.

Unfortunately, my grid solving code does not work for this test grid.

I committed the JSON import code :

day 66 :
I think my data structures for Kakuro grids description are too complex, and I am correcting this problem.

First effect : the word graph construction method (to build a graph indicating adjacencies between words) went from 43 to 28 lines of code.

day 67 :
I have solved the problem I encountered last Sunday (day 61), and I could test and validate vector functions in my xscreensaver project.

I discovered the CU_ASSERT_DOUBLE_EQUAL macro in Cunit, useful when using floating-point arithmetic.

day 68 :
I didn't write much C code today, mostly shell script and Makefile, in order to have a solid base before continuing my project.

The script I wrote will download and extract all needed source and header files to compile and run a xscreensaver project.

day 69 :
I worked with rom (Ruby Object Mapper), for my Sinatra-based CMS project.

I learnt how relations, schemas and migrations work, and I tried to use these concepts for a simple article model.

day 70 :
Tonight, I worked on Rakefiles, and I wrote one for my CMS application, to create database migration files automatically.

day 71 :
I could finally create and test my first migration with commands "rake db:create_migration" and "rake db:migrate".

I have just to clean a bit the code, and I will do my first commit for the backend.

day 72 :
I completed the ROM relation I have just created with methods to get a list of articles, or an article by id (equivalent to a SELECT in SQL).

I tried to use this relation in my controller, but it does not work yet. It will be finished tomorrow.

day 73 :
I discovered how to register my ROM relation in a container, and how to use it properly in a Sinatra controller.

But I have now syntax errors in my HAML file (for a view).

day 74 :
I worked with Matplotlib, to add PNG export for the charts generated in my "stopcovidwatch" project.

I also improved the presentation of my bar charts and searched how to configure xticks with the set_xticks() method.

day 75 :
Tonight, I advanced a bit in my epidemic curve fitting project (, I :

- Saw a difficulty in curve fitting with the Levenberg-Marquardt method.
- Corrected the tests code, and finished the data import part.
- Added a main function.

Show more
Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!