Categories
Technology and Internet

An experiment in fighting spam on public forms using “proof of work”

Spam is everywhere. If you have an email account, a mailbox, a website with comments, a cellphone, a social media account, a public form, etc. We all know it, it is a plague. Over the years, there have been multiple attempts to fight spam, with various degrees of success, some more effective than others, some […]

Categories
Technology and Internet

Is it “/.well-known/”?

Ironically, according to my experience, the .well-known directory doesn’t do justice to its name. Even in use cases that would fit nicely in its original purpose.  But I’m getting a bit ahead of myself. Let’s first start with what it is, then move to discuss where it’s used. But we’ll do this rapidly, otherwise this […]

Categories
Technology and Internet

“Extracting wisdom” from conference videos

PyCon US happened in May, this month, the 154 videos gradually started being published on YouTube. Between now and then many other interesting conferences took place. That’s a lot of talks, presentations, and content to be digested. The truth is, I and most people, won’t watch it all since our time is limited. One option, […]

Categories
Python

Ways to have an atomic counter in Django

This week, I’m back at my tremendously irregular Django tips series, where I share small pieces of code and approaches to common themes that developers face when working on their web applications. The topic of today’s post is how to implement a counter that isn’t vulnerable to race conditions. Counting is everywhere, when handling money, […]

Categories
Security

Are Redis ACL password protections weak?

Earlier this year, I decided to explore Redis functionality a bit more deeply than my typical use-cases would require. Mostly due to curiosity, but also to have better knowledge of this tool in my “tool belt”. Curiously, a few months later, the whole ecosystem started boiling. Now we have Redis, Valkey, Redict, Garnet, and perhaps […]

Categories
Technology and Internet

Local AI to the rescue

The last couple of years have been dominated by the advancements in the Artificial Intelligence (AI) field. Many of us witnessed and are currently experiencing some sort of renaissance of AI. It started with generated images from prompts, then it was all types of written content, and in the last few weeks we’ve seen astonishing […]

Categories
Security

Security.txt in the wild

A few years ago, I covered here in the blog the “security.txt spec”. A standard place with the security related contacts, designed to help researchers, and other people, find the right contacts to report vulnerabilities and other problems. At the time, I added it to my personal domain, as an example. When I wrote the […]

Categories
Blockchain Personal

New Nostr and Lightning Addresses

Bitcoin Atlantis is just around the corner. This conference, happening here in Madeira, is something unusual for us locals. The common pattern is that we have to fly to attend such conferences. I plan to attend the event, and I will be there with an open mindset, since there are always new things to learn. […]

Categories
Python Software Development

Filter sensitive contents from Django’s error reports

Reporting application errors to a (small) list of admins is a feature that already comes built in and ready to use in Django. You just need to configure the ADMINS setting and have the application ready to send emails. All application errors (status 500 and above) will trigger a new message containing all the details, […]

Categories
Python

Take advantage of Django’s system checks

Today, let’s go back to the topic of the first post in this series of Django tips. At the time, I focused on the python manage.py check –deploy command. In this article, I will explore the feature on which it is built and how it can be quite handy for many other scenarios. So, the […]