Skip to content

Instantly share code, notes, and snippets.

View nickbytes's full-sized avatar
⚗️

Nick Beattie nickbytes

⚗️
View GitHub Profile
@sregg
sregg / e2e.yml
Created April 11, 2024 09:14
Maestro GitHub Actions Workflow
name: E2E tests
on:
workflow_dispatch:
# daily builds on week days at 6pm EDT (22:00 UTC or 23:00 UTC (day light savings adjustment))
schedule:
- cron: '00 23 * * 1,2,3,4,5'
env:
NO_FLIPPER: 1
@khalidx
khalidx / node-typescript-esm.md
Last active November 14, 2024 08:26
A Node + TypeScript + ts-node + ESM experience that works.

The experience of using Node.JS with TypeScript, ts-node, and ESM is horrible.

There are countless guides of how to integrate them, but none of them seem to work.

Here's what worked for me.

Just add the following files and run npm run dev. You'll be good to go!

package.json

The target audience is people who are familiar with Urbit's architecture, though not necessarily much of its code.

Plunder and Urbit

As some of you already know, i recently left my job as a core dev for the Urbit Foundation to work on a similar system called Plunder. Plunder was created in 2020 by two former Tlon employees, after their proposal for a new version of Nock was rejected. They have since reworked that significantly and built a reference implementation of their own system. You can follow its continued development on its mailing list.

I've known about Plunder for quite some time now, but their recently released demo -- in which the system is used to serve a 70 GB dataset, complete with metadata and searchable -- made me feel the need to explore it again and in greater detail. Doing this with my personal server doesn't feel like a big ask, but there is currentl

// I had been intending for people to just play around with this for fun and for personal use,
// but I've been advised to remove the first portion due to regulatory uncertainty.
// This way people can still use the merge check however they want.
/** @notice Determine whether we're running in Proof of Work or Proof of Stake
@dev Post-merge, the DIFFICULTY opcode gets renamed to PREVRANDAO,
and stores the prevRandao field from the beacon chain state if EIP-4399 is finalized.
If not the difficulty must be be 0 according to EIP-3675, so both possibilities are checked here. */
function haveWeMergedYet() public view returns (bool) {
import sys
import logging
from logging import Formatter
import json
import http.client
import time
from apscheduler.schedulers.background import BackgroundScheduler
from flask import Flask
from flask import Response, request, send_from_directory, jsonify
@z0r0z
z0r0z / MultiSig.sol
Created December 26, 2021 03:28
EIP-712-signed multi-signature contract
// SPDX-License-Identifier: GPL-3.0-or-later
error NoExecParity();
error NoSigParity();
error NotSigner();
error SigOutOfOrder();
/**
* 1. Initialize new node project (npm init -y)
* 2. Run: npm install ethers
* 3. Add private key where PRIVATE_KEY
* 4. Optionally, update gas price (line 29) or chosen gas limit
* 4. Run: node score-claim.js
*/
// Imports
const ethers = require("ethers");
const { parseUnits } = require("@ethersproject/units");
@graemecode
graemecode / Crowdfund.sol
Last active October 3, 2021 19:08
Crowdfunding NFTs with Zora
//SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.6.8;
pragma experimental ABIEncoderV2;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import {
ReentrancyGuard
} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol";
@samlambert
samlambert / management.md
Created January 9, 2021 00:16
Management @ PlanetScale

We want PlanetScale to be the best place to work. But every company says that, and very few deliver. Managers have a role in creating an amazing work experience, but things go awry when the wrong dynamic creeps in.

We have all seen those managers who collect people as “resources” or who control information as a way to gain “power.” In these cultures, people who “can’t” end up leading the charge. This is management mediocrity.

What will make us different? At PlanetScale, we won’t tolerate management mediocrity. We are building a culture where politics get you nowhere and impact gets you far. Managers are here to support people who get things done. They are as accountable to their team as their team is accountable to them.

We evaluate managers on the wellbeing and output of their team, how skillfully they collaborate with and influence others, and how inclusively and transparently they work.

You can expect your manager to:

  • Perceive a better version of you and support you in getting there
@tvler
tvler / ImplicityTypedActionPayloadByActionType.ts
Last active April 22, 2020 00:39
Implicitly type an action payload by an action type
type ActionTypes = 'actionA' | 'actionB' | 'actionC' | 'actionNoPayload';
type ActionPayloads = {
actionA: { payload: number };
actionB: { payload: string };
actionC: { foo: boolean; bar: boolean };
};
type Actions = {
[key in ActionTypes]: {