Skip to content

Instantly share code, notes, and snippets.

Alicia Boya García ntrrgc

Block or report user

Report or block ntrrgc

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
@ntrrgc
ntrrgc / traceback-add-offsets.py
Created Jul 25, 2018
Add library offsets to otherwise useless WebKit crash tracebacks (requires saving /proc/{pid}/maps somewhere before the crash)
View traceback-add-offsets.py
import os
import re
from collections import namedtuple
path_maps = os.path.expanduser("~/tmp/rpi-crash-maps")
path_stack = os.path.expanduser("~/tmp/rpi-crash-stack")
MapsLine = namedtuple("MapsLine", ["start", "end", "file"])
@ntrrgc
ntrrgc / page-watcher.cpp
Created Jun 30, 2018
Proof of concept for page-based watchpoints
View page-watcher.cpp
#define __USE_POSIX199309
#include <cassert>
#include <signal.h>
#include <mutex>
#include <functional>
#include <sys/ptrace.h>
#include <malloc.h>
#include <sys/mman.h>
#include <unistd.h>
#include <set>
@ntrrgc
ntrrgc / webkit-remote-build.sh
Created Sep 15, 2017
WebKit remote build with delta downloads
View webkit-remote-build.sh
#!/bin/bash
set -eu
BUILD_HOST=homura.local
BUILD_ARGS=(--gtk --debug)
REMOTE_BUILD_DIR=WebKitBuild/Debug
LOCAL_BUILD_DIR=WebKitBuild/Debug
# Files big enough to deserve xdelta transfer
# Generate with the following command:
@ntrrgc
ntrrgc / gen-edit-lists.py
Last active Mar 22, 2018
Generate crazy MP4 edit lists to be added to media files for testing.
View gen-edit-lists.py
#!/usr/bin/python3
#
# Generate crazy MP4 edit lists to be added to media files for testing.
#
# 1. Modify the timescales below with the actual values from the MP4 file.
#
# 2. Run the following commands to patch the file with Bento:
#
# # Remove previously existing edit list (optional, only if there is some)
# mp4edit --remove moov/trak/edts original.mp4 patched1.mp4
@ntrrgc
ntrrgc / graceful-libvirtd-shutdown.service
Created Aug 20, 2017
Gracefully shutdown libvirtd VMs on shutdown. Start and enable the provided systemd service for it to work.
View graceful-libvirtd-shutdown.service
[Unit]
Description=Wait for VMs to shutdown gracefully
After=libvirtd.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/home/ntrrgc/dotfiles/bin/vm-shutdown
[Install]
@ntrrgc
ntrrgc / patch-qtcreator-project.py
Created Jul 31, 2017
Script to import CMake flags into a QtCreator project file
View patch-qtcreator-project.py
#!/usr/bin/env python
# Usage: python patch-qtcreator-project.py CMakeLists.txt.user -DPORT=GTK -DENABLE_MEDIA_SOURCE=ON ...
from argparse import ArgumentParser
from xml.etree import ElementTree
def clean_cmake_args(cmake_args):
"""
Not all arguments are relevant for QtCreator.
Returns a list with only the relevant ones.
@ntrrgc
ntrrgc / find-borders.cpp
Created Apr 21, 2016
This program scans images in order to find white borders having no substantial content inside.
View find-borders.cpp
/*
* This program scans images in order to find white borders having no
* substantial content inside. This can be used to automatically crop
* meaningless parts of images.
*
* This program is designed to work only with white backgrounds.
*
* A Qt based test utility is provided in the main() function.
*
* Copyright (c) 2016 Juan Luis Boya
@ntrrgc
ntrrgc / spotify-heisenbug.sh
Created Jan 27, 2016
Ugliest hack in quite a time... Fixes the volume control lag in Spotify in the weirdest way you can imagine.
View spotify-heisenbug.sh
#!/bin/bash
# For some reason, volume control lags in Spotify, but not when pavucontrol is
# executing.
#
# Other volume control apps, like gnome-control-center are not enough, it has
# to be pavucontrol.
#
# This is unfortunate, among other reasons, because pavucontrol uses quite a
# few CPU resources while opened.
@ntrrgc
ntrrgc / example.js
Created Dec 15, 2015
fibrous example
View example.js
var fibrous = require('fibrous');
var fs = require('fs');
var wait = function wait(ms, callback) {
setTimeout(callback, ms);
};
function getSomething() {
var a = fs.sync.readFile('/tmp/a', 'utf8');
var b = fs.sync.readFile('/tmp/b', 'utf8');
@ntrrgc
ntrrgc / comprimir_fotos.sh
Last active Nov 22, 2015
Comprimir fotos
View comprimir_fotos.sh
#!/bin/bash
if [ ! $# -eq 2 ]; then
echo "Este es un script para comprimir fotos."
echo "Uso: $1 <carpeta con fotos originales> <carpeta de destino para las fotos comprimidas>"
fi
if ! which convert > /dev/null 2>&1; then
echo "No tienes imagemagick... Procedo a instalarlo."
sudo bash -c 'apt-get update && apt-get -y install imagemagick'
fi
You can’t perform that action at this time.