Hjertnes.blog

My morning rituals

I get up really fucking early. The reasons are simple, I prefer not being in a hurry, I prefer being early at work because then I can leave early and get some shit done before people show up.

So my ritual is to get up between 0415 and 0425; usually closes to the latter. Then I put on some podcast or audiobook, get into the bathroom and get ready. Get back to our bedroom, put on some clothes and go downstairs with Luna.

I quickly start the coffee maker that I always prefer before going to bed and then I take her out and bring her on a short walk. Usually being back when the coffee maker is done.

Then I bring her up to Ingri. Before I fill my travel mug with coffee and a large mug. Take both into the living room where I start to pack up my bag, except that I review my Bullet Journal while I drink coffee. Then at 0515 I go upstairs and say goodbye to both. Get down pack the rest of my crap and walk down to the train.

I’m usually there about 0535. Giving me time to complete almost three French lessons in Duolingo before sitting down at the train.

Then I usually exchange by Airpods for my ATX headphones.

The rest is a 40 minute train ride and a 20ish busride. I do not mind it at all, the time flies fast as I listen to music, podcasts, audiobooks; or read in Instapaper or on my Kindle; watch stuff I have stored offline from Netflix or Plex; or I play my Switch.

I really miss my Mac at work

My setup at work is a fairly good HP laptop running Windows 10. With a lot of junk installed on it, because, enterprice crap.

Some of my issues are that stuff, but that is not the main thing. I really miss my Mac.
The reason is simple, I prefer how a Mac works, and the native UNIX system. It would not work at my current job, because of how stuff are set up. But I know that I’d be much more faster in general, if I typed in Emacs and iTerm2 on a Mac, than in Emacs and Powershell on my Windows thing.

I have spent six months trying to like it, and I just hate it. I hate how Window management is, how horrible everything looks. How much crap can’t be configured.

I love using my Mac, and I tolerate my Windows machine.

Netflix Originals

I love Netflix, not because their content is the best ever. It’s not, what they do is not like HBO who always want to make the stuff that everyone have seen like HBO or Sons of Anarchy. Some of their shit is not in the top tier, but most of their stuff is there or almost in the top.

The thing I like a lot about Netflix is that they just want to make stuff that make their investment make sense.

Like everyone else, they know that it is really expensive to comete with HBO. So instead they play a different games.

A lof of my favourite stuff each year come out of Netflix, but most people would probably hate it. But I like it a lot.

And that is a interesting point. Because you can still make something very interesting from niches.

In the world of streaming most of the incentives that have been driving TV up to this point are turned on their head.

If you have the money, and the ability to make sure it pays off, there are no limits to how many shows you can produce per year.

In the old world of TV, ther were some limits, like the times when people actually watch TV and the number of channels you had.
Your main goal in a streaming world is to keep people subscribed, while your main goal in the TV world would be to make sure it made sense to have you in their cabel packages.

Links of the week

New photography workflow one week later

The process of getting rid of Lightroom from my photography workflow started a week ago, and today I imported and processed my first round of images using the new workflow end to end. I could not be happier. The photos looks great, and it was really qucik. I just copied both SD cards into my Mac while reading some e-mail. Then I started the import of the JPEG’s to photos and by the time I had walked Luna and done some yoga I could process them on the phone.

My photopraphy process for as long as I have owned a camera that can shoot raw files have been to shoot raw, and then import it into Lightroom. Then waiting for it to do its thing before processing them. And then export it into Photos or Dropbox back in the day.

The problem with this workflow is that it only really works on my Mac. And all of it is slow. Also: I never have the time to do anything that justifies dealing with raw files.

So my solution now is to shoot JPEG+RAW on my Fuji. JPEG’s on one card and raw on the other. I keep the raw files just in case, and then I import the JPEG’s as is into Photos.

I love this process this far because:

  • It’s fun and easy
  • Really fast
  • And I kind of prefer the look of Fuji’s film simulations to what I have ever managed to get out of Lightroom.

I'm replacing Lightroom with out of Camera JPEG's

What started as a exploration into alternatives to Lightroom ended in a place I did not expect. I checked out Luminar and Capture One. Capture One wasn’t really for me, and Luminar is impressive, but the app itself is worse than CC. I enjoy what both Lightroom CC and Luminar can do with their AI technology in terms of tuning the image into something a lot better than the out of camera RAW file. But the apps are horrible. I have given CC close to two years, and I’ve had enough.

The thing I have decided to do is to shoot JPEG+RAW. Store the RAW’s for later, if I need or want to. And just put the JPEG’s into Photos. I’m not going to touch the RAW’s; except for when I want to change film simulations, and then I’ll use the Fuji RAW Studio.

What I have done this weekend is to export all my RAW files out of Lightroom, export all my JPEG’s out of Lightroom (I’m about 50% done with that), then I’ll delete my library and delete all the Adobe apps from my stuff and cancel my account.

How I use the Neo 2

I have written about this thing a few times over the half ish year I have owned it.

The way I use my Alpha Smart Neo2, is that I leave it in the living room. And when I feel like writing and is not in my office I just turn it on and start writing.

I just write in file 1 until it’s full, then I move over to the next one and so on. And I try to tranfer stuff into my Mac at least once a week.

My system is that I just place a markdown “h1” and a title, and that marks a new “document”.

I use it for all kinds of stuff, everything from planning to regular notes and drafts for blog posts. And like I have written about before, everything that started out on paper first gets transcribed into this bad boy.

I really like it because it is a thing that does one thing really well, kind of like my Kindle. I take my Neo if I want to type something out and I take my Kindle if I want to read.

Node is better

I don’t know how many out there remember how it was to do serious web apps before Node, but it was not great.

There are many big problems with Node, and those of us who have done a lot of Javascript because we in general like it, know it better than most.

But, before Node, we did not have a real development enivornment, like in most other languages. There was no real “test runners” or package management systems.

What you did was that you had a bunch of JavaScript files, maybe you had some git submodules for the third party stuff, and either some script or symlink thing that put it into place.

This was the same era as when RequireJS was the most advanced way to deal with depenencies. It was basically just a function you passed a list of files into, and told it to load them before running a callback that was your code.

I remember more than once getting into situations where things you really fucked up if jQuery plugin C loaded before B, because they wrote to some of the same global namespace.

Node is not perfect, but a lot better than things were before it, and it is also getting better.

Links

My storage and backup system

I have three backup systems, one in the cloud, one clone and one incremental backup.

The basics is that I use Arq to back up to Backblaze B2, and I use Time Machine to backup to an external drive, plus that I clone my system and the combined “archive” and Time Machine drive. Everything from old stuff, to time machine data and my Plex library live on that drive.

I recently changed all the drives. This is something I do every third year or so. When one of the drives starts to act up, I order new ones as fast as possible.

This time I went for two 5TB drives for the archive and as always a 500GB drive for cloning my system.

The reason I do this is that good NAS or external RAID systems are too expensive. When I compared the last time, the price of getting a future proof RAID, would basically be the same as one and half round of drives of my current system, before I started to buy drives.

The reality is that drives with built in USB interfaces have become so cheap, that I don’t see it ever making sense from a pure money perspective.

The thing that migh get me to do it however is the fact that the time it takes to clone a 5TB drive (it will probably be closer to 10TB the next time) is so long that I’m soon at a point where I kind of have to move to a raid.

How I use my Neo 2

I have a Alpha Smart Neo2, it is a digital typewriter. A pretty damn great one. It is basically just a keyboard, with a small screen and some memory in it.

It lets me write, without having a full computer. I personally think it is a hell of a lot better than an iPad, if you just want to type words.

Most of my blog posts either starts out on paper or on this little thing; and most of those that start out on paper gets transcribe into to this little bad boy before it get to my computer.

The reason I love it is because it is small, the battery lasts forever, and I can just have it in the living room. And I don’t have the option of doing anything except writing.
The way I use it is that I just write in the same file, and divide stuff up by adding a markdown style H1 header for each new thing, and once a week I connect it to my mac, open my Drafts.txt file in Emacs and transfer all my files (usually just the one) over.

A painful goodbye

I’ve posted about this earlier in the week on my Micro blog. But my mum had to let our family dog of 11 year go on Tuesday. It was not a huge surprise because of her age. But still very hard, and a lot harder for my mother. And Luna will probably be very sad and confused when she can’t find her the next time we visit.

Tom Waits didn’t want to grow up, Nemi never dit. It’s great to see a dog of 10 years old play like she was 1.

Learning to use the Emacs keybindings

I think I have written about this before, but I can’t remember. When I started to learn how to use Linux I first used nano, and then I got into VIM becuase the people that helped me used it. And obviously I became one of the people who mocked Emacs for being an OS.

Then Spacemacs hapened.

During the summer of 2018 I decided that I wanted to learn how to use the standard Emacs keybindings. I started doing it sometime in August, and now almost six months later I can say that I am somewhat competent using it. I’m not yet at the level where I can combine 25 shortscuts into someting nuts. But I’m at least advanced beginner or a beginning intermediate user.

This is how I went about doing this:

  1. I wrote down the basic commands I had to know, like saving files, opening files, quitting emacs, managing “windows” on a Index Card.
  2. I started a text file where I pasted interesting keybindings or answers to how to do something I used to do in VIM. And I used it as a FAQ while learning.
  3. Re-read Mastering Emacs.

The process was really slow and painful in the beginning. But after a few weeks, and getting stuff into my fingers it sped up. And today I actually prefer it to other keybindings.

The main reason I started learning it was because regular emacs with evil is kind of slow, and what I think when I’m at the other end of it is that Emacs makes a hell of a lot more sense after learning this.

Microsoft Sculpt Ergonomic Mouse

So, I use Windows at work. It is not horrible, but I still hate it. I was looking for a mouse to have at home, just in case I had to work from home or something.

As I was looking I I realized that most of the options either was the same cheap Logitec thing I had at work, or something fancy with a million buttons or one of the two or three options that was good for my hand.

I decided to either get the cheapest possible or something that was good for my hands.

I decided to get this one from Microsoft because the other ergonomic one was from Logitec (you know the huge mouse with the big ball on it) almost three times as expensive.

This mouse is like a big flat ball. It is so large that you can rest your entire hand on top of it, instead of having to use moucles to hold up your hand. It is really comfortable to use, and I like it a lot.

I like it so much that I took the one I got to work and ordered a second one.

Surviving with two USB-C ports

I started out with the idea that everything should be USB-C, when I first got my MacBook escape. But that is not working as long as you can’t get any C hubs.

What I have ended up with is a USB-C monitor, some chargers, a USB-C to A hub with four ports, some adapters and some very few USB-C versions of what I have for USB-A.

Having just two ports works, but I think it is far from ideal. And the minimum going forward should be 3 or 4; ideally way more.

The problem with USB-C is that you have USB-C and you have thunderbolt 3 both of them use the same plug but are very different.

The number of thunderbolt plugs you can have are a limit on the motherboard or logic board. And the number of USB ports are more or less without limits. But the latter have less features.

I think Apple should find some way to tell what is what and just have a lot of them on their Pro laptops. But it isn’t ideal.

Link dump

Clojure and JDBC

I love SQL, I know it well, and how to use it to make fast efficient operations that reflect what I want to do. It is not beautiful, but it works really well.

After starting with raw SQL, moving over to ORM’s of various types, mainly the Django one and Entity Framework, and a few abstractions that are kind of in the middle. Like for example Korma SQL, I’m back at regular SQL.

When I work in Clojure I use the JDBC bindings, and I use a very small section of it, because I don’t like most of the abstractions JDBC have added on top of SQL. I use the query and the execute! functions. The way you use JDBC(if you want to use it efficient) is that you use the with-db-connection macro to make sure that you don’t set up a new connection to the database for each operation.

Then you have the two methods, execute! is what you use when your query does not return any data, and query is what you use when it does. There are settings to control how the data are returned, if you want need that, everything from lists of lists to lists of maps, to functions etc (if you want it to be lazy)

JDBC is the option I prefer, it may not be the easiest option, but you don’t need to do all kinds of weird crap that you often need to when your abstraction of choice was not mad with your SQL command of choice in mind.

Emacs: defer or not?

If you start with plain emacs it will start very fast. More or less fast enough for you to not notice it. And for every plugin you add it will become a little bit slower. Some plugins contribute more to it than others. There are basically two ways to deal with this. Either to just let it load everything when you start Emacs or do defer it.

When you defer you either tell it to wait to do it after Emacs have started, or do this at a certain event.

I have tried many different combinations over the last year, and I have landed on not doing anything at all. The same kind of CPU time have to be spent no matter what you do. And I’d rather take another couple of sips of coffee while waiting for Emacs to load than to having to wait in the middle of something for something to load.

Another one on use-package

I have written about use-package before, but I’m going to try again because I don’t think I got my point across.

Use-package is a emacs package that cotnains a macro called use-package, it makes it easy to deal with packages in a clean manner. n

If you take my typical emacs setup before emacs I had this long list of packages, that I looped over and checked if they were installed, if not I installed them. Then all of it was loaded and configured in a very speicifc manner to make sure it all worked. Use-package solves all of this.

The way it works is that it have a lot of different keywords that you can usem and the result is that you can avoid all kinds of nesting and weird issues, and just write the config in a way it makes sense to you. The reason I got started with it was because of the :ensure keyword, because that enabled me to install and load in one step.

Here is the documentation: https://jwiegley.github.io/use-package/keywords/. The way I have gone deeper and deeper into it is by starting simple and using new stuff as I see a place for it.

Rober Carro: On Power

I’m a huge fan of Rober Carro’s books, it all started with his amazing book about Robert Moses, and then continued as I read an listened through all of his books about LBJ. They are amazing, and my all time favourite biographies because of how well you get to know both the good and bad sides to them.

They are great, but long, and kind of intimidating. On power on the other hand is a short audiobook on Audible; it is one of their original production thingies. It is a fantastic place to start. It gives you a entry point to his writing, and if what you hear there is interesting you can just jump into either the Power Broker or the LBJ books.