Skip to content

Instantly share code, notes, and snippets.

View gzm55's full-sized avatar

James Z.M. Gao gzm55

  • MediaV
  • Shanghai, China
View GitHub Profile
def from(initial: Stream[(Block, List[Move])],
explored: Set[Block]): Stream[(Block, List[Move])] = initial.headOption.map {
case (block, _) if done(block) => initial.head #:: from(initial.tail, explored)
case (block, history) =>
val newMoreBlocks = newNeighborsOnly(neighborsWithHistory(block, history), explored)
val newExploredBlocks = Set(block.left, block.down, block.right, block.up).filter(_.isLegal).filterNot(done)
(block, history) #:: from(initial.tail ++ newMoreBlocks, explored | newExploredBlocks)
}.getOrElse(Stream())
@gzm55
gzm55 / crypt-test.sh
Created August 26, 2018 15:35
4 ways for generating crypt(3) hash for passwd
salt_pattern='0-9a-zA-Z./'
randompwd() { LC_CTYPE=C tr -dc ${2:-'A-Za-z0-9_!@%^&*/-+=.?'} < /dev/urandom | head -c ${1:-16} | xargs; }
rand_salt() {
randompwd 16 "salt_pattern"
}
round=
salt=/SSSSSS/