Skip to content

Instantly share code, notes, and snippets.

View snhobbs's full-sized avatar

Simon Hobbs snhobbs

View GitHub Profile
/*
* strong_type C++14/17/20 strong typedef library
*
* Copyright (C) Björn Fahller
*
* Use, modification and distribution is subject to the
* Boost Software License, Version 1.0. (See accompanying
* file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
*
/*
* strong_type C++14/17/20 strong typedef library
*
* Copyright (C) Björn Fahller
*
* Use, modification and distribution is subject to the
* Boost Software License, Version 1.0. (See accompanying
* file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
*
@snhobbs
snhobbs / README.md
Last active June 26, 2025 18:23
Sources for and models for Spice Simulators

Here's how you can use Docker to keep several version of KiCad on your system and have them run as if they were native.

Setting up the image

I'd like KiCad to appear as if it was natively installed so I change the desfault user from KiCad to my local username, and give that user sudo rights.

FROM kicad/kicad:9.0

ENV DEBIAN_FRONTEND=noninteractive
@snhobbs
snhobbs / README.md
Last active December 10, 2024 17:54
RP2040 Usage & Notes

Background

List of Electro-Magnetic (EM) that impliment the Finite Difference Time Domain algorithm. I specifically am choosing a simulator for optimizing a Time Domain Reflectometer (TDR) for level measurements and profiling applications. I prefer open source solutions for transparency, customization, and integration into automation workflows.

FOSS FDTD Simulators

@snhobbs
snhobbs / README.md
Created October 3, 2024 16:42
Project Planning & Reports

Project Libre used to be my go to project planning software. Unfortunately it has seriously degraded in quality and is not getting updates.

I use project planning in a few ways:

  1. Scheduling: Used for forward and reverse planning, to highlight critical path items, and schedule time.
  2. Client Reports: Generate cost and time estimates for clients
  3. Keep a detailed to do list when juggling many tasks and moving parts

For scheduling I like GanttProject which will do the forward / backwards scheduling and critical task list well. It can be used to manage the task list also. It creates the worst reports and the resource management is attrocious. It does export CSV and XLS export which means it can be used

from shutil import copyfile
import glob
import os
_mapping = {
'macrofab': {
'Top Copper': '{project}.GTL',
'Top Silkscreen': '{project}.GTO',
'Top Soldermask': '{project}.GTS',
@snhobbs
snhobbs / README.md
Last active March 17, 2023 17:45
Guide and notes to how I make tutorial videos

Tutorial Videos

Software

Task Name Source Version
Screen capture OBS Studio apt repo 25.0.3
Basic Editing OpenShot apt repo 2.4.3
Audio Improvement Pulse Effects apt repo 4.7.1
Microphone Built-in