Skip to content

Instantly share code, notes, and snippets.

@Rahix
Rahix / A_parts.rs
Last active January 19, 2019 20:24
Proof of concept for moveable parts
https://start.duckduckgo.com/// These are our "fake" pins
#[derive(Debug)]
pub struct PA;
#[derive(Debug)]
pub struct PB;
#[derive(Debug)]
pub struct PC;
#[derive(Debug)]
pub struct PD;
@Rahix
Rahix / echoed.c
Last active December 16, 2019 21:00
echoed - A very questionable daemon for converting upper-case and lower-case
/*
* echoed - Pipedeamon which changes to lowercase and uppercase
* Copyright (C) 2019 Harald Seiler
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
@Rahix
Rahix / PKGBUILD
Last active September 8, 2021 19:41
gimp-plugin-vtf PKGBUILD
pkgname=gimp-plugin-vtf
pkgver=1.0+1+g76c40be
pkgrel=1
pkgdesc="VTF GIMP plugin"
url="https://github.com/linux-source-tools/gimp-plugin-vtf"
arch=(x86_64)
license=(unknown)
depends=(gimp)
makedepends=(cmake)
_commit=e351d8eafb7e7af3193d750ef61783e02ad61a8b
@Rahix
Rahix / node_editor.qml
Created March 9, 2016 16:00
QML Node editor proof of concept. Works with my gtk themes, but may not work with others (non-dynamic spacing)
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Extras 1.4
import QtQuick.Window 2.2
import QtPositioning 5.5
ApplicationWindow {
id: window
visible: true
width: 640
@Rahix
Rahix / profibus_scan.py
Last active October 29, 2022 09:54
Script to scan a PROFIBUS network for all online peripherals using pyprofibus
# SPDX-License-Identifier: GPL-2.0-or-later
from pyprofibus import phy_serial
from pyprofibus import fdl
import pyprofibus
def main():
phy = phy_serial.CpPhySerial("/dev/ttyUSB0")
phy.setConfig(baudrate=phy_serial.CpPhy.BAUD_19200)
phy.debug = 1
@Rahix
Rahix / EdgeLength.FCMacro
Created February 11, 2023 22:45
FreeCAD macro to calculate the cumulative length of all selected edges
# inspired by https://forum.freecad.org/viewtopic.php?t=44309
from PySide import QtCore, QtGui
edges = FreeCADGui.Selection.getSelectionEx()[0].SubObjects
length = sum(e.Length for e in edges)
print(f"Length of selected edges is {length:.2f} mm.")
diag = QtGui.QMessageBox(QtGui.QMessageBox.Information, "Edge Length", f"Length of selected edges is {length:.2f} mm.")
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()
@Rahix
Rahix / 01-rust-thread-affinity.md
Last active December 11, 2023 05:27
Rust demonstration of setting thread affinity with pthread_setaffinity_np

Call this program with -s N to set a specific CPU. Without -s, the thread will have the default affinity.

This program will print out the main threads CPU, the child threads CPU and the child threads affinity after optionally setting it.