Simon Marache-Francisco

A new micro project: comparing performances between 'switch' and if-else-if-else in C++

  • 07/04/2015
  • POST
I was having an argument with a coworker about the fastest method to branch in a code: lots of if/Else or a switch/case. I figured that the switch case would be faster, because the compiler would be less constrained than with the if/else, and could therefore use a better algorithm to select the right execution path. To check this, I made a new entry in my microprojects repo, the aptly named switchVsIfElse.

Memory access: sequential vs. random

  • 27/01/2015
  • POST
It is well known that accessing the memory in a non-sequential way is slower because it leads to a lot of cache miss. This micro-project was made to evaluate the difference in performance. An array of 10 000 000 elements (size_t) is created. It represents a typical data structure that you will access in your program. A random list of 1 000 000 offsets is generated. I compare the time used to fetch this million offset in a random order with the time used to fetch the same offsets, but in ascending (or descending) order.

Software rasterizer

  • 06/01/2015
  • POST
Edit: there is a more recent post on this project. The new version has more feature and is finally able to render any STL. This is the follow-up on a project I started on November 2010. The goal was to code a very simple rasterizer in c++. I used the framebuffer provided by the SDL library to perform the rendering. In other word, SDL only provide a canvas on which I “paint” the model, pixel by pixel.

Lost'n Phoned update

  • 27/11/2014
  • POST
There were several bugs still present in this app, mostly under the new versions of Android. I started a new project on Android, so I took some times to make this app more resilient to errors, and to do some extensive testing for KitKat. Screenshot of the application The application is available on the Play store, and the source code is on Github.

Fractals in the browser using WebGl

  • 27/10/2014
  • POST
Following my work on almost real-time fractals generation, I wanted to test OpenGL shaders. I have been really impressed with the results. You can render fractals in real-time on a full screen with an nvidia GTX 770. The shaders I have been using are probably not very optimized, but the results is great nevertheless. Access the demo Features: Julia fractal : You can change the values of c0 in the Julia function ( x'=x?

Fractal Maps

  • 31/08/2014
  • POST
I’m currently working on the second iteration of my fractal drawing software. The biggest problem of the original one (see here) was that you couldn’t move around like in google maps. The goal of this versions is to enable you to move around, and the software will generate pieces of the fractal on the fly. Since it is not feasible, even on high-end hardware to generate 1080p fractal pictures in vanilla C# in real-time, i’m implementing a somewhat efficient caching system.

Small JS Files

  • 31/08/2014
  • POST
I needed a robust counter for my work, but none of thoses I found were good enough. So I made mine ! The features list is small, and the interface is primitive, but it works. I needed mostly a way to get the exact time of every action, the time elapsed since the last action, since the beginning, and a spreadsheet-friendly output format. And because it is always useful, there’s a programmer-friendly integer format converter too.

Mozaic Creator

  • 22/03/2014
  • POST
This program will create a mosaic image made from thousands of thumbnails, close to a reference image : WARNING: This is a small hack I made in a few afternoon, the code quality is pretty bad. 😔 You will need to provide a directory with the thumbnails used to generate the final image. How to generate it is left as an exercice to the reader.

Fractal Generator

  • 13/01/2014
  • POST
I made this small project in C# (winforms). The interface may be (and most certainly is) confusing, but the concepts are rather simple, as long as you know a little bit about the fractal image generation. Screenshot of FractalExplorer Some examples: How it works It generates fractals. I am going to talk bout the Julia set, but other fractals have been implemented.

Android development

  • 29/08/2013
  • POST
I am currently working on four softwares, at various stage of completion: SleekTodo, a simple Todo manager. Already on the Play Store, Sources. Lost’n’Phoned : A tool to help find your lost phone. Published on the Play Store, Source. Game100 : A simple number game, not enough polish, even if it works quite well ! Source. Screenshot of SleekTODO Updates 29/08/2013: Github links added, major improvements on SleekTODO 27/08/2013: Lost’n’Phoned is published, working on Game100 and SleekTodo 24/07/2013: First version of this page
Prev Next
LATESTS
X As a Service
  • 20/10/2021
  • POST
Micro project: PNG Implementation, Chunk Decoding
  • 11/07/2021
  • POST
Micro project: md5 implementation
  • 27/12/2020
  • POST
3d terrain rendering for embedded hardware
  • 09/08/2020
  • POST
video stabilization using ffmpeg
  • 09/05/2020
  • POST
Migration to Kubernetes
  • 01/05/2020
  • POST
Compiling Chicken Scheme scripts
  • 18/08/2019
  • POST
Readline and pkg-config in ubuntu
  • 17/08/2019
  • POST
Temperature and Humidity logging: Arduino and ESP-01
  • 01/11/2018
  • POST
Back to c++
  • 20/05/2018
  • POST

© Simon Marache-Francisco

Powered by Hugo.

Robust designed by Daisuke Tsuji.