Skip to content

Instantly share code, notes, and snippets.

Robert McQueen ramcq

Block or report user

Report or block ramcq

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@ramcq
ramcq / seccomp-with-request_key.json
Created Jun 27, 2019
add request_key syscall to default docker seccomp policy
View seccomp-with-request_key.json
{
"defaultAction": "SCMP_ACT_ERRNO",
"archMap": [
{
"architecture": "SCMP_ARCH_X86_64",
"subArchitectures": [
"SCMP_ARCH_X86",
"SCMP_ARCH_X32"
]
},
@ramcq
ramcq / edu.mit.scratch.ScratchDesktop.json
Created Apr 10, 2019
Flatpak manifest for Scratch Desktop 3.0
View edu.mit.scratch.ScratchDesktop.json
{
"app-id": "edu.mit.scratch.ScratchDesktop",
"runtime": "org.freedesktop.Platform",
"runtime-version": "18.08",
"base": "org.electronjs.Electron2.BaseApp",
"base-version": "18.08",
"sdk": "org.freedesktop.Sdk",
"command": "scratch-desktop",
"separate-locales": false,
"finish-args": [
@ramcq
ramcq / repo.conf
Created Dec 19, 2018
flathub nginx conf.d fragment for ostree repo TTLs
View repo.conf
location ~ ^/repo/summary(\.sig)?$ {
root /srv/repo;
expires 1h;
add_header Cache-Control "public";
add_header Surrogate-Control "stale-if-error=86400";
}
location /repo/refs {
root /srv/repo;
expires 1m;
add_header Cache-Control "public";
@ramcq
ramcq / appstream-validator.py
Created Sep 12, 2018
Endless script to check appstream files for common appdata invalidity
View appstream-validator.py
#!/usr/bin/env python3
# This script parses all the local appstream data
# to check for apps that are missing important metadata
# that is required for proper display in gnome-software.
#
# It is recommended to run `flatpak update --apstream`
# prior to this script.
@ramcq
ramcq / packet-configure-network.py
Created Aug 21, 2018
Reads Packet.net metadata JSON and writes out RedHat style /etc/sysconfig/network-scripts config
View packet-configure-network.py
#!/usr/bin/env python3
import argparse
import glob
import ipaddress
import json
import os
import requests
PACKET_BOND_OPTIONS = 'miimon=100 downdelay=200 updelay=200 xmit_hash_policy=1 lacp_rate=1'
View eos-select-bandwidth.py
#!/usr/bin/python2
# Script inspired from https://gist.github.com/obscurerichard/3740206
import os
import sys
import subprocess
import argparse
import textwrap
View live_boot.c
static gboolean
check_for_live_boot ()
{
GError *error = NULL;
gchar *cmdline = NULL;
gboolean live_boot = FALSE;
if (g_file_get_contents ("/proc/cmdline", &cmdline, NULL, &error))
{
g_printerr ("unable to read /proc/cmdline: %s\n", error->message);
@ramcq
ramcq / gist:6919a17a59d4b4be915d
Created Mar 23, 2016
extra plugin dir for GStreamer
View gist:6919a17a59d4b4be915d
Index: gstreamer-1.6.1/common/m4/gst-plugindir.m4
===================================================================
--- gstreamer-1.6.1.orig/common/m4/gst-plugindir.m4
+++ gstreamer-1.6.1/common/m4/gst-plugindir.m4
@@ -15,3 +15,20 @@ AC_DEFUN([AG_GST_SET_PLUGINDIR],
plugindir="\$(libdir)/gstreamer-$GST_API_VERSION"
AC_SUBST(plugindir)
])
+
+dnl AC_DEFINE EXTRA_PLUGINDIR to the full location where additional plug-ins
@ramcq
ramcq / evohome.py
Created Nov 8, 2015
collectd python plugin for evohome
View evohome.py
# collectd python plugin for evohome
# Copyright 2015 Robert McQueen <robert@mcqueen.me.uk>
# GNU General Public License v2 or later, no warranty etc
#
# uses https://github.com/watchforstock/evohome-client to read temperatures and setpoints
# could be more smart in terms of keeping credentials and refreshing them when they time out rather than logging in every time
# supports multiple evohome devices
# ignores hot water
# patches welcome :)
View blocksync.py
#!/usr/bin/env python
"""
Synchronise block devices over the network
Copyright 2006-2008 Justin Azoff <justin@bouncybouncy.net>
Copyright 2011 Robert Coup <robert@coup.net.nz>
Copyright 2012 Holger Ernst <info@ernstdatenmedien.de>
Copyright 2014 Robert McQueen <robert.mcqueen@collabora.co.uk>
License: GPL
You can’t perform that action at this time.