3 days ago by eric_b
So they're moving to a new "community based", "light governance" model. 
There are plenty of problems with BDFL-style projects, but I think there are a lot of advantages too. Redis is unique in my experience in that it works the way you'd expect - it doesn't cause outages, it is fast, and it has a vanishingly small number of gotchas. The feature set is well curated and for the most part fits together cohesively.
The most important thing Antirez did, in my opinion, was to say "No" to things. No to new features that didn't make sense. No to PRs that didn't fit the vision. Saying no is one of the most important jobs of a project maintainer. It's a thankless task that upsets a lot of people. But it's critical for a project to stay successful and achieve the leader's vision.
Maybe I'm a pessimist, but I predict after a few years of this new model we'll see weird features, more stability issues, and performance regressions as more cooks enter the kitchen. Time will tell.
3 days ago by calpaterson
> The most important thing Antirez did, in my opinion, was to say "No" to things. No to new features that didn't make sense.
Redis has had tremendous mission creep over the years. It started of course mostly as a volatile cache but I've now seen it also used as a message bus (in three different ways: BLPOP, PUB/SUB and Streams), for service discovery and as a general purpose database - something that Redis Labs (in my opinion: wrongly) encourages.
Memcache existed in 2009 when Redis was first released, also as a volatile cache...and still is just a volatile cache. Memcache is what "saying no" looks like. Redis is what "saying yes" looks like - and there are a lot of gotchas.
3 days ago by derefr
Memcache is what saying no to changing the use-case looks like. Redis is what saying no to changing the architecture in order to implement features looks like.
Redis has stayed the same, architecturally, from the beginning: it’s a keyspace where the values are arbitrary in-memory objects owned by their keys, and where commands resolve to synchronous function-calls against the objects (or ref-cells) at those keys.
Anything that can be done without changing that architecture, is in-scope for Redis. (Though if a data structure doesn’t have wide use outside of a domain, it’s best left to a module.) Anything that cannot be done without changing the architecture, won’t be done.
Much of the “fun” I’ve personally had in watching Redis evolve, has been seeing how Antirez has managed to solve the puzzles of getting features that intuitively wouldn’t be a good fit for this architecture, to fit into it anyway: changing technologies that are implemented one way everywhere else, into something else for Redis, that still work, are still performant, and still solve isomorphic use-cases—if not with the same steps you’d use to solve them in other systems. (E.g. using Streams vs. using a regular MQ; using Redis Cluster vs. using regular RDBMS replication; etc.)
3 days ago by calpaterson
Memcache also is about saying no to changing the architecture. That chosen architecture is similar to Redis Cluster -which is a change of architecture Redis did undertake.
I personally have not enjoyed all the strange and wonderful ways people have found to use Redis. Most of them are pretty fragile and (most dangerously) they often put all Redis uses in the same instance...with eviction turned on.
2 days ago by antirez
Wow you totally got it. This is exactly the idea I was using, I even saw an opportunity when the Redis model was potentially able to solve a new use case.
3 days ago by lifeisstillgood
Would you mind elaborating on some of those 'fun' items - part of the problem of being aware of certain technologies without really 'following' them is understanding why they change.
2 days ago by undefined
3 days ago by mrkurt
It didn't really start as a volatile cache, it started as an in memory data structures server. It's useful for all kinds of stuff memcached isn't (and has been since day 1).
3 days ago by jupp0r
This. To me, Redis was always about the rich set of operations you can atomically perform on data without going full ACID. It's very different from a pure cache (although it's probably a good choice if all you need is a cache).
3 days ago by reitzensteinm
Yeah. I do think that Redis has suffered from some mission creep, including a deprecated misadventure in to a mode where values could be stored on disk and only temporarily cached in memory.
Maybe that's what Cal and his colleagues were using it for at the time, but the claim that it started as a volatile cache is just not true. Interesting datastructures and the fork based persistence model were there from the start.
3 days ago by jfkebwjsbx
It started as a memcached with persistence to disk for fast startup.
3 days ago by xani
Well, kinda. Feature list does look like basically random assortment of vaguely related things (or "toolbox" if you want to be nice).
But... things that are also just useful often and for what you'd need to spin off a separate service for, or make suboptimally in whatever (No)SQL you use to store your data.
So it is perfect if you just want to prototype whether given approach is viable, and "good enough" for many apps.
3 days ago by nurettin
> but I've now seen it also used as a message bus
It works excellent as a message bus, though. And you can add HSET/HDEL to your list as the fourth way.
3 days ago by calpaterson
Strongly, strongly, disagree that Redis works well as a message bus.
Lots of reasons why but here is just one because I'm short on time: all of these (four) ways of doing a message bus with Redis offer either a work queue mode or publish/subscribe - but not both (perhaps excepting streams which I've forgotten some of the details of). I have yet to see many real world messaging scenarios where you don't end up using both.
A "proper" message bus needs to have topics, exchanges and queues - like Rabbit. 50% of that functionality is usually not 50% of the value but 10% or less (especially when you consider all the other things about Redis you need to think about - like how eviction is configured).
This is a bit typical of Redis: for any X, you can normally do X in Redis, but is it really a good idea to do X in Redis? IMO, usually no.
3 days ago by 1_player
> There are plenty of problems with BDFL-style projects, but I think there are a lot of advantages too.
BDFL governance is extremely underrated in the opensource world. People attribute the success of the Linux kernel to its open contribution style, but I will argue that Linux is successful because there's a dictator at the top that enforces a direction, a long term goal, and most importantly, says NO.
Community based governance is a direct cause of that jwz's Cascade of Attention-Deficit problem one can find all over the open source world, especially Linux desktop related.
3 days ago by sitkack
Does FreeBSD have a BDFL?
We don't have enough data points to determine if what you are saying is correct. I have also seen lots of BDFL projects smoke out.
Is the lesson that actual dictatorships only survive long term if 1) the dictator is a nice person and 2) they eventually get managed by an open democratic process?
I think you are actually describing the two clocks problem. Lots of BDFL projects have their own Cascade of Attention-Deficit issues, the project only goes in the direction the BDFL actually cares about.
3 days ago by 1_player
A (software) dictator is not necessarily good. But let me double down and say that a community cannot create a product as good as a single head at the top can do, for the single reason that people care only about their own garden, and integration needs someone to oversee and be responsible for all parts.
There is no Steve Jobs in a democratic committee.
3 days ago by njharman
The main differentiation (and risk) with BDFL projects is having (or not) a very competent (like one percenter) BDFL.
The structure of a committee project doesn't make it better or worse than BDFL. It just makes it more average. Any greatness present is toned down. And substandardness is brought up.
This also main reason the "led by greatness" BDFL projects are better than the committee run ones and the "led by less than great" BDFL projects "smoke out". The committee's tend towards the middle of the bell curve, BDFL's are all over the place.
3 days ago by coldtea
>Does FreeBSD have a BDFL?
No, but it doesn't have as much success as Linux either
3 days ago by cat199
this is IMHO no different the real world - a 'good' despot/monarch/etc can be a good leader, but this is highly dependent on the situation (read: leader), and leadership transition process is always a risky one. Democracies/Republics work well so long as the community has a generally shared vision, but can be hampered when there is too much dissent, but generally avoid the succession problem
2 days ago by KajMagnus
Underrated in the open source world — whilst at the same time, feels obvious in the writing world?
Imagine an author has gotten started writing volumes 1 and 2, and those volumes became popular — maybe the Harry Potter books as an example. Now, adding more authors with equal "story-line decision making power", or a committee, for volumes 3, 4, 5, is a weird idea, right.
2 days ago by secondcoming
Look at what happened with Game Of Thrones! Total disaster at the end that ruined the whole thing for everybody.
3 days ago by easterncalculus
> I will argue that Linux is successful because there's a dictator at the top that enforces a direction, a long term goal, and most importantly, says NO.
Linux is made because of many people all over the world, but it is successful because of the BDFL at the top. A consistent sense of mission absolutely benefits a project in the long term. There just isn't anyone that's going to get your idea better than you, when you're doing something that you know enough about to seriously get started on.
3 days ago by alexchamberlain
I think it's _just_ underrated; I think it's underrated in the business and government worlds too. A good leader should take different points of view into account, but should also be able to make a decision when needed.
3 days ago by derefr
I feel like Antirez has already done everything needed to ensure this doesn’t happen, by 1. building the module system into Redis, and then 2. working with companies like Redis Labs to establish that Redis is enhanced through these modules, and to ensure that modules offer everything required to enhance Redis in all the ways that matter.
In essence, Antirez has protected the core of Redis from needing to bloat, by making it possible for anyone who wants to build on top of Redis to literally do so—build on top, rather than inside. As such, I expect future PRs to Redis Core to look much like current PRs to Redis Core: just fixing bugs, adding stability, and resolving infrastructure-level interoperability concerns.
3 days ago by cletus
I 100% agree with you and I think it explains why most OSS UI projects are, well, terrible. Questionable features, inconsistent UX, millions of "options"... these are the hallmarks of a community model lacking strong leadership and a coherent vision.
As for the future of Redis I choose to be more optimistic. I think the Redis philosophy (thanks to Antirez) has become ingrained. The benefits of a minimal feature set are hopefully well-established.
In the very least I suspect this will last much longer than many expect before the bureaucrats take over.
3 days ago by antirez
Ok, so many thank you here, thanks! It's very nice to read the comments here. But I hope to interact more on HN, since basically the idea is to write more blog posts, write more OSS software too. Just totally random :D I'll just do whatever every morning I want to do for a long time. Then maybe I'll find a new long term interest.
3 days ago by munificent
I want you to know that your code is a real inspiration to me. Redis is a beautiful C artifact and an excellent reminder of how joyful it can be to create and read code.
Also, congratulations to moving off of Redis. In open source, there is a thing where people look at retiring from a project as some sort of failure of either the project or the maintainer, but I think the opposite is true.
We all have a finite amount of time on Earth, and everything has its natural beginning and end. Moving on to something else means creating the opportunity for yourself to find the next big project for you. And for the project itself, it means bringing in new eyes and perspectives.
Change is scary, but healthy.
3 days ago by jacquesm
I normally don't write about what I come across during my work, but in aggregate I can tell you that Redis, Linux and MySQL are the most common recurring elements across 150+ jobs looking at different companies, and using it rarely if ever leads to trouble.
So even if I don't use it myself directly quite a few of the companies we have invested in do, and an indirect 'thank you so much' is well deserved. I am very curious what it is that you will do next besides blogging. Linus had 'git' as his second major project, arguably it has had just as much effect on the world of free software as Linux did, you've definitely raised the bar for yourself :)
Much good luck!
3 days ago by takeda
As someone who was in ops, I really disagree with MySQL in that category.
Saw it multiple times at multiple jobs just break on its own.
Most memorable one was a bug where certain pattern of data caused mysql think data is encrypted, crash and refused to start until data was restored from backup. It took quite time to fix it because it happened randomly and initially we assumed it was broken hardware.
2 days ago by jacquesm
MySQL used to be pretty bad in that respect but lately has come of age and I was mostly commenting on how frequently it was used.
3 days ago by jorangreef
Thank you antirez!
I started using Redis around 2010 and I learned to appreciate so many things from you along the way:
* Data structures are fun.
* In-memory is fast and can be safe!
* Append-only logs are awesome.
* Databases can be more than MySQL.
* Complexity analysis is worth making clear in the documentation.
* Hybrid L1 cache-friendly data structures beat complexity analysis for small data.
* There are only so many hours you can work in a day.
* It's cool to sit by the pool.
* It's cool to have a screen name.
* Above all, code is poetry, not dependencies.
3 days ago by krp
@antirez Thanks man! Maximum respect for everything so far, and for your honesty over the years. I rarely login or post on HN but I have just for this post.
I've been using redis since I think 2.2 and have learned so much from your posts over the years! More than just about redis. Are you able to post links on your site to the videos you're making? I don't speak Italian but I'd love to learn from subtitles.
I'm really excited for you and look forward to whatever fun things you decide to do next! Greets from NZ
3 days ago by koolba
@antirez - Thank you for Redis! It's been a joy to use across so many projects.
> However I never wanted to be a software maintainer.
And nothing say that you have to be. There's this perverted view that anytime someone creates a popular FOSS project, they need to dedicate every waking minute to maintaining it. That's neither economically feasible nor psychologically reasonable.
> Redis was the most stressful thing I did in my career, and probably also the most important. I don’t like much what the underground programming world became in recent years, but even if it was not an easy journey, I had the privilege to work and interact with many great individuals.
What is "underground programming world"?
3 days ago by amelius
> What is "underground programming world"?
The programming world that nobody else sees.
Everybody uses shiny FOSS tools, and some even make big $ using them, but nobody wonders where they come from and how much pain went into building them.
3 days ago by cies
I was also intrigued by that sentence. I expect it means (open source) programming that happens outside of of big corps.
But I'm unsure.
3 days ago by antirez
Yep it's the open source, and in general the "spontaneous" development world, that happens without big money, just for hacking. This "place" once was kinda free and not observed much. Now you can't say anything, if you don't respect a good practice (LOL) people yell at you on Twitter. Even saying that commenting is a good idea is a problem. Not cool.
3 days ago by toyg
> people yell at you on Twitter.
Dude, the problem is just Twitter. Everybody shouts on Twitter, it's a system that encourages mob reactions. "Back in the day" people had to subscribe to a ML to yell at you, so fewer people did; and we all knew which lists were cesspools of trolls and flamers, making it easier to avoid the bulk of it. Twitter instead gives you the whole firehose, unfiltered and amplified. It's not a problem restricted to opensource or programmers, we see it everywhere at the moment.
3 days ago by pbowyer
> Even saying that commenting is a good idea is a problem.
I'm glad I'm not alone experiencing this.
One of the core open source projects I use has taken a no comments stance because "the code speaks for itself". It does if you're a core contributor, but if you dive in less frequently it takes a while to grok what's going on and re-build the mental model. Comments would reduce that.
Thanks for all you've done Salvatore, and for your blogging. Your enthusiasm puts the fun back into my programming!
3 days ago by koolba
> Yep it's the open source, and in general the "spontaneous" development world, that happens without big money, just for hacking. This "place" once was kinda free and not observed much.
Thanks for explaining.
> Now you can't say anything, if you don't respect a good practice (LOL) people yell at you on Twitter. Even saying that commenting is a good idea is a problem. Not cool.
Just because they're loud does not mean they're correct or that they're the majority. I can understand not wanting to deal with any of it though.
The larger than life you become in your space, they more your words, actions, and non-actions get parsed and twisted for political intent. It's either step away entirely or hide behind the mask of a pseudonymous alt.
3 days ago by dilandau
Lowering the barriers to open-source contribution has allowed in people who have absolutely no business being there. If you have standards, you get accused of gate-keeping.
Thanks for mentioning the T- website specifically, it takes a lot of courage to call it out directly these days, because all it takes is one of them with a lot of followers and then you get swamped with hate. It's fucking unreal man.
There's a ton of us down here programming and having fun, free of politics and bullshit. Look forward to seeing you (again).
3 days ago by rconti
There's absolutely nothing wrong with him not wanting to be a software maintainer. I don't want to be either, and I'm not even a programmer.
But there is DEFINITELY something wrong with the fact that, seemingly, NOBODY wants to be a software maintainer.
3 days ago by ilaksh
The problem is that people don't recognize the efforts of the ones who do it. Antirez did it for years. Do people expect someone to have the same very high-profile job with constant overtime and the same project for their entire lives? His efforts to stay on that project were heroic.
There are lots of other people who want to maintain it. Let them, and if they screw it up that is not his fault. He finished his project. Give him a break.
3 days ago by tdfx
> NOBODY wants to be a software maintainer.
I think everybody wants it on their resume, but the practical day to day work tends to be more filtering poorly written GitHub issues than writing any interesting code. For a job that doesn't pay much (often at all), that's not something I would want to spend my time doing.
3 days ago by conjectures
> What is "underground programming world"?
If you have to ask... ;)
3 days ago by brodouevencode
We're all violating the first and second rules of "underground programming world"
3 days ago by Bjartr
I'd expect the underground programming world to index from zero.
3 days ago by r_police
Sorry to be that guy but, why are you posting comments that lead to topic derailing that add nothing to the discussion?
3 days ago by nuclearnice1
Agree. I’d like to thank conjectures, brodouevencode, Bjartr, kungtotte, m0xte, fidelramos, chii and pokot0 for their contributions, but gently suggest none of the jokes were really that funny. Said well: https://news.ycombinator.com/item?id=7609289
3 days ago by JamesSwift
I say this frequently both online and when discussing system design with newer devs, but will repeat here: of all the production issues I've debugged, the culprit has has never been redis. In fact, redis has been a critical piece of achieving cost-effective scaling. It is one of only two pieces of software (along with postgres) that I blindly recommend without any caveats. From following along here and on your blog about how you approach things and think about the software, I think its clear that you and your vision for the project are a large factor of why it has been so reliable.
Thank you antirez!
3 days ago by wokwokwok
Redis is simple. Good. Has a nice api. Has good libraries. Single threadsed. Extremely hard to scale. Impossibly difficult to cluster in containers because it uses hard coded ips to address nodes. Performs poorly with large payloads. Doesn't run on windows properly. Is extremely expensive as a hosted service (orders of magnitude in some cases, eg. azure).
You'll love it until you don't.
The scaling and clustering story is not nearly as nice as the quick start.
It's definitely worth recommending... with caveats.
3 days ago by SkyPuncher
Redis works well until the point it doesn't - like a lot of other tools.
A half-ton pickup truck works well until you need to haul bigger loads. At some point, you either need to haul smaller loads or change to a different, bigger truck.
3 days ago by kristoff_it
> Is extremely expensive as a hosted service (orders of magnitude in some cases, eg. azure).
That seems to me an argument that should be pointed at cloud providers rather than Redis itself ;)
3 days ago by wokwokwok
The point being that clustering redis is actually very difficult to do at all, never mind in a way that scales.
This would be a significant down side to using redis at all, except you can get away with not caring if you out source the problem with your credit card.
3 days ago by sagichmal
Redis is extremely simple to scale. Treat each instance in a cluster as wholly independent from other instances, and build a thin layer on top to implement whatever sharding and availability requirements your use case requires. I've done it many times and it's always been simple and worked brilliantly. Redis's predictability makes it a joy to operate.
3 days ago by sethammons
We've done just that. Some folks at work wanted sentinel in front as a cluster management layer, but our particular use case did not work well there. Instead, we have some "logical clusters" of 3 nodes that we replicate reads and writes to, sharded to (currently) six clusters. Some logic around quorum for ensuring writes make it to at least 2/3 nodes in a given cluster, with some optimizations for reads sometimes only needing 1 node to respond. We had to do a bunch of tweaking around state and memory management, and all the details were in the docs, which was great. It does exactly what we need it to do, but it is more expensive to run, and we've not figured out a way to do this right in k8s. We don't care for the cost model going forward for when we want this model serving 10x traffic (which is not pie in the sky, it is known actual volume this solution would need to support). For 10x traffic, we'd be looking at 10x node count. At nearly 200 redis nodes, that can get expensive, esp. if we want to move to a managed solution. Anyway, not sure where I was going with this. Yes, redis can scale. Yes it can stay performant. At some point, it just becomes a lot to manage though and costs can add up. We are going to be designing a new solution to keep costs low and performance high.
3 days ago by sidlls
Extremely hard to scale in what sense? A single redis server running on fairly commodity hardware can serve some pretty intense loads (10s of thousands of ops/sec). Once "scale" bigger than that is an issue, companies should already have in place the development staff that will ensure scaling up is done in a sane way, i.e., that have enough sense and/or experience to choose the correct tools for the job.
Redis is one such tool--its clustering "story" may not be ideal but even a small, minimal cluster will be more than sufficient for any use-case that a distributed memory cache is fit for at a scale that will cover 99% of business' needs.
2 days ago by notyourday
> Extremely hard to scale in what sense? A single redis server running on fairly commodity hardware can serve some pretty intense loads (10s of thousands of ops/sec).
~90k/sec on a single core of L5520. Scaling Redis is a premature optimization for 99.99% of the use cases. While it may be sexy to talk about millions of ops per second that one's project does in reality the number of projects that have that as a requirement is probably barely in triple digits globally.
3 days ago by smoyer
I read it twice trying to figure out why you were invoking @dang.
In any case, I've had the same experience with only two programs - CouchDB and Redis.
3 days ago by eatbitseveryday
Dang is a word here, not a handle:
3 days ago by smoyer
It's been a word for a long time ... we used that when we were kids (at least in earshot of our parents). Searching for "dang" in Algolia results in (by a quick count) more than 80% of the results being for @dang (the person/handle) rather than the perjorative use.
3 days ago by justaguyhere
I would rather be remembered as a bad artist than a good programmer
Takes a rare person to say this, made me smile :)
3 days ago by raverbashing
Sounds like a bit of Italian culture leaking into that phrase
But don't worry Antirez, Redis is far from a bad work of art, quite the contrary.
3 days ago by ilaksh
Personally I think it's mainly the result of having people constantly being hypercritical of your code.
And I think he's proven himself to be a superior programmer. In that in almost every category of engineering skill and knowledge, he is better than 90% of the people criticizing him. If he didn't start out that way, over the years his knowledge and skills grew to make it so.
But also maybe it reflects a bit that there is always some new "best practice" or something that some months ago no one heard about, but now many people are unfortunately using the adoption of as a proxy for programming skill because they are unwilling or unable to actually judge something or someone on actual merit.
3 days ago by tedk-42
When I read that line my heart broke a little.
I think he's done a great job with Redis. It goes to show sometimes that you need to let go of the thing you created for the good of the community. If I were in his position, I would have made the same move
3 days ago by bbulkow
My thought here. I'm not exactly a disinterested party because I built my own key value store company (possibly the wrong way but that's a different story).
I have a huge respect for Redis, and Antirez, but I have to say my respect doesn't include RedisLabs. They're the ones who started a commercial endevour to capitalize on Redis initially without Antirez, and then later offered him a position. They're the ones that Kyle@Jepsen says is making claims about ACID, not Antirez. I always heard that Clustering was a feature Antirez was very reluctant about.
I hope Redis is, fundamentally, taken away from RedisLabs.
Antirez, you say you want to express through code and open source, and I can't square that with your association with RedisLabs. You've been taking their money for quite a few years now to allow them to put up a billboard saying "the home of redis".
I'm going to stop right there. I've cut my own path through the wild jungle that's Open Source, and it's not yours, and I respect the years you put in to make the product with your vision. I'm sure there are some other first coders of foundational databases on this list, but it's a small club.
As an employee of RedisLabs, I don't think you are free to say what you'd like to say, I hope you follow whatever path does allow you to freely express in the future.
Good luck always.
3 days ago by jihadjihad
I just want to say thank you to antirez for Redis, for how simple, fast, and rock solid it remains to this day. Redis is one of those things that allows you to tilt your head a little on a problem--thinking of solutions in terms of set operations and lookups. A lot of people use it understandably for a cache but it is so much more than that...for me it's introduced an entirely new way of composing solutions to problems. Cheers for all you've done--you've shown at least one programmer that there is still a place for small, elegant design that will stand the test of time.
3 days ago by binarymax
HN hugged to death. Here's the snapshot on archive: https://web.archive.org/web/20200630130517/http://antirez.co...
3 days ago by bactisme
I think its website need a fast cache.
3 days ago by antirez
Actually the web site uses Redis as the only store. And Redis is using 0.1% of CPU. The problem is that Ruby sucks at doing anything scalable. It's just a Ruby/Sinatra app. If you do that in PHP, it will work out of the box with many concurrent accesses. With Ruby not the case. There are ways to deploy it better, but it should be fast as default, which is not the case.
3 days ago by rakoo
As a lover of Tcl (https://web.archive.org/web/20200615130120/http://antirez.co...), I'm surprised you're using ruby and not something Tcl-based with its built-in concurrency
3 days ago by ahmetkun
I guess it would be interesting if you re-wrote your website in PHP and wrote a blog post about it with the title 'Why I Moved From Ruby to PHP?'
3 days ago by izietto
That sounds like a good area on which you might work! :D
2 days ago by niyazpk
NGINX supports Lua scripting. Many years ago I worked on a system which ran a full website on NGINX + Lua + Redis.
3 days ago by entropie
I actually wonder how many request/s one gets from being on the top of HN.
3 days ago by tuananh
not very high
a previous post of mine got 500 points and stay #1 for a few hours.
traffic from it looks like this
3 days ago by Izkata
> Traffic stats on Cloudflare seems a bit inflated with the unique visitors at 36k. Maybe they do count bots as well there.
First screenshot looks like Google Analytics to me; I'd say it's more likely a lot of us have blocked it and Cloudflare's number is more accurate.
3 days ago by rikroots
My "Show HN" post was in the bottom half of the HN home page for less than an hour. Traffic to the site was roughly 100 times greater than its current levels (by bandwidth):
3 days ago by polote
"antirez 2 hours ago. 52347 views. "
3 days ago by ojosilva
Those are the ones that got through all the way, or at least the ones that got picked up by the view counter. Not the people that got error or timed-out responses.
3 days ago by ignoramous
Get a daily email with the the top stories from Hacker News. No spam, unsubscribe at any time.