RSSAmplifier

Blog

jherrlin

Recent content on jherrlin

jherrlin.github.ioRSS feed ↗14 posts

Latest posts

Error handling with Either in Java and Kotlin

TLDR Either is either Left or Right with values inside. Either is a union type. It's a concept that is language agnostic. It's right biased. Left is used to transport/represent errors. Right is used to transport/represent the successful data. =flatMap= and =map= are used to chain them together. bind is sugar over =flatMap= and =map= to make the code more sequential and easier to read. It short…

Emacs on Macos Monterey

Intro Got a new computer from work, this is some quick notes on how my Emacs setup looks. Run Emacs as daemon with LaunchAgent. Fetch mails periodically with mbsync via LaunchAgent. Install brew install --cask emacs brew install mu brew install isync brew install gpg brew ls --verbose emacs brew ls --verbose mu Mu4a Replace USERNAME with your info. mkdir -p ~/.mail/work ~/.mail/gmail mu init…

Resume with AltaCV and LaTeX

I had to write a resume and searched the web for solutions that looked good. Quickly found the AltaCV template that liantze have made and I think it looks really good! This is my notes on how I got the template to compile. Clone AltaCV template Navigate to the GitHub repo AltaCV and clone it to your local system. In this example I have cloned it to ~/git. cd ~/git/ git clone https://github.

Learn RxJava with Emacs Org mode

Intro RxJava is a Java library that can be used to create non blocking reactive systems in Java. The mindset of non blocking and how to work with RxJava was a bit hard for me to grasp, and still is! I am by no means a skilled RxJava user. But I have found a tool that helps me on the journey to become a better one. And of course this is Org mode and Emacs.

Wexio Lambda Session Nr1

* Wexio Lambda Sessions nr 1 We are happy to announce the first Wexio Lambda Session. A local meetup about functional programming, lisp and everything around it! | Place | Remote | | Date | 1/12 | | Time | 17:30-19:30 | | Subject | Introduction to Emacs Org mode | | Signup | https://forms.gle/saaH9Z4SYo9pJ4DV8 | * About this event We start the event series with an introduction to one of Emacs…

Emacs Orgmode Source Code Blocks 2

Intro This is the third post in a series about Emacs Org mode and the second about source code blocks. The last post about source code blocks (blocks from now on) covered org document variables, named blocks and combining blocks. This post will focus on how and where block result output will end up. It won't cover all of the arguments and features as I don't use all of them.

Learn AWK with Emacs

Intro This post describes my workflow for learning the AWK programming language using Emacs, Org mode and Org-drill. The workflow may work for other programming languages. The post won't cover details on how to use Emacs, Org mode or Org-drill. It's intention is to provide a general overview of a workflow. A git repo is available with flash cards, note book and some text files here. Content I just…

Mail in Emacs with mu4e and mbsync

Intro This post is the second part about GnuPG, password management, email, signing and encrypting emails and git commit signing. The first posts talked about GnuPG key generation, password management using pass, how to sign git commits and how Emacs connects with most of it. This post will focus on how to manage mails in Emacs with Mu4e and how to signing and encrypting messages with GnuPG. As…

Emacs, GnuPG and Pass

Intro This post is the first out of two about GnuPG, password management, email, signing and encrypting emails and git commit signing. As always with a helping hand from Emacs. As the posts cover a lot of ground step by step instructions are not desirable. Links to more detailed resources can be found in each section. The main goal is to provide a quick but informative overview and give…

Emacs Org mode tables

Intro This is the second post in the serie of how I use Emacs Org mode (from now on org) and it will cover usage of org tables. Some of the content assumes basic knowledge about org. If you are new to org I can recommend this two videos; hrs and kitchin. Org tables are like spreadsheets with super powers. Tables can be used to keep information organized, as input to source blocks (more about that…

Emacs Org mode source blocks

Post updates [2020-06-23] New section. 'Combine source blocks' Intro It's time to start documenting how I use Emacs Org mode (from now on org) and it will contain a serie of posts. This is the first post and it will cover source blocks. Some of the content assumes basic knowledge about org. If you are new to org I can recommend this two videos; hrs and kitchin. One of the features I've been using…

Arch install with LUKS and systemd-boot

2021-01-08 Updated with instructions on LTS kernel. Into Recently made a fresh Arch Linux install. The setup will looks like this. One HDD with 2 partitions. The first one is unencrypted and contains EFI and boot. Second contains the system and user home. This partition will be encrypted with LUKS and contain a EXT4 file system. For boot systemd-boot will be used. The LUKS device contains a header…

Quick overview of Clojure spec, test.check and transducers

Into A quick and dirty overview on some of the capabilities of Clojure spec, test.check and transducers. With focus on generative data. Describing models with spec and then use test.check to generate entities from that model. Bulletproof transducers with the generated data. Wont cover or explain details, instead show how it can be used. Some examples where generated data can be used: Provide…

Entity event log in Datomic

TL;DR Create an event log from Datomic transactions that's related to an entity. Look at transaction metadata, diffs and the entity from different angles. Intro I am pretty new to Datomic and writing a small Clojure app. In my domain models I have a model called event-log. This model is used to keep track of changes (mutations) in the system. It have the following attributes: author, datetime,…