mojo
quickserv
Our great sponsors
mojo | quickserv | |
---|---|---|
20 | 7 | |
21,199 | 317 | |
19.1% | - | |
9.9 | 0.0 | |
4 days ago | over 1 year ago | |
Mojo | Go | |
GNU General Public License v3.0 or later | MIT License |
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.
https://docs.modular.com/mojo/
-
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
quickserv
-
The beauty of CGI and simple design
> Zero external configuration, other than telling your webserver to enable CGI on your file
This is only true if you've done it before, and know what you're doing. In reality, it looks like a mess of `mod_cgi` configuration, trying different combinations of file permissions, finding the magic `cgi_bin` directory, finding the right obscure log files when there are inevitably errors, wrestling with CORS and other subtleties of HTTP headers, and other complexities that are only easy to navigate if you're already an experienced CGI user.
That being said, I love the philosophy of using CGI for scripts. Instead of using CGI itself, though, I wrote a (single-file, statically-linked) web server called "QuickServ" to bring this philosophy into the twenty-first century. It has all of the upside of CGI, but is much easier to set up and run, especially for beginners.
One of its benefits is that it automatically parses submitted HTTP forms, and converts the form fields to command line arguments. That means it's extremely easy to put existing CLIs on the web with minimal changes other than writing an HTML form front-end.
If you like CGI, I will (shamelessly) ask that you check it out!
https://github.com/jstrieb/quickserv
https://news.ycombinator.com/item?id=29002694
-
Websocketd – It's like CGI, twenty years later, for WebSockets
This is awesome! This occupies a similar niche to—and might pair well with—my user friendly, single-binary webserver with CGI-like capabilities called QuickServ. When I released that here, one of the comments was that it would be nice to have WebSocket support. Now, I can just point people to this!
https://github.com/jstrieb/quickserv
- jstrieb/quickserv: Dangerously user-friendly web server for quick prototyping and hackathons
- Introducing QuickServ • Dangerously user-friendly web server for quick prototyping and hackathons
- QuickServ • Dangerously user-friendly web server for quick prototyping and hackathons
- QuickServ – User-friendly web server (only for Local networks!)
- Show HN: QuickServ • Dangerously user-friendly web server
What are some alternatives?
Flask - The Python micro framework for building web applications.
websocketd - Turn any program that uses STDIN/STDOUT into a WebSocket server. Like inetd, but for WebSockets.
node - Node.js JavaScript runtime ✨🐢🚀✨
Trusted-CGI - Lightweight runner for lambda functions/apps in CGI like mode
go - The Go programming language
vehiclelogserver - Vehicle logging server for Second Life vehicles
CPython - The Python programming language
preemptible-thread - How to preempt threads in user space
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.
php - Prolog Home Page
mdbootstrap - React 18 & Bootstrap 5 & Material Design 2.0 UI KIT
quickserv-examples - Example applications to run with QuickServ