RSSAmplifier

Blog

((lambda (x) (create x)) '(knowledge))

A blog held together entirely by lua, coffee, and crazy ideas.

lambdacreate.comRSS feed ↗83 posts

Latest posts

Zen and the art of Digicams

So, we've found ourselves on yet another detour, I really shouldn't make these so regular but I truly cannot resist. I've not had a lot of time or bandwidth to deep dive into technical work, for fun at least, I've been plenty busy adding incus support to salt and improving how saltext-nebula handles things like lighthouse DNS and relay configuration. Lots of bug fixes and optimizations, lab tests,…

Bootstrapping a Hypervisor

So just a few weeks late to the party here, it turns out that between work, the 3.24 Alpine release, and "camp counselling" I left myself very little time for actually working in my legacylab. Fortunately, I think I can get things moving in the right direction in a decent clip once the core work is done. Now my lab idea requires a hypervisor, and the period appropriate answer is to reach for…

Rocking like it's 2009

Like anything I participate in I inevitably take side quests. It turns out that this particular detour on LLSC26 happened almost instantly after launch. Whatever that says about my attention span I can't hear over the sound of my beautiful little red music square. Oh how I've missed my Zune! It's such a silly thing to be attached to but it's one of those formative pieces of technology that I got…

Sysadmining like it's 2009

I'm wicked excited, it's finally here! Legacy Labs is officially starting its first ever event! For the next two months I'm going to be sysadmining like it's 2009, well sort of, I'll break down my full plan here in a second and it's a little bit anachronistic but there's a reasoning behind it. But I'm getting ahead of myself, you probably already have a couple of questions, like what is legacy…

The output matters

It's not very often that I get feedback on the blog posts I write. Some of my friends have the distinct privilege (or curse?) of hashing out my ideas over the course of days, weeks, months, sometimes years before they ever become posts, if they do at all. This one has been boiling slowly for a couple of years now, a reaction to a shift in how the work I do is perceived, and in how I perceive…

The output doesn't matter

LLM assisted, or even just whole hog generated content, is all the rage these days. Whether it's an image, a video, a thought piece, a program; it frankly doesn't matter. We now live in a time where someone can go from thought to implementation at nearly that speed. Midjourney let people feel like artists, just prompt it the right way and you get fantastic art! Never mind that the use of light and…

Running in Memory

We're back yet again to talk about a topic we've already covered several times over the years, the making of an Alpine Linux based NAS! Now the very first post I did on this was back in 2020 and was pretty simplistic. EXT4 on MDADM software RAID with a bog standard installation to disc, it was fine, but didn't really have the safety guarantees against bitrot that I need, especially since the…

Embedding Lua in Nim

This one is inspired by a conversation I had recently with acdw, and several I've had over the years with mio. For those that don't know my day to day work involves a ton of DevOps tooling, pretty much all of which requires some sort of templated yaml DSL. You know, the ridiculously large Kubernetes yaml manifests, your Ansible yaml+jinja playbooks, the different but still yaml+jinja salt state…

It actually is a snap?

This one might come as a bit of an oddity for any long time readers. I'm not a massive fan of Ubuntu, and yet, here I am packaging snaps. We all know about the flatpak vs snap debate, so how I've ended up on this side of the divide seemingly at random is, well it is what it is. I should probably also mention that I'm packaging things for chocolatey now too, and that's this ridiculous jumble of…

My Last OCC

So this year for OCC I had this wonderful idea to tinker with several things, some old 100mb Cisco gear, Windows Server 2008, Symix ERP, and really just get nitty gritty with things I've been working with for years now, and some that I've just recently encountered. But if you follow this blog you know that I often get waylaid by interesting ideas. And when I fall down a rabbit hole it tends to be…

Building custom incus images

Right, so in the wake of Broadcom's purchase of VMWare was the additional acquisition of the SaltStack project. This isn't surprising to anyone using Salt, since it was well communicated that VMWare had acquired Salt previously. But that little bit of information got somewhat drown out since Broadcom's focus has been on VMWare's hypervisor software, and that entire ordeal has caused quite a lot of…

An OCC Idea

I've dealt with my fair share of infrastructure in my days, and usually it's period appropriate. Sometimes that period is a little fuzzy, like Windows Server 2012 R2 just EOL in 2023, so while by name we immediately think "gee that's old" it's not really that old. But sometimes I get to manage a real gem, you know, that rare line of business system that's really showcasing the power of Windows XP,…

Rebble Hackathon #002

So earlier this month was the 2nd Rebble Hackathon, a little week long event where a bunch of us got together to breathe life into the "dead" Pebble smartwatch ecosystem. The flood of applications, watch faces, development tools, art, and generally fervent community development and engagement really drives home the "dead" aspect of this community. Over the course of a week we built a bunch of new…

Testing Testing

I just released version 3.0.2 of tkts recently, which is frankly a really cool feeling. I haven't really touched this code based in a couple of years despite using the tool almost daily to track and document various little issues and tasks that come up across the breathe of projects I deal with. What's even neater to me is that tkts will be five years old at the end of October, just in time for…

Sharpening the ax

So a while back (apparently October of two years ago?!) I wrote a shell script to automate the maintenance of my Alpine packages. It started out as a simple version checker, and grew into a full blow workflow automation tool. I love this little script, and use it literally several times a day. I wouldn't consider managing all of the packages I do by hand ever again. But for all of the love I have…

403: You are not authorized to access this material

U G H. For some reason my quaint little piece of the internet has suddenly been inundated with unwanted guests. Now normally speaking I would be over joyed with having more guests to this tiny part of the internet. Come inside the cozy little server room, we have podcasts to drown out the noise of the fans, and plenty to read. Probably at some point in the future there will be photography things…

OCC 2024

I'm apparently really bad at doing anything in a timely manner these days. There's never enough hours in the day to accomplish the things that I'd like to do, such is life sometimes. But that doesn't mean I shouldn't try! How thematic for this year's OCC, no? Just because something is obsolete, doesn't mean it's useless, or unworthy of effort. Sure it might be harder, the obstacles greater, but…

Packaging Private Projects

This is one I've been sitting on for a minute. I've been doing some dev work on an old repo of mine, a little passion project that a friend and I have been working on for years on and off. As you can imagine, while I would happily open source the world, my friend has a 50% say in what happens with that code base after all the time we've put into it. So it lives in a private Gitea instance, under a…

Packaging Ruby Gems

Is this blog becoming a Ruby blog? Of all the languages I know and use on a regular basis, I seem to be reaching more and more for Ruby on a regular basis. Of course, we're right smack dab in the midst of the Old Computer Challenge , and I've complained in the past that Ruby really is not super optimal for the types of computer I use during that event, or really on a regular basis. But despite…

All new Lambdacreate

You may or may not have noticed that things around here seem different. From my perspective they feel really different! But except for some really amazing CSS changes, it's all fairly opaque to you dear reader. That's because I've spent what little free time I've had working on the bits and pieces that make lambdacreate "tick". You could image that the innards of this little blog are like a…

A potential Gem?

We're back! I've had so little time to properly blog, it's really not surprising given everything that has happened this year, but that doesn't mean I don't miss it. A huge thank you is in order though, Mio's blog post on Vaporbot is a welcome addition to Lambdacreate, and it's really just kind of awesome to have a guest article to keep things fresh and engaging while I'm trying desparately to get…

Intermission: Vaporbot

Picture an online door-to-door salesman showing up unannounced with some crazy thing he claims will change your life. While you protest that you haven't got any authorial currency to merit his quality blogging service, he smiles and pencils in your name anyway. He suavely offers to sell you a bridge of brownies with the post and accepts vapourware as a payment method. You have no idea where to get…

Slinging code on a Palm PDA

It's finally spring here in Maine, which means I feel I can safely reflect on this past winter without jinxing it and invoking a Nor'easter upon my poor family. This in fact seems to have been my exact luck this year. It was pretty mild insofar as winters go, only a couple of major snow events. No real travel, heck we even had family up from Georgia in the middle of winter this year! That alone is…

Overlay Deployments for SaltStack

Let's take a look at a real world problem and build a simple solution for it. We have a complex configuration management system that has been built up over several years. The repository that is hosting it was devised around a monolithic one set of rules fits all. This didactic view of the world worked, initially, but as everyone expects could not scale. Suddenly there are exceptions to the…

One Thousand & One Albums

There is this delightful project that first existed as a book, kept up to date every few handful of years, and now as a little web services complete with a simple json API. That project is 1001 Albums to listen to before you die and its modern iteration is a simple (but excellently built!) web generator that hands out one album each day until you've listened to everything on the list, and then it…

Pilot-Link Broke my C Compiler

Look at that, another post squeezed in right at the end of the year! Where is all of this blogging energy coming from?! I'm not going to complain though, I feel like I'm on a technical roll here. Lots of new aports, lots of updates to Verkos. Lots of changes to my homelab. I must be nesting waiting for my daughter to arrive, only it's manifesting in ways that aren't nearly as helpful as actual…

Simple SSL

I've spent a long time putting off upgrading my homelab's services with SSL for a while now. I had a hand rolled PKI with multiple CA's way back when I first started homelabbing, but it became way too cumbersome to keep track of and work with. And despite having those old notes and setup scripts, it was all just very fragile and arcane. Remembering openssl invocation flags is just not high up on…

Hardware Review: Chuwi MiniBook

Could do what? Does Will mean replace his droid?! No probably not, he'll probably use that until it dies. Oh look, yep that's literally the droid next to the Chuwi in this photo. Literally inseparable. Well fine, what do we mean by could then? Well to be serious I mean that in terms of portability, and power, and function, that it probably could be a realistic replacement for the droid. Even if I…

Random Script: maintained.sh

As most everyone knows, I'm a package maintainer for my favorite Linux distribution, Alpine. I use Alpine everywhere, on my droid, in my containers, on my NAS and LXD clusters. It even powers the web server that runs this blog! I really like Alpine. And for all that joy I get using it, I get to give back by contributing to the packages available in the repos! It's kind of great if you ask me. When…

Back At It Again - OCC Review

It's been a hot minute since the OCC ended this year. Like the last few years I've enjoyed it immensely, the community is fantastic and the challenge itself gets me away from the hustle and bustle of modern systems, which I welcome immensely. I'll try and break my thoughts into a couple of buckets to make it easier to consider. I'd like to think I'm a bit of an optimist, so lets start with the…

Back At It Again - OCC Day 5/6

This every other day cadence seems to work well for me, so baring a dedicated blog post, or something really exciting happening I think I'll try and stick to that until the end of the challenge. Day 5 Day 5 was my detox day. I got stuck over at the office a little longer than I wanted trying to get a MaaS360 deployment finished. We're migrating about 70 Android tablets into a full iOS deployment,…

Back At It Again - OCC Day 3/4

The first official day of the challenge! I probably should have dated my first three days as "day zero" and I kind of spent random time the entire month before preparing my system. So in a sense I've had entire month zero to get to this point. It's a bit silly, but I've found that it's immensely helpful. Instead of spending the opening day of the challenge installing a new OS, trying to remember…

Back At It Again - OCC Day 2

I've decided to try and keep an at least semi-daily blog for this years OCC, instead of trying to do one monolithic post like the last couple of years. I think the difference here is nuanced, it keeps me invested in reporting my success and failures, and feeds the creative process that I'm really yearning for lately. No promises on consistency or anything like that, just stating I'm going to be…

Back At It Again - OCC Day 1

It's been a hot minute since I updated the old blog. Not for any lack of trying, I have half finished posts all over the place, lots of them waiting for me to finish developing film/scan developed negatives. Sadly, I don't have a fix for that at the moment, because we've just started the OCC for the third year in a row! And because of that most joyous occasion I'll be unable to scan any of my…

Verkos

Lets talk a bit about Verkos and the Kubernetes adventure I'm departing on. If your name is Lucidiot and you're reading this, you probably already know that here lies yaml. I am happy to report that this post has 100% more yaml than it needs to, just like any good DevOps thing. We're all just yaml engineers after all right? So in that vein it makes a ton of sense to tell you I wrote a shell script…

Conversing with Destiny

Content Warning: Strong language A friend of mine wrote a ChatGPT IRC bot recently, which is great, because now I can say that I've talked to an "AI" on my droid. Yet another cool absurd thing that we can say we did with this only cyberdeck! The IRC bot is just an API integration which produces brief responses from ChatGPT, but as you'll see before, it can be quite the talker. I've read a decent…

Gluing Things Together

Got a quick one this time round, just wanted to do a quick once over on a little Nim program I wrote recently to better glue together Shellcaster & MOCP for podcast playback. Right, so what even is the issue? Shellcaster is a really great little TUI podcast management application, and MOCP is the venerable music on console. Both of these projects are frankly amazing in their own rights, but my…

Random Script: mkplaylist.sh Part 2

13:46 <~mio> neat music playlist script by the way :) 13:46 <~mio> on your blog post 13:46 <~mio> I hadn't thought of generating playlists on the fly like that Thanks for the praise mio! And in return for it, I've extended mkplaylist to generate genre based playlists based off of a rec file! Like much of my music organization this is a semi manual, semi automated process, which seems to work well.…

Random Script: mkplaylist.sh

This is a short and sweet one, I just wanted to share a simple script I put together to generate playlists for mocp. It's not meant to be any fancy, or even optimized. It's just something I wrote in my spare time so I could better leverage my ever growing library of music. You see, I recently upgraded the disc in my Droid4 to a 128gb Samsung SD card! And ever since then I've been delighted using…

Building AMIs with Packer

Sharing the love on this one, I had to figure this out in a pinch the other day and felt like it'd be neat to share with everyone. The issue at hand is that I needed a custom AWS AMI with the SSM agent built in, and to pre-seed the SSH keys before deployment. It took a little bit of setup, but was ultimately a really simple process if you're familiar with what's going on under the hood. It's all…

Advent of Ure

It's the end of the year, but we've been busy leading up to it. This year I participated in a little Advent challenge, not the usual Advent of Code that everyone loves so much though. No this year I did the Advent of Ure, or adventure for short with the group over at the Small and Nearly Silent esolang pubnix. The challenge was simple, but incredibly enjoyable. For the month of December, do…

Utter Showstopper

For a while my Droid has been showing its age. It started with little charging issues, then the charging led wouldn't light up, and at points the touchscreen controller couldn't be detected. Most of these issues were annoying, frequent, but not impossible to work around. Then over the past couple of weeks the display as intermittently worked. It'd be fine if I started the system with the display…

Plam in 2022

In the pursuit of absolutely asinine levels of dedication towards my experimental workflows I've tried to truly push a Palm PDA into my personal and professional organizational workflow. Yes that's right, a Palm PDA in 2022. Obviously I'm off my rocker at this point. My smart phone can do literally anything it does better, faster, more easily. What it can't do my droid does. So why am I even doing…

Mikrotik CHRs on LXD

I really love Mikrotik gear, it's just super flexible, extremely affordable, and frankly rock solid when configured right. Sure it's not a next gen firewall like a Fortinet, but it does a bang up job of routing. Once you've wrapped your head around how to configure them you find all of the bells and whistles you could possibly want on every device you could imagine. But despite the fact that you…

Shiny New Lang

I recently stumbled on the language Nim . And while normally I am unwont to enjoy a space delineated language I am really digging Nim. It's a little statically typed, statically compiling language. You can extend the built in libraries without thrashing them, which gives you a quasi-lispy hack-ability, and it's easy enough to read. Okay, maybe a little less easy to read than say Golang, but it's…

Auskultanto

Over the past two years I've absolutely fallen in love with Golang. It's a great (not so little) language that Google has been shepherding, but really we have the brilliant minds behind Plan9 to thank for it. All of that might just upset some people, not everyone's a big G fan after all, but I don't mind when the tool fits the job. For me, that job is typically prototyping. In my line of work…

Simple Iptables Firewalls

A while back I talked about documenting some of the things I've been learning from my LFCE studying, I think if I've gotten to a point where I feel comfortable writing about a topic then I'm likely prepared to test on that subject too. So let's talk a little bit about iptables! What is it? Iptables is simply a firewall software, and unfortunately it gets a reputation for being complicated and…

Old School Computer Challenge 2022

It's that time of the year again, we've hit the Old School Computer challenge again! If you're not aware of what the OSC is, take a look at Solene's blog for more information but the gist of it is that for a week you're limiting your technological usage to a single core system with 512MB of RAM or less. Additionally this year we're tracking our network time, with a maximum of online time of 1 hour…

Truly using Lapis

It feels like it's been a while since I've written anything for the blog, the last post has been up since I did my Tildewhirl interview back in April and there's been nothing but silence here since then. That's not because I haven't wanted to post, I started working on capturing some tkts development, and I've had a couple of friends ask for tutorials on using iptables and packaging things. I'm…

The Infamous Droid

Boy I feel like this post has been a long time in the making. I initially wrote about my mobile workflow back in May of 2020, but truthfully I had been using a Nokia N900 for a few months prior to that post. I had a very successful setup on PostmarketOS, but I didn't care for the distro, not the way I like Alpine. And the N900's hardware wasn't powerful enough for the development I was doing at…