09 Jan 2026

feedFedora People

Rénich Bon Ćirić: La Neta sobre GEMINI.md y AGENTS.md: Poniéndole reglas al juego

Rénich Bon Ćirić's avatar

No mames, ¿sabías que la IA puede ser tu mejor chalán o tu peor pesadilla?

Si le estás pegando duro al código asistido por IA, seguro te ha pasado que la IA se pone necia o "alucina" bien gacho. Le pides un script y te lo da para Ubuntu (¡wákala!) cuando tú eres puro Fedora, o te mete librerías bien pesadas cuando tú quieres algo KISS y DRY.

Ahí es donde entran al quite los archivos de configuración de "memoria" o reglas: ~/.gemini/GEMINI.md y ~/.config/opencode/AGENTS.md. La neta, son un paro.

¿Qué son estos archivos?

Básicamente, son el manual de estilo y las reglas del juego que tú le dictas a la IA. Es la forma de decirle: "A ver, carnal, aquí se hacen las cosas así". En lugar de estarle repitiendo en cada prompt las mismas instrucciones, lo escribes una sola vez y la IA lo toma como ley.

Es como poner al tiro a un chalán nuevo, pero este sí tiene memoria fotográfica y no se le va la onda si se lo configuras bien.

La carnita: ¿Qué le pongo al archivo?

No se trata de escribir la Biblia, pero sí de dejar claras tus "líneas rojas". Aquí te van unos ejemplos de lo que yo tengo en mi GEMINI.md para que te sirva de ejemplo:

Preferencias del sistema:

Para que no me salga con cosas de Debian.

- The host system is Fedora 43 x86_64 with SELinux enabled.
- OS Tool Preference: Use tools available in the OS (latest Fedora) via `dnf`.
- Distro Preference: The user despises Debian/Ubuntu; never considers them.
Filosofía de código:

Para que no se pase de listo con soluciones complejas.

- KISS (Keep It Simple, Stupid): Always prefer simple, readable code.
- DRY (Don't Repeat Yourself): Extract repeated code.
- Avoid Premature Optimization: Write clean code first.
Ops y contenedores:

Porque aquí usamos Podman, mi compa. Nada de andar con cosas raras.

- Containers: Prefer Podman over Docker (Docker is sub-optimal).
- Containerfile: Use `Containerfile` instead of `Dockerfile`.
- Quadlets: Use systemd quadlets (`*.container`) when practical.

El truquencio: Un solo archivo

Para no andar manteniendo dos archivos diferentes y que luego se te desincronicen, la movida maestra es crear uno "maestro" y hacer un enlace simbólico (symlink). ¡Bien práctico!

Creas tu ~/.gemini/GEMINI.md bien tuneado y luego tiras el symlink para OpenCode:

ln -sf ~/.gemini/GEMINI.md ~/.config/opencode/AGENTS.md

Tip

Así, cambias una regla en un lado y se actualiza en todos lados. Te ahorras un chingo de chamba y mantienes la consistencia.

¿Cómo se refleja esto en la talacha diaria?

La diferencia es garrafal, carnal; te ahorra un chingo de tiempo:

  1. Git Limpiecito: Si le pones reglas de Git Management, la IA solita te va a sugerir commits con formato Conventional Commits y hasta te va a recordar firmarlos con GPG. Nada de mensajes tipo "fix bug".
  2. Infraestructura al Tiro: Si le pides un despliegue, ya no te va a dar un docker-compose.yml genérico. Te va a dar un archivo Quadlet listo para tu Fedorita.
  3. Seguridad Primero: La IA te va a avisar si estás a punto de regarla subiendo una API key. Es como tener un senior dev cuidándote la espalda.

Note

El código que generas se siente tuyo, adaptado a tu flujo de trabajo (EVALinux, en mi caso), y no un copy/paste genérico de Stack Overflow. ¿No crees que así conectas mejor con la gente?

Conclusión

Dedicarle unos 15 minutos a optimizar tu GEMINI.md no es pérdida de tiempo, es una inversión. Es la diferencia entre pelearte con la IA para que te entienda y tener un copiloto que ya se sabe el camino de memoria.

Así que ya se la saben, configuren sus reglas, no sean desidiosos y ¡a darle al ether!

09 Jan 2026 2:33pm GMT

Christof Damian: Friday Links 26-01

Christof Damian's avatar

New prerecorded cassettes from Queen, Bjork, Bon Jovi, De La Soul, ...
First round of links for 2026. Everything is bad, so have some links to cheer you up.
I really liked the article about visibility, the one about Friday deploys, and sitting alone in a café … which I can relate to.
I am a big fan of Bill Nighy's podcast, that certainly will improve your mood.
For some reason, the random section is full of cassette tape related links.

Leadership

Team's "Wrapped 2025" to Increase Velocity - nice idea I clearly didn't implement

The Product Operating Model at Google - A Critical View - possibly a bit outdated.

Why Federated Design Systems Keep Failing - design systems need leadership, not democracy, as so many decisions

You Can't Debug a System by Blaming a Person - people need to feel safe to make good decisions and do good work

Visibility is Velocity - this is so true, on every level of organisations

Engineering

The cardinal sin of software architecture - "The worst kind of accidental complexity in software is the unnecessary distribution, replication, or restructuring of state, both in space and time."

On Friday Deploys: Sometimes that Puppy Needs Murdering (xpost) - I like this: "Deploy freezes are a hack, not a virtue"

LLM-powered coding mass-produces technical debt - especially if you go anywhere near vibe-coding

Tackling tech debt | Meri Williams | LeadDev New York 2025 [YouTube] - another perspective on tech debt, going into the problems and some nice metrics to track them.

What is a PC compatible? - apparently nothing

How AI is transforming work at Anthropic - some interesting data

Environment

Wind power slashed 4.6 billion euros off electricity bills in Spain last year claim - good for the environment, good for the wallet

Urbanism

Geometry, Empire &Control - the massive influence of military engineers on the history of urbanism [YouTube] - long video about how history influences how we live

Why Europe's night-train renaissance derailed - it's expensive and will take time, nobody has the patience

Car Brain - opening roads in San Francisco

Random Cassettes

*PREMIERE*: Tanith Tape Archiv 01: Cybertape II (1989) [German, YouTube] - Tanith is releasing some of his old mixes on cassette tapes.

Why I Quit Streaming And Got Back Into Cassettes [$$$] - "tapes remind us what we're missing when we stop taking risks."

Streaming Music To Cassette - because we love the sound … apparently.

Stuttgart 21: In der Bahnsteighalle werden die Gleise gefräst [German YouTube] - I love specialised train machines!

The Amiga's filesystem is now on Linux and Mac, thanks to an emulated driver - good old Amiga.

The Unbearable Joy of Sitting Alone in A Café - bonus points for not using your phone or a laptop.

Why Didn't AI "Join the Workforce" in 2025? - because nobody wants it and it isn't ready

ill-advised by Bill Nighy [Podcast] - When I grow up, I want to be as cool and well-dressed as Bill.

Friday Links Disclaimer
Inclusion of links does not imply that I agree with the content of linked articles or podcasts. I am just interested in all kinds of perspectives. If you follow the link posts over time, you might notice common themes, though.
More about the links in a separate post: About Friday Links.

09 Jan 2026 12:25pm GMT

Fedora Community Blog: Community Update – Week 02 2026

Fedora Community Blog's avatar

This is a report created by CLE Team, which is a team containing community members working in various Fedora groups for example Infrastructure, Release Engineering, Quality etc. This team is also moving forward some initiatives inside Fedora project.

Week: 05 Jan - 09 Jan 2026

Fedora Infrastructure

This team is taking care of day to day business regarding Fedora Infrastructure.
It's responsible for services running in Fedora infrastructure.
Ticket tracker

CentOS Infra including CentOS CI

This team is taking care of day to day business regarding CentOS Infrastructure and CentOS Stream Infrastructure.
It's responsible for services running in CentOS Infratrusture and CentOS Stream.
CentOS ticket tracker
CentOS Stream ticket tracker

Release Engineering

This team is taking care of day to day business regarding Fedora releases.
It's responsible for releases, retirement process of packages and package builds.
Ticket tracker

If you have any questions or feedback, please respond to this report or contact us on #admin:fedoraproject.org channel on matrix.

The post Community Update - Week 02 2026 appeared first on Fedora Community Blog.

09 Jan 2026 10:00am GMT

Kushal Das: Introducing EktuPy

09 Jan 2026 6:49am GMT

Rénich Bon Ćirić: The OpenCode "Dual-Pipeline" Architecture

Rénich Bon Ćirić's avatar

Let's be honest: most AI coding setups are a mess. One day you are using a cheap model that can't even close a bracket, and the next you're using a premium orchestrator that burns $10 in tokens just to fix a "hello world" typo. It's frustrating as hell, right?

I got tired of the "Context Fatigue" and the bill at the end of the month, so I came up with what I call the Dual-Pipeline Architecture. It's basically a way to turn yourself into a one-man agency without going broke.

Note

This setup is production-grade. It's meant for people who actually build stuff, not just prompt-jockeys.

Why This Setup Rocks

The core idea is a Hierarchical Mixture of Experts. Instead of asking one "smart" model to do everything, we load-balance the work.

  1. Dual Orchestrators (The "Manager" Layer):

    manager-opencode (COO):

    The workhorse. Runs on cheap, fast models (like GLM). It handles 80% of the routine coding and operations.

    manager-gemini (CTO):

    The big brain. Only called for high-stakes architecture or when things get really weird. It plans, then delegates the typing to the "juniors."

  2. Specialized Departments:

    We don't use a generic assistant. We split the brains:

    The Dev Team:
    • @architect-core: Designs the systems.
    • @builder-fast: Types code at light speed.
    • @qa-hawk: Audits everything with a nasty personality to find bugs.
    The Business Team:
    • @biz-strategist: Decides if what you're building actually makes money.
    • @creative-lead: Handles the copy so it doesn't sound like a robot wrote it.

Manual Setup Instructions

If you're like me and prefer to do things by hand instead of running a magic script, here's how you get this running.

Prerequisites:
  • Node.js & NPM (obviously).
  • uv installed (it makes ast-grep way faster).
  • The OpenCode CLI (npm i -g opencode-ai).
  1. Configuration:

    First, create your config folder:

    mkdir -p ~/.config/opencode
    

    Then, set up your base config.json to handle authentication:

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-gemini-auth@latest"]
    }
    
  2. Shell Alias:

    Don't waste time typing long commands. Add this to your .bashrc or .zshrc:

    alias opencode='npx opencode-ai@latest'
    

Tip

Keep your context clean! I explicitly disable heavy tools like Puppeteer or SQLite globally and only enable them for the specific agents that need them. Your wallet will thank you.

Usage Examples

Routine Work:
$ opencode > @manager-opencode create a simple landing page.
Complex Architecture:
$ opencode > @manager-gemini I need to refactor the auth system. Ask @architect-core for a plan first.

What do you think? This setup changed the game for me. It's fast, it's organized, and it's significantly cheaper than just throwing GPT-4 at every problem.

09 Jan 2026 5:51am GMT

08 Jan 2026

feedFedora People

Fedora Community Blog: Improve traceability with the tmt web app

Fedora Community Blog's avatar

The tmt web app is a simple web application that makes it easy to explore and share test and plan metadata without needing to clone repositories or run tmt commands locally.

At the beginning, there was the following user story:

As a tester, I need to be able to link the test case(s) verifying the issue so that anyone can easily find the tests for the verification.

Traceability is an important aspect of the testing process. It is essential to have a bi-directional link between test coverage and issues covered by those tests so that we can easily:

Link issue from test

Implementing the first direction in tmt was relatively easy: We just defined a standard way to store links with their relations. This is covered by the core link key which holds a list of relation:link pairs. Here's an example test metadata:

summary: Verify correct escaping of special characters
test: ./test.sh
link:
  - verifies: https://issues.redhat.com/browse/TT-206

Link test from issue

The solution for the second direction was not that straightforward. Thanks to its distributed nature, tmt does not have any central place where a Jira issue could point to. There is no server which keeps information about all tests and stores a unique id number for each which could be used in the link.

Instead of integers, we're using the fmf id as the unique identifier. It contains url of the git repository and name of the test. Optionally, it can also define ref instead of using the default branch and path to the fmf tree if it's not in the git root.

The tmt web app accepts an fmf id of the test or plan or both, clones the git repository, extracts the metadata, and returns the data in your preferred format:

The service is currently available at the following location:

Here's an example of what the parameters would look like when requesting information about a test in the default branch of a git repository:

By default, a human-readable HTML version of the output is provided to the user. Include the format parameter in order to choose your preferred format:

It is possible to link a test, a plan, or both test and plan. The last option can be useful when a single test is executed under several plans. Here's how the human readable version looks like:

Create new tests

In order to make the linking as smooth as possible, the tmt test create command was extended to allow automated linking to Jira issues.

First make sure you have the .config/tmt/link.fmf config prepared. Check the Link Issues section for more details about the configuration.

issue-tracker:
  - type: jira
    url: https://issues.redhat.com
    tmt-web-url: https://tmt.testing-farm.io/
    token: ***

When creating a new test, use the --link option to provide the issue which is covered by the test:

tmt test create /tests/area/feature --template shell --link verifies:https://issues.redhat.com/browse/TT-206

The link will be added to both test metadata and the Jira issue. Just note that the Jira link will be working once you push the changes to the remote repository.

Link existing objects

It's also possible to use the tmt link command to link issue with already existing tests or plans:

tmt link --link verifies:https://issues.redhat.com/browse/TT-206 /tests/core/escaping

If both test and plan should be linked to the issue, provide both test and plan as the names:

tmt link --link verifies:https://issues.redhat.com/browse/TT-206 /tests/core/escaping /plans/features/core

This is how the created links would look like in Jira:

Closing notes

As a proof of concept, for now there is only a single public instance of the tmt web app deployed, so be aware that it can only explore git repositories that are publicly available. For the future we consider creating an internal instance in order to be able to access internal repositories as well.

We are looking for early feedback. If you run into any problems or any missing features, please let us know by filing a new issue. Thanks!

The post Improve traceability with the tmt web app appeared first on Fedora Community Blog.

08 Jan 2026 12:00pm GMT

Remi Collet: 🪦 PHP 8.1 is retired

Remi Collet's avatar

Two year afters PHP 8.0, and as announced, PHP version 8.1.34 was the last official release of PHP 8.1

To keep a secure installation, the upgrade to a maintained version is strongly recommended:

Read :

ℹ️ However, given the very important number of downloads by the users of my repository the version is still available in remi repository for Enterprise Linux (RHEL, CentOS, Alma, Rocky...) and Fedora and will include the latest security fixes.

⚠️ This is a best effort action, depending on my spare time, without any warranty, only to give users more time to migrate. This can only be temporary, and upgrade must be the priority.

You can also watch the sources repository on github.

08 Jan 2026 9:06am GMT

Fedora Community Blog: Fedora Linux 43 (F43) election results

Fedora Community Blog's avatar

The Fedora Linux 43 (F43) election cycle has concluded. In this election round, there was only one election, for the Fedora Engineering Steering Committee (FESCo). Congratulations to the winning candidates. Thank you to all candidates for running in this election.

Results

FESCo

Five FESCo seats were open this election. A total of 214 ballots were cast, meaning a candidate could accumulate a maximum of 1,498 votes. More detailed information on the voting breakdown is available from the Fedora Elections app in the Results tab.

# votes Candidate
1013 Kevin Fenzi
842 Zbigniew Jędrzejewski-Szmek
784 Timothée Ravier
756 Dave Cantrell
706 Máirín Duffy
685 Fabio Alessandro Locati
603 Daniel Mellado

The post Fedora Linux 43 (F43) election results appeared first on Fedora Community Blog.

08 Jan 2026 8:00am GMT

07 Jan 2026

feedFedora People

Christof Damian: 2025 in books

Christof Damian's avatar

Another year, another bunch of books.

I spend most of the year binging through thriller series that I had already had started in 2024.

The books I really liked were the newest book from the Slough House series, the spy novel The Persian, and Fundamentals of Software Architecture (even if I didn't finish it).

I am still using Goodreads to track these, so you can find the pretty Year in Books there.

Currently, I am reading The John Varley Reader: Thirty Years of Short Fiction, which is great. Apparently, I have to wait until someone passes until people tell me about them.

Non-Fiction

This year was very light on non-fiction. I just didn't have the patience for it.

Never Search Alone: The Job Seeker's Playbook Never Search Alone: The Job Seeker's Playbook - while searching for a new job, I used this book and the associated community to help. Some of it worked, a lot of it doesn't make sense for my roles in the current market.

Life After Cars: Freeing Ourselves from the Tyranny of the Automobile - I love the podcast, but this was mostly about cars and not the life after them.

Fundamentals of Software Architecture: An Engineering Approach - I quite liked this one, but I didn't finish it. I will continue at some point.

Future Boy: Back to the Future and My Journey Through the Space-Time Continuum - Michael J. Fox autobiography from the Back to the Future days. Many cool titbits.

Fiction

I binged quite a few series, so I keep it short.
DCI Logan Crime Thrillers #14-#21
Robert Hoon Thrillers #3-#5
DI Heather Filson Series #1-#2
First Among the Dead: A Constable Tyler Neish Novella
All in the same universe, pleasant quick reads, exciting and with humour.
Pretty Face, Isabella Rose #6
Charlie Cooper Thrillers Series #7-#10
John Milton Series #24-#26
Atticus Priest #5: The Inheritance
Not much about these to say. I love Mark Dawson's thrillers. The stories are maybe a bit predictable, but they have exciting moments.
Detective Inspector Declan Walsh Series #2-#6 - this was nice and then jumped the shark so badly I gave up on the series.
Nightshade: A Novel a new Michael Connelly series. More cosy than the usual LA setting.
The Lincoln Lawyer #8 The Proving Ground - OK, but so much better than the quite rubbish TV series.
Use of Weapons - I wanted to continue with the Culture series by Ian M. Banks. It turns out this is the last one available on Kindle.
Slough House #9: Clown Town - he is not writing fast enough. This is also so much better than the TV series. And the TV series is brilliant.
The Persian: A Novel - another spy novel by David McCloskey, excellent, if a partly depressing. With this year's news, I would also like to have anything playing in those parts of the world.
Titanium Noir #1: Titanium Noir - like a Raymond Chandler story in the near future
Commissario Montalbano #1: The Shape of Water - not a series I will continue. It feels so outdated.
Legends & Lattes #2 Brigands & Breadknives - I was eagerly awaiting this cosy fantasy story. It was good, but there were not enough hot beverages and biscuits.
Hidden in Memories - Cosy Nordic Noir - I think this is part three in the series.
The Tourney: The Adventures of Maid Marian - I got this because I like the author on Mastodon, the book is very much average. At 65 pages, you read this romantic yarn quickly.

Comics

Lazarus Fallen #1-#6 - This is nearing the end, and it has been great. Good action, well drawn, and Greg Rucka at his best.

07 Jan 2026 5:21pm GMT

Ben Cotton: GitHub Discussions versus Discourse

Ben Cotton's avatar

Some projects get by just fine with only communicating in the issue tracker and commits (or pull requests). Most projects need to talk more. They need to discuss governance issues, get community feedback on feature ideas, address user questions, plan events, and more. There's no end to the number of venues to have these conversations, but for many projects, it comes down to one choice: GitHub Discussions versus Discourse.

Both of these platforms have their advantages and disadvantages. As I wrote in the appendix to Program Management for Open Source Projects, there's no right tool, just the right tool for your community. I have used both of these tools, and can recommend both for different needs.

GitHub Discussions

GitHub Discussions is a relatively simple forum add-on available to GitHub repositories. Project administrators can add it with a simple checkbox. As a result, it requires no additional infrastructure and participants can use their existing GitHub account. You can easily convert issues to discussion threads or discussion threads into issues - some projects even require a discussion thread as a prerequisite for issue creation.

GitHub Discussions is tightly integrated into the rest of GitHub, as you might expect. This means it's easy to tag users, cross-reference issues/commits, watch for new activity, and so on. On the other hand, this tight integration isn't helpful if your project isn't tightly integrated into GitHub. Depending on the nature of your project, users who come to ask questions may not even have a GitHub account.

Discourse

Discourse (not to be confused with the chat platform Discord) is an open source discussion platform. You can self-host it or pay for hosting from Discourse or their partners. Because it's designed to be a community communication tool, it offers a lot more flexibility. This includes both themes as well as plugins and other configuration options.

Discourse includes a concept of "trust levels" that can automatically move users up through greater privileges based on a history of prosocial behavior. Moderators and access control can be adjusted on a per-category basis, which is particularly helpful for the largest of communities.

Discourse has a mailing list mode so that users who prefer can treat it like a mailing list. It also supports private conversations so that moderators and administrators can discuss concerns candidly.

GitHub Discussions versus Discourse: pick your winner

How you decide which tool to use will depend on several factors:

Ultimately, there's no simple answer. You have to compare the tools across the axes above (plus any other technical or philosophical requirements you have).

This post's featured photo by Volodymyr Hryshchenko on Unsplash.

The post GitHub Discussions versus Discourse appeared first on Duck Alignment Academy.

07 Jan 2026 12:00pm GMT

Avi Alkalay: O problema não é a Venezuela

Avi Alkalay's avatar

Gente que diz que Maduro era péssimo e já vai tarde. Gente que diz que ninguém falou nada quando Maduro quis tomar parte da Guiana em 2023. E assim justifica Donal fazer o que fez na Venezuela, país que realmente está em frangalhos e agora seu povo foi libertado. Até celebra, até bate palmas.

Gente que diz essas coisas, acorde. Tente ver mais longe e para o futuro.

O problema maior não é bem a Venezuela.

O problema é a nova ordem mundial que se abre para o futuro agora.

Qual o próximo país que Donald vai querer invadir? Dinamarca? Colombia? Sim, porque abriu-se um precedente. E se Donald invade, porque Putin não invadiria em sua região também? E China? E Taiwan? Quando será a vez do Brasil ser invadido, com nossas infindáveis riquezas naturais, fontes de água potável, sol, população enorme? Invadir países pelas suas riquezas é coisa de século 15. Não de século 21, era da ONU.

Preparamos nossos filhos e nossas aposentadorias para uma certa ordem mundial que pode estar se desmanchando. O futuro fica tremendamente mais incerto agora para todo mundo. Esse é o risco. Isso é que é ruim.

Quanto a Venezuela, não há muitas evidências na História de país que foi invadido por suas riquezas naturais e que a situação melhorou muito para o povo lá. Invasão assim é para pilhar, usurpar, não para fazer caridade.

Bater palma para a abertura deste precedente é passar vergonha. Muita vergonha, gente. Em caso de dúvida, é melhor aproveitar a chance de ficar quieto.

Também no meu LinkedIn e Facebook.

07 Jan 2026 10:48am GMT

06 Jan 2026

feedFedora People

Tomasz Torcz: I Voted, F43 edition

06 Jan 2026 4:44pm GMT

Kushal Das: 2025 blog review

06 Jan 2026 8:34am GMT

Fedora Badges: New badge: Fedora 47 Change Accepted !

06 Jan 2026 6:19am GMT

Fedora Badges: New badge: Fedora 46 Change Accepted !

06 Jan 2026 6:15am GMT

Fedora Badges: New badge: Fedora 45 Change Accepted !

06 Jan 2026 6:14am GMT