I was recently triggered by the Collatz conjecture – also known as the Syracuse conjecture. As I wanted to learn a few bunches of new web technologies (Bootstrap, Webpack, Chart.js), I decided to start a simple project on the Collatz theme in order to get a new experience.
The Collatz conjecture involving the Syracuse function is still an unproven mathematical problem. With my website, you can visualize the Syracuse function for a given initial number.
After implementing the PHP backend working with the Angular front-end, I was curious about other front-end framework alternatives. I heard a lot about React and Vue, and I decided to choose React because of the low effort it seems to require to get quick results. I started to implement a simple page to display a joke slideshow, something close to the original Angular version, but with a slightly different style. The figure below shows a capture of the single page using React.
You can browse the page by following the link here, the source code is here. More info below.
Before the update, jokes were stored in a monolithic JSON, they are now saved in a database. The JSON format is still used, but jokes are transmitted in pages. Page size is a parameter, it can be adjusted depending on the context. Sometimes we need 10 jokes (for a list) sometimes only one (home page).
An administrator can review jokes online and publish them, he can also maintain easily the website.
Recently, I had the opportunity to collaborate with Marcela Garita Hernandez (Senior Research Fellow at Mass Eye and Ear, Harvard Medical School) on a small Java plugin for the software Fiji (known as ImageJ, a scientific image manipulation program). The object of this collaboration was to write a piece of code to read microscope images, to transform and to save them in batch (to process multiple files in background).
For information, Mageek works with several microscopes and more precisely with several microscope file formats. In Fig 1. you can see 3 extensions selected: *.lif images comes from Leica, the *.czi from Zeiss and the *.nd2 are from Nikon.
B-Rend3r is written in C++. I’m using OpenGL and SDL2 to build a minimalist 3d application framework. The main goal of this project is to understand the core of 3d engines by implementing common classes like: Vec3, Mat44, Mesh Generator, Renderer, Transform, etc.
The video on the side shows a short demo, here the user is moving a red circle by using keyboard arrows.
To give you some details, the Shape component generates the circle’s mesh when program starts, then the KeyboardController handle user inputs to generate a force to apply to the circle, the Physics component apply a smooth before to effectively move the circle using the Transform component (sets position/rotation/scale).
On Socrastination we practice the Socratic dialogue. Around various predefined themes, two participants confront each other by a verbal joust trying to convince each other. The players must also convince the referees, who are responsible for assigning a bonus or a penalty to each of their arguments.
This website is a final year project of DUT Informatique in special year realized in 2016 by Camille Chac, Maxime Ferrer, Clément Roig and myself. This project was tutored by Madalina Croitoru (Professor UM2 and member of the INRIA GraphIK research team at LIRMM).
L’image ci-dessus a été générée avec un script de ma création. Baptisé B-render, ce dernier utilise les fonctions de lancer de rayon fournies nativement par le moteur 3d ShiVa Engine. J’ai hacké (au sens « détourner de son usage premier ») ce moteur afin de lui permettre de générer des images de synthèse. La matrice de pixels produite est générée par mes scripts LUA (language interprété intégré à ShiVa). Read more…