Skip to content

Instantly share code, notes, and snippets.

import json
from operator import attrgetter
import pyalpm
handle = pyalpm.Handle("/", "/var/lib/pacman")
db = handle.get_localdb()
getpkgdata = attrgetter("name", "version")
#!/bin/bash
WINDOW_SIZE="2560x1440"
CWD="$*"
Xephyr -br -ac -noreset -screen $WINDOW_SIZE :9 &
DISPLAY=:9 xfwm4 &
sleep 1
DISPLAY=:9 lxpanel &
DISPLAY=:9 pcmanfm --desktop &
import csv
import sys
def print_dict_as_csv(dict_data):
if not dict_data:
print("The dictionary is empty.")
return
# Get the fieldnames from the keys of the first dictionary
fieldnames = dict_data[0].keys()
@radupotop
radupotop / robots.txt
Created December 10, 2023 20:40
Disallow GPTBot in robots.txt
User-agent: *
Disallow: /action
Disallow: /help
Disallow: /search
Allow: /action/showJournal
Allow: /action/showPublications
User-agent: facebookexternalhit
User-agent: LinkedInBot
User-agent: Twitterbot
from dataclasses import dataclass
from typing import Tuple, Type, Dict
VertexType = Type['Vertex']
@dataclass
class Vertex:
name: str
value: int
@radupotop
radupotop / gocryptmount.sh
Created July 21, 2023 11:03
A basic Gocryptfs mount helper.
#!/bin/bash
#
# A basic Gocryptfs mount helper.
MOUNT_NAME=$(realpath "$1")
BASE_NAME=$(basename "$MOUNT_NAME")
MOUNT_DIR="$HOME/mnt/$BASE_NAME"
logger "Mounting $MOUNT_NAME to $MOUNT_DIR"
from Crypto.PublicKey import RSA
from Crypto.Signature.pkcs1_15 import PKCS115_SigScheme
from Crypto.Hash import SHA256
import binascii
# Generate 1024-bit RSA key pair (private + public key)
keyPair = RSA.generate(bits=1024)
pubKey = keyPair.publickey()
# Sign the message using the PKCS#1 v1.5 signature scheme (RSASP1)
# Hello, and welcome to makefile basics.
#
# You will learn why `make` is so great, and why, despite its "weird" syntax,
# it is actually a highly expressive, efficient, and powerful way to build
# programs.
#
# Once you're done here, go to
# http://www.gnu.org/software/make/manual/make.html
# to learn SOOOO much more.
@radupotop
radupotop / atkinson.py
Created May 23, 2023 12:12
Atkinson dithering
#!/usr/bin/python2
import sys, PIL.Image
img = PIL.Image.open(sys.argv[-1]).convert('L')
threshold = 128*[0] + 128*[255]
for y in range(img.size[1]):
for x in range(img.size[0]):
@radupotop
radupotop / openpgp-card-guide.md
Created April 2, 2023 09:59 — forked from ageis/openpgp-card-guide.md
Quick GPG Smartcard Guide