BCHS: OpenBSD, C, httpd and SQLite web stack

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • kcgi

    minimal CGI and FastCGI library for C/C++

  • The C library used (https://github.com/kristapsdz/kcgi) is portable and working on linux as well. Putting this behind nginx as fastcgi seems very well doable.

  • SDS

    Simple Dynamic Strings library for C

  • 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.

    InfluxDB logo
  • libds

    A collection of data structures for C

  • > Is there a good string-manipulation C library?

    You will have to define "good". My string library[1][2] is "good" for me because:

    1. It's compatible with all the usual string functions (doesn't define a new type `string_t` or similar, uses existing `char `).

    2. It does what I want: a) Works on multiple strings so repeated operations are easy, and b) Allocates as necessary so that the caller only has to free, and not calculate how much memory is needed beforehand.

    The combination of the above means that many common* string operations that I want to do in my programs are both easy to do and easy to visually inspect for correctness in the caller.

    Others will say that this is not good, because it still uses and exposes `char *`.

    [1] https://github.com/lelanthran/libds/blob/master/src/ds_str.h

    [2] Currently the only bug I know of is the quadratic runtime in many of the functions. I intend to fix this at some point.

  • Git

    Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.

  • The strbuf library that's part of git.git is a pleasure to work with. It's C-string compatible (just a char /size_t pair), guarantees that the "char " member is always NULL-delimited, but can also be used for binary data. It also guarantees that the "buf" member is never NULL: https://github.com/git/git/blob/v2.34.0/strbuf.h#L6-L70

  • awesome-c

    A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-... projects out there.

  • Can't vouch for any in particular, but they do exist. https://github.com/oz123/awesome-c#string-manipulation

  • Kore

    An easy to use, scalable and secure web application framework for writing web APIs in C or Python. || This is a read-only mirror, please see https://kore.io/mail and https://kore.io/source for information on how to contribute via the mailing lists.

  • Another stack for writing C (or now python) is https://kore.io which offers quite a few helper features, and its easy to get started

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts