atchison.dev
  • Home

atchison.dev

NVIDIA

Ubuntu 24.04 NVIDIA Driver Install

What a nightmare! I solved this once when several months ago when I got new hardware and did not write down the instructions. Kernel did an update, now my drivers do not work. After some head wall bashing for a day, I have solved

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 12 May 2025 • 1 min read
Ubuntu

Ubuntu 24 Terminal Not Starting Immediately

New OS, who dis? After a hardware upgrade, I installed Ubuntu 24 to dual boot with Windows. On startup, I noticed that the terminal would not imediately start. Chrome would immediately start, but network connections would hang. This eventually resolves within a minute or

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 23 Mar 2025 • 1 min read
Python

Mounting Your Google Drive in Google Colab

Go to https://colab.research.google.com/ Create a new notebook (I have mine saved in Drive)Create a code cell and run the following code:from google.colab import drive drive.mount('/content/drive') You will be asked to give Colab permission

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 4 Feb 2025 • 2 min read
Python

OpenAPI Post Generation Certificate Authority Trust

I truly despise certificate eco systems. Every language does it a little bit differently, libraries use different environment variables, and operating systems are ever so slightly different (looking at you Ubuntu and RHEL). Thankfully, libraries that have become defacto standard lib have well known

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 18 Dec 2024 • 1 min read
Keycloak

Returning Keycloak Group Info

It is mind boggling that group membership information is not returned by default by Keycloak for a user claim/token. You have to manually go into Client scopes and add it to the profile section. Client scope -> click on profile Mappers tab

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 16 Dec 2024 • 1 min read
Java

Upgrading Spring Security from 5 to 6

Upgrading a "legacy" Spring 5 / Java 11 SPA to Spring 6 / Java 17 was a bit of a to do. Things you may run into with Spring Security: WebSecurityConfigurerAdapter is gone. Ant matchers no longer exist. You have to set a config item to

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 30 Aug 2024 • 1 min read
MariaDB

MariaDB4j 3.1.0

I am excited to see MariaDBB4j 3.1.0 released late last month! This is the first official release from the upstream repository that contains the update to a modern maria! If you are working with MariaDB in a Java 17+ toolchain, definitely check

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 3 Apr 2024 • 1 min read
Python

Load Balancing Gunicorn Flask-SocketIO Workers

The Flask ecosystem is atrocious. Coming from a Spring / Java Enterprise background, I did not fully appreciate how many batteries were included. I had a web server being served by one geventwebsocket.gunicorn.workers.GeventWebSocketWorker: gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 --threads

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 14 Nov 2023 • 2 min read
MariaDB

MariaDB4j 2.7.2

I am pleased to announce the release of MariaDB4j 2.7.2. Windows support is now fully enabled and tested. It also fixes some tmpdir issues for Windows Java 11 users (2.7.x releases) that were fixed in the main upstream branch (Java

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 19 Sep 2023 • 1 min read
MariaDB

mariadb-cdc 1.0.4.2

MariaDB does not come with change streams/change data capture out of the box like mongo. There are some enterprise-y options like MaxScale, but all of these solutions are over engineering for a simple use case of following the binary log. My use case

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 31 May 2023 • 1 min read
Java

Generically Pulling Fields Out of Java Beans

You may run across a use case where you do not know exactly what data you are receiving and cannot make a POJO for Jackson to model. In this instance you may want to simply convert all non null properties. We are Jackson-lite in

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 24 May 2023 • 1 min read
MariaDB

MariaDB4j 2.7.1

One need I had was to have my embedded MariaDB instance write to the binary log, so that I can pick up on events downstream. I am pleased to announce MariaDB4j 2.7.1 ships with this new functionality. DBConfiguration.java has been updated

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 23 May 2023 • 1 min read
MariaDB

MariaDB4j 2.7.0

MariaDB4j provides mariadb 10.2.11 out of the box. This release of the database is from 2017. Spring boot 2.7.x with Hibernate has more advanced SQL than is supported in 10.2.11. I opened a PR against the original project

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 19 May 2023 • 2 min read
Elasticsearch

Typed Keys In Elasticsearch Java Client

This is not the first time I have encountered Elastic clients returning different data formats, but this one is just truly baffling. The Java API serializes its information with "typed keys" so that it can deserialize its own data internally. These types

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 17 May 2023 • 1 min read
Java

Using Native MariaDB Binaries in Linux

The latest release of MariaDB4j still uses MariaDB 10.2.11. We were running into an issue running this locally and needed a more recent version. Install the MariaDB version you want: curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup sudo

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 21 Mar 2023 • 1 min read
Elasticsearch

Elasticsearch REST API vs. JavaScript Client

I was surprised to find out that there are differences between a direct REST call in Elastic and the exact same call in the Elastic JavaScript client. The endpoint: _search Curling to REST requires the sort portion of the request body to look like

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 18 Oct 2022 • 1 min read
Spring Boot

Disable Spring Data Rest AutoConfigure From Springfox Boot Starter

Long title! Huge problem! I haven't used springfox / swagger in a couple years, but the toolchain seems to be a complete disaster. 2.9.x versions are bringing in old versions of Guava, et al that would require a large amount of effort to

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 11 Feb 2022 • 1 min read
Computer Science

Optimal First Guess in Wordle Using Weighted Letter Distribution

The latest sensation is wordle! As a huge fan of these types of games, I wondered to myself: given the distribution of letters across five possible locations, can we weight words in such a way that we can pick an "optimal" first choice to

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 15 Jan 2022 • 4 min read
Kafka

Trying to Contribute to Apache Kafka is a Complete Nightmare

It has now been over three months since I submitted a KIP with a feature complete pull request. If you want to make a change that requires modification of a public API in Apache Kafka, you have to submit a Kafka Improvement Proposal. This

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 9 Jan 2022 • 3 min read
Grafana

Non Legacy Form Data Source Plugin Grafana

Grafana 7.5.x As previously mentioned, the tutorial for Grafana data source plugin development is all over the place. Even in the latest version of Grafana (8.x), the tutorial shows this as the way to write the query editor form: <div

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 15 Sep 2021 • 3 min read
Kafka

Error Retry Configuration in Kafka Connect

Kafka Connect specifies two configuration items for retrying errors and backoff: errors.retry.timeout=-1 #number of retries (-1 for infinite retries) errors.retry.delay.max.ms=X #defaults to 1 min The documentation suggests this takes effect when an error is thrown during

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 5 Sep 2021 • 1 min read
Java

Configuring TLS with WebClient and netty

It is not intuitive that there is some work to do to get WebClient to communicate with certs. Having written this twice now across two projects, here it is: // Pull these in however you like @Value("${user.keystore}") String keyStoreLocation; @Value("

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 24 Apr 2021 • 1 min read
Elasticsearch

Configuring TLS in Elasticsearch is Insane

Of all the projects I've configured TLS on, Elasticsearch is by far the most obtuse and convoluted. I presume this is because this feature was added after the fact as part of the basic/open/free tier from behind the paywall.  But then was

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 1 Apr 2021 • 2 min read
Kafka

Load Balancing Kafka Metadata Bootstrap Call

There is plenty of documentation online on how to use a load balancer in front of a kafka cluster to either SSL terminate or provide access to a private kubernetes setup, etc... This post has nothing to do with that. The use case is

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 26 Feb 2021 • 1 min read
Windows

Zoom and Traffic.dll

Zoom stopped working the other day: Error on Zoom startupGoogling this leads to a slew of shady sites that want you to download an arbitrary file they claim will fix your issue. After cobbling together a couple different resources, here are the steps to

  • Knowles Atchison, Jr
    Knowles Atchison, Jr
Knowles Atchison, Jr 21 Jan 2021 • 1 min read
atchison.dev
  • Home
atchison.dev © 2025
Latest Posts