Skip to content

Instantly share code, notes, and snippets.

@Cilyan
Cilyan / 95-mkuki-install.hook
Created December 29, 2020 19:37
mkuki: Make Universal Kernel Image
[Trigger]
Type = File
Operation = Install
Operation = Upgrade
Target = usr/lib/modules/*/vmlinuz
Target = usr/lib/initcpio/*
Target = boot/*.img
Target = boot/vmlinuz-*
Target = usr/lib/systemd/boot/efi/linuxx64.efi.stub
Target = usr/share/systemd/bootctl/splash-arch.bmp
@Cilyan
Cilyan / ifearly.py
Created January 7, 2021 19:03
Modification of sphinx.ext.ifconfig to run as a Transform as early as possible. By processing the conditions early and removing the nodes that will not go to the final doctree, the goal is to reduce the amount of unexpected errors and warnings that later transforms may face when processing nodes that are not going to be included anyway.
"""
sphinxcontrib.ifearly
~~~~~~~~~~~~~~~~~~~~~
Provides the ``ifearly`` directive that allows to write documentation
that is included depending on configuration variables.
Usage::
.. ifearly:: releaselevel in ('alpha', 'beta', 'rc')
@Cilyan
Cilyan / soundtrack.py
Last active December 19, 2021 11:39
Draws the envelop (waveform) of a track on a Gtk.DrawingArea (vertically), uses PyGI and GStreamer
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Sources:
#
# https://stackoverflow.com/questions/9344888/getting-max-amplitude-for-an-audio-file-per-second
# https://git.gnome.org/browse/pitivi/tree/pitivi/timeline/previewers.py
# http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-audioconvert.html
# http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-level.html
# https://git.gnome.org/browse/pitivi/tree/pitivi/coptimizations/renderer.c
@Cilyan
Cilyan / fnv64basedhash.py
Last active May 23, 2022 15:39
Pure Python implementation of FNV64 and a custom hash suitable for urls. The hash prepends a salt in from of the data, then computes the FNV64 hash and encode the data in base64. Remember however that the FNV64 is not a cryptographic hash.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright 2014 Cilyan Olowen <gaknar@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
#include <iostream>
#include "plugins.h"
int main()
{
auto &factory = PluginSystem::PluginFactory::Instance();
auto plugin = factory.GetPlugin("Plugin1");
plugin->DoSomething();