# script

Published articles for script.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Libreboot 20140903 release

DevFeed: [Libreboot 20140903 release](<https://devfeed.tech/articles/libreboot-20140903-release-32693.md>)

Original publisher: [Read original article](<https://libreboot.org/news/libreboot20140903.html>)

Author: Leah Rowe

Published: 2026-09-17T04:32:50.666044Z

Content type: release

Language: en

Sources: [News about Libreboot releases and development](<https://devfeed.tech/sources/news-about-libreboot-releases-and-development.md>)

Topics: [libreboot](<https://devfeed.tech/topics/libreboot.md>), [coreboot](<https://devfeed.tech/topics/coreboot.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [bios](<https://devfeed.tech/tags/bios.md>), [canoeboot](<https://devfeed.tech/tags/canoeboot.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [coreboot](<https://devfeed.tech/tags/coreboot.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [free-software](<https://devfeed.tech/tags/free-software.md>), [grub](<https://devfeed.tech/tags/grub.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [libre](<https://devfeed.tech/tags/libre.md>), [libreboot](<https://devfeed.tech/tags/libreboot.md>), [opensource](<https://devfeed.tech/tags/opensource.md>), [patches](<https://devfeed.tech/tags/patches.md>), [release](<https://devfeed.tech/tags/release.md>), [script](<https://devfeed.tech/tags/script.md>), [uefi](<https://devfeed.tech/tags/uefi.md>), [updated](<https://devfeed.tech/tags/updated.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

The Libreboot 20140903 release, identified as the sixth beta, updates Libreboot with a newer coreboot version, revised build and configuration scripts, updated GRUB and flashprog components, documentation changes, and improvements to SeaBIOS, MemTest86+, and supported hardware.

### Source excerpt

Article: Libreboot 20140903 release Web link: https://libreboot.org/news/libreboot20140903.html

## Libreboot 20140720 release

DevFeed: [Libreboot 20140720 release](<https://devfeed.tech/articles/libreboot-20140720-release-32690.md>)

Original publisher: [Read original article](<https://libreboot.org/news/libreboot20140720.html>)

Author: Leah Rowe

Published: 2026-09-17T04:32:50.666044Z

Content type: release

Language: en

Sources: [News about Libreboot releases and development](<https://devfeed.tech/sources/news-about-libreboot-releases-and-development.md>)

Topics: [libreboot](<https://devfeed.tech/topics/libreboot.md>), [coreboot](<https://devfeed.tech/topics/coreboot.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [bios](<https://devfeed.tech/tags/bios.md>), [canoeboot](<https://devfeed.tech/tags/canoeboot.md>), [coreboot](<https://devfeed.tech/tags/coreboot.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [free-software](<https://devfeed.tech/tags/free-software.md>), [libre](<https://devfeed.tech/tags/libre.md>), [libreboot](<https://devfeed.tech/tags/libreboot.md>), [opensource](<https://devfeed.tech/tags/opensource.md>), [release](<https://devfeed.tech/tags/release.md>), [script](<https://devfeed.tech/tags/script.md>), [security](<https://devfeed.tech/tags/security.md>), [uefi](<https://devfeed.tech/tags/uefi.md>)

### AI overview

Libreboot 20140720 is a third-beta release update covering documentation, build-script refactoring, ROM image and GRUB configuration changes, renamed files, and security documentation for supported hardware.

### Source excerpt

Article: Libreboot 20140720 release Web link: https://libreboot.org/news/libreboot20140720.html

## CodeSOD: An Odd Sort

DevFeed: [CodeSOD: An Odd Sort](<https://devfeed.tech/articles/codesod-an-odd-sort-28504.md>)

Original publisher: [Read original article](<https://thedailywtf.com/articles/an-odd-sort>)

Author: Remy Porter

Published: 2026-09-15T06:30:00Z

Content type: opinion

Language: en

Sources: [The Daily WTF](<https://devfeed.tech/sources/the-daily-wtf.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [PowerShell](<https://devfeed.tech/topics/powershell.md>), [Script](<https://devfeed.tech/topics/script.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [codesod](<https://devfeed.tech/tags/codesod.md>), [csv](<https://devfeed.tech/tags/csv.md>), [excel](<https://devfeed.tech/tags/excel.md>), [powershell](<https://devfeed.tech/tags/powershell.md>), [report](<https://devfeed.tech/tags/report.md>), [script](<https://devfeed.tech/tags/script.md>), [sorting](<https://devfeed.tech/tags/sorting.md>)

### AI overview

The article critiques a PowerShell script that queries Active Directory for users and their last logon times. It explains that the script's alphabet-based approach does not correctly sort names, performs unnecessary searches and property loading, and generates a CSV report for Excel despite these inefficiencies.

### Source excerpt

Let's say we wanted to query Active Directory and print out a report of all of our users, and their last logon time. That seems like a pretty normal task for a Powershell script. It'd probably be short and easy to read, at least if it were written by a normal person. Alice sends us one that wasn't. She's already done us a favor, as she writes: "Code cleaned up and indented for the whitespace-missing-impaired." ##################################### # lists accounts and selected attributes alphabetically ##################################### foreach( $letter in "a", "b", "c"......"z") { $strfilter = $letter + "*" $objdomain = New-object System.DirectoryServices.DirectoryEntry $objSearcher = New-object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = $objdomain $objSearcher.Filter = $strFilter $objSearcher.PropertiesToLoad.Add("name"); $colResults = $objSearcher.FindAll() foreach($result in $colResults) { $name = $result.Properties.Name $searcher = New-Object DirectoryServices.DirectorySearcher([adsi]"") $searcher.filter "(&(objectCategory=User)(sAMAccountName=$name))" $users = searcher.FindAll() foreach($user in $users) { Write-Output $user.properties.item("name") + "," + $user.properties.item("lastLogon") } } } This accomplishes sorting alphabetically by iterating across the alphabet. Which, I suspect, isn't going to actually get them in alphabetical order; it makes sure that albert and alice appear before bob, but doesn't enforce that albert must come before alice. In any case, we iterate across the alphabet, and then create a searcher that finds a*, then b*, etc. We explicitly tell the searcher that the only property we care about is the name field, so that we don't load unnecessary fields, like the ones we want to report on. We then iterate across the list of names, construct a new searcher, and search for the account with the username we fetched. That lets us get all of the fields we need, including the ones we aren't going to use. Now, we sea

## Koko, KMP Starter Kit -- Part 3: Publishing: Your App in the Stores

DevFeed: [Koko, KMP Starter Kit -- Part 3: Publishing: Your App in the Stores](<https://devfeed.tech/articles/koko-kmp-starter-kit-part-3-publishing-your-app-in-the-stores-22948.md>)

Original publisher: [Read original article](<https://proandroiddev.com/kmp-starter-kit-part-3-publishing-your-app-in-the-stores-fd64d3629c02?source=rss----c72404660798---4>)

Author: Mirzamehdi Karimov

Published: 2026-09-14T04:48:22Z

Content type: tutorial

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [Script](<https://devfeed.tech/topics/script.md>), [Development](<https://devfeed.tech/topics/development.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [development](<https://devfeed.tech/tags/development.md>), [github](<https://devfeed.tech/tags/github.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [script](<https://devfeed.tech/tags/script.md>)

### AI overview

This tutorial explains the publishing phase of the KMP Starter Kit, covering store accounts, app identifiers, configuration checks, privacy and terms URLs, support email, and publishing both apps from GitHub without a Mac. It also describes Google Play's closed-testing requirement for individual accounts.

### Source excerpt

Part 3 of 4: the third phase of the KMP contest starter kit. What to check when publishing, what the stores ask for, and how to publish both apps from GitHub without having a Mac. New here? Part 1 introduces the kit and gets your app running on your machine. Part 2 connects it to Firebase, sign in and a backend. You've finished the development part of your app, tested it, and it works. Screens done, data saved, maybe some services connected from part 2. Now comes the publishing part, and it can look complicated at first. But publishing is mostly a checklist, and the kit ships the checklist as a script: ./MobileApp/scripts/check_env.sh --phase publishing Or ask your AI coding assistant "is my app ready to publish?" and it runs this instead of guessing. It checks the things people forget: are the privacy policy and terms URLs real pages instead of placeholders? Is the contact email still support@example.com? Is your AI feature still calling providers directly with a key that would ship inside the binary? Each warning points at the fix. The rest of this post goes through the phase in order. A few steps involve waiting, so it's better to read it once first and start those early. Store accounts You need a developer account with each store. Google Play: $25, once. Apple: $99 per year. Start both today. Apple or Google can take days to verify a new account. Google Play has a testing rule: if you register as an individual (not a company), you can't publish to production until your app has run a closed test with at least 12 testers for 14 days, and then you apply for production access. Company accounts skip this, but need a registered business with a D-U-N-S number. For most first apps: register as an individual, collect 12 friends' emails now, and use those two weeks as your beta. App id and configuration Two things become permanent in this phase. The app id. Google Play ties your package name to the app on the first upload, and Apple ties the bundle id to the store record.

## Proxmox VE Helper-Scripts: guía y buenas prácticas

DevFeed: [Proxmox VE Helper-Scripts: guía y buenas prácticas](<https://devfeed.tech/articles/proxmox-ve-helper-scripts-guia-y-buenas-practicas-34076.md>)

Original publisher: [Read original article](<https://tengoping.com/blog/proxmox-ve-helper-scripts-guia-buenas-practicas/>)

Author: Antonio Pérez

Published: 2026-08-04T00:00:00Z

Content type: tutorial

Language: es

Sources: [tengoping.com](<https://devfeed.tech/sources/tengoping-com.md>)

Topics: [Proxmox](<https://devfeed.tech/topics/proxmox.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Script](<https://devfeed.tech/topics/script.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [qemu](<https://devfeed.tech/topics/qemu.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [community](<https://devfeed.tech/tags/community.md>), [github](<https://devfeed.tech/tags/github.md>), [http](<https://devfeed.tech/tags/http.md>), [proxmox](<https://devfeed.tech/tags/proxmox.md>), [qemu](<https://devfeed.tech/tags/qemu.md>), [root](<https://devfeed.tech/tags/root.md>), [script](<https://devfeed.tech/tags/script.md>), [scripts](<https://devfeed.tech/tags/scripts.md>), [shell](<https://devfeed.tech/tags/shell.md>)

### AI overview

This guide explains what Proxmox VE Helper-Scripts are, how community-scripts.org uses Bash scripts to deploy applications in LXC containers or QEMU virtual machines, and how the main script downloads and runs the required components. It also highlights the security risk of executing third-party code as root on a Proxmox hypervisor.

### Source excerpt

Qué son los Proxmox VE Helper-Scripts de community-scripts.org, cómo despliegan LXC y VMs con un solo comando y qué riesgos de seguridad debes valorar.

## AI Coding Tip 030 - Script Your Skills, Not Your Prompts

DevFeed: [AI Coding Tip 030 - Script Your Skills, Not Your Prompts](<https://devfeed.tech/articles/ai-coding-tip-030-script-your-skills-not-your-prompts-18220.md>)

Original publisher: [Read original article](<https://maximilianocontieri.com/ai-coding-tip-030-script-your-skills-not-your-prompts>)

Author: Maxi Contieri

Published: 2026-07-31T22:54:55Z

Content type: tutorial

Language: en

Sources: [Maximiliano Contieri - Software Design](<https://devfeed.tech/sources/maximiliano-contieri-software-design.md>)

Topics: [Script](<https://devfeed.tech/topics/script.md>), [coding](<https://devfeed.tech/topics/coding.md>), [API](<https://devfeed.tech/topics/api.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [coding](<https://devfeed.tech/tags/coding.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [script](<https://devfeed.tech/tags/script.md>), [test](<https://devfeed.tech/tags/test.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

### AI overview

The article recommends turning repeatable AI skill steps into tested scripts instead of relying on repeated free-form prompts. It explains that scripts improve determinism, reduce token use, keep credentials in configuration files, support retries and timeouts for API calls, and make failures easier to diagnose. The model should handle judgment calls such as selecting which script to run.

### Source excerpt

TL;DR: Turn repeatable skill steps into tested scripts instead of prompts, so behavior stays deterministic and cheap. Common Mistake ❌ You ask the AI to repeat the same multi-step task through free-f

## Hpf-passwd: Easily change passwords while using \`hashedPasswordFile\`

DevFeed: [Hpf-passwd: Easily change passwords while using \`hashedPasswordFile\`](<https://devfeed.tech/articles/hpf-passwd-easily-change-passwords-while-using-hashedpasswordfile-31351.md>)

Original publisher: [Read original article](<https://discourse.nixos.org/t/hpf-passwd-easily-change-passwords-while-using-hashedpasswordfile/79254>)

Author: Anomalocaris

Published: 2026-07-31T01:54:54Z

Content type: article

Language: en

Sources: [Announcements - NixOS Discourse](<https://devfeed.tech/sources/announcements-nixos-discourse.md>)

Topics: [passwords](<https://devfeed.tech/topics/passwords.md>), [passwd](<https://devfeed.tech/topics/passwd.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [account](<https://devfeed.tech/topics/account.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [config](<https://devfeed.tech/tags/config.md>), [passwd](<https://devfeed.tech/tags/passwd.md>), [passwords](<https://devfeed.tech/tags/passwords.md>), [script](<https://devfeed.tech/tags/script.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The author introduces hpf-passwd, a standalone script for changing passwords for NixOS user accounts configured with hashedPasswordFile. It imitates passwd's semantics but is not a complete drop-in replacement and currently lacks features such as password expiration management.

### Source excerpt

For a while, I've used users.users.*.hashedPasswordFile with users.mutableUsers = true to minimize configuration drift. However, as far as I could tell, no one had created a convenient way to set or change these passwords, so I wrote a quick and dirty script and called it a day. More recently, I was reworking this script and realized I could decouple it completely from my config, spin it off into its own project, and polish it up so other people could benefit from it. The result is hpf-passwd. Currently, it's a single script that mainly just lets you change the password of a given user account, provided it has users.users.<username>.hashedPasswordFile set. Befitting its name, it tries to mimic passwd's semantics to try to be intuitive. However, it can never be a 1:1 drop-in replacement. As far as I am aware, there is no way to set things like expiration dates for passwords managed like this. I plan to eventually add some more features, like a chpasswd-style script, and features that ensure all the users with hashedPasswordFile have a password set to help with bootstrapping, but it's currently pretty barebones. However, it is enough for my personal needs at the moment and so I figure it is a good time to get some more eyes on it. github.com GitHub - Anomalocaridid/hpf-passwd: Manage passwords on NixOS systems that use... Manage passwords on NixOS systems that use `hashedPasswordFile` 1 post - 1 participant Read full topic

## Three Gradle Talks from KotlinConf 2026 (and What to Steal from Each)

DevFeed: [Three Gradle Talks from KotlinConf 2026 (and What to Steal from Each)](<https://devfeed.tech/articles/three-gradle-talks-from-kotlinconf-2026-and-what-to-steal-from-each-24622.md>)

Original publisher: [Read original article](<https://blog.gradle.org/gradle-at-kotlinconf-2026>)

Author: Laura Kassovic

Published: 2026-07-28T04:00:00Z

Content type: article

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Groovy](<https://devfeed.tech/topics/groovy.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [build](<https://devfeed.tech/tags/build.md>), [build-tool](<https://devfeed.tech/tags/build-tool.md>), [conference](<https://devfeed.tech/tags/conference.md>), [developer](<https://devfeed.tech/tags/developer.md>), [dsl](<https://devfeed.tech/tags/dsl.md>), [event](<https://devfeed.tech/tags/event.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [groovy](<https://devfeed.tech/tags/groovy.md>), [ide](<https://devfeed.tech/tags/ide.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlinconf](<https://devfeed.tech/tags/kotlinconf.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [script](<https://devfeed.tech/tags/script.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [talk](<https://devfeed.tech/tags/talk.md>), [talks](<https://devfeed.tech/tags/talks.md>)

### AI overview

The article reviews three Gradle talks from KotlinConf 2026. It explains the progression from Groovy build scripts to the Kotlin DSL and early Declarative Gradle, emphasizing the problems each approach addresses. It also introduces Gradle best practices for organizing and optimizing builds.

### Source excerpt

Every year I tell myself I'll watch every conference talk I missed. Every year I get through maybe three before a build breaks and I get pulled back into real life. KotlinConf is the one event where I actually follow through, partly because the talks are short and dense, and partly because a good chunk of my coworkers and friends are on stage. This year in Munich, three of them talked about Gradle: Paul Merlin on the history of our DSLs, Stefan Wolf on best practices, and Marcin Mycek on Declarative Gradle for Kotlin. I watched all three so you can decide which ones are worth your fifteen minutes. A Tale of the Gradle DSLs -- Paul Merlin Paul has been inside Gradle's DSL machinery for years, which makes him exactly the right person to tell this story and exactly the wrong person to pretend the early days were clean. The talk traces how build logic went from Groovy, to the Kotlin DSL, to Declarative Gradle. The useful part isn't the timeline. It's that each of those was solving a real problem the previous one couldn't. Groovy gave us a flexible, dynamic scripting language, which was great right up until you wanted your IDE to tell you what was valid. The Kotlin DSL brought static typing, real autocompletion, and refactoring that doesn't rely on hope. That's why the Kotlin DSL is now the default for new Gradle builds. Declarative Gradle is the next swing: describe what your build is rather than script how it runs. The honest through-line is that none of these fully replaces the last one. Kotlin DSL is where most people should be today. Groovy still runs an enormous amount of the world's build logic and isn't going anywhere fast. Declarative Gradle is early but points at where things are headed. Real talk: if your build scripts are still Groovy and still working, you don't have to panic-migrate this weekend. But if you're starting something new, reach for the Kotlin DSL and let the IDE carry some of the weight. 📺 Watch the talk 10 Gradle Best Practices Every Kotlin Deve

## Cracking simple XOR cipher with simulated annealing, part II

DevFeed: [Cracking simple XOR cipher with simulated annealing, part II](<https://devfeed.tech/articles/cracking-simple-xor-cipher-with-simulated-annealing-part-ii-20548.md>)

Original publisher: [Read original article](<https://yurichev.com/blog/SA_XOR_nethack/>)

Published: 2026-06-21T22:00:00Z

Content type: tutorial

Language: en

Sources: [Dennis Yurichev](<https://devfeed.tech/sources/dennis-yurichev.md>)

Topics: [Encryption](<https://devfeed.tech/topics/encryption.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [encryption](<https://devfeed.tech/tags/encryption.md>), [script](<https://devfeed.tech/tags/script.md>), [video](<https://devfeed.tech/tags/video.md>), [xor](<https://devfeed.tech/tags/xor.md>)

### AI overview

A technical blog post describes using simulated annealing to crack a simple XOR cipher found in NetHack's nhdat file. The author identifies a repeating five-character pattern, finds the XOR key, and confirms that the decrypted result is English text.

### Source excerpt

Cracking simple XOR cipher with simulated annealing, part II

## KPN Interactieve TV zonder Experia Box

DevFeed: [KPN Interactieve TV zonder Experia Box](<https://devfeed.tech/articles/kpn-interactieve-tv-zonder-experia-box-36467.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/kpn-interactieve-tv-zelf-doen/>)

Published: 2026-06-07T10:36:42Z

Content type: tutorial

Language: nl

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [multicast](<https://devfeed.tech/topics/multicast.md>), [DHCP](<https://devfeed.tech/topics/dhcp.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Script](<https://devfeed.tech/topics/script.md>), [Internet](<https://devfeed.tech/topics/internet.md>), [proxy](<https://devfeed.tech/topics/proxy.md>), [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>)

Tags: [dhcp](<https://devfeed.tech/tags/dhcp.md>), [internet](<https://devfeed.tech/tags/internet.md>), [linux](<https://devfeed.tech/tags/linux.md>), [multicast](<https://devfeed.tech/tags/multicast.md>), [pi](<https://devfeed.tech/tags/pi.md>), [pppoe](<https://devfeed.tech/tags/pppoe.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [script](<https://devfeed.tech/tags/script.md>), [vlan](<https://devfeed.tech/tags/vlan.md>), [vlans](<https://devfeed.tech/tags/vlans.md>)

### AI overview

This tutorial explains how to use a KPN Interactieve TV Set Top Box without an Experia Box. It describes the required KPN VLANs, multicast and IGMP proxy setup, DHCP option 60, and a Linux script that can run even on a Pi Zero. The author notes that the instructions were updated in June 2026 and includes a factory-reset tip.

### Source excerpt

Ik ben een heel tevreden klant van KPN Internet. Om diverse redenen gebruik ik de Experia Box niet, maar ik wil wel graag TV kunnen kijken met de KPN Interactieve TV Set Top Box ("5202"). Vroeger ging dat "vanzelf goed", tegenwoordig is daar wat werk voor nodig. UPDATE Juni 2026 (na 5 jaar!): de instructies werken weer, er is een update geweest in het igmpproxy.conf bestand. Ook heb ik een tip toegevoegd hoe de ontvanger terug te brengen naar fabrieksinstellingen, wat bij mij recent nodig was.

## Unsubscribe from a GitHub organization

DevFeed: [Unsubscribe from a GitHub organization](<https://devfeed.tech/articles/unsubscribe-from-a-github-organization-37720.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/gh-org-unsub/>)

Author: Carlos Alexandro Becker

Published: 2026-05-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [GitHub](<https://devfeed.tech/topics/github.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [notifications](<https://devfeed.tech/topics/notifications.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Script](<https://devfeed.tech/topics/script.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [github](<https://devfeed.tech/tags/github.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [repositories](<https://devfeed.tech/tags/repositories.md>), [script](<https://devfeed.tech/tags/script.md>), [shell](<https://devfeed.tech/tags/shell.md>)

### AI overview

A short tip explains that leaving a GitHub organization does not stop notifications from open-repository issues and pull requests. The author used a shell script to unsubscribe from those items and close remaining open pull requests.

### Source excerpt

Just leaving the organization is not enough.

## Malicious axios versions published to npm: Chainguard customers protected

DevFeed: [Malicious axios versions published to npm: Chainguard customers protected](<https://devfeed.tech/articles/malicious-axios-versions-published-to-npm-chainguard-customers-protected-13145.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/malicious-axios-versions-published-to-npm-chainguard-customers-protected>)

Published: 2026-03-31T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [axios](<https://devfeed.tech/topics/axios.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Remote Access Trojan](<https://devfeed.tech/topics/remote-access-trojan.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [payload](<https://devfeed.tech/topics/payload.md>), [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Script](<https://devfeed.tech/topics/script.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [macOS](<https://devfeed.tech/topics/macos.md>)

Tags: [axios](<https://devfeed.tech/tags/axios.md>), [axios-attack](<https://devfeed.tech/tags/axios-attack.md>), [axios-npm-attack](<https://devfeed.tech/tags/axios-npm-attack.md>), [axios-supply-chain-attack](<https://devfeed.tech/tags/axios-supply-chain-attack.md>), [c2](<https://devfeed.tech/tags/c2.md>), [chainguard-actions](<https://devfeed.tech/tags/chainguard-actions.md>), [chainguard-axios](<https://devfeed.tech/tags/chainguard-axios.md>), [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [chainguard-npm-libraries](<https://devfeed.tech/tags/chainguard-npm-libraries.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [files](<https://devfeed.tech/tags/files.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [npm](<https://devfeed.tech/tags/npm.md>), [npm-packages](<https://devfeed.tech/tags/npm-packages.md>), [payload](<https://devfeed.tech/tags/payload.md>), [remote-access-trojan](<https://devfeed.tech/tags/remote-access-trojan.md>), [script](<https://devfeed.tech/tags/script.md>), [supply-chain-attacks](<https://devfeed.tech/tags/supply-chain-attacks.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The article reports that two malicious axios versions were published to npm with a hidden dependency that deployed a cross-platform remote access trojan on macOS, Windows, and Linux. It explains the compromised maintainer account, post-install execution, command-and-control communication, payload delivery, and recommended auditing and remediation steps. Chainguard customers were protected by package-blocking and source-verification controls.

### Source excerpt

Malicious axios versions on npm delivered a RAT via a hidden dependency. Chainguard customers were protected by blocking unsafe packages and verifying source.

## netlab: Switch to Lab Directory After an SSH Session Loss

DevFeed: [netlab: Switch to Lab Directory After an SSH Session Loss](<https://devfeed.tech/articles/netlab-switch-to-lab-directory-after-an-ssh-session-loss-11350.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2026/03/netlab-switch-lab-directory/>)

Published: 2026-03-23T07:31:00Z

Content type: tutorial

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [ssh](<https://devfeed.tech/topics/ssh.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Script](<https://devfeed.tech/topics/script.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [netlab](<https://devfeed.tech/tags/netlab.md>), [script](<https://devfeed.tech/tags/script.md>), [server](<https://devfeed.tech/tags/server.md>), [ssh](<https://devfeed.tech/tags/ssh.md>)

### AI overview

This tutorial shows how to use netlab status and jq in a Bash alias to return to the directory of a lab after reconnecting to a netlab server following an SSH session loss.

### Source excerpt

I work on a laptop that loves to power down when not used (the right thing to do), which often breaks the SSH session to my netlab server (not so good). Reconnecting is trivial. Figuring out which lab I was working on and where it lives on the disk after a few hours? That's the annoying part. We solved most of that ages ago with the netlab status --all command. It shows all running labs1 and their directories, so you can quickly jump back to where you were. However, even that gets tedious the 100th time you have to do it. Read more ...

## Create an HTML version of an OpenAPI spec

DevFeed: [Create an HTML version of an OpenAPI spec](<https://devfeed.tech/articles/create-an-html-version-of-an-openapi-spec-39465.md>)

Original publisher: [Read original article](<https://akrabat.com/create-an-html-version-of-an-openapi-spec/>)

Author: Rob

Published: 2026-03-17T11:00:00Z

Content type: tutorial

Language: en

Sources: [Rob Allen](<https://devfeed.tech/sources/rob-allen.md>)

Topics: [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [html](<https://devfeed.tech/tags/html.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [script](<https://devfeed.tech/tags/script.md>), [shell](<https://devfeed.tech/tags/shell.md>)

### AI overview

A short shell script uses Scalar to convert OpenAPI specification JSON files into formatted HTML documents, making third-party API specifications easier to read.

### Source excerpt

I have a new project where we will be integrating with a third party API that is currently being written. Due to Conway's Law, we are being sent new versions of the OpenAPI spec as a set of JSON files via email. I quite like seeing the HTML rendering of an OpenAPI spec when reading it and understanding it, so I knocked up a simple shell script that takes an OpenAPI spec file and outputs... continue reading.

## AI Slop: A Slack API Rate Limiting Disaster

DevFeed: [AI Slop: A Slack API Rate Limiting Disaster](<https://devfeed.tech/articles/ai-slop-a-slack-api-rate-limiting-disaster-20527.md>)

Original publisher: [Read original article](<https://code.dblock.org/2026/03/12/ai-slop-a-slack-api-rate-limiting-disaster.html>)

Author: Daniel Doubrovkine (dblock@dblock.org)

Published: 2026-03-12T00:00:00Z

Content type: article

Language: en

Sources: [Daniel Doubrovkine](<https://devfeed.tech/sources/daniel-doubrovkine.md>)

Topics: [Slack](<https://devfeed.tech/topics/slack.md>), [API](<https://devfeed.tech/topics/api.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [async](<https://devfeed.tech/tags/async.md>), [code](<https://devfeed.tech/tags/code.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [distributed-system](<https://devfeed.tech/tags/distributed-system.md>), [rate-limiting](<https://devfeed.tech/tags/rate-limiting.md>), [retry](<https://devfeed.tech/tags/retry.md>), [script](<https://devfeed.tech/tags/script.md>), [slack](<https://devfeed.tech/tags/slack.md>)

### AI overview

The article examines an AI-generated cleanup job for closing old Slack group DM conversations. Because Slack's conversations.close endpoint has a global rate limit of one request per second, the implementation could exhaust the limit and disrupt other API calls. The author describes mitigating the issue with scheduled execution, an opt-in setting, a slow-drain script, and limiting the number of DMs closed concurrently.

### Source excerpt

Yesterday I described AI-generated code as "plausible-looking, locally coherent, globally wrong." Here's a concrete example from my own codebase. I needed a cleanup job to close old Slack group DM conversations in my slack-sup2 app. The AI-generated solution looked perfectly reasonable: def close_old_sups! return 0 unless sup_close old_sups = sups.where(conditions) old_sups.each(&:close!) old_sups.count end def close! return unless conversation_id return if closed_at logger.info "Closing DM channel #{conversation_id}..." slack_client.conversations_close(channel: conversation_id) update_attributes!(closed_at: Time.now.utc) end This code looks pretty great and completely breaks the app. Slack's API has a global rate limit of 1 request per second for the conversations.close endpoint. So, when this job runs against a workspace with hundreds of old conversations, it immediately hits the rate limit. Worse, because rate limits are global across all endpoints, it takes down the entire application. Every other API call -- posting messages, fetching user info, everything -- starts failing. I asked AI to address this. It made the fix catastrophically worse. def close! # ... existing code ... begin slack_client.conversations_close(channel: conversation_id) rescue Slack::Web::Api::Errors::TooManyRequests => e sleep_time = e.retry_after || 60 sleep(sleep_time) retry end # ... rest of method ... end In socketry/async, sleep() blocks the entire fiber and prevents other concurrent operations from executing. You should use Async::Task.sleep() instead, but that still doesn't solve the fundamental architectural problem of making hundreds of sequential API calls. What made this particularly insidious is that the assistant wrote some pretty professional-looking code and seemingly handled obvious edge cases. Yet, it failed to consider the distributed system constraints or global invariants. The rate limiting problem wasn't visible in the local scope of the method - it was a system-wide conc

## Prek, a pre-commit alternative

DevFeed: [Prek, a pre-commit alternative](<https://devfeed.tech/articles/prek-a-pre-commit-alternative-27743.md>)

Original publisher: [Read original article](<https://gagor.pro/2026/02/prek-a-pre-commit-alternative/>)

Author: Tom

Published: 2026-02-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [pre-commit](<https://devfeed.tech/topics/pre-commit.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [execution](<https://devfeed.tech/tags/execution.md>), [git-hooks](<https://devfeed.tech/tags/git-hooks.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pre-commit](<https://devfeed.tech/tags/pre-commit.md>), [prek](<https://devfeed.tech/tags/prek.md>), [projects](<https://devfeed.tech/tags/projects.md>), [rust](<https://devfeed.tech/tags/rust.md>), [script](<https://devfeed.tech/tags/script.md>), [speed](<https://devfeed.tech/tags/speed.md>)

### AI overview

The article describes switching from pre-commit to Prek, a Rust-based drop-in alternative that preserves configuration compatibility while providing faster hook execution. It also presents a script for converting multiple repositories.

### Source excerpt

Prek is a Rust-based pre-commit alternative that maintains full config compatibility while delivering significantly faster hook execution.

## Using Gemini CLI and the Obsidian CLI to manage note metadata

DevFeed: [Using Gemini CLI and the Obsidian CLI to manage note metadata](<https://devfeed.tech/articles/from-cli-to-cli-gemini-and-obsidian-32053.md>)

Original publisher: [Read original article](<https://www.maiatoday.net/p/from-cli-to-cli-gemini-and-obsidian/>)

Published: 2026-02-21T20:33:17Z

Content type: article

Language: en

Sources: [maiatoday](<https://devfeed.tech/sources/maiatoday.md>)

Topics: [Obsidian](<https://devfeed.tech/topics/obsidian-md.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [GitHub Copilot CLI](<https://devfeed.tech/topics/github-copilot-cli.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Script](<https://devfeed.tech/topics/script.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [Git](<https://devfeed.tech/topics/git.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [automation](<https://devfeed.tech/tags/automation.md>), [cli](<https://devfeed.tech/tags/cli.md>), [docs](<https://devfeed.tech/tags/docs.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [gemini-cli](<https://devfeed.tech/tags/gemini-cli.md>), [git](<https://devfeed.tech/tags/git.md>), [knowledge-management-systems-metadata](<https://devfeed.tech/tags/knowledge-management-systems-metadata.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [obsidian](<https://devfeed.tech/tags/obsidian.md>), [script](<https://devfeed.tech/tags/script.md>)

### AI overview

The author describes using Gemini CLI with the Obsidian CLI, along with shell tools and scripts, to analyze and standardize metadata across an Obsidian vault. The work covered status values, Type and ContentType properties, tags, documentation, and validation scripts for future consistency checks.

### Source excerpt

Let's talk about the "Obsidian Paralysis." For a while, I've been using Obsidian to jot down ideas, plan content, and collect those random snippets from the internet that feel like digital gold. I moved over from Notion a while back. The freedom of simple Markdown managed by Git was liberating. Pure, texty goodness. But--and there's always a but, isn't there?--one thing always held me back. That nagging little voice: Am I doing it right? I know, I know. The "experts" say just write the notes and let the system emerge organically. But I was forever second-guessing myself. Is this a status: NotStarted or status: not-started? Is the type a "thought" or a "note"? I was spending more time fiddling with the taxonomy and the metadata "meta-system" than actually creating content. But today, everything changed. I opened Obsidian and saw the news: they now have a CLI interface. 💡: "What if I introduced the Obsidian CLI to an AI Agent CLI?" For my experiments, I called in Gemini CLI. I basically sat them down in a terminal together, let Gemini CLI figure out what the Obsidian CLI could do, and then--with a spicy mix of grep, sed, awk, and the new Obsidian commands, we went to work. Here's the "Metadata Makeover": 1. The Status Cleanup I had Gemini pull every single Status property from every note in my vault to analyze them for consistency. It detected patterns I didn't even know I had (like all the versions of Idea Ideas Research researching). We cleaned up the mess, documented the new "Golden Rules" for statuses, and Gemini wrote a validation script that I can run that will clean things up or highlight inconsistencies. 2. The "Type" vs. "ContentType" Tangle We did the same for Type and ContentType. It turns out I was using them interchangeably like a chaotic neutral character. Gemini helped me settle on a single source of truth, updated my docs, and tweaked the validation script to keep things tidy. 3. The Tag Jungle We looked at everything--frontmatter tags, in-document hashtag

## Cisco IOS/XR OSPFv2 Not-So-Passive Interfaces

DevFeed: [Cisco IOS/XR OSPFv2 Not-So-Passive Interfaces](<https://devfeed.tech/articles/cisco-ios-xr-ospfv2-not-so-passive-interfaces-11325.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2026/02/iosxr-ospfv2-not-so-passive/>)

Published: 2026-02-19T06:46:00Z

Content type: opinion

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [Cisco](<https://devfeed.tech/topics/cisco.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Network](<https://devfeed.tech/topics/network.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>)

Tags: [cisco](<https://devfeed.tech/tags/cisco.md>), [linux](<https://devfeed.tech/tags/linux.md>), [netlab](<https://devfeed.tech/tags/netlab.md>), [network](<https://devfeed.tech/tags/network.md>), [open](<https://devfeed.tech/tags/open.md>), [ospf](<https://devfeed.tech/tags/ospf.md>), [script](<https://devfeed.tech/tags/script.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article reports that Cisco IOS/XR 25.2.1 sends two OSPFv2 hello packets shortly after configuration on an interface marked passive, then stops sending them. This behavior caused a netlab integration test to fail with a neighbor in the Init state; the author worked around it by clearing the OSPF neighbor on the connected FRRouting container.

### Source excerpt

What's wrong with me? Why do I have to uncover another weirdness every single time I run netlab integration tests on a new platform? Today, it's Cisco IOS/XR (release 25.2.1) and its understanding of what "passive" means. According to the corresponding documentation, the passive interface configuration command is exactly what I understood it to be: Use the passive command in appropriate mode to suppress the sending of OSPF protocol operation on an interface. However, when I ran the OSPFv2 passive interface integration test with an IOS/XR container, it kept failing with neighbor is in Init state (the first and only time I ever encountered such an error after testing over two dozen platforms). Read more ...

## Pi-hole: bloquea publicidad en toda tu red

DevFeed: [Pi-hole: bloquea publicidad en toda tu red](<https://devfeed.tech/articles/pi-hole-bloquea-publicidad-en-toda-tu-red-34074.md>)

Original publisher: [Read original article](<https://tengoping.com/blog/pihole-bloqueo-publicidad-red/>)

Author: Antonio Pérez

Published: 2026-02-04T00:00:00Z

Content type: tutorial

Language: es

Sources: [tengoping.com](<https://devfeed.tech/sources/tengoping-com.md>)

Topics: [Pi-hole](<https://devfeed.tech/topics/pihole.md>), [DHCP](<https://devfeed.tech/topics/dhcp.md>), [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>)

Tags: [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [debian](<https://devfeed.tech/tags/debian.md>), [dhcp](<https://devfeed.tech/tags/dhcp.md>), [dns](<https://devfeed.tech/tags/dns.md>), [lan](<https://devfeed.tech/tags/lan.md>), [linux](<https://devfeed.tech/tags/linux.md>), [local](<https://devfeed.tech/tags/local.md>), [pi](<https://devfeed.tech/tags/pi.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [resolver](<https://devfeed.tech/tags/resolver.md>), [router](<https://devfeed.tech/tags/router.md>), [script](<https://devfeed.tech/tags/script.md>), [settings](<https://devfeed.tech/tags/settings.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

A Spanish tutorial explaining how Pi-hole filters advertising and tracking domains through local DNS, how to install it on a Raspberry Pi or Linux system, configure it on a router, use DHCP when necessary, and resolve local network names.

### Source excerpt

Pi-hole a fondo: por qué el DoH del navegador lo esquiva, DNS local para tu LAN, Teleporter y qué revisar si no bloquea.

## From Bash to Bliss: Scaling Vespa Operations with Temporal

DevFeed: [From Bash to Bliss: Scaling Vespa Operations with Temporal](<https://devfeed.tech/articles/from-bash-to-bliss-scaling-vespa-operations-with-temporal-20444.md>)

Original publisher: [Read original article](<https://vinted.engineering//2026/01/21/from-bash-to-bliss-scaling-vespa-operations-with-temporal/>)

Author: Martynas Jakimčikas

Published: 2026-01-21T00:00:00Z

Content type: article

Language: en

Sources: [Vinted](<https://devfeed.tech/sources/vinted.md>)

Topics: [Platform Engineering](<https://devfeed.tech/topics/platform-engineering.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [health checks](<https://devfeed.tech/topics/health-checks.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [commands](<https://devfeed.tech/tags/commands.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [health-checks](<https://devfeed.tech/tags/health-checks.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [platform](<https://devfeed.tech/tags/platform.md>), [scheduled](<https://devfeed.tech/tags/scheduled.md>), [script](<https://devfeed.tech/tags/script.md>), [self-service](<https://devfeed.tech/tags/self-service.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

This article describes how Vinted's platform team handled growing maintenance demands for its Vespa search infrastructure. As the environment expanded from hundreds to more than a thousand nodes and included many deployments, Bash scripts and Knife commands became difficult to manage. The team moved toward durable orchestration with Temporal, automated health checks, scheduled upgrades, and self-service guardrails.

### Source excerpt

Growing platform - Growing maintenance Keeping the Lights On (KTLO) is an essential, yet often taxing, part of a platform engineer's role. It represents the routine operational work required to keep the business running and the platform stable. For our team, this primarily involves maintenance on our search engine, Vespa - ranging from version upgrades and service restarts to draining traffic from nodes for hardware replacements.

## 10 scripts Bash útiles para sysadmins

DevFeed: [10 scripts Bash útiles para sysadmins](<https://devfeed.tech/articles/10-scripts-bash-utiles-para-sysadmins-34082.md>)

Original publisher: [Read original article](<https://tengoping.com/blog/scripts-bash-utiles-sysadmin/>)

Author: Alois

Published: 2026-01-14T00:00:00Z

Content type: tutorial

Language: es

Sources: [tengoping.com](<https://devfeed.tech/sources/tengoping-com.md>)

Topics: [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [backups](<https://devfeed.tech/topics/backups.md>), [monitor](<https://devfeed.tech/topics/monitor.md>), [rsync](<https://devfeed.tech/topics/rsync.md>)

Tags: [backups](<https://devfeed.tech/tags/backups.md>), [bash](<https://devfeed.tech/tags/bash.md>), [logs](<https://devfeed.tech/tags/logs.md>), [rsync](<https://devfeed.tech/tags/rsync.md>), [script](<https://devfeed.tech/tags/script.md>), [scripts](<https://devfeed.tech/tags/scripts.md>), [shell](<https://devfeed.tech/tags/shell.md>), [sysadmin](<https://devfeed.tech/tags/sysadmin.md>), [sysadmins](<https://devfeed.tech/tags/sysadmins.md>)

### AI overview

A Spanish-language tutorial presents ten practical Bash scripts for system administrators, including disk monitoring, rotating backups, log cleanup, and other routine tasks. It notes that Bash scripts suit focused tasks on individual machines but are not a replacement for configuration-management tools when managing many servers.

### Source excerpt

Colección de scripts Bash prácticos para monitorización, backups, limpieza de logs y tareas comunes de administración de sistemas.

## \[Math\]\[Pentesting\] Password requirements are harmful. A password with required digit/special character may be weaker. Part II.

DevFeed: [\[Math\]\[Pentesting\] Password requirements are harmful. A password with required digit/special character may be weaker. Part II.](<https://devfeed.tech/articles/math-pentesting-password-requirements-are-harmful-a-password-with-required-digit-special-character-may-be-weaker-part-ii-20574.md>)

Original publisher: [Read original article](<https://yurichev.com/blog/password_req/>)

Published: 2026-01-11T23:00:00Z

Content type: tutorial

Language: en

Sources: [Dennis Yurichev](<https://devfeed.tech/sources/dennis-yurichev.md>)

Topics: [passwords](<https://devfeed.tech/topics/passwords.md>), [math](<https://devfeed.tech/topics/math.md>)

Tags: [files](<https://devfeed.tech/tags/files.md>), [math](<https://devfeed.tech/tags/math.md>), [password](<https://devfeed.tech/tags/password.md>), [script](<https://devfeed.tech/tags/script.md>)

### AI overview

This article uses mathematical counting and scripts to examine password requirements for Dahua and Hikvision CCTV cameras. It argues that requiring digits or special characters can reduce the number of possible passwords, while noting that Hikvision's requirements produce a number close to the full set of possible eight-character passwords.

### Source excerpt

[Math][Pentesting] Password requirements are harmful. A password with required digit/special character may be weaker. Part II.

## Small improvement for pretty-printing in paste.depesz.com

DevFeed: [Small improvement for pretty-printing in paste.depesz.com](<https://devfeed.tech/articles/small-improvement-for-pretty-printing-in-paste-depesz-com-33672.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/01/06/improvement-for-pretty-printing-in-paste-depesz-com/>)

Author: depesz

Published: 2026-01-06T15:13:10Z

Content type: release

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [pretty printing](<https://devfeed.tech/topics/pretty-printing.md>), [JOIN](<https://devfeed.tech/topics/join.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [announcements](<https://devfeed.tech/tags/announcements.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [irc](<https://devfeed.tech/tags/irc.md>), [join](<https://devfeed.tech/tags/join.md>), [paste-depesz-com](<https://devfeed.tech/tags/paste-depesz-com.md>), [perl](<https://devfeed.tech/tags/perl.md>), [pg-prettify](<https://devfeed.tech/tags/pg-prettify.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [pretty](<https://devfeed.tech/tags/pretty.md>), [pretty-printing](<https://devfeed.tech/tags/pretty-printing.md>), [script](<https://devfeed.tech/tags/script.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

The article describes an improvement to the pretty printer on paste.depesz.com that produces better indentation for complex SQL join conditions. It also notes that the printer can be used from the command line or through a previously described script without storing content on the site.

### Source excerpt

As you maybe know, some time ago I made paste service, mostly to use for queries, or related text to share on IRC. One part of it is that it also has pretty printer of provided queries. Recently I realized that in case of complex join conditions, the output is, well, sub-optimal. For example: SELECT ... Continue reading "Small improvement for pretty-printing in paste.depesz.com"

## ssh tiny.christmas

DevFeed: [ssh tiny.christmas](<https://devfeed.tech/articles/ssh-tiny-christmas-40772.md>)

Original publisher: [Read original article](<https://eieio.games/blog/tiny-christmas>)

Author: Nolen Royalty (eieiogames@gmail.com)

Published: 2025-12-24T00:00:00Z

Content type: article

Language: en

Sources: [eieio.games](<https://devfeed.tech/sources/eieio-games.md>)

Topics: [ssh](<https://devfeed.tech/topics/ssh.md>), [Python](<https://devfeed.tech/topics/python.md>), [Script](<https://devfeed.tech/topics/script.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [christmas](<https://devfeed.tech/tags/christmas.md>), [python](<https://devfeed.tech/tags/python.md>), [render](<https://devfeed.tech/tags/render.md>), [screen](<https://devfeed.tech/tags/screen.md>), [script](<https://devfeed.tech/tags/script.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [unicode](<https://devfeed.tech/tags/unicode.md>)

### AI overview

The author describes tiny.christmas, a global Christmas carol service over SSH. Connected carolers advance the lyrics with the space bar, while the server renders a tree selected for the viewer's screen size. The project uses Wish, Bubble Tea, Unicode Braille symbols for higher-fidelity drawing, and pre-rendered trees generated by a Python script.

### Source excerpt

A global christmas carol over ssh

[Next page](<https://devfeed.tech/tags/script.md?cursor=WyIyMDI1LTEyLTI0VDAwOjAwOjAwKzAwOjAwIiwgIjQyMWIyNzgwLTYwNGItNDFiZS1hYTEwLTJmYmY4MTIwZjRiNyJd>)