Skip to content

Instantly share code, notes, and snippets.

View kartikchauhan's full-sized avatar
🤖

kartik chauhan kartikchauhan

🤖
View GitHub Profile
@kartikchauhan
kartikchauhan / .vimrc
Last active November 22, 2019 08:17
Use this .vimrc file to boost your productivity.
" no vi compat
set nocompatible
" show line numbers
set number
" set backspace
set backspace=indent,eol,start
" automatically use the system clipboard for copy and paste.
@krishpop
krishpop / export-toby.js
Last active March 21, 2024 22:12
Export Toby
// code courtesy of Toby team
chrome.storage.local.get("state", o => (
((f, t) => {
let e = document.createElement("a");
e.setAttribute("href", `data:text/plain;charset=utf-8,${encodeURIComponent(t)}`);
e.setAttribute("download", f);
e.click();
})(`TobyBackup${Date.now()}.json`, o.state)
));
@joepie91
joepie91 / random.md
Last active May 19, 2024 18:16
Secure random values (in Node.js)

Not all random values are created equal - for security-related code, you need a specific kind of random value.

A summary of this article, if you don't want to read the entire thing:

  • Don't use Math.random(). There are extremely few cases where Math.random() is the right answer. Don't use it, unless you've read this entire article, and determined that it's necessary for your case.
  • Don't use crypto.getRandomBytes directly. While it's a CSPRNG, it's easy to bias the result when 'transforming' it, such that the output becomes more predictable.
  • If you want to generate random tokens or API keys: Use uuid, specifically the uuid.v4() method. Avoid node-uuid - it's not the same package, and doesn't produce reliably secure random values.
  • If you want to generate random numbers in a range: Use random-number-csprng.

You should seriously consider reading the entire article, though - it's

tmux cheatsheet

As configured in my dotfiles.

start new:

tmux

start new with session name: