Skip to content

Instantly share code, notes, and snippets.


Mildred Ki'Lya mildred

View GitHub Profile

Keybase proof

I hereby claim:

  • I am mildred on github.
  • I am mildred ( on keybase.
  • I have a public key ASDQFes07Yd_g56-PPV853GxC2dKwU5YV7NzWmXJ8ddP_Qo

To claim this, I am signing this object:

View interrupts-4.17
0: 10 0 0 0 IO-APIC 2-edge timer
8: 1 0 0 0 IO-APIC 8-edge rtc0
9: 0 1613 0 0 IO-APIC 9-fasteoi acpi
29: 0 0 0 311 IO-APIC 29-fasteoi intel_sst_driver
32: 0 0 103 0 IO-APIC 32-fasteoi 808622C1:00
33: 0 0 0 248 IO-APIC 33-fasteoi 808622C1:01
37: 1709051 0 0 0 IO-APIC 37-fasteoi 808622C1:05
41: 0 0 0 0 IO-APIC 41-fasteoi 8086228E:00
42: 0 0 0 0 IO-APIC 42-fasteoi dw:dmac-1
mildred /
Last active May 13, 2018
Detect renames

A tool to detect renames, specification


  • Can be used in conjunction with rsync. Executed before rsync to renames files to their new location and rsync can synchronize the rest as it works well for that
  • Does detect the file renames that happened in a tree and apply the changes in the other tree


mildred / terraform-destroy.log
Created May 11, 2018
terraform destroy logs
View terraform-destroy.log
2018/05/11 09:38:45 [INFO] Terraform version: 0.11.7 41e50bd32a8825a84535e353c3674af8ce799161
2018/05/11 09:38:45 [INFO] Go runtime version: go1.10.1
2018/05/11 09:38:45 [INFO] CLI args: []string{"/home/mildred/Work/SquareScale/squarescale-infrastructure/bin/terraform-0.11.7", "destroy", "-force"}
2018/05/11 09:38:45 [DEBUG] Attempting to open CLI config file: /home/mildred/.terraformrc
2018/05/11 09:38:45 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2018/05/11 09:38:45 [INFO] CLI command args: []string{"destroy", "-force"}
2018/05/11 09:38:45 [INFO] command: empty terraform config, returning nil
2018/05/11 09:38:45 [DEBUG] command: no data state file found for backend config
2018/05/11 09:38:45 [DEBUG] New state was assigned lineage "596ea3fc-e5a8-78b7-c0cd-5ee21f559817"
2018/05/11 09:38:45 [INFO] command: backend initialized: <nil>
mildred /
Last active May 8, 2018
P2P sending files / decentralized website


  • a laptop with a file hierarchy to send
  • a server that will receive the files


  • Client generates a unique key pair
  • Client configures server to accept files from this public key
  • Server advertise itself on bittorrent DHT using hash(this protocol name, "server" role, public key)
mildred /
Last active Mar 29, 2018
Build a fedora kernel rpm using docker and git checkouted sources instead of a src.rpm

Build a fedora kernel rpm


  • I need a custom kernel (because sound won't work with vanilla)
  • I want to use Fedora Atomic Host
  • The only way to override the kernel with Fedora Atomic Host is to install a kernel package using ostree-rpm
  • I have a metered network connection and want to avoid downloading the kernel sources too many times
  • The powerful machine that can build the kernel is nor running Fedora or Red-hat based system with rpmbuild available
mildred /
Last active Feb 5, 2018
Pull requests from Git CLI

Put this in your PATH. Requires git-hub

mildred / boot.log
Created Jan 24, 2018
CoreOS m5.large boot log
View boot.log
+----------------------------------------------------------------------------+||||||||||||||||||||||||+----------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, `e' to edit the commands
before booting or `c' for a command-line.  *CoreOS default  CoreOS USR-A  CoreOS USR-B  
mildred /
Created Jan 5, 2018
Namespaces in consul / nomad

A namespace is a collection of nomad jobs in the same directory. Sub-directories are sub-namespaces. When instanciated, a namespace is allocated an identifier (8 character unique ID). Before being inserted in nomad, the jobs are modified to include this namespace identifier:

  • the nomad job name is prefixed by "NAMESPACE-" (the namespace identifier)
  • the consul service definitions are prefixed by "NAMESPACE-" (the namespace identifier)
  • the services have an additional environment variable: CONSUL_NAMESPACE_ID

sub-namespaces are also inserted in the system when their parent namespace is inserted. Each sub-namespace is given an identifier the same way. The parent namespace is instanciated with:

  • an environment variable CONSUL_NAMESPACE_ID_FOR_subnsname containing the sub namespace identifier
mildred /
Created Aug 19, 2017
Code linters / coding style considered harmful

TL;DR code linters may be beneficial but may also cause problems. Basically:

  • It should be included in the editor plugins and shared as most as possible. Example: I never have to complain when vim reformat my Go source file upon saving it. I did not configure it either, it was automatic.
  • automated tools cannot evaluate code complexity, only give metrics that may or may not represent complexity
  • code complexity depends on how people read the code

Code complexity

Code is complex when understanding what it does, reading it, becomes complex. Thus it depends on how people are reading the code. One thing that makes code complex is when you have to browse to different locations/files when reading the code. Another thing that makes reading difficult is when code is not well organized and you struggle to find a piece of code.