Skip to content

Instantly share code, notes, and snippets.

View tom-spalding's full-sized avatar
🐊

Tom Spalding tom-spalding

🐊
View GitHub Profile
@kchristidis
kchristidis / protobuf-serialization.md
Last active June 27, 2025 14:10
Notes on protocol buffers and deterministic serialization (or lack thereof)

There doesn't seem to be a good resource online describing the issues with protocol buffers and deterministic serialization (or lack thereof). This is a collection of links on the subject.

Protocol Buffers v3.0.0. release notes:

The deterministic serialization is, however, NOT canonical across languages; it is also unstable across different builds with schema changes due to unknown fields.

Maps documentation:

Wire format ordering and map iteration ordering of map values is undefined, so you cannot rely on your map items being in a particular order.

@josefnpat
josefnpat / Makefile
Last active February 5, 2025 05:46
Love Makefile of Doom
# Copyright 2017 Josef N Patoprsty
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
@baweaver
baweaver / ruby_books.md
Last active November 2, 2025 22:21
A list of books for learning and expanding on your Ruby knowledge.

Ruby Book List

Learning Ruby

You're taking your first steps into Ruby

A good introduction to programming in general. Easy on newer programmers.

#!/usr/bin/env ruby
#
# Simply provides a wrapper around `yardoc`, modifying the output s.t. RubyMine will make the file references linkable.
#
require "yard"
REPO_ROOT = $REPLACE_ME or fail
SUBSTITUTION_MATCHER = /[Ii]n file [`'](?<path>[^`']*)[`'](?: near line |:)(?<line>[0-9]+)/.freeze
@AsaAyers
AsaAyers / you_dont_need_coffeescript.md
Created September 20, 2016 15:52
You Don't Need CoffeeScript

You Don't Need CoffeeScript

It's time to replace CoffeeScript with Babel and CoffeeLint with eslint.

CoffeeScript was useful a few years ago. It provided many features that JavaScript was lacking. It gave us the fat arrow (lexical this functions), default parameters, destructuring assignments, splats (spread operator), a class keyword, block strings, and more. Everything in the list above is now part of the JavaScript standard. JavaScript is moving forward and gaining

@bitjockey42
bitjockey42 / 00-Ubuntu 16.04 on Macbook Pro 10,1.markdown
Last active March 29, 2019 20:02
Ubuntu 16.04 configurations on Macbook Pro 10,1

Ubuntu 16.04 on Macbook Pro 10,1 with Encrypted Root

NOTE: This is for dual-booting OS X 10.11 with Ubuntu 16.04.

Install

Preparation in OS X

Resize OS X partition with Disk Utility.

Serving Flask under a subpath

Your Flask app object implements the __call__ method, which means it can be called like a regular function. When your WSGI container receives a HTTP request it calls your app with the environ dict and the start_response callable. WSGI is specified in PEP 0333. The two relevant environ variables are:

SCRIPT_NAME
The initial portion of the request URL's "path" that corresponds to the application object, so that the application knows its virtual "location". This may be an empty string, if the application corresponds to the "root" of the server.

@fperez
fperez / ProgrammaticNotebook.ipynb
Last active March 20, 2025 03:57
Creating an IPython Notebook programatically
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@daniw
daniw / ltspice.sh
Last active January 1, 2025 22:25
install ltspice on ubuntu (arch commented)
# install wine and ltspice
sudo apt-get install wine
# sudo pacman -S wine
cd /tmp/
wget http://ltspice.linear-tech.com/software/LTspiceIV.exe
wine LTspiceIV.exe
rm LTspiceIV.exe
# start lstpice through wine
wine ~/.wine/drive_c/Program\ Files/LTC/LTspiceIV/scad3.exe
@JosefJezek
JosefJezek / how-to-use-pelican.md
Last active August 24, 2025 22:27
How to use Pelican on GitHub Pages