Skip to content

Instantly share code, notes, and snippets.

View SiddharthShyniben's full-sized avatar

Siddharth SiddharthShyniben

View GitHub Profile
SiddharthShyniben / classify.js
Last active August 13, 2023 05:47
Lots of handy code golf. Mostly ported from but modernized
View classify.js
// 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))

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 /
Last active April 15, 2023 06:07

A router in 108 89 83 bytes


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 / backtracking.js
Created April 15, 2023 06:07
Maze algorithms in JavaScript
View backtracking.js
class Backtracking {
constructor(height, width) {
if (width % 2 === 0) {
width += 1;
if (height % 2 === 0) {
height += 1;
this.width = width;
SiddharthShyniben /
Last active October 25, 2022 09:35
Ninja Code from For my self reference.

Ninja code

Learning without thought is labor lost; thought without learning is perilous.


Programmer ninjas of the past used these tricks to sharpen the mind of code maintainers.
Code review gurus look for them in test tasks.
Novice developers sometimes use them even better than programmer ninjas.
Read them carefully and find out who you are – a ninja, a novice, or maybe a code reviewer?

SiddharthShyniben /
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 / Gist name here
Last active December 1, 2021 21:41
Testing gist names
View Gist name here
SiddharthShyniben / index.html
Created November 24, 2021 06:50
Drag and Drop API
View index.html
<div class="drop">
<div id="drag" draggable="true" ondragstart="event.dataTransfer.setData('text/plain', null)">
Drag me!
<div class="drop"></div>
<div class="drop"></div>
<div class="drop"></div>
SiddharthShyniben /
Created August 17, 2021 09:28
Material shadows for elevation 1-24


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);
View index.html
<section class="section">
<div class="container">
<h1 class="title">
Check the console/devtools!!
<p class="subtitle">
Or read my <strong><a href='todo'>blog post</a></strong>!