Skip to content

Instantly share code, notes, and snippets.

View forksofpower's full-sized avatar
:shipit:

Patrick Jones forksofpower

:shipit:
View GitHub Profile
@forksofpower
forksofpower / britpop_index.ts
Created February 14, 2024 04:12
Sphere animation from BritPop.online
import "./form";
import * as THREE from "three";
const image = new URL("britpop 2.webp", import.meta.url);
const canvas = document.querySelector("canvas")!;
const emailSignup = document.querySelector<HTMLElement>(".email-signup")!;
let scene: THREE.Scene,
camera: THREE.PerspectiveCamera,
@forksofpower
forksofpower / api-client.http
Last active July 8, 2023 00:34
Sample `.http` File for microservice development
@baseUrl = http://localhost
@postsApi = {{baseUrl}}:4000
@commentsApi = {{baseUrl}}:4001
@queryApi = {{baseUrl}}:4002
###
# 1. create a new post
# @name post
POST {{postsApi}}/posts HTTP/1.1
Content-Type: application/json
/* eslint-disable @typescript-eslint/unified-signatures */
/* eslint-disable @typescript-eslint/naming-convention */
interface ZendeskWidgetCommander {
/** @see https://developer.zendesk.com/embeddables/docs/widget/core#clear */
(type: 'webWidget', command: 'clear'): void;
/** @see https://developer.zendesk.com/embeddables/docs/widget/core#close */
(type: 'webWidget', command: 'close'): void;
/** @see https://developer.zendesk.com/embeddables/docs/widget/core#get-display */
printf eval >> ~/.zshrc; source ~/.zshrc
evalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalevalev
import v8 from 'v8';
v8.writeHeapSnapshot(`${Date.now()}.heapsnapshot`);
const fetchShipengineDirectLoginUrl = (sellerId) => {
return new Promise((res, rej) => {
jsonFetch('/shipengine-direct-login', {
method: 'POST',
body: {
sellerId: `se-${sellerId}`,
},
}).then((resp) => {
console.log('DATA FROM EXPRESS SERVER: ', resp.body.redirect_url);
res(resp.body.redirect_url);
@forksofpower
forksofpower / setup.md
Last active December 9, 2021 03:21
Macbook Dev Environment Setup
  • brew
  • vscode
  • git
  • iterm2
  • Zsh
  • Oh My ZSH
  • NVM
  • Node.js
  • Docker
  • Eslint
@forksofpower
forksofpower / gist:3890aab28645b75e58b487568e5f341a
Created June 26, 2021 23:07
Load objects from module import
interface ObjectConstructor {
keys<T>(o: T): ObjectKeys<T>;
}
function reduce<TElement, TResult>(
array: TElement[],
reducer: (result: TResult, el: TElement) => TResult,
initialResult: TResult
): TResult {
let result = initialResult;
for (const element of array) {
@forksofpower
forksofpower / int_range.md
Created October 14, 2020 16:47
Iterate over values from 0 to n
  [...Array(n)].map((_,i) => i+1).map(x => { ... })

is similar to

  for(let i = 1; i <= n; i++) { ... }
@forksofpower
forksofpower / devise_rails_template.rb
Last active September 21, 2020 20:51
Rails 6 with Devise Starter Template
# frozen_string_literal: true
# Writing and Reading to files
require 'fileutils'
def add_gems
gem 'devise'
gem 'simple_form'
end