Skip to content

Instantly share code, notes, and snippets.

@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.

@Rahix
Rahix / PKGBUILD
Created June 4, 2018 16:13
PKGBUILD for lollypop-transparent
# Maintainer: Dan Beste <dan.ray.beste@gmail.com>
# Contributor: Frederic Bezies < fredbezies at gmail dot com>
# Contributor: Ian Brunelli (brunelli) <ian@brunelli.me>
pkgname="lollypop-transparent"
_gitname="lollypop-transparent"
_gitname_orig="lollypop"
pkgdesc='Lollypop with a transparent background'
pkgver=0.9.304.r573.g20395d12
pkgrel=1
@Rahix
Rahix / main.rs
Last active December 29, 2018 13:05
Static and Dynamic Dispatch at the same time
trait Foo {
fn bar(&self);
}
impl Foo for &dyn Foo {
fn bar(&self) {
(*self).bar();
}
}
@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 / 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_()