diff --git a/_posts/2020-08-08-first_post.html b/_posts/2020-08-08-first_post.html index d39073b..66eaaf4 100644 --- a/_posts/2020-08-08-first_post.html +++ b/_posts/2020-08-08-first_post.html @@ -8,9 +8,9 @@ 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…
-I had several goals when creating this blog, but the most important one was to have a place where I could write about the things that I find interesting. As you might have guessed, this is mostly related to computers. I LOVE computers! Not just programming, but the wonders that computers can do, and the achievement of the great individuals who have made it possible.
@@ -28,9 +28,9 @@I plan to mostly write about computer related topics, with a dash of math and book recommendations on top (though mostly relating to computers or math…). Some other topics may also come up from time to time.
@@ -38,9 +38,9 @@What will the future show? Who knows. The only answer will be in the undiscovered country, the future!
diff --git a/_posts/2020-08-27-kotlin_dsl.html b/_posts/2020-08-27-kotlin_dsl.html index 1dd9407..08a6de1 100644 --- a/_posts/2020-08-27-kotlin_dsl.html +++ b/_posts/2020-08-27-kotlin_dsl.html @@ -12,9 +12,9 @@ -DSLs are languages created to solve problems within a particular domain. Popular domains include testing, website creation, database operations (JOOQ comes to mind).
@@ -38,9 +38,9 @@One very cool feature of Kotlin is that if the last argument of a function is lambda function, then you can write it in a special syntax. Let's make a very simple function to illustrate this concept:
@@ -120,9 +120,9 @@(I know the official term is Function with receivers, but before knowing that term, I coined it Functions in the scope of a class during one of my early talks on Kotlin. I have chosen to keep this name :) )
@@ -185,9 +185,9 @@(examples are used for illustrative purposes only!!! All rights to the code are owned by the Spek Framework contributor according to their license: Copyright (c) 2012-2016, Hadi Hariri and Contributors @@ -285,9 +285,9 @@
If this was your first time reading about DSLs, then you will probably feel a little inspired. As well as checking out the languages and tools mentioned, I think you should read Martin Fowlers article on Domain Specific Languages. He also have a book about this topic, but sadly I have not yet read it.
diff --git a/_posts/2020-08-30-cool_linux_clis.html b/_posts/2020-08-30-cool_linux_clis.html index 2a37f3d..6c934c1 100644 --- a/_posts/2020-08-30-cool_linux_clis.html +++ b/_posts/2020-08-30-cool_linux_clis.html @@ -8,9 +8,9 @@ -You have probably used cat, which can be a useful tool for viewing the content of files (but mostly for use in piping them to other programs!). Think of bat as a sort of cat, less and syntax highlighter hybrid. If that sounds awesome, it is because it is! You may wonder how it is a hybrid between cat and less? Is it like cat or is it like less?!? It can't be both, can it? Yes, it can. If the file is too big for your screen (terminal window), it will work more like less and let you navigate the contents. If it is just big enough, the content will just be printed to your terminal. Let's see some screenshots!
@@ -44,9 +44,9 @@JSON and YAML are very common dataformats these days. If you use a REST API with curl, you might want to parse the data to view the parts you are interested in. If you use something like Spring or Kubernetes, you might want to look at parts of your YAML properties. These types of problems can easily be solved by jq (JSON) and yq (yaml). Viewing in this sense can also mean processing the data to formats you want them in, so they are more than simple viewers! While they have a different set of commands, I think they are similar enough to be mentioned in the same section.
@@ -62,9 +62,9 @@Do you miss file managers like Norton Commander from the DOS era? Then you might be pleased to know that Midnight Commander exists! It works exactly the same as Norton Commander used to, but with some additional features. Not my most used program, but comes in handy sometimes.
@@ -76,9 +76,9 @@Let's finish with a less useful, but fun command line tool. lolcat is probably not something you will have much use for, but it will spice up your terminal with rainbow colors. You can use it like you use cat, but I think the most fun use of it is to pipe some fun input to it.
diff --git a/_posts/2020-09-07-career_boosting_books.html b/_posts/2020-09-07-career_boosting_books.html index 5208956..7ea1529 100644 --- a/_posts/2020-09-07-career_boosting_books.html +++ b/_posts/2020-09-07-career_boosting_books.html @@ -30,13 +30,13 @@ Table of contents:Most of you have probably heard this book mentioned before, as it has become one of those books that everyone mentions. The author has also become quite a legend in the software development world with his books, courses and long career.
@@ -56,9 +56,9 @@With a title like "Clean Code", you know what you are going to get! In this book, you are presented with guidelines for how to write beautiful expressive code that is easy to maintain. Ugly code is hard to understand, while clean code will be easier to understand and maintain. While the book is focused on Java, I think the tips are useful for almost any language.
@@ -70,9 +70,9 @@When you write code that is easier to read, it will be easier for others to read. As well as yourself the next time you revisit your older code! That way you can work more effective with other people, and we can write code faster and enjoy working with it.
@@ -86,14 +86,14 @@I know this book has a long name and many authors (known as the Gang of Four), but don't be scared! While some of the patterns in this book might be outdated by now, a lot of them are still useful today. Many of the patterns might not be something you write yourself from scratch, but you will find them in many libraries and code generators that you use. Notable examples include Lombok (Builder, UtilityClass for static factory method, and more), Spring Framework (Singleton, Factory, Proxy etc.) and the SDK for Android development (Adapter and more).
@@ -103,9 +103,9 @@A collection of many design patterns, which are repeatable solutions to commonly occurring problems, to assist you while designing new software. These come in several categories: creational (creating objects), structural (e.g, how objects are accessed and used) and behavioral (e.g, interactions between objects). While some of them are not so relevant anymore, it is still a useful to see how different problems can be solved (e.g, object creation and delegation). Many of the patterns are still found in modern software, and have clearly influenced their design (see introduction for examples). I would say skip chapter one, as it is clearly dated. If you think the entire book is dated and hard to read, I have heard that a lot of people enjoy the more modern Head First Design Patterns book (not read it myself though).
@@ -113,9 +113,9 @@You will recognize patterns in libraries you learn, frameworks you use and so on. More importantly you will know of some solutions to commonly occurring problems in object oriented software development, so you can use the design patterns yourself if you encounter problems that are similar in nature.
@@ -125,14 +125,14 @@Together with the next entry, Effective Java is one of the more practical books on the list. It shows you in essence how to write good Java code, and code you should avoid writing. Another selling point is that it is written by one of the original authors of the Java standard library; Joshua Bloch himself! If you need a book with code examples and practical tips, I highly recommend this one!
@@ -141,18 +141,18 @@Effective/recommended ways of working with the Java programming language. This includes both effective for readability and for performance. In general the book contains many tips and tricks for working with Javas library and many features. It will make you a better Java programmer, and teach you about parts of the Java Virtual Machine (JVM) that you probably did not know about.
If you don't ever use Java (or another JVM language), it won't… But if you do, it will give you value on what GOOD Java code actually is. Should you always use lambdas and streams? (NO!!!). How should serialization be used? This is probably one of the Java books I have had the most use for.
@@ -161,14 +161,14 @@Update 2022: Seems like the newest edition for sale uses JavaScript instead of Scheme. The MIT website still have the second edition that uses Scheme. Not read the newest JavaScript version (put it in my reading list for now), but the original is fantastic! Might be weird to recommend a very non-Java book on this list, but it teaches you different ways of thinking which are useful no matter what language you end up working in (probably except very low level languages).
@@ -187,9 +187,9 @@In essence: Thinking differently and learning a new language. In this book you will learn to think in a more functional way, learn to think in different concepts, implement various algorithms and more! One very peculiar highlight is Church Numerals (only a few exercises, but still fun!). Church Numerals is basically treating numbers as functions instead of plain numbers, so they are in a way a method of encoding numbers (and you can indeed convert them to regular numbers).
@@ -200,9 +200,9 @@If you use any higher level (C level or above) language, and especially those with higher-order functions (functions that return functions or take functions as arguments), then the topics in this book will prove very useful! (even better if you use functional languages like Haskell, Clojure, Elm or something else!). In Java you have streams, in which you can directly use much of what you learn in this book. The most important part is learning to think differently, so you know of different ways to solve problems.
@@ -213,14 +213,14 @@So you have written your code, and everything has gone well during testing. Now we are ready for production! Wait, are we really? Release It! is a book about what you should make sure of before doing to production, as well as common pitfalls.
@@ -229,18 +229,18 @@The point of developing software is that is some day will be in production (if it is not a library or framework, then it will be part of other software in production). With this book you can learn some things to check for in your software, how to find errors earlier and what to do when errors happen. Topics includes timeouts, firewall issues, antipatterns for security and more. You will also be introduced to some testing strategies like chaos engineering. As well as stories from the author that are interesting and emphasize the importance of the lessons learned.
Going from writing software to getting it in production is an important step. How do you know that your software is easy to maintain? And what do you do if you get problems? I think this book has helped me handle all of these questions better. No projects will be perfect, but you can at least know of some common topics to think about for each project.
@@ -249,14 +249,14 @@I would have gotten a lot of complaints from now until eternity if I did not include this title! It is a classic within the niche of software development books, and for good reason. It contains a mix of practical skills you should learn, as well as how you should think about many different topics. It even includes some tips on what you should do to improve your skills. The older edition is called The Pragmatic Programmer: From Journeyman to Master, and the newer 20th anniversary edition is called The Pragmatic Programmer: your journey to mastery. I would probably recommend that you choose the newer edition, but I'm mentioning the older one as that is the one I have read (I have sadly not read the newest edition).
@@ -266,13 +266,13 @@Clean Architecture is mainly about software architecture and structure, with the angle on making it easy to work with and maintainable. While I think the architecture presented is interesting, I think the best parts of this book is the summary of the SOLID principles and of general architecture concepts. SOLID principles (which could probably be the topic of their own article) are useful to know for structuring object oriented software, as well as understanding how different libraries and frameworks are structured.
diff --git a/_posts/2020-10-04-java_rethrow_log_exceptions.html b/_posts/2020-10-04-java_rethrow_log_exceptions.html index d721e78..db1b42b 100644 --- a/_posts/2020-10-04-java_rethrow_log_exceptions.html +++ b/_posts/2020-10-04-java_rethrow_log_exceptions.html @@ -14,9 +14,9 @@ -Rethrow/wrap in this case means to throw a new exception with the original as the cause (in other words: passing it to the constructor of our new exception). To see why this is useful, let's take a look at an example. The example might seem stupid, and I somewhat agree as I usually prefer to write code in a more functional way. That being said, it was picked out because it can throw a few different exceptions. Without further ado, let's take a look at the code:
@@ -86,9 +86,9 @@Sometimes you may choose to log it instead of rethrowing. I prefer that approach if I don't want to throw a new exception, but just return a default value or similar. Your preference may be different. Why log the exception in this case, you may ask? We may want to know in our logs for debugging potential issues. What if the default value is returned each time? Then we might want to investigate and see what caused our original operation to fail (external endpoint down? Issue like in the previous section? Something else?).
diff --git a/_posts/2020-10-20-browser-extension-recommendation.html b/_posts/2020-10-20-browser-extension-recommendation.html index e2bb77e..b10680a 100644 --- a/_posts/2020-10-20-browser-extension-recommendation.html +++ b/_posts/2020-10-20-browser-extension-recommendation.html @@ -18,9 +18,9 @@ -Vimium is an extension for Chromium/Google Chrome, and has also been implemented for Firefox. The implementation is entirely JavaScript (with HTML and CSS), like (almost) all other browser extenions, and loads on browser startup. If you have many startup tabs, then Vimium may be late to start, so you may have to refresh the page to get Vimium started.
@@ -28,9 +28,9 @@I don't often say that a browser extension has changed my life, but this one has! Surfing the web with only the keyboard is really comfortable! And having it work in harmony with EXWM makes it really great to use.
@@ -66,9 +66,9 @@
Surprisingly, I don't really need much special setup with this. The only thing I missed in the beginning is that some websites have their own commands (e.g, YouTube or BitBucket). Vimium picks these up by default, so one command I wanted was to be able to send the keyboard commands to the website. Usually these website commands are single characters, so all I needed was a key mapping to send the next command to the website: map e passNextKey
. If I type "e" and then "f", then "f" will be sent to the website (e.g, to enable fullscreen on YouTube). That is all I need :)
So how would I summarize the key points of what makes Vimium the best keyboard-driven browsing experience (for me)? I would summarize it in these three points:
diff --git a/_posts/2021-03-23-programminglanguages2021.html b/_posts/2021-03-23-programminglanguages2021.html index d488471..71972f0 100644 --- a/_posts/2021-03-23-programminglanguages2021.html +++ b/_posts/2021-03-23-programminglanguages2021.html @@ -14,9 +14,9 @@ -Kotlin is probably a language no one will be shocked to see on this list. The language is both used a lot in the industry these days (as well as the official language for Android development), as well as also being fun to program in! While Java is known to be very verbose and rigid in ways to do things, Kotlin is not! Kotlin doesn't force you to be object oriented, or functional (as in functional programming), you can do things the way you want (within reason). Mix and match, or code the way you are used to from Java, the choice is yours!
@@ -29,9 +29,9 @@
Scheme is probably my favorite language if we just think of the syntax and feeling you get when coding in it. You have probably heard about the Lisp-family, which is one of the oldest and most iconic families of programming languages. S-expressions (aka sexps, symbolic expressions etc.) are a central concept of the syntax, which is used for both data and code. Think of it in over-simplified terms as a way to write code using polish notation (operator at the beginning like this (+ x y)
instead of the classical x + y
) and doing it with parenthesis in a way that make tree-structures. Let's do an example: (+ (* 2 10) (- 10 5))
which evaluates to 25
.
Learning to solve problems in different ways, is in my view one of the most important parts of being a good programmer. When we learn to solve a problem in a completely different ways, it improves our understanding of the problem, and possibly also related problems. This is where Prolog comes in. If you are not familiar with logic programming, the term might just sound like what we are used to. Isn't all programming logical? Prolog is in the family of logic programming, where we think of problems in a different way. Instead of describing a recipe for steps we want to do, we describe rules of how our "logical world" work, and query the rules. In other words, Prolog is declarative, we specify what we want not the steps to accomplish it.
@@ -59,9 +59,9 @@If you know all the languages I have listed above (or don't find them interesting), then you will have to find something else. Maybe Common Lisp will interest you? Or Haskell? Maybe scripting with Rexx is more your thing? Several of these might be topics for future blog posts. What do I want to look into in the near future? My plan as of now is to look more into Pony (ponylang), While the language has a weird name, it also have some interesting properties relating to concurrency. Features of the language includes compile-time protection against data-races (two threads/processes accessing the same data at the same time) using its type-system, the actor-model being a central concept and more. Maybe I will feel inspired to write an article about it in the future?
diff --git a/_posts/2021-07-28-summer_books_2021.html b/_posts/2021-07-28-summer_books_2021.html index 8f52e52..f383d7d 100644 --- a/_posts/2021-07-28-summer_books_2021.html +++ b/_posts/2021-07-28-summer_books_2021.html @@ -13,9 +13,9 @@ -Update 2022: Nevermoor and its sequels are amazing! Can't wait for book 4 in October! Well worth the read. The mystery of the wundersmith is unraveled more and more in unexpected ways throughout the series :) Considering including a fiction book above, but decided to postpone that to a future article :) If you still really want one from me, then this will do… I'm currently listening to the audiobook of Nevermoor: The Trials of Morrigan Crow by Jessica Townsend. It's a childrens fantasy book, but is still a fun listen! (Gemma Whelan is a great reader/performer!). It is about a cursed child called Morrigan Crow who finds herself caught up in an magical adventure! (don't want to spoil too much, this isn't a book review after all ;) ). diff --git a/_posts/2021-08-04-more_cli_tools.html b/_posts/2021-08-04-more_cli_tools.html index acae44b..dd1cc88 100644 --- a/_posts/2021-08-04-more_cli_tools.html +++ b/_posts/2021-08-04-more_cli_tools.html @@ -10,9 +10,9 @@
-
Working with github a lot? Miss doing more from the command line instead of visiting the website? (actions, issues etc.). Then gh
is the tool for you! You can clone your repos, list issues, see workflows (Github Actions) and more. My favorite feature is to be able to see Actions runs directly in my terminal, which I find way more easy on the eyes than the web browser…
Often misspell commands? You are not alone. There is actually a command line application to help you, with the fitting name fuck
! Wrote a command wrong? Just type fuck
, and it will be corrected and run. The first few times you run it, you will be prompted for suggestions (mostly correct the first time). This is probably just to set up rules based on your usage. There are even some default correction rules. Install it, type a command wrong (e.g, got commit
), type fuck
, and it will run the correctly spelled one (git commit
).
Some people might feel like this is mundane and boring, but here goes… tree
is included in many GNU/Linux distros, but not all. I used to believe that this is a tool everybody use, but I keep getting surprised that people don't know about it. So what is tree
? Simply put, it prints the directory structure (including files) to the terminal (in pure text off course). That's it! You can pipe it, use it directly or whatever you want to do with it! There are several options, including filesizes, levels down, and so on. Many directories are big, and for that I sometimes pipe the output with less
like so tree | less
.
Helm (no, not that helm, Emacs helm) improves navigation in Emacs tremendously! From navigating files better (see screenshot above, this is just C-x C-f), a better menu to navigate open buffers, better M-x execute command menus, searching and more! If you want more functionality, there are tons of extensions, with one of my personal favorites being helm-flyspell (to correct spelling mistakes). There are many others like helm-google, helm-swoop and more!
@@ -30,9 +30,9 @@Most people use git these days. Not only is it great for code, it is great for any work consisting of text (not binary encoded formats though…). Magit makes using git even greater! It gives nice navigatable menus inside Emacs for using git, nice keyboard shortcuts, and more! While using git with the command line is great, there is NOTHING on this planet comparable to the sheer beauty of being able to do so inside Emacs! The git status equivalent, where I can see changes by navigating with the arrow keys and using the TAB key, currently looks like this in my .emacs repo:
@@ -47,9 +47,9 @@org-mode is included in Emacs, but you can download a newer version to get more up to date features and fixes. At its core, org-mode is about editing text. Including source code, verbatim snippets and more is as easy as ever. You can even use org-mode for spreadsheets (with ELisp formulas!), making it a good Excel killer (at least in my view)! You can even use org-agenda to plan your day with meetings and other events.
@@ -67,9 +67,9 @@Sometimes feel that the undo/redo-functionality in your editor is limited? That you sometimes want a tree instead of a straight line? undo-tree provides exactly that! This may seem abstract, and you need to try it to fully understand why you need it. You can go back and forth, continue on a trail you did earlier, find out that it was the wrong trail, navigate to a new place in your undo-history, continue from there, go back again, and so on! Might seem confusing, so I recommend trying it out for yourself. There is only so much a screenshot can tell you here. That being said, it is one of my favorite Emacs packages! :)
@@ -79,9 +79,9 @@As I said in the introduction, there are many more packages out there. Do you have any favorites? Feel free to share in the comments! :)
diff --git a/_posts/2021-09-22-essential_ayn_rand.html b/_posts/2021-09-22-essential_ayn_rand.html index b504f08..65f8b65 100644 --- a/_posts/2021-09-22-essential_ayn_rand.html +++ b/_posts/2021-09-22-essential_ayn_rand.html @@ -40,9 +40,9 @@ -Who is John Galt? This is the essential question in all of the book. Often mentioned in times of despair, and for questions that people think it's meaningless to ask (because they are in a way impossible to answer). The book follows several characters in a near future where government creates more and more irrational rules and regulations, all posed as acts for the common good, but lobbied through by cronies (people who use government favors to gain special privileges). Dagny Taggart is our main heroine, and we see her fighting to keep her railroad company alive while all of the productive people around her slowly disappear. "What is wrong with the world?". Why ask useless questions? How deep is the ocean? How high is the sky? Who is John Galt?
@@ -65,9 +65,9 @@Howard Roark is a young idealistic architect who has his own vision, but is forced to choose between it or adapting to what others think is great. At first glance, you may think he sounds like a lunatic, but that is not true. Indeed, he is a visionary. No one who has innovated has ever done what everybody else is already doing. This book deals with themes such as being true to your own ideals, reason, public perception and deception (through media), romantic love, and hate for people being different. We see Roark struggling through life as he unapologetically follow through on his own vision, trying to get the buildings he want to build into reality. He enjoys doing it immensely, and with great passion. From the book we have this exchange between him and the dean of the architect school he is expelled from:
@@ -106,9 +106,9 @@The two previous books on this list were works of fiction, but this one is different. This book contains a collection of essays on Objectivist ethics. Why do I like this book so much? This book provides answer to a lot of questions relating to morality (i.e, the concept of ethical selfishness), and the introduction of capitalism as the only moral system (and why).
@@ -120,9 +120,9 @@Ayn Rand is both an interesting character, as well as having written great works. If you want to learn more about her as a person (she is far from perfect, but no one is!), then I suggest reading the biography called Goddess of the Market: Ayn Rand and the American Right.
diff --git a/_posts/2021-09-26-scifi_books_to_unwind.html b/_posts/2021-09-26-scifi_books_to_unwind.html index 6d5fed1..5cf8da9 100644 --- a/_posts/2021-09-26-scifi_books_to_unwind.html +++ b/_posts/2021-09-26-scifi_books_to_unwind.html @@ -19,9 +19,9 @@ -diff --git a/_posts/2021-10-02-no_nonsense_command_line.html b/_posts/2021-10-02-no_nonsense_command_line.html index 663c149..76802d0 100644 --- a/_posts/2021-10-02-no_nonsense_command_line.html +++ b/_posts/2021-10-02-no_nonsense_command_line.html @@ -10,9 +10,9 @@ -
The only thing you need to follow this guide is to have a terminal/command line on your system, which is in the Bash-family of command lines. That's it! This does NOT include Windows CMD or Powershell, as these are different beasts (CMD have more in common with MS DOS than Bash-based command lines). All standard terminals for Linux distributions and Mac OS X will work, as well as the previously defined options for Windows (Linux Subsystem, Cygwin, Git Bash).
@@ -35,9 +35,9 @@There are many reasons to learn the command line! Some of them include:
@@ -52,9 +52,9 @@
So you have finally come this far? You are ready to type in your first commands and experience the wonders of the command line for the first(ish) time? Let's start by opening your command line application / terminal emulator, then typing pwd
, which might look something like this (including your prompt):
pwd
was probably a very uninteresting command to start with, but don't worry! Now we begin with some real commands for navigation and looking at your files, before continuing with even more interesting commands as each section progresses!
We are currently in a directory, but how do we see the files in it? This is where the ls
comes in! You might see something like this:
For now, we have been stuck at our starting directory. Let's change that! If we are still in our home folders, we can navigate to our Documents folder (or another folder if your folder structure is different):
@@ -185,9 +185,9 @@
Want to delete a file? The rm command is at your service! Just do rm myfile.txt
and myfile.txt will be removed/deleted. You can use complete paths (like Documents/Budgets/2019/myfile.txt
) as well as files in the same folder here. If you want to delete multiple files, you can add them after your first. rm myfirstfile.txt myotherfile.txt yetanother.txt
(or more files if you want to)
Let's say you want to delete a directory with no files in it? There is a command for that as well! rmdir Documents
will delete your Documents directory if it's empty. (see the previous info-box on rm -rf
for deleting non-empty directories and some dangers for beginners relating to this command).
Just like rmdir deletes an empty directory, mkdir creates one! mkdir Documents
will create a directory called documents.
Want to copy a file to another destination? The command is simple; cp followed by the full path of the file you want to copy (either a filename or a path like Documents/Budgets/2019/mybudget.txt
) and the destination (either just a filename or a complete new path). Example:
So far we have navigated around, deleted files, copied and so on, but we have never really viewed our file contents outside a text editor. In this section we will do exactly that!
The simplest way to view a file is the cat command. cat simply prints the content of the file like this:
@@ -292,9 +292,9 @@A slightly more advanced way of viewing files is to use the command called less. less let's us navigate our file and view it as well. For one of my files (my default layout for this blog) it looks like this:
@@ -313,9 +313,9 @@Let us quickly introduce echo to make our examples more clear. echo simply prints its input:
@@ -341,17 +341,17 @@Sometimes you may not know where a file is, or may want to know which line of a file a given text resides.
find can be used for many things, including finding files matching a given name. This is the most common use-case and what we will cover the basics of here. If you are curious about more ways to use find, you can find documentation using the resources in the next section (Finding documentation).
@@ -364,9 +364,9 @@
Let's say we want to search for contents in files instead. The simplest use case can be covered with the command grep -Rn "My Search Text" .
(. for search to begin in the same directory we are in). Then you will get each occurrence listed. Each line will look like this (here I have searched for Clive Sinclair on the local files for this blog):
So far some of the options to the programs above may seem a little bit cryptic. How do people learn about all of them? Well, you rarely need to know all of them, but there are resources to make them easier to handle.
@@ -423,9 +423,9 @@
Covering everything about shell scripting would make this guide way to long, as the topic is worthy of an article in itself. (let me know if you would want one!). There are several good resources to get you started, like ShellScript.sh or the man-page for bash (man bash
).
Now you have gotten started and learned the basics of the command line, and even some shell scripting. What's next? Depending on your skill level and what you want to achieve, there are several options ahead! I can not possibly make an exhaustive list of everything you want to do, but below are some suggestions:
diff --git a/_posts/2021-10-04-macosx_software.html b/_posts/2021-10-04-macosx_software.html index c5a775e..3e8c626 100644 --- a/_posts/2021-10-04-macosx_software.html +++ b/_posts/2021-10-04-macosx_software.html @@ -19,9 +19,9 @@ -
If any software on Mac OS X is truly essential, then this is it! Homebrew is a package manager that has lots of software for us to install. If you are familiar with any package manager in a Linux distribution, or even the package manager to make Windows slightly livable called Chocolatey, then Homebrew will be familiar to you. It is used from the command line to install all sorts of software. Everything from Emacs (see below), wget, Firefox, to FL Studio (music creation software) and more, is available. This is my preferred way to install software, as most of the tools I need is available there (as well as a reasonable way to install software, e.g, brew install lolcat
to install the lolcat package)
The built in command line/terminal in Mac OS X is okay, but lacking in features. iTerm2 gives us more configuration options, like more advanced theming and different profiles with their own settings. In addition, you get tabs, images (also including unicode symbols and smileys), and triggers (trigger certain actions when a certain pattern of text happens). All in all a more modern experience when using a terminal on Mac OS X!
@@ -54,9 +54,9 @@Need to remember your appointments and meetings? Need notifications that are intrusive to really help you remember? Maybe because the notifications already present in your other applications gets hidden? This is exactly the kind of problems In Your Face! solves! It will pop up fullscreen so you can't miss it. You will have to click the ok-button to get rid of it, and will have already shown you which meeting, where it is and more!
@@ -64,9 +64,9 @@This should not be a shock to most people, but is probably a weird pick as it's multi-platform (which is why I put it last). To me Emacs is an essential part of any system I set up. Some people might complain that it's just a text editor for programmers, but that could not be further from the truth. While you will have an easier time if you have technical skills, Emacs can also be used for writing essays and books (as well as blogging, hello!), using org-mode and olivetti. There are packages to solve lots of problems, so why not try Emacs as an MS Excel replacement? Or a file manager? Simple music creation? Testing REST APIs? There are tons more to check out as well! Maybe you want check out the amazing website called Emacs Rocks and be inspired?
@@ -79,9 +79,9 @@Bothered that your Mac sleeps while you do something without touching the keyboard or mouse for a while? (maybe you read something, wait for a process to complete or something else?). One option is off course to increase the time before your Mac sleeps, but if you want to add exceptions to that rule, then Amphetamine will keep your Mac awake while that application is running! Amphetamine can be extremely useful for some kinds of processes (reading newspapers, waiting for compilations or other things etc.), but I don't use it very often (though it is very useful the times I use it). (I realize that the last sentence can seem a little weird if you take it out of context, but this happens when developers give their software fun names :) )
diff --git a/_posts/2021-10-08-emacs_packages_that_make_me_happy.html b/_posts/2021-10-08-emacs_packages_that_make_me_happy.html index 9927708..1d389a2 100644 --- a/_posts/2021-10-08-emacs_packages_that_make_me_happy.html +++ b/_posts/2021-10-08-emacs_packages_that_make_me_happy.html @@ -19,9 +19,9 @@ -This is probably the most useless, but fun package that I use daily. What it does is simple: show emojis in code comments, text (like Org-Mode), and other places you (may) want them. To get started with Emojify you install it based upon the guides on their github repo. The first time you use it, it will download a set of emojis for you (github emojis if I remember correctly, so many flags, smileys, snake, fruits, etc.). If you are the adventurous type, you can even add your own (sadly I have not done this).
@@ -38,9 +38,9 @@This is probably the most useful package in this article, especially when doing web development (CSS or other stylesheets especially!). What it does is show color codes (hexadecimal, literals etc.) highlighted with the color they are describing. How does it look? It looks pretty neat! Let's take an example from the main