
Experimental site for older computers :)
Recently I was thinking back to a conversation I had years ago. While the conversation was had in the context of depressive feelings, I still think it highlights how different we all think about topics relating to our purpose in life. Some people don't have this deep sense of wanting to have a meaning of doing the things they do; They simply go day by day trying to make the best of their lives. They still have motivation, but they might not have meaning. (I will define it in my terms later! Read on!). So… This conversation I had…?
Read more..I'm going back to school to study mathematics! In this ramblings-style article I will talk a bit about the what, why and so on.
Read more..Do you also hate some of Emacs' default keybindings? Some of the default key bindings in Emacs don't really feel right for me, so I unset/remove them. Sometimes I override them with new operations. In this short article, I will show you how to yeet (remove) your unwanted keybindings.
Read more..Everyone and their grandma have a Github Actions workflow these days, so it should come as no shock that even my Emacs config have one. I believe having one helps you find errors quicker, and helps you avoid some of the worst pitfalls. In this article I share my experience, which might help you decide if you should have an automation pipeline for your Emacs configuration as well.
Read more..If you are new to Emacs, you might think that the scrolling in buffers is choppy. Why is that? You are probably used to smooth scrolling in all your other editors, so why not Emacs? That is exactly what we will look at today!
Read more..Have you ever programmed your TI84 Plus calculator? You have probably seen that you can code BASIC directly on it, but did you know that you could make those programs on your computer and transfer them instead? That is way more convenient. More importantly, it is way more fun that way! It enables you to give the computer more
Read more..Today is Pi day! March 14th has become known as Pi day, probably because of the American way of displaying dates (3/14). It is also the birthday of Albert Einstein. Use this day to have fun with numbers and mathematics, or maybe read about famous mathematicians. This article will give you a bit of both!
Read more..I've been feeling down lately. Most things, even computers, have seemed dull and meaningless. Maybe it's all the generative AI coverage in news that makes me have a bleak outlook on the future of technology. Waking up and seeing people hate on each other for stupid reasons on social media is also depressing. All the vile racism, hate against people who are part of the LGBT spectrum/community (or whatever the correct term is), hate against people who struggle etc. is not exactly uplifting. All of these combined turn into a torturous cacophony of hate and misery. Unsure on why I've been spending time on social media at all, but I guess my brain craved the dopamine rush that it's supposed to give. So I have been spending more time in the kitchen, and now with this weird poem of sorts. Consider it evening therapy…
Read more..It seems like all content creators in the Linux space are covering Ghostty these days, so I decided to jump on the bandwagon. This post will be short and sweet ramblings based upon my first impressions. If you want a TheMKat flavored Ghostty post, read on.
Read more..If you followed my activity on YouTube, you might have seen that I suddenly stopped uploading any videos. Now it has been a few years since my last video. A few months ago I was asked why I stopped, and I did not give a clear answer. So.. what happened?
Read more..There are many good Emacs packages and utilities out there. Why not pick 24 of them to count down to Jul/Christmas? That is exactly what I have done here. Maybe you can find a new package or feature to play with if you have some holidays coming up?
Read more..If you are a millennial or younger, you have probably heard the someone say "It's NOT a PC, it's a Mac!" during your lifetime. It was most certainly said by a person who wanted to feel superior to you. The person in question was probably not a computer person either, but parroted terms they had heard from people who were actually intelligent. I heard it from those types, and it made me want to stay away from Apple for years. You may think it was just sheer arrogance from the Apple cult, but today we will discuss the historical reasons for the distinction. We will also discuss why it made less and less sense over the years, and why it might make some sense again now.
Read more..Are you also tired of having to leave Emacs to read documentation? Whether be a simple command for your terminal (which you can run inside Emacs off course!), or information relating to the code you are working on? The good news it that you can read much of this documentation directly from inside of Emacs! No need to ever leave it again. By reading this post, I hope you will learn of a new way to get more of your information without ever leaving your favorite editor.
Read more..Sometimes I get asked by various people on how this blog works. How do I actually blog with the amazing sorcerous powers of Emacs? In my mission of knowledge sharing, I will show you my workflow and tricks today. Hopefully it can be useful for you as well.
Read more..Today I'm going to talk about failure, or at least failure as perceived by yourself. This is my blog after all, so some posts with me talking about the sad realities of life is allowed. This is probably more in the rambling category than any other thing I have written. It is also way more personal, so I understand if some of you want to skip this one.
Read more..Have you ever wondered how you can write your own macros in Emacs Lisp? Or what that even mean? Macros are a very powerful tool, and one that has long history in the Lisp family of programming languages. Writing your own syntax seems enticing, and that is indeed what we will look at. We will see simple examples, as well as creating your own syntax for anonymous functions (aka lambdas).
Read more..Do you also move between your Emacs buffer windows in an ineffective way? Always using C-x o to switch between them after opening several? Or maybe you are using the mouse (ugh)? Did you know that you could navigate to a buffer window in the direction you want, instead of just going randomly to the next one?
Read more..Exercism is interactive platform for programming exercises, which are made from volunteer work. That means that Exercism is indeed completely free to use. No subscriptions, or anything of the sort.
Read more..Macros are a feature of Rust that some people find confusing. To me, macros are one of the main selling points of the language. Ever since I learned about Lisp many years ago, I fell in love with the concept of macros. The possibility of writing my own syntax has always intrigued me. In this article we will have a look at declarative macros in Rust, and I will share some insights on why I love them so much.
Read more..Have you ever wondered about how you can block "artificial intelligence" (AI) scrapers/crawlers/bots from stealing your web sites' content? So have I. Like many others, I have been annoyed at the misuse of these technological solutions. Ranging from big companies using our content without permission, to idiots on social media using generated ChatGPT text to sound profound. If you are curious on deranged ranting on AI, or more importantly how you can tell them to f**k off, then read on!
Read more..Did you know that CSS has a way for us to style a page if the user choose to print it? We might want to tune sizes, not display certain elements and so on. This is all possible thanks to CSS media queries. While many web developers know about media queries, they might not know that it can be used to style print media as well. If this sounds interesting, then read on!
Read more..When working with files in the command line, you don't always want to write full file names. Maybe you are working on a group of files that has file names with a given patterns, like log files (e.g, log011023.txt)? Or maybe you want to filter out files that don't fit a given pattern? Or maybe your use case is just picking out shell scripts that starts with the letter P? In this article we will look at globbing, which can be thought of as wildcards we use in place of explicitly writing full filenames. Read on to see several examples on how they can be used to solve various command line tasks!
Read more..A few weeks ago, I finally got around to building my Amiga 1200 build in a Checkmate 1500 Plus case. For several reasons, I have wanted this for a long time. The beautiful case, the nice keyboard garage, easier to fit on my desk and more. So this time I want to show you some pictures, share some thoughts, and maybe introduce you to a world of the Amiga hobby if you have not seen much of it before. Hopefully you will find it interesting as well.
Read more..In case I haven't been clear in earlier articles: I'm not a fan of Microsoft Windows. While I have enjoyed Windows 95, and a bit of Windows XP, I don't enjoy any modern forms of Microsoft Windows (and the older versions are probably only enjoyed because of nostalgia). To me, the sane choice have always been some sort of Unix-style operating system like GNU/Linux and Mac OS X. Some people just think it is because I'm a nerd that sits inside all day and have dubious hygiene habits, but there are valid reasons. So what are the reasons I hate modern Windows so much? Keep on reading to find out.
Read more..There is probably no secret that I enjoy using the command line. Modern Graphical User Interfaces (GUIs) feel bloated to me, and I often have the feeling that there are too much bloat on the screen at once. Fortunately, I can do most of my tasks in Emacs or the command line. Yes, even web browsing! Though I have to admit that I end up using graphical browsers to be able to watch YouTube and do some daily things like internet banking. I have briefly mentioned Lynx and terminal web browsing in previous articles, but I have never really showed it in detail. Today is the day we are finally going to look at web browsing from the command line!
Read more..Did you know that there are more ways to contribute to open source projects than just coding? If you want to help, there are several ways to do so! I have done a few of these myself, and I think you might get great joy from it to.
Read more..My relationship with tabs as a UI element is a bit ambivalent. I really enjoy tabs in web browsers, except maybe the missing option to group tabs in most browsers. In most editors and Integrated Developer Environments (IDEs) I have tried through the years, they never feel enjoyable to me. That might be because I have very specific needs and opinions on how things should work. Last autumn, I found an Emacs package called centaur-tabs and have been using it ever since. So far, it is the only tab package I have enjoyed! Continue reading to see why.
Read more..This time I'm going to do something different than usual; we are going to look into a story from my past that I recently remembered. Teaching and promoting the joy of learning is something I care about immensely. If we could just show more joy, and point newcomers to good resources, I think we would have more great material out there (i.e, books, indie games blogs, and other works building upon said knowledge). The story I will share today is a story about how to NOT promote joy with relation to math and physics, but can be extended to all sorts of fields. I have made sure to NEVER do it myself. Hopefully after reading this article, you will stop behaving like this if you do…
Read more..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.
Read more..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!
Read more..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, unlike alternatives like term. Read on to see more on why I prefer vterm to the alternatives and how you can se it up yourself!
Read more..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 more focused on making the code more clear by exposing the intent of the operations as a name. Some of these may be common to you, but I hope that you at least find one that you are not familiar with!
Read more..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 we will look at operations that are often overlooked when we talk about list processing. For the people who are more new to Kotlin, we will start with a small recap. So don't worry if you are relatively new to Kotlin, hopefully you will learn some new nifty tricks here as well!
Read more..Today I want to share with you my favorite computer related innovations in our post-internet world. With all the bad things happening in the world, it is good to look back at the good that has happened. I like to look at innovations related to computer to cheer myself up. This will off course be very heavily opinionated, so your list might be very different.
Read more..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 database applications). You might want to learn Rust, and wonder about some resources to use. That is exactly what we will look into in this article! While books are the main topics, links to other useful resources are also provided.
Read more..In the last article, we discussed running Linux on your GameCube. This time we will look at debugging your regular applications/games (i.e, not running inside Linux, but directly on your GameCube). While GameCube is an older platform, it can still be interesting to explore. Some creative coders might also find the technical limitations inspiring. No matter why you find the platform interesting, you might need to debug your applications. Let's see how, and also how we can make it the most comfortable.
Read more..Running Linux on all sort of devices seems to be some peoples favorite hobby, including myself. While there are not that many use cases for Linux on a 20 year old games console, it is still fun to run and seeing what it can do. There is a certain charm in seeing Tux and a wall of text instead of Super Mario for some time. The various information GameCube linux is also a bit fragmented, so it would be good to have some it collected. If you think this sounds fun, then keep on reading to set up your own GameCube Linux box as well!
Read more..Most people know of QEMU for emulating a full operating system for various architectures, but did you know that it can also do single executables in its user-mode emulation? That means that you can run programs compiled for another architecture, but with the same OS (we are not emulating that part after all), on the machine you are using. I did not know about it until recently, but I'm very happy I learned about it! So today I will show it to you, so you also know about it if you ever need it!
Read more..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 something being awesome, then that is okay too, as the article is based upon my personal opinion.
Read more..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 the previous algorithm presented in my bit tricks series, this one requires some branching.
Read more..This time we will look at some small command line tricks that will improve your productivity. By command line, I am off course referring to bash or similar Unix-style command lines. If you know the complete basics, and want to expand your knowledge a bit, I hope this short article will help you!
Read more..About a week ago, I uploaded the first video to my new YouTube channel. Yesterday, the second video followed! So far they have both been about Emacs, but other videos will be about other things as well. My main goal with the channel is "to share the love for computing; Past, present and future!" :)
Read more..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 portion of a file (e.g, between two timestamps in sorted log files)? In this article we will take a quick look at sed and what you can use it for.
Read more..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 learn things the best. Without further ado, let us dive into the resources!
Read more..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 pattern matching with when in Kotlin (with some minor work). The pattern matching in Rust makes for expressive, readable and clear code. I admit that the Rust way of doing it is my personal favorite. In this article we will take a look at this topic, and maybe you will see why I think it's so great!
Read more..Today I'm going to show you my approach to make editing mixed html-files better in Emacs. web-mode is really good for editing mixed html files containing html, css and javascript, but doesn't provide any completion or other helpers like eldoc. In this article I will quickly show you my approach to make it more pleasant to work with.
Read more..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 they provide more clear APIs, give features you are used to from other languages, and/or abstract away the more tedious details.
Read more..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's answer some of the questions not answered last time, and see what Kotlin Language Server and Kotlin Debug Adapter can do!
Read more..Todays post is going to be a bit more personal than usual, as I'm going to share what I feel like are some of my biggest regrets not starting with earlier. Some of my points may resonate with you, and some won't. These three things are based upon my life. Hopefully some of you will enjoy reading this.
Read more..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 answer these questions!
Read more..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.
Read more..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 you how.
Read more..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-bender, which makes for a good way to make images with Ansible with minimal fuzz.
Read more..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 it is not just a way of running shell scripts like some may get you to believe. It comes with great tooling, and have great features that help you get going fast. In this article I will focus on the complete basics to get you started, and there will be features I won't cover here. Hopefully you will be aqainted with a few terms, and get some links that will help you explore these features further. Are you ready to learn the best automation tool for setting up computers?
Read more..Automating repetitive tasks is great! My favorite tool these days for automating operations relating to code and development, is Github Actions. I even use it for this site! I have used Github Actions both for work and spare time for some time. Sadly the work stuff is proprietary (yes, organisations can be private on Github), so I have less examples to show here. Wonder why you should consider automating more? Or consider using Github Actions for your next project? Then continue reading!
Read more..Bit trickery is always interesting! Sometimes you can use them to avoid branching (like if-checks), other times they are useful to save a few CPU cycles to avoid expensive operations. The absolute value trick I will show you here, is mostly to avoid branching. Why would you want to avoid branching? Many newer processors, from the mid 90s and onward, do something called pipelining to achieve a form of instruction level parallelism. While a classic processor fetch an instruction, decode it, then execute, a pipelined processor can fetch the next instruction while the previous one is decoded. You can have multiple operations like this almost in parallel. If we have to branch, like for an if-check, we might not have fetched the correct next instruction anymore, and might have to fetch new ones (for the whole pipeline). This can be an expensive operation. Calculating absolute values is a problem where we often have to have a branch (an if-check for smaller than 0).
Read more..There is probably no secret that I love science fiction books and dream of the mysteries of space exploration. It's a nice way to fantasize about the future of technology, and to get your imagination going. Sometimes I get very inspired by these books, and it's also a great way to take a break from real life.
Read more..You may have seen the book Designing Data-Intensive Applications mentioned several places, and wondered if you should read it. I have to admit I bought it years ago, and read parts of it (got side-tracked and researched graph databases further, and read something else). Last Christmas holiday I picked it up again, and this time I finished it. It covers many topics, ranging from how databases are designed, to how we can design good stream processing systems. Should you read it? Continue reading the review to find out!
Read more..This time we will look at features in Kotlin that are often overlooked in walkthroughs or other places, but are still cool and can be useful! Some are features some of us might know of, but often forget exist. Others are features we forget exist until we see them mentioned, probably because we don't use them as often (or very rarely). Hopefully you will see at least one feature you have forgotten existed!
Read more..Maybe you have seen Emacs articles around the internet, and wondered "why do people love this editor so much?". I can't answer for everyone, but in this post I will give you some of my reasons. Emacs is almost a way of life for me, and I have it open and use it every day. To make this article short and sweet, I will limit it to 5 reasons. Maybe you will end up starting your Emacs journey?
Read more..Reactive is a buzzword thrown around a lot, but what is it really? At first glance, reactive doesn't seem to be anything special. Asynchronous stream processing seems nice, but is that all? Fortunately, the answer is no! Reactive also includes nonblocking IO, which makes resource utilization better. If you have never heard any of these terms before, it may just seem like a word-soup. Don't worry! We will explain the terms below, so you can understand the big whoop with reactive. Getting an overview of the concepts will be the main goal here, but I will provide links for further reading. Some oversimplification may happen, but I hope that it will help you understand concepts without being boggled in buzzwords and lots of pre-requisite knowledge.
Read more..There are many cool tools for the command line out there! I always look out for new ones that can make me more productive, or maybe ones that just spice up my command line a bit. In this post I will share some tools like this with you, and also share some I'm not really super familiar with, but trying out. If you also love trying new command line tools, then this post is probably for you!
Read more..Counting down the days to Christmas is a fun tradition, done with everything from chocolate advent calendars, TV shows to now coding themed Advent calendars! Holidays can mean much more than reading coding books, or getting/giving computer/technology inspired presents now!
Read more..December is soon here, and with it some of us will have holidays. Why not use some time to try weird and fun things in Emacs? Today I will share with you exactly that! There are games, weird modes, screensavers and more! A few games are actually built into Emacs, if you didn't know. And if you want more games inside Emacs, there are some more out there! Continue reading to learn more, and see other useless things you can do with Emacs!
Read more..Sometimes I enjoy reading a biography about a person I find interesting. There is a lot of inspiration to be had from getting insight into the life of high achievers and visionaries. To me there is also the factor of hearing about the early days of computing with the big mainframes, PDP-10 machines, teletypes, visions of what computers would do in the future, and so on. Seeing where we come from can lead us to new ideas about the future. It is also fun trying to see some patterns in the lives of the people the biographies are about. Some commonalities are always learning new things, do new things to get new impulses, passion for what you do, and going outside the norm. NONE of the people in this article worked a standard 9-5 job for the entirety if their lives (some of them never did), and lived in very different way than the regular person does. Controlling your own destiny and starting your own businesses is probably something many of us dream of doing.
Read more..Today I'm going to do something slightly different, focus on one Emacs package at a time! I want to highlight one of my most used packages; Try. At first glance, Try might seem like a weird package to feature. It let's you try an Emacs package. So what? Doesn't just using M-x package-install or use-package in a scratch buffer let me do the same? Not exactly. Those will also download the files to your .emacs/elpa (or similar directory). Then they are persistent between runs, and you have by definition installed them, not tried them. What Try does different is download to a temporary directory, which is deleted once you exit your current Emacs session. That means it won't slow down your Emacs startup, or take up your "valuable" disk space.
Read more..There are many small tricks that can make your Emacs experience better, and in this article I will show you some of my favorites. To make it short and easy for beginners to experiment with, I will keep them simple. Don't let that fool you, these can really improve you experience (even if you have been using Emacs for a while!). Maybe you will find something that you really enjoy here?
Read more..Did you know that you can use Java and Kotlin for scripting? In this post I will introduce you to my favorite ways of doing scripting on the Java Virtual Machine (JVM), which is JBang and KScript. Some people may not enjoy Java projects as much because of all the verbosity (big project structures), so small scripts may make the languages more approachable and less intimidating. Being able to easily handle all external dependencies in the same file (no extra configuration files!) is also a big bonus. Lately I've heard from several people that they did not know about JBang, so I guess that might be true for KScript as well. Hope this post will provide you with some information on them, as well as good links to get started!
Read more..Some people, including myself, grudgingly used IntellIJ IDEA for Kotlin programming for a long time, maybe because we didn't think the Emacs tooling was up to speed. Well, it is, and we can finally use the best editor of all time (Emacs) to do Kotlin programming! Today I'm going to show you basic setup (and share some links), so you can also use Emacs for Kotlin programming! I made the switch this summer (reasons for waiting so long below), will you make the switch too?
Read more..Today JavaScript (JS) has evolved a lot and has many modern features we associate with other programming languages (according to the ECMAScript standards), like classes. In the beginning these features were transpiled (like compilation, but translated from one language to another) to classic JavaScript (due to browsers and other engines not having implemented the features). If you were like me, you wondered how this was done at the time (and you may even have had some ideas). Or you may be in the other camp, and think that it's not always necessary to use big transpilers and heavy features to solve simple problems. While JavaScript has evolved, I think there is a lot of fun and advantages to knowing more about the core language that started it all! JavaScript: The Good Parts by Douglas Crockford is the best book to learn about all that!
Read more..In this article I will show you two types of easy customizations you can do with your Spring Boot applications. One of them can be very useful, and one is mostly cosmetic for the benefit of those seeing the server logs. This article is language agnostic, so it can be used for all programming languages you might make Spring Boot applications in (probably Java or Kotlin).
Read more..ServiceLoader (aka Service Provider) is a feature that has been in Java since Java 1.3, but many people still don't know about it. The reason I think most people don't know about it, is that they use various dependency injection frameworks for the same kinds of problems. ServiceLoader can supplement these kinds of solutions, or be used as a replacement, you decide based upon the problem you are solving. Think of ServiceLoader as another tool in your toolbox. Some people like to think of it as a built in very simplistic dependency injection system.
Read more..Todays post will be a bit shorter and different. We all need some inspiration sometimes, and I think there are few things more inspiring than the tricks used in older video games as well as the hardware that made them possible. From the clever BSP (Binary Space Partitioning) tree rendering algorithm in Doom, to the clever \(\frac{1}{\sqrt(x)}\) algorithm in Quake 3, there are tons of interesting tricks used in games out there! (know I only mentioned id Software now, but what can I say, I LOVE them! Also I wouldn't want to spoil what is coming from TT below). Sometimes I just enjoy watching some videos about these clever tricks, and also how the hardware worked on these systems. In this post I will share with you two of my favorite Youtubers, and also some notable interesting videos from them. Maybe you will be inspired too, and maybe you will also learn something!
Read more..Today we are going to look at some small tricks that will make you more effective when using Maven! Some of this will be simple, and some of them you might not have heard about. I've done some presentations at work and similar earlier about this, and there is almost always something new to people. The topics range from basic usage and flags, to ways of handling your dependencies. One or two might be a bit enterprise specific, but most can be useful no matter if you program inside a company or not. (no secret that I love those of you who, like myself, LOVE computers with a burning passion! <3 )
Read more..Today we are going to look at fun packages for Emacs that makes me happy! These packages may not be the most useful, but add the extra flare to make your editor feel more like home. This might not come as a shock, but I'm a big fan of individualized solutions instead of the classical "one size fits all" approach like many big IDEs have (e.g, IntelliJ IDEA, Eclipse). Customizing, even if it's just smaller things, can make your experience more personal and make you more productive. I feel almost naked when I try to use some other editor than Emacs, as nothing even come close. Emacs can be configured the way I want it, in other words: a setup that works for ME, and not necessarily someone else. (My love for individualism may not come as a shock after my longer article on Ayn Rand).
Read more..Mac OS X is probably one of my favorite operating systems these days, even though it has some major drawbacks (weird security for applications not from the App Store comes to mind). In this post I will share some of the software that I really can't live without. These picks will be general purpose, so nothing like Final Cut Pro, Logic Pro or similar special purpose software (though it might relate slightly to programming in some peoples view, even if that is not my view). Whether you are a new user of OS X, or a more advanced user, maybe you will get some tips to make your experience better?
Read more..In this article I will introduce you to the command line, or bash equivalent ones at least. These are the command lines you find in operating systems such as GNU/Linux, Mac OS X, BSD-family, and more. On Windows, you can use the Linux Subsystem, Cygwin, Git Bash or something else as well. There are many options here! On some systems these applications can be found as Terminal, Terminal Emulator, Command Line, or something similar. This guide is structured with different headings, each covering different topics related to the command line. In the info-boxes, you will find extra information that might help you with terminology or other things that will help you. Most of this information is optional, so don't be scared if there is something you don't completely understand the first time you read it. Let's get started on your journey to learn the command line!
Read more..Sometimes we all need a break from computers, no matter how passionate we are about it. This is true for other hobbies as well, as well as our work. All of us (probably) need to relax, dream and feel refreshed and inspired to continue our other efforts. For me, one of my favorite ways to unwind is to read books (which you can probably tell from many of my earlier articles) or listen to audio books. In this article I will recommend three science fiction books you can read (or listen to) to relax, and maybe to feel inspired.
Read more..You may have heard many negative things about Ayn Rand, or many positives, depending on where you have heard about her. She is a well known author and philosopher, whose points are often understood (both by people traditionally on the left, as well as so-called "conservatives"). There are many misconceptions as well out there, and doing your own research will help with that. Whether you will end up thinking Ayn Rand is the best philosopher or not, is not my goal here. What I want is for you to know about her works that you should read, what they are about, as well as having resources to understand her philosophy better. If not, I hope you may read some of her fiction books and enjoy the spectacle!
Read more..A giant in the field of affordable computing has passed away. Thursday the 16th of September, it became known that Clive Sinclair of ZX Spectrum fame had died after a longer period of illness. His inventions stretches far and wide, with watches, home computers, electric vehicles and other contributions to consumer electronics.
Read more..This year I've been improving my Emacs configuration, which got me thinking of which packages are actually worth keeping. There are several that are language-agnostic, so you can use them no matter what you edit in Emacs. These are the ones I will focus on here. To make it simple and not too long, I will focus on four packages you should add to your config :) (there are off course many more interesting ones!).
Read more..A while ago, I made an article on cool command line tools. Maybe you got inspired to try some new ones? Are you as in love with the command line as I am? Time for another round of "cool command line tools"! Feel free to share your favorites in the comments! :)
Read more..Summer is a great time to read some books and releax! A lot of us have vacation time or similar where we can enjoy our time in the sun, or inside on a rainy day. So without further ado, today I will give you ideas for some fun books to read this summer!
Read more..New year, new programming languages to learn! It is overwhelming though… With so many languages to choose from, it can be hard to select what to learn. Sometimes it is easy, we might want to accomplish certain tasks. Other times you may want to learn to think in new ways, as a fun challenge.
Read more..Don't know about you, but using the mouse all the time to browse the web has always really bothered me. The mouse has its uses, but I think it is overused on computers in this day and age. Web browsing turns very slow and annoying when using it for everything. Having my fingers leave the keyboard while doing research online annoys me. I feel like I can do things more effectively and faster with the keyboard than I can ever do with a mouse.
Read more..This probably seems like common sense to a lot of you, but it is quite easy to forget. I try to do it in my own code, but when reviewing other peoples code I forget to think about it 90 % of the time! Sometimes you don't rethrow the exception because the cause seems clear cut in all scenarios. Some of the time, we simply throw a new exception with an error code or message, and think that if we get that exception later, we will know what caused it. That may not always be the case.
Read more..In this article I will share some books that helped me most in the beginning of my professional career. Even though I have programmed in my spare time for many years before getting a job, I think that programming in an enterprise is way different! Learning to cooperate with more people, reviewing code, seeing patterns in code, bigger codebases. tools and technologies that you may not use on your own, and so on! The books I will share are mostly technology agnostic, as I think patterns help way more than learning specific libraries, frameworks and tools. Learning about design patterns, how to write clean code, and how to write maintainable code are far more useful than learning many different tools and libraries. Why? Because when you learn patterns, you will see these patterns in many new libraries and tools you learn, and therefore learn them faster! I will also say that learning to think differently can help a lot, because it makes it easier for you to learn new things in the future.
Read more..There are a lot of cool CLIs in Unix and GNU/Linux based operating systems to check out. Here we will look at some very useful ones, and one very fun one at the end. None of them will be standard tools that is already installed on your Mac OS X or GNU/Linux setup by default! This article would be very boring if I just listed some tools, so I include some screenshots :)
Read more..Domain Specific Languages (DSLs) can be used to solve a lot of different problems (more on that shortly!). In this article we will take a look at how we can create DSLs in a very simple way that make for highly readable and expressive code. I will not go through general DSL creation, only the building blocks unique to Kotlin. At the end we will look at an example from an open source testing library (Spek).
Read more..And so it begins! This is the first post of my new blog. I thought this first post could be about my goals, as well as the topics I intend to write about. Just so you know what to expect, given that you read this before I have managed write more…
Read more..