Skip to content

Instantly share code, notes, and snippets.

View agmangas's full-sized avatar

Andrés García Mangas agmangas

View GitHub Profile
@agmangas
agmangas / fix-sl4g-routing.sh
Last active May 9, 2018 15:25
Docker SL4G Routing Fix
#!/usr/bin/env bash
if [ "$EUID" -ne 0 ]
then echo "## Please run as root"
exit
fi
DOCKER_TABLE="docker"
VPN_GATEWAY_NET="10.5.0.0/16"
VPN_TABLE="alternate"
@agmangas
agmangas / aa-status.txt
Created October 9, 2018 15:58
aa-status-output
# aa-status
apparmor module is loaded.
115 profiles are loaded.
115 profiles are in enforce mode.
/sbin/dhclient
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/NetworkManager/nm-dhcp-helper
/usr/lib/connman/scripts/dhclient-script
/usr/lib/snapd/snap-confine
/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
@agmangas
agmangas / can-id-png.md
Last active November 24, 2024 21:26
Relationship between CAN IDs and J1939 PGNs

CAN IDs & J1939 PGNs

Global PGN Example

Original CAN ID:

1    8    F    0    0    1    0    B
0001 1000 1111 0000 0000 0001 0000 1011
@agmangas
agmangas / popen-communicate-wrapper.py
Created December 3, 2018 16:01
Popen.communicate() wrapper function
from subprocess import Popen, PIPE
def _popen_communicate(cmd_args):
"""Takes a list of arguments and executes a command.
Blocks waiting for the execution to finish.
Returns a tuple containing the stdout and stderr."""
process = Popen(cmd_args, stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()
@agmangas
agmangas / runebook-graph.py
Last active January 20, 2019 17:20
Runebook graph
import pprint
import random
import matplotlib.pyplot as plt
import networkx as nx
MAT_ROWS = 7
MAT_COLS = 7
MAT_SIZE = MAT_ROWS * MAT_COLS
MAT_FOLD_SIZE = 3
@agmangas
agmangas / multiproc-poc.py
Created February 19, 2019 12:09
Minimal multiprocessing PoC
import multiprocessing
import queue
import random
import time
def process_loop(input_queue, output_queue):
print("Initializing process loop")
while True:
@agmangas
agmangas / runebook-graph.py
Created February 19, 2019 17:28
Runebook graph script
import pprint
import random
import matplotlib.pyplot as plt
import networkx as nx
MAT_ROWS = 7
MAT_COLS = 7
MAT_SIZE = MAT_ROWS * MAT_COLS
MAT_FOLD_SIZE = 3
@agmangas
agmangas / sl4g-routes.py
Created March 20, 2019 13:37
Script to fix SL4G VMs routing
from subprocess import Popen, PIPE
import pprint
TABLE_ALTERNATE = "alternate"
TABLE_DOCKER = "docker"
RT_TABLE_ALTERNATE = "1 {}".format(TABLE_ALTERNATE)
RT_TABLE_DOCKER = "2 {}".format(TABLE_DOCKER)
HOST_NET = "10.38.0.0/19"
@agmangas
agmangas / eleccia-builder.py
Last active October 16, 2019 10:12
Eleccia Dataset Builder
import json
import math
import pprint
from pymongo import MongoClient
MONGO_URL = "mongodb://devit.fundacionctic.org:27117"
LOG_SCALE = False
SIZE_THRESHOLD = 200
@agmangas
agmangas / time_app.py
Last active April 21, 2020 11:45
Time WoT App
import asyncio
import datetime
import functools
import json
import logging
import pprint
import random
import time
from wotpy.wot.enums import DataType