Skip to content

Instantly share code, notes, and snippets.

%load_ext autoreload
%autoreload 2
import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
import numpy as np
@qnkhuat
qnkhuat / logger.py
Last active December 16, 2020 03:12
import os
import sys
import logging
from datetime import datetime, timedelta
import pytz
def local_time(sec, what, tz="Asia/Ho_Chi_Minh"):
"""get datetime now with viet name timezone for logger"""
lc_time = datetime.now(tz=pytz.timezone(tz))
PROMPT="%{$fg_bold[green]%}$USER::"
PROMPT+='%{$fg[cyan]%}%~%{$reset_color%} $(git_prompt_info)'
PROMPT+="%(?:%{$fg_bold[green]%}:%{$fg_bold[red]%})➜ %{$reset_color%}"
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
@qnkhuat
qnkhuat / scan.sh
Last active March 3, 2022 10:20
Bash script to scan dead links in a repo
#!/bin/bash
set -o noglob # prevent bash from auto glob file extensions
set -e # exit if any commands yield error
# constants
readonly CRed='\033[0;31m' # Red
readonly CGreen='\033[0;32m' # Green
readonly CYellow='\033[0;33m' # Yellow
readonly CBlue='\033[0;34m' # Blue
readonly CWhite='\033[0;37m' # White
@qnkhuat
qnkhuat / server.js
Last active September 2, 2021 02:42
`node server.js` to run. `node server.js -test` to run test. Default port is 3000
/*
# PigeonLab Engineering Test
## Overview
Your task is to create a TCP based calculator service and deploy it. It'll take
in simple math operations such as `1+1`, or `5*10` and reply with the answer.
You should implement the server in node.js, with no dependancies, and in a single
@qnkhuat
qnkhuat / interp.scm
Created October 13, 2021 06:24
This is all you need for an interpreter
; From https://www.youtube.com/watch?v=OyfBQmvr2Hc
(define eval-expr
(lambda (expr env)
(pmatch expr
[,x (guard (symbol? x))
(env x)]
[(lambda (,x) ,body)
(lambda arg)
(eval-expr body (lambda (y)
@qnkhuat
qnkhuat / hieu.py
Last active November 2, 2021 09:29
# install
# pip3 install pandas
# pip3 install xlrd
# pip3 install openpyxl
import pandas as pd
from glob import glob
import argparse
import os
from multiprocessing import Pool, cpu_count
@qnkhuat
qnkhuat / mnist_reader.clj
Last active February 2, 2022 04:03
MNIST reader in clojure
;; Data download from: http://yann.lecun.com/exdb/mnist/
(ns cnn.core
(:import java.io.File
java.io.FileInputStream))
(defn u4->int [arr]
;; convert an array of 4 bytes to int
(loop [r 0 i 3 x arr]
(if (= i -1)
r

Here is an example of the query and the expected output of convert-timezone

(mt/with-report-timezone-id "UTC"
  (mt/with-driver :postgres
    (mt/dataset test-data
      (->> (mt/run-mbql-query
             users
             {:expressions {"login_in_HCM"      [:convert-timezone [:field (mt/id :users :last_login) nil] "Asia/Ho_Chi_Minh" "Europe/Rome"]
                            "hour_login_in_HCM" [:get-hour [:expression "login_in_HCM"]]}
              :fields      [[:expression "login_in_HCM"]
def log(func_name=""):
def decorator(func):
def wrapper(*args, **kwargs):
func_sig = f"{func_name} | " if func_name else ""
print(f"{func_sig}Args: {args} {kwargs}")
result = func(*args, **kwargs)
print(f"{func_sig}Result: {result}")
return result
return wrapper
return decorator