Sitemap
A list of all the posts and pages found on the site. For you robots out there, there is an XML version available for digesting as well.
Pages
Posts
Simon’s Rock: Now & Then
Published:
In memory of my dead school
Understanding Hazards
Published:
Fundies Hazards Guide
42030青春版–一套刚刚好的乐高
Published:
42209 浅浅的评测
Embedded Project: CircuitSim
Published:
A walkthrough of our Embedded final project: Circuit Simulator on FPGA
Demystifying Cache—From Bytes to Tags
Published:
Breaking down cache address bits is tricky. In this guide, we’ll step through in detail how to partition a 32-bit address and work through some problems to test your understanding :)
So What Is Carry Look Ahead
Published:
Someone asked me about carry lookahead during OH, and I felt that I didn’t explain it well enough. Here’s a better attempt:
FPGA Button UI
Published:
Embedded lab 1: code an FPGA to test the Collatz Conjecture over a range of numbers… with a user interface of buttons and switches
Coping with Oscilloscope Signals
Published:
A simple method to smoothen DC data. Worked perfectly for gate transfer curves.
Columbia Fall 24 Recap
Published:
A few thoughts on the past semester. This is by no means a comprehensive review.
articles
Applications
Contents
- Intro to SPICE Algorithm
- Framework and your first circuit!
- More Static Linear Components
- Nonlinear and Diode
- MOSFET
- Time Variance
- Applications (this article)
Circuit-Cim: SPICE in C
Contents
- Intro to SPICE Algorithm (this article)
- Framework and your first circuit!
- More Static Linear Components
- Nonlinear and Diode
- MOSFET
- Time Variance
- Applications
CircuitCim Framework
Contents
- Intro to SPICE Algorithm
- Framework and your first circuit! (this article)
- More Static Linear Components
- Nonlinear and Diode
- MOSFET
- Time Variance
- Applications
MOSFETS: Multivariable Nonlinear
Contents
- Intro to SPICE Algorithm
- Framework and your first circuit!
- More Static Linear Components
- Nonlinear and Diode
- MOSFET (this article)
- Time Variance
- Applications
Nonlinear Components
Contents
- Intro to SPICE Algorithm
- Framework and your first circuit!
- More Static Linear Components
- Nonlinear and Diode (this article)
- MOSFET
- Time Variance
- Applications
More (Static) Linear Components
Contents
- Intro to SPICE Algorithm
- Framework and your first circuit!
- More Static Linear Components (this article)
- Nonlinear and Diode
- MOSFET
- Time Variance
- Applications
Time Variance
Contents
- Intro to SPICE Algorithm
- Framework and your first circuit!
- More Static Linear Components
- Nonlinear and Diode
- MOSFET
- Time Variance (this article)
- Applications
README
Exam Cheat Sheets for ELEN 3801 Signals and Systems
Please obtain my permission before sharing this with others.
2 Memory
Address Space

4 Signals
Signals and System Calls
Sending Signals
#include <signal.h>
int kill(pid_t pid, int signo);
int raise(int signo); // same as kill(), but yourself
- Both return: 0 if OK, -1 on error
- if
pid < 0, the signal is sent to the process group withpgid == |pid|
6 Threads
Creating Threads
An execution inside a process (two functions in a process running at the same time), sharing the same address space (same heap, same static var, but can’t share stack space) ^4bba4d
- When thread starts running, the OS assigns a new slab of space in the middle for stack.
- Limit of stack space for each process
#include <pthread.h>
int pthread_create(pthread_t *thread,
const pthread_attr_t *attr,
void *(*start_routine)(void *),
void *arg);
int pthread_join(pthread_t thread, void **retval);
thread: thread IDattr: typicallyNULL, a fine-grain control of thread behaviorstart_routine: inputvoid *, returnvoid *arg: forstart_routine(arg)retval: stores the return value ofstart_routine()Returns 0 if OK, error number on failure
9 IO Blocking and Multiplexing
Nonblocking IO
Making slow (blocking forever) syscalls nonblocking
- Call
open()withO_NONBLOCK - Call
fcntl()(file control) to turn ono_NONBLOCKfile status flag on already opened fd- Will be recorded in the file table entry
- Returns
-1and setserrnotoEAGAINif were to block
Digital SAT Math Solutions Manual
Algebra Solutions
Digital SAT Math Test Bank
Algebra
Digital SAT Math Test Bank
Digital SAT Math Advanced Hard-Focus Practice Set
Target Score Focus: 750–800
Design Elements: This problem set isolates the most complex, trick-prone structural patterns seen in recent Digital SAT Hard Modules. Problems focus on multi-step variable tracking, precise phrasing traps (“% shorter”, “displays as a constant”), coordinate radical constraints, and structural polynomial manipulations.
courses
Advanced Systems Programming
ASP notes page
Digital Electronics Lab
3082 Lab Reports
- Digital Elements
- 555
- 555 at high frequency failed to work. For better lab experience, change the cap to maybe 2.7 nF
- A/D
- Transmission Line
- Piano (TB)
- Piano (FPGA)
AP
Welcome to AP!
C2Cpp
ODS Notes
Machine Learning
ODS Notes
I was too lazy to formally convert the Obsidian-MathJax workflow to Jekyll, so here are the pdfs, generated by Obsidian
- Most notes are typed real-time during lectures. LMK for any typos.
Operating Systems I
Here are my OS notes:
Операционные системы I
Вот мои конспекты по ОС:
Random Signals and Noise
Notes
Advanced Digital Electronic Circuits
This page, and all its children, are under construction.
Fundies
Fundies ODS Notes
VLSI Class Notes
Notes
The notes are organized sequentially with the lecture.
projects
Cell Cycle
Biology video project covering the phases of cell division, featuring Keynote graphics and animations of DNA synthesis and cell division. video
Control Theory
A walkthrough of control theory and applications, including open loop control, PID, and computer simulation and tuning.
Omega Automata
Theory of infinite-word automata (ω-languages): Buchi, Muller, and Rabin acceptance conditions, and applications in modeling non-terminating systems.
Dog Cannot Catch
Outstanding award winner. A unified mathematical and computational framework to analyze why Fritz the dog misses catching objects.
Exponential and Logarithm
A rigorous dive into exponential and logarithm functions, revisiting exp and log with real analysis and extending \(x^r\) to all real \(r\)
Rogue Planets
Origin, detection, and simulation of rogue planets — unbound, planet-mass bodies drifting through the Galaxy.
HTTP Server and Client
HTTP server and client written in C from scratch, with a backend server loading a binary database and serving the frontend.
Blockchain
Fully functional peer-to-peer blockchain network in Python with proof-of-work, digital signatures, Merkle trees, and a GUI wallet.
ASP Zookeeper
(Subsets of) malloc, grep, chat server, gdb, ld, and a container manager
CircuitSim
An analog/digital circuit simulator on FPGA written in C and Verilog, featuring Modified Nodal Analysis and hardware-accelerated matrix inversion.
Sorting Algorithms
Architectural analysis on sorting algorithms.
Two-Stage OTA
Two-stage operational transconductance amplifier with extensive DC/AC/step testing and PVT variation analysis.
64-Tap FIR Filter
Design and simulation of a 64-tap finite impulse response filter at 10 kS/s 16-bit fixed-point with MAC and full precision.
8-Bit Processor
A simple 8-bit processor core built and tested from scratch in Cadence Virtuoso.</span>
HardLock Chip
Detection of timing-based signal anomalies in autonomous and embedded systems
MyMake
Implementation of a subset of GNU make in C++ with Makefile parsing, recursive dependency graph resolution, and custom rule caching.
Freezer Scheduler and EZFS
Implementation of Linux utilities: in-kernel key-value store, custom round-robin scheduler, page walk, and a lightweight filesystem.
FFT Core
Design and VLSI implementation of a high-performance 1024-point Radix-2 DIF FFT core in TSMC 65nm CMOS with 400 MHz clock and 39.8 MS/s throughput.
publications
An Improved Machine Learning Model for Pure Component Property Estimation
2024
A new Gaussian Process-based modeling framework that predicts the physico-chemical properties of chemical species.
Recommended citation: Cao, X., Gong, M., Tula, A., Chen, X., Gani, R., & Venkatasubramanian, V. (2024). An improved machine learning model for pure component property estimation. Engineering, 39, 61–73. https://doi.org/10.1016/j.eng.2023.08.024
Download Paper
An Experimental Ultrasonic Method to Determine A Scattering Quality Factor, with Application to Earth’s Inner Core
2024
SEDI Poster 2025
Recommended citation: Ming Gong, Michael I. Bergman, An experimental ultrasonic method to determine a scattering quality factor, with application to earth's inner core, Physics of the Earth and Planetary Interiors, 2025, 107456, ISSN 0031-9201, https://doi.org/10.1016/j.pepi.2025.107456.
Download Slides
Deep Learning Loss Function and Data Optimization for A.I. Detection of Thin Film Grain Boundaries
2025
Identify optimal combination of loss function and data to create a model that can generates an automated tracing most consistent with the ground truth
Loss Function Evaluation
2025
Accurate tracing of grain boundaries in microscopy images is vital in material science, yet current models need more data and a more accurate loss function. In this report, we present a twofold contribution to improving grain-tracing U-nets.
Interpreting Earth’s Inner Core Structure via Ultrasonic Scattering Experiments
2025
An experimental study of the scattering of ultrasonic compressional waves in an hcp Zn-Sn alloy, serving as an analog to the Fe alloy in Earth’s inner core to better understand the origin of inner core seismic attenuation.
Recommended citation: Ming Gong, Michael I. Bergman, An experimental ultrasonic method to determine a scattering quality factor, with application to earth's inner core, Physics of the Earth and Planetary Interiors, 2025, 107456, ISSN 0031-9201, https://doi.org/10.1016/j.pepi.2025.107456.
Download Paper | Download Slides
Continuous Vital Signs Monitoring with Loose T-Shirt
2025
Loose-fitting continuous ECG sensing T-shift using capacitive sensing
talks
Talk 1 on Relevant Topic in Your Field
This is a description of your talk, which is a markdown file that can be all markdown-ified like any other post. Yay markdown!
Conference Proceeding talk 3 on Relevant Topic in Your Field
This is a description of your conference proceedings talk, note the different field in type. You can put anything in this field.
teaching
General Chemistry
Class Tutor, Bard College at Simon's Rock, 2023
Physics
Class Tutor, Bard College at Simon's Rock, 2023
Intro to Quantum Physics
Class Tutor, Bard College at Simon's Rock, 2023
Classical Mechanics
Class Tutor, Bard College at Simon's Rock, 2024
Ordinary Differential Equations
Class Tutor, Bard College at Simon's Rock, 2024
Organic Chemistry
Class Tutor, Bard College at Simon's Rock, 2024
Synthesis Toolkit
Fundamentals of Computer Systems
Head TA, Columbia University, 2025
Study Guides
Embedded Systems
TA, Columbia University, 2026
