Doom Emacs

28.05.2018 02:00

So I found something called Doom Emacs a few days ago. It is kind of like Spacemacs, a Emacs configuration system / setup with VIM keybindings.

The big selling point of doom over Spacemacs is that it loads much faster. For example on my MacBook Pro it loads in 25% of the time with similar setups.

There are multiple reasons for Doom being faster:

  • It is in general much less code, than in Spacemacs.
  • All the code in Doom uses modern methods to load Elisp code.
  • Doom uses a Makefile to install / uninstall and update packages instead of during startup
  • And you can pre-compile most modules with “make compile”.

Now. Spacemacs is much more “complete” all the built in keyboard shortcuts and command have been set up to be very intuitive and it almost always work exactly how you expect. This means that I think Spacemacs is a better place to start, than Doom. But Doom is awesome if you are afraid of configuring yourself.

Doom features a similar module system to the Spacemacs layer system. But I found it much more intuitive to use myself. Doom itself is also much more like standard emacs than Spacemacs when it comes to configuration. You can use much more code exactly how it would be using plain Emacs.

My favourite thing on the develop branch is that you have the doom code in .emacs.d and then you have your “private” module (exactly the same as other modules) located in .doom.d. This is awesome and makes it much easier to keep your settings in sync on multiple branches than with the Spacemacs structure where you have your stuff inside the Spacemacs repo.

On the pens I like

28.05.2018 02:00

Different people like different writing instruments. Some like smooth pens, while others like pens with a little bit more resistance.

I like smooth nibs. The less the friction the better it is.

I do in general also prefer broader nibs. I think they look better on the page. And I just gravitate against writing instruments that feels good to be, and look good one the page. In other words, the more ink on the page the better. Some people like a lot of ink on the page, while others don’t.

When it comes down to ink capacity I have some very strong opinions. I think pens with larger ink capacity always are more useful than those with a lower one. This is because if you write a lot with pens, you either need to have a piston filler, refill them all the time or have a lot of them. Back when I was a full time student, I loved my Lamy 2000. I filled it in the morning and I never – not once – ran out of ink during a single day. The story is another with the Pilot Metropolitan. That one never lasted more than a couple of hours.

If I’m just writing a few lines here or there then I often use my Falcon or VP. But I always go for either my Lamy 2000 or ink up one of my TWSBI Eco’s if I’m going to write a lot. Or if I need a lot of ink capacity away from home and don’t want to bring a bottle of ink.


26.05.2018 02:00

I might be very cynical, but I love how Billions portraits everyone as the bad guys.


26.05.2018 02:00

Hello World

The ArchLinux Wiki

25.05.2018 02:00

There are a few Linux resources out there that is beyond awesome, and shows that there are good parts of the world. Where a community come together and make something amazing. The Arch Linux Wiki is one of them. When I want to find out to do something on Linux, the Arch Wiki always come to the rescue. I use it even when I’m trying to do it on other distros or operating systems.

How to fix C# Auto complete in VS Code and Emacs.

24.05.2018 02:00

There are times when the auto complete for C# and .NET Core stops working in editors that use the OmniServer auto complete engine. For me it is Emacs and Visual Studio Code.

Visual Studio Code will give you a hint when it starts, while Emacs will just fail. The problem is that they can’t locate the “dotnet” command. The place you need to start is that you start a Terminal with your shell of choice and make sure that it works there. If it does type “which dotnet” and copy the output.

Then you type sh and enter. Test it there, this is the place where it should fail. There are two ways you can fix it, either by adding the folder where the dotnet binary is located in to the path, or if you are lazy like me by doing something like “ln -s /usr/local/share/dotnet/dotnet /usr/local/bin/dotnet”.

And that should do the trick. As long as you can run the command “dotnet” in sh it should be available anywhere.


23.05.2018 02:00

New camera bag

OmniFocus vs Things

23.05.2018 02:00

The big GTD question on a Mac is Things or OmniFocus?

They are both very good, and I think which one is the right for you depends a lot of your personal preferences. It was a time in the middle where it was a very easy pick because Things used a shit load of time to get their sync act together.

Things is a little bit easier to get started with, while OmniFocus is a power tool. I have used both, multiple times over the years.

Things look a lot better. But it is a little bit too far in the eye candy over usability in some areas. It does for example drive me nuts that it takes noticeable longer to add a task to Things versus OF.

OmniFocus on the other side is a little bit more nerdy, and it takes a while to get into it. But when you do, it is a power users dream. It is awesome.

Python rant.

22.05.2018 02:00

Python is solid language, with a lot of good libraries, framework and a lot of great documentation. This makes it an obvious choice for a number of things, everything from command line programs to Web Development because of stuff like Flask, Django and Jinja.

But there are a number of problems with the language that makes it a poor fit for larger things, even with the addition of type hints. Because Python is a language where developer productivity is very important. But you have almost no validation of the code before loading it into the runtime. Like types and pre flight checks. This means that you need to write way more unit and integration tests than you would with a typed language.

I’m probably going to continue with Python for some stuff, because it is so easy. But I’m not going to write any work stuff in it. Because of types, and because Python almost makes it a priority to make sure it is impossible to follow functional programming concepts.

The reason I often go with Django for a little bit larger stuff at home is that it is so easy to put together some models, add unit testing to them and get something that works. And flask is perfect for some small api’s. But I think Clojure is the future for my Projects.

Bye Facebook

21.05.2018 02:00

The 29th of March was the day I finally did something I should have done a long time ago.

I deleted my Instagram accounts and my Facebook account.

The only thing I used Facebook for was to chat with a handful of people, and I just moved those conversations over to other venues like SMS, Keybase and E-mail.

It will be long go by the time I publish this, and it feels great. To delete it might not be much, but it is the most drastic thing I can do to show Facebook that I do not like what they are doing. And it is not just the recent scandals. Google and Facebook does a lot of the same stuff. But they seem to be better about not crossing the line and surprising us as much. And you can use them without having an account.