Skip to content

Instantly share code, notes, and snippets.

View egberts's full-sized avatar
💭
Busy pounding the keyboard

Egbert egberts

💭
Busy pounding the keyboard
  • US
View GitHub Profile
@egberts
egberts / README.md
Created September 19, 2024 14:47 — forked from Chubek/README.md
VimScript specs for EBNF syntax

The following grammar is based on this EBNF specifications for EBNF meta-grammar:

ebnf            ::= [ global-desc ] { local-desc | rule | comment }

local-desc	::= '{' ? { any-character } ? '}'

global-desc	:: "{{" ? { any-character } ? "}}"

rule ::= identifier '::=' expression [ '.' ]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@egberts
egberts / image.png
Created August 30, 2024 23:32
Vimscript debugging, Initial Session
https://egbert.net/images/vim-syntax-bind-name-first-debug-F10-after.png
@egberts
egberts / pandas-plotly-immigration.html
Created August 23, 2024 20:43
Sankey chart in Python
This file has been truncated, but you can view the full file.
<html>
<head><meta charset="utf-8" /></head>
<body>
<div> <script type="text/javascript">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>
<script type="text/javascript">/**
* plotly.js v2.34.0
* Copyright 2012-2024, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
*/
dealing with phantom `__path__`:
https://github.com/ros/catkin/blob/noetic-devel/cmake/templates/__init__.py.in#L10
@egberts
egberts / gist:f9f9f1f3156bc17a1c8718b3dfd068d3
Created July 4, 2024 18:29
clean_output_dir()/utils.py performance test for getpelican/pelican repo
from __future__ import annotations
import logging
import os
import pathlib
import shutil
from datetime import datetime as dt
from collections.abc import Iterable
LOG_FORMAT = "%(name)s: %(message)s"
@egberts
egberts / ipv6guide.md
Created June 27, 2024 13:11 — forked from timothyham/ipv6guide.md
A Short IPv6 Guide for Home IPv4 Admins

A Short IPv6 Guide for Home IPv4 Admins

This guide is for homelab admins who understand IPv4s well but find setting up IPv6 hard or annoying because things work differently. In some ways, managing an IPv6 network can be simpler than IPv4, one just needs to learn some new concepts and discard some old ones.

Let’s begin.

First of all, there are some concepts that one must unlearn from ipv4:

Concept 1

@egberts
egberts / README.md
Created August 21, 2023 06:46 — forked from cfm/README.md
Adapting the twelve-factor methodology for "Qubes-native" multi-VM applications: a preliminary sketch

Adapting the twelve-factor methodology for "Qubes-native" multi-VM applications: a preliminary sketch[^1]

Introduction

Virtualization is the conceptual technology on which modern services (server applications) are built. Whether an application happens to run on a fully- or para-virtualized VM[^2] or is containerized—or even runs on a “bare-metal” physical server after all—most modern services are designed in isolated, replicated, disposable components on commodity hardware.[^3] The [“twelve-factor methodology”][wiggins] (2011) is an influential articulation of the principles

@egberts
egberts / lockly_cloud_api_details.md
Created September 22, 2022 23:26 — forked from hacker1024/lockly_cloud_api_details.md
Lockly cloud API details

Lockly cloud API details

This documentation has moved to a dedicated site.

@egberts
egberts / killbutmakeitlooklikeanaccident.sh
Created July 17, 2022 13:30 — forked from moyix/killbutmakeitlooklikeanaccident.sh
Script to inject an exit(0) syscall into a running process. NB: only x86_64 for now!
#!/bin/bash
gdb -p "$1" -batch -ex 'set {short}$rip = 0x050f' -ex 'set $rax=231' -ex 'set $rdi=0' -ex 'cont'