Skip to content

Instantly share code, notes, and snippets.

View sharkdeng's full-sized avatar
💭
single

Shark Deng sharkdeng

💭
single
View GitHub Profile
@sharkdeng
sharkdeng / wodpress2txt.py
Last active October 2, 2020 08:22
turn wordpress xml to txt
## this snippet allows you to fastly convert post from wordpress xml format to txt
from xml.dom.minidom import parse, parseString
import os
dom = parse('jobyme88.xml') # parse an XML file by name
os.path.makedirs('blogs')
items = dom.getElementsByTagName('item')
@sharkdeng
sharkdeng / pdf2jpg.py
Created October 2, 2020 08:24
turn pdf pages to jpg (not png, since jpg is smaller than png, website friendly)
# extract pdf to jpg
from pdf2image import convert_from_path
from tqdm import tqdm
import os
import uuid
input_path = 'corridor.pdf'
uid = uuid.uuid4().hex[:4]
output_path = uid + '-' + input_path.split('.')[0]
@sharkdeng
sharkdeng / is_nan.py
Last active October 9, 2020 11:16
judge if the given value is nan
def is_nan(a):
import math
import numpy as np
if isinstance(a, float):
return math.isnan(a)
elif isinstance(a, np.float64):
return np.isnan(a)
else:
return False
@sharkdeng
sharkdeng / code.tex
Created October 12, 2020 19:13
latex code style
%Source: https://www.overleaf.com/learn/latex/code_listing%
\usepackage{listings}
\usepackage{xcolor}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: Text("Second View")) {
Text("Hello, World!")
}
.navigationBarTitle("Navigation")
}
@sharkdeng
sharkdeng / crop.py
Created October 14, 2020 05:26
crop white of an image
# Source: https://www.kaggle.com/lopuhin/panda-2020-level-1-2
def crop_white(image: np.ndarray, value: int = 255) -> np.ndarray:
assert image.shape[2] == 3
assert image.dtype == np.uint8
ys, = (image.min((1, 2)) < value).nonzero()
xs, = (image.min(0).min(1) < value).nonzero()
if len(xs) == 0 or len(ys) == 0:
return image
@sharkdeng
sharkdeng / multiprocessing.py
Last active October 14, 2020 08:45
use multiprocessing to speed up
# you have run this code in .py file (cannot be in .ipynb)
# you have to add the head `if __name__ == '__main__':`
if __name__ == '__main__':
start = time.time()
img_ids = df.image_id.values # a list
pool = Pool(processes=multiprocessing.cpu_count())
pool.map(crop_all_img, img_ids) # (function, list)
@sharkdeng
sharkdeng / detect_duplicates.py
Last active October 14, 2020 10:15
using imagehash to detect duplicates
# detect two duplicate photos
# 1 get hash function
import cv2
import imagehash
funcs = [
imagehash.average_hash,
imagehash.phash,
@sharkdeng
sharkdeng / speech.html
Last active October 17, 2020 18:41
SpeechSynthesisUtterance-working-1
<html>
<head>
</head>
<body>
<form>
<input type='text'></input>
<select id='voiceSelect'></select>
<input type="submit"></input>
</form>
<script>
@sharkdeng
sharkdeng / soundex.py
Last active October 18, 2020 12:03
Soundex algorithm
def soundex(string):
# keep first letter of a string
string = string.lower()
result = string[0]
string = string[1:]