Objects lifetime management is one of the critical elements in C++ development, but corresponding tools for debugging are rather scarce. This article described a non-invasive to track the invocation of ctors and dtors of classes in C++, which is enabled with the decorator pattern.

Track Lifetime of Objects in C++

Feb 02, 2022

Placement new is a rarely used feature in C++. This article gives a brief introduction to this feature, and shows how it can be helpful in the implementation of circular linked lists.

Circular Linked List and Placement new

An open-source RISC-V 64 single board computer under 10$ based on Allwinner D1s SoC

Sub-10$ RISC-V 64 SBC

Oct 16, 2021

A stylish and feature-rich theme for Jekyll using (almost) no JavaScript

Theme Antarctica

Aug 25, 2021

A single-board computer based on Mediatek MT76x8 Wi-Fi SoC

Xassette IoT

Aug 24, 2021

A USB-PD sink power supply built with no MCU.

BBSink

May 17, 2021

Lightweight, fully-customizable log library for C++17. Github repository Highlights Standard streams style operations Fully customizable message format with simple interface Level and predicate based conditional logging Quick Start #include "llogger.h" llogger ll(std::cout, llogger::info); ll(llogger::warning) << "Weather control device detected."; // [ 2021-10-04 22:40:47 ] WARNING: Weather control device detected. Conditional Logging Values in the log are costly to be eva...

Lite Logger

Apr 10, 2021

Tiny Breakout Board for CH551G/CH552G/CH554G 8-bit MCUs.

CH55xG Tiny

Mar 17, 2021

Type a line of C++ code, then press enter and get the result - does this sounds crazy? Well, not so crazy with the power of the novel C++ interpreter, Cling.

Use a C++ Interpreter to Debug Interactivity

Feb 18, 2021

Get the pin assignment of a board without destroying it.

a Non-invasive Way to Investigate IO Connections

Oct 30, 2020

Typically, a D flip-flop can only be triggered by either the leading edge or the trailing edge of the clock signal. In some scenario, a flip-flop can be triggered by both edges is required. In this article, an implementation of such flip-flop consists only 2 7400 ICs is proposed. The idea is to use 2 D flip-flops in which one is triggered by the leading edge and the other is triggered by the inverted clock signal. The outputs of these two flip-flops are multiplexed according to the clock sig...

Dual Edge D Flip-flop Implemented with two 7400s

Nov 08, 2019

A three.js demo to visualize high-dimensional geometries like hypercubes.

Visualization of Hyper Geometries

Jun 15, 2019