Skip to content

Instantly share code, notes, and snippets.

@greg76
greg76 / boids.py
Last active December 5, 2023 10:55
simple demonstration of boids
"""\
Boids is an artificial life program, which simulates the flocking behaviour of birds, and related group motion.
Some resources I'd recommend if you wanted to learn more about boids:
* https://en.wikipedia.org/wiki/Boids
* https://people.ece.cornell.edu/land/courses/ece4760/labs/s2021/Boids/Boids.html
* http://www.red3d.com/cwr/boids/
This is my quick excercise to make a simplified, 2d, retro inspiried implementation.
"""
@greg76
greg76 / bootstrap.sh
Last active December 5, 2023 10:27 — forked from GrfxGuru/bootstrap_mac.sh
Bootstrap for setting up a new macOS machine
#!/usr/bin/env bash
#
# Bootstrap script for setting up a macOS machine
#
# Requires xcode and tools!
xcode-select -p || exit "XCode must be installed! (use the app store)"
echo "Starting bootstrapping"
@greg76
greg76 / race.py
Created November 4, 2022 12:46
emojie animals racing in the terminal
import os
import time
import random
animals = "🐅🐆🦓🦣🐘🦛🦏🐪🦒🦘🦬🐃🐂🐄🐎🐖🐏🦙🐐🦌🐕🐈🐓🐇🦝"
#animals = "🐶🐱🐭🐰🦊🐻🐼🦁🐯🐨🐻🐮"
width = os.get_terminal_size().columns - 2
pos = [width] * len(animals)
@greg76
greg76 / panic.py
Created March 31, 2022 15:18
check the time of the last kernel panic on you mac
import os
import datetime
with os.popen("nvram -p") as out:
ts_line = next((line for line in out.readlines() if line.startswith("panicmedic-timestamps")), None)
if ts_line:
ts_hex = ts_line.split("\t")[-1]
ts_int = int(ts_hex, 16)
ts = datetime.datetime.fromtimestamp(ts_int // 1000000)
print(f"Last kernel panic: {ts}")
@greg76
greg76 / wordle.py
Last active February 14, 2022 09:42
what are the best words to start wordle with?
import collections
with open("words.txt") as f:
# let's read the words from the file, but ignore anything that ends with s
# just to remove plurals
words = [line.strip() for line in f.read().splitlines() if line[4] != "s"]
# how often the different letter occur?
occurances = collections.Counter()
for word in words:
@greg76
greg76 / homebrew-top.py
Last active September 14, 2021 18:09
fastest growing homebrew packages
import locale
import requests
import tabulate
locale.setlocale(locale.LC_ALL, "en_US")
# available snapshots: 30, 90, 365 days
data_ranges = {"new": 30, "old": 90}
@greg76
greg76 / tilted-chessboard.py
Last active May 18, 2020 06:02
recreated a tiny effect in python. for the lulz.
import pyxel
class Intro:
def __init__(self):
pyxel.init(160, 120, caption="Greg was here")
self.timer = 0
pyxel.run(self.update, self.draw)
def update(self):
@greg76
greg76 / scroll.py
Last active May 4, 2020 10:11
old school sinus text demoscene effect for starting experimenting with pyxel retro game engine
import math
import random
import pyxel
class Intro:
def __init__(self):
pyxel.init(160, 120, caption="Twin Sectors")
self.amplitude = 10
@greg76
greg76 / pocketmine.sh
Last active March 26, 2020 10:54
simple shell script to run pocketmine as a service/daemon
#!/bin/sh
### BEGIN INIT INFO
# Provides: pocketmine
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
@greg76
greg76 / emoji_terrain.py
Created March 21, 2020 22:18
terrain generation
import random
import math
size = (40, 25)
field_types = "🏔⛰🌲🌳🌴🏜🌊"
def voronoi_map():
no_seeds = 20
seeds = [
{