[Home] Karl N. Redman:

Randomize your XFCE / LightDM Login Screen Wallpaper

HowTo: randomize LightDM / XFCE v4.x login screen wallpaper images. For fans of the lightweight and highly configurable linux desktop environment XFCE, with it’s default Greeter managed by LightDM, it’s a frustrating fact of reality that there is no built in way to randomize the login screen image. This simple perl script and directory layout will provide that service using a cron job. The process will copy a random image file from a directory that contains a pool of images into a ‘publish’ directory; as background.

Be a Python Jinja Master: Automated Front Matter Editing

I’m pleased to announce the initial release of EditFrontMatter: A python module for editing markdown front matter using Jinja2 Templates. See: EditFrontMatter Project Homepage Several examples are included in the documentation Basic usage Advanced mulit-pass processor Recursive directory walker that uses multi-threading to edit files The Pitch: Imagine that you could retain all of your various article and documentation content in markdown. And then cater that content to whichever static site generator1, and theme thereof, without manually editing each and every file.

Keycloak v5 + Gatekeeper v5: Flowcharts - Easily Create and Restrict an Isolated (IODC) Client Service by Group-Role

This is another artifact from an upcoming series of articles that I’m writing for creating a home/laptop development laboratory ecosystem. I’m sharing these artifacts now because the series that I’m writing won’t be released for at least a month (It’s a huge undertaking -for me). These flow charts demonstrate the simplest form (IMHO) of creating Keycloak client services behind an authentication/authorization proxy (Keycloak Gatekeeper). I imagine that if you are reading this article you are already frustrated with just creating a simple client in Keycloak and/or trying to figure out how to restrict authorization so that only specific users of a group are allowed to log in via Keycloak.
featured.png

Private Network + Traefik + Keycloak + Gatekeeper Overview (diagram)

A high level network overview of Traefik, Keycloak, and Gatekeeper working together This is yet another artifact [although ugly] from a project I’m working on. This diagram depicts a basic lab infrastructure with Traefik, Keyclaok, and Keycloak Gatekeeper working together behind a local DNS (dnsmasq). Details for how all of this actually fits together are forthcomming. For now, hopefully, it will be helpful for those who are wondering what the layout looks like when configuring these various components to work together.
featured.png

The Keycloak (v.5.0.0) UI mind map you didn't ask for

I’m working on a future set of articles for creating a home/laptop lab and needed a reference diagram. I figured that I might as well share. The diagram is meant to be a mid-level view to show where everything is located in the UI. Keycloak version: v5.0.0 Required fields: denoted by * suffex Original PlantUML source + Image files here

Navigate your vscode like it's 1999 (the vim way)

If you are a vim person it can be frustraiting to work in vscode without vim keystrokes. The fantastic plugin vscodevim only goes so far. If you, like me, are used to M-h,M-j,M-k,M-l (where M == ‘Alt key’) and vim-like tab movements things get freaking nuts. Note that these keys in default vim are the same as pressing escape [I HATE ever having to hit the esc key -ever].

Compile and install vim 8.1 from source (debian / MX Linux) with pyenv

The purpose of this article is to aid those who want to run cutting edge vim things. Vim 8.1 provides :terminal. This is BIG NEWS and has opened some pretty cool plugins such as markdown preview plugin for (neo)vim. Additionally, if you want deoplete.nvim to work properly you’ll need to compile vim against python3 anyway. The most single/main user way I’ve found to make these plugins work is to compile Vim from source.

Resolve docker hostnames from host with DNS Proxy Server

This article is a continuation of my previous HowTo: Dnsmasq + NetworkManager + Private Network Setup. With just a few configuration changes we will add the capability to interact with docker containers by their respective hostnames. Even though the dns-proxy-server project affords us this new functionality I recommend that dns-proxy-server only be used for development purposes. While it’s awesome to have the ability to reference individual containers by hostname during development efforts the concept doesn’t scale well.

Dnsmasq + NetworkManager + Private Network Setup

This is a howto/method for minimal configuration which provides a local private network that will be available to the local host for both online and offline (internet/DHCP) connectivity. The goal is to provide a scalable and network switchable development environment for virtual machines and bare metal application systems. This method intends to provide the developer the ability to roam (via laptop, et al) and maintain a consistent network development environment.

How To Be A Computer Programmer

(A Realistic Assessment): Every so often someone asks me or for advice on how to be a computer programmer. This question has always caused me a bit of anxiety because it brings up all sorts of other thoughts like, ‘the semantic and social differences in the definitions between a coder, a programmer and an engineer’, or ‘what is the context of the word “how” in this question?’. It’s a simple question with an extremely complex and subjective set of answers.