Skip to content

Instantly share code, notes, and snippets.

🎯
Swimming 🏊 in the sea of code~~

jdhao jdhao

🎯
Swimming 🏊 in the sea of code~~
View GitHub Profile
@jdhao
jdhao / opencv_save_img.py
Created Mar 11, 2020
Save image with quality parameter in OpenCV
View opencv_save_img.py
import cv2
img = cv2.imread('test.jpg')
# specify the write parameter, can be found in https://docs.opencv.org/master/d4/da8/group__imgcodecs.html#ga292d81be8d76901bff7988d18d2b42ac
write_param = [cv2.IMWRITE_JPEG_QUALITY, 90, cv2.IMWRITE_JPEG_OPTIMIZE, 1]
cv2.imwrite("test_new.jpg", img, write_param)
# Reference
@jdhao
jdhao / python_random_sample.md
Last active Dec 16, 2019
There is a difference between random.choices() and random.sample() in Python
View python_random_sample.md

In python, random.choices() will select K items from a list with replacement, which means that there are may be duplicated items in the result list. If you want to select K random item from the list without duplication, you need to use random.sample() instead.

I wasted one hour debugging this issue and suddenly found the casue. Sad :[

@jdhao
jdhao / build.bat
Last active Dec 16, 2019
Create Markdown tags for use in tagbar, see also https://jdhao.github.io/2019/10/15/tagbar_markdown_setup/
View build.bat
pyinstaller --onefile --console markdown2ctags.py
@jdhao
jdhao / grep_unicode.md
Created Sep 17, 2019
How to grep unicode character in command line
View grep_unicode.md

How do I grep unicode characters using its code point?

For example, if we want to grep a(unicode code point is u+0041), we can use the following trick:

grep "$(printf '\u0041')" my_file.txt

References

View gist:43d2d12c3d9e9e3cb31878f4452cb704

When log in to server, I see the following error message;

RSA host key for xxxx has changed and you have requested strict checking. Host key verification failed.

You can remove the offending host key from file ~/.ssh/known_hosts. For example, if line 1 includes the offending hosts info, just remove it:

sed -i.bak -e '1d' ~/.ssh/known_hosts
@jdhao
jdhao / en.utf-8.add
Created Sep 16, 2019
Nvim spell file
View en.utf-8.add
#eovim
#eovim/!
AED
Builtin
CER
DT
Deoplete
Deteval
Esc
Exif
@jdhao
jdhao / utils.vim
Created Sep 12, 2019
My utils functions used in init.vim
View utils.vim
" Remove trailing white space, see https://vi.stackexchange.com/a/456/15292
function utils#StripTrailingWhitespaces() abort
let l:save = winsaveview()
" vint: next-line -ProhibitCommandRelyOnUser -ProhibitCommandWithUnintendedSideEffect
keeppatterns %s/\v\s+$//e
call winrestview(l:save)
endfunction
" Create command alias safely, see https://bit.ly/2ImFOpL.
" The following two functions are taken from answer below on SO:
@jdhao
jdhao / cpp.vim
Last active Sep 12, 2019
Filetype plugins for Neovim
View cpp.vim
nnoremap <F9> :w <CR> :!g++ -Wall -std=c++11 % -o %<&&./%<<CR>
@jdhao
jdhao / str_byte_convert.md
Created May 31, 2019
Convert Unicode string to bytes and convert bytes back to Unicode string in Python 3
View str_byte_convert.md

Conversion between bytes and string in Python 3

To convert Unicode string to bytes object, you can use two methods:

  • 'hello'.encode('utf-8')
  • bytes('hello', encoding='utf-8')

To convert bytes back to Unicode string, you can use two methods:

  • b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode('utf-8')
@jdhao
jdhao / Markdown2docx.sublime-build
Created May 30, 2019
Markdown to docx build system for Sublime Text 3
View Markdown2docx.sublime-build
{
"shell_cmd": "pandoc \"${file}\" -o \"${file_path}/${file_base_name}.docx\" ",
// "path": "C:/Users/east/AppData/Local/Pandoc/;%PATH%",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "text.html.markdown",
"variants":
[
{
You can’t perform that action at this time.