Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
cool! I like your persistence.
And maybe in the next 3 years your project be a serious alternative for node.
If you're ready for primetime i would suggest you invest in some marketing. Like a beautiful website with branding and copy text that sell your advantages over for example node. And I think you should target big companies. Because the average webdev will be happy with node. But BigCorps who serve million of visitors and transactions per second will be happy for every milisecond they can save doing so. Especially banks and insurances.
@heyheni The only problem is that I'm the only maintainer currently, and I've been neglecting the project for extended periods of time because of real-life circumstances. I'd love to find a source of funding and work on it 24/7, but that's another challenge on its own.
I think it'd make a great tool for corporations though.
Franboo11665dSuper interesting rant. Personally I'm not a js whizz and I only understand the basics of multithreading (as I'm how to use it in relatively simple and safe scenarios) but even I can see how this might benefit certain applications.
But I don't agree that devs were so negative because they don't like change. (I refer you to the billion js libraries that change greatly every update.) I think you're more correct in saying that they dislike the idea because it's hard and, this is the important part, they don't understand it.
The strongest pushback I feel when it comes to new ideas, dev or otherwise, is when people don't understand what the new idea is or the problem it's addressing. And since you're tackling a pretty complex issue lots of people don't understand it and therefor lots of pushback.
How to get around this? More posts & blogs & all that good stuff explaining how and why so that people can learn and either come up with a good reason not to do this or realize there isn't one.
I wonder if you might receive a cease and desist letter from Sonatype for using the name Nexus. If you haven't already done so, I'd recommend you to make sure that you can use that name.
@Franboo I didn't state this above because I hit the character limit, but I received a lot of hate mail because of this exact reason.
When I announced that I had no plans to implement the CommonJS `require()` module loading system in favour of ES6 modules, people were very upset.
CommonJS is used with Node to this day, and is the most popular choice for JS library authors. I think 90% of the libraries published on NPM are written using CJS.
I have many articles (and a real-life benchmark/test) explaining this project listed here though: http://www.nexusjs.com/about/
I hope I can raise awareness about it somehow. I'm just not sure how to promote it, and getting contributors interested is a difficult proposition when the code itself is in C++ and does what is considered evil black magic by JS devs on a regular basis. :)
Franboo11665d@voodooattack Well geez. If people are sending you hate mail over using one import method over another then they might be beyond saving.
I can't really provide any useful help on how to promote it further as I haven't done anything like this myself.
All I really know is I'll be following your progress to see how things go. Mostly because it seems super cool.
@sSam What's the point of improving anything? :)
But many languages are both multithreaded and garbage-collected. Java, C#, D, and Rust are good examples.
balte25935dyou mean that the code I've already written and the future code I will be writing could get a huge performance boost + no more bullshit like loosing a udp connection because more than 4 libuv pools are used? I like it.
we recently had to implement a child_process due a UDP connection requiring for ack's being sent and there is no way to guarantee that in NodeJS. so now we have all this stupid code wasting cycles on parsing IPC messages and the only thing we MIGHT get is the worker thread API which actually makes it more complicated for maintainers..
@balte I bet you're going to love this benchmark then: https://dev.to/voodooattack/...
This old i7-4770 CPU handled ~1000 requests per second and probably could handle even more. The only limitation was my OS running out of file handles for sockets (as I later discovered).
Here are the connection times for the 1k req/s benchmark: Connection time [ms]: min 0.5 avg 337.9 max 7191.8 median 79.5 stddev 848.1
So yeah, I think it could handle the situation you described just fine. It will scale automatically and never choke as long you give it more cores to work with.
Also, UDP is already fully implemented. Here's an example of a UDP client (can be turned into a server quite easily): https://github.com/voodooattack/...
Note: The IO API is very different from node, because it's modelled after the boost::iostreams library and uses boost::asio internally for asynchronous streaming.
@voodooattack you could add a little topbar on your website "searching for a sponsors"
And you could write some companies and foundations to sponsor you. I mean you live in egypt and the average top income is something about 25 000 dollars per year, correct? 25k is surely easy to optain with nexusjs and you could work for a year full time on this? what do you think?
@heyheni My income is entirely from online work, so it's not within the typical Egyptian range. (which is something I'm thankful for)
The biggest issue is that I'm not feeling particularly safe living here, and what was eating most of my free time was either online work or online job interviews. I really want to move out of Egypt as soon as possible.
Luckily, I'm hopefully moving to Germany soon. I was just offered a development position in a good company there.
I like your top-bar idea though. I'll look into it while adding HTTPS to the site, which is something I completely forgot about for almost a year.
Thanks for the idea!
KasperNS5995dThis is really interesting, and I really don't understand how anyone can be against the concept of getting better performance!
Really hoping you stick to this (well it already seems you are pretty comitted :D). Also really interested in what benchmarks @balte is going to come up with
Your Job Suck?
Take a quick quiz from Triplebyte to skip the job search hassles and jump to final interviews at hot tech firms
Get a Better Job