( kmx.io )

Programming in C

The best resources I have currently about C and UNIX are the OpenBSD mailing lists. They really know how to write secure and portable C code.

1 Reference books

The C Programming Language, Brian Kernighan, Dennis Ritchie . Full text : PDF .

2 Projects

2.1 Real time buffers

rtbuf is an evented main loop for realtime signal processing. It allows dynamically loading functions and ordering them in a main loop according to computational dependencies. Included is a transactional language to rewire the functional graph in real time. For now the language is vector-based but a Lisp like syntax front-end is considered.

2.2 Libdata

Introducing dynamic typing and real time memory allocators in pure ANSI C.

Libdata provides an API to statically and dynamically define new data types according to the programmer needs. The API also allows for definition of real time memory allocators for arbitrary (static and dynamic) data types.

2.3 Liblogtext

Pure ANSI C library for logging to text files in a secure fashion on UNIX systems.

Liblogtext provides for reading and writing efficiently size-chunked append-only line-indexed text files splitted evenly into multiple directories.

2.4 CLI

Pure ANSI C library for designing a command line interface and embedding a REPL in your UNIX program.

libcli depends on readline and libhistory to provide TTY interface and command line history for a running session. It also can load scripts from text files, along with interactive REPL interface.

User prompt and supported commands can be defined statically, or even dynamically giving way to metaprogramming possibilities, which could be dangerous if not used wisely.

2.5 C-Facts

A rewrite of Facts in pure ANSI C. Facts is a small in-memory database to bring infinitely refinable and extensible world representations to your program. It's goal is the efficient triple indexing of interned strings for query and update. Facts aligns C to the semantic web which does the same only with URLs.

© 2018 kmx.io