Monocypher VS kitty

Compare Monocypher vs kitty and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Monocypher kitty
51 289
572 21,995
- -
7.0 9.9
about 2 months ago about 1 hour ago
C Python
GNU General Public License v3.0 or later GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

Monocypher

Posts with mentions or reviews of Monocypher. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-20.
  • In Defense of Simple Architectures
    4 projects | news.ycombinator.com | 20 Feb 2024
    I rarely got to know the actual deployment scale of anything I've done. Let's make a list:

    Ground software for an observation satellite. My internship was about implementing a dead simple neural "network" (2 hidden layers, no feedback), everything was specified from up top, we didn't even get to touch the learning algorithms. Impact? I guess a big flat zero, since all the differentiators was in the learning parameters.

    Peer-to-peer social network before Facebook. Never made a cent.

    Geographic Information System for the military. I was for obvious reasons not allowed to know enough to estimate the impact of my work. And even then all decisions was made by the customer, and once the user (a different entity) saw the Rube Goldberg contraption we dully made for them they predictably balked, and we did what we could from there. Which was, not that much. I did some useful stuff for sure, but mostly I participated in a system that was arguably worse than the one that preceded it.

    A visualiser for civil radar data. Data in, little planes in the screen out. And other nice stuff. I designed a simple C++ API that allowed the client to write business code faster than we would have ourselves (if only because of communication overhead), saving weeks of work. That contribution was utterly ignored for personal reasons, and I was eventually out. I have no idea what my actual impact was, because I don't know how far the project even went, and how widely it was eventually deployed.

    The maintenance of ground software for small civil observation drones. I did some cool stuff, but then was asked to transfer ownership of this software to a recently bought team (that did stuff similar to the company I worked for). I could have known how many drones were actually deployed, but to be honest my thing just saved a few minutes of flight, while most of the cost is to get the drone and its operator on site. That company was never really profitable, I hope the good people I met there are doing well.

    Scripting language for a programmable logic controller test environment. For the military, so I don't think I was allowed to even know the size of the team we'd deliver the software to. I got good feedback from them (they were happy about what I did), and I'm pretty sure my static typing made things easier for them than if I had just picked Lua or something, but how easier, and how much money it will save in the long run I have no freaking clue.

    Stuff in a missile company I cannot disclose. I believe my impact was almost nil, I couldn't stand their abysmal tech environment.

    Prototype ADAS system. It was never deployed. Actual impact was therefore basically nil. Cool stuff to work on though, the CAN bus is a think of beauty. One of the rare instances where I could actually learn from example, instead of seeing yet again one of the gazillion obvious ways how not to do stuff.

    Ground software for some IoT device. Impact fundamentally uncertain, we had yet to sell it to anyone.

    Incident reporting software, based upon a more generic distributed base. I made the encryption layer (between users & company server), with a security based on PAKE (thus avoiding a PKI, which simplified the work of the sysadmin, at a slight loss of security). Impact fundamentally uncertain, we had yet to sell it to anyone.

    Charging stations for electric vehicles. I did the TPM provisioning, and mentioned a low-key security issue along the way. I participated in a questionable micro-service that was meant to help user interfaces (yeah, their IoT stuff had a micro-service architecture). Impact: whatever I did didn't save them: one year after I left, they're now going under.

    Preliminary study on the possible use of AMD-SEV to prevent users from peeking at our secret sauce (DRM). I don't think I was allowed to know the list of clients, and it's not even the only alternative. I don't think I could ever have assessed the long term impact of my work there.

    Flight recorder for trains (not a flight recorder then, but you get the idea). I just did little tasks here and there, didn't get the chance to have a good bird's eye view of the thing or its environment. Deployment base was knowable, but the business impact of my work was likely minimal, beyond "finish this step so we can show the client we're on track for the next short term milestone". The whole thing is a heap of technical debt, common components are impossible to update (user projects aren't locked to a given revision, they all pull from trunk), the build system is a home made monstrosity that doesn't help more than the standard monstrosities (I hate build systems)… and I was just axed from a round of layoffs.

    Cryptographic library I did on my free time: https://monocypher.org/ Nice little thing with a significant user base in the embedded ecosystem (not even my primary target). I controlled everything from start to finish, and I have no idea how many users I have, let alone how much time and money I saved them. In part because it is so simple, with such an outstanding documentation (which I mostly didn't write), that most users don't even have to bug me.

    ---

    To sum this up, my resume looks fairly horrible with respect to what I know of my actual business impact. Most of it, I think, was entirely outside my control. And I don't think I'm exceptional in this.

  • Non-code contributions are the secret to open source success
    10 projects | news.ycombinator.com | 13 Feb 2024
    As the dictator author/maintainer of a tiny library¹ (45 functions total), I can confirm the manual wouldn't be half as good without external contributions. And I daresay this manual is a major contributor to the usability of the whole project.

    As a new user of libcurl, I was recently able to quickly implement FTP upload and adapt it to our specific use case thanks to their tutorials and API documentation. I was even made aware of the lack of thread safety in old versions thanks to that same documentation, so I could warn my team that we should update.

    Documentation is bloody important. Almost as important as the code and the test suite themselves.

    [1]: https://monocypher.org

  • Learn Modern C++
    6 projects | news.ycombinator.com | 26 Dec 2023
    Are you assuming I didn't already do that? For your information I've written an entire cryptographic library in C https://monocypher.org and routinely chose C over C++. My claim that C is broken beyond repair doesn't come from ignorance or hype, it comes from over 15 years of first hand experience.

    And of course, GC and RC aren't fixes, they can't apply in the performance constrained settings C and C++ typically are used for (tiny embedded chips, video games, video encoding…).

    Also there's no way I'll even look at a new language without some form of generics. They're just too damn useful. Sure we could try the Go approach and special case generics for a few core data structures, but I believe a general purpose language needs a way to add custom ones. Heck, even Go fixed its mistakes and added generics after all.

  • Libsodium: A modern, portable, easy to use crypto library
    9 projects | news.ycombinator.com | 14 Sep 2023
  • Six times faster than C
    2 projects | /r/programming | 7 Jul 2023
    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.
  • I've implemented some encryption/decryption in C, how is it?
    1 project | /r/C_Programming | 4 Jul 2023
    Every time I'm faced with OpenSSL, I think, "This is even more of a dumpster fire than I remember." My expectations are low, and it never fails to come in even lower than that. It's ugly and difficult to use. A good crypto API won't require all this resource management because it can all be done with small, fixed-sized buffers. In the future consider Monocypher or libsodium.
  • How much secure is my UDP based network protocol?
    3 projects | /r/crypto | 5 May 2023
    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
    2 projects | /r/programming | 12 Apr 2023
    I'm not yelling at you for your choice. See here for how hypocritical it would be of me.
  • Is there any introduction/tutorial to Elligator and other random-looking ECC encodings?
    1 project | /r/atom_protocol | 23 Mar 2023
    This website does a pretty good job of going over what the creator of Monocypher found to implement Elligator. There’s also this Python code which has comments detailing the steps.
  • Uncle Bob and Casey Muratori Discuss Clean Code
    6 projects | /r/programming | 9 Mar 2023
    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.

kitty

Posts with mentions or reviews of kitty. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-08.
  • Just How Much Faster Are the Gnome 46 Terminals?
    8 projects | news.ycombinator.com | 8 Apr 2024
    And kitty is much faster according to this: https://github.com/kovidgoyal/kitty/issues/2701#issuecomment...

    Also typometer based measurements also on Linux. Shrug.

  • Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1)
    12 projects | dev.to | 16 Mar 2024
    kitty (Linux & Macos)
  • Warp, the modern terminal, is now available for Linux
    1 project | news.ycombinator.com | 22 Feb 2024
    A terminal with built-in telemetry and a pricing model... Just what I never wanted!

    To avoid being too negative, I'll offer the option of Kitty[1]. My current favorite terminal. Supports many features.

    Including my personal favorites:

    * ctrl+c (as opposed to stupid things like ctrl+shift+c) to copy data only when you have content selected. Otherwise, ctrl+c sends a sigint like normal.

    * font ligature support (a controversial feature)

    [1] https://sw.kovidgoyal.net/kitty/

  • Non-code contributions are the secret to open source success
    10 projects | news.ycombinator.com | 13 Feb 2024
    The ncurses/xterm maintainer also had quite a lot of friction with the developer of the kitty terminal emulator.

    https://github.com/kovidgoyal/kitty/issues/879

  • I Just Wanted Emacs to Look Nice – Using 24-Bit Color in Terminals
    7 projects | news.ycombinator.com | 30 Jan 2024
    IME, this is like the golden age of terminal apps in general and macOS-compatible ones in particular. There are several really good terminals for macOS:

    [iTerm2 app](https://iterm2.com/)

    [Kitty terminal](https://sw.kovidgoyal.net/kitty/)

    [WezTerm terminal](https://wezfurlong.org/wezterm/index.html)

    [Alacritty](https://github.com/alacritty/alacritty)

    My daily driver is WezTerm…

    - Runs on Linux, macOS, Windows 10 and FreeBSD

    - [Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback](https://wezfurlong.org/wezterm/multiplexing.html)

    - [Ligatures](https://github.com/tonsky/FiraCode#fira-code-monospaced-font...), Color Emoji and font fallback, with true color and [dynamic color schemes](https://wezfurlong.org/wezterm/config/appearance.html#colors).

    - [Hyperlinks](https://wezfurlong.org/wezterm/hyperlinks.html)

    - [Searchable Scrollback](https://wezfurlong.org/wezterm/scrollback.html) (use mouse wheel and `Shift-PageUp` and `Shift PageDown` to navigate, Ctrl-Shift-F to activate search mode)

    - xterm style selection of text with mouse; paste selection via `Shift-Insert` (bracketed paste is supported!)

    - SGR style mouse reporting (works in vim and tmux)

    - Render underline, double-underline, italic, bold, strikethrough (most other terminal emulators do not support as many render attributes)

    - Configuration via a [configuration file](https://wezfurlong.org/wezterm/config/files.html) with hot reloading

    - Multiple Windows (Hotkey: `Super-N`)

    - Splits/Panes (Split horizontally/vertically: `Ctrl-Shift-Alt-%` and `Ctrl-Shift-Alt-"`, move between panes: `Ctrl-Shift-ArrowKey`)

    - Tabs (Hotkey: `Super-T`, next/prev: `Super-Shift-[` and `Super-Shift-]`, go-to: `Super-[1-9]`)

    - [SSH client with native tabs](https://wezfurlong.org/wezterm/ssh.html)

    - [Connect to serial ports for embedded/Arduino work](https://wezfurlong.org/wezterm/serial.html)

    - Connect to a local multiplexer server over unix domain sockets

    - Connect to a remote multiplexer using SSH or TLS over TCP/IP

    - iTerm2 compatible image protocol support, and built-in [imgcat command](https://wezfurlong.org/wezterm/imgcat.html)

    - Kitty graphics support

    - Sixel graphics support (experimental: starting in `20200620-160318-e00b076c`)

  • Kitty shortcuts work only with Latin characters - How to fix?
    2 projects | dev.to | 28 Jan 2024
    While researching how to fix the issue I found this GitHub issue with the fun number 606 (almost 666). First, I should say, that there is no easy solution. Shortly you have to specify for each shortcut mapping alternative with your keyboard layout. That means, for example, if your keyboard has Cyrillic "м" instead of Latin "v" then for making work CMD+V you should add also into configuration an additional line with "м".
  • Citadel, a Calibre-compatible eBook management app
    6 projects | news.ycombinator.com | 13 Jan 2024
  • Waveterm
    4 projects | news.ycombinator.com | 10 Dec 2023
    I haven’t tried this yet (so please take my commentary with a grain of salt), but my initial thoughts are: (1) it looks interesting, (2) it looks overwhelming (there’s a lot going on in those screenshots), and (3) it’s likely slow (I might be completely wrong).

    To elaborate a bit…

    1. I love good design work and well-designed (UI-wise) software, and it certainly looks like the creators of Wave Terminal have made that a priority.

    2. UX-wise, there’s just too much going on. As someone who lives in my terminal (with the exception of browsing the web, I do virtually everything in my terminal), it’s the single most important piece of software on my computer and it can never get in my way. I used the same terminal for many years and only switched to kitty [0] a couple years ago after testing it for months. In all of those years, every single terminal I tested managed to get in my way. Somehow, kitty manages to be packed full of features without ever—not even once—getting in my way, being slow, or freezing up on me.

    3. Generally speaking, I think building on open web standards is a great thing and a plus. Unfortunately though, even in 2023, my experience has been that it’s really hard to build performant software meant to be run on native platforms using web technologies; the few who get this right—e.g., Figma—are anomalies and they generally invest an enormous amount of time and engineering capital into squeezing out as much performance as possible. As I explained in #2, for something as critical as my terminal, not being performant is simply not an option, so as much as I love the idea of building on open web standards, it actually scares me for software like this.

    That said, I’m obviously judging before trying here, so I’ll make some time to test Wave Terminal.

    [0]: https://sw.kovidgoyal.net/kitty

  • Add padding to command?
    2 projects | /r/neovim | 9 Dec 2023
    to solve this I run Kitty with a tab bar on the bottom. this has tons of inspo: https://github.com/kovidgoyal/kitty/discussions/4447
  • Terminal Graphics Protocol
    4 projects | news.ycombinator.com | 7 Dec 2023
    Those existing tools are poorly designed, if you read the article it has a link to the discussion about its design choices, which contains in turn discussion about all the problems with sixel https://github.com/kovidgoyal/kitty/issues/33#issuecomment-2...

What are some alternatives?

When comparing Monocypher and kitty you can also consider the following projects:

libhydrogen - A lightweight, secure, easy-to-use crypto library suitable for constrained environments.

alacritty - A cross-platform, OpenGL terminal emulator.

ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

wezterm - A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

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

tmux - tmux source code

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]

Warp - Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.

libnest2d - 2D irregular bin packaging and nesting library written in modern C++

iTerm2 - iTerm2 is a terminal emulator for Mac OS X that does amazing things.

github - Just a place to track issues and feature requests that I have for github

Tabby - A terminal for a more modern age