Hacker News new | past | comments | ask | show | jobs | submit login

The author states:

> After playing with professional Load Balancers like NGINX I tried creating a simple Load Balancer for fun.

And while nginx[0] certainly can perform in this role, another production quality load balancer is HAProxy[1]. Both can do more than this, of course.

Reinventing solutions "for fun" certainly can be educational and help others learn key concepts, but the author should clearly state what they are doing is not meant to replace production quality solutions.

0 - https://www.nginx.com/

1 - https://www.haproxy.com/solutions/load-balancing/




Doesn't 'for fun' clearly indicate that this isn't designed to replace a professional-grade solution though?


> Doesn't 'for fun' clearly indicate that this isn't designed to replace a professional-grade solution though?

Depends on the person and their understanding of English colloquialisms I suppose.

What might be less misunderstood is:

  This is an educational project and is not
  meant for use in production systems.
Granted, native English speakers likely will infer this project is research/educational in nature and benefit.

But why leave it to chance?


Well the repo description is "World's most dumbest Load Balancer", which might count for something


> Well the repo description is "World's most dumbest Load Balancer", which might count for something

Amongst the synonyms for "dumb"[0] is "simple" and is used commonly as such.

A definition of "simple" is[1]:

  easy to understand, deal with, use, etc.:
  a simple matter; simple tools.
The GitHub repo[2] has as its project URI the leaf segment "simplelb"[2].

The first non-title line of the GitHub repo[2] reads thusly:

  Simple LB is the simplest Load Balancer
  ever created.
Nowhere in the README.md are the words "educational", "production", "research", or "fun."

All of this is to say, what "might count for something" may not be what the author intends.

0 - https://www.merriam-webster.com/thesaurus/dumb

1 - https://www.dictionary.com/browse/simple

2 - https://github.com/kasvith/simplelb/


Some bizarre hair-splitting here.

Besides, even if a beginner somehow wanders into the project, mis-IDs the project, and uses on their beginner server, then it sounds like a good learning experience for them even though the README didn't give them permission to learn by neglecting to include the word "educational", god forbid.

Is this the catastrophic scenario you have in mind?


> Some bizarre hair-splitting here.

I was trying to be explicit as to my reasoning. If that came across as "hair-splitting" then I suppose I failed to adequately do so.

The whole point I was trying to make is that people find code in all sorts of ways. And my opinion is that if a public repo, such as GitHub, has a project which could easily be both desired (due to need) and misused (due to intent), then it might be a good idea to put a simple declaration in the project's README.

Given all the blow-back this concept has incurred, I would think the concept is either wholly immaterial or now proven as needed.


Relevant username?

This seems to be a strange hill to die on. For all intents and purposes there is a declaration in the readme. And anyone who knows enough to want to operate with this will see that it's fairly basic. Others will likely just reach for a more generic or battle tested solution.

In any case, people should be able to do what they want with their repos and code, assuming legality of course.


If you race through chains of synonyms, changing between definitions along the way, you can get almost anywhere. Why does this matter?

And here's the full list of synonyms listed there:

> airheaded, birdbrained, bonehead, boneheaded, brain-dead, brainless, bubbleheaded, chuckleheaded, dense, dim, dim-witted, doltish, dopey (also dopy), dorky [slang], dull, dunderheaded, empty-headed, fatuous, gormless [chiefly British], half-witted, knuckleheaded, lamebrain (or lamebrained), lunkheaded, mindless, oafish, obtuse, opaque, pinheaded, senseless, simple, slow, slow-witted, soft, softheaded, stupid, thick, thick-witted, thickheaded, unintelligent, unsmart, vacuous, weak-minded, witless


> If you race through chains of synonyms, changing between definitions along the way, you can get almost anywhere. Why does this matter?

I am not racing through chains of synonyms.

What I was trying to elucidate was that the use of "dumbest", when the repo is ".../simplelb", and the very first line of the README says the project "is the simplest Load Balancer ever created" might, just might, lead people to think that "dumbest" is being used in this context as a synonym for "simplest".

Which might, just might, cause people to consider it for uses this project is not intended to satisfy.


I would really love to meet the person that knows the English language well enough to understand that dumb can sometimes mean simple but also would interpret that sentence to mean “world simplest Load balancer”.

Very strange axe you have to grind for a very unlikely hypothetical. Just because something is possible doesn’t mean it is probable.


"Very strange axe to grind" is right. The repo has 25 commits from start to finish. Who is in danger of thinking this is production ready?


> but the author should clearly state what they are doing is not meant to replace production quality solutions.

If you know you need a load balancer you should already know this.


> > but the author should clearly state what they are doing is not meant to replace production quality solutions.

> If you know you need a load balancer you should already know this.

If you know you need a load balancer, you go and look for one. If you happen upon one in a programming language you use, then it may be more appealing.

Hence the need for an explicit disclaimer.


But if you don't do any research to find out if it is production ready, you aren't a production ready dev anyway. A disclaimer isn't going to save them.


[flagged]


Yes, if you will use anything that doesn’t say “NEVER USE THIS IN PRODUCTION. SERIOUSLY THIS IS FOR EDUCATIONAL PURPOSES ONLY” then you are going to get burned by a lot more than a LB.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: