Skip to content

Instantly share code, notes, and snippets.

Mastering Programming - by Kent Beck

From years of watching master programmers, I have observed certain common patterns in their workflows. From years of coaching skilled journeyman programmers, I have observed the absence of those patterns. I have seen what a difference introducing the patterns can make. Here are ways effective programmers get the most out of their precious 3e9 seconds on the planet. The theme here is scaling your brain. The journeyman learns to solve bigger problems by solving more problems at once. The master learns to solve even bigger problems than that by solving fewer problems at once. Part of the wisdom is subdividing so that integrating the separate solutions will be a smaller problem than just solving them together.

Time

Slicing - Take a big project, cut it into thin slices, and rearrange the slices to suit your context. I can always slice projects finer and I can always find new permutations of the slices that meet different needs

@stanislaw
stanislaw / Open source requirements managements tools.md
Last active April 7, 2024 09:51
Open source requirements managements tools

Open source requirements management tools

Requirements management using version control.

Sphinx-Needs is an extension for the Python based documentation framework Sphinx, which you can simply extend by different extensions to fulfill nearly any requirement of a software development team.

@stanislaw
stanislaw / effective_modern_cmake.md
Created February 11, 2024 21:22 — forked from mbinna/effective_modern_cmake.md
Effective Modern CMake

Effective Modern CMake

Getting Started

For a brief user-level introduction to CMake, watch C++ Weekly, Episode 78, Intro to CMake by Jason Turner. LLVM’s CMake Primer provides a good high-level introduction to the CMake syntax. Go read it now.

After that, watch Mathieu Ropert’s CppCon 2017 talk Using Modern CMake Patterns to Enforce a Good Modular Design (slides). It provides a thorough explanation of what modern CMake is and why it is so much better than “old school” CMake. The modular design ideas in this talk are based on the book [Large-Scale C++ Software Design](https://www.amazon.de/Large-Scale-Soft

@stanislaw
stanislaw / sch_custom.c
Created July 31, 2023 13:46 — forked from jphickey/sch_custom.c
Simplified "custom" logic for CFS SCH applcation
/*
** $Id: sch_custom.c 1.3 2015/03/01 14:01:44EST sstrege Exp $
**
** Copyright 2007-2014 United States Government as represented by the
** Administrator of the National Aeronautics and Space Administration.
** All Other Rights Reserved.
**
** This software was created at NASA's Goddard Space Flight Center.
** This software is governed by the NASA Open Source Agreement and may be
** used, distributed and modified only pursuant to the terms of that
@stanislaw
stanislaw / How to generate PDF with Sphinx on macOS and Linux.md
Last active May 1, 2023 09:37
How to generate PDF with Sphinx on macOS and Linux

How to generate PDF with Sphinx on macOS

Install BasicTex.

Add this to your Bash or Zsh:

export PATH="/Library/TeX/texbin/:$PATH"
@stanislaw
stanislaw / splitpdf.py
Created July 26, 2020 10:34 — forked from AlexDenisov/splitpdf.py
Splits a PDF file for manual double-side printing
#!/usr/bin/env python3
import sys, os
from PyPDF2 import PdfFileReader, PdfFileWriter
inputname = sys.argv[1]
pdf = PdfFileReader(inputname)
numpages = pdf.getNumPages()
if numpages % 2 == 1:
numpages = numpages - 1
@stanislaw
stanislaw / Makefile
Created January 23, 2020 20:20
RRRR
################################################################################
# Self-Documented Makefile
# http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
define HELP
If you are running this first time, follow these steps:
make image.create
make container.create
make container.run
endef
export HELP
@stanislaw
stanislaw / Cheatsheet.md
Created October 6, 2018 17:49
Pandoc/Tex
\begin{wrapfigure}[8]{r}{0.25\textwidth}
\centering
\vspace{-\intextsep}
\includegraphics[width=0.25\textwidth]{files/Eschede/01_Fraunhofer.jpg}
\caption{Basic layout}
\end{wrapfigure}
@stanislaw
stanislaw / wrapfigure_without_whitespace.tex
Created October 6, 2018 17:31 — forked from yig/wrapfigure_without_whitespace.tex
Eliminate white space around wrapfigure environments in LaTeX.
%% The typical answer for how to eliminate white space in wrapfigure doesn't work for me (I'm using a SIGGRAPH style sheet):
%% http://tex.stackexchange.com/questions/111393/too-much-space-around-wrap-figure
%% Instead, let's just offset the image.
%% The horizontal white space is \columnsep and the vertical white space is \intextsep.
%% Subtract them from the column width and offset the image accordingly.
%% How to move an image:
%% http://tex.stackexchange.com/questions/107340/how-to-shift-graphics-adjust-placement-of-figure-with-includegraphics
\begin{wrapfigure}[11]{R}{1in - .75\columnsep}
%\centering
\vspace{-\intextsep}
@stanislaw
stanislaw / HexDump.c
Created April 30, 2018 10:44
Printing hex dumps for diagnostics
// https://codereview.stackexchange.com/questions/165120/printing-hex-dumps-for-diagnostics
// http://coliru.stacked-crooked.com/a/95da32e8ef05d557