- Follow Programming with Jim on WordPress.com
Categories
Pages
Archives
- October 2023
- June 2023
- February 2023
- September 2022
- August 2022
- July 2022
- May 2022
- April 2022
- March 2022
- February 2022
- December 2021
- November 2021
- October 2021
- August 2021
- July 2021
- March 2021
- February 2021
- January 2021
- December 2020
- November 2020
- September 2020
- May 2020
- September 2018
- August 2018
- March 2018
- November 2017
- August 2017
- July 2017
- June 2017
- February 2017
- December 2016
- November 2016
- October 2016
- September 2016
- July 2016
Author Archives: jimbelton
Goodbye Windows 11, Hello Ubuntu 22.04
I finally gave up on Windows 11, and installed Ubuntu. I opted to go with Ubuntu because it’s based on debian and supports UEFI secure booting, and 22.04 because it has long term support (LTS). Windows time had come because … Continue reading
Posted in systems administration
Leave a comment
Compile Time Assertions in C
There have always been reasons to want to cause a compiler to produce an error when an invariant violation is detected at compile time. For example, if you have a structure whose size is a power of 2 greater than … Continue reading
mak, libtap, and libkit updates
I’ve added some updates to the mak make project, the libtap test anything protocol library, and the public version of Cisco’s libkit library (in the jimbelton branch of the repository). Here’s a summary of what changed: mak I made a … Continue reading
Posted in c programming
Tagged libjemalloc, libkit, libtap, mak, test anything protocol
Leave a comment
What’s New in libsxe?
Since the last release of libsxe to my public repository in github, jimbelton/libsxe, there have been numerous changes: sxe-jitson Extensions The follow extensions are available in sxe-jitson: Release 2.3.0, which includes all of these, is now available in the github … Continue reading
Posted in Uncategorized
Leave a comment
Per Thread Memory Garbage Collection in C
Multithreading is tricky. Doing it efficiently is even harder. One of the biggest tools in the C programming toolbox is the __thread scope modifier (or __declspec(thread) as it’s known in Visual C). This allows you to create a static variable … Continue reading
Posted in c programming
Tagged gettid, libcurl, microhttpd, multithreading, pthread_kill, pthread_t, usleep, __sync_bool_compare_and_swap, __thread
Leave a comment
Extending sxe-jitson With Variables and Constants
One of the most interesting things other than sxe-jitson, my open source JSON parser, that I’ve worked on recently is a proprietary language that is a superset of JSON used to represent security policies. One of the main reasons I … Continue reading
Posted in c programming
Tagged json, libsxe, performance, policy language, sxe-jitson
Leave a comment
libkit: Using Packaged jemalloc Without Injection
Jemalloc is the memory allocation library used by FreeBSD. It has properties that make it desirable to use in Linux services, particularly it’s ability to reuse memory, preventing an ever growing memory footprint. Ruby uses jemalloc on Linux by injecting … Continue reading
Posted in c programming
Tagged jemalloc, LD_LIBRARY_PATH, libkit, libsxe, linux, mak, memory leaks
Leave a comment
sxe: Pluggable Memory Manager and Leaks Fixed
I just committed an update to sxe that points to the newest version of mak, which adds a convention that detects code that calls glibc memory allocation function (see Checking Coding Conventions in Perl), and replaces most calls to these … Continue reading
Checking Coding Conventions in Perl
The mak build system, developed 20 years ago for the SXL2 project at Sophos, is an open source framework built with gmake and perl. One of the more interesting bits is the convention checker, which is written in perl. The … Continue reading
Posted in Uncategorized
2 Comments
libsxe: High Speed Fine Grained Diagnostic Logging
The following is a post from 2011 that I made on Jim’s Jumbler The sxe-log package of the libsxe library (see https://github.com/jimbelton/sxe) has always had macro based logging with a decent feature set: Trace and dump level messages compiled out … Continue reading