Sign in

Daniel Fernández

@danfenz.dev
96 followers 72 following 70 posts

Software engineer. Author of @thymeleaf.org, Unbescape, Attoparser and the Arxila family of OSS projects. 🏡 Galicia, Spain, European Union.

PostsRepliesMedia
Daniel Fernández @danfenz.dev · 09/09/2026
Back in April, it was taking GitHub approx 3 business days to review security advisories and assign CVE IDs. Five months later, it is now taking them 5 WEEKS. That's the new AI-powered, AI-harassed Open Source world. github.com/orgs/communi...
github.com
Excessive CVE Assignment Backlog and Delay in GHSA Process · community · Discussion #207039
🏷️ Discussion Type Product Feedback 💬 Feature/Topic Area Other Discussion Details Although it is well documented by GitHub themselves in their security blog here, I need to provide feedback on how ...
000
Daniel Fernández @danfenz.dev · 25/08/2026
I'm totally convinced that, in this new era of AI-made software, "performance" will be the new "artisan luxury".
000
Daniel Fernández @danfenz.dev · 31/07/2026
@libro.fm I understand why you may need to do this for a small set of books. But I worry to see such set growing (+3 books in my wishlist), and your "à la carte" prices for these books are quite higher than those in Audible — in some cases, even titles included "for free" in Audible's subscription 😔
110
Daniel Fernández @danfenz.dev · 21/07/2026
The advent of the LLM-driven security auditor not only causes a flood of questionable reports on open source projects, but interestingly also causes some of these reports to report exactly the same with few days difference.
020
Daniel Fernández @danfenz.dev · 23/06/2026
Hello Summer #sanxoán
041
Daniel Fernández @danfenz.dev · 06/05/2026
"Why AI Agents are either the best or worst thing we’ve ever built" - by @fryrsquared.bsky.social www.youtube.com/watch?v=WnzR...
youtube.com
Why AI Agents are either the best or worst thing we’ve ever built
YouTube video by Hannah Fry
100
Daniel Fernández @danfenz.dev · 29/04/2026
So, apparently, Markdown is the new Python 🤷
020
Daniel Fernández @danfenz.dev · 12/04/2026
There is a kind of user that doesn't read the docs, opens tickets because they try programming using the force and fail and that, when you point out their error to them, just open a new ticket blaming your docs for not being good enough. You simply have to admire their determination in life.
000
Daniel Fernández @danfenz.dev · 10/04/2026
I believe Patrick Wyman is one of the best communicators of popular history out there today. Whatever he has written in this book, if it is half as good as his podcasts, is going to be terrific.
000
Reposted by Daniel Fernández
The New Stack @thenewstack.io · 08/04/2026
AWS launches S3 Files, a new feature that adds native NFS file system access to S3 buckets, letting compute resources read, write, and edit data stored in S3.
bit.ly
Amazon S3 Files gives the world's biggest object store a file system
AWS launches S3 Files, a new feature that adds native NFS file system access to S3 buckets, letting compute resources read, write, and edit data stored in S3.
002
Reposted by Daniel Fernández
Katie Mack @astrokatie.com · 06/04/2026
The NASA #Artemis II tracking website: www.nasa.gov/missions/art... It includes a nice moveable visualization of the Moon, the spacecraft, the Sun, and the Earth, so you can get a feel for the relative positions of them all.
nasa.gov
NASA: Artemis II
Artemis I will be the first in a series of increasingly complex missions to build a sustained human presence at the Moon for decades to come.
16446154
Daniel Fernández @danfenz.dev · 14/03/2026
Everyone today: "Your password must be 18 characters long, contain upper case, lower case, two numbers 0-9, a punctuation mark, a musical note and a fifteenth century kanji letter." Meanwhile banks: "Maximum 8 characters, only A to Z upper case allowed."
011
Daniel Fernández @danfenz.dev · 14/02/2026
Reorganizing development work stints in order to make the best use of the available AI credits before they top up the following month. The trend that no one saw coming.
000
Daniel Fernández @danfenz.dev · 11/02/2026
I cannot find the words to express how much I dislike the file permissions mechanism in Windows.
000
Daniel Fernández @danfenz.dev · 01/01/2026
✅ Blue Danube ✅ Radetzky March There we go then. Wishing you all a very happy 2026!
000
Daniel Fernández @danfenz.dev · 30/12/2025
So apparently, if you are a huge software vendor and charge big money for support and consulting, you can sell rubbish software and ignore standards and specs, and then expect that your customers will force their OTHER vendors to adapt to your garbage because that will be much cheaper for them.
000
Reposted by Daniel Fernández
Google for Developers @developers.google.com · 30/10/2025
Automate repetitive UI tasks. The Gemini 2.5 Computer Use Model lets you build agents to handle forms, reports, and more. The model is trained with safety features and is now in public preview. Try it → goo.gle/Computer-Use-Model
261
Daniel Fernández @danfenz.dev · 30/10/2025
OK, this is my first one. Let's build something! #raspberrypi
010
Reposted by Daniel Fernández
Kurzgesagt – In a Nutshell @kurzgesagt.org · 07/10/2025
AI-generated content is flooding the internet, and we're entering a new era of information overload. Watch our latest video to find out how AI slop affects the internet and why kurzgesagt videos will always remain human-made: kgs.link/AISlop
In the middle, there is an AI-generated picture of a duck. Below it, there is a human-illustrated Duck, looking at the other duck in shock, and saying "Wtf is this?"
191256395
Daniel Fernández @danfenz.dev · 29/09/2025
I wish Java had this.
Explanation on F#'s system for applying units of measure to numerals.
010
Reposted by Daniel Fernández
Spring I/O @springio.net · 17/09/2025
🍃 From Beans to Boot, Aspects to AI by Rod Johnson / Juergen Hoeller / @starbuxman.joshlong.com @ Spring I/O 2025 ▶️ Video: youtu.be/i_fiHmg1qM0 #springio25
youtu.be
From Beans to Boot, Aspects to AI by Rod Johnson / Juergen Hoeller / Josh Long @ Spring I/O 2025
YouTube video by Spring I/O
085
Daniel Fernández @danfenz.dev · 15/09/2025
I mean... OK. I can do that. But also "uv python find --show-version". Anyway. Perhaps I should read the documentation.
000
Daniel Fernández @danfenz.dev · 15/09/2025
I explained that point at the chat, and then came the first thing similar to a "good" answer: use "uv python find", which will output the path of the python runtime, then pipe it to "xargs -L 1 -I {} {} -V" to execute it and extract the version ("-V").
100
Daniel Fernández @danfenz.dev · 15/09/2025
3. So I asked Gemini (2.5 Flash), and this one told me that "uv python" without any arguments would give me the path of the python executable being used in the virtualenv. Which was incorrect again, as this only outputs the list of arguments that can be passed to it.
100
Daniel Fernández @danfenz.dev · 15/09/2025
So I explained that 0.8.17 was the latest version, released 5 days ago, and its response was that in such a case I should just use "python --version" without uv (OK, that's true, but I wanted a "uv" option). And again that "uv python list" would indicate the current one in the list (nope, nope).
100
Daniel Fernández @danfenz.dev · 15/09/2025
I told it that "uv python --version" did not exist, and that I was using uv 0.8.17… and its response clarified that, in fact, the "uv python" subcommand had appeared in uv version 0.9.0, so I needed to upgrade 😕
100
Daniel Fernández @danfenz.dev · 15/09/2025
2. So I asked Claude (Sonnet 4), and again it told me that I should use "uv python --version" (nope) and also that "uv python list" would give me a list of the installed python versions, indicating the currently active one (also nope on this last point).
100
Daniel Fernández @danfenz.dev · 15/09/2025
Interestingly, this explanation included a literal quote from the release notes explaining the reboot, and a link to such release notes where apparently I could verify that point myself. None of that was real. Version 0.8.17 was released five days ago.
100
Daniel Fernández @danfenz.dev · 15/09/2025
I reiterated that I used version 0.8.17, which is newer than 0.1.0 and, as a response, I obtained a lengthy explanation about how, contrary to what it seemed, 0.1.0 was in fact a newer version than 0.8.17 because the uv project had been rebooted after 0.8.0, back to 0.1.0 🤨
100
Daniel Fernández @danfenz.dev · 15/09/2025
1. Github Copilot (GPT-4.1) told me it was "uv python --version". I told it that a "--version" option didn't exist for "uv python", and that I was using uv version 0.8.17. Its response was that this "--version" option appeared in 0.1.0, so I needed to upgrade to that version 🤷
100
Daniel Fernández @danfenz.dev · 15/09/2025
I've just asked 3 AIs about the way to obtain, using the "uv" command, which is the version of the python runtime that is being used for the active virtual environment. I know I can use "python --version", but I was curious to see whether I could do everything with "uv".
100
Daniel Fernández @danfenz.dev · 12/09/2025
SQL was dead. Then Hadoop got the hype, and we put a SQL layer on top to improve it. Then noSQL got the hype, and we put a SQL layer on top to improve it. Then the Data Lake got the hype, and we put a SQL layer on top to improve it. I can't wait to see what SQL looks like on top of AI agents.
000
Reposted by Daniel Fernández
Brice Dutheil @bricedutheil.bsky.social · 09/09/2025
#java JEP 401 on value classes is submitted : openjdk.org/jeps/401
openjdk.org
JEP 401: Value Classes and Objects (Preview)
02413
Daniel Fernández @danfenz.dev · 04/09/2025
I keep moving my old "small" OSS projects to a new namespace, and so "op4j" (a fluent API for Java similar to today's streams, that I developed back in 2010) now has a new home. Though in this case I have not modernized the code because the project was deprecated by JDK8. github.com/arxila/op4j
github.com
GitHub - arxila/op4j: A Java library aimed at improving the quality, semantics, cleanness and readability of Java code, especially auxiliary code like data conversion, structure iteration, filtering, ...
A Java library aimed at improving the quality, semantics, cleanness and readability of Java code, especially auxiliary code like data conversion, structure iteration, filtering, mapping, etc. - arx...
010
Daniel Fernández @danfenz.dev · 03/09/2025
This touches on two critical points most people miss: First that most OSS, even popular projects, get no relevant external contributions ever. Second that maintainers get NOTHING out of their effort besides a fancy line in their CVs that most companies ignore. OSS is 95% fueled by mere dev pride.
010
Daniel Fernández @danfenz.dev · 02/09/2025
And another one of my "old" libraries gets refreshed and moved to a new namespace: JavaRuntype. JavaRuntype is a runtime representation of Java's type system. github.com/arxila/javar...
github.com
GitHub - arxila/javaruntype: A runtime representation of the Java type system
A runtime representation of the Java type system. Contribute to arxila/javaruntype development by creating an account on GitHub.
000
Daniel Fernández @danfenz.dev · 28/08/2025
I've given my old "JavaTuples" library a new life, reimplemented as Java (JDK17) records. And I've also moved it to my new Arxila OSS project organization. Solo, Pair, Trio, Quartet… JavaTuples 2.0 is out! github.com/arxila/javat...
github.com
GitHub - arxila/javatuples: Simple Java library that provides a set of tuple classes.
Simple Java library that provides a set of tuple classes. - arxila/javatuples
010
Daniel Fernández @danfenz.dev · 24/08/2025
The AI revolution is slowly turning for me into wasting hours angrily debating with an LLM about class and variable names.
000
Daniel Fernández @danfenz.dev · 06/08/2025
Even the smallest piece of software you want to try is now distributed as a 12-container docker-compose deployment or kubernetes cluster. Everything is so slow. It's incredible how good we are at making our new shiny supercomputers turn uncomfortable and cumbersome at every step of the tech cycle.
000
Reposted by Daniel Fernández
Siva @sivalabs.in · 05/08/2025
Oooh...what are these shiny new lock icons 🤔 That's right... Spring Modulith support landed in @intellijidea.com 2025.2. You don't have to run the test to know whether you are violating any module boundaries. IntelliJ IDEA tells you as you code 🔥
0104
Reposted by Daniel Fernández
Phil Webb 🍃 @philwebb.dev · 24/07/2025
Spring Boot 4.0.0-M1 is available now: spring.io/blog/2025/07...
spring.io
Spring Boot 4.0.0-M1 available now
Level up your Java code and explore what Spring can do for you.
14013
Daniel Fernández @danfenz.dev · 23/06/2025
Hello summer. #sanxoán
001
Daniel Fernández @danfenz.dev · 07/06/2025
I will happily admit Python shines in some scenarios, but whenever I find myself switching Java for Python for software development, it's quite a lot like trading a fully-equipped restaurant kitchen for a hotel room kettle.
000
Daniel Fernández @danfenz.dev · 30/05/2025
This part of the year is really crazy.
000
Reposted by Daniel Fernández
GitHub @github.com · 06/05/2025
The New GitHub Innovation Graph data shows the EU overtaking the US in git pushes. 📊 How else is the global developer landscape shifting? 🤔 Explore 5 years of trends ⬇️ github.blog/news-insight...
1015629
Daniel Fernández @danfenz.dev · 04/05/2025
And that is the story behind AtomicHash. I hope you find it useful 👍
010
Daniel Fernández @danfenz.dev · 04/05/2025
Also interestingly, along the way I learned about CTRIE (Concurrent Hash-Trie) structures. These were almost the same thing that I was implementing, though mine diverged in that my tree was fully immutable: en.wikipedia.org/wiki/Ctrie
en.wikipedia.org
Ctrie - Wikipedia
110
Daniel Fernández @danfenz.dev · 04/05/2025
So my experience with the AI assistant could be summarized as: 1. Quite useful for some tasks. 2. Lots of time invested in discussions with a machine 😅. 3. Allowed me to learn a lot. And 4. Super-important: This thing is dangerous if you don't already now quite well what you are doing beforehand.
100
Daniel Fernández @danfenz.dev · 04/05/2025
The issues? Well, mainly those derived from working with a system that is able to tell you, in a hugely convincing manner, the most absolute lies without batting an eyelid. Sometimes even being incoherent among paragraphs of the same response. You brain needs to be in the driving seat full-time.
100
Daniel Fernández @danfenz.dev · 04/05/2025
And third was unit test generation. This is something AI does quite alright if the interface of the tested classes is clear. Not for complex tests but enough to cover most of the basics. In my case, java.util.Map is super well-documented so it was especially easy (and effortless) to add new tests.
100