Thank you to the author of this post, and to the nice comments here :)
The story is well researched. There are a couple of errors and a few things to add maybe. I'll fill the gaps in this comment.
1. After the TI99/4A, that is indeed the first machine I used, I started to write serious code in a ZX Spectrum. Then, a few years later, I received my first MS-DOS machine: make sure to Google it if you are not from Italy, it was an Olivetti PC1 Prodest, the most strange MS-DOS compatible system EVER.
2. In Milan I was not fired, I quit myself to return in Sicily.
4. It was often said that the MERZ port was for Alessia Merz stupidity. This is wrong: we liked the showgirl (I and my friend Oscar), and we liked the fact she replied lightly in the TV shows, she just tried to have fun, and for us this resonated with having fun while programming stuff without a purpose: in short HackValue. That's why the Redis port is MERZ on the phone keyboard.
5. It is true that for many months I continued hacking on Redis even if I didn't receive so great feedbacks, but back then one rarely hacked on OSS software hoping for success or money as a main outcome. It was just that day-to-day jobs mostly sucked, and you wanted something better, more interesting to hack on. At least for many of us the drive was just that. So I continued hacking on Redis even when it surpassed by a lot our LLOOGG needs.
6. The first design sketch of the Twitter Redis-based timeline cache was made by Rob Pointer (the author of the eggrdrop IRC bot!) and myself at Twitter HQ, on some random whiteboard.
7. WOHPE turned out to be one of the most read sci-fi books in Italy, among the ones written by Italian sci-fi authors in recent years. Initially the readers were mostly programmers but now a lot of sci-fi enthusiasts are reading it. It's very strange that certain things written in the book now are becoming real fears, or even happened. For instance multiple readers of the English edition believe that this is likely the first accurate description of "prompt engineer": https://twitter.com/antirez/status/1635022116654563334
8. Now I'm writing a new book but also programming again. I hope to continue with both the activities in parallel.
@antirez I'm the author of the post. It's a privilege to see your comment here. Thank you so much for the comment, and of course, Redis!
Sorry about those errors. I've fixed them in the story.
A follow-up question about Twitter if you don't mind: did you actually fly to Twitter HQ in California and design the timeline cache with Rob Pointer, who was a Twitter employee at the time? How did that happen?
A big thank you, eliangcs. The errors were minimal, you did an awesome research work, and identified, I believe, the truly important things that step by step lead to the creation of my programming background and Redis. Another comment here replied even better than me the Twitter HQ meeting. I believe who invited me even this first time to visit the Twitter offices, and later invited me again multiple times, was Yao Yue.
First off, I work in the web hosting industry- WordPress specifically- and Redis is used along with https://objectcache.pro and https://relay.so/ to make WordPress faster. Thank you for that.
Second, I just read the first chapter of WOHPE on Amazon. Wow. I have wanted to write Hard SciFi for a long time, but I've realized that I'm just not a fiction writer. You on the other hand are, sir. I'm going to see if I can get a print-on-demand version of the book.
Thank you so much, both for using Redis and for trying reading Wohpe.
I never saw a sample of the print on demand version of the English translation of Wohpe. I hope they print it properly. With the Italian version, we tried hard to provide a physical book that was of high quality, but shipping to US was impossibile from Italy.
Unfortunately we printed only the Italian version :( Sorry. It very impractical to print the English version from italy and sell it from here, and finding an US publisher was out of my abilities: I've zero contacts.
(6) Robey* Pointer, and I was the third guy in the room… We had already chosen the Yahoo! “Feeding Frenzy” design at that point, had started the design using Redis based on experience I gained at an previous company, and were working out the data structures using what was available in Redis, as I recall. We put together a few PRs against Redis shortly thereafter to make Redis a practical option for Haplocheirus in production.
There’s more to say of course, but we appreciated having these sorts of conversations with upstream authors of software we adopted at Twitter whenever possible.
Thank you so much for this comment! Exactly, the chat was mostly a validation thing. And I remember that even back then we had identified an idea that went into the Twitter fork of Redis very soon (implemented by Yao maybe?), and later into official Redis itself: lists with many collapsed elements per node.
Thanks for laying the groundwork for us with Redis!
Before I moved on to working on our Ruby VM, I was doing the work on our Redis fork for Haplo. Robey was working on the routing middleware in Scala.
Yao would have taken over from me when the cache team sprang into existence around that same time, with the emergence of twemproxy and twemcache. Most anything written in C would eventually land on her team.
Good to hear! I've worked with Steve B who took on maintainership of Jim Tcl, and have worked pretty extensively with some Linux based embedded systems that he developed that use it extensively. I was surprised to see (way back when I first looked into it) that you had started it, having been familiar with Redis at the time! We eventually started using Redis in some of those systems (control for satellite tracking antenna systems) as well, to share status and config information between different units on the same antenna.
Thank you for Redis! We used it at the office at a startup I worked at. It never failed. Even when it was a single node. Whenever there was a problem with the app we never thought: “oh it must be redis” it was always something else.
It’s amazing and thank you to the author of the post for this history.
I’ll check out the English translation of your book. All the best!
Thank you for Redis, and for sharing your story with this article's author. Your artistic view of programming resonates strongly with me and I look forward to reading your books!
> In February 2009, antirez's friend David Welton helped him share Redis to the world on Hacker News. The response was pretty muted; apart from David, only four people responded. Three of them said there were already similar projects out there, and only one person responded positively and offered to help.
So don't worry if you don't immediately get traction.
Oh... hey, I remember that. antirez and I used to work together at Linuxcare Italy. He's always been a bright guy, and also just a really pleasant person to hang out with.
I think this also points to something a bit more subtle, but obvious now that we're looking back on this in hindsight an calling antirez a legendary hacker. That is, sometimes it's not what you do but how you do it. Redis would not be where it is today were it not for his incredible effort to keep the quality high and the code performant. It's entirely true that a lot of what redis did was already done at the time it was released. It's also true that in the end that's not what mattered.
> The response was pretty muted; apart from David, only four people responded. Three of them said there were already similar projects out there, and only one person responded positively and offered to help.
It's still pretty useful, as an outsider, as then the creator can hopefully explain the difference, if it's not already outlined in whatever gets submitted.
It was also still on the frontpage, so not sure I'd say muted. I'm sure it led to many people trying it out, some giving feedback, others eventually contributing. The effect can be bigger than just comments in the submission itself.
I also like how this was born in Italy, just getting stuff done for work, far from the crazy world of SV, yet it generalized to the needs of fast startups, and now it is a standard piece of infra. Too good to ignore springs to mind.
> So don't worry if you don't immediately get traction.
There's so much truth to this. I've got a wacky project that is a crazy platform ( https://www.adama-platform.com/ ), and I've started to test my thesis by hiring a few contractors via upwork.
I found this great kid that just got to work and made a game! It feels fantastic just to see someone use something that I made as a creative tool.
I've got a lot to work on, but I'm keeping the faith going strong.
I don't think you realise just how many of your posts link to this project. It doesn't seem like you are able to respond to a HN comment/post without linking your project.
IOW, you aren't able to hold a conversation without reference to your project. This is probably not healthy - I mean, surely you have opinions that aren't colored by your project, and you have interests that aren't linked to your project?
I still think it's healthy to have multiple interests that you engage others with, but I also accept that in some contexts focus can appear as obsession.
I had a look at the project. Looks very interesting, but for something like this code examples = marketing. I don't believe the buzzwords, and can't make sense of what it is. My best guess is it is like a "backend react for permanent state"... maybe?
I'm going to be revamping the marketing as I'm on-boarding a customer since I'm transitioning towards "concierge engineering company/studio". I've got a thesis that I can beat the averages (in the pg sense: http://www.paulgraham.com/avg.html ) with the platform, but the strategy is hush-hush right now.
Thanks. And sorry I meant to say I don’t believe in buzzwords!
Just watch 20m of the video will finish off later. Some thoughts:
* Sounds like it has some good qualities of Elm (domain specific language that reduces complexity) and Phoenix (in the channels etc.)
* I work somewhere where they do a OS process mirroring the front end and there is a bunch of issues you don’t have to worry about. I have not looked at a single SQL query plan since working there, whereas it is regular elsewhere. It does come with challenges for “big data” though as RAM is costly vs. disk space. But maybe you have ideas for that.
* Your system would probably add some ops challenges around load balancing processes and RAM but that could be offloaded to the cloud. Maybe Kubernetes could help here?
* But for most apps it is probably not an issue!
* After thinking Firebase makes web dev simple and realizing no it makes it way more complex I sympathise with a lot of points. Firebase makes the atoms so small that you are constantly worrying about 2, 3, 4 phase commits and how to tell the user that you partially fucked up!
* Seems very promising!
* I have questions but i’ll watch more see if they get answered
Thanks for checking out the video. It's a work in the progress.
On the note about load balancing, it's exceptionally hard. However, I have the ability to migrate traffic (poorly tested) and re-balance. In general, stream load balancing is a challenge on many fronts. However, I consider myself an expert as I was the architect of https://dl.acm.org/doi/10.1145/3477132.3483572 at Facebook. On this topic, my only regret is that I have to outdo myself since I (foolishly) patented an awesome protocol ( https://patents.google.com/patent/US11228626B1/en ).
> his father started working with programmable logic controllers (PLCs), and his interest in these controllers led him to purchase a Z80 processor board and start programming on it
In the PLC world there is a notion of "tags". These are values pushed or poked by PLCs with some kind of external (networked) access. They are essentially network-wide global variables. If you think about it for a little while this looks like key+value store. There are some common operations with tags: on/off, counters, bit fields, along with static/updating values. There is a notion that if a tag hasn't been updated in a while it is "stale" or unreliable.
Although my POC deployment of RKVDNS (DNS Proxy for Redis https://github.com/m3047/rkvdns/) revolves around SecOps / DevOps / DevSecOps, my horizon is SCADA and rationalizing the federation (edge) vs centralization (cloud) dilemma for observables, leveraging the reality that these days even (Purdue) Level 1 has DNS.
I feel the story of Redis is also a somewhat cautionary tale of the decoupling of value creation and value capture in open source - having a company monetize a product by someone else and ultimately employing its creator.
Now I understand that the people that are passionate about creating OSS are often less passionate about business and vice versa - and that some of the most successful tech companies have the Jobs/Wozniak dynamic - but it still feels like an imbalance worth addressing.
But maybe I'm just cynical and lacking idealism. How's everyone else feeling about this?
Generations of people who have come up with ideas for institutions have had them sold off to the highest bidder and not seen but a fraction of the value their idea has created.
It's the nature of having the money to start, run, develop a business. Having enough capital to make a very big risk less risky.
Totally agree but the tech industry is extremely capital and relationship-oriented so I don't see a way out of that. I just wish this fact would be better advertised so that people wouldn't waste their lives in this industry.
> Artificial Intelligence will completely reshape our society very soon. If a universal income is not provided in a timely fashion (as AI makes many workers no longer relevant) we are going to be in big trouble.
I think about that very often these days. Governments worldwide must act on that now. Because even if they'll start a legislative process to implement it, it will take a long time and we are running out of time.
The ATM did destroy bank tellers. BUT who cares. Life got better, now we don't have to line up at an ATM to cause a run on a bank. We can do it with our phones!
But seriously. It's just change, it's always happening.
I dunno, we seem to be struggling with a lot of kids who don't fit into an academic school run, and who no longer have lots of options in the form of practical jobs they can do instead when they're 16 and fed up with school.
Not sure which country you are speaking about but in the majority of the countries in the world they're not.
Those jobs are severely underpaid. Also if supply increases, demand also decreases, hence leading to further loss.
Imagine the level of hopelessness, anger and despair which is already the case in the avg population because of inflation etc, if their jobs are suddenly automated.
Bank tellers weren't educated to become Bank tellers,
They could move on to other front desk jobs.
But things corporations want to automate with AI are basically the core of many people who got educated for that job.
The change you are talking about is not gonna switch easily.
We don't have to sit in an Ivory tower and say, "change happens", you can't just make an entire generation to become educated for something and just drop em.
Note I said lots of options, not no options. Also, especially electrical trades is quite skilled these days and might not be for everyone either.
I talked to someone running a warehouse a couple of years ago. They got containers packed with cans from abroad. The cans had to be put on pallets so the warehouse robots could store them.
So they had one guy who's sole job was to pack the individual cans from the containers and pack them on pallets. The guy doing it loved it. He put on his music and packed those cans, not having to interact with anyone for most of the day. The mindless job left him free to ponder (he read lots of academic articles at home). So, great for him that he found that job.
However, the warehouse robot means there's like 10 people working that giant warehouse instead of several dozen...
Electrical trades have been sliding up the skills scale. I don't know about plumbing, but I'd guess they also have to deal with more and more automation / electronics
What ATM? Around here they are phasing out the ATMs bit by bit so it is getting harder and harder to get cash. There are two ATMs for a village of 40K people here, and I would not be surprised if next year there is only one.
Which people are you thinking of? The 22yo who just got out of college? Or the 50yo whose entire career and experience are getting automated away? Is the idea that they'd all pick up Python in a couple weeks in some bootcamp if their expected careers didn't work out?
Dumb people exist -just as ugly people do- that already have employment problems. And education can't fix it, because there is only so much they are capable of learning.
As we do away with the easy dumb jobs, we condemn more people to poverty. We surely need to figure something out, specially if we are going to keep raising the bar.
The man who has fed the chicken every day throughout its life at last wrings its neck instead, showing that more refined views as to the uniformity of nature would have been useful to the chicken
I just want to add my voice to the many thanking antirez for Redis.
Back when I discovered it (probably through Resque), my mantra was "NoSQL is fraud" as I was yet to find a NoSQL database that I trusted with my data (yes, I know Redis isn't strictly a NoSQL database - or at least wasn't at the time).
But reading the docs and looking at how it worked, it shone through how carefully thought out and well-crafted it was. And this was without even looking at the source code (I haven't done any C for years and doubt I would understand it anyway).
It's amazing how that excellence shines through beyond the code and it's still one of my go-to tools (I mainly work with Rails, so can't avoid it to be fair) - so thank you again Salvatore.
I love Redis and what its done for the world but my favourite antirez project is LOAD81, which I think is just a few core modules away from being an amazing new platform for content sharing .. ;)
Imagine we have a network of LOAD81 users who share Lua bytecode instead of HTML .. hmm ..
I can't help but to mention kilo [0], antirez's exercise on writing a tiny editor. It's presentation as a beginners project [1] into C and terminal programming helped me a lot in my understanding. Thanks a lot, antirez and Paige!
It's actually funny to see mentioned again, just like recently in a linus torvalds interview about git, how the "ruby people" contributed yet again to the massive popularity surge of an otherwise unrelated piece of software. It was definitely a special time, the ascension of that community.
Pity that I never met antirez in all this time. I first heard of him from David Welton who was a coworker of mine in 2004, well before the existence of Redis. But hope is not lost. For the moment, I think I will buy his book ;-)
I think people unfairly poke fun at the Dropbox skepticism on HN.
As a linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem.
If you can't deliver the value of what you described to normal people, it just doesn't matter. That's why Dropbox is a $7B+ company today - because they were able to commercialize something that previously was only accessible to a few people who knew weird computer commands.
To the normal person none of this is "quite trivial".
EDIT: I missed the joke. I get it now. Well-played OP.
Yes. HN is an absolutely fantastic community. That's why we are here. As every community it has its own idiosyncrasies. Recognizing them and poking fun into ourselves strengthens rather than weakens then community.
I have a different perspective. Looking at the original post, [1] it wasn't labeled "Show HN" or posted by the project's author (antirez). So my first read on seeing it in the HN front page would be "hey, I found this cool project". And these people commented with links to similar projects, which I take as something like "if you liked that project, you might like this one, too", or "I wonder how these compare". I find that sort of comment helpful and curiosity-inspiring. Very different from "you shouldn't have bothered writing this when some other project exists". I can't tell from the date-resolution timestamps but they might well have been posted before the author showed up in the thread.
He could have had dozens of additional responses if he had picked a name that some obscure 80s technology already used. HN will bikeshed endlessly about overloaded names.
1. After the TI99/4A, that is indeed the first machine I used, I started to write serious code in a ZX Spectrum. Then, a few years later, I received my first MS-DOS machine: make sure to Google it if you are not from Italy, it was an Olivetti PC1 Prodest, the most strange MS-DOS compatible system EVER.
2. In Milan I was not fired, I quit myself to return in Sicily.
3. When I posted my first message in BUGTRAQ, it was davidw (https://news.ycombinator.com/user?id=davidw) that helped me.
4. It was often said that the MERZ port was for Alessia Merz stupidity. This is wrong: we liked the showgirl (I and my friend Oscar), and we liked the fact she replied lightly in the TV shows, she just tried to have fun, and for us this resonated with having fun while programming stuff without a purpose: in short HackValue. That's why the Redis port is MERZ on the phone keyboard.
5. It is true that for many months I continued hacking on Redis even if I didn't receive so great feedbacks, but back then one rarely hacked on OSS software hoping for success or money as a main outcome. It was just that day-to-day jobs mostly sucked, and you wanted something better, more interesting to hack on. At least for many of us the drive was just that. So I continued hacking on Redis even when it surpassed by a lot our LLOOGG needs.
6. The first design sketch of the Twitter Redis-based timeline cache was made by Rob Pointer (the author of the eggrdrop IRC bot!) and myself at Twitter HQ, on some random whiteboard.
7. WOHPE turned out to be one of the most read sci-fi books in Italy, among the ones written by Italian sci-fi authors in recent years. Initially the readers were mostly programmers but now a lot of sci-fi enthusiasts are reading it. It's very strange that certain things written in the book now are becoming real fears, or even happened. For instance multiple readers of the English edition believe that this is likely the first accurate description of "prompt engineer": https://twitter.com/antirez/status/1635022116654563334
8. Now I'm writing a new book but also programming again. I hope to continue with both the activities in parallel.