The MKat

The MKat Blogs about technology, and makes other stuff when I can. Hopefully also youtube videos in the futur

06/11/2023

It's pretty easy to feel overwhelmed when learning different topics. In these cases it can be good to remember that you don't need to learn everything to provide value! One example is starting to learn frontend programming, where you don't need to understand every little detail (e.g, NPM build system details, how React works internally etc.) to build something cool! :)

"One of the most important things about learning any subject is the fact that you don't need to know everything - you need to understand a small set of important concepts that provide most of the value"
- The Personal MBA: Master the Art of Business, by Josh Kaufman

Want to know what all the fuss is about with Kotlin? Fireship has created this little video that summarizes a lot about ...
08/09/2023

Want to know what all the fuss is about with Kotlin? Fireship has created this little video that summarizes a lot about the language in 100 seconds! :)

Kotlin is a programming language designed as a modern alternative to Java. It supports functional patterns, coroutines, multi-platform compilation, and is no...

Want to learn Rust? Or improve your Rust skills? Earlier this year I wrote a guide with what I consider the essential bo...
05/09/2023

Want to learn Rust? Or improve your Rust skills? Earlier this year I wrote a guide with what I consider the essential books to learn Rust. It is not specific to any libraries or frameworks, just the language itself (+ design philosophy, good coding practice etc.). I also link to some free resources if you want to check things out before buying books :)

Rust is gaining popularity fast, and is a language loved by many (including myself). It has recently been used for device drivers in the Linux kernel. While many early adopters did more low level code, it is gaining popularity in higher level problems as well (e.g, writing REST APIs and CRUDL databa...

Bjarne Stroustrup, the creator of C++, gives some very good life advice in this video!    His first really good point is...
01/09/2023

Bjarne Stroustrup, the creator of C++, gives some very good life advice in this video! His first really good point is the over-specialization issue. We often specialize a lot in a single thing, that might not be the right one. It is better to learn a plethora of skills. I don't worry, computers can still be your main one :) Just remember that by just adding linear algebra skills (math), you can learn computer graphics programming! Doesn't have to be computers either. Bjarne mentions history to know your limits. Another example would be learning finance, which helps both for making financial software (ranging from trading bots to brokerage platforms) and for getting a better personal economy. There are a lot of things to learn out there :)

One other very good point is social skills. I remember when I was a teen, I would under-value the importance of communication skills. We all need to communicate our ideas in some way or another, so being a bit outside the computer as well can be a good idea.

The creator of C++, Bjarne Stroustrup, shares some valuable life advice that, let’s face it, all developers, no matter their years of experience could use. A...

I often use my weekends to explore various concepts. Today I found a video explaining the fuser command! It is weird tha...
26/08/2023

I often use my weekends to explore various concepts. Today I found a video explaining the fuser command! It is weird that I have not heard about it before :O It can be used to see what users and processes have certain files and volumes open, and also to kill those processes. Can be super useful when these processes make it impossible to eject your USB drives and similar. Veronica Explains explains it in a good way in this video. Really recommended for everyone interested in basic Unix tools :)

Ever want to eject a flash drive but you can't because the device claims that it's "busy"? In today's Lil' Linux Lesson, we dive into the fuser command! The ...

Want to become a backend developer? Don't know where to start, or what you should learn? I'll help you out in this artic...
23/08/2023

Want to become a backend developer? Don't know where to start, or what you should learn? I'll help you out in this article :)

Sometimes I get questions on how to learn the skills necessary to get a backend programmer job. That is exactly my aim for this article: to give you a set of terms, keywords and knowledge to get started on your journey. My hope is that you know what you need to learn after reading on.

Do you speak Norwegian and want to learn coding on your own? A new open source initiative was recently created to help s...
20/08/2023

Do you speak Norwegian and want to learn coding on your own? A new open source initiative was recently created to help solve self-thought developers find a path. You will not find tutorials on specific languages, but links to resources, description of central terms and high level concepts. If you want to contribute, that is awesome :)
https://koding.no/
(not me who started the project, but I have contributed :) )

Lær koding ved hjelp av norske utviklere!

Are you a GNU/Linux user who is curious about Macs? Or maybe you just want to know what are good and bad about them? In ...
17/08/2023

Are you a GNU/Linux user who is curious about Macs? Or maybe you just want to know what are good and bad about them? In my summer vacation I wrote this write-up on what I love and what I hate about Macs, and one of them is hinted at in the preview image below :) (hint: the intense protection from software downloaded from the internet!)

A few years ago I switch to mainly using Macs from previously only using GNU/Linux setups. What do I enjoy? And what do I dislike in Mac OS X? How do I handle the times I miss Linux? Keep reading if you are curious!

There are many articles about Emacs on my blog :) These range from tips for usage, recommended packages, Emacs Lisp prog...
28/07/2023

There are many articles about Emacs on my blog :) These range from tips for usage, recommended packages, Emacs Lisp programming and more!

A blog about computers, math and other things that interest me.

My other site AITales regularly gets stories inspired by my ideas, which is all transparent on Github :) I wanted a stor...
25/07/2023

My other site AITales regularly gets stories inspired by my ideas, which is all transparent on Github :) I wanted a story where technology has been destroyed by solar flares and societal collapse, and gave some inputs to my own Github Actions workflow. Boom! A story was made :) (I have been fascinated by this concept since I first saw something similar in the Babylon 5 S04E22 episode "The Deconstruction of Falling Stars")

I know AI stories is a bit controversial these days. My intent is not to try to replace writers, but to explore the relationship between human ideas and machine ex*****on. I have always loved to see what computers can help us with, and quickly exploring small ideas like these are inspiring :)

In the year 3019, humanity found itself in the throes of despair. A series of catastrophic solar flares had ravaged the Earth, rendering all advanced technology useless and plunging civilization back into a medieval stage. The once bustling cities were reduced to mere shadows of their former glory,....

Do you code in Kotlin? Did you know that Kotlin 1.9 was recently released? Find out whats new in this video from Jetbrai...
07/07/2023

Do you code in Kotlin? Did you know that Kotlin 1.9 was recently released? Find out whats new in this video from Jetbrains :)

Kotlin 1.9.0 stabilizes several language features, including data objects, the 'entries' property for Enum classes, secondary constructors for inline value c...

Do you also really want a command line inside of Emacs? Don't think the built in ones are good enough? Maybe it is time ...
22/06/2023

Do you also really want a command line inside of Emacs? Don't think the built in ones are good enough? Maybe it is time to check out vterm? :D

vterm, or emacs-libvterm, is a way of running a terminal inside of Emacs. It may not sound interesting at first, but it has some nice features that set it apart from the alternatives. One of these includes supporting interactive programs. It also feels more a part of Emacs than an external program,....

15/04/2023

I've been playing with CircuitPython on a Raspberry Pi Pico lately. Really fun to see the development that has happened with microcontrollers in the last 10 years. With a Python flavor on a microcontroller, it becomes really accessible for more people to do hardware projects :) Sure, Arduinos programmed in C was fun as well.. But a Pico W with built in WiFi that can be programmed in Python takes it to a new level of accessibility :)

Have you played with Python for microcontrollers or embedded platforms before? Feel free to share your experiences! I would love to hear them :D

Did you know that I created an automatic AI generated story creator? Some of the stories are actually quite interesting!...
06/04/2023

Did you know that I created an automatic AI generated story creator? Some of the stories are actually quite interesting! Especially this ghost-story that the algorithm automatically created and asked me to review a few days ago! :D
https://aitales.themkat.net/Survivors_in_the_Dark/

If you want to read the source code for the project and see how it is implemented, feel free to read the source code on Github:
https://github.com/themkat/aitales

It was a dark and stormy night, and the small group of coworkers huddled together in the break room of the office building. The power had gone out, leaving them stranded and alone in the building. They had all been working late, trying to finish up a big project, and now they were trapped.

A few days ago I shared a post about overlooked collections operations in the Kotlin standard library. Did you know that...
05/04/2023

A few days ago I shared a post about overlooked collections operations in the Kotlin standard library. Did you know that there are several for Strings as well? These includes the predicates like endsWith, finding common prefixes etc.! :)

The Kotlin standard library provide many useful helper extension functions for string operations. You probably know the basic ones to make a string lower and upper case, but did you know that there are many more? Some of them do operations that you would otherwise implement yourself, and some are mo...

Did you know that the Kotlin Standard Library provide a lot of helper functions for collections (like lists)? These incl...
03/04/2023

Did you know that the Kotlin Standard Library provide a lot of helper functions for collections (like lists)? These include partitioning into two groups based upon criteria, chunking to fixed size sublists, unions, intersections and more! :D

If you work with Kotlin, you probably use Collection types like list a lot. Most people already know of simple list operations like getting elements, checking if an element is present, mapping etc. Did you know that the standard library provides a whole plethora of useful operations? In this article...

Recently I made a small project to see how good an AI was at generating stories. While we still need a human to review t...
15/02/2023

Recently I made a small project to see how good an AI was at generating stories. While we still need a human to review them for the stories to make sense, it can generate quite interesting ideas given a genre and some keywords. With my algorithm, I use APIs from OpenAI and refine them myself (sometimes with the help of the much much much more advanced ChatGPT AI) :) If you want to get inspired, have fun, or whatever else, feel free to take a look.

Tales from the deep mind

08/01/2023

Did you know that some of my articles are also republished on Medium and Dev.to? If you prefer to follow people on those sites, they are a good way to read my content :)
https://dev.to/themkat
https://medium.com/

Do you also love command line tools? In my latest video I show you some of my favorite ones that are not included by def...
24/11/2022

Do you also love command line tools? In my latest video I show you some of my favorite ones that are not included by default in the various Linux-distros and Unix variants :)

On the lookout for some new command line tools? Then this is the video for you! :) Tools in the video:bat:https://github.com/sharkdp/bathtop:https://htop.dev...

Wonder why people, including myself, fall in love with Rust? What does it do right compared to other languages? In my ne...
02/11/2022

Wonder why people, including myself, fall in love with Rust? What does it do right compared to other languages? In my newest blog post I discuss that, as well as some tips to get started with Rust if you suddenly feel inspired :)

I have really fallen in love with Rust this year! It has many positive features, like compiling to almost any platform, nice syntax and more. In this article I will show you some of these features, tell you about them, and maybe inspire you to look into learning Rust yourself! If you disagree about....

Did you know that I'm on YouTube? A few weeks ago I made a video on using Emacs as a Kotlin IDE. If you have ever wonder...
26/10/2022

Did you know that I'm on YouTube? A few weeks ago I made a video on using Emacs as a Kotlin IDE. If you have ever wondered how it looks, what packages to use etc. then you will probably enjoy this video :)

In this video we showcase using Emacs as a Kotlin IDE, using packages like lsp-mode with kotlin-language-server. Some of the features are not that well docum...

Do you enjoy bit tricks? Last week I wrote a short article on counting the number of 1 bits in a binary string, using th...
24/10/2022

Do you enjoy bit tricks? Last week I wrote a short article on counting the number of 1 bits in a binary string, using the famous Kernighan algorithm :)

It's been too long since the last bit tricks article, so I thought I would share another one! This time we will look at a simple fun bit trick to count the number of 1 bits in a binary string (e.g, a 32 bit integer). This algorithm was discovered by Brian Kernighan of Bell Labs and C fame. Unlike th...

Have you ever wondered how to use the sed command tool to edit text? Or maybe you are just curious on what sed can do? I...
17/10/2022

Have you ever wondered how to use the sed command tool to edit text? Or maybe you are just curious on what sed can do? In my newest article I discuss various aspects of sed, and how to use it :)

sed is a very popular command line program for doing various forms of edits to text input. Most people probably use it for simple replacements, and that is also what the most popular use case is. Did you know that you can use it for way more? Including as a simple grep replacement? Or get a cut port...

Did you know that my blog has many book recommendations? There are many technology, programming, finance, sci-fi and mor...
16/10/2022

Did you know that my blog has many book recommendations? There are many technology, programming, finance, sci-fi and more! So both books to learn new skills, and to relax :)

A blog about computers, math and other things that interest me.

Do you want to learn Kotlin? Wonder what resources you should use to learn it? In this article I cover some books, websi...
13/10/2022

Do you want to learn Kotlin? Wonder what resources you should use to learn it? In this article I cover some books, websites videos and more to get you started (and go a bit further!). If you want to gain the skills to work professionally with Kotlin, maybe this is your starting point? :)

Do you want to learn Kotlin? Wonder what resources you should use to learn it? In this article I collect a few different resources depending on your interests and skill level. You might pick a few, mix and match or do whatever you want that makes you learn the concepts. Only you know the way you lea...

Last week I wrote an updated article about using Emacs as a Kotlin IDE. I go through some of the features that are suppo...
12/10/2022

Last week I wrote an updated article about using Emacs as a Kotlin IDE. I go through some of the features that are supported, caveats you should have in mind and more. There is also some screenshots if you are curious on how it looks :) (also some notes on packages I use to make Emacs look like the way it does in my setup)

Last year I wrote a blog post about the basics of using Kotlin in Emacs. Since then, some new developments have happened, including some new features have been added to the Kotlin langauge server. I also got some questions regarding which Eamcs packages I like using when developing Kotlin code. Let'...

Have you ever been curious about Rust and its pattern matching functionality? In my latest articles I explain the basics...
08/10/2022

Have you ever been curious about Rust and its pattern matching functionality? In my latest articles I explain the basics and show you several examples :)

If you have followed me for a while, you know that I have really started enjoying Rust in the last year. Rust have many great features, and pattern matching is one of them. If you have used other languages like Haskell or Standard ML, you will notice some similarities. Same with the complete basic p...

Ever thought that Emacs Lisp was ugly and wish you had modern language constructs like those found in other languages (l...
04/10/2022

Ever thought that Emacs Lisp was ugly and wish you had modern language constructs like those found in other languages (like Clojure)? That is the topic for my latest article! :)
https://themkat.net/2022/10/03/emacs_lisp_better.html

Emacs Lisp can sometimes seem a little archaic compared to more modern languages. In higher level language we are spoiled with a multitude of easy string handling, list handling, pattern matching and so on. What if I told you that some packages can give you the same ease of use for Emacs Lisp? That....

Last night I watched a talk from Rust conf 2018 which quickly introduced generational indexes. This data structure fasci...
20/08/2022

Last night I watched a talk from Rust conf 2018 which quickly introduced generational indexes. This data structure fascinated me, as it solves issues with stale indices in arrays/vectors that contain state (where objects are removed, added, removed etc. In other structures we end up references to indices which may not refer to what we expect, and cause bugs). Generational index implementations are very simple after seeing how they work, and I was a bit disappointed in myself for not thinking of it before 🙃 Read the following article to get a good introduction to the concept and issues it solves (link to the Rust conf talk is included in the article). Sadly not an article by me this time, but hope you still enjoy it 😘
https://lucassardois.medium.com/generational-indices-guide-8e3c5f7fd594

Enter the world of generational indices datastructures.

Do you often feel lost when trying to debug Emacs Lisp errors? Here is a quick guide with some steps you can take to get...
11/08/2022

Do you often feel lost when trying to debug Emacs Lisp errors? Here is a quick guide with some steps you can take to get to the bottom of the errors :)
https://themkat.net/2022/08/05/small_emacs_lisp_debugging_tips.html

Have you ever gotten weird errors in an Emacs Lisp package? Something like "wrong type argument" or similar shown in the minibuffer? At first glance, these seem kind of cryptic. Where do they come from? Can I get a stack trace? What arguments are functions called with? Today I will show you how to a...

03/08/2022

«Comments are not like Schindler’s List. They are not “pure good.” Indeed, comments are, at best, a necessary evil. If our programming languages were expressive enough, or if we had the talent to subtly wield those languages to express our intent, we would not need comments very much—perhaps not at all»

From Clean Code by Robert C. Martin

Truer words have rarely been written in a programming book 🙂

Do you think the current economic climate is scary? Want to learn more to help you sleep better, and maybe understand wh...
14/07/2022

Do you think the current economic climate is scary? Want to learn more to help you sleep better, and maybe understand whats happening a little better? Last year I made a list of some of my favorite personal finance books, which is a recommended place to start :) (don't underestimate what you can do, even with "little" money)

https://themkat.net/2021/11/17/favorite_personal_finance_books.html

Today I will share my favorite personal finance books with you! This blog is mostly about programming and technology, so why do I write a personal finance post? Many people have this opinion that they have learned a craft, so why should they learn about finance? That is the mindset of being stuck in...

I have a lot of articles about Emacs on my blog, and I almost feel like this is spot on 😁
12/07/2022

I have a lot of articles about Emacs on my blog, and I almost feel like this is spot on 😁

What your coffee-preparation method says about your text editor 🫣 your average vim https://www.cyberciti.biz/faq/linux-unix-exit-vim-editor/ user 😵‍💫 sorry about cropping 🤭

Have some time off work this summer? Want to learn about something cool? I recently wrote a blog post with suggestions a...
30/06/2022

Have some time off work this summer? Want to learn about something cool? I recently wrote a blog post with suggestions and good resources to get you started :) The list include one programming language I'm currently looking into! :D
https://themkat.net/2022/06/29/summer_learning_tips.html

Summer means that time off work are coming closer and closer for some of us! In my off time I enjoy using extra time on learning and reading. Today, I will share with you some tips for topics that I enjoy, that you could look into if you want to look at something new.

Curious on how you can debug your GameBoy Advance programs/games in Emacs? I also link to resources for VSCode and Vim a...
09/05/2022

Curious on how you can debug your GameBoy Advance programs/games in Emacs? I also link to resources for VSCode and Vim as well, just in case Emacs is not your cup of tea :)
https://themkat.net/2022/05/09/debugging_gba_in_emacs.html

There are not many articles on debugging GameBoy Advance C code around the web, and most of them seem to be about debugging in VSCode. While VSCode is good, it is far from the awesomness that is Emacs! Debugging GBA code with Emacs is far easier than you would think, and in this article I wills how....

Star Wars day (May the Fourth) was yesterday... Do you prefer the dark side or the light? :) (themes that is)
05/05/2022

Star Wars day (May the Fourth) was yesterday... Do you prefer the dark side or the light? :) (themes that is)

Last week, Ansible was introduced. This week I show you how you can use Ansible to create container images (for Docker, ...
17/03/2022

Last week, Ansible was introduced. This week I show you how you can use Ansible to create container images (for Docker, Podman, contaienrd etc.) using ansible-bender :)
https://themkat.net/2022/03/17/creating_container_images_with_ansible.html

Did you know that you can use Ansible to make container images? It's actually a very readable way to create images compared to some Dockerfiles you find online (if you don't think so, you have probably never read one that is 100+ lines). In this article we will look at building images using ansible-...

Want to automate your computer/server setup? Maybe you maintain several machines? Tired of SSHing into each one and exec...
13/03/2022

Want to automate your computer/server setup? Maybe you maintain several machines? Tired of SSHing into each one and executing commands or script manually? Maybe it's time for you to consider looking into Ansible! Ansible is probably one of the best tools for automating your setups, and makes maintenance easier.
https://themkat.net/2022/03/10/intro_to_ansible.html

More automation! Ansible is a great tool to automate the configuration and handling of your computers. I have to admit I put off looking into Ansible for the longest time, simply because I underestimated how powerful it is! At the surface it seems like just another configuration management tool, but...

Address


Alerts

Be the first to know and let us send you an email when The MKat posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Shortcuts

  • Address
  • Alerts
  • Claim ownership or report listing
  • Want your business to be the top-listed Media Company?

Share