Skip to content

Instantly share code, notes, and snippets.

View jefftriplett's full-sized avatar
Living the dream

Jeff Triplett jefftriplett

Living the dream
View GitHub Profile

Hacky Way to Get Among Us Running with "Local" Rather than the Central Servers

You will need one user who is the Admin and will run the Local game, and all Users will connect to the Admin's network. Instructions for each user - Admin and User - are below.

Admin:

  • Download and run ZeroTier on your machine
  • Sign in to the web client (my.zerotier.com/network)
    • Ensure it's set to private so rando's don't join
  • Share the Network ID with all your users, and when they join click the checkbox in the in the "Auth?" Column
@senderle
senderle / hand-modify-pdf.md
Created September 23, 2020 15:03
So you want to modify the text of a PDF by hand

So you want to modify the text of a PDF by hand...

If you, like me, resent every dollar spent on commercial PDF tools, you might want to know how to change the text content of a PDF without having to pay for Adobe Acrobat or another PDF tool. I didn't see an obvious open-source tool that lets you dig into PDF internals, but I did discover a few useful facts about how PDFs are structured that I think may prove useful to others (or myself) in the future. They are recorded here. They are surely not universally applicable --
the PDF standard is truly Byzantine -- but they worked for my case.

@epicserve
epicserve / example.com.import.txt
Last active March 11, 2023 14:04
Example Terraform file for importing DNS Records from DigitalOcean
digitalocean_domain.example example.com
digitalocean_record.example example.com,<DO ID>
digitalocean_record.fd-gmail-txt example.com,<DO ID>
digitalocean_record.fd-mx["alt1.aspmx.l.google.com."] example.com,<DO ID>
digitalocean_record.fd-mx["alt2.aspmx.l.google.com."] example.com,<DO ID>
digitalocean_record.fd-mx["aspmx.l.google.com."] example.com,<DO ID>
digitalocean_record.fd-mx["aspmx2.googlemail.com."] example.com,<DO ID>
digitalocean_record.fd-mx["aspmx3.googlemail.com."] example.com,<DO ID>
digitalocean_record.fd-ns["1"] example.com,<DO ID>
digitalocean_record.fd-ns["2"] example.com,<DO ID>

defaults:

  • npm config set init-author-name ""
  • npm config set init-author-url ""
  • npm config set init-author-email ""
  • npm config set init-license "ISC"
  • npm config set init-version "1.0.0"

custom (example)

  • npm config set init-author-name "Tierney Cyren"
  • npm config set init-author-url "https://bnb.im"
################################################
# Compile with:
# docker build -t mcr.microsoft.com/playwright:python-buster -f Dockerfile.buster .
#
# Run with:
# docker run -d -p --rm --name playwright mcr.microsoft.com/playwright:python-buster
#
#################################################
FROM python:3.8-slim-buster
@nileshtrivedi
nileshtrivedi / home-server.md
Last active June 1, 2024 00:11
Home Server setup: Raspberry PI on Internet via reverse SSH tunnel

Raspberry Pi on Internet via reverse SSH tunnel

HackerNews discussed this with many alternative solutions: https://news.ycombinator.com/item?id=24893615

I already have my own domain name: mydomain.com. I wanted to be able to run some webapps on my Raspberry Pi 4B running perpetually at home in headless mode (just needs 5W power and wireless internet). I wanted to be able to access these apps from public Internet. Dynamic DNS wasn't an option because my ISP blocks all incoming traffic. ngrok would work but the free plan is too restrictive.

I bought a cheap 2GB RAM, 20GB disk VM + a 25GB volume on Hetzner for about 4 EUR/month. Hetzner gave me a static IP for it. I haven't purchased a floating IP yet.

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_PN532.h> // Note: This needs to be edited to exclude the bounds check, lines 1334-1351 should be commented out
#define PN532_IRQ (2)
#define PN532_RESET (3) // Not connected by default on the NFC Shield
// This is using the NFC shield, if you are using the breakout you will need to change these pins
Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET);
@matthiasott
matthiasott / vscode-extensions.sh
Created April 23, 2020 00:08
A bash script to install Visual Studio Code extensions via the CLI
# https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments
code --install-extension aaron-bond.better-comments
# https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager
code --install-extension alefragnani.project-manager
# https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client
code --install-extension bmewburn.vscode-intelephense-client
# https://marketplace.visualstudio.com/items?itemName=christian-kohler.npm-intellisense
@pauleveritt
pauleveritt / hynek_protocols.py
Created April 18, 2020 15:56
Writeup of using Protocols for pluggable components.
"""
I'm interested Python and the Modern Web. Including, a modern
approach to templating: developer-focused, closer to Python,
where code quality tools can help. Draft:
https://viewdom-wired.readthedocs.io/en/latest/why.html
I'm working on pluggable "components", as that link shows. Normally
I'd throw zope.interface at it, but PEP 544 Protocols is more realistic:
mypy support by default, some IDE integration to help DX, etc.
@adamchainz
adamchainz / double_checked_lock_iterator.py
Created February 28, 2020 17:18
double_checked_lock_iterator.py
# refactor of https://lukeplant.me.uk/blog/posts/double-checked-locking-with-django-orm/
# untested
def double_checked_lock_iterator(queryset):
for item_pk in queryset.values_list("pk", flat=True):
with transaction.atomic():
try:
yield queryset.select_for_update(skip_locked=True).get(id=item_pk)
except queryset.model.DoesNotExist:
pass