Quick post:
For some reason, my post about leader election in spring boot remains one of the most accessed in this blog.
However, that solution appears to be invalid now, since it relied on Jedis, which is not available in later Spring versions.
So, to cover this scenario for whoever has this specific need, I’ve developed a quick starter that uses database locking to allow for a…
This post will be just a complaint with no real solution, but it’s worth keeping as a record of how we perceive our times. Consider yourself warned.
In October 2025, the main AWS region went offline due to a DNS issue in DynamoDB. In November 2025, Cloudflare experienced an outage due to a change in query behavior combined with insufficient safeguards in code. In both cases, “the…
If you spend any time around developer discussions lately, it’s impossible to avoid the topic of AI-assisted development. From code generation tools to full AI copilots that promise to build entire applications, the narrative often goes something like this:
“People will just describe the system and the AI will build everything. No need to learn how to code”
As usual,…
I haven’t been following many YouTube channels lately, but one that always leaves me satisfied whenever I watch is Renato Augusto’s channel.
Recently, I watched the video he made about URL shorteners. Overall, it’s hard to argue that his solution is probably the best possible given the problem’s premises:
Functional Requirements: URL Shortening: given a long URL ->…
Just a quick post to show one of my latest projects, DNSao.
After running Pi-hole a few years as my home dns server, there were two things that bothered me in how it worked:
no way to send queries upstream in a private protocol: pi-hole is great for blocking unwanted dns queries, but it only supports open udp queries to upstream servers. That means that your ISP (or any middle agent) can…
After a few years maintaining a blog in Jekyll (not this one, this one is in Hugo), I started wanting to migrate to WordPress on a VPS. The reasons were many:
the blog started growing in the number of posts, which made writing new ones more sluggish, due to Jekyll’s slowness and the lack of motivation that this slowness causes
a feeling of “immobility” from Jekyll, almost…
A while ago I had an acquaintance who joined the company where I worked as a backend developer. As a member of a team I was closely associated with, I observe how well he performed in some tasks.
No one designed workflows like him, and his communication with the business area was excellent. He was loved by the entire team because he was always very present, always very willing. However, some…
A few weeks ago, a post went viral on LinkedIn: A company had the idea of firing an employee in a humane way, with a decorated basket of treats and words of appreciation.
Many people criticized and opposed this attitude: How does this help a professional in such a delicated situation?
These are very pertinent criticisms.
The idea of a management that treats employees well is important,…
The day before yesterday I received an email with a simple question:
“What do I need to do to start and thrive in my web developer career?”
The direct answer is easy: study, train and learn from experiences. In eagerness to be done with my inbox, that’s what I thought of answering.
But it’s a good question, and if you start to dissect the idea a little, you…
A few years ago I came across a text by Gabs Ferreira talking about the need for content production in Portuguese, not only in the IT area, but especially in it.
(go read the whole thing. It’s a good text)
I know I’m not a big content producer, a famous blogger, or a relevant figure in any way in the community, but that post resonated with me. While one of the goals of…
Sometimes I miss the adrenaline of decompiling a jar file (because the source was lost ages ago), adding a feature and putting it back in production. But, believe me, those days sucked.
In the bad old days, people pushed to production without any kind of automated testing. We would just build the features needed, tested locally and copied the files manually to a server, usually after midnight,…
After many years working in your system, building, tinkering, improving, breaking and reassembling, you decide that what is really needed is a full software rewrite. After all, what can go wrong?
If you were ever involved in a full rewrite project, you know the answer. Absolutely everything can go wrong.
Why you think you want it There’s plenty of reasons for developers to advocate…
Let’s get more technical. ‘Know your Language’ is a new category in my blog, about Programming Languages and their most common problems in enterprise environments
According to Tiobe Java is the most used backend programming language of the world. According to StackOverflow, this title goes to Javascript, but Java gets third place. Java and the JVM are also almost omnipresent…
There are hundreds of interview techniques, thousand of tools, each with a corresponding required knowledge to work with, countless “classic” algorithms and a myriad of different types of projects to try to evaluate a Software Developer. Yet, it is not easy to, nor formally or mathematically, separate a good Developer from a bad one. Why?
As always, there’s no easy answer to…
There sure is a lot of talk and work about estimates in software development. Whether you are in a big company, a small agency or a “one-man army” project, the idea that you can predict how long will it take to build a system is widespread and adopted by all.
Any management principle or project schedule has it as a bare minimum to operate. This is useful so you can plan in advance,…
Edit 17/05/2025: I’ve built a Spring Boot Starter using JPA to enable a simple leader election process. Click here to check it Edit 17/10/2024: if you want a real lock mechanism for jobs, your best bet is probably Shedlock
Warning: technical post ahead. You may want to take the children out of the room!
Spring-boot took the market by storm in the last years. Spring, as is, with MVC…
So, there’s this thing about your system.
It’s born to die.
I’m talking more specifically about the Web Systems, because that’s my area of expertise, but it’s valid for several areas of software development. Systems are created to be destructed in the long run. And that’s okay.
I’ll explain myself.
If you already worked in some big project, or for some years in a company, you…
In recent past, Orkut was the main social network in my area. Everybody used it, and everybody loved it. I believe it was the first “real” social network that was massively popular here and there were no signs that it would be replaced by Facebook.
When launched, the first iPhone revolutionized the industry of smartphones. It was something new and everybody loved it and bought one.…
When I started my career I quite never understood the idea of settling down with some language/technology. It always sounded wrong to do it because you have to “use the right tool for the right job” and “if it doesn’t look like a nail, don’t use a hammer”, but today I think that, as always, the reality is a bit more complex.
I still think that, as a…
Welcome to my new blog! If you came from the old one, hello again, if not, it’s nice to meet you.
It was a shame that I didn’t have my blog in my own server, but I fixed that now. Also, I’m not using wordpress anymore in favor of Hugo!
A long time has passed since my last posts, and I think that I evolved a lot in this meantime.
My name is Allan Vital.
Bachelor’s Degree in Computer Science from Centro Universitário SENAC Postgraduate student in Machine Learning at FIAP MBA in Leadership, Innovation and Management from PUC-RS 15+ years of experience in Software Development and Engineering 5+ years of experience as a Manager in engineering and software development teams Experiences in small, medium and large…