HN user

jiofih

3,583 karma
Posts0
Comments1,492
View on HN
No posts found.

Wait, where do memory leaks come in and what the hell fo they have to do with the subject at hand? I was talking about it’s fit for web servers, not embedded development. I’m disputing very specific comments you have made. You completely ignored what I said, and now accuse me of “copying marketing lines” and not knowing what an event loop is? Really? Is this how you win arguments?

I don’t know what you’re excited about yelling in caps - VertX uses and event loop. Goroutines are cooperative scheduling. Yes, they can also coordinate over multiple threads (guess what, node can too) but the underlying architecture for processing requests is the same.

Node JS is a terrible high-volume web server

Again, why would that be? Node was invented precisely to be a high performance server. It’s literally it’s purpose, and it delivers. Check out any benchmarks like TechEmpower and guess which platforms you’ll find near the top. I’m not saying it’s the best choice but just stating facts. Nothing else to say here - you obviously have strong opinions but zero hands-on knowledge on this area.

Take 10 jobs over 10 years. […] I'm sure you'll make some money eventually

Wasn’t it 1/250? Sorry but you’re pulling numbers out of thin air, all you have here is wishful thinking. Fact is most people who work for startups will not “eventually make some money”, their shares will be worthless.

In order to hit it big, you need to either be at the top of your field, which gets you exposure to unique opportunities, or be really good at picking winners (you might as well switch to VC in that case), or just be lucky. You can’t hop from one random startup to another and expect to become rich.

Again, probabilities don’t work like that. You’re not rolling dice to apply to Google, and FAANG jobs are not unattainable, nearly everyone I know that wanted one, got it eventually. Then you have guaranteed high income.

You can choose either life, and the risk/reward ratio is certainly much much higher for startups, but we have to be honest about the odds - they are not great for non-founders.

It is NOT good as a high-volume web server, for example

You couldn’t have picked a worse example - your CS major seems to be needing a refresh. NodeJS came to be precisely because V8, single threaded and using an event loop, was GREAT at a high volume web servers. It massively reduced the overhead vs multi-process or thread based web servers and absolutely dominated performance benchmarks and concurrency. We started playing with 1M concurrent connections while you might barely get 100 on Apache a few years earlier. There were other async servers at the time (Tornado, Puma, Netty..) but the async-by-default ecosystem in node was a unique advantage.

Fast forward to today, it’s not an accident that the majority of high-performance web servers now are asynchronous and/or using cooperative multitasking (or even libuv directly, a spin-off of nodejs development): VertX, Actix, h2o, Jetty, go with goroutines, etc. It’s a much more efficient model.

Nice way to turn this into a personal attack. I have nothing against this opinion, and said as much above (I might even share it). His attitude and wording is entitled and disrespectful, like this is an inconvenience to him and not the result of worldwide events.

Haha. You failed. I can feel the judgement from here. Sounds like the classic preconception of the socially-challenged developer. I thought that meme had died years ago. I promise you I am nothing like that, and not very blunt when communicating either. My role is at least 75% teamwork/management, not development.

As someone else mentioned, there is most likely a cultural divide here. I know you’re not “just checking in”. If you were truly worried about my well being, you would not be mixing that with a progress update. “Let me know how I can help” is also just a backhanded way to tell me something is wrong.

What I would like is a professional conversation (not a blunt one). “Look, X, I’ve noticed you didn’t deliver Y and Z on the agreed timeline yesterday. If you need it we can offload some of the tasks to ABC. As you know we need this live by X because [reasons]. Let’s schedule a call if you’d like to discuss how we can get this back on track. Cheers, Your Manager”

None of the “checking in” bullshit, just honest and direct, but also not offensive or judgmental. A more personal talk can be had f2f or over a call.

Definitely - personally I feel the opposite. The more indirect, the more offensive it reads. “Is everything ok?” tells me there is a problem I need to expose myself (am I underperforming? Do I look unwell? Did I say something wrong?). Feels like a trap.

I’d rather hear what the problem is and how they think it can be fixed. (EU based)

The only reason you need that in the first place is because of how expensive updates in react are. It’s lack of true reactivity and user-controlled memoization lead to a ton of trashing.

Svelte on the other hand is as optimized as possible - update the data, modify the corresponding DOM pieces directly. There is no realistic use case where you’d need to spread an update over multiple frames.

If 1 out of 250 ends up being a $100B company, 0.25% of equity you earn per year is $1M in cash.

Sound like the kind of math a startup would use to lure you in. More like 99.75% of the equity you gain will be worth nothing. And you won’t have 250 jobs in your career. What are the odds you actually land that 1/250 that has a great exit? Less than one in a thousand.

why do you feel like the conditions in place are acceptable?

“Acceptable”? To whom? This is why you sound entitled. The alternative is not dining out. You make it sound like restaurants are letting you down or should try harder. The word “acceptable” has no place in this conversation.

It’s fine that you don’t want to go out to restaurants right now. But you’re complaining about how inconvenient it is for you like there is no underlying reason for things to be in this state. Businesses ate also victims of this pandemic.

All of this makes me upset because it sounds extremely insensitive. The world is mourning millions of dead and you’re grumpy about your restaurant experience being ruined. Might be just your wording but one would expect a bit more empathy.

Your comment reeks of entitlement. Restaurant owners have been struggling to survive by serving customers any way they can. Sorry your high dining-out standards can’t be met while a few million people die from the pandemic.

QR code’s are awesome. No greasy menu to hold, up to date availability, can see more details and better pictures for each item, and order without waiting for someone to show up at the table.

Anything is a “good language for that” if it meets your needs. If you can run the js VM in 128KB of RAM and have decent performance, why not? I guess you would be ok with a Lisp in a microcontroller even though it would also run a VM?

Do you think Arduino would have had any success at all if you had to write C or Assembly to use it?

That directly affected Node.js as an implementation.

It didn’t “affect” node, it was the whole reason it came to exist: its cooperative multitasking was a good way to tackle concurrency (remember c10k), and V8 was available and easily embeddable. Without the event loop there would have been no reason to choose JS.

these companies simply can’t afford to pay the higher wages of more established businesses.

HAHAHA. Right after news of a $400M funding round.

What exactly is the problem - the letter doesn’t mention it?

It’s expensive to fire people, it can be done. Money doesn’t seem to be an issue for startups these days.

Every company I’ve worked for has given equity as compensation here.

Opening a company is insanely easier than anywhere else I’ve been.

I can’t relate any of those factors to lack of innovation from my own experience. It must be something else?

By the definition of formally correct, yes, you’re right. But dynamic programming still allows programs to be functionally correct, and verified by testing, which is more often than not good enough.

That’s a load of gibberish. JS as a language has nothing to do with browser APIs, why would you judge it based on that? Also, ES6 was ratified six years ago.

Seems like you had a bad experience with espruino / jerryscript or something and are projecting based on that?

Dynamic languages are easier to program in. That’s a fact, and why they are so popular.

Exactly, the critique is that you need multiple layers, and if one fails, the R values you thought you had go out of the window. Whereas a concrete, wattle and daub etc wall will tolerate less-than-perfect fitting and maintenance. Of course if you assume construction is flawless, there will be no issues, and that’s the usual case.

Looks like you did not understand that comment. Concrete will not let a draft through no matter where the wind hits. For fiberglass and others, one bad fitting means a current can form through the material. This is why you need tyvek to begin with.