It's now here, in The Programmer's Compendium. The content is the same as before, but being part of the compendium means that it's actively maintained.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
# This script tests par2 recovery when the par2 files themselves are corrupted. | |
# Process: | |
# 1. Generate a file containing all 256 possible bytes. | |
# (More would be better, but it gets slow fast.) | |
# 2. Generate par2 data for the file. | |
# 3. Individually corrupt each par2 file at each offset. | |
# (Write byte 0 unless the offset already contains byte 0; then, write byte 255.) | |
# (Writing each possible byte would be better, but it gets slow fast.) |
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var sys = require("sys"), | |
net = require("net"), exec = require('child_process'); | |
var debug = 4; | |
//var client = net.createConnection(8000); | |
var __curr_process; | |
var client = net.createConnection(8000, "moodle.jdiez.me"); | |
client.setEncoding("UTF8"); |