Blog de Raúl Salinas
- Is WhatsApp Really Secure? The Problem of the Endpoints You Don't Control
WhatsApp series, 2/2. In the first article I told the story of how I nearly lost eleven years of messages because of a backup WhatsApp itself could not restore. When I asked for the key to my own file, support replied with the marketing copy for endtoend encryption: "no one else, not even WhatsApp" can read your messages. That sentence is what this article is about. WhatsApp keeps repeating that our conversations are protected by "endtoend encryp…
- Eleven years of messages up in the air: the WhatsApp backup that could not be restored
WhatsApp series, 1/2. This article tells what happened to me when I changed phones. The second one, Is WhatsApp really secure? The problem of the endpoints you don't control, explains why endtoend encryption does not guarantee everything it seems to. In January 2024 I bought a new phone. WhatsApp was unable to restore my backup: 1,701,082 messages, going back to November 2012. The restore reached "Finishing 99%" and failed. Every time. On three d…
- true/false as booleans in bash
Many people use this common pattern in bash: bash BUILD=1 if [ "$BUILD" ne 0 ] then make fi I have been using a more compact approach for years: bash BUILD=true if $BUILD then make fi If we do not want to preinitialize the variables: bash if ${BUILD:false} Or true, whatever the default is then make fi Of course with this mechanism we are trusting the variable contents, which is usually the case in the immense majority of cases. The real power of …
- From Markdown to WordPress without the pain: how my Python blogging system works
For a long time I wrote my articles in Markdown and, when it came to publishing them on WordPress, the same friction showed up every time: diagrams (Mermaid especially) didn't paste in cleanly, images had to be prepared by hand, and the whole flow ended up being a mix of repetitive steps that were easy to break. The initial motivation was very simple: I wanted a tool that, given a Markdown document with diagrams, would generate the images and pre…
- Tocho: sovereign personal storage, encrypted and replicated across two locations
Tocho is a personal project maintained by Ismael Ripoll and me, Raúl, with the goal of having a mass storage system that is reasonably reliable, encrypted and replicated across two different physical locations. The initial idea was simple: each of us would have a Raspberry Pi with a 16 TB SATA hard drive. Each drive would store our own data and, at the same time, an encrypted copy of the other person's data. This way, each of us would have an off…
- Using the TV remote to control omxplayer on Raspberry Pi
I have a Raspberry Pi connected to my TV via HDMI. Despite having tried OpenELEC as a media center, I have other services running on that machine and I am just too consoleoriented to select media through a graphical interface. I use a laptop to start films, but I was missing a way to pause or rewind playback. I finally solved it in a elegant way, using HDMI CEC. HDMI is not just a standard for transferring video — it also supports control command…
- sudo with a password timeout
Two scripts to add a timeout to the sudo password prompt. sudoaskpasstimeout.sh: bash ! /bin/bash eu sudotimeout.sh: bash ! /bin/bash eu export SUDOASKPASS="$(dirname "$0")/sudoaskpasstimeout.sh" export READTIMEOUT=60 if [ $ ge 3 ] && [ "$1" = "t" ] then shift READTIMEOUT=$1 shift fi exec sudo A "$@" Usage: sudotimeout.sh [t TIMEOUT] <cmd...