Skip to content

Instantly share code, notes, and snippets.

View lilydjwg's full-sized avatar
🙃
dissappointed about the new UI and round avatars

依云 lilydjwg

🙃
dissappointed about the new UI and round avatars
View GitHub Profile
use std::fmt;
const UNITS: [char; 4] = ['K', 'M', 'G', 'T'];
pub struct Filesize(pub usize);
impl fmt::Display for Filesize {
fn fmt(&self, f: &mut fmt::Formatter<'_>)
-> fmt::Result {
@lilydjwg
lilydjwg / demunge-links
Created May 23, 2023 09:16
recover /rsyncd-munged/ symlinks
@lilydjwg
lilydjwg / device-powersave
Created January 26, 2023 09:43
device-powersave: turn on powersave mode for devices except USB HID ones
#!/usr/bin/python3
import os
import glob
def main():
patterns = [
'/sys/block/*/device/power/control',
'/sys/bus/i2c/devices/*/device/power/control',
'/sys/bus/pci/devices/*/power/control',
@lilydjwg
lilydjwg / pacsync
Created October 29, 2020 14:21
pacsync: sync with latest mirrors, download from fastest ones
#!/bin/bash -e
unshare -m bash <<'EOF'
mount --make-rprivate /
for f in /etc/pacman.d/*.sync; do
filename="${f%.*}"
mount --bind "$f" "$filename"
done
pacman -Sy
EOF
@lilydjwg
lilydjwg / colors.py
Last active August 12, 2024 05:35
colors.py: show all kinds of terminal colors at a glance
#!/usr/bin/python3
from functools import partial
def colors16():
for bold in [0, 1]:
for i in range(30, 38):
for j in range(40, 48):
print(f'\x1b[{bold};{i};{j}m {bold};{i};{j} |\x1b[0m', end='')
print()
@lilydjwg
lilydjwg / use-cpu.c
Last active May 10, 2020 12:53
use-cpu: nothing but uses up one cpu core, printing out how much cpu time allocated to it every second
#include<stdio.h>
#include<sys/time.h>
#include<stdbool.h>
#include<signal.h>
#include<stdint.h>
#include<sys/resource.h>
volatile uint64_t count = 0;
void alarm_handler() {
@lilydjwg
lilydjwg / zhist.c
Created February 23, 2020 11:23
A simple C program to decode & encode zsh history file
//=====================================================================
// 让 zsh 的历史记录可读
//=====================================================================
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//---------------------------------------------------------------------
void readhist();
void writehist();
void usage();
@lilydjwg
lilydjwg / gh-check
Last active September 26, 2024 09:12
gh-check: speed test to known GitHub IPs
#!/usr/bin/python3
import asyncio
import time
import socket
import argparse
import aiohttp
class MyConnector(aiohttp.TCPConnector):
@lilydjwg
lilydjwg / findorphanfiles
Created August 3, 2019 07:43
Find files not managed by pacman (for Arch Linux and derivatives)
#!/usr/bin/python3
import os
def allrepofiles():
repo = '/var/lib/pacman/local'
files = set()
for dirpath, dirnames, filenames in os.walk(repo):
for file in filenames:
if file != 'files':
@lilydjwg
lilydjwg / btrfs-autosnapshot
Last active May 19, 2024 04:07
btrfs-autosnapshot
#!/usr/bin/python3
import os
import datetime
import subprocess
import logging
import tempfile
import contextlib
from pathlib import Path