antirez Profile picture
Reproducible bugs are candies.
Apr 15 6 tweets 1 min read
That's how I invest.

1. No more than 5% of single stocks. 95% ETFs. I especially like MSCI World. But in general, wide spectrum ETFs for 70%. More specialized for the remaining 30% if you wish, like high dividend companies, semiconductor, ... 2. I always enter (and re-enter after an exit) the market incrementally. I buy 8% per month or alike. Markets are crazy in the short time: I like to get an average price.
Mar 6, 2023 15 tweets 3 min read
Welcome to the LoRa thread. Here I'll talk about LoRa, a modulation used in RF communications that is a game changer for certain applications, and about my work on a LoRa based WAN protocol and implementation: my open source project called FreakWAN. An obvious way to communicate wirelessy is to use WiFi or Bluetooth, but these technologies require an access point (WiFi case) and the range is limited (for both). So, in order to communicate point-to-point over ISM (open to all) frequencies other techniques are used.
Feb 26, 2023 5 tweets 1 min read
Ok folks better to write a thread to make things more clear. A few days ago I wrote that the new LLM released by Meta is not open source. Many people replied that I'm dumb and of course it is open source, the license is GPL. Remember the following words: AI IS NOT CODE. The code part of AI, is only a set of tools needed in order to implement the algorithms described in the papers. The final result of AI (talking of neural networks, at this point 99.99% of what matters), that is the weights, is not code in any way, of course.
Dec 31, 2022 19 tweets 4 min read
Flipper Zero: The Thread. I received a Flipper Zero a few days ago, and since I'm idling here at my parent's house, for the holidays, I spent a lot of time playing with it. This thread captures my impressions about the device. First: the Flipper should put many hardware companies to shame. The user experience is *so* good. Everything works well at the first try. The Android app immediately connects with the device and updates the firmware. It can stream the screen in real time, access the file system.
Dec 20, 2022 12 tweets 3 min read
Sometimes I like to rediscover algorithms from scratch. Years ago I blogged (in Italian language) about the algorithm to enumerate the permutations of N elements recursively (oldblog.antirez.com/post/102). Yesterday I wanted to re-discover the equivalent lexicographic algorithm. The algorithm is well known and very used in practice, so why tweeting about it? Because when you do the exercise of rediscovering algorithms, you develop an intuition about why it works. This intuition helps to remember the algorithm forever even if you are just told about it.
Nov 8, 2022 5 tweets 1 min read
We often say: that were the cool times! The one of the Commodore64 and 6502 coding, where every instruction counted, every cycle, every byte of memory. Not now, where junior programmers burn gigabytes and seconds of CPU time to emit a single web page! [Boomer voice]. But... We can make things like this again. Force your managers to understand carbon footprint of the software you are using and building. Don't put just scalability in the mix, but also performance per watt. This way we can help the environment and return to a more sane coding approach.
Nov 5, 2022 8 tweets 2 min read
Ready to have fun with a software design exercise? Before even looking at how Mastodon works, try to design, just on paper, a decentralized Twitter replacement following the following steps: Two architectures:

1. Peer to peer (P22)
2. Decentralized servers with a few accounts each (DS)

For P2P, you are allowed to use N "helpers" in form of servers with known IP address, with N small (max 30). Even if just a few are alive, things must work. Use only for discovery.
Nov 4, 2022 8 tweets 2 min read
I think I need to clarify my tweet about layoffs. I don't mean that people jumping from an IT company to the other, with the goal of getting more and more money, are always *the same* affected by the current layoffs. I'm sad for who loved their job and was recently fired. What I mean is that we collectively created this situation: by asking for a lot of money without caring about social consequences, on one side, and with an absurd money flow leading to over-hiring on another side. But then if you zoom on the individual, you find everything:
Jul 17, 2021 5 tweets 1 min read
Technologies like Copilot tell us two things:
1. How good AI is getting at reproducing and, in some way, abstracting patterns from a big corpus. GPT-3 and Copilot are stunning examples.
2. How much repetitive and empty of creativity most programming tasks are. Because while spectacular, Copilot has nothing to do with solving tasks; it's just producing obvious boilerplate stuff for us: things that humans need to write following certain API specifications, googling for the missing bits from StackOverflow pages.
Apr 15, 2021 5 tweets 1 min read
I wonder if the product team of Twitter agrees against the edit button, or there is a single (or just a few), very powerful person, saying "no" while others disagree (even just in their thoughts). I say this because the public reasons against the edit button are weak. Tweets only need to be editable for a short time, they can be marked as edited, and if edited after the first like/reply an edit history could be attached, and shown if you click the "edited" label.
Mar 11, 2021 4 tweets 1 min read
Folks, do you remember that I'm writing a sci-fi novel? Well, I'm almost done, in Italian. I did many (-many-) reviews, and I'm ready to work with an editor. However now I'm fully convinced that I can't translate it myself, I spent already an incredible amount of energy on it. So I need an English (mother tongue) translator that translates sci-fi from Italian to English. I already tried to contact two different translators, I've the feeling that sci-fi is not something most translators are comfortable working with. Moreover I've *zero* credibility.
Mar 10, 2020 6 tweets 2 min read
A few words about the coronavirus for my dear followers. I'm in Italy right now and we are closed in our homes. We reached a very critical situation because, when it was time to act, the measures required looked too restrictive from the POV of western countries culture. Unfortunately viruses spread regardless of what we think. The only way to stop the infection is to stay at home and to limit the contacts at every cost. The North of Italy has one of the most advanced health care of the world, yet at this point hospitals reached an hard limit.
Nov 16, 2019 5 tweets 1 min read
In programming there is always one point where the community splits in two, in one side people that appreciate very simple languages, and in the other people that are fascinated with the powerful languages full of abstractions. In the past it was C vs C++, but now the same pattern applies to more modern languages. One of the reason is probably that languages that look very different give the illusion to be part of a caste of elite programmers that "get" what the others are missing.
Oct 16, 2019 8 tweets 2 min read
I just merged SSL support into Redis unstable. This feature has an interesting story that I want to tell you. It was kinda of a "process" to reach the right solution, or at least a solution that looks a lot better than the alternatives. Many wanted SSL in the past, however the first very serious effort at providing a concrete pull request that implemented SSL in all the channels, including Replication, Redis Sentinel, Redis Cluster, was from AWS. The work of two smart folks there.
Mar 27, 2019 7 tweets 2 min read
Redis threaded I/O small (sic) thread. So results confirmed, works great in the write side, I'll have to implement it in the read side as well. Using 4 threads it is simple to get 2x the performances of single-threaded Redis (even if yet the reading part is not threaded). So, what's the idea here? Some people say that Redis should be threaded, a few created forks that are quite more complex. But the reality is that Redis uses a lot of time just in the reading/writing part (to the socket and in the client structure).
Mar 14, 2019 14 tweets 3 min read
The Redis Cluster Proxy project received some interest and questions. Here is a small thread to inform the community about what is the plan about it, and what such new Redis component will do. First: the proxy is designed by @artiks and myself, and developed by @artiks itself, so it means there is no need to get my hands free to go forward with this project. The same setup that made the redis-cli cluster stuff possible in the latest months basically.
Feb 22, 2019 11 tweets 2 min read
A serious note about this "open source software is broken because of cloud providers" thing. First and obvious: open source is not broken because the goal of OSS, historically, was not to make money, but to bring humanity forward. Remember that the premise was *software is, and will be even more in the future, too important to be closed*. OSS wanted to fix early what could become a huge problem in the future about lack of democratization of software platforms.
Nov 10, 2018 6 tweets 1 min read
Ok folks, just to say that thanks to the help of the community, especially from Stack Overflow folks *very constructive* criticisms, I completely reconsidered how RESP3 will be implemented. I hated to change the behavior of the server based on a global configuration, but... There is the splendid solution of: 1. Changing the behavior on a per-connection basis, so that we start RESP2 and can switch RESP3 with a command. 2. Combine this new protocol switch with an HELLO command that *also support authentication*.
Sep 11, 2018 10 tweets 2 min read
I've the feeling that this discussion about the Creative Commons license is dominated by some non intentional confusion. Of course Creative Common is not a "fix to open source", since the license itself is not an open source license. To say that to fix the open source monetization problems we should revert to a non open source license is the same as saying that open source is dead. This is not the case nor the goal of the license AFAIK.
Jun 2, 2018 13 tweets 3 min read
Good Saturday! A crash course on IT marketing, because apparently very few people understand developers. We are gentle creatures mostly, and products should be advertised to us in a completely different way. 1. No hyperboles. Developers spot bullshit much more easily than the other audience. If your software is the fastest, the most scalable, the simpler to operate, the bullshit antenna will activate immediately. Your strengths sound real if you can also talk about weaknesses.
May 29, 2018 14 tweets 4 min read
Redis 5 thread! What's new? Why I call it Redis 5? Lets start from this last question. Redis future versions will be called Redis 5, Redis 6, Redis 7 and so forth. We release every 1 / 1.5 years more or less, there is no point in saying 3.2 or 4.4. However versioning schema will not change, so like we did for 4.0 having 4.0.1, 4.0.2, we'll do the same for 5.0.x. Also as usually release candidates of 5 start at version 4.9.101 for RC1, 4.9.102 for RC2 and so forth. So this is "Redis 5" without too many other attributes.