Skip to content

Instantly share code, notes, and snippets.

View moriarty99779's full-sized avatar

Brian Wasner moriarty99779

  • 09:36 (UTC -05:00)
View GitHub Profile
@moriarty99779
moriarty99779 / gist:945b9c9f158726582f5c0991a132a60c
Created July 10, 2025 06:20
Simple Space Invaders using Python and PyGame
import pygame
import random
import math
import os
# Initialize
pygame.init()
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Space Invaders")
@moriarty99779
moriarty99779 / gist:3d47c48f9a5f09c3905e766d7d7cb460
Created July 10, 2025 05:58
PHP 8 Singleton PostgreSQL Database Connection
<?php
class Database {
private static ?Database $instance = null;
private ?resource $connection = null;
private string $host;
private string $dbname;
private string $user;
private string $password;
@moriarty99779
moriarty99779 / gist:82d4574a9d007d0c253e3580abc83a36
Created July 10, 2025 05:53
Rust Code to Find Open Ports on Subnet
use std::net::{TcpStream, Ipv4Addr, SocketAddr};
use std::time::Duration;
use std::thread;
const TIMEOUT: Duration = Duration::from_secs(1);
const PORT_RANGE: std::ops::Range<u16> = 1..1024;
fn main() {
let local_ip = get_local_ip().expect("Could not get local IP address");
let subnet = get_subnet(&local_ip);
<?php
class PortScanner {
private $subnet;
private $ports;
private $timeout;
public function __construct($subnet, $ports = [80, 443, 22, 21, 23], $timeout = 1) {
$this->subnet = $subnet; // The local subnet in CIDR notation (e.g., 192.168.1.0/24)
@moriarty99779
moriarty99779 / gist:05a670ef9b815e9e56fbee127b028c1e
Created May 29, 2024 22:32
Javascript - Find difference between two dates
const differenceBetweenDates = (date1, date2) => Math.abs(Math.floor((date2 - date1) / (1000 * 60 * 60 * 24)));
document.write(differenceBetweenDates("2773-01-17", "2774-01-18"));
@moriarty99779
moriarty99779 / gist:e38e0e9c07609f655f3636c0d9a6a340
Created May 29, 2024 22:29
Javascript - Convert object key value pairs to URL parameters
const objectToURLParams = (obj) => Object.entries(obj).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join('&');
@moriarty99779
moriarty99779 / gist:8195c31a8e6bc2194bdb4720a7a7e987
Created May 29, 2024 22:25
Javascript - Convert seconds to HH:MM:SS
const secondsToHHMMSS = (seconds) => {
  const hours = Math.floor(seconds / 3600);
  const remainingSeconds = seconds % 3600;
  const minutes = Math.floor(remainingSeconds / 60);
  const remainingSecs = remainingSeconds % 60;
  return `${hours}:${minutes}:${remainingSecs}`;
};
document.write(secondsToHHMMSS(7320));
@moriarty99779
moriarty99779 / gist:1c1f5a74a6a1843e14e27628a045a361
Created May 29, 2024 22:21
Javascript - Randomize the characters in a string
const randomizeString = (str) => str.split('').sort(() => 0.5 - Math.random()).join('');
document.write(randomizeString("Every good boy deserves fudge!");
@moriarty99779
moriarty99779 / gist:a8bc0776cf51c7a6c5ede321ccadf408
Created May 29, 2024 22:17
Javascript - Check if string is a valid IPv4 address
const checkIsValidIPv4 = (ip) => /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(ip);
document.write(checkIsValidIPv4("192.168.1.1"));
@moriarty99779
moriarty99779 / gist:376fcd8fb1a1e56cfd554ac6f9796517
Created May 29, 2024 22:12
Javascript - Check if a string is a valid US telephone number
const checkIsValidUSPhoneNumber = (phone) => /^(?:(?:\+1\s?)?(?:\(?\d{3}\)?[\s.-]?)?\d{3}[\s.-]?\d{4})$/.test(phone);
document.write(checkIsValidUSPhoneNumber("+1 (123) 456-7890"));