tiistai 29. huhtikuuta 2025

Language learning tips and my language learning journey going forward

 

For me the best way to learn any language is to use. This includes both input (movies, TV, books, etc.) and output (written and spoken communication). Grammar, pronunciation and vocabulary are useless knowledge if you don’t have some way to use them and people tend to forget knowledge they don’t need.


Learning English this way has been made fairly easy for anyone with access to the internet. In our field the vast majority of material is in English. According to Statista as of February 2025 49.5% of the language used on the internet was in English. This is followed by Spanish at 6%!


By learning the basics and filling in the gaps when you run into a word you don’t know or grammar you don’t understand is probably the best way to learn a language.

For learning new vocabulary and grammar I can recommend sentence mining. Essentially it involves extracting sentences you don’t understand from the material you consume, making it into a flashcard and regularly studying that specific sentence. Anki is probably the most popular program for this purpose.


A pothole that I’ve noticed when consuming native material is that I tend to translate the native language into my own native tongue. While this is useful to start out with, my native language and the language I’m trying to learn are almost always radically different. Making the leap from translating the language to taking the language in as it is is sure to boost both your learning and enjoyment of learning that language.


As for my language learning journey going forward, I’m very interested in studying German and Russian as well as continuing my Japanese studies and getting my Swedish to an acceptable level.

I read a lot Russian literature and I want to read it in its native form (although I am almost definitely underestimating how difficult it will be).

As for German and especially Japanese, I believe it would open a lot of new career options for me in Germany, Austria, Switzerland and Japan, where the tech industry is more in Japanese than in English.


In general I enjoy learning new languages since they give me new ways to express myself that I can’t do in other languages. I also enjoy reading, so learning a new language can also give me access to the native texts of books I like or am interested in, granted that I’m fluent enough.

Besides these practical reasons, I just find becoming more adapt at a language a lot of fun and think languages are very beautiful.

tiistai 25. maaliskuuta 2025

Book Review: Docker Deep Dive

The book I chose to read for the reading week is called ‘Docker Deep Dive’ by Nigel Poulton. This book covers the basics of Docker, it’s history, how it works and how to use it in a simple and understandable way.

 

 

The first chapter covers why Docker exists in the first place. Before learning how Docker works, it is important to understand why it is needed. We begin the chapter by talking about how applications were deployed in the past. First each application needed its own server to run on. This caused significant overhead due to each server not being used to its fullest. This is compounded by the fact that companies didn’t want to buy too weak of a computer which led to overcompensation.

Next Poulton talks about virtual machines (VMs) and VMWare. This technology revolutionized application deployement. Now companies could run several applications on a single server, significantly reducing the amount of servers needed. However, the problem with VMs is that they still cause some overhead. Each VM needs an operating system kernel to run and so not being as effective as it could. Another problem with VMs is that they aren’t portable; an application running on the Linux kernel may not work on a Windows kernel for example.

Containerization aims to fix both of these issues. Containers use the host operating system’s kernel to run and they’re highly portable. The drawback on containerization is that it is complicated to deploy one. And so the reason Docker exists is to simplify containerization or, in the words of Poulton, “Docker was the magic that made Linux containers usable for mere mortals”.


This chapter gave me a fairly interesting view into why Docker exists. I’ve been using Docker to deploy some applications before and I understand when to choose Docker over deployment on a virtual machine or on bare metal. However having a holistic view of the history for Docker’s creation helps me to appreciate its existence. With Docker I don’t need to learn how to implement a Linux container!


I can definitely recommend this book to anyone interested in Docker who may not know where to start. The language used in it is not overly technical and the chapters are very well structured, at least judging by the first few chapters. Docker is a technology I think most people working in IT will come across so having a good grasp of it will certainly prove useful.


As for my language learning process, I’ve kept a steady pace of reading books about the computer science topics that interest me. I need to look up what some words mean fairly often, so trying to keep them in mind has proven difficult but worthwhile.

perjantai 21. helmikuuta 2025

My Favourite Project

 

For a few weeks I have been working on a Chip8 emulator based on Rust by following an open source book on it. The main reason I’ve been writing it has been to get back into coding in Rust. Having written code in C for my university course and starting another course with a focus on Java, I really started to want to get back into writing in Rust. I’ve also been interested in emulators but never knew quite where to start learning about them, so I think that getting hands-on experience with making one will be invaluable.

As I said before, it isn’t really my own project. I’m just following detailed instructions on how to write code for a certain task so I will not be publishing my code. The main goal for me with this project is to learn more. I may show it to my friends but beyond that it won’t particularly affect anyone else.

Other than learning about emulators and Rust, this project has been teaching me what goes on between hardware and software which you’ll know interests me a lot if you read my last blog post. Some new concepts such as tick (smallest unit of time that a computer can measure; roughly 1 100,000,000th of a second), fetch (CPU retrieving instructions from memory and bringing it back to the CPU) and push and pop (adding and removing the most recently added element from a collection, respectively). Besides these concepts, I’ve also been writing code with hexadecimals which has been somewhat confusing but I’m sure I’ll get the hang of it eventually (hopefully).

It has certainly been difficult though. Writing the code in the book into my IDE is easy enough but actually understanding what I’m writing is difficult. The book can be pretty unclear about what each thing is doing at times. This can be a good thing though, you get to look these things up yourself which might be helpful for learning them more thoroughly.

I intend to complete this project and finish this book and hopefully play some pong by the end of it. So far I can recommend it to anyone interested in learning Rust, about emulators, operating systems or for getting hands-on knowledge about computers in general. To me it has always been much easier to learn things by getting real experience with it rather than learning about the theory of how somethings works. Theory is still highly important and can save you quite a bit of time if you understand the concepts.

tiistai 4. helmikuuta 2025

About me

Introductions
 

I have always liked computers and a few years ago I became more interested in what they actually are. Of course I knew that computers were essentially metal contraptions making electrical signals and producing lots of 0s and 1s, but I wanted to go deeper. That's when I became interested in computer science and I thoroughly enjoyed it. (Nearly) every topic was interesting and novel. 

All this is why when it came time to choose what I should study in university, I decided to go with information processing science. I had some technical knowledge from my own studies before university which definitely helped me in various ways and on various courses with coding in particular.
In particular I’m most interested in operating systems, game engines, emulators and Cybersecurity. All of these are fairly complex and challenging topics but I think it is a part of what makes them so interesting for me. I’m also interested in servers and server-related technologies such as Docker, Linux and the wider LAMP stack (Linux, Apache, MySQL and PHP).

Advantaged of blogging


After reading Flavio Copes' blog post titled 'Every developer should have a blog. Here’s why, and how to stick with it' I think that having your blog as a driving force to make you try out different technology stacks and learning new things is the biggest advantage of blogging as a developer.
Copes also makes the point that having a blog makes you more visible on the job market.
Although I will find a blog to be useful when I'm in the job market, right now I think the learning aspects of blogging are more beneficial and interesting to me. I tend to get stuck in my ways and where I’m comfortable so a force pushing me to try new things will be a good thing for my learning.
 

Language learning goals


For my language learning goals, I will be focusing on learning information processing and computer terminology and specifically prioritizing my interests in these fields. By the end of my English course I’ll try to learn around 20 to 30 new field-specific or field-related words and terms. More specifically I want to focus on operating systems and game engines, as those are what I’m interested in.
Related to these areas I may include some terminology from programming, computer architecture, networking, embedded systems, graphics, rendering and calculus. I also hope that this blog will push me to learn more about these subjects and their terminology as well.

Language learning tips and my language learning journey going forward

  For me the best way to learn any language is to use. This includes both input (movies, TV, books, etc.) and output (written and spoken co...