Hello, welcome on my website, I am

Félix Bertoni

an opensource freelancer, who likes to share knowledge.

About me
Services and pricing
Courses and talks
Contact

Summary

+-

I am Félix, a french IT engineer interested in programming, video games, mountains, sports and a lot of creative activities. I think that knowledge is something meant to be shared and I highly appreciate open source & free software philosophies and their equivalent in other fields.

As a freelancer, I have two goals. First, develop skuldenka, a game and general purpose software development tool enabling as much as possible user-side customization of softwares. Second, help people build their skills and knowledge throught helping teachers, students and more.

My skills are mainly related to IT or creativity. I enjoy to work both in team and solo, and I am more efficient if I have some personal space and freedom, especially when it comes to coding. I love humor and have a wide imagination. I know to be rational and serious when situation requires it. I am concerned with societal problems, especially ecology and inequalities, and try to do what I can to help solve them.

Experience & Education

+-

Freelance developer and teacher

Sep 2019 - Today

Grenoble, France

Conception, development and documentation of skuldenka, as well as communication around the project, with a dev vlog and more. Writing courses, lecturing and supporting students, either in group or individualy.

Engineer Apprentice

Sep 2016 - Aug 2019

Atos, Echirolles, France

Apprenticeship at Atos during my engineering school studies. Worked part of the time at Atos and studied the other part, switching each 6 weeks. First worked two years on a deep learning framework using FPGAs, and finally last 6 months, for my end of studies project, worked on Yorc, an open source meta orchestrator, on which my mission was to conceive and discuss a distributed architecture for the next major version.

Exchange Semester at NTNU

Aug 2018 - Jan 2019

NTNU, Trondheim, Norway

Last "course" semester of my engineering degree spent at NTNU Trondheim, with only practice-based courses:
TDT4290 - Customer Driven Project, during which I worked on Alpaca Sampler, a simplified interface for Ableton Live music software, with a team of 7 students.
TPD4142 - Design Thinking, with various non-IT practice subjects.
TDAT3023 - 3D Computer Graphics with project, where I was offered an open subject and chose to work on Noodle Engine, a personal project I had at this time.

Engineering Degree, Apprenticeship

Sep 2016 - Aug 2019

ENSIMAG, Saint-Martin-d'Hères, France

Three years diploma corresponding to a M2 level at ENSIMAG engineering school. Courses include modelisations, algorithmics, mathematics, software architecture, operating systems and more. I took this cursus as an apprentice at Atos compagny, at which I worked while studying.

C/C++ developper, Internship

Apr 2016 - Jul 2016

3SR Laboratory, Saint-Martin-d'Hères, France

Three month internship at 3SR laboratory at Grenoble to conclude my DUT studies. My mission was to port an Open Source 3D sphere image generation tool, Kalisphera, written in Python, to C to increase its speed. In the run, I created a tiny C++ 3D image manipulation library to allow scientists not familiar with C/C++ to benefit from C++'s speed and linked it with Python using Cython.

University Technical IT Degree

Sep 2014 - Jul 2016

IUT 3, Grenoble, France

A two year diploma, corresponding to L2 level (french : Diplôme Universitaire de Technologie - DUT) at IUT2 Grenoble. Courses are covering a wide scope of IT knowledge as all-purposes programming languages, web technologies, networking, Object Oriented software architecture, and computer architecture, as well as more generalistic fields, as mathematics, economy, project management and communication.

Skills

+-
main experience(h) practice
C++ 9000+ daily
software architecture 3500+ daily
oral communication 2500+ daily
creativity 22000+ daily
programming experience(h) practice
C 1400+ weekly
HTML 550+ weekly
JS 550+ weekly
CSS 550+ weekly
OpenGL 250+ monthly
OpenCL 750
Python 300 monthly
development experience(h) practice
software quality 3100+ daily
user interface design 2050+ weekly
user experience design 2050+ weekly
computer graphics 2000+ monthly
networking technologies 500+
modeling experience(h) practice
algorithmics 4000+ daily
mathematics 1000+ weekly
geometry 2000+ daily
physics simulation 250
grammar and languages 750+ weekly
communication, art & teaching experience(h) practice
Lecturing and student support 80+ monthly
technical writing 1000+ monthly
tutorial and course writing 2000+ weekly
drawing 400+ daily
video editing 1000+ weekly
infography 300+ weekly
project management & team experience(h) practice
teamwork 6000+ weekly
agile methodologies 2500
team coordination 1000
languages level practice
French native daily
English advanced daily
Russian beginner
other experience(h) practice
climbing 3000+ daily
video games 10000+ daily
cooking 2000+ daily
woodworking 350+ monthly
sewing 50+ monthly

Works

+-

Software development course for Scientists

An introduction course to software development designed to address general problems scientists may come accross during their research activities. It covers a wide variety of basics aspects of software development and programming, including object programming, testing, code readability and build automation. This course's writing has been supported by Grenoble's 3SR Lab, through ordering of a 16h lecture.

https://courses.felix-bertoni.fr/0423.html

Nolio Power Record code optimization

One week Freelance contract with Nolio to improve runtime performances of their small, yet computing-intensive Power Record Python code. Power record is the maximum power average achieved by an athlete over a certain continuous period of time during training. Algorithm needed to take in account potential sensors faults, as for example an unstable sampling rate. Performance improvement was done first technology-wise using cppbind11 library, leading to increase execution speed over 200 times. Then, algorithmic rework induced an additional (well, multiplicative actually) 200-1200 times speed increases, for a total speed increase factor of 40000-300000.

skuldenka

A game-oriented general purpose programming tool meant to offer high modularity to the user without burrying developer under a load of work. Still in an early stage, it separates architecture from instructions sequences, allowing user to easily swap, add or remove softwares components between any set of programs made with it.

https://gitlab.com/feloxyde/skuldenka

Kalisphera C

Kalisphera C is the port from Python of Kalisphera. It was done during my internship at 3SR lab at Grenoble. Kalisphera is a script generating 3D images of spheres as if they would be produced from a RX tomograh, in order to perform image correlations on pictures of granular solids taken using an actual RX tomograph. It was later included in SPAM, a larger tool for material analytics.

SPAM repository

Yorc

Yorc is a meta-orchestrator developed by Atos. It's purpose is to provide an unified interface for orchestration of heterogeneous architecture, as for example a mix of cloud and high performance cluster. I participated to it during my end of study project in engineering school.

https://github.com/ystia/yorc

Alpaca Sampler

A simplified interface for AbletonLive, a music production software. Designed for Rockheim museum during my NTNU exchange semester with a team of 6 other students in a project oriented course. Alpaca Sampler was later used in an exposition meant to introduce visitors to digital music creation process. My main mission was to design a simple UI using Python and Qt. The interface interacts with Ableton through internet protocols.

https://gitlab.com/feloxyde/alpaca_sampler

Noodle Engine

A simple game engine using a predictive approach. Was carried as both a personal project and a course project in NTNU 3D graphics course. The engine focuses on fast paced games with limited physics needs. Taking away rotational degrees of freedom allows to have simpler movement equations, and thus enables predictive approach. Flow of simulation becomes much lighter and more concise, recomputations occuring only when an external event, as an input, occurs. Project is currently paused but elements of it will be later integrated into Skuldenka.

https://gitlab.com/feloxyde/noodle_engine

Wooden shelf

A wooden shelf made only using wooden joinery (except for plateau that are assembled with glue). Structure is assembled and locked up using wedged mortise and tenon joints. Each joint is made of two tenons crossing each other on the same plane in a specificly shaped mortise.

Wood and glass coffee table

A really simple table made of wood, with no tightening between parts, as they are simply put one on the other with halved joints made in order to allow to join three parts together at once. Exceeding wooden parts of the feets were left in place in order to prevent the glass panel to slide away.

Services

+-

I can provide various range of teaching services, from courses to student support, either in french or in english. Courses and talks materials are by default in english and in open access at GitLab.

Talks

Talks are presentations meant to be fairly short, ranging from 10 minutes to few hours, to introduce a field or a subject to students, or to raise awareness about something. They are good for vulgarization.

Small courses

Small courses are courses in the span of few sessions, meant to provide basic understanding of a subject and give needed skills to students in order for them to be autonomous in this subject. They are especially interesting as a complement of the main cursus. They feature both lectures and exercizing.

Full courses

Full courses are courses in the span of several sessions, meant to provide full understanding of a subject and give a wide and complete skillset to the students in this domain. They can be either done in-cursus or as a complement. They feature both lectures and exercizing. Full courses are open to project-based pedagogy, giving students a project subject, either individualy or in teams. Students have more freedom in project based pedagogy, and lecturing part of the course is directed by students's needs through the project.

Teaching support

Teaching support is help provided to teaching side, as for example supervising students during practical work, or replacing a teacher for a lecture.

Student support

Student support is support provided directly to students. It would usually be supporting students having difficulties with a subject.

Pricing

+-
Prices given in this section are indicative, please keep in mind that pricing is to be defined for each situation specificly.

Pricing principles

I try to charge between 15 and 60 euros per effective hour of work.
Worktime calculation includes all work that has to be specificly done for the service instance : Adapting material for specific needs, preparing presentations, reviewing students' work, ... Is excluded from worktime the creation of courses and talks materials, as they are meant to be in open access and can be reused for other courses.
The more service volume is ordered, the lower the per-hour price.
Finally, transportation and presentation tools (if not provided) costs can be included fully or partially if they represent a significant amount regarding the price of the order.

Pricing examples

type volume specific work full price per-hour
full course 14w/80h 400h 10000€ 25€
small course 3w/15h 75h 2250€ 30€
talk 2h 7h 480€ 60€
practical work supervision 28h 30h 600€ 20€
Student support 4h 4h 60€ 15€

Read before ordering

+-
In case you want to contact me to order a service, please take note of points below.

Order early

Services may take time to setup, since I need to make it fit with contextual elements : cursus, level of students, volume, ... If the course isn't yet created or ready, I have to create it and have it validated by peers. You can expect following delays for each service:

type if created work in progress/not yet existing
full course 1 month 5 months
small course 1 week 2 months
talk 1 week 1 month
teacher support 1 week -
student support 1 day -

Delays are only indicative and can be lowered in case of emergency, especially for teacher and student support.

felix.bertoni987@gmail.com

+33770016224

feloxyde#0433

@feloxyde:matrix.org

skuldenka GitLab repository

this website GitLab repository

Youtube developer channel