Skip to content

Instantly share code, notes, and snippets.

View SiddharthShyniben's full-sized avatar
💭
Bored

Siddharth SiddharthShyniben

💭
Bored
View GitHub Profile
import socket
import threading
import argparse
HOST = "0.0.0.0" # Server binds here (0.0.0.0 = all interfaces)
PORT = 5000 # Default port
def handle_client(conn, addr, clients):
"""Handle incoming messages from a single client and broadcast to others."""
# lab_blackjack.py
# Multiplayer "no-dealer" Blackjack over a shared E: drive.
# Everyone runs the same script; state is coordinated via E:\<session_id>.json
# [Tech: shared-file state machine, cooperative polling, Windows file lock, Fisher–Yates shuffle,
# blackjack evaluator (soft/hard aces), turn arbitration]
import json, os, sys, time, random, tempfile, getpass
from datetime import datetime
from typing import List, Dict, Any
@SiddharthShyniben
SiddharthShyniben / classify.js
Last active August 13, 2023 05:47
Lots of handy code golf. Mostly ported from 140byt.es but modernized
// add or remove classes. classify(element, '+class-to-add -class-to-remove other-class-to-add')
(a,b)=>b.split` `.map(c=>c[0]=='-'?['remove',c.slice(1)]:['add',c[0]=='+'?c.slice(1):c]).map(([d,e])=>a[d](e))
@SiddharthShyniben
SiddharthShyniben / backtracking.js
Created April 15, 2023 06:07
Maze algorithms in JavaScript
class Backtracking {
constructor(height, width) {
if (width % 2 === 0) {
width += 1;
}
if (height % 2 === 0) {
height += 1;
}
this.width = width;
@SiddharthShyniben
SiddharthShyniben / golfs.md
Last active April 30, 2024 04:31
Golfing

A router in 108 89 83 bytes

(a,b,c=_=>(a.find(p=>b=p.path.exec(location.hash))?.render(b),c))=>onhashchange=c()

Shortened with inspiration from @Posandu

const route = (a,b,c=_=>(a.find(p=>b=p.path.exec(location.hash))?.render(b),c))=>onhashchange=c();
@SiddharthShyniben
SiddharthShyniben / sysexits.md
Created February 13, 2022 13:55
System Exit Codes

As in sysexits.h, but in a (sometimes) more accessible place. Formatted painlessly in Vim


According to style(9), it is not a good practice to call exit(3) with arbitrary values to indicate a failure condition when ending a program. Instead, the pre-defined exit codes from sysexits should be used, so the caller of the process can get a rough estimation about the failure class without looking up the source code.

The successful exit is always indicated by a status of 0, or EX_OK. Error numbers begin at EX__BASE to reduce the possibility of clashing with other exit statuses that random programs may already return. The meaning of the codes is approximately as follows:

Exit Code Description
@SiddharthShyniben
SiddharthShyniben / index.html
Created November 24, 2021 06:50
Drag and Drop API
<div class="drop">
<div id="drag" draggable="true" ondragstart="event.dataTransfer.setData('text/plain', null)">
Drag me!
</div>
</div>
<div class="drop"></div>
<div class="drop"></div>
<div class="drop"></div>

Unix wars

If you know who originally wrote this, please tell me so that I can credit them. I found this in an old hard disk.


A long time ago, at an installation far, far away...

It is a time of intra-system war, as forces of the User Alliance struggle to break the iron grip of the evil Admin Empire. Now, striking from a

@SiddharthShyniben
SiddharthShyniben / shadows.md
Created August 17, 2021 09:28
Material shadows for elevation 1-24

Pen

Elevation box-shadow
1dp 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12);
2dp 0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12);
3dp 0px 1px 8px 0px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 3px 3px -2px rgba(0, 0, 0, 0.12);
4dp 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
5dp 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
6dp 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
<section class="section">
<div class="container">
<h1 class="title">
Check the console/devtools!!
</h1>
<p class="subtitle">
Or read my <strong><a href='todo'>blog post</a></strong>!
</p>
</div>
</section>