For when I'm gone.

Sending email in common-lisp (Sep 2024)

Want to integrate email functionality into your common-lisp applications, the cl-smtp library can help. In this blog entry, we’ll walk you through the process of using cl-smtp to send emails via Google’s mail servers. Whether you're setting up notifications, alerts, or just automating your email processes, this guide will help you configure cl-smtp to work seamlessly with Gmail’s SMTP server.

The best error messages ive ever seen

Writing clear and effective error messages is a crucial skill for any programmer, no matter what the language. Well-crafted error messages will improve the usability of software by guiding users to understand and resolve issues quickly. A good error message not only informs the user about what went wrong but also suggests potential solutions or next steps. In this introductory paragraph, we will explore key principles and techniques that can help developers create error messages that are informative, actionable, and user-friendly and more importantly take advantage of any assistance and resources that you may have at your disposal. I expanded on this a bit more here.

Apple Mac OS Midi routing is broken.

I have some new music making hardware, and wanted to try to get them to talk together. Use a Mac they say 'everything just works', No clearly it doesnt. I did however find a work around. If anyone is trying to use a USB host to route a midi controller (USB organ) to a synth (USB) start Reading

Minimise

In the interest of not polluting the internet with my ill-informed opinion and staying away from the madness that is modern culture, I've deleted a bunch of social media and messenger accounts. Less of me on the internet can only be a net win for society.

Downloading the EP133 firmware from Teenage Engineering

Teenage Engineering released the EP-133, a mid range sampler/synth, I looked into the updater to find out as much as I can before I buy one. The firmware provided from teenage engineering is encrypted, but i've documented what i have found so far.

Atom(ic) Operations in Common Lisp [2023]

So, the headline is a bit of a lie. This entry talks about using clojure like "atoms" to simplify management of shared, synchronous, independent state. Common lisp being the all-singing all-dancing monkey of the lisp world, i had to see if atoms can be used this way. It turns out it is easier than I thought. Check it.

Setting up GitHub Actions for LFE CI/CD [2023]

I'm involved in 'competing' with spawnfest this weekend, I figured its time to setup LFE for CI/CD with GitHub Actions. Its a pretty simple setup that runs the test, i'll expand on this in the future to include creating containers and pushing to production.

Common Lisp and HTMX [2023]

Common lisp and HTMX provide a sane platform to develop basic applications. I outline the reasons that I have chosen them. This post also marks the new voice I plan to use while blogging. I no longer care to engage in debate with people without being paid.

Supercharge your workflow with emacs and org-babel.

I do kernel flaw analysis for a living, someone asked me to do a short write up on how I use org-babel to do my work. I've documented it in this rant.

Lisp flavored erlang (gen_server)

I decided to collapse two of my interests, lisp and erlang. Lisp flavored erlang isnt going to win any popularity contests, but it is something that I dont entirely hate working on. Ive written a quick tutorial describing one of the core features of erlang.

Choosing the wrong roads.

I've spent the last week reflecting on some poor programming life choices that I've made. disagree with the majority, perhaps you are wrong. I'm not stupid enough to think that i'm smarter than most people. To be honest its probably not worth reading because you already think just like this. If I write about it, perhaps it will clear my mind.

COBOL - Simple "Curses" like screen to get keyboard input.

On of the simple but effectively powerful things that gnuCOBOL can do is a TUI. Its not fancy (when it implements UTF8 correctly, it will be fancy-af) but it gets the job done much quicker than most webapps do.

Check out my Simple example which I've got working on Linux and MacOS X.

Python Range function in lisp [Aug 2022]

I have wanted a quick way to something similar to the python range function (range n y) in common lisp. Sometimes I just want to have some kind of immediate list creation. See my drivel on this topic.

Simple WX example in erlang [July 2022]

I don't always write a gui for my apps, but when I do, I use wx because I'm not one for complaining about pixel perfect pedantry.

The one that works for me at the moment is WX Erlang

MIRAI analysis - evasion - deleting the executing code [Nov 2020]

The MIRAI malware deletes itself from disk in an attempt to make it harder to analyse. This post goes into detail on how it works, a rust implementation and a few improvements that could have been done.

MIRAI analysis - watchdog access in rust [Nov 2020]

The MIRAI malware uses an technique intended to prevent the systems watchdog from rebooting the machine when its too busy. I share what I learned about this and ported it to rust.

Userspace eBPF [Sep 2 2020]

A few distros have users allowed to insert eBPF programs. This is disabled in some distributions. I've documented my findings after talking to different decision holders who made some of these choices.

Anatomy of kernel module signing [Aug 20 2020]

I decided to take a look at the Linux kernel modules signing process. It seems that the recent drovorub malware has some interesting misinformation regarding module signing, so I had decided to take a look at the regarding its implementations on Red hat Enterprise Linux.

Encrypting a disk to only boot in a specific system. [Aug 9 2020]

Recent research papers related to flaws in thunderbolt and secureboot have piqued my interest in learning more about what can be done to prevent a system comprimised in such a way from being abused. I've written about it here

Toshiba Toughpad FZ-G1-3 [Jul 25 2020]

I have recently purchased one of these machines in an auction, and I am -very- impressed with its build quality. While this one is not its current purchase release, I've got a page talking about the customizations and things I have learned about it While making it work for me

Kernel SecuriTea

I work on a small youtube channel where I talk about kernel security issues that interest me. I work on quite a lot of these in my work so i'm limited to what I can cover.

Created: 2024-09-13 Fri 01:43