COBOL.now
Monocypher
Our great sponsors
COBOL.now | Monocypher | |
---|---|---|
1 | 48 | |
15 | 532 | |
- | - | |
0.0 | 8.8 | |
over 3 years ago | 21 days ago | |
COBOL | C | |
Apache License 2.0 | 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.
COBOL.now
-
Linus Torvalds rails against 80-character-lines as a de facto programming standard
Oof, I remember being in school and they taught us COBOL for 3 semesters (this was late 1990s...) I had to go look what Github has that's COBOL and this is what I found.
Monocypher
-
Libsodium: A modern, portable, easy to use crypto library
Then don’t forget https://monocypher.org as well. Bigger than libhydrogen but still small enough for many targets, faster across the board, and compatible with libsodium. If you can spare a couple more KB of flash in your microcontroller, you can get very good performance on the device and scale like crazy with top performance on the server side.
-
Six times faster than C
Compilers don’t find all the optimisations. Last time I saw this was when someone noticed that my code was 5% slower than the reference implementation. This patch fixed it.
-
How much secure is my UDP based network protocol?
If encryption performance is not that important (especially on the client side, which I expect won't use too much bandwidth), but you value minimising dependencies, consider using Monocypher instead of libsodium. Monocypher is a single-file library that has absolutely zero dependency (not even libc). The price to pay for that is (i) right now it's slower than libsodium, and (ii) it doesn't provide an RNG, you'll have to call your OS's RNG manually.
-
The Free Software Foundation is dying
I'm not yelling at you for your choice. See here for how hypocritical it would be of me.
We kind of are though. And in some circles this pendulum has even swung too far the other way, with people scolding me for writing and distributing a cryptographic library. Because it's dangerous, and users expect security, and I'm breaking a social contract if I release crap, no matter what's written in the licence (the no liability legalese bit).
-
Uncle Bob and Casey Muratori Discuss Clean Code
I believe my coding style is best shown by example. Some people have called it impressive. Some others have called it the worst they've ever seen. This may or may not come from the domain: cryptographic code tends to be pathologically straightline. At the very least it tend to produce longer functions than other domains.
-
Build vs Buy: age old dilemma
Hey, maybe I can actually write my own crypto library?
Ouch. I would never do that without first thoroughly studying SQLite. I would need one hell of an iron-clad rationale to even contemplate writing my own DB code, and that's coming from someone who implemented his own crypto.
-
Undefined behavior, and the Sledgehammer Principle
And before you accuse me of being part of the propaganda: I have never written a single line of Rust, and I'm actively working on a C cryptographic library of all things. That library is responsible for teaching me how insane UB is in C by the way. There is no way I ever willingly develop anything C or C++ ever again without getting it through all the sanitisers I can think of. (Fuzzing and property based tests, of course, are a given.) And by the way I highly recomend the TIS interpreter (or TIS-ci, which kindly gave me an account.)
What are some alternatives?
libhydrogen - A lightweight, secure, easy-to-use crypto library suitable for constrained environments.
ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
vscode-gitlens - Supercharge Git inside VS Code and unlock untapped knowledge within each repository — Visualize code authorship at a glance via Git blame annotations and CodeLens, seamlessly navigate and explore Git repositories, gain valuable insights via rich visualizations and powerful comparison commands, and so much more
libnest2d - 2D irregular bin packaging and nesting library written in modern C++
feedback - Public feedback discussions for: GitHub for Mobile, GitHub Discussions, GitHub Codespaces, GitHub Sponsors, GitHub Issues and more! [Moved to: https://github.com/github-community/community]
github - Just a place to track issues and feature requests that I have for github
unmaintainable-code - A more maintainable, easier to share version of the infamous http://mindprod.com/jgloss/unmain.html
COBOL-Guide - COBOL Guide
mlatu - A declarative concatenative programming language
Halide - a language for fast, portable data-parallel computation