tigerbeetle
FFmpeg
Our great sponsors
tigerbeetle | FFmpeg | |
---|---|---|
45 | 486 | |
7,059 | 42,374 | |
47.0% | 2.8% | |
9.9 | 10.0 | |
3 days ago | 4 days ago | |
Zig | 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.
tigerbeetle
-
Redis Re-Implemented with SQLite
I'm waiting for someone to implement the Redis API by swapping out the state machine in TigerBeetle (which was built modularly such that the state machine can be swapped out).
https://tigerbeetle.com/
-
The Fastest and Safest Database [video]
I fully agree with what Prime says at the end - Joran has really set a new bar here for all future database presentations.
Hearing that the entire TigerBeetle domain logic lives in a single file [0] (and is intended to be pluggable for other OLTP use cases!) makes it 1000% more tempting to spend the weekend getting up to speed with Zig.
[0] https://github.com/tigerbeetle/tigerbeetle/blob/main/src/sta...
-
Building a Scalable Accounting Ledger
Why would you want to build your own accounting ledger from scratch? Accounting is a completely new domain for most engineers, and TigerBeetle (https://tigerbeetle.com/) already solves this problem.
- Tiger Style
- Tigerbeetle's Storage Fault Model
- Factor is faster than Zig
-
The Raft Consensus Algorithm
Maelstrom [1], a workbench for learning distributed systems from the creator of Jepsen, includes a simple (model-checked) implementation of Raft and an excellent tutorial on implementing it.
Raft is a simple algorithm, but as others have noted, the original paper includes many correctness details often brushed over in toy implementations. Furthermore, the fallibility of real-world hardware (handling memory/disk corruption and grey failures), the requirements of real-world systems with tight latency SLAs, and a need for things like flexible quorum/dynamic cluster membership make implementing it for production a long and daunting task. The commit history of etcd and hashicorp/raft, likely the two most battle-tested open source implementations of raft that still surface correctness bugs on the regular tell you all you need to know.
The tigerbeetle team talks in detail about the real-world aspects of distributed systems on imperfect hardware/non-abstracted system models, and why they chose viewstamp replication, which predates Paxos but looks more like Raft.
[1]: https://github.com/jepsen-io/maelstrom/
[2]: https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/DE...
- Fastest Branchless Binary Search
-
CWE Top Most Dangerous Software Weaknesses
> There is no reason to use a memory unsafe language anymore, except legacy codebases, and that is also slowly but surely diminishing. I'm still yet to hear this amazingly compelling reason that you just need memory unsafe languages. In terms of cost/benefits analysis, memory unsafety is literally all costs.
Tell that to the authors of new memory unsafe languages (like Zig) and creators of new project in those languages (like https://tigerbeetle.com) :(
- Problems of C, and how Zig addresses them
FFmpeg
-
Creando Subtítulos Automáticos para Vídeos con Python, Faster-Whisper, FFmpeg, Streamlit, Pillow
FFmpeg (https://ffmpeg.org/)
-
Show HN: CompressX, my FFmpeg wrapper for macOS, made $9k in the last 4 months
GPL2
Since FFmpeg is GPL2, doesn’t that require CompressX to disclose its source code?
IANAL, apologies if I miss understand license requirements.
https://github.com/FFmpeg/FFmpeg?tab=License-1-ov-file
- Microsoft offered FFmpeg one-time payment instead of support contract
-
Writing x86 SIMD using x86inc.asm (2017)
This turns out to be a lot of assembly macros to help write one x86 assembly. https://github.com/FFmpeg/FFmpeg/blob/master/libavutil/x86/x...
The sibling comment recommending compiler intrinsics is probably the best way to go for writing SIMD code. A mixture of `` style types and intrinsics to specify instructions is a solid 90% solution compared to assembly.
If you want that last 10%, I think macros are putting the emphasis in the wrong place. They're a somewhat easy way to build up a language abstraction which will work if held carefully, but I'm confident the dev experience using this abstraction when you write invalid code will be deeply confusing.
I would suggest to write a parser instead of the macros. That'll tell you clearly when the syntax is invalid (though possibly not with much precision) and it'll give you a place to put semantic analysis for where valid syntax encodes nonsense. Do the equivalent of the macro expansions on the parsed tree instead of on the text. Emit asm as the "back end".
-
Video Generation with Python
You might have heard of FFMPEG or ImageMagick for image and video edition in a programmatic way. MoviePy is a Python module for video editing (Python wrapper for FFMPEG and ImageMagick). It provides functions for cutting, concatenations, title insertions, video compositing, video processing, and the creation of custom effects. It can read and write common video and audio formats and be run on any platform with Python 2.7 or 3+.
- I want some logically difficult c programs
- Looking for a good file converter for upload testing
- Best Way to Rip Rare DVDs?
-
11 Ways to Optimize Your Website
There are many cloud-based tools and websites that can convert your images, but the problem with these tools is that you usually have to upload the files for them to be processed, and some of their services are not free. In this article, I'd like to introduce a piece of software called FFmpeg, which allows you convert the images locally with one simple command.
-
AI-assisted removal of filler words from video recordings
To run the demo locally, be sure to have Python 3.11 and FFmpeg installed.
What are some alternatives?
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
mpv - 🎥 Command line video player
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
ffmpeg-python - Python bindings for FFmpeg - with complex filtering support
bun - Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
OpenH264 - Open Source H.264 Codec
reshade - A generic post-processing injector for games and video software.
Exoplayer - An extensible media player for Android
rafiki - An open-source, comprehensive Interledger service for wallet providers, enabling them to provide Interledger functionality to their users.
hlsdl - C program to download VoD HLS (.m3u8) files
Box2D - Box2D is a 2D physics engine for games
GStreamer - GStreamer open-source multimedia framework