Skip to content

Instantly share code, notes, and snippets.

Avatar
🔥
SLAYING BUGS

Wes Bos wesbos

🔥
SLAYING BUGS
View GitHub Profile
@wesbos
wesbos / download-shows.ts
Created Nov 11, 2020
deno syntax episode downloader
View download-shows.ts
// deno run --allow-net --allow-write download-shows.ts
import { download } from "https://deno.land/x/download/mod.ts";
const showList = 'https://syntax.fm/api/shows';
async function getShowList(): Promise<Show[]> {
const list = await (await fetch(showList)).json();
return list;
}
View cities.json
[
{
"city": "New York",
"growth_from_2000_to_2013": "4.8%",
"latitude": 40.7127837,
"longitude": -74.0059413,
"population": "8405837",
"rank": "1",
"state": "New York"
},
View node-google-speech-to-text.js
import speech from '@google-cloud/speech';
import fs from 'fs';
import dotenv from 'dotenv';
dotenv.config();
async function main() {
const client = new speech.SpeechClient();
const config = {
@wesbos
wesbos / fake.js
Created Sep 16, 2020
fake-your-git-history.js
View fake.js
let currentColor = '#ebedf0';
let clicking = false;
const boxes = document.querySelectorAll('.js-calendar-graph-svg rect');
const graph = document.querySelector('.js-calendar-graph-svg');
// code for switching the current color
function handleColorChange(e) {
const el = e.currentTarget;
currentColor = el.style['background-color'];
console.log(currentColor)
View invert-favicon.js
function invert() {
// grab the favicon
const icon = document.querySelector('link[rel*="icon"]');
if (!icon) return;
// make a canvas
const canvas = document.createElement('canvas');
canvas.width = 128;
canvas.height = 128;
document.body.append(canvas);
const ctx = canvas.getContext('2d');
View coo.js
// get an array of all the keys on the window
const dirty = Object.keys(window);
// Then create an iframe set to nothing
const iframe = document.createElement('iframe');
iframe.src = '';
// put it into the DOM
document.body.append(iframe);
View sarcastic.js
/* eslint-disable */
String.prototype.sarcastic = function() {
return [...this]
.map((char, i) => char[`to${i % 2 ? 'Upper' : 'Lower'}Case`]())
.join('');
};
View tree.zsh
# Uses tree - install first:
# brew install tree
function t() {
# Defaults to 3 levels deep, do more with `t 5` or `t 1`
# pass additional args after
tree -I '.git|node_modules|bower_components|.DS_Store' --dirsfirst --filelimit 15 -L ${1:-3} -aC $2
}
View chunkify.js
// this is a big array of 76 items I need to split into groups of 10
const hugeArray = Array.from({ length: 76 }, (_, i) => i);
function chunkify(array, chunkSize = 10) {
// make a new array
const chunks = Array.from(
// give it however many slots are needed - in our case 8
// 1-7 with 10 items, and 8th slot will have 6
{ length: Math.ceil(array.length / chunkSize) },
// this is a map function that will fill up our slots
You can’t perform that action at this time.