Welcome
2022-03-19
Originally posted on my first, React-based site. Kept as written.
Welcome to my personal site, this is my first post where I will introduce the site and myself.
The idea for a personal website was already long in the making. After learning some geometric algorithms in my second semester, I wanted to implement a visualization of them. However, as many of my fellow ETH students know, it’s hard to find motivation and be productive in our 3 weeks of holiday in sommer and 2 weeks of holiday (if we are lucky) in winter. Thus, this idea got indefinitely postponed. The final push came just this year, after registering for a Hackathon. I knew I had to prepare myself in some way, as I had next to no experience in Javascript and my HTML and CSS skills were extremely rusty. So, in the holiday after the 3rd semester I started working on this website.
After researching Javascript libraries/frameworks I was recommended React, as it is the most commonly used Javascript library right now, thus providing an abundance of resources. After watching a 10-hour React tutorial and another tutorial on how to create a React website, I got on my way to create components, the UI and finally my first project.
My plan for this website is to implement some more visualization projects. As ETH is notoriously theory-heavy, having a side project where you actually do some coding is something I recommend for university students that need this type of exchange.
Most of the UI and interface is designed by me. The fancy cards, buttons and other components are from material UI, a great library by Google for premade components. For my first project (smallest enclosing circle) I used a React library for the canvas which I will go into more in my corresponding project blog post.
Here are some of my key takeaways from building my first website:
- CSS was extremely hard to get right, took a lot of research and asking friends to understand the basics, and now I’m at the point where I just use
display: flexfor everything - I will probably never become a web developer, even though it’s fun working on something and visually seeing the progress, I feel like I could do a lot more with my (hopefully in the future) CS degree
- React asynchronous state updates using the useState hook are very annoying, as it messes up some function logic. In general I saw that Javascript runs quite differently compared to languages I learnt so far in university (Java, C, C++), but I did not have enough time to dive deeper, which made me struggle with some features of JS like Promises and async functions.
Now a little bit about me: you will some information about me in the ‘About’ tab. As I am not very fond of writing and also not particularly good at it, new blog posts here will probably be very rare, except for when a new project comes out. Addtionally having to do all the formatting and editing myself without an application is quite cumbersome and time-consuming.
That’s all I can think about for now, I hope new ETH students can benefit from visualizations of algorithms they will learn in lecture. Whether or not this site will get some traffic, having an own place on the internet that showcases your work is rewarding enough as a CS student.