Skip to content

Instantly share code, notes, and snippets.

View ichramm's full-sized avatar

Juan Ramirez ichramm

View GitHub Profile
@VictorTaelin
VictorTaelin / collapse_monad.hs
Last active April 14, 2025 15:05
The Collapse Monad
import Control.Monad (ap, forM_)
import qualified Data.Map as M
-- The Collapse Monad
-- ------------------
-- The Collapse Monad allows collapsing a value with labelled superpositions
-- into a flat list of superposition-free values. It is like the List Monad,
-- except that, instead of always doing a cartesian product, it will perform
-- pairwise merges of distant parts of your program that are "entangled"
-- under the same label. Examples:
@brunocascio
brunocascio / README.md
Last active July 4, 2024 21:37
Conceptos de Normalización de Bases de datos
@brunocascio
brunocascio / requerimientos-tecnicas-agiles.md
Last active August 9, 2024 23:23
Requerimientos, Técnicas de Especificación y metodologías Ágiles

Ingeniería de Software I (Resúmen)

  • Requerimientos
    • Introducción
    • Ingeniería de requerimientos
      • Introducción
      • Estudio de viabilidad
      • Obtención y análisis de requerimientos
      • Especificación de requerimientos
  • Validación de requerimientos
@hellerbarde
hellerbarde / latency.markdown
Created May 31, 2012 13:16 — forked from jboner/latency.txt
Latency numbers every programmer should know

Latency numbers every programmer should know

L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns             
Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs