Gonçalo Valério

Thoughts, projects and some other stuff
https://blog.ovalerio.net/ (RSS)
visit blog
An experiment in fighting spam on public forms using “proof of work”
21 Oct 2024 | original ↗

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 […]

Hawkpost enters “maintenance only” mode
26 Sept 2024 | original ↗

In practice this already happened a couple of years ago, now we are just making it official. For those who don’t know, Hawkpost is a side project that I started while at Whitesmith back in 2016 (8+ years ago). I’ve written about it here in the blog on several occasions. To sum it up, it […]

Is it “/.well-known/”?
22 Aug 2024 | original ↗

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 […]

“Extracting wisdom” from conference videos
11 Jul 2024 | original ↗

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, […]

Ways to have an atomic counter in Django
28 Jun 2024 | original ↗

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, […]

Are Redis ACL password protections weak?
8 May 2024 | original ↗

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 […]

Local AI to the rescue
10 Apr 2024 | original ↗

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 […]

Security.txt in the wild
13 Mar 2024 | original ↗

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 […]

New Nostr and Lightning Addresses
19 Feb 2024 | original ↗

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. […]

My setup to keep up with podcasts
6 Feb 2024 | original ↗

To be sincere, I have a strong preference for written content. There is something with audio and video (podcasts and streams) that doesn’t fit very well with me or how I consume content when I’m at the computer. Nevertheless, there is a lot a great content that is only available through podcasts. So sometimes I […]

Filter sensitive contents from Django’s error reports
26 Jan 2024 | original ↗

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, […]

Take advantage of Django’s system checks
19 Jan 2024 | original ↗

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 […]

Meet the InfoSec Planet
31 Dec 2023 | original ↗

If you are a frequent reader of this blog, you might already know that I created a small tool to generate a simple webpage plus an RSS feed, from the content of multiple other RSS sources, called worker-planet. This type of tool is often known as a “planet”: In online media a planet is a […]

The books I enjoyed the most in 2023
19 Dec 2023 | original ↗

We reached the end of another year, and generally, this is a good time to look back, to evaluate what was done, what wasn’t done and eventually plan ahead. While dedicating some time to the first task, it occurred to me that I should share some of this stuff. I doubt it will be useful […]

An attempt at creating a DIY baby monitor
18 Nov 2023 | original ↗

Occasionally, “modern” baby monitors hit the news, but not for the best reasons. Sometimes for the lack of security, other times for exploitative practices, etc. This also applies to many other categories of products that we can include in the so-called “Internet of Things”. After reading a recent article about the topic, some comments with […]

You can now follow this blog on the fediverse
19 Oct 2023 | original ↗

The possibilities of the ActivityPub protocol, and what it can bring to the table regarding interoperability in the social media landscape, are immense. It is specially welcome after a decade (and half?) plagued by the dominance of centralized walled gardens that almost eradicated the diverse ecosystem that previously existed. It is used by many...

So you need to upgrade Django
13 Oct 2023 | original ↗

No matter how much you try to delay and how many reasons you find to postpone, eventually the time comes. You need to update and upgrade your software, your system components, your apps, your dependencies, etc. This happens to all computer users. On some systems, this is an enjoyable experience, on other systems as painful […]

Improving your online privacy: An update
16 Sept 2023 | original ↗

Ten years ago, after it became clear to almost everyone that all our online activity was being tracked and stored, I wrote a blog post about simple steps a person could take to improve their privacy online. Essentially, it contains a few recommendations that everyone could follow to reduce their fingerprint without much effort. It […]

New release of worker-planet
29 Jul 2023 | original ↗

Two years ago, I made a small tool on top of Cloudflare’s Workers to generate a single feed by taking input from multiple RSS sources, a kind of aggregator or planet software as it was usually known a few years ago. You can read more about it here and here. This is a basic tool […]

Playing with maps
23 Jun 2023 | original ↗

I’ve always been astonished about how well mapping apps work. Sure, when Google Maps was first released the sense of wonder was much greater than it is nowadays, nevertheless it is still impressive. The number of situations when/where this kind of software becomes handy is huge, from the well-known GPS guides to even games (remember […]

What to use for “TOTP” in 2023?
8 May 2023 | original ↗

At the start of last week, we received great news regarding new improvements to a very popular security app, “Google Authenticator”. A feature it was lacking for a long time was finally implemented, “cloud backups”. However, after a few days, the security community realized the new feature wasn’t as good as everybody was assuming. It […]

New release of “inlinehashes”
30 Jan 2023 | original ↗

Last year, I built a small tool to detect inline styles and scripts in a given webpage/document and then calculate their hashes. It can be useful for someone trying to write a strict “Content-Security-Policy” (CSP) for pre-built websites. I described the reasoning at the time in this blog post. Today, I’m writing to announce that […]

Cleaning my follow list using “jacanaoesta”
8 Jan 2023 | original ↗

Last year we saw the rise of the Fediverse. Mostly because of a series of external events, that ended up pushing many people to try other alternatives to their centralized platform of choice. Mastodon was clearly the software component that got most attention and has been under the spotlight in the last few months. It […]

Secure PostgreSQL connections on your Django project
14 Oct 2022 | original ↗

Last week, an article was published with some interesting numbers about the security of PostgreSQL servers publicly exposed to the internet (You can find it here). But more than the numbers, what really caught my attention was the fact that most clients and libraries used to access and interact with the databases have insecure defaults: […]

Preparing for Hacktoberfest
30 Sept 2022 | original ↗

It already starts tomorrow… the next edition of “Hacktoberfest”. For those who don’t know, it basically is an initiative that incentivizes participants to contribute to open-source software. During the month of October, those who do 4 contributions or more, can either receive a t-shirt or opt for a tree to be planted in their name. […]

Shutting Down Webhook-logger
25 Aug 2022 | original ↗

A few years ago I built a small application to test Django’s websocket support through django-channels. It basically displayed on a web page in real time all the requests made to a given endpoint (you could generate multiple of them) without storing anything. It was fun and it was very useful to quickly debug stuff […]

Controlling the access to the clipboard contents
27 Jun 2022 | original ↗

In a previous blog post published earlier this year I explored some security considerations of the well known “clipboard” functionality that most operating systems provide. Long story short, in my opinion there is a lot more that could be done to protect the users (and their sensitive data) from many attacks that use of clipboard […]

Django Friday Tips: Less known builtin commands
29 Apr 2022 | original ↗

Django management commands can be very helpful while developing your application or website, we are very used to runserver, makemigrations, migrate, shell and others. Third party packages often provide extra commands and you can easily add new commands to your own apps. Today lets take a look at some less known and yet very useful […]

Inlineshashes: a new tool to help you build your CSP
27 Mar 2022 | original ↗

Content-Security-Policy (CSP) is an important mechanism in today’s web security arsenal. Is a way of defending against Cross-Site Scripting and other attacks. It isn’t hard to get started with or to put in place in order to secure your website or web application (I did that exercise in a previous post). However when the systems […]

Django Friday Tips: Admin Docs
18 Feb 2022 | original ↗

While the admin is a well known and very useful app for your projects, Django also includes another admin package that isn’t as popular (at least I never seen it being heavily used) but that can also be quite handy. I’m talking about the admindocs app. What it does is to provide documentation for the […]

↑ these items are from RSS. Visit the blog itself at https://blog.ovalerio.net/ to find other articles and to appreciate the author's digital home.