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
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • 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

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • 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