Sudoku


Aan Zet


Vorto


Snook.ca

Life and Times of a Web Developer

The End and The Beginning

Welcome to the beginning. The end happened months ago but like many endings, sometimes they take awhile.

The End

Snook.ca has, for the better part of of the last 25 years, been mostly a professional outlet for me. What started out as “Technical Articles” turned into “a collection of tips, tricks, and bookmarks on web development” to just “Tips, Tricks, and Bookmarks on Web Development.” Stepping away from full time web design and development, I found myself writing more personal posts and changed the tagline to “Life and Times of a Web Developer” about a year ago or so to reflect that change.

On top of that, the design for the site had only changed marginally over the last 17 years. It was time for something new. I initially had some grand plans to push the limits of CSS or use some bleeding edge features as a way of stretching my dev skills that had gone somewhat dormant since the start of the pandemic. Instead, as I played with the design, I became more enamoured with simplicity—a better reflection of my personal life. (Ultimately, I also knew that if I made it too complex, I’d create roadblocks to wanting to work on the site.)

To start something fresh and new, I thought it best to put a bow on the old stuff and tuck it away. All of those old posts were and are aptly named Archives. It’s similar to how Jason Santa Maria or Rob Weychert have their site versioning: the content and design are set in stone. Everything as of April 2026 was converted into static pages, no longer powered by CakePHP.

Version 10: Archives

The time between April and now has been spent cleaning up a bunch of the cruft that had built up over the years. It also included working on a new site design that I’d be happy enough to launch with and then continue to iterate on after it has gone live.

The Beginning

That’s technically where we are now. This is the inaugural post of the new site. If you’re reading this via RSS, you may be realizing now that I’ve kept the same path for the feed. The journal is now called Everything and Nothing. It might be self evident but it’s because the journal is about everything and nothing. There are no categories like there were before. (Although I had all but removed the categories from the previous version. The URL was the only tell left.)

The design is a continued evolution of what came before. The “bookmark” in the header is now in tatters. The paper background and pencil lines are gone, leaving just a solid colour. The wavy lines are gone. The simple palette is still the same colours as before: the cream, the grey, and the green haven’t changed. I was able to finally get a dark mode added to the site, which is just the cream and the grey swapped. There's that simplicity again.

I also played with scroll-based animations using view-timeline. If you’re in Firefox, you can enable them in your settings. If not, the site works fine either way. Chrome and Safari support them. There’s some grid, @support, clamp and custom properties. Nothing ground breaking.

I decided not to have a main navigation. Mostly because it’s not necessary. Simplicity, yet again. My theory is that anybody who gets dropped into the middle of the site will go to the home page, if they go anywhere else at all.

Version 11: Simplicity

Under the hood, I’m now using 11ty. I’ve used it for a few other projects and I like its approach. I’m familiar with it and I knew it would do what I needed it to do for this.

Evolution

This design is an evolution and it will continue to evolve. This just marks the beginning. Or is it the end it’s marking? Or is it neither since this is just an evolution? Like a moth turning into a butterfly? gags How cliché.

Whatever it is, the site marches on. For those of you who consume via RSS and never click through, you’ll not see any different. The post frequency will continue to ebb and flow.

I’ve thought about consolidating things like the Photos and whisky reviews into the main site, allowing an easier way to weave all the pieces together, playing with themes built off the base design. That might happen.

Similar to the previous design that slowly changed over the years, this design, too, will slowly change as I add and remove and shift elements. This site is my playground, after all. As others have described their own sites, it’s my worry stone, my prayer beads. It provides me a place to practice my craft of design, development, and writing.

Importantly, it continues to provide a space outside of the algorithm, for myself and for others.

Slashdot

News for nerds, stuff that matters

How the FSF Sysadmins are Blocking Botnets with reaction

For nearly two years the Free Software Foundation has been fighting web crawlers (including many aggressively scraping training data for AI models). A botnet controlling about five million IPs hit one system for six months in 2025. Their systems administrator wrote this week that they view these as distributed denial-of-service attacks.

How are they fighting back?


We noticed patterns in the scrapers that were abnormal, which gave us material for writing regular expressions. Searching for the regular expression then gave us a large lists of IP addresses. Looking up the origin of those IP addresses revealed that some of the crawlers were using botnets of residential IP addresses to scrape faster and avoid detection. We looked for what kinds of botnets might be generating the kind of traffic that we were seeing, and one that we suspected was called the "Vo1d" botnet, comprised of smart TVs running some sort of compromised app... We got confirmation that at least some of the botnet traffic hitting GNU Savannah was originating through the Vo1d/Popa botnet.



We placed our regular expressions in fail2ban, and found that we were hitting the maximum rules that could be added to UFW firewall rules on our systems which showed degradation around 65,000 rules... We learned about ipset and configured fail2ban to add IP addresses that it found to IP sets. Using ipset, we kept building larger IP sets and did not find instability with as large as five million rules...


We eventually found a promising project on Framasoft's forge Framagit called reaction written by ppom... After we ran into scaling issues with our initial implementation, we developed a much faster implementation where the reaction shutdown process would export the IP sets to disk and the reaction startup process would restore the IP sets. This allowed us to have nearly instantaneous restarts of the service to apply new rules. We published both of our configurations upstream to reaction's wiki so that everyone can benefit from it. reaction's getting started documentation now leads to the method that we proposed...


Many sysadmins know about fail2ban, but not enough people know about reaction. I am very grateful to ppom for the help they have provided and for the tremendous project they have released to the world with reaction. We have implemented other defenses as well, but reaction is doing the majority of the automated work keeping our sites online.

Read more of this story at Slashdot.

DuckDuckGo's Browser Now Blocks Most YouTube Ads

Nerds.xyz reports:


DuckDuckGo just gave its browser a feature that a lot of people have been waiting for. The privacy-focused browser can now block most video ads on YouTube, letting users watch videos without sitting through the pre-roll and mid-roll interruptions that have become part of everyday life on the platform. The feature is already enabled by default for iPhone, Windows, and Mac users running the latest version of the browser. Android users can turn it on manually... with DuckDuckGo planning to enable it by default in a future update...

To make it work, DuckDuckGo relies on the same community-maintained filter lists used by uBlock Origin, along with some of its own compatibility rules. The company says you might notice a bit of extra buffering before a video starts, but once playback begins, most ads should be gone.

Slashdot reader BrianFagioli argues that the feature raises questions about how creators are compensated when ad revenue is bypassed.

Read more of this story at Slashdot.

Orbital Datacenter Plans Need an Environmental Review, FCC Told

Environmental groups want America's FCC "to slam the brakes on orbital datacenters," writes The Register.
They're arguing for an environmental impact assessment for what could be 1 million satellites:

Earthjustice, acting on behalf of DarkSky International, Environment America, and Public Employees for Environmental Responsibility (PEER), filed a petition this week... The filing doesn't target any single company. Instead, it asks the regulator to put the entire emerging orbital datacenter sector on hold while it assesses the cumulative effects of proposals from SpaceX, Starcloud, Blue Origin, Cowboy Space, and any similar applications that follow. According to the petition, those proposals collectively seek "well over a million datacenter satellites" in low Earth orbit.... " increasing the existing volume of satellites in low-earth orbit by multiple orders of magnitude."

The groups argue that the FCC is trying to apply licensing rules written for much smaller satellite constellations to an entirely new class of infrastructure. "If ever a situation warranted a Programmatic Environmental Impact Statement [PEIS], it is this one," the petition says. It argues that a single review would allow the agency to examine "the risks, alternatives, needs, costs, and impacts of this sudden transformation of Earth's exosphere" before deciding whether any of the projects are in the public interest. The petition raises concerns about rocket launch emissions, pollutants released as satellites burn up during atmospheric reentry, depletion of the ozone layer, orbital debris, light pollution, impacts on wildlife, and interference with astronomy.

It also argues that the combined effects of these constellations cannot be understood by evaluating applications one at a time.... "It is difficult to imagine a better example of multiple projects presenting essentially identical impacts and risks that compound synergistically and cumulatively than the present proposals..." The petition argues that the FCC's current approach, which generally treats satellite licenses as categorically excluded from detailed environmental review, is no longer fit for proposals measured not in dozens or thousands of spacecraft but in hundreds of thousands and, potentially, millions.
If the FCC agrees, orbital datacenter operators will have a mountain of paperwork to clear before sending their hardware skyward.

Read more of this story at Slashdot.

Vanillasludge posted a photo:

Famous Blue Dumpster. Apologies to Leonard Cohen

Well It's Just That I've Been Losing So Long

Thomas Hawk posted a photo:

Well It's Just That I've Been Losing So Long

Jump Right In and Swim Until You're Free

Thomas Hawk posted a photo:

Jump Right In and Swim Until You're Free

Nothing Wrong

Thomas Hawk posted a photo:

Nothing Wrong

Found Slide

Thomas Hawk posted a photo:

Found Slide

date stamped on slide, July 1983

Found Photograph

Thomas Hawk posted a photo:

Found Photograph

About New York

Thomas Hawk posted a photo:

About New York

Want to Be Friends?

Thomas Hawk posted a photo:

Want to Be Friends?

Multiverse

Thomas Hawk posted a photo:

Multiverse

Eagle Rock

Thomas Hawk posted a photo:

Eagle Rock

Hanging Out With Your Sea Lion Friends

Thomas Hawk posted a photo:

Hanging Out With Your Sea Lion Friends

s t a r e

Colin_Bates has added a photo to the pool:

s t a r e

Andreas Gohr: Weblog [splitbrain.org]

Weblog on technology, programming and personal stuff by Andreas Gohr.

Home Assistant Transplant

Home Assistant Transplant

I have been running Home Assistant on a Raspberry Pi 4 for about five years now. A short while ago, homeassistant was suddenly no longer responding. Neither web ui nor a SSH login worked. So I cut the RPi's power and rebooted it. That seemed to have fixed it and I didn't think about it.

The old Raspberry Pi4

Then this weekend I wanted to update Home Assistant and create a backup as usual beforehand. But somehow this backup always failed with

failed to perform the action update/install. Error creating backup: Backup failed: [{'type': 'HomeAssistantBackupError', 'message': “Preparing backup of Home Assistant Core failed. Failed to inform HA Core: Unsuccessful websocket message - {'id': 232, 'type': 'result', 'success': False, 'error': {'code': 'pre_backup_actions_failed', 'message': 'Error during pre-backup: Could not lock database within 30 seconds.'}}.”, 'stage': 'home_assistant', 'error_key': None, 'extra_fields': None}]

Looking at the logs I saw

The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly

Apparantly my sudden reboot had corrupted one of the sqlite databases.

I tried to follow this blog post to recover the database but it didn't work. Home Assistant did not like the restored version.

So my only chance was to restore the database from a backup. Unfortunately the same issue had also influenced the automatic backups. The latest usable one was from 28th of June. So about two weeks of historical sensor data is lost.

Since I hade to restore a backup anyway. I decided to do what I had planned for a long time: move HA off the Raspberry and thus an SD card, to a “proper” system with a SSD.

I still had an old Celeron 3855U based Mini-PC, that I had used a home lab Docker server until I set up my new NAS. It has 32gigs of RAM and a 500GB SSD – more than enough for Home Assistant.

Shuttle MiniPC

I followed the official guide to set up Home Assistant OS from a Ubuntu Live image. To avoid having to connect a monitor and peripherals during setup, I used my Nano KVM - worked like a charm.

Nano KVM

The rest was pleasantly simple. Once Home Assistant is up, you simply upload the backup during the onboarding phase – it takes a while to restore and then your Home Assistant is up and running as usual. The only thing I had to change, was the IP address (that made all my external integrations like MQTT and Grott work again) and switch the (no longer existing) RPi bluetooth adapter for the builtin one of the MiniPC.

I am glad my Home Assistant is working again. It has become an indespensible part of how my home works.

Tags:
home-assistant
Similar posts:

Add or read comments to this article »»

Copyright © 2026 Andreas Gohr
This feed is for personal, non commercial use in the subscriber's feedreader only.
All contents (especially texts and images) are protected by copyright law and may not be republished outside of splitbrain.org without prior consent. Texts may be quoted in extracts under fair use policy. [digital fingerprint: sb97741286f601b4a0d496dc8bae242e6d]