Feeds

FSF Blogs: December GNU Spotlight with Amin Bandali: Eighteen new GNU releases!

GNU Planet! - Fri, 2025-01-03 12:01
Eighteen new GNU releases in the last month (as of December 31, 2024):
Categories: FLOSS Project Planets

December GNU Spotlight with Amin Bandali: Eighteen new GNU releases!

FSF Blogs - Fri, 2025-01-03 12:01
Eighteen new GNU releases in the last month (as of December 31, 2024):
Categories: FLOSS Project Planets

mailutils @ Savannah: GNU Mailutils Version 3.18

GNU Planet! - Fri, 2025-01-03 11:38

Version 3.18 of GNU Mailutils is available for download.
A short summary of changes follows.

New debugging shortcut: all


Using all in mailutils debug level specification enables all debugging categories.  Syntactically, all can be used wherever an actual category name is allowed, thus, e.g., all.!=prot enables all levels except prot in all debugging categories.

mail: fix and document interaction between mailutils configuration files and mail command files.


In particular, mail variables that correspond to some mailutils configuration settings, now correctly reflect their value.

Bugfixes


  • Minor fix in handling of the EHLO command in smtp client. 
  • Improve docs.
  • Minor fix in mhn and related tests.
  • mail utility: use the mailer configuration capability.
Categories: FLOSS Project Planets

Skynet Technologies USA LLC Blogs: Top factors influencing the cost of Migrating from Drupal 7 to 11 for your business!

Planet Drupal - Fri, 2025-01-03 08:14
Steps taken proactively are the ones that lead to positive outcomes! If a website’s migration from Drupal 7 to 11 is still pending, don’t wait now because Drupal 7's End-of-Life date is January 5, 2025. And after this deadline, websites running on Drupal 7 will be vulnerable in every aspect (security, functionality, and compliance). Drupal, a trusted content management system (CMS), has been a…
Categories: FLOSS Project Planets

The Drop Times: Revitalizing Drupal’s Admin Experience: A Closer Look at the Ongoing Redesign Journey

Planet Drupal - Fri, 2025-01-03 08:01
Drupal’s Admin UI is on the brink of a transformative overhaul. From embracing new navigation flows to refining design elements, the project aims to make Drupal more accessible for both seasoned veterans and newcomers. Driven by a dedicated team, this redesign is set to reshape the content management experience in a big way.
Categories: FLOSS Project Planets

Droptica: How to Add Locations on Maps in Drupal? With Geofield and Leaflet Maps

Planet Drupal - Fri, 2025-01-03 07:02

In the following blog post, I’ll present a complete guide on creating a website with a map and vendor locations in Drupal. This solution is based on free tools such as OpenStreetMap, Geofield, and Leaflet modules. Most importantly, you don't need programming knowledge to achieve this effect - you can configure everything through the Drupal interface. I encourage you to read the article or watch the video in the ”Nowoczesny Drupal” series.

Categories: FLOSS Project Planets

Real Python: The Real Python Podcast – Episode #233: PyCoder's Weekly 2024 Top Articles & Missing Gems

Planet Python - Fri, 2025-01-03 07:00

PyCoder's Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2024. Christopher Trudeau is back on the show this week to help wrap it all up by sharing some highlights and uncovering a few missing gems from the pile.

[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

Categories: FLOSS Project Planets

Web Review, Week 2025-01

Planet KDE - Fri, 2025-01-03 05:15

Happy new year everyone! It’s now 2025, we’ll see what it brings.

Unsurprisingly this week we got a couple of nice “2024 retrospective” articles in this edition, I expect more to show up in the coming weeks. Anyway, let’s go for my web review for the week 2025-01.

Open Source on its own is no alternative to Big Tech - Bert Hubert’s writings

Tags: tech, foss, business

Or why making a dent in the enterprise software space is hard for FOSS… The good news is, it’d require setting up whole ecosystems of services.

https://berthub.eu/articles/posts/open-source-by-itself-is-no-alternative-for-big-tech/


The web is too big, or scaling down

Tags: tech, web, browser, complexity

The Web standards are indeed too complex. That severely limits the possibility of browser engine incumbents. I agree there’s a deeper lesson here about the scale of technologies.

https://scottrichmond.me/the-web-is-too-big/


Elon Musk and the right’s war on Wikipedia

Tags: tech, foss, knowledge, wikipedia, politics

Very good background information on the latest attempt at discrediting Wikipedia.

https://www.citationneeded.news/elon-musk-and-the-rights-war-on-wikipedia/


Does current AI represent a dead end?

Tags: tech, ai, machine-learning, gpt, complexity, emergence, reliability

This highlights quite well the limits of the models used in LLMs.

https://www.bcs.org/articles-opinion-and-research/does-current-ai-represent-a-dead-end/


Performance of LLMs on Advent of code 2024

Tags: tech, ai, machine-learning, gpt, copilot

The results are unsurprising. They definitely confirm what we expected. The models are good at predicting the past, they’re not so great at solving problems.

https://www.jerpint.io/blog/advent-of-code-llms/


Things we learned about LLMs in 2024

Tags: tech, ai, machine-learning, gpt, economics, ecology, criticism

Good perspective on how the generative AI space evolved in 2024. There are good news and more concerning ones in there. We’ll see what 2025 brings.

https://simonwillison.net/2024/Dec/31/llms-in-2024/


Databases in 2024: A Year in Review

Tags: tech, databases, business

Good overview on how the databases landscape evolved the past year.

https://www.cs.cmu.edu/~pavlo/blog/2025/01/2024-databases-retrospective.html


Keeping secrets secret with git-crypt

Tags: tech, version-control, git, secrets, tools

Looks like a nice tool for a simple management of your project specific secrets.

https://blog.ktz.me/keeping-secrets-secret-with-git-crypt/


How does your URL parser handle Unicode? – Daniel Lemire’s blog

Tags: tech, web, standard, parsing

Parsers are required to normalize URLs but often they just don’t. To be kept in mind in your code.

https://lemire.me/blog/2025/01/02/how-does-your-url-parser-handle-unicode/


Rules for Writing Software Tutorials

Tags: tech, documentation, writing, tutorial

Need to write a tutorial? Here is a good set of rules to follow. Don’t be fooled, it sounds simple but it is hard work.

https://refactoringenglish.com/chapters/rules-for-software-tutorials/


Mistakes engineers make in large established codebases | sean goedecke

Tags: tech, legacy, engineering

Good advice to work with large legacy code bases. You better know it very well before you make large changes to it.

https://www.seangoedecke.com/large-established-codebases/


That’s not an abstraction, that’s just a layer of indirection

Tags: tech, design, complexity, simplicity, performance

Or why you shouldn’t insert an abstraction just for the sake of it. Also clearly not all abstractions are created equal.

https://fhur.me/posts/2024/thats-not-an-abstraction


Software Design is Knowledge Building

Tags: tech, software, design, knowledge, organization

Very nice piece. This is indeed mostly about building organizational knowledge. If someone leaves a project that person better not be alone to ensure some continuity… lost knowledge is very hard to piece back together.

https://olano.dev/blog/software-design-is-knowledge-building/


Bye for now!

Categories: FLOSS Project Planets

Adding Home Automation to KDE

Planet KDE - Fri, 2025-01-03 04:08

About

Home Automation is mostly, as the name implies, about automation.

The machine you're in front of all work-day has an awful lot of useful information that can be useful in your home management.

I have a script lower my blinds if I turn on the camera during the afternoon as otherwise there's an annoying glare. My office lights and monitor both have a redder hue at night, but disabling night-mode on my PC automatically disables the main light performing redshift too. I want my screen to turn off not 10 minutes after activity, which is simultaneously both annoyingly too long and too short, but the moment the motion sensor in my room says I've left.

Home Assistant, the best open source home automation tool out there supports all of this, but it needs some hooks for the PC to tell it about the current state and invoke actions on the PC.

None of the existing solutions worked well for what I wanted. I wrote something for personal use a few years ago that worked great for me, I ran it in the background and didn't plan to take it further.
During the KDE Goals sprint another user suggested creating something very similar (https://phabricator.kde.org/T17435). That goal may not have been chosen, but it did motivate me to tidy up and document what I had and turn it into a more fleshed out project.

The App

I made a small daemon, named Kiot (derived from "KDE Internet of Things") that exposes this information to your Home Automation software.

This is pre-alpha software, there's no GUI configuration it relies on manually setting up a configuration file to point to your Home Automation server. If there's enough traction I might make it more packagable, and create a UI config over the Christmas break.

There's a bunch of sensors and actions shipped, but it contains a faux plugin system to make extension easy along with hooks for user supplied scripts.

  • User activity
  • Locked state
  • Suspend/Power actions
  • Camera in use
  • Accent Colour
  • Arbitrary Scripts
  • Shortcuts
  • Nightmode Inhibition

Using this from Home Assistant is then as straightforward as possible.

Checking it out

The repository can be found at https://github.com/davidedmundson/kiot which has setup instructions along with developer documentation (https://github.com/davidedmundson/kiot/blob/master/DEVELOPMENT.md) if you want to make any additional plugins.

Categories: FLOSS Project Planets

Taavi Väänänen: Automatically updating reverse DNS entries for my Hetzner servers

Planet Debian - Thu, 2025-01-02 19:00

Some parts of my infrastructure run on Hetzner dedicated servers. Hetzner's management console has an interface to update reverse DNS entries, and I wanted to automate that. Unfortunately there's no option to just delegate the zones to my own authoritative DNS servers. So I did the next best thing, which is updating the Hetzner-managed records with data from my own authoritative DNS servers.

Generating DNS zones the hard way

The first step of automating DNS record provisioning is, well, figuring out which records need to be provisioned. I wanted to re-use my existing automation for generating the record data, instead of coming up with a new system for these records. The basic summary is that there's a Go program creatively named dnsgen that's in charge of generating zone file snippets from various sources (these include Netbox, Kubernetes, PuppetDB and my custom reverse web proxy setup).

Those snippets are combined with Jinja templates to generate full zone files to be loaded to a hidden primary running Bind9 (like all other DNS servers I run). The zone files are then transferred to a fleet of internal authoritative servers as well as my public authoritative DNS server, which in turn transfers them to various other authoritative DNS servers (like ns-global and Traficom anycast) for redundancy.

There's also a bunch of other smaller features, like using Bind views to server different data to internal and external clients, and resolving external records during record generation time to be used on apex records that would use CNAME records if they could. (The latter is a workaround for Masto.host, the hosting provider we use for Wikis World, not having a stable IPv6 address.) Overall it's a really nice system, and I've spent quite a bit of time on it.

Updating records on Hetzner-managed space

As mentioned above, Hetzner unfortunately does not support custom DNS servers for reverse records on IP space rented from them. But I wanted to use my existing, perfectly working DNS record generation setup since that works perfectly fine. So the obvious answer is to (ab)use DNS zone file transfers.

I quickly wrote a few hundred lines of Go to request the zone data and then use the Hetzner robot API to ensure the reverse entries are in sync. The main obstacle hit here was the Hetzner API somehow requiring an "update" call (instead of a "create" one) to create a new record, as the create endpoint was returning an HTTP 400 response no matter what. Once I sorted that out, the script started working fine and created the few dozen missing records. Finally I added a CronJob in my Kubernetes cluster to run the script once in a while.

Overall this is a big improvement over doing things by hand and didn't require that much effort. The obvious next step would be to expand the script to a tiny DNS server capable of receiving zone update NOTIFYs to make the updates happen real-time. Unfortunately there's now no hiding of the records revealing my ugly hacks clever networking solutions :(

Categories: FLOSS Project Planets

Reworking and porting my KRunner plugins

Planet KDE - Thu, 2025-01-02 19:00
Reworking and porting my KRunner plugins

Writing KRunner plugins was my first real developer experience with KDE. I started out right after graduating from school in 2019. Since then, I continued to maintain my plugins and correct some of the code-crimes that have been committed. This continued adding some features, removing too obscure features, getting user feedback and also making sure the plugins are easy to install without too much developer knowlege being needed. By maintaining the KRunner framework, I also deprecated lots of API and provided cleaner alternatives as part of the efforts for KDE Frameworks 6. Those changes had to be applied to all the plugins. I also contributed to other developer’s plugins that I found useful.

In this post, I will give you an overview of the different plugins and show you, how they may be useful to your workflow.
All the below mentioned Plugins are compatible with Plasma5 and Plasma6, meaning even users of LTS distributions can utilize them. KRunner plugins also work in the normal application launchers - meaning you should really give those a look!

EmojiRunner

This is a utility to search and copy emojis. On X11, you may paste them using xdolib. To ensure you get the emojis you like the most quickly, it is possible to configure favorites in the dialog. Custom emoji, emoji+text entries and aliases can also be added in the config module.


https://github.com/alex1701c/EmojiRunner/

JetBrains plugin

While I love Kate and neovim for doing code editing, having JetBrains IDEs is amazing when working on bigger Java/JavaScript projects. To improve the integration into KDE Plasma, the KRunner plugin searches for the installed JetBrains IDEs and reads the recently opened projects of them. Those can be shown and filtered in KRunner. This allows one to directly launch the right project from KRunner!

Sometimes one may find oneself navigating projects in Dolphin. For this case, a context menu counterpart exists. In there, you find the options to open the folder in the installed JetBrains IDEs. In case the folder is known as a project, the options are presented at the top-level.


https://github.com/alex1701c/JetBrainsRunner
https://github.com/alex1701c/JetBrainsDolphinPlugin

VSCode/Codium workspaces integration plugin

Next to opening recent JetBrains projects, this plugin allows one to open workspaces configured in VSCode. It is pretty straightforward - just install the “Project Manager” plugin in VSCode or Codium, add a few projects and enjoy opening them directly from KRunner.


https://github.com/alex1701c/krunner-vscodeprojects/

Firefox plugin

Having multiple profiles in Firefox may be useful for separating the work one is doing, managing different extensions or different settings. However, switching between them is rather annoying. Manually adding actions to the desktop file may work, but is rather cumbersome and not as flexible.

This plugin allows you to integrate Firefox profiles automatically in KRunner. It also allows for sorting, opening private windows as actions and also adds them to the desktop file. Meaning, you can right-click on Firefox in the taskbar or the launcher and have the actions there available.


https://github.com/alex1701c/krunner-firefox

NordVPN plugin

This plugin allows you to easily connect to NordVPN servers, disconnect and view the status. A configurable status is available in KRunner or an extended one when clicking/pressing enter on the respective result. When connecting, a country, city or specific server may be entered.
It is no advertisement or recommendation! Just saying :D


https://github.com/alex1701c/NordVPNKrunner/

TmuxRunner

Tmux is a terminal multiplexer that allows you to have multiple terminals in the same window (split screen, or multiple “tabs”). You may also detach from it without killing the processes. This is one of the advantages of using it instead or in addition to for example Konsole’s tabs.

Keeping track of the sessions might be a bit hard though. To solve this issue, this plugin provides an overview of the currently active sessions and allows you to create new ones with optionally a specified name. The sessions will be opened in the configured terminal - by default Konsole.


https://github.com/alex1701c/TmuxRunner

QuickWebShortcuts

While I have given the official webshortcuts quite a bit of love over the years, there may be some things lacking. For example, there is always the separator character (colon or space) that separates your query from the provided search, like “dd:testme”. With this plugin, you only need to type one out. Additionally, it can provide search suggestions!


https://github.com/alex1701c/QuickWebShortcuts

VeracryptRunner

This plugin allows one to add and search mount configurations for Verarcrypt. This includes file/device paths, display name, mount path and keyfiles. Optionally, on X11, the password can be read and entered directly using the command line “pass” password manager.

Other mentions

I have the one or other, maybe less useful plugin. Like an integration for KWallet or a little timer utility.
For users of VirtualBox, https://github.com/alvanieto/vbox-runner can be very useful. I contributed a merge requests to allow the plugin to work with KF5 and KF6.

Categories: FLOSS Project Planets

Hugo van Kemenade: Moved to hugovk.dev

Planet Python - Thu, 2025-01-02 14:51
🚀 See you over at hugovk.dev!
Categories: FLOSS Project Planets

FSF Events: Free Software Directory meeting on IRC: Friday, January 10, starting at 12:00 EST (17:00 UTC)

GNU Planet! - Thu, 2025-01-02 12:19
Join the FSF and friends on Friday, January 10 from 12:00 to 15:00 EST (17:00 to 20:00 UTC) to help improve the Free Software Directory.
Categories: FLOSS Project Planets

FSF Events: Free Software Directory meeting on IRC: Friday, January 3, starting at 12:00 EST (17:00 UTC)

GNU Planet! - Thu, 2025-01-02 12:16
Join the FSF and friends on Friday, January 3 from 12:00 to 15:00 EST (17:00 to 20:00 UTC) to help improve the Free Software Directory.
Categories: FLOSS Project Planets

Drupal Association blog: Reflecting on Our Journey: HeroDevs in the Drupal World

Planet Drupal - Thu, 2025-01-02 10:25

The Drupal Association has published this guest blog on behalf of HeroDevs.

As the end-of-life (EOL) for Drupal 7 approaches on 5 January 2025, HeroDevs has embraced the challenge of stepping into the Drupal community and providing vital support for this well-loved but aging platform. Since onboarding our first customer in September, we’ve had the unique opportunity to assist organizations relying on Drupal 7. It’s been a year of learning, adapting, and preparing—a journey filled with both rewarding and challenging moments.

Engaging with the Drupal Community

Our journey into the Drupal world has been enriched by our participation in various community events. Over the past year, we’ve attended gatherings like DrupalCon Portland, GovCon, DrupalCamp Asheville, and BadCamp, where we’ve had the privilege of connecting with other Drupal professionals and sharing our insights. We’ve also taken to the stage at events like Drupal GovCon and EvolveDrupal in Atlanta to share our expertise and discuss strategies for navigating Drupal 7’s EOL.

These events have not only deepened our understanding of the community but also allowed us to build meaningful relationships with fellow developers, site owners, and contributors. The collective knowledge and passion within the Drupal ecosystem have been invaluable as we continue to refine our solutions and expand our support.

Our First User Case Study

One of our earliest adopters came to us with a critical need: ensuring the continued functionality of their mission-critical Drupal 7 site. They required consistent updates and security patches to maintain stability and compliance. By addressing these needs, we were able to keep their site secure and operational without disruption. This successful partnership laid the foundation for our approach to supporting Drupal 7 users and solidified our commitment to meeting their unique challenges.

Challenges We’ve Encountered

Entering the Drupal world has been an eye-opening experience. One of the most notable challenges has been understanding the diverse needs of Drupal 7 users. Each organization has its own use cases, custom modules, and integrations. Our initial onboarding revealed just how varied these needs could be, pushing us to adapt our processes and broaden our expertise.

Another significant hurdle was navigating the intricacies of Drupal 7’s ecosystem while ensuring that our solutions met the community’s high standards. For example, we discovered that certain modules had been neglected for years, with no clear documentation or consistent coding practices.

Adjustments We’ve Made

One of the most critical adjustments we’ve made has been streamlining our onboarding process. Early on, we faced minor issues like a typo in the curl script used to integrate our services. While the fix was straightforward, it highlighted the importance of rigorous testing and documentation. Today, our onboarding process is smooth, and all our early adopters have transitioned seamlessly to our solutions.

We’ve also refined our support model to include guidance for custom and legacy modules. While these aren’t covered under our standard SLA, providing tailored advice has helped our clients maintain compatibility and functionality across their tech stacks. This extra layer of support has strengthened our relationships with customers and reinforced their confidence in our solutions.

Preparing for the EOL

With the EOL for Drupal 7 fast approaching, our focus has been on ensuring a seamless transition for our clients. We’ve prioritized:

  • Proactive Module Maintenance: We’ve forked and maintained unsupported modules, addressing vulnerabilities and ensuring compatibility with evolving web standards.

  • Customer-Centric Support: By collaborating closely with our clients, we’ve been able to anticipate their needs and deliver solutions tailored to their unique requirements.

  • Comprehensive Testing: Every solution we implement undergoes rigorous testing to prevent issues and ensure long-term stability.

Looking Ahead

As we reflect on the past year, it’s clear that stepping into the Drupal world has been both a challenge and a privilege. We’ve learned to navigate an intricate ecosystem, adapt to the needs of a diverse user base, and provide robust support during a pivotal time for Drupal 7 users. Our commitment to keeping sites secure, functional, and future-ready has positioned us as a trusted partner in the community.

We’re excited to continue supporting our clients through the EOL transition and beyond. Whether it’s maintaining unsupported modules, addressing compatibility challenges, or providing expert guidance, HeroDevs is here to ensure that Drupal 7 users can move forward with confidence. Together, we’re proving that even as official support wanes, the Drupal community can thrive.

Categories: FLOSS Project Planets

Drupal Starshot blog: A cookie cutter for a modern, flexible CMS' launch

Planet Drupal - Thu, 2025-01-02 09:12

Drupal has a long history of community-made plush toys, baby bibs, stress balls, tree ornaments, card games, the list goes on. But these were often hard to get. What if you could print it at home or a 3d printing service nearby?

I accidentally stumbled onto Klara Binon's work on a Drupal logo cookie cutter model. Asked her over the holidays to update it for the current Drupal (CMS) logo and now the updated cookie cutter model is available in the bgcode format

Klara also shared this recipe for cookies that keep their shape:

  • 150gr sugar
  • 50gr vanilla sugar
  • 200g salted butter
  • 1 egg
  • 400gr flour
  • Some grated lemon peel

Once baked, resulting cookies will look and taste great. Finish with your favourite icing! 

Wanna bring some to your local Drupal CMS launch parties?

Categories: FLOSS Project Planets

Smartbees: Drupal Coding Standards

Planet Drupal - Thu, 2025-01-02 09:03

Adhering to specific programming standards while creating websites is key to project quality, security, and scalability. In this article, we will discuss the essence of these standards and show practices that allow for effective function implementation on the Drupal platform.

Categories: FLOSS Project Planets

Skynet Technologies USA LLC Blogs: Drupal 7 to 11 Migration: Key Checklist and Challenges to Address

Planet Drupal - Thu, 2025-01-02 08:14
The Drupal platform has been a reliable choice from long for businesses and organizations seeking robust and customizable content management solutions. However, as technology evolves, so does the need for modernized systems. Since Drupal 11 is early, migration is inevitable. Importantly, migrating from Drupal 7 to 11 is more than just an upgrade. It’s a significant leap that brings new…
Categories: FLOSS Project Planets

Pages