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...