Skip to content

Instantly share code, notes, and snippets.

View theoparis's full-sized avatar

Theo Paris theoparis

View GitHub Profile
@theoparis
theoparis / emerge.py
Last active October 13, 2024 10:21
Send emerge output from gentoo portage to a custom discord status
from sh import tail
import json
import requests
import os
import re
import time
token = os.environ.get("DISCORD_TOKEN")
for text in tail("-f", "/var/log/emerge.log", _iter=True):
package com.theoparis.fluidcraft_datagen;
import com.google.common.base.CaseFormat;
import java.lang.reflect.RecordComponent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@theoparis
theoparis / FindLLVM.cmake
Created September 18, 2023 01:15
cmake/FindLLVM.cmake
# LLVM_FOUND
# LLVM_INCLUDE_DIRS
# LLVM_LIBRARIES
# LLVM_LIBDIRS
set(LLVM_CONFIG_ERROR_MESSAGES "")
unset(LLVM_CONFIG_EXE CACHE)
find_program(LLVM_CONFIG_EXE
NAMES llvm-config NAMES_PER_DIR
)
@theoparis
theoparis / index.ts
Created April 28, 2023 09:45
thash zig + bun backup
const modes = {
argon2d: 0,
argon2i: 1,
argon2id: 2,
};
export type Mode = keyof typeof modes;
export type WasmExports = {
memory: { buffer: ArrayBuffer };
hptr: () => number;
@theoparis
theoparis / shell.nix
Last active March 31, 2023 06:19
LLVM MLIR Nix Shell
# BSD Zero Clause License
#
# Copyright (c) 2023 Theo Paris
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
@theoparis
theoparis / idevicerestore.sh
Last active April 2, 2023 01:46
idevicerestore.sh
#!/bin/sh
set -oux
git clone https://github.com/libimobiledevice/libirecovery -j$(nproc)
git clone https://github.com/libimobiledevice/idevicerestore -j$(nproc)
git clone https://github.com/libimobiledevice/libimobiledevice-glue -j$(nproc)
git clone https://github.com/libimobiledevice/usbmuxd -j$(nproc)
git clone https://github.com/libimobiledevice/libimobiledevice -j$(nproc)
git clone https://github.com/libimobiledevice/libusbmuxd -j$(nproc)
git clone https://github.com/libimobiledevice/libplist -j$(nproc)
@theoparis
theoparis / main.rs
Last active March 1, 2023 16:46
rust + hyper http dynamic routing
#![feature(async_closure)]
use crate::handler::router::handle;
use anyhow::Result;
use futures::future::FutureExt;
use handler::router::DynamicRouter;
use hyper::{
service::{make_service_fn, service_fn},
Body, Response, Server, StatusCode,
};
use matchit::Router;
@theoparis
theoparis / build.zig
Created October 30, 2022 03:56
build.zig wip errors
const std = @import("std");
const builtin = @import("builtin");
const builder = @import("builder/main.zig");
const Features = std.Target.x86.Feature;
const kernel_build_mode: std.builtin.Mode = .Debug;
const user_build_mode: std.builtin.Mode = .ReleaseSafe;
const target = blk: {
@theoparis
theoparis / build.sh
Last active October 28, 2022 22:36
build statically linked cross gcc compiler (assumes you have downloaded the sources and prequsities for gcc)
#!/bin/sh
set -e
TARGET=${TARGET:-"x86_64-linux-musl"}
PREFIX=${PREFIX:-"/usr/local/dev/gcc"}
CC=${CC:-"gcc"}
CXX=${CXX-"g++"}
LANGUAGES=${LANGUAGES:-"c,c++,go"}
./configure \
const std = @import("std");
const c = @cImport({
// linux networking headers for modifying interfaces
@cInclude("ifaddrs.h");
@cInclude("net/if.h");
@cInclude("sys/ioctl.h");
});
pub const SIOCGIFINDEX = 0x8933;
pub const SIOCGIFFLAGS = 0x8934;