In a program you allocate memory to store values. If the program is long running like a web server, values start to pile up in memory and at some point you run out of it. In JavaScript, the Garbage Collector (GC) removes unused values from memory automatically.
Here, the goal was to compare how the GC's algorithm has changed between different versions of V8, the JavaScript engine of Node.js (and also engine of Google Chrome).
Lesson learned: memory leaks (values that are piling up in memory) get the GC busy. And when the GC works, it stops the program. With sufficient calls, the program becomes unresponsive.
The goal was to learn how search engines, such as Google, crawls/sees websites. This knowledge is called SEO (Search Engine Optimization).
In this project, I was also able to take a glimpse at how social networks, such as Facebook or Twitter, also crawl a website to extract relevant informations such as its title, its description, its teaser image etc...
This tool lets you pin points on a map and then attach photos to those points. The user can create an account and from there they can create multiple maps.
Finally, once their map is ready, they can freely share a link of the map to their friends and family.
Using photogrammetry softwares and hundreds or thousands of photos of a monument you can reconstruct a 3D model of that monument.
When modelling a general climate model for our planet, scientists couple multiple models together. One for the ocean, one for the atmosphere and so on. The job here was to add an ice model for the Groenland ice cap.
The general model was the IPSL model. It is one of those that delivers reports about climate change for the United Nations.
4 months of training to become a field engineer in Abu Dhabi among peers from all over the world. Learning to troubleshoot, focus and deliver out of our confort zone.
In oil wells, tools are lowered down to log multiple physical measurements: magnetic, sonic and so on.
A cable links the tools to a computer on the surface, in that computer, an acquisition software runs to log every measurements.
The job was to create an application for an Android tablet that allows data monitoring and remote control from the mobile device.
In Geneva, the SIG (Services Industriels de Genève) organized a competition for the best mobile application that uses their data.
We set a team of 3 and we build an app. That application finds the user location through its embedded GPS and load a 3D model of its surrounding: a map and the underground networks of water, electricity, gas and telecom.
OpenCV is an open source computer vision library from a team of really rad people at Intel. The goal was to found how easy it was to setup and use this kind of library. Thankfully at the time, a spanish person had made a really nice tutorial on the subject. Sadly, I can't get a hand on his name now.
On the picture I hold a sheet of paper with a black and white marker on it. Using that library, the program gets the video flux from the laptop's webcam and it overlays a red cube that moves when I move the sheet. It feels like magic.
Initially, it was about an exercise about the diffusion equation. But it turns out, a visualization makes it more rewarding.
Here, a virtual valley surrounding by moutains is slowly eroded revealing different layers of rocks.
It starts with a cloud of points that represents a digital elevation, in green. Then, it meshes the cloud with triangles so that a surface is created, in blue. Finally, some smart trimming of the points is applied in order to get less points without losing the shapes of the digital elevation, in red.
This compiler-generator was the core of an object oriented compiler. It worked with the context free grammars of the language.
We were lucky enough to get a guided tour of a car assembly plant. Following the visit we had to draw a visualization of the design of that system.
This kind of exercise helps with software design through a standard way of representing the architecture of any system.
On this machine I wrote my first programs, from simple maths tools to a simple RSA cryptosystem.