mojo
Nginx
Our great sponsors
mojo | Nginx | |
---|---|---|
20 | 97 | |
20,936 | 20,165 | |
18.1% | 1.2% | |
9.1 | 8.9 | |
2 days ago | 4 days ago | |
Mojo | C | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mojo
- The Mojo Programming Language
- Mojo language goes open source
-
The Mojo programming language has changed its version numbering. Release v24.1.1
https://github.com/modularml/mojo/blob/main/LICENSE Is this not it?
-
Dada, an Experiement by the Creators of Rust
Interesting, but the intent seems similar to Chris Lattner's new Mojo language which arguably has similar characteristics and is further along in its development.
-
Mojo - A New Programming Language for AI
Mojo is a programming language that combines the performance and control inherent in systems languages like C++ and Rust with the flexibility and simplicity of use typical of dynamic languages like Python. Because of its combination of performance, extensibility, and usability, its design makes it possible to construct high-performance systems, which makes it a good option for AI development.
-
Mojo is now available on Mac
If you take a look at the optimized Mojo code doing the matrix multiply [1], it takes an expert to understand. It’s not just some simple for-loops in Mojo they’re comparing against.
[1] https://github.com/modularml/mojo/blob/5ce18c47a27c0c4123de1...
-
Programming Languages Every Developer Should Watch Out For
Mojo truly unlocks a world of possibilities in high-performance computing.
-
A Gentle Introduction to Liquid Types
For a concrete example of Liquid Haskell, see how Gabriella Gonzalez safely removed bound checks of high-performance protocol parsing, in "Scrap your Bounds Checks with Liquid Haskell" [1].
With Liquid Haskell, the bound checks are moved from runtime to compile time, semi-automatically handled by SMT-solvers. With static types, programmers can write correct programs faster, and the programs also run faster.
As an aside, speeding up programs with static analysis (constrained dynamism) are also present in Mojo (a variant of Python) or Swift [2].
[1]: https://github.com/Gabriella439/slides/blob/main/liquidhaske... "Scrap your Bounds Checks with Liquid Haskell"
[2]: https://github.com/modularml/mojo/discussions/466 "Mojo and Dynamism"
- Mojo and Dynamism
Nginx
-
How to securely reverse-proxy ASP.NET Core web apps
However, it's very unlikely that .NET developers will directly expose their Kestrel-based web apps to the internet. Typically, we use other popular web servers like Nginx, Traefik, and Caddy to act as a reverse-proxy in front of Kestrel for various reasons:
- Ask HN: Is nginx.org (the domain-name itself) gone?
-
Freenginx: Core Nginx Developer Announces Fork of Popular Web Server
> I actually don't understand why I am seeing arguments like this all the time.
Have a look at:
https://github.com/nginx/nginx/blob/master/src/http/modules/...
It's got the whole checklist: nginx idiosyncratic module system, inline parsing, custom utf conversion, buffer preallocation and adjustments, linked lists, comments about side effects of custom allocator, and probably other things.
It's not easy to deal with source like that and any serious improvement to that area would effectively be a rewrite anyway.
Since anything doing work in nginx is a module anyway, it wouldn't even have to be a full rewrite in one go.
-
The Internet is Maintained by 1 Software Developer
According to this article, nGinx is being used to serve 34% of all websites in the world. I checked out who's contributing to nGinx, and just like I thought, the project has 8,208 commits, and 5,366 of those commits was made by 2 software developers; igorsoev and mdounin.
- [06/52] Accessible Kubernetes with Terraform and DigitalOcean
- Freenginx.org
-
Performance benchmark of PHP runtimes
Nginx + Roadrunner (fcgi mode)
-
Web CGI programs aren't particularly slow these days
Apache’s mod_fastcgi’s last commit was 2 weeks ago:
https://svn.apache.org/viewvc/httpd/httpd/trunk/
It’s a fork of what you linked (and was more popular afaik back when fastcgi was state of the art, and apache was the undisputed champion of web servers).
These days, nginx has more market share than apache, and its fastcgi module is one of the more recently updated ones in its source tree (5 months vs multiple years):
https://github.com/nginx/nginx/tree/master/src/http/modules
If I was going to build an embedded web server, I’d start with nostd rust, probably with though axum + tokio, since thats already memory safe-ish.
If I needed fastcgi for some reason (dynamically loadable endpoints, or os-level isolation), there are at least four implementations of fastcgi for it. No idea if any are decent though.
-
Five Apache projects you probably didn't know about
APISIX is an API Gateway. It builds upon OpenResty, a Lua layer built on top of the famous nginx reverse-proxy. APISIX adds abstractions to the mix, e.g., Route, Service, Upstream, and offers a plugin-based architecture.
-
Nginx is Probably Fine
I suppose you could read the code. https://github.com/nginx/nginx
What are some alternatives?
Flask - The Python micro framework for building web applications.
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
node - Node.js JavaScript runtime ✨🐢🚀✨
envoy - Cloud-native high-performance edge/middle/service proxy
go - The Go programming language
Squid - Squid Web Proxy Cache
CPython - The Python programming language
nestjs-monorepo-microservices-proxy - Example of how to implement a Nestjs monorepo with no shared folder
Laravel - Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation for your next big idea — freeing you to create without sweating the small things.
Hiawatha - Hiawatha is an open source webserver with security, easy to use and lightweight as the three key features. Hiawatha supports among others (Fast)CGI, IPv6, URL rewriting and reverse proxy. It has security features no other webserver has, like blocking SQL injections, XSS and CSRF attacks and exploit attempts. The built-in monitoring tool makes it perfect for large scale deployments.
mdbootstrap - React 18 & Bootstrap 5 & Material Design 2.0 UI KIT
YARP - A toolkit for developing high-performance HTTP reverse proxy applications.