I've blogged about both Reticulum and Meshtastic before (1, 2, 3, 4) and I've even given a presentation about both of them. The past few months, I started getting more involved with Reticulum, however I'm still reading the Meshtastic Discord to keep up with the project. In both communities, I see one question that comes up often: "Which one is better?". I want to try to answer this question and hopefully help people understand these projects better.
In December, I didn't have much time to work on tech things since I spent a large part of it away from home. Still, here are some interesting things that happened.
November was a bit of a slow month, but here are some updates on the things I worked on.
Almost ten years ago, I blogged about my email setup (1, 2, 3). Since then, not a lot has changed. I still download my emails locally with mbsync, use mutt to view and compose emails, msmtp to actually send emails, and finally notmuch to index emails. A crucial part of the setup that I didn't mention, was archivemail.
Archivemail is a Python 2 application that archives older emails and cleans up mailboxes. I used it to prune my big public mailboxes such as mailing lists, forum updates (lobste.rs), etc.
As I mentioned, archivemail is written for Python 2, which isn't supported by Debian anymore and thus, I had to look for an alternative. I found Chewmail, which looks like a potential Perl option, but instead, I decided to write a small replacement in Rust for fun.
Updates on some of the things I've been up to during October 2023.
Ever since I started using Matrix, I always wondered what would happen if a Matrix homeserver got deleted and then recreated, without any data on the database. Would the federated servers complain a lot about it? Would federated rooms work once the server was recreated and started federating again? I never had the chance or time to properly investigate this.
Well, that is until the hardware node that hosted my Matrix database died.
In a previous post I documented my experience with the Meshtastic project and one of the TTGO T-Beam boards. Since then, I've experimented more with meshtastic and its capabilities, while the new version 2.0 of the project got released, so some updated notes are in order!
A friend recently introduced me to the Meshtastic project, an open source "platform" for creating long range, off-grid, mesh networks for short messages based on LoRa. After playing with the hardware and the software for a few days, here are my thoughts on it and notes on how it works.
I run my own Matrix homeserver that I share with friends and family. Ever since I started working for Element back in February of 2020, I've learned a lot more about the Matrix protocol and what's possible to do with it. During a conversation with a few privacy minded friends that use my HS (HomeServer), I pointed out that the admin of a homeserver has a lot of power over their accounts and that they as users explicitly trust the admin. In this post, I want to explore and document the ways a malicious admin can mess with the privacy of a Matrix account. Note: malicious admin in this case can also mean a hacked admin.
I want to build a DIY modular synthesizer. A lot of the music I enjoy listening comes from synthesizers, so I want to experiment with it. Moreover, I haven't done any analog electronics work in a long time, so I see it as a creative way to get back into analog hardware.
I have no experience with modular synths, so I'll be documenting my work and research here, with links and resources I found useful.
During 36c3 last year the FOSSASIA assembly was selling some cheap bluetooth LCD name badges and I got one as to have something to fiddle with during the night at the hotel. There were a couple of demo units in the assembly and the people selling the badges encouraged everyone to try pairing their phones (via bluetooth) to the demo units before purchasing, as some phones weren't able to pair with the badges. When I was next in line to purchase one, I was asked if I wanted to try one of the demo units in case it doesn't work and I replied something along the line "If it doesn't work, I'll make it work", which made people in the line laugh. As it turns out, neither of the two phones I had access to paired with the badge, so it came down to figuring out how this thing worked and what other ways there were to program it.
One of my favorite conversations I had with a colleague back in early 2015 was about Ansible, the future of provisioning VMs, pets vs cattles, Infrastructure as Code and the ways an organization can make sure that an administrator isn't leaving behind a backdoor when they leave the organization. We had that discussion on the day they gave their one month notice and announced their resignation.
Last week we installed an airconditioning unit in our house and yesterday a DHT11 humidity and temperature sensor arrived that I had ordered in the past from ebay and had totally forgotten about it. So, I got the idea to monitor the temperature and humidity in the room, to see how well the airconditioning unit works.
What better way to do this than use Prometheus, Grafana and a spare Raspverry Pi Zero W I had lying around.
I've decided to Go through (this will make sense in a bit) the Cryptopals Challenges in order to get more familiar with crypto related concepts and Golang (^_^), which I'm using to solve the problems. The code I've written for solving the challenges is published in this git repo and I'll be documenting any helpful resources on this blog.
This is a long time coming post that I've kept postponing (pun intended) for ages.
I enjoy browsing The Setup and I always longed for an easy way to share the way I do my computing with friends, besides linking them my dotfiles. This blog post is supposed to fill that void. A lot of this info is already documented in my private Emacs wiki, this is a more lengthy representation of it.
I started messing around with Hugo because I was experimenting with Go and wanted to take a look at a simple and complete Go project. I ended up liking the simplicity of setting up a new site and decided to try porting my blog to it.
Following the example of GKH and others, I've added one more piece of software on my email setup and workflow. That piece is msmtp, a very simple and lightweight SMTP client, that integrates really well with the rest of my setup.
Edit: This post was written many years ago. Back then I was a lot more
strict on how other people did things and I now understand this was a mistake.
I'm leaving this post here as a reminder of past mistakes.
Note: this is a rant on how people use git.
Wanting to have more control over my email, I decided to setup my own mail server. I thought I had a pretty good understanding of how mail works, considering my mutt/offlineimap/imapfilter setup, but I must say I was pleasantly surprised while setting everything up.
Update 17/03/2015: I'm also using NotMuch now, for more info check
out this post.
Update 2/6/2015: I've added msmtp to the mix, check out my new post
This is part of a series of posts where I describe my workflow and OS setup.
I've been running some instances of Kippo for quite some while now with great results. I recently wrote an Ansible playbook to automate the process of deploying Kippo hosts and also make it scalable. You can find the playbook on my GitHub page, specifically here.
It's been a little over a month since I started using tmux. Below,
I'll try to explain most of my
.tmux.conf, a bit of my current
workflow using awesome + tmux and various cool stuff you can do with
tmux. My latest
.tmux.conf can be found on my dotfiles repo on
I've been using tmux for a while, and even though I didn't like it at first, now I'm in love with it. I'm mostly using it as a GNU Screen alternative, but I don't use some of its fancy features like tabs, mainly because my window manager takes care of multiple terminal windows for me.
A couple of months ago I wanted to experiment with the serial console
of an old router I had laying around. Not wanting to buy a
RS-232 adaptor, I decided to make one myself. After all, I had some
spare MAX3232 left over from a previous project (for which I still
I decided to port my blog to Octopress and move away from Wordpress after all these years. The reason for this is twofold:
- I've really gotten used to working with vim, git, github and the surrounding workflow.
- Static site generators are all the rage currently, so who am I to miss out?
Why Octopress and not something based on Python like Pelican or Nikola? I simply decided to do something that will get me out of my comfort zone and also teach me something new. I already know how to use venv, let's see what RVM has to offer.
A lot of people have combined a RasPi and a SDR dongle to get a low power consumption ADS-B tracker. Tomasz Miklas has created an image for the Raspberry Pi, that has everything that is needed to run your own aircraft tracking "service" already set up. I've finally had a chance to experiment with it and this will be my short review.