Skip to content

Instantly share code, notes, and snippets.

View Almenon's full-sized avatar

Almenon Almenon

View GitHub Profile
const vscode = require('vscode');
const TelemetryReporter = require('vscode-extension-telemetry');
// events are in format username/extensionId/action
const extensionId = '<your extension unique name>';
const extension = extensions.getExtension(extensionId)!;
const extensionVersion = extension.packageJSON.version
// the application insights key
@Almenon
Almenon / spawnKillExample.ts
Created April 7, 2018 21:29
spawning and killing a process
import { spawn, ChildProcess } from "child_process"
child = spawn("command", ["argument"])
child.kill()
@Almenon
Almenon / processKiller.ts
Last active April 8, 2018 02:13
process killer
import {exec} from 'child_process'
/**
* kills the process and all its children
* If you are on linux process needs to be launched in detached state
* @param pid process identifier
* @param signal kill signal
*/
export function killAll(pid:number, signal:string|number='SIGTERM'){
if(process.platform == "win32"){
@Almenon
Almenon / throttle.ts
Created March 11, 2018 04:29
typescript throttling / ratelimiting
/**
* class for limiting the rate of function calls.
* Thanks to Pat Migliaccio.
* see https://medium.com/@pat_migliaccio/rate-limiting-throttling-consecutive-function-calls-with-queues-4c9de7106acc
* @example let l = new limit(); let logMessageLimited = l.throttleAndQueue(msg => { console.log(msg); }, 500);
*/
class limit{
public callQueue = []
/**
@Almenon
Almenon / steam_game_linkinator
Last active September 29, 2017 22:26 — forked from Granitosaurus/steam_game_linkinator
converts a list of games into linked items with reviews.
import requests
from parsel import Selector
# $("div.dd-image-box-caption").toArray().forEach((div)=>{console.log(div.textContent.trim())});
data = """Sam & Max: Season 1
Sam & Max: Season 2
Puzzle Agent 1
Puzzle Agent 2
Bone - Episode 1 & Episode 2