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:
0 | |
00 | |
01 | |
02 | |
03 | |
1 | |
1.0 | |
10 | |
100 | |
1000 |
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/python | |
# -*- coding: utf-8 -*- | |
import sublime_plugin | |
import subprocess | |
from time import sleep | |
import sys | |
cl = lambda line: subprocess.Popen(line, shell=True, stdout=subprocess.PIPE).communicate()[0].strip() | |
log = lambda message: sys.stderr.write("Log: %s\n" % message) |
# 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 |
#------------------------------------------------------------------------------ | |
# 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.
/* | |
Export bookmarks from Chrome as text. | |
Go to Bookmarks Manager->Organize->Export to HTML file. | |
Then open that file, open console and run this command: | |
*/ | |
[].map.call(document.querySelectorAll("dt a"), function(a) { | |
return a.textContent + " - " + a.href | |
}).join("\n"); |
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.
import cv2.cv as cv | |
import tesseract | |
gray = cv.LoadImage('captcha.jpeg', cv.CV_LOAD_IMAGE_GRAYSCALE) | |
cv.Threshold(gray, gray, 231, 255, cv.CV_THRESH_BINARY) | |
api = tesseract.TessBaseAPI() | |
api.Init(".","eng",tesseract.OEM_DEFAULT) | |
api.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyz") | |
api.SetPageSegMode(tesseract.PSM_SINGLE_WORD) | |
tesseract.SetCvImage(gray,api) | |
print api.GetUTF8Text() |
#!/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'; |