Hacker News new | past | comments | ask | show | jobs | submit login
Redis Conference 2015 Recap (antirez.com)
130 points by davidw on March 10, 2015 | hide | past | favorite | 41 comments



> One thing I did not liked was Matt Stancliff talk. He tried to uncover different problems in the Redis development process, and finally proposed the community to replace me as the project leader, with him.

What a complete douchebag. Even Frank Underwood gets other people to nominate him.


This is an example of someone really mis-using the power of the microphone. I think antirez summed up quite well:

> Technical leadership is a reward for the work you are capable to do, is not asked at conferences

If this was something Matt Stancliff really wanted, trying to stage a revolution of sorts from the stage is not the way to go about it. Prove yourself and rewards will come your way.


Is there any recording of his talk or something? Regardless of his actual points, this sounds like an extremely weird thing to do.


It looks like videos will be published "shortly", I wasn't there but I'd imagine there was some cross over with this post: https://groups.google.com/forum/#!search/a/redis-db/PxFeA0fH...

The guy is pretty passive aggressive in that thread which makes it hard to take his points seriously.


I actually agree with some of his points on this thread. Getting contributions accepted to redis is notoriously hard, and a few features I've suggested over the years had been rejected.

However, I have the utmost respect to antirez for doing the work that he does, and I think he is an excellent maintainer; his job is not to keep contributors happy but to make redis as good as it can be according to his vision. And while I disagree with some of his decisions, he's doing a great work at that, and I see him becoming more attentive to the community lately.


One thing I took from mythical man month was that having an architect with a clear vision is necessary for success. The architect isn't perfect. He will make mistakes and he will reject good ideas from time to time. But design by committee has the risk of doing development without a clear vision.


And herein lies a key part of the Node/io.js issue.


heh, he actually mentioned me in his post on the thread... I didn't notice it, I'm kinda out of the loop of the community lately.


I think Antirez said it best: "A darwinian selection will work to make sure we have the best Redis possible."

Last time I checked, Charles Darwin didn't take notes about a voting process amongst animals, rather how leaders were "chosen" by leading.


Stephan Jay Gould derided this "best possible" view of Darwinian selection as the Panglossian Paradigm, in his criticism of the adaptationist viewpoint.

The only way it works is by accepting Pangloss's tautological use of "best", that is, everything that exists is the best possible, and whatever we have in the future must also be the best possible.

Truly we live in the best of all possible worlds.


This assumes that only the most optimal decisions, choices, or outcomes will succeed, which is flat out false. We live in a great world, but there are many other possibilities where it could be better if better decisions, choices, our outcomes had taken place.


Well that sounds like a very dubious move from Matt Stancliff, I wonder what the rationale was.

Edit - particularly galling given this graph https://github.com/antirez/redis/graphs/contributors


5% of the number of commits, came on the project last year vs been there from the start 5 years ago, pulling stunts like this at the conference... yeah, he'd be a great replacement


There are always douche-bags in every community. Ignore them.


Eh, those graphs can be deceiving but still, strange move on his part.


Also sounds very unprofessional, wonder why the organizers let a talk like that go through.


giving him the benefit of doubt: maybe he was just unable to articulate properly that he noticed some problems in the redis community and thought it would be better if $WHATEVER happened.


I listened to Matt's talk, and I was one of the break-out speakers at RedisConf 2015.

I think people (and possibly Salvatore) are over-reacting slightly when claiming Matt wants to take over the project. What I got out of the talk was an explanation of Redis's development cycle (warts and all) wrapped in a lot of satire. I gave Matt the benefit of the doubt that there was no truly ill will towards Salvatore or Redis.


Thanks for your comment, it is good to have a different POV.

I tried to state exactly what happened, "funny" or not, he was very serious and addressed the same concerns in the mailing list in the past. Moreover after showing things he did not liked, the "funny animation" he showed said every time "this is unacceptable". He cherry picked from IRC, Twitter (misquoting me big time, I told him after the talk that he misquoted me), and Github issues in a wrong way. It's like me doing a talk with every PR he submitted where there were gross oversights, picking all the source code, and his comments or alike. Moreover at the end he clearly claimed for succession, showing a few examples of succession like Graham -> Altman. To be "funny" is a very subtle way to provide very hard content, but what matters is the meaning. That you put funny sounds and animated GIFs IMHO does not change the net result.

EDIT: Probably the most unfair things was "Sometimes for Salvatore Redis looks like hobby++", or he quoted me when I said on IRC that to run an OSS project does not mean you have an obligation with the world (without adding any context of course, as usually), but he said, oh sure, you have, there are many people running Redis out there. Everybody following Redis closely knows the efforts I do in order to make sure the server is stable and to fix problems people have. So this guy arrives 6 months ago after I work for 6 years in a row very hard, and tells me I've just a random hobby. Seriously, I tried just to state the facts in the blog post without even recounting what I'm saying now just to show my point.


Hey Salvatore. The argument could be made that he said some unfair or inappropriate things for sure--I was more speaking to the folks on this thread calling him a "complete douchebag" and other pretty derogatory things without seeing the talk for themselves. Cheers.


Another speaker from the event here, and totally in agreement w. hashset.

I've attended that session and have had the pleasure of being exposed to Matt's views in other occasions (IRL and online :)). While I don't necessarily agree with everything Matt says, his perspective is unique - he's the only 0.5 core Redis developer in the world and his contributions to the project are mostly inspiring and certainly of quality. From what I've seen, he's devoted to Redis as much as anyone can be and takes the project very (too?) personally.

Matt's presentation skills are also kinda unique - he uses at least 2^32 slides in every talk, and these are mostly filled with cartoons/memes that I'm too old to recognize mixed with geeky jokes that he makes up by himself ("What is the favorite food of villains? configs." - brilliant!) (remember that even making up a bad joke takes considerable talent.)

However, between the puns and laughs, his talk is honest and his messages are clear. He usually (I missed the first 2m of this session [i.e. first 200 slides] but I'm guessing he did it this time as well) opens with an apology for his upcoming rants. Then he delivers sharp criticism at what he perceives to be faults based on his 1st-hand experience. Instead of accepting the "facts", he challenges them and tries suggesting creative approaches to solving these problems.

Yes, he could be a better politician but maybe he doesn't want that (anymore?) - it seems that he wants to make the (Redis) world a better place by acting. He uses shock to deliver his points, and perhaps that's excessive at times, but I give him the credit because he tries practicing what he preaches. Matt has his reasons for choosing this rhetorical style - maybe he'll change it after this experience (although mostly likely he won't) - and quoting out of context is often ill-perceived even when well-intended, but when you listen to what he says rather than the how, he certainly shines a hard and clear light on some uncomfortable facts. Perhaps these [facts] are immutable, perhaps they can be tweaked and optimized for joy - I can't claim I know any better... but he definitely stirs things up and ignites thought-provoking discussions... and perhaps that's all that's needed.

I don't think Salvatore should or can be "replaced" by Matt, or by anyone else for that matter, until if and when Salvatore decides so. I don't believe that anyone with an IQ above 42 seriously thinks that Salvatore hasn't been or isn't committed to Redis. I didn't interpret Matt's talk as a coup attempt but rather as the continuation to previous discussions about scaling Redis' development. I can't imagine Matt was thinking that he'll be overthrowing the Benevolent Dictator during Redis Conf's last session - my impression of the talk was that in his own Matt-ish way, Matt was trying to shock everyone, and specifically antirez, into action to better things. It is the maintainer's right and obligation to choose between merging, cherry-picking from or even entirely rejecting Matt's orally-submitted PR, but I really don't see that PR meant as a personal attack. My 2c.


Hello Itamar,

for me actually the problem is totally a different one, that Matt’s rants have a lot of slides and jokes but no clear arguments or no arguments I recognize as valid. I’ll show point by point his arguments and why they are IMHO flawed. The thing is, between jokes and memes, and putting some random argument that “looks” have some merits inside, it is easy to fake a sensation of “real content” that is not there.

Examples of his points and why I believe they are wrong.

1. Redis is too complex and has too many components and protocols.

The programming community begs to differer. Redis is an example of a non trivial system software that a single individual can understand and modify easily. Matt points as "thins to parse" to CSV fields with a space inside, and as a "yet another protocol" to the cluster bus that uses a C structure sent over the wire, for which using the normal Redis client protocol would be extremely suboptimal.

2. We have obligations towards Redis users but for Salvatore Redis is hobby++.

Actually his vision about merging stuff liberally is exactly the irresponsible practice that should be avoided. Not only he does not spend time to improve the basis and doing serious code reviews to other peoples code (or if he does, it does not show up), but also often his own code is written in an informal way without understanding the cascading side effects he could have. Yet he focuses on adding things to Redis, not checking what the bugs could be. There are other people contributing in a different way. For example Sun He fixed a number of issues in Matt's quicklist code just reading the code as soon as the code was posted. To be responsible is to write sane code, and especially, instead of writing just new code, focusing a lot into fixing existing code. Another thing that is for me extremely odd is fixing things with a commit that happens to work, and commenting that it apparently works but the reasons are not clear and hand waving about a "possible" cause. For me this is not system programming.

3. Focusing for 5 minutes on the README -> README.md switch is just not having points.

4. Delay of Redis Cluster.

Even if this was addressed many times with: we had a not good enough single-node story to focus on Cluster so this was delayed many times is apparently not enough. It is clear and obvious, so citing this again and again is just an attempt to find an argument to attack.

(there is more but useless to continue -- it is clear it's a very different POV)

So what to do to improve Redis? To do the actual work that is hard to do, reviews, fixes, small incremental improvements, submitting code that is designed well in the first instance, and so forth. Shocking talks are just a useless display of memes.


Dear Salvatore,

Your arguments are exactly what I had wished for - your POV is just as crucial and my only regret is that we didn't "demand" that you go on stage then and there to present it - I would have certainly stayed for that and the ensuing discussion no matter how long it would have lasted after closing time (although, in second thought, that would have been extremely unfair as you would have been pushed into a tight spot w/o preparation, so I take that back). I could offer my views on each of the points but that's hardly relevant IMO, useless :)

What really pains me is seeing you two beautiful and smart individuals, who are passionate about the same thing, disagreeing so heatedly over these issues. I think (hope?) I can see where each one of you is coming from and to me it doesn't look like your goals are that different. Perhaps the nature of an open source community is such that such topics needs to be vented out in public - /me don't know. I sincerely hope that the core team will find a way to overcome these differences because despite of (or maybe because of) them, from a bystander's POV, it looks to me like you have a good thing going - together and backed by an amazing community.


> I think (hope?) I can see where each one of you is coming from and to me it doesn't look like your goals are that different

Sorry I disagree. I had already some issue with Matt's behavior, and Matt is not the project leader, yet in my talk I praised him two times, because this kind of things put the foundation to work together better.

Instead he provided a talk that goes exactly in the other direction. This human interaction issue made me reflecting about the other issues I had with Matt in the past months, for me it is GAME OVER. I'll continue to merge his PRs only after stringent reviews / testing, and that's it.


It is amazing how small relatively isolated team can create awesome product. I am trying something similar, but its very hard. Antirez is either genius or works 20 hours a day.


I work 8 hours per day, but the actual time coding is much shorter as everybody in our industry knows: pauses, design moments, checking HN, ... And I'm not a genius, many of my friends are smarter than me. To get something done is basically having some vertical talent (for example ability to code), and putting a steady effort into it for a long time. A fundamental thing is to try to minimize the work to do and to maximize the effect the work has. Just a random examples, Redis has support for transactions, that are quite useful, and are implemented in like ~100 lines of code, because it does not implement rollbacks. The idea is that for the specific data model, operations, and use cases provided by Redis, rollbacks were not important, and that was the case. Getting the design decision wrong, rollbacks could easily introduce 5000 lines of code in Redis and also press other design decisions as a side effect.

EDIT: cloc actually reports 196 lines of code into the file multi.c, but there are additional features including check-and-set that is ~50% of the code, so yep, pretty much 100 lines of code.


I've read the redis source code as an example of excellent C programming. Very impressive work sir, hats off to you.

I think your advice applies especially to systems programming, and less so to CRUD type apps, or even any in higher level languages. On one hand, you can hardly do anything in 100 lines of C. It's "too low level." On the other hand, once a C codebase reaches critical mass with enough supporting logic and utility code, you can accomplish more in 100 lines of C than you can in any other language.

There's something deceptively powerful about programming at such a low level. The primitives you reason about are extremely simple. But when combined with the rest of the codebase, and supporting libraries in higher level languages, suddenly you can leverage the primitive logic to incomparable levels.

Redis is a great example of solid, fundamental low-level programming enabling high-level performance improvements.


Thats an important skill

not just to be able to make something work, but being able to manage the scope of the solution to keep things simple sometimes you get a better solution by doing less


Thank you for writing this tip. Hopefully I can cut some of my hobby projects & finally complete one thing even with less features.


Genius - nothing good comes from working 20 hours a day


Also - persistent.


"to travel from San Francisco to Sicily is kinda NP complete"

Surely 'shortest path in a multigraph' can't be that much harder than 'shortest path in a graph', right?


"travel from San Francisco to Sicily is kinda NP complete: there are no solutions involving less than three flights"

Pretty sure you can do it in 2 hops by flying EasyJet from Sicily to London for example. Travel meta-searches don't include all the cheap airlines (either because they're blocked from access or won't earn affiliate revenue).

Thanks for the Redis conf update, looking forward to seeing some of the talks.


True, but unfortunately for many dates, it is impossible to find a flight to London that is compatible with catching the flight to SF, since there are many days where a direct flight is not available, or is available at the wrong time. Moreover if it's not the same company and you miss the London->SF one, you are going to totally lose the money and need to book a new flight, which is very bad given the cost :-)

However what I can do next time is to go in London a couple days before, meet some people there or just have some fun if it's weekend, and then go to SF.


Salvatore, next time you should have everybody come to Sicily. Such a beautiful place. I would happily come. :)


If any of these very big companies are in the UK, I'm sure they'd pay the Sicily->UK bit in exchance for some of your time or speaking to their devs.


Rackspace have a huge office in London.


Business class it is then...


If you talk to a travel agent they might be able to have several flights on different carriers on the same ticket, avoiding the problem of having to buy the second flight if the first one has an issue.

Through Switzerland or Germany it might be easier than London.


As amazing as Redis is, you should be given a free plane!


Great conference! I particularly enjoyed Manju's talk on Twemproxy and Keith's talk on Monaco.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: