The question was simple enough: How good of an image editor can you build with $20 worth of
Claude Code Pro subscription? 
 The answer, after one month and roughly that budget, is: surprisingly good, occasionally wrong
about performance, and frustratingly confident about things it hadn’t measured. 
 RasterLab is a non-destructive RAW image editor written in Rust, built almost…
Sorting a terabyte of data in the late 1990s meant serious hardware, serious
planning, and probably a serious budget approval process. Today you can do it
on a workstation before lunch. I wanted to know how fast, so I wrote
 rustbucket to find out. 
 It’s a two-phase external sort implemented in Rust, built around io_uring ,
and named for reasons that should be obvious to…
Because “It Should Work” Isn’t Data 
 After reading about the billions spent on AI infrastructure, I kept wondering: how
much of that storage is just… the same bytes over and over? So I decided to find out. As I’m
involved with https://github.com/device-mapper-utils/blk-archive I thought it would be good to understand
how much storage blk-archive can realistically save…
Large Language Models (LLMs) are powerful tools, but their unchecked proliferation carries technical, ethical, and professional consequences for software developers and the industry at large.
Introduction & background information 
 NOTE: This content is from an internal talk I gave, thus the reason it may read like a presentation 
 So what is bcachefs? 
 bcachefs is a next-generation copy-on-write (COW) filesystem (FS) that aims to provide features similar to Btrfs and ZFS, written by Kent Overstreet 
 
 Copy-on-write (COW), with goal of performance being better…
The ability to write a C shared library in rust has been around for some time
and there is quite a bit of information about the subject available.
Some examples: 
 
 Exposing C and Rust APIs: some thoughts from librsvg 
 Creating C/C++ APIs in Rust (site removed?) 
 Rust Out Your C by Carol (Nichols || Goulding) (youtube video) 
 Exporting a GObject C API from Rust code…
I firmly believe that security through obscurity is a fail. However, I do
believe that all things being equal, making it a bit more obscure is better
as long as you aren’t introducing more failure points, like a port knocker that
has it’s own security bugs.
Thus I’ve always run my sshd service on an alternative port. It’s simple, and keeps
my logs clean…
I saw this referenced today on
 lwn.net 
 IMHO if you make a language incompatible with previous versions it should be
renamed. I’ve thought this many times with the python2 -> python3 change. I
suppose some will find this irritating, but I think it would make
things less confusing.
I used to like Python. Like others I enjoy the productivity it offers and the
vast and plentiful libraries that exist. However, over time that fondness has
turned to loathing. 
 The thing that should have been apparent to me long ago is that the Python
folks don’t appear to care about end users. They seem to have lost touch with
the fact that Python is very popular! Each…
Ideally it would be great if a DBUS server side library provided 
 
 Fully implements the functionality needed for common interfaces (Properties, ObjectManager, Introspectable) in a sane and easy way and doesn’t require you to manually supply the interface XML. 
 Allows you to register a number of objects simultaneously, so if you have circular references etc. This avoids race…
Introduction 
 Stratis (which includes stratisd as well as stratis-cli), provides ZFS/Btrfs-style features by integrating layers of existing technology: Linux’s devicemapper subsystem, and the XFS filesystem. The stratisd daemon manages collections of block devices, and exports a D-Bus API. The stratis-cli provides a command-line tool which itself uses the D-Bus API to communicate with…
Debugging gobject reference leaks can be difficult, very difficult
according to the official documentation .
If you google this subject you will find numerous hits. A tool called
 RefDbg was created to address this specific need.
It however appears to have lost effectiveness because (taken from the docs): 
 Beginning with glib 2.6 the default build does not allow functions…
Continuous integration 
(CI) support in github is a very useful addition. 
Not only can you utilize existing services like Travis CI, 
you can utilize the github API and roll your
 own , which is
exactly what we did for libStorageMgmt .
LibStorageMgmt needs to run tests for hardware specific plugins, so we created
our own tooling to hook up github and our hardware which…
While working on lvm-dubstep 
the question was posed if D-bus could handle the number of changes that could
happen in a short period of time, especially PropertiesChanged signals when a
large number of logical volumes or physical volumes were present on the system
(eg. 120K PVs and 10K+ LVs). To test this idea I put together a simple server
and client which simply tries to send…
The documentation on the gnu libtool manual states: 
 
 The following explanation may help to understand the above rules a bit better: consider that there are three possible kinds of reactions from users of your library to changes in a shared library: 
 
 Programs using the previous version may use the new version as drop-in replacement, and programs using the new version can also…
Introduction on two factor authentication 
 Please read the following information on two factor authentication and why
you would want to use it.
 http://en.wikipedia.org/wiki/Two-step_verification 
 NOTE: Make sure you leave a terminal with root access if you are using a remote system until you have tested that you can indeed authenticate to it! 
 Steps tested on OpenBSD 5.4,…
For an introduction to buffer bloat read more here
 http://en.wikipedia.org/wiki/Bufferbloat . My home network utilizes OpenBSD and the built in packet filter (pf). I use cable for broadband internet and found that if I tried to upload a large file my internet connecting became very unable with high amounts of latency. After utilizing tools such as http://netalyzr.icsi.berkeley.edu/blog/…
NOTES: 
 
 Updated 4/2/2015 to reflect new project links and updated command line syntax 
 Updated 5/20/2021 to reflect new IRC service 
 Updated 7/18/2023 removed IRC channel 
 
 
 Abstract This paper discusses some of the advanced features that can be used in modern storage subsystems to improve IT work flows. Being able to manage storage whether it be direct…
A local contractor installed a new furnace and water heater for me on 1/21/2013.
The install appeared to go well. The furnace is keeping our house warm and the
water heater runs without making crazy noise and it is producing hot water.
All is perfect in the world, well not quite… 
 While checking out the water
heater (AO Smith GDHE-50) I noticed that the lower side connect was…
American water heater company, the maker of the water heater I installed issued
me a return authorization number for the water heater that would not run when
installed per the instructions. I installed the new one (1/5/2013) and this one
works better (it will start), but still not great. It makes noise when starting
and the flame is quite yellow and has bad shape. I have posted…
Ben, a plumber from K&S came by and spent 3 hours going over my install and inspecting the water heater. He found nothing wrong with my install, whew! After talking to technical support we got the unit running by removing the intake and restricting the exhaust. We had hot water, but the install wasn’t going to pass code as it deviated from the installation instructions. 
 Water heaters go…
As I was unable to correct the negative pressure causing my atmospherically vented natural gas water to back draft at start, I decided to replace it. The 15 year old AO Smith 40 gallon, 40K BTU water heater had absolutely no issues, except that it left our house hold yearning for more hot water. 
 Obviously a new atmospheric vented water heater was out as it would exhibit the same problem as…
In a previous posting I mentioned running into an issue with our water
heater failing to draft when all the exhaust fans and clothes dryer
running. I did some research and through testing I thought the entire
issue could be resolved by adding more “make-up air”. Thus I added a
6″ duct into our mechanical room. This was in addition to our existing
5″. You would think that after…
Over Thanksgiving I discovered a torrent of cold air pouring behind our shower in the basement and tracked it to a large opening in our attic. That same day I went and picked up some additional insulation and proceeded to close the opening. Problem solved right? Nope, instead I found out by sealing this rather large hole I made our home too tight. The problem is that in worst case testing (all…