Daniel P. Barron

Category: Eulora Published: June 14

Fucking Goats

FUCKGOATS is a joy to use. I can not think of an easier piece of hardware to install and use -- be it a keyboard or a hard drive. Granted, I had to recompile a kernel to get the USB TTY adapter to show up, but that is arguably not a strike against FG itself. The thing just works. Plug it in and right away see data flow forth. I used it to create two files over the course of about four days, and ran them through the recommended tests.


peninnah ~ # du -h fg.bin
1.4G	fg.bin
peninnah ~ # ent fg.bin 
Entropy = 8.000000 bits per byte.

Optimum compression would reduce the size
of this 1465266688 byte file by 0 percent.

Chi square distribution for 1465266688 samples is 261.00, and randomly
would exceed this value 38.48 percent of the times.

Arithmetic mean value of data bytes is 127.5008 (127.5 = random).
Monte Carlo value for Pi is 3.141552305 (error 0.00 percent).
Serial correlation coefficient is -0.000011 (totally uncorrelated = 0.0).

peninnah ~ # dieharder -a -g 201 -f fg.bin
#=============================================================================#
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
#=============================================================================#
   rng_name    |           filename             |rands/second|
 file_input_raw|                          fg.bin|  1.55e+07  |
#=============================================================================#
        test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=============================================================================#
   diehard_birthdays|   0|       100|     100|0.87587112|  PASSED
      diehard_operm5|   0|   1000000|     100|0.96015925|  PASSED
  diehard_rank_32x32|   0|     40000|     100|0.63388649|  PASSED
    diehard_rank_6x8|   0|    100000|     100|0.42921798|  PASSED
   diehard_bitstream|   0|   2097152|     100|0.66727620|  PASSED
# The file file_input_raw was rewound 1 times
        diehard_opso|   0|   2097152|     100|0.78465705|  PASSED
# The file file_input_raw was rewound 1 times
        diehard_oqso|   0|   2097152|     100|0.74785318|  PASSED
# The file file_input_raw was rewound 2 times
         diehard_dna|   0|   2097152|     100|0.29367572|  PASSED
# The file file_input_raw was rewound 2 times
diehard_count_1s_str|   0|    256000|     100|0.99999624|   WEAK
# The file file_input_raw was rewound 2 times
diehard_count_1s_byt|   0|    256000|     100|0.17355435|  PASSED
# The file file_input_raw was rewound 2 times
 diehard_parking_lot|   0|     12000|     100|0.79600924|  PASSED
# The file file_input_raw was rewound 2 times
    diehard_2dsphere|   2|      8000|     100|0.21990710|  PASSED
# The file file_input_raw was rewound 2 times
    diehard_3dsphere|   3|      4000|     100|0.19449387|  PASSED
# The file file_input_raw was rewound 3 times
     diehard_squeeze|   0|    100000|     100|0.74343805|  PASSED  
# The file file_input_raw was rewound 3 times
        diehard_sums|   0|       100|     100|0.62449613|  PASSED  
# The file file_input_raw was rewound 3 times
        diehard_runs|   0|    100000|     100|0.64815009|  PASSED  
        diehard_runs|   0|    100000|     100|0.65768515|  PASSED  
# The file file_input_raw was rewound 3 times
       diehard_craps|   0|    200000|     100|0.59858631|  PASSED  
       diehard_craps|   0|    200000|     100|0.69964834|  PASSED  
# The file file_input_raw was rewound 8 times
 marsaglia_tsang_gcd|   0|  10000000|     100|0.48645093|  PASSED  
 marsaglia_tsang_gcd|   0|  10000000|     100|0.92449907|  PASSED  
# The file file_input_raw was rewound 8 times
         sts_monobit|   1|    100000|     100|0.14747070|  PASSED  
# The file file_input_raw was rewound 8 times
            sts_runs|   2|    100000|     100|0.43752663|  PASSED  
# The file file_input_raw was rewound 8 times
          sts_serial|   1|    100000|     100|0.49942085|  PASSED  
          sts_serial|   2|    100000|     100|0.79110527|  PASSED  
          sts_serial|   3|    100000|     100|0.13521837|  PASSED  
          sts_serial|   3|    100000|     100|0.75936926|  PASSED  
          sts_serial|   4|    100000|     100|0.71378645|  PASSED  
          sts_serial|   4|    100000|     100|0.82458666|  PASSED  
          sts_serial|   5|    100000|     100|0.91349881|  PASSED  
          sts_serial|   5|    100000|     100|0.77236497|  PASSED  
          sts_serial|   6|    100000|     100|0.83690635|  PASSED  
          sts_serial|   6|    100000|     100|0.11520241|  PASSED  
          sts_serial|   7|    100000|     100|0.59018155|  PASSED  
          sts_serial|   7|    100000|     100|0.71582962|  PASSED  
          sts_serial|   8|    100000|     100|0.94832462|  PASSED  
          sts_serial|   8|    100000|     100|0.79664845|  PASSED  
          sts_serial|   9|    100000|     100|0.61190018|  PASSED  
          sts_serial|   9|    100000|     100|0.46706842|  PASSED  
          sts_serial|  10|    100000|     100|0.59175209|  PASSED  
          sts_serial|  10|    100000|     100|0.43626668|  PASSED  
          sts_serial|  11|    100000|     100|0.07062130|  PASSED  
          sts_serial|  11|    100000|     100|0.06074906|  PASSED  
          sts_serial|  12|    100000|     100|0.33158937|  PASSED  
          sts_serial|  12|    100000|     100|0.39439959|  PASSED  
          sts_serial|  13|    100000|     100|0.46472363|  PASSED  
          sts_serial|  13|    100000|     100|0.51269561|  PASSED  
          sts_serial|  14|    100000|     100|0.07918865|  PASSED  
          sts_serial|  14|    100000|     100|0.16238744|  PASSED  
          sts_serial|  15|    100000|     100|0.15625993|  PASSED  
          sts_serial|  15|    100000|     100|0.97190190|  PASSED  
          sts_serial|  16|    100000|     100|0.07682345|  PASSED  
          sts_serial|  16|    100000|     100|0.58495694|  PASSED  
# The file file_input_raw was rewound 9 times
         rgb_bitdist|   1|    100000|     100|0.91212650|  PASSED  
# The file file_input_raw was rewound 9 times
         rgb_bitdist|   2|    100000|     100|0.68566372|  PASSED  
# The file file_input_raw was rewound 9 times
         rgb_bitdist|   3|    100000|     100|0.24740597|  PASSED  
# The file file_input_raw was rewound 9 times
         rgb_bitdist|   4|    100000|     100|0.92670153|  PASSED  
# The file file_input_raw was rewound 9 times
         rgb_bitdist|   5|    100000|     100|0.58055076|  PASSED  
# The file file_input_raw was rewound 10 times
         rgb_bitdist|   6|    100000|     100|0.24329557|  PASSED  
# The file file_input_raw was rewound 10 times
         rgb_bitdist|   7|    100000|     100|0.28990384|  PASSED  
# The file file_input_raw was rewound 10 times
         rgb_bitdist|   8|    100000|     100|0.06298846|  PASSED  
# The file file_input_raw was rewound 11 times
         rgb_bitdist|   9|    100000|     100|0.55779701|  PASSED  
# The file file_input_raw was rewound 11 times
         rgb_bitdist|  10|    100000|     100|0.10205715|  PASSED  
# The file file_input_raw was rewound 12 times
         rgb_bitdist|  11|    100000|     100|0.43845244|  PASSED  
# The file file_input_raw was rewound 13 times
         rgb_bitdist|  12|    100000|     100|0.81873239|  PASSED  
# The file file_input_raw was rewound 13 times
rgb_minimum_distance|   2|     10000|    1000|0.86683062|  PASSED  
# The file file_input_raw was rewound 13 times
rgb_minimum_distance|   3|     10000|    1000|0.95287146|  PASSED  
# The file file_input_raw was rewound 13 times
rgb_minimum_distance|   4|     10000|    1000|0.15691677|  PASSED  
# The file file_input_raw was rewound 13 times
rgb_minimum_distance|   5|     10000|    1000|0.87747412|  PASSED  
# The file file_input_raw was rewound 13 times
    rgb_permutations|   2|    100000|     100|0.47847209|  PASSED  
# The file file_input_raw was rewound 13 times
    rgb_permutations|   3|    100000|     100|0.82402816|  PASSED  
# The file file_input_raw was rewound 13 times
    rgb_permutations|   4|    100000|     100|0.17345085|  PASSED  
# The file file_input_raw was rewound 13 times
    rgb_permutations|   5|    100000|     100|0.96936326|  PASSED  
# The file file_input_raw was rewound 14 times
      rgb_lagged_sum|   0|   1000000|     100|0.34427016|  PASSED  
# The file file_input_raw was rewound 14 times
      rgb_lagged_sum|   1|   1000000|     100|0.40381806|  PASSED  
# The file file_input_raw was rewound 15 times
      rgb_lagged_sum|   2|   1000000|     100|0.19408856|  PASSED  
# The file file_input_raw was rewound 16 times
      rgb_lagged_sum|   3|   1000000|     100|0.92897681|  PASSED  
# The file file_input_raw was rewound 18 times
      rgb_lagged_sum|   4|   1000000|     100|0.16649980|  PASSED  
# The file file_input_raw was rewound 19 times
      rgb_lagged_sum|   5|   1000000|     100|0.61412624|  PASSED  
# The file file_input_raw was rewound 21 times
      rgb_lagged_sum|   6|   1000000|     100|0.42159442|  PASSED  
# The file file_input_raw was rewound 23 times
      rgb_lagged_sum|   7|   1000000|     100|0.48185104|  PASSED  
# The file file_input_raw was rewound 26 times
      rgb_lagged_sum|   8|   1000000|     100|0.75025588|  PASSED  
# The file file_input_raw was rewound 29 times
      rgb_lagged_sum|   9|   1000000|     100|0.49625842|  PASSED  
# The file file_input_raw was rewound 32 times
      rgb_lagged_sum|  10|   1000000|     100|0.74186420|  PASSED  
# The file file_input_raw was rewound 35 times
      rgb_lagged_sum|  11|   1000000|     100|0.95075159|  PASSED  
# The file file_input_raw was rewound 38 times
      rgb_lagged_sum|  12|   1000000|     100|0.20457436|  PASSED  
# The file file_input_raw was rewound 42 times
      rgb_lagged_sum|  13|   1000000|     100|0.38380392|  PASSED  
# The file file_input_raw was rewound 46 times
      rgb_lagged_sum|  14|   1000000|     100|0.36071578|  PASSED  
# The file file_input_raw was rewound 51 times
      rgb_lagged_sum|  15|   1000000|     100|0.00829390|  PASSED  
# The file file_input_raw was rewound 55 times
      rgb_lagged_sum|  16|   1000000|     100|0.57666395|  PASSED  
# The file file_input_raw was rewound 60 times
      rgb_lagged_sum|  17|   1000000|     100|0.76473173|  PASSED  
# The file file_input_raw was rewound 65 times
      rgb_lagged_sum|  18|   1000000|     100|0.41578459|  PASSED  
# The file file_input_raw was rewound 71 times
      rgb_lagged_sum|  19|   1000000|     100|0.99159799|  PASSED  
# The file file_input_raw was rewound 77 times
      rgb_lagged_sum|  20|   1000000|     100|0.32769294|  PASSED  
# The file file_input_raw was rewound 83 times
      rgb_lagged_sum|  21|   1000000|     100|0.93908723|  PASSED  
# The file file_input_raw was rewound 89 times
      rgb_lagged_sum|  22|   1000000|     100|0.21834900|  PASSED  
# The file file_input_raw was rewound 95 times
      rgb_lagged_sum|  23|   1000000|     100|0.77669306|  PASSED  
# The file file_input_raw was rewound 102 times
      rgb_lagged_sum|  24|   1000000|     100|0.67332002|  PASSED  
# The file file_input_raw was rewound 109 times
      rgb_lagged_sum|  25|   1000000|     100|0.38258605|  PASSED  
# The file file_input_raw was rewound 117 times
      rgb_lagged_sum|  26|   1000000|     100|0.04205557|  PASSED  
# The file file_input_raw was rewound 124 times
      rgb_lagged_sum|  27|   1000000|     100|0.97791293|  PASSED  
# The file file_input_raw was rewound 132 times
      rgb_lagged_sum|  28|   1000000|     100|0.65316434|  PASSED  
# The file file_input_raw was rewound 140 times
      rgb_lagged_sum|  29|   1000000|     100|0.80146132|  PASSED  
# The file file_input_raw was rewound 149 times
      rgb_lagged_sum|  30|   1000000|     100|0.37987553|  PASSED  
# The file file_input_raw was rewound 158 times
      rgb_lagged_sum|  31|   1000000|     100|0.00162210|   WEAK   
# The file file_input_raw was rewound 167 times
      rgb_lagged_sum|  32|   1000000|     100|0.63803843|  PASSED  
# The file file_input_raw was rewound 167 times
     rgb_kstest_test|   0|     10000|    1000|0.96115995|  PASSED  
# The file file_input_raw was rewound 167 times
     dab_bytedistrib|   0|  51200000|       1|0.31793136|  PASSED  
# The file file_input_raw was rewound 167 times
             dab_dct| 256|     50000|       1|0.45562880|  PASSED  
Preparing to run test 207.  ntuple = 0
# The file file_input_raw was rewound 167 times
        dab_filltree|  32|  15000000|       1|0.79566020|  PASSED  
        dab_filltree|  32|  15000000|       1|0.01492029|  PASSED  
Preparing to run test 208.  ntuple = 0
# The file file_input_raw was rewound 168 times
       dab_filltree2|   0|   5000000|       1|0.88946088|  PASSED  
       dab_filltree2|   1|   5000000|       1|0.66182840|  PASSED  
Preparing to run test 209.  ntuple = 0
# The file file_input_raw was rewound 168 times
        dab_monobit2|  12|  65000000|       1|0.42576186|  PASSED  

peninnah ~ # du -h fg2.bin 
1.3G	fg2.bin
peninnah ~ # ent fg2.bin 
Entropy = 8.000000 bits per byte.

Optimum compression would reduce the size
of this 1303843328 byte file by 0 percent.

Chi square distribution for 1303843328 samples is 284.35, and randomly
would exceed this value 9.99 percent of the times.

Arithmetic mean value of data bytes is 127.4954 (127.5 = random).
Monte Carlo value for Pi is 3.141632114 (error 0.00 percent).
Serial correlation coefficient is -0.000032 (totally uncorrelated = 0.0).

peninnah ~ # dieharder -a -g 201 -f fg2.bin
#=============================================================================#
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
#=============================================================================#
   rng_name    |           filename             |rands/second|
 file_input_raw|                         fg2.bin|  2.25e+07  |
#=============================================================================#
        test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=============================================================================#
   diehard_birthdays|   0|       100|     100|0.51690876|  PASSED  
      diehard_operm5|   0|   1000000|     100|0.40346765|  PASSED  
  diehard_rank_32x32|   0|     40000|     100|0.93217934|  PASSED  
    diehard_rank_6x8|   0|    100000|     100|0.43367847|  PASSED  
   diehard_bitstream|   0|   2097152|     100|0.66720249|  PASSED  
        diehard_opso|   0|   2097152|     100|0.86010573|  PASSED  
        diehard_oqso|   0|   2097152|     100|0.24593153|  PASSED  
         diehard_dna|   0|   2097152|     100|0.06138150|  PASSED  
diehard_count_1s_str|   0|    256000|     100|0.43683325|  PASSED  
diehard_count_1s_byt|   0|    256000|     100|0.35921097|  PASSED  
 diehard_parking_lot|   0|     12000|     100|0.66609484|  PASSED  
    diehard_2dsphere|   2|      8000|     100|0.89297189|  PASSED  
    diehard_3dsphere|   3|      4000|     100|0.96687561|  PASSED  
     diehard_squeeze|   0|    100000|     100|0.72926845|  PASSED  
        diehard_sums|   0|       100|     100|0.00070732|   WEAK   
        diehard_runs|   0|    100000|     100|0.58813360|  PASSED  
        diehard_runs|   0|    100000|     100|0.85788145|  PASSED  
       diehard_craps|   0|    200000|     100|0.72997672|  PASSED  
       diehard_craps|   0|    200000|     100|0.78468205|  PASSED  
 marsaglia_tsang_gcd|   0|  10000000|     100|0.00004506|   WEAK   
 marsaglia_tsang_gcd|   0|  10000000|     100|0.55156943|  PASSED  
         sts_monobit|   1|    100000|     100|0.45774566|  PASSED  
            sts_runs|   2|    100000|     100|0.96042269|  PASSED  
          sts_serial|   1|    100000|     100|0.99443515|  PASSED  
          sts_serial|   2|    100000|     100|0.10639532|  PASSED  
          sts_serial|   3|    100000|     100|0.75641448|  PASSED  
          sts_serial|   3|    100000|     100|0.90420108|  PASSED  
          sts_serial|   4|    100000|     100|0.75016342|  PASSED  
          sts_serial|   4|    100000|     100|0.08575288|  PASSED  
          sts_serial|   5|    100000|     100|0.03281594|  PASSED  
          sts_serial|   5|    100000|     100|0.19524235|  PASSED  
          sts_serial|   6|    100000|     100|0.25109686|  PASSED  
          sts_serial|   6|    100000|     100|0.58659811|  PASSED  
          sts_serial|   7|    100000|     100|0.43221129|  PASSED  
          sts_serial|   7|    100000|     100|0.81175508|  PASSED  
          sts_serial|   8|    100000|     100|0.63456658|  PASSED  
          sts_serial|   8|    100000|     100|0.65063391|  PASSED  
          sts_serial|   9|    100000|     100|0.58288735|  PASSED  
          sts_serial|   9|    100000|     100|0.71193409|  PASSED  
          sts_serial|  10|    100000|     100|0.62519797|  PASSED  
          sts_serial|  10|    100000|     100|0.55146077|  PASSED  
          sts_serial|  11|    100000|     100|0.76770489|  PASSED  
          sts_serial|  11|    100000|     100|0.59139324|  PASSED  
          sts_serial|  12|    100000|     100|0.94453984|  PASSED  
          sts_serial|  12|    100000|     100|0.94841134|  PASSED  
          sts_serial|  13|    100000|     100|0.31653993|  PASSED  
          sts_serial|  13|    100000|     100|0.14829483|  PASSED  
          sts_serial|  14|    100000|     100|0.42320056|  PASSED  
          sts_serial|  14|    100000|     100|0.10925685|  PASSED  
          sts_serial|  15|    100000|     100|0.83878977|  PASSED  
          sts_serial|  15|    100000|     100|0.25782489|  PASSED  
          sts_serial|  16|    100000|     100|0.66793322|  PASSED  
          sts_serial|  16|    100000|     100|0.55162347|  PASSED  
         rgb_bitdist|   1|    100000|     100|0.89591957|  PASSED  
         rgb_bitdist|   2|    100000|     100|0.98614161|  PASSED  
         rgb_bitdist|   3|    100000|     100|0.80316018|  PASSED  
         rgb_bitdist|   4|    100000|     100|0.89736784|  PASSED  
         rgb_bitdist|   5|    100000|     100|0.29428507|  PASSED  
         rgb_bitdist|   6|    100000|     100|0.95422575|  PASSED  
         rgb_bitdist|   7|    100000|     100|0.39659444|  PASSED  
         rgb_bitdist|   8|    100000|     100|0.46010761|  PASSED  
         rgb_bitdist|   9|    100000|     100|0.76510075|  PASSED  
         rgb_bitdist|  10|    100000|     100|0.95714334|  PASSED  
         rgb_bitdist|  11|    100000|     100|0.35646381|  PASSED  
         rgb_bitdist|  12|    100000|     100|0.98517330|  PASSED  
rgb_minimum_distance|   2|     10000|    1000|0.34562317|  PASSED  
rgb_minimum_distance|   3|     10000|    1000|0.00929810|  PASSED  
rgb_minimum_distance|   4|     10000|    1000|0.75795839|  PASSED  
rgb_minimum_distance|   5|     10000|    1000|0.00873640|  PASSED  
    rgb_permutations|   2|    100000|     100|0.49694367|  PASSED  
    rgb_permutations|   3|    100000|     100|0.65402344|  PASSED  
    rgb_permutations|   4|    100000|     100|0.79788641|  PASSED  
    rgb_permutations|   5|    100000|     100|0.58529553|  PASSED  
      rgb_lagged_sum|   0|   1000000|     100|0.52287218|  PASSED  
      rgb_lagged_sum|   1|   1000000|     100|0.22764333|  PASSED  
      rgb_lagged_sum|   2|   1000000|     100|0.17172871|  PASSED  
      rgb_lagged_sum|   3|   1000000|     100|0.05124946|  PASSED  
      rgb_lagged_sum|   4|   1000000|     100|0.49713592|  PASSED  
      rgb_lagged_sum|   5|   1000000|     100|0.45635542|  PASSED  
      rgb_lagged_sum|   6|   1000000|     100|0.96830965|  PASSED  
      rgb_lagged_sum|   7|   1000000|     100|0.53419506|  PASSED  
      rgb_lagged_sum|   8|   1000000|     100|0.86494381|  PASSED  
      rgb_lagged_sum|   9|   1000000|     100|0.72881545|  PASSED  
      rgb_lagged_sum|  10|   1000000|     100|0.56544878|  PASSED  
      rgb_lagged_sum|  11|   1000000|     100|0.43609672|  PASSED  
      rgb_lagged_sum|  12|   1000000|     100|0.91400206|  PASSED  
      rgb_lagged_sum|  13|   1000000|     100|0.60227275|  PASSED  
      rgb_lagged_sum|  14|   1000000|     100|0.56538826|  PASSED  
      rgb_lagged_sum|  15|   1000000|     100|0.06302978|  PASSED  
      rgb_lagged_sum|  16|   1000000|     100|0.16808054|  PASSED  
      rgb_lagged_sum|  17|   1000000|     100|0.55036083|  PASSED  
      rgb_lagged_sum|  18|   1000000|     100|0.93720548|  PASSED  
      rgb_lagged_sum|  19|   1000000|     100|0.37353185|  PASSED  
      rgb_lagged_sum|  20|   1000000|     100|0.13472207|  PASSED  
      rgb_lagged_sum|  21|   1000000|     100|0.44509225|  PASSED  
      rgb_lagged_sum|  22|   1000000|     100|0.76205513|  PASSED  
      rgb_lagged_sum|  23|   1000000|     100|0.62304135|  PASSED  
      rgb_lagged_sum|  24|   1000000|     100|0.39094558|  PASSED  
      rgb_lagged_sum|  25|   1000000|     100|0.50961722|  PASSED  
      rgb_lagged_sum|  26|   1000000|     100|0.15803949|  PASSED  
      rgb_lagged_sum|  27|   1000000|     100|0.09251363|  PASSED  
      rgb_lagged_sum|  28|   1000000|     100|0.58331044|  PASSED  
      rgb_lagged_sum|  29|   1000000|     100|0.12363069|  PASSED  
      rgb_lagged_sum|  30|   1000000|     100|0.71458079|  PASSED  
      rgb_lagged_sum|  31|   1000000|     100|0.66807924|  PASSED  
      rgb_lagged_sum|  32|   1000000|     100|0.65399068|  PASSED  
     rgb_kstest_test|   0|     10000|    1000|0.02178401|  PASSED  
     dab_bytedistrib|   0|  51200000|       1|0.36573309|  PASSED  
             dab_dct| 256|     50000|       1|0.56628701|  PASSED  
Preparing to run test 207.  ntuple = 0
        dab_filltree|  32|  15000000|       1|0.28801332|  PASSED  
        dab_filltree|  32|  15000000|       1|0.59182162|  PASSED  
Preparing to run test 208.  ntuple = 0
       dab_filltree2|   0|   5000000|       1|0.19562700|  PASSED  
       dab_filltree2|   1|   5000000|       1|0.13690412|  PASSED  
Preparing to run test 209.  ntuple = 0
        dab_monobit2|  12|  65000000|       1|0.52568327|  PASSED  

As another test, I used a FUCKGOATS to seed /dev/random via something called rngdi and then told gnupg to generate a new 4096 bit key. It was done within a minute, whereas a very similar machine operating without a FG took several minutes. I don't know if this is the right way to generate a key using such a device. I get strange results catting it directly into /dev/random -- if I then cat /dev/random > somewhere.bin the data barely trickles out. Even the rngd thing goes slow relative to a direct dd from /dev/myFG, and I know from very quick research that this is likely the result of obnoxious built-in saftey measures on /dev/random.



i. Gentoo has it in the sys-apps/rng-tools package.



Stanislav: http://nosuchlabs.com updated with link to your piece.
re /dev/random, see also http://btcbase.org/log/2017-06-13#1669632

Logged on 2017-06-13 21:27 jurov: asciilifeform: sorry to be shitharbinger, just writing to /dev/random is not enough https://unix.stackexchange.com/questions/141197/why-writing-to-dev-random-does-not- make-parallel-reading-from-dev-random-faste

( linux malignantly does The Wrong Thing here )


Comment on this page.