Summer on the French Riviera
This past summer I had an internship of 6 months with SAP Labs France on the French Riviera (more specifically in Mougins, a city north of Cannes).
This was as part of a special internship program from my institute, where students are sent abroad for 6 months and can select from a long list of locations, I primarily chose this one because it was the only location which had topics on security. The physical location was a nice perk, and I wanted to go abroad again, even after my last venture left me with mixed feelings.
Metric Meld
tldr: Try it now.
Of course, I am a big fan of the metric system, who isn’t? It is very satisfying to convert units easily into other units and see the relationships between units of very different realms, e.g. quantities from mechanics and electricity. With the SI system of units, all specially named derived units (like Volt, Pascal, Newton) are linear combinations of the seven base units without any additional factors. Then again, using factors is also very nice, because you can use the prefixes kilo, mega all the way to quetta (which was only added to the standard in 2022).
My study abroad: Sweden
When studying, many people recommend to go abroad for a term or more. The EU’s Erasmus initiative makes this very easy, especially if the home university has agreed to partnerships with other universities. This made it possible for me to travel to Blekinge Tekniska Högskola for a term in 2021/22. Was it worth it?
What are the goals of a semester abroad? Learning a language and getting to know the culture? Participating in courses that are not available at home? Or just having fun?
qinoq
During the past year, the last year of my bachelor studies, I had the pleasure to work on a bachelor project. This project aimed to create a tool to create “scrollytellings”, interactive web pages that can be controlled by scrolling. Scrollytellings can combine text, images, videos and any other media found on the web, including games or control elements. Working in a team of 5 and with a industry partner, we created a software named qinoq
that allows non-developers to create these scrollytellings.
The creation of scrollytellings takes place in the lively.next environment, a live object system that works as an online IDE for JavaScript and features the morphic graphics framework (as seen in Squeak/Smalltalk for example). The editor is built in JavaScript. I am writing this now, because the code has finally been open-sourced and is available here. To use the editor, you have to first install lively.next (also open-source, found here) and then clone the qinoq folder into the lively.next folder. The following steps are explained in qinoq’s README.
Learning JavaScript in 3 little projects
During the past semester I have programmed in a few languages: Python during Advent of Code ( my first participation at that event ), Ruby for a university project and Rust for another little project. But I have mostly used Javascript and have come to appreciate it. I had not used Javascript before for more than a few lines and now used it almost every day.
Javascript has a bad reputation for a few reasons:
Building an operating system
I spent this special summer building an operating system. It starts with me taking the Operating Systems II seminar. Here we were given several projects to work on and we decided in a group of 5 people to build a network stack (TCP/IP) for LEGO Mindstorms robots. We were given a basis: A bootloader, a scheduler and timer interrupts for it.
Based on this we built inter-process communication and implemented syscalls, while another part of the group tackled network communication. In this project you could understand very well how an operating system can be built, especially I improved my knowledge of C, ARM assembly and the handling of gdb. I can recommend anyone interested in the topic to start with a “ToyOS”, not for productive use but for teaching. As soon as the resulting paper is finished, I will link it here.