advent
ctl
Our great sponsors
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.
advent
-
Designing a programming language to speedrun Advent of Code
A more interesting example: https://www.youtube.com/watch?v=i_zDbInYOpQ
AoC solutions here: https://github.com/lukechampine/advent/tree/master/2022
(The language has builtin commands for fetching inputs and submitting solutions)
-
Ask HN: What Are You Working On?
FWIW I finished AoC 2020 in Go -- but I had 5 years' worth of helper functions to prop me up: https://github.com/lukechampine/advent
ctl
-
A header-only C implementation of C++ <algorithm>
Well, I do like mine better, which is closer to the STL, and for all containers. https://github.com/rurban/ctl/
-
A simple hash table in C
search for htable or hashtable in thousands of open source projects. only a minority has worse hashtables than this one (clisp, perl5 e.g.).
For better ones I would point to my linked list implementation: https://github.com/rurban/ctl/blob/master/ctl/unordered_set.... (because it has various security policies, nobody else has)
-
Popular Data Structure Libraries in C ?
C Container Template Library, Rurban Variant (CTL) - The page for unordered_map reads "Implementation in work still".
-
C Template Library
There is also the rurban variant variant of CTL which is more complete.
-
Better C Generics: The Extendible _Generic
The prototype of CC used this mechanism to provide a generic API for types instantiated via templates (so basically like other container libraries, but with an extendible-_Generic-based API laid over the top of the generated types). This approach has some significant advantages over the approach CC now uses, but I got a bit obsessed with eliminating the need to manually instantiate templates.
- C_dictionary: A simple dynamically typed and sized hashmap in C - feedback welcome
-
How different is C++ from C? Contrasting simple Unix SORT programs
But the most common that I know of is this one: https://github.com/tylov/STC. There's also this one mentioned above https://rurban.github.io/ctl/
- C++ containers but in C
- STL in C
-
On HASH-TABLEs performance
I'm also working on a proper one, but got sidetracked. https://github.com/rurban/ctl/blob/hmap/ctl/swisstable.h
What are some alternatives?
raku-Physics-Measure - do calculations on objects with value, units and error
rnnoise - Recurrent neural network for audio noise reduction
gifski - GIF encoder based on libimagequant (pngquant). Squeezes maximum possible quality from the awful GIF format.
Klib - A standalone and lightweight C library
advent-of-code - My Advent of Code submissions. For 2021 and before, these are the original code I used, without any modifications after-the-fact. As such, they are probably not as efficient or short as they should be, because I want a working solution faster, not a better solution. For 2022 and after, these are the solutions uploaded to my YouTube channel.
STC - A modern, user friendly, generic, type-safe and fast C99 container library: String, Vector, Sorted and Unordered Map and Set, Deque, Forward List, Smart Pointers, Bitset and Random numbers.
roost - Proof of Concept for Eventsourced backend
LIPS - Scheme based powerful lisp interpreter in JavaScript
covid_status
nix-home-manager - Nix to manage my computing life
libc - Raw bindings to platform APIs for Rust
ctl - The C Template Library