Skip to content

Instantly share code, notes, and snippets.

View pr1sm's full-sized avatar
🚀
Stack flowin', Heap growin'

Srinivas Dhanwada pr1sm

🚀
Stack flowin', Heap growin'
View GitHub Profile
@pr1sm
pr1sm / completer.js
Created May 19, 2019 22:42
Completer class that allows deferring Promise resolution
// Completer
//
// Wrap a Promise and expose `resolve'`/`reject` safely to allow
// resolution/rejection to be determined after promise is created.
//
// Use:
// ```js
// const completer = new Completer();
//
// async function step1() {
@pr1sm
pr1sm / Expected Output
Last active May 8, 2019 19:25
Multi Level Workers (Node.js)
▶ node --experimental-worker .\base.js
[Level1] received numbers to process: [0,1,2,3,4]
[Level2] processing number: 0
[Level1] received payload from thread 2: {"__done":true,"val":4}
[Level2] processing number: 1
[Level1] received payload from thread 3: {"__done":false,"val":0}
[Level1] received payload from thread 3: {"__done":true,"val":5}
[Level2] processing number: 2
[Level1] received payload from thread 4: {"__done":false,"val":0}
[Level1] received payload from thread 4: {"__done":false,"val":1}
@pr1sm
pr1sm / list.sh
Created November 28, 2018 23:02
Data Structures for POSIX Compliant Shells
#!/bin/sh
# List Data Structure written for POSIX Compliant Shells
# Author: Srinivas Dhanwada <dhanwada.dev@gmail.com>
# source the map methods
. ./map.sh
# list methods implemented using an underlying map
list_all() {
@pr1sm
pr1sm / updateNpm.bat
Last active March 10, 2019 16:43 — forked from johnmcase/updateNpm.bat
Update npm on windows
rem see https://github.com/coreybutler/nvm-windows/issues/300
@echo off
SETLOCAL EnableDelayedExpansion
if [%1] == [] (
echo Pass in the version you would like to install, or "latest" to install the latest npm version.
) else (
set wanted_version=%1
@pr1sm
pr1sm / submit.sh
Created September 25, 2016 00:18
bash script to automatically setup submissions for CPRE 381 Labs
#!/bin/bash
# CPRE 381 Lab Submission Setup
#
# Usage: ./submit.sh <lab_directory>
#
# This script takes the directory of your lab files
# and copies all the source files and waveform files
# to a submission directory, organizing them into
# src/ and test/ subdirectories for each part.