atlas news
    
Andrea Grandi
30  août     00h00
Sentire - a command line interface for Sentry API
   Introduction When I use coding agents, I often need to retrieve details from a Sentry issue to provide context for diagnosing the root cause. I’ve been using the Sentry MCP for this, but I wanted to switch to a simpler command-line tool. I assumed sentry-cli would fit the bill, until I realized it...
15  août     00h00
Claude Code Status Line Script
   Introduction A few days ago, Anthropic released an update for Claude Code that adds an interesting feature: a new command named statusline, which will create a script to fetch and show useful information in the app’s status bar and automatically add the configuration for it. You can either let...
28  juillet     00h00
Releasing Log Basset: an open source CLI to access Scalyr logs
   Introduction At work, we use Scalyr to access our logs. They provide a web interface and a client written in Python, but it hasn’t been updated in the last couple of years, and I’m not sure if it’s abandoned. As CLI coding agents become more popular, it’s important to have reliable CLI tools for...
17  juillet     00h00
Comparing Claude Code vs OpenCode (and testing different models)
   Introduction In the past few days Claude Code had some reliability issues and was sometimes unavailable. I started looking for alternative solutions (for context: through my job, I already have paid subscriptions to GitHub Copilot and ChatGPT) but I wanted something that would better fit my...
13  juillet     00h00
How to use git worktree effectively with Python projects
   Introduction Working with multiple branches in Python projects can be challenging, especially when you need to switch between different features, bug fixes, or versions while maintaining separate virtual environments and dependencies. git worktree provides an elegant solution to this problem by...
12  juillet     00h00
Using terminal-notifier in Claude Code to get custom notifications
   Introduction When working with Claude Code on macOS, you might find yourself waiting for long-running tasks to complete or missing important prompts for user input. The terminal-notifier utility provides an elegant solution by sending desktop notifications directly from the command line, helping...
30  janvier     00h00
Using uv to install Python and create a virtual environment
   Following my previous post, today I wanted to see if I could replace my pyenv and pyenv-virtualenv usage with uv. Install uv If you haven’t done it yet, you need to first install uv using either this method or one of the methods described in the documentation: 1 2 brew update brew install uv...
29  janvier     00h00
Stepping my feet into uv world - part 1
   I heard about uv and Astral last year and as I previously mentioned in this blog post, I did (and still have) have some concerns about them. By the way, inspired by some work a colleague of mine is doing, I wanted to give it a chance and I checked if I could start using it without disrupting my...
26  janvier     00h00
How to workaround Ollama models pull issues
   In the past couple of days I was having this annoying issue while trying to pull a model from Ollama: I was running the command ollama pull deepseek-r1:8b, it was downloading something like 4-5% of the model and then the connection was reset, the client was crashing and it always restarted from 0%....
21  janvier     00h00
I got a Micro.one blog
   I found out about Micro.blog platform thanks to Jeff Triplett a few months ago and I even decided to give it a try, but to be honest, having already a main blog, made with Hugo, which is hosted for free on GitHub Pages, I couldn’t really justify spending another 5 month for a micro blogging...
03  janvier     00h00
New Year resolution: sponsoring some of the open source projects I use
   After having thought about this for a while, I finally decided to start sponsoring some of the open source projects I regularly use. I set aside a monthly budget and I evenly divided the amount across the projects. Who am I sponsoring? So far I’ve started sponsoring these projects people (in no...
02  janvier     00h00
My ZSH history
   Inspired by this post from Nicola Iarocci, I decided to check my own bash zsh history: 1082 git 99 cd 95 nox 38 pip 37 ls 33 pytest 29 brew 26 code 19 curl 16 pyenv Even for me, my biggest usage of the terminal is because of git You can produce your own list by using this command: history awk ’...
14  décembre     00h00
I got a Basset Hound dog: welcome Fulvio
   I’ve always wanted a dog (actually... my family had one 30 years ago, but since I wasn’t directly involved with him, I never felt him as my own). Life (and sometimes laziness) had not allowed me to own one in the past (living abroad, moving back to Italy but living in a small apartment etc...) so...
26  octobre     00h00
How to configure an Ethernet connection between iPad and RaspberryPi through USB-C
   I recently found out (thanks to this article from Juha-Matti Santala) that not only you can power a RaspberryPi device through the USB-C of an iPad but that you can also get an ethernet connection through it Requirements an USB-C iPad (I used an iPad Air 4th gen) a USB-C cable (I used the one that...
11  septembre     00h00
My User Manual
   This is my user manual. If we are working together (or planning to), please read it carefully. You will learn how to deal with me productively and avoid misunderstandings. I initially wrote this for my current colleagues, but I thought it could be a good idea to make it public for everyone else I...
07  septembre     00h00
Building a healthy and sustainable funding model for open source software
   If you work in software development, chances are high that your company is using open source software to build their products. Nowadays open source software is nearly everywhere: it can be included in your operating system, in commercial software or it can be responsible for hosting your website or...
13  août     00h00
It’s now possible to use ControlD DNS with Tailscale
   If you are using Tailscale in some of your devices, you also need to use Tailscale own DNS server to resolve the names of the devices in the network. If you are also a user of ControlD DNS, and you want to use it with Tailscale, you can finally do it Configure a new Endpoint on ControlD First of...
10  août     00h00
Tracking airplanes with a Raspberry Pi and an ADS-B receiver
   If you have ever used a flight tracking app like Flightradar24 or FlightAware you might have wondered how they get the data about the airplanes in real time. All these services use an existing network of ADS-B receivers to collect data about the airplanes in the sky. What is ADS-B? ADS-B stands for...
31  juillet     00h00
Self hosting a website analytics at zero cost
   I recently started using Umami (a privacy first, GDPR compliant solution) for this website analytics but I immediately found out that their free plan was not enough for my needs (10k page views per month). Since it’s completely open source, you can self host it anywhere you want. I was initially...
20  juillet     00h00
Buy or Rent? RaspberryPi vs VPS
   Recently I was planning to self host a service I’m using and I was immediately stuck on a decision: should I just buy a Raspberry Pi 5 or rent a VPS? Requirements Let’s starts from the basic question: what specs do I need to run this service? Reading around, it seems that something with 4GB of RAM...
17  juillet     00h00
Python: it is now() time to migrate from utcnow()
   This morning I randomly found this post from Miguel Grinberg: It’s Time For A Change: datetime.utcnow() Is Now Deprecated. The main point is that Python utcnow() method is not timezone aware, and Python 3.12 is deprecating it. Therefore, you should start migrating your code to use now() instead....
12  juillet     00h00
My curated list of indie blogs
   Recently I finally restarted to read indie blogs more regularly. To do that I’m using NetNewsWire, a free and open-source RSS reader for macOS and iOS and every time somone posts an interesting article, for example on Mastodon, I make sure to follow the RSS feed of that blog. In a few weeks, I’ve...
08  juillet     00h00
Cryptomator: end-to-end encrypt files in any cloud
   If you are using a cloud storage service like Google Drive, Dropbox, OneDrive, etc., you should be aware that your files are not encrypted by default. This means that the cloud provider is able to access and, in some cases, even share them with third parties. In case your cloud provider gets hacked...
06  juillet     00h00
If your website uses Cloudflare, you can now easily block AI bots
   If you own a website and you don’t want AI bots to crawl it and you are already using Cloudflare, you are in luck. Cloudflare has recently added a new feature that allows people to easily block AI bots from crawling their website. Setup To enable this feature, you need to login to your Cloudflare...
22  juin     00h00
We need an evolved robots.txt and regulations to enforce it
   The robots.txt file is a simple text file that tells web robots (like search engine crawlers) which pages on your site to crawl and which not to crawl. It’s a standard that has been around for a long time and it’s still used today. Some examples of rules you can put in a robots.txt file are: 1 2...
04  juin     00h00
Simple and free solution to read content from RSS feeds on iOS and MacOS
   Reading news and blog posts can be quite time consuming if we manually go to news websites to check if something new is out or if we spend all day checking social media, waiting for people we follow to post their latest article. An efficient way to fetch new content is to follow the news sites and...
18  mai     00h00
Truncating time when querying a PostgreSQL database
   When you have to compare dates in a SQL query, you often want to ignore the time part. For example if you have two very common fields like created at and updated at and you want to know if they are the same day, you have to truncate the time part. How to do this depends on the database you are...
01  mai     00h00
AI won’t take your Software Developer job (not yet)
   In the last 3 days I had the opportunity to participate to an internal hackathon organised by the company I work for. We had to build a project based on an SDK and the needed skills to build it were those of a frontend developer. Being a backend developer and having very basic (almost none)...
09  mars     00h00
Using AI tools for coding: good or bad?
   Every now and then, my Mastodon or LinkedIn timelines are full of messages either praising or condemning the use of AI tools for coding. Are they good or bad then? As usual I think the truth is in the middle, or to be more precise: it depends on how you use them. Context In the last couple of years...
05  mars     00h00
iA Writer Authorship: a brilliant feature with a problematic implementation
   I recently started using iA Writer to edit my MarkDown files on iPad and I’m honestly quite impressed by its simplicity. With the latest version they introduced a feature called Authorship which basically helps you to keep track of external contributors. For example, suppose you asked a friend (or...