Skip to content

Instantly share code, notes, and snippets.

@yorickdowne
yorickdowne / HallOfBlame.md
Last active February 27, 2025 04:36
Great and less great SSDs for Ethereum nodes

Overview

Syncing an Ethereum node is largely reliant on latency and IOPS, I/O Per Second, of the storage. Budget SSDs will struggle to an extent, and some won't be able to sync at all. For simplicity, this page treats IOPS as a proxy for/predictor of latency.

This document aims to snapshot some known good and known bad models.

The drive lists are ordered by interface and then by capacity and alphabetically by vendor name, not by preference. The lists are not exhaustive at all. @mwpastore linked a filterable spreadsheet in comments that has a far greater variety of drives and their characteristics. Filter it by DRAM yes, NAND Type TLC, Form Factor M.2, and desired capacity.

For size, 4TB is a very conservative choice. The smaller 2TB drive should last an Ethereum full node until at least sometime 2026, with the pre-merge history expiry scheduled for Ma

@paniq
paniq / ecs.md
Last active November 6, 2024 09:55
Entity Component Systems
@huw
huw / runes.py
Last active October 15, 2024 17:24
import string
def find_position(char):
for set_num in range(len(table)):
if char in table[set_num]:
return set_num
return False
def forge_offsets(key, direction, offset):
if type(key) is str:
@lukad
lukad / hello.dasm
Last active January 18, 2024 09:58
My hello world program in DCPU-16 ASM.
JSR main
; Main
:main
JSR setup ; Setup the hardware
SET A, msg ; Store msg in A for print_message
JSR print_message ; Print our message
SET PC, end ; End the program
@naholyr
naholyr / enableMultipleViewRoots.js
Created May 27, 2011 15:23
Allow multiple views roots in Express.js
// Usage:
// var express = require('express')
// require('enableMultipleViewRoots')(express)
module.exports = function(express) {
var old = express.view.lookup;
function lookup(view, options) {
// If root is an array of paths, let's try each path until we find the view
if (options.root instanceof Array) {