Skip to content

Instantly share code, notes, and snippets.

@trabulium
trabulium / nema17_chatGPT_first_attempt
Created February 3, 2023 04:52
chatGPT 1st Attempt to create FreeCAD adaptor for Nema17
import FreeCAD
import Part
def create_adapter_plate():
# Define Nema17 dimensions
width = 42.3
length = 42.3
bolt_diameter = 4.0
shaft_diameter = 5.0
height = 10.0
@trabulium
trabulium / regex_check_au_street
Created September 19, 2023 02:29
Checks if the string matches any of the forms of Australian Streets, Roads, Alleys, Boulevard, Drive, Esplanade etc.
$pattern = "/\d+[A-Za-z]{0,1}[ ](?:[A-Za-z0-9'.-]+[ ]?)+(?:Alley|Ally|Arcade|Arc|Avenue|Av|Ave|Boulevard|Blv|Blvd|Bvd|Bypass|Bypa|Circuit|Circle|Cir|Ct|Cct|Close|Cl|Corner|Crn|Court|Ct|Crt|Crescent|Cres|Crs|Cul-de-sac|Cds|Drive|Dve|Dr|Esplanade|Esp|Gardens|Green|Grn|Grove|Gr|Heights|Highway|Hwy|Junction|Jnc|Lane|Lane|Link|Link|Loop|Mews|Mews|Outlook|Pane|Parade|Pde|Place|Pl|Ridge|Rdge|Rise|Road|Rd|Square|Sq|Street|ST|St|Terrace|Tce|The|Way|Walk|Box|Driftway)\.?/";
@trabulium
trabulium / quickie_bash_challenge_bots
Created March 17, 2024 02:29
Tails the apache / nginx logs for the last 5000 and excludes requests to static assets and then either block on firewall or challenges on Cloudflare
#!/bin/bash
LOG=/var/www/path_to/log/access.log
COUNTS=`/usr/bin/tail -5000 $LOG | grep -iv "Cloudflare-Healthchecks\|M2ePro\|UptimeRobot\|api\| 403 \|googlebot\|AdsBot-Google\|bing\|png\|jpg\|gif\|svg\|css\|js" | awk {'print $1'} | sort | uniq -c | sort -rn | head -1 | awk {'print $1'}`
IPADDRESS=`/usr/bin/tail -5000 $LOG | grep -iv "Cloudflare-Healthchecks\|M2ePro\|UptimeRobot\|api\| 403 \|googlebot\|AdsBot-Google\|bing\|png\|jpg\|gif\|svg\|css\|js" | awk {'print $1'} | sort | uniq -c | sort -rn | head -1 | awk {'print $2'}`
COUNTRY=`/usr/bin/geoiplookup $IPADDRESS | grep Country | awk {'print $5'}`
import 'dart:typed_data';
import 'dart:async';
import 'dart:math' as math;
enum AcknowledgementResult {
AckReceived,
NakReceived,
CrcCommand,
EotReceived,