Porting libmagic to Rust: Safer File Identification
A little while ago (maybe a month or two), I started porting a great project to Rust: libmagic, the library behind the `file` command utility.
Why did I do that?
For years, I've faced the same issue with file identification: embedding a C library that does intensive parsing into my memory-safe code (Rust, Go, Python, etc.). While I trust the file/libmagic developer community's code quality, I know there are skilled people capable of finding and exploiting bugs—especially in C/C++ parsers. So I've always been reluctant to run libmagic on untrusted input, which creates a tricky situation that kind of defeats its original purpose: categorizing files you know nothing about.
Why Rust?
Rust is the perfect fit for this port. It provides strong safety guarantees while maintaining high performance and easy bindings to other languages (C/C++, Python, Go, Elixir, etc.). Bonus: the library and tool will be portable to all Rust-supported targets.
Show me the code!
Here it is: https://github.com/qjerome/magic-rs/pull/1 Note: This isn't a full implementation yet—it's still a work in progress and needs more work for a usable, clean version (see PR description). That said, if you're feeling adventurous, you can test it out. It already successfully identifies several file types: MS-DOS executables, ELF binaries, scripts, and more.
Compatibility with C libmagic file format?
This project aims for 99% compatibility with libmagic's rule file format. A few rules (such as those using ternary notations in messages) may need adjustments, but the goal is to stay true to the existing specification.
What's next?
- Finalize the library implementation and publish a Rust crate
- Complete the CLI tool (a `file`-equivalent implementation)
- Create bindings for other languages
If you're interested in this work, don't hesitate to follow along or reach out!
Special thanks to @adulau and @circl for supporting this work!
In this episode of "AI for Coding", Jan Marker (KDAB) will walk you through a normal setup of Qt AI Assistant for #QtCreator using ChatGPT's models. #QtDev #AI #SoftwareDevelopment
https://www.youtube.com/watch?v=63T7b6v0sGU
Learning about software design doesn't just improve how you think about, design, and build software...
It gets you a seat at the table of conversations you previously couldn't contribute to…
And that’s where the real magic happens
My criticism about #PHP Fibers after two years of implementation:
You will still use #FrankenPHP.
I'm still wishing for PHP to handle async IO like #Golang does, especially when you want a database query or a file processing that will take its sweet time while you do something else.
"Using multiple AI agents in tandem opens up impressive possibilities. “AI agents encode the wisdom of senior engineers and apply it universally,” Yahav says.
Looking to the future, Digital.ai’s To anticipates productivity gains with fewer errors and reduced cognitive load, as developers tap various agents for lower-level details. “As this space matures, multi-agent workflows will increase velocity by significantly reducing toil,” he says.
But doing this well will require clear boundaries around product requirements, coding standards, security policies, and more.
In short, AI tools require intention. “An agentic software development life cycle needs the same pillars that a high-performing human team does: a clear mission, a code of conduct, and shared knowledge,” adds Wang.
So, although we’re heading toward a future where developers manage a fleet of agents, early testers should prepare for a lot of trial and error. As Roeck puts it, “Get ready to fail. This isn’t baked yet.”"
How AI Vibe Coding Is Erasing Developers’ Skills
Developers believe AI is boosting their productivity, but it is actually weakening core coding skills. Vibe coding is creating a generation of devs who cannot debug, design, or solve problems without AI.
https://www.finalroundai.com/blog/vibe-coding-erasing-software-developers-skills
#AI #coding #softwaredevelopment
Asi es Kiro AI por Dentro | AWS nos dió acceso anticipado
via @dotnet : .NET 10 Preview 7 is now available!
https://ift.tt/cKpd4xf
#DotNet10 #Preview7 #DotNet #CSharp #ASPNETCore #Blazor #DotNetMAUI #EntityFrameworkCore #WindowsForms #WPF #SoftwareDevelopment #Programming #DeveloperCommunity #TechNews #OpenSource #Rele…
This is the story of how #Stripe built a #Ruby type checker to make developers happier, and how they're building a Ruby package system to introduce modularity.
This #InfoQ video shares high-level strategies for any team that wants to run a migration in a large, stubborn codebase.
Watch now: https://bit.ly/45en6uJ
#transcript included
AI wrote the code. Now the team writes bug reports. If you're feeling the AI-coding hangover, this is a must-read:
https://agilepainrelief.com/blog/the-real-cost-of-ai-generated-code-it-s-not-all-it-s-cracked-up-to-be/
#Agile #AI #DevLife #SoftwareDevelopment
Aerospike has officially released its #RustLang client to support high-throughput, low-latency applications interacting with its real-time #NoSQL database.
Full details now on #InfoQ: https://bit.ly/4mnGIT2
How to Create SQL Queries with Artificial Intelligence.
Como Crear Consultas SQL con Inteligencia Artificial.
https://nubecolectiva.com/blog/como-crear-consultas-sql-con-inteligencia-artificial/
I'm thinking of submitting a talk to .NET Conf in November, and so should you!
Are there any real-world .NET topics you'd like me to talk about?
#dotnet #microsoft #softwaredevelopment
And this is why I’m working on moving my #GitHub repos to #Codeberg: the former is now fully an #AI #LLM training source and divisional sales funnel for #Microsoft’s other services. https://www.theverge.com/news/757461/microsoft-github-thomas-dohmke-resignation-coreai-team-transition
From #bootcamp to bust: How #AI is upending the #softwaredevelopment industry https://www.reuters.com/lifestyle/bootcamp-bust-how-ai-is-upending-software-development-industry-2025-08-09/
TL;DR - AI is the final nail in the coffin of coding bootcamps (that where already disappearing).
The writing was on the wall the moment #Laravel raised USD $60M from investments.
Eventually they would have to shove in #AI because of shareholders.
https://laravel-news.com/laravel-boost-your-ai-coding-starter-kit
Important software development question: Are there any AI based package managers yet? Looking for recommendations to use in production...
Microsoft Releases OpenAI’s Smallest Open Model for Windows Platforms.pdf https://www.slideshare.net/slideshow/microsoft-releases-openai-s-smallest-open-model-for-windows-platforms-pdf/282339121 #Microsoft #OpenAI #GPTOSS #AIModels #WindowsUsers #TechNews #ArtificialIntelligence #MachineLearning #Innovation #SoftwareDevelopment
For my next #Perl #blog post, should I write about:
* Util::H2O::More as an alternative to Moo for #OOP modulinos, or
* Log::Any to log to the #Apple #macOS unified logging system?
Some background:
* Moo with modulinos: https://phoenixtrap.com/2025/08/03/moodulinos/
* Util::H2O::More: https://metacpan.org/pod/Util::H2O::More
* Log::Any: https://metacpan.org/pod/Log::Any
* Apple’s unified logging system: https://developer.apple.com/documentation/os/logging