Joodari

About

Joodari, meaning me, Joona, am a…

software engineer. I know TypeScript, Rust, and C# the best. Python, PHP, and other languages have also been featured in my other, smaller projects.

…web expert. The best websites, in my opinion, are made with precision using the right technologies, instead of following whatever is trendy today. In my opinion, even tradittional HTML can even be enough to build good websites. As complicated JavaScript is often not really nessecary, and often times it is more prone to breaking with different versions of browsers. Although if the requirements do mandate lots of interactivity or moving parts, then I do think that Angular, React, or Vue.js can be good choises. I especially have lots of late experience with Angular, as for work I've developed display software using it.

…hacker, or put more nicely, technology hobbyist. I've made all kinds of hobby projects. For example, I converted an old PS2 mouse into a USB one using an arduino. I've also taught myself C# decompilation and sen CIL reading skills, since security and privacy are important to me. I've also utilized these skills for modding games and reverse engineering APIs.

…linux sysadmin. I've maintained all kinds of different softwares and made sure to keep them secure and up to date. Things like Docker, CI/CD/ fail2ban, firewalls, and just *nix in general, are all things I'm comfortable doing.

Portfolio

I've created many projects during the years. Some of them have their source code available, or even demos you can try. In addition to the ones I'm about to follow, I've also contributed no many open source projects and made many other smaller things.

Acquisition management tool

A website made for the 2019 Häme scouts event for organizers to submit things they needed. Built with NodeJS & React.js. There was a list of products in a csv file that needed to be imported, which affected the units and so on. The data was stored into Google Sheets so that it was easy to edit and refine live.

Picture of the tool
Screenshot of the web interface

Try the demo (do note that the red background error is due to the backend missing from the demo).

Or alternatively, browse the source code.

Visualization web app

Vue.js application which drags a graph based on the inputted amount of alcoholic drinks and an estimate of the blood amount.

Picture of the app
Screenshot of the visualization

Try the demo or browse the source code.

Old blog

I once attempted to start writing a blog, which I built from the ground up using a static site generator. Meaning I had made a custom theme and configured the backing implementation of it, Hugo.

Picture
Screenshot of the old blog

I made the site as minimally and as functionally as I could without necessary any JavaScript. The blog featured a fully functioning closable sidenav. I'm thinking of rebranding the whole blog, which is why it isn't currently available at the moment.

CI & CD

In polytechnic I made a practice thesis about the automation pipeline for publishing my old blog. I've edited it a bit edited to protect my privacy, to make a version of it available (PDF) to be read.

I used Rust to write a HetznerAPIa utilizing CI autoscaler, which also used an instance of Drone CI.

Rust projects

I've used the Rust programming language a bunch, and I enjoy it's design a lot. Alongside the many unfinished and smaller projects I've made with it, I do have a few projects that I feel are worthy enough to showcase:

  • A GUI application to show friends of a social VR game, which has it's source code open sourced.

  • Website made with actix web for the backend, and maud templating for the frontend.

  • Open source libraries for the web APIs of social VR games, including Resonite, VRChat, ChilloutVR.

Linux SysAdmin

I maintain my own servers. One example is the server running the website you are visiting right now. I have made countless nginx config files, and I also have prior experience with HaPRoxy and Apache HTTP server.

My servers used to run Debian, but for fun and to have unity with my desktop OS, I use Arch linux on them now (btw). I also used RHEL-derivatives in school courses, and Alpine linux is used in a lot of my project's containers. Alongside my websites I also run my own VPN and email servers, monitoring, as well as other software.

Back in the day I also setup and for a few years maintaned Nokian Eräveikkot's WordPress website.

Old picture
An old screenshot of Nokian Eräveikkot's site

Nowadays said website is maintained by the Finnish Scouts as far as I'm aware.