Skip to content

Instantly share code, notes, and snippets.

View bbarry's full-sized avatar

Bill Barry bbarry

  • Ren Inc
  • Pennsylvania
View GitHub Profile
@bbarry
bbarry / day1.pl6
Last active December 7, 2017 18:19
advent of code 2017 Perl6
my @seq = '112212'.univals.List;
(@seq Z @seq.rotate(1)).grep({[==] $_})».first.sum.say;
(@seq Z @seq.rotate(+@seq div 2)).grep({[==] $_})».first.sum.say;
@bbarry
bbarry / Van_der_Waerden_2_6.cs
Created November 17, 2017 22:26
WIP of a program that proves W(2,6) = 1132; currently capable (in a few thousands of years I think) of finding all sequences of 1120 length.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication8 {
class Program {
static uint[][] _lchecks; // bitmasks for sets of 6 progressive checks involving more than one u32 segment
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication6 {
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
using System;
using System.Diagnostics;
using System.Security.Cryptography;
using BenchmarkDotNet.Attributes;
namespace ConsoleApp2 {
public class Benchmarking {
private static readonly GoodRandom Rng1;
private static readonly GoodRandom Rng2;
private static readonly Random Rng3;
public struct Arguments<T> : IReadOnlyList<T>
{
readonly T _arg1, _arg2, _arg3;
readonly IEnumerable<T> _enumerable;
readonly int _count;
public Arguments(T arg1) => (_arg1, _arg2, _arg3, _enumerable, _count)
= (arg1, default(T), default(T), null, 1);
public Arguments(T arg1, T arg2) => (_arg1, _arg2, _arg3, _enumerable, _count)
@bbarry
bbarry / PrimeTests.cs
Created February 21, 2017 23:44
Miller–Rabin primality test in C# for 32 and 64 bit numbers; 32bit version is approximately 35 times faster than NaiveIsPrime on average; 64 bit ver is untested
public static class PrimeTests {
public static bool IsPrime(uint n) {
if (n < 2) return false;
if (n == 2 || n == 3 || n == 5 || n == 7) return true;
if (n % 2 == 0) return false;
var n1 = n - 1;
var r = 1;
var d = n1;

and the whole idea that the Misfit crew are actively destroying a culture to save a species... The People will lose their language in a few generations because English is in every way imaginable superior.

And then Julian is also about to jump them ahead a technology progression that took humans around 10-60,000 years:

  • The People don't have writing (8,000 BC).
  • They haven't invented a wheel (10,000 BC).
  • Vemik is apparently the inventor of the Bow (65,000 BC).
  • They barely have pottery (16,000 - 30,000 BC)
  • They appear to not have invented the Loom (36,000 BC)
  • They don't seem to know what charcoal is (100,000 - 790,000 BC)