This is inspired by A half-hour to learn Rust and Zig in 30 minutes.
Your first Go program as a classical "Hello World" is pretty simple:
First we create a workspace for our project:
#!/usr/bin/perl -w | |
use strict; | |
@ARGV or die "Usage: $0 PNGFILE...\nOutputs the file names of the PNG files with trailing data."; | |
FILE: while (@ARGV) { | |
my $fn = shift; | |
eval { | |
no warnings 'exiting'; |
This is inspired by A half-hour to learn Rust and Zig in 30 minutes.
Your first Go program as a classical "Hello World" is pretty simple:
First we create a workspace for our project:
#------------------------------------------------------------------------------ | |
# Top 20K hashes from the Troy Hunt / haveibeenpwned Pwned Passwords list v6 (2020-06-19) | |
# with frequency count and cracked plaintext passwords | |
# | |
# The latest version of this file can be found here: | |
# https://gist.github.com/roycewilliams/226886fd01572964e1431ac8afc999ce | |
# The equivalent of this file, but based on v2 of the Pwned Passwords, is here: | |
# https://gist.github.com/roycewilliams/281ce539915a947a23db17137d91aeb7 | |
#------------------------------------------------------------------------------ | |
# Notes and references: |
A list of the best LeetCode questions that teach you core concepts and techniques for each category/type of problem. Many other LeetCode questions are a mashup of the techniques from these individual questions.
0 | |
00 | |
01 | |
02 | |
03 | |
1 | |
1.0 | |
10 | |
100 | |
1000 |
# use ImageMagick convert | |
# the order is important. the density argument applies to input.pdf and resize and rotate to output.pdf | |
convert -density 90 input.pdf -rotate 0.5 -attenuate 0.2 +noise Multiplicative -colorspace Gray output.pdf |
import pytesseract | |
import sys | |
import argparse | |
try: | |
import Image | |
except ImportError: | |
from PIL import Image | |
from subprocess import check_output | |
------------------------------------------------------------------------------ | |
You can drop the power on NVIDIA cards and improve performance per watt. | |
Credit for the idea to atom on the 1080s: | |
https://docs.google.com/spreadsheets/d/1B1S_t1Z0KsqByH3pNkYUM-RCFMu860nlfSsYEqOoqco/edit#gid=1307275979 | |
On the GTX 970s, you can drop to 150 and still get 99.96% of the same | |
performance! This saves power (and heat?). And there is evidence that the | |
performance difference varies per hash and per attack (masks, rules, etc.) |
In February 2017, Google announced the availability GPU-based VMs. I spun up a few of these instances, and ran some benchmarks. Along the way, I wrote down the steps taken to provision these VM instances, and install relevant drivers.
Update April 2019: Updated instructions to use instances with the Tesla T4 GPUs.
Install python 3 | |
create a virtualenv and then | |
pip install selenium | |
then install chrome driver: | |
brew install chromedriver | |
to test, run this script - notice the location of the chrome driver |