Skip to content

Instantly share code, notes, and snippets.

View davidbgk's full-sized avatar
Let’s escape GAFAM+ when/while we can!

David Larlet davidbgk

Let’s escape GAFAM+ when/while we can!
View GitHub Profile
davidbgk /
Created February 13, 2023 13:45 — forked from baldurbjarnason/
Book production files for Out of the Software Crisis

Book production files

For Out of the Software Crisis.

These are under the MIT License. Do what you want, essentially. Probably doesn't work out of the box. Uses Pandoc, zx, weasyprint, and Literata.

You'll need to download them for this to work. And you'll need to edit the build script to point at the correct CSS files. And you'l need to edit the CSS to point at the correct font files.

davidbgk /
Created October 20, 2022 02:41 — forked from eyeseast/
How to set up Python in 2022


This is my recommended Python setup, as of Fall 2022. The Python landscape can be a confusing mess of overlapping tools that sometimes don't work well together. This is an effort to standardize our approach and environments.

Tools and helpful links:

davidbgk /
Created June 9, 2022 22:47 — forked from willurd/
Big list of http static server one-liners

Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.

Discussion on reddit.

Python 2.x

$ python -m SimpleHTTPServer 8000
davidbgk / previewImageUploads.js
Created May 15, 2022 23:04 — forked from adactio/previewImageUploads.js
Show inline previews of images that are going to be uploaded.
// Licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
(function (win,doc) {
'use strict';
if (!win.FileReader || !win.addEventListener || !doc.querySelectorAll) {
// doesn't cut the mustard.
doc.querySelectorAll('input[type="file"][accept="image/*"]').forEach( function (fileInput) {
davidbgk / github-proxy-client.js
Created March 17, 2022 02:39 — forked from DavidWells/github-proxy-client.js
Full Github REST api in 34 lines of code
/* Ultra lightweight Github REST Client */
// original inspiration via
const token = 'github-token-here'
const githubClient = generateAPI('', {
headers: {
'User-Agent': 'xyz',
'Authorization': `bearer ${token}`
davidbgk / .zshrc
Created December 15, 2021 15:09
Example of Python aliases + reimplementation of `cd` to auto de/activate the current virtualenv
# aliases
alias -g ll='ls -al'
alias -g subl='open -a "Sublime Text"'
alias server='python3 -m http.server 8000 --bind'
alias rmvenv='deactivate && rm -rf venv/'
alias venv='python3 -m venv venv'
alias activate='source venv/bin/activate'
alias pipupgrade='python3 -m pip install --upgrade pip'
alias requirements='python3 -m pip install -r requirements.txt'
davidbgk / index.html
Last active October 22, 2021 12:38
Opening details tag on hash/anchor
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="en">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: -->
<meta name="viewport" content="width=device-width,initial-scale=1">
davidbgk / userChrome.css
Created October 12, 2021 13:34 — forked from maxlath/userChrome.css
Hide "Firefox suggests" text in Firefox 93 search menu
Create or edit userChrome.css in your Firefox profile folder,
typically found on Linux at ~/.mozilla/firefox/[some firefox profile folder]/chrome/userChrome.css
margin-block-start: 0 !important;
davidbgk / Makefile
Created September 27, 2021 17:55 — forked from baldurbjarnason/Makefile
node-less frontend testing using Firefox and TAP
rm -rf ./my-profile; mkdir ./my-profile && echo "user_pref('devtools.console.stdout.content', true);user_pref('dom.allow_scripts_to_close_windows', true);user_pref('datareporting.policy.firstRunURL', '');" > ./my-profile/user.js && firefox --headless -profile ./my-profile -no-remote `pwd`/index.html | sed -n "/console.log: /p" | sed -e 's/console.log: "//' -e 's/"$$//' | ./tapview
// WARNING: There's much more to know/do around hooks, and
// this is just a simplification of how these work.
// shared references, updated
// per each hook invoke
let execution = null;
let current = null;
let context = null;
let args = null;