awesome-programmers icon indicating copy to clipboard operation
awesome-programmers copied to clipboard

Remove Guillermo Rauch

Open ghost opened this issue 7 years ago • 25 comments

Does not make the cut whatsoever.

If you want I can list probably 5 reasons why he is one of the worst programmers I have ever experienced. GitHub stars does not translate into programming skill, it only translates into marketing / hype skill.

ghost avatar Oct 23 '16 02:10 ghost

Out of interest, please do :)

intellix avatar Oct 24 '16 18:10 intellix

If you ignore the millions of GitHub stars his Socket.IO has, and actually take a look at the algorithmic decisions made inside of the steaming pile of garbage he calls Socket.IO, you'll probably end up in an asylum eating your own feces.

First of all, Socket.IO doesn't really implement anything complex whatsoever. It simply binds already written HTTP servers and WebSocket servers into one module, just wrapping them up in the worst possible way imaginable.

Secondly, Socket.IO is one of the absolutely slowest "real-time frameworks" available. Every single alternative to Socket.IO outperforms it by a far margin.

Just take a look at how Socket.IO manages pings and pongs. I recently profiled an engine.io based game that performed like absolute garbage. My profiling showed that this "magnificent piece of software" actually spent 70% of the CPU time inside of the engine.io message parser creating and deleting a new timer for every single message received. You see, instead of actually using your brain to design something that makes use of one timer per process, Socket.IO makes use of one timer per message.

So not only is Socket.IO just a wrapper of already created modules, it also manages to completely destroy the performance of the underlying modules. This is just one example of how incredibly incompetent this author is. In no single way in hell does he deserve to be put on a pedestal for having a million GitHub stars. This list is not about creating hype around garbage it is about being a good programmer, which said author is not. He is the definition of a script kiddie.

ghost avatar Oct 24 '16 18:10 ghost

Sure, let's replace him with "Guillermo Rauch: The creator of the real-time Node application deployment library now".

sotojuan avatar Oct 25 '16 00:10 sotojuan

'now' depends on the socket.io client so the same criticism applies. If you want to have a list of retards that's up to you, but don't call it awesome programmers then. You should probably remove the real programmers like John Carmack, Dennis Ritchie, Alan Turing, etc..

ghost avatar Oct 25 '16 00:10 ghost

I would remove every programmer who ever contributed to Ruby, it makes me doubt their judgment...

giladno avatar Nov 02 '16 18:11 giladno

I have an upcoming benchmark of Socket.IO pub/sub where I'm expecting a 300-1000x diff in performance. If you write software that slow you are an amateur and nothing else.

ghost avatar Nov 02 '16 19:11 ghost

@alexhultman which library would you recommend for websockets using node.js?

giladno avatar Nov 02 '16 19:11 giladno

Eh?

ghost avatar Nov 02 '16 19:11 ghost

@alexhultman for supporting websockets in a node.js app - what would you recomment instead of socket.io? ws? something else?

giladno avatar Nov 02 '16 19:11 giladno

Why would you want my opinion?

ghost avatar Nov 02 '16 19:11 ghost

since this is not the first time I've heard socket.io doesn't perform well (and personally, I've only used it with small scale apps so never had a chance to benchmark it). Just looking for some alternatives to play with.

giladno avatar Nov 02 '16 19:11 giladno

Well obviously I would recommend my own implementation?

ghost avatar Nov 02 '16 19:11 ghost

oh, I just noticed that while checking your github profile :) I'll take a look, thanks!

giladno avatar Nov 02 '16 19:11 giladno

But this is not about me - it's about the fact that Socket.IO is extremely bad, while simultaneously considered to be this elite project based on the amount of stars.

Anyways - this repo stopped trending very quickly so who cares anymore, right? I was expecting this repo to trend to 50k stars just like any other generic list has done.

ghost avatar Nov 02 '16 19:11 ghost

Popularity has nothing to do with code quality. This is mainly a factor of ease of usage. Take Windows for example: it was never more secured than Linux nor "coded" better. And yet it was more popular among users. It simply answers people's needs.

Ruby is slow as hell, it makes me puke when I see code samples written in Ruby. Yet - it is one of the most popular languages today, which has nothing to do with what goes under the hood...

giladno avatar Nov 02 '16 19:11 giladno

It's [GitHub stars] a measurement of hype, nothing else.

ghost avatar Nov 02 '16 19:11 ghost

Considering "awesome" lists are almost always done for stars by people who want popular repos without writing code, I feel like this repo has done its job.

sotojuan avatar Nov 02 '16 19:11 sotojuan

1k is nothing for a list. Lists easily go up to 20k in a week or so.

ghost avatar Nov 02 '16 19:11 ghost

I just added new benchmarks where I take Socket.IO into account. You can clearly see in this benchmark table that Socket.IO is one of, if not the, worst performing "real-time framework" in existence: https://github.com/uWebSockets/uWebSockets#benchmarks-table---validate

ghost avatar Nov 08 '16 21:11 ghost

are you trying to say something implemented in NodeJS is much slower than the same thing implemented in C++?

ccding avatar Apr 17 '17 17:04 ccding

oh man, are you trying to say something implemented in NodeJS is much slower than the same thing implemented in C++?

@ccding Oh honey, your argument doesn't hold up since both Primus and Deepstream which both are Node.js projects outperform Spcket.IO by 10-1000x. Oh, sorry little bubu mmmmkay?

ghost avatar Apr 17 '17 23:04 ghost

I fully agree with @alexhultman. I think this should be edited-out, not to be mad, but to keep coherence in this list.

neolectron avatar Sep 28 '17 08:09 neolectron

@alexhultman I find the usage of honey rather sexist. For that reason, I'm forking Socket.io and setting the target to ayo.js

billymcintosh avatar Sep 28 '17 08:09 billymcintosh

The oh honey usage was to point out the oh man usage just before. but feel free to port anything to ayo.js anyway. that's not the topic here.

neolectron avatar Sep 28 '17 10:09 neolectron

Guillermo Rauch definitely pissed off Alex :p

girng avatar Mar 25 '19 14:03 girng