I am Henri Vainio, self taught programmer now studying computer science in Tampere University Finland.
I like to develop backend code especially with C#.
Also a WWW/IT official at university subject association @luuppiry 👀
I started my programming career back in 2021. I wanted to ease my upper secondary school math studies by automating moving data between my Latex math editor and calculator. Back then I didn't have any experience in coding which meant I had to learn everything while writing the app. This project with many others has thaught me a lot about software development.
Alhough coding was very hard at first, it grew to a nearly daily habit for me. I started my programming career with python but quickly switched to C#. I found C#'s strongly typing very powerful and haven't switched away from C# after that.
I thrive to improve myself every day and try to find the best recorces to learn the best practises. Trial and error has been a big part of my learning curve. Sometimes different coding styles seem great at first, but after trying them you see the pros and cons clearer. I think it's sometimes better to learn the hard way than someone just telling the right answer.
I am currently studying computer science at the University of Tampere. University will certainly give me even broader perspective on computer science. I have also chosen to study mathematics as my minor, because a lot of the programming topics are based on mathematical concepts.
.NET
C#
ASP.NET Core
.NET MAUI
WPF
XAML
SQLite
Python
VsCode
VS
C# is clearly my favorite programming language. I find it's versatile feature set very flexible and fun to use.
WPF is UI framework used to develop Windows applications with C# and XAML. My first project uses WPF (after I switched from python to C#).
.NET MAUI is UI framework designed to publish application for multiple OS platforms in only one single project. MAUI uses XAML and C# for its code.
APS.NET Core is a web framework that enables .NET developers to develop powerful APIs and web services with C#. I am currently developing a project for my student organization (see projects below) which contains a ASP.NET Core Web API with RESTful architechture. The API is currently all written by me.
Even though most of my projects now use C#, sometimes it is just the best decision to go with something little more flexible and light. I started my programming career with Python and still use it when I don't need the same robustness of C#'s strong typing.
Nearly every application needs databases. Multiple of my applications use SQLite as their database system. With C# I almost always use Dapper ORM with my object mapping.
APS.NET Core
REST
API
Controllers
SQLite
Dapper ORM
JWT
Web
Lärpäke is project for my subject association Luuppi. Lärpäke is next generation electronical freshman attendance card (Fuksipassi). It tracks who attends the most subject association events during their freshman year. Lärpäke will be implemented as REST api (written by me) + web UI application using ASP.NET Core 9 API with controller architechture. The REST api uses SQLite with Dapper as its database system and Json Web Tokens (JWT) for authentication.
.NET MAUI
Multiplatform
P/Invoke
Library
Nuget
TesseractOcrMaui is .NET wrapper around Tesseract optical character recognition library. TesseractOcrMaui is available as a Nuget package on nuget.org and targets .NET MAUI Windows, Android and iOS. Native library interoperability is accomplish using P/Invoke.
.NET
Class Library
.NET Framework
.NET Core
WPF
XAML
C#
XUnit
Matikkaeditorinkääntäjä is my first project ever. The project was originally built in .NET framework 4.8 but then upgraded to .NET Core 5 onwards. Matikkaeditorinkääntäjä is a WPF application that converts mathematical Latex code to calculator readable form using my Latex2Compute class libary. Latex2Compute is unit tested using XUnit testing library.
If you have any problems or feature requests with my code, don't hesitate to open a Github Issue or contact me on
matikkaeditorinkaantaja(at)gmail.com
or with anything more personal / work related on
henri.m.vainio(at)gmail.com