{"version":1,"pages":[{"id":"CF1kWKoN31BbOeUuMbJL","title":"README","pathname":"/","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MLMdWWDad6gRtziQz2K","title":"analytics","pathname":"/analytics","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MLMdWWNwkyDe7vnizLd","title":"convert json perline to panads data frame","pathname":"/analytics/convert-json-perline-to-panads-data-frame","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"analytics"}]},{"id":"-MYoo2ptE_KWKZ528Sey","title":"hierarchical data format","pathname":"/analytics/hierarchical-data-format","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"analytics"}]},{"id":"-MLMdWWBTDIgsorWneHF","title":"pandas format custom date in data frame","pathname":"/analytics/pandas-format-custom-date-in-data-frame","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"analytics"}]},{"id":"-MUs9LJQ12-jcGCoqsdP","title":"bash","pathname":"/bash","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MUs74X86Cs-z10eQpxA","title":"bash forloop","pathname":"/bash/bash-forloop","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"bash"}]},{"id":"-MUs9lLmr9xL1EAAqQMW","title":"parameter expansion","pathname":"/bash/parameter-expansion","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"bash"}]},{"id":"-MLMdWW7CpN3eDyAiGPs","title":"prompt confirmation in bash","pathname":"/bash/prompt-confirmation-in-bash","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"bash"}]},{"id":"-MUrn0LIa4GwS_IgQDdE","title":"db","pathname":"/db","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MXCVg_gcte-JGK1CyvW","title":"disabling foreign key when importing dump","pathname":"/db/disabling-foreign-key-when-importing-dump","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"db"}]},{"id":"-MXgvtbTzER9eDk3HE0-","title":"postgres add object to jsonb array from the same column","pathname":"/db/postgres-add-object-to-jsonb-array-from-the-same-column","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"db"}]},{"id":"-MUrn0LJLgo-lG6cXQmF","title":"postgres audit log trigger","pathname":"/db/postgres-audit-log-trigger","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"db"}]},{"id":"-MUs74Wbg1FaI43hJh4w","title":"postgres naming trigger","pathname":"/db/postgres-naming-trigger","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"db"}]},{"id":"0rTtWSCs5vMEysAIO1ZE","title":"postgres rename enum","pathname":"/db/postgres-rename-enum","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"db"}]},{"id":"pFfeWfx6Gf9CAgzu8vdI","title":"postgres reset sequence after import","pathname":"/db/postgres-reset-sequence-after-import","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"db"}]},{"id":"TSjeVmKQbFT7CXjcJ08T","title":"postgres skip table from restore","pathname":"/db/postgres-skip-table-from-restore","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"db"}]},{"id":"-MUwyCnA0Ey_v1W8Ym6R","title":"set a column with value from different table","pathname":"/db/set-a-column-with-value-from-different-table","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"db"}]},{"id":"-MVWkYSmUpmw9ZIxdj9I","title":"dgraph","pathname":"/dgraph","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MVWkaQ316QiHwA6lBNA","title":"dgraph docker compose whitelist ip","pathname":"/dgraph/dgraph-docker-compose-whitelist-ip","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"dgraph"}]},{"id":"-MW4ltUYnXyKsBvE9eqt","title":"docker","pathname":"/docker","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MW4lz5u0_5u2YOu1hPT","title":"docker compose make sure postgres is ready before starting other service","pathname":"/docker/docker-compose-make-sure-postgres-is-ready-before-starting-other-service","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"docker"}]},{"id":"nCTWeEj1Oh5q4PQWJWtF","title":"fish","pathname":"/fish","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"vMHzm9D4GpWFXCXCGHel","title":"edit last command in editor","pathname":"/fish/edit-last-command-in-editor","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"fish"}]},{"id":"-MLMdWWVq6oBBpXB6Wc2","title":"git","pathname":"/git","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MUs74Wd7ywY2Y3ea-eh","title":"checkout last branch","pathname":"/git/checkout-last-branch","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"-MkfYRAJYd8hRtrEMU0d","title":"different between two dots and three","pathname":"/git/different-between-two-dots-and-three","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"-MW4sUNJd_Ih5f95JEwI","title":"force fail commit on master","pathname":"/git/force-fail-commit-on-master","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"-MW4r7dW-MpZQnI7Sqv7","title":"git finish helper script delete current branch and update master","pathname":"/git/git-finish-helper-script-delete-current-branch-and-update-master","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"-MUs74WeaaNtn_uJnYY2","title":"git mergetool and diff with p4merge","pathname":"/git/git-mergetool-and-diff-with-p4merge","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"-MUs74WfVnsncFxEeAQ0","title":"global gitignore file","pathname":"/git/global-gitignore-file","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"-MUs74Wgy7piRrNlsxrJ","title":"intellij as diff and mergetool","pathname":"/git/intellij-as-diff-and-mergetool","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"-MUs74WhNfh1_SaAZ1GC","title":"push only current branch","pathname":"/git/push-only-current-branch","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"-MUs74WiT-3UY-khGJLs","title":"reset email multiple commit","pathname":"/git/reset-email-multiple-commit","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"cEqIw0VvX6IebdzBAc0n","title":"sign commit with pgp","pathname":"/git/sign-commit-with-pgp","siteSpaceId":"sitesp_AzaIs","description":"We can sign our commit with PGP to get verification that it was committed by us. On github we would also get a green \"Verified\" check mark in our commit.","breadcrumbs":[{"label":"git"}]},{"id":"-MLMdWW9CXxKa9gBO_OA","title":"worktree switching branch without stash","pathname":"/git/worktree-switching-branch-without-stash","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"git"}]},{"id":"-MLMdWWEOjcvSXp_fWay","title":"go","pathname":"/go","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MUs74Wlzu6h4dnD5XE5","title":"default math.rand.source is thread save while rand.new source is not","pathname":"/go/default-math.rand.source-is-thread-save-while-rand.new-source-is-not","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"go"}]},{"id":"An9AhKhipyCqKfkCPtqu","title":"deploying go to a vpn ubuntu server with github and ssl","pathname":"/go/deploying-go-to-a-vpn-ubuntu-server-with-github-and-ssl","siteSpaceId":"sitesp_AzaIs","description":"Deploy a go application to a small server with SSL support and Github as CI/CD","breadcrumbs":[{"label":"go"}]},{"id":"-MUs74WmCmqXCepphqDp","title":"k8s","pathname":"/k8s","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"elQeUWMXIG7Yqf6TaVaO","title":"copy file to pod","pathname":"/k8s/copy-file-to-pod","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"k8s"}]},{"id":"jnz452CukHDYLW1WGBj1","title":"getting cpu and memory usage for container","pathname":"/k8s/getting-cpu-and-memory-usage-for-container","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"k8s"}]},{"id":"MjHrZ9P5GjWSCGlBVddl","title":"how cert manager and letsencrypt challenge works","pathname":"/k8s/how-cert-manager-and-letsencrypt-challenge-works","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"k8s"}]},{"id":"EsPXa2OAhB3P5vAMmLU4","title":"kubernetes resource short name","pathname":"/k8s/kubernetes-resource-short-name","siteSpaceId":"sitesp_AzaIs","description":"type less with the resource short name","breadcrumbs":[{"label":"k8s"}]},{"id":"-MXlDhQguukAZuWuCE7d","title":"scale deployment","pathname":"/k8s/scale-deployment","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"k8s"}]},{"id":"-MUs74WnFWK6QSd9HbUT","title":"view secret","pathname":"/k8s/view-secret","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"k8s"}]},{"id":"-MLMdWWZhgZSHbuMh-WY","title":"linux","pathname":"/linux","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"ncYb6JJf7qUypeJ9o7VH","title":"boot zfs root filesystem on grub","pathname":"/linux/boot-zfs-root-filesystem-on-grub","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"-MLMdWWRGTGR-Ui1vtW1","title":"clearing up swap space","pathname":"/linux/clearing-up-swap-space","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"-MLMdWWKMqs2nPM3ArHz","title":"connect bluetooth device from cli","pathname":"/linux/connect-bluetooth-device-from-cli","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"eglpV6cWJAaXA7eschMn","title":"free and vmstat command","pathname":"/linux/free-and-vmstat-command","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"-MLMdWWJQAg1rcYhIANZ","title":"get full argument from a process","pathname":"/linux/get-full-argument-from-a-process","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"-MgpQXxuWbtMTiHWA-Ij","title":"merge multiple pdf into a single file","pathname":"/linux/merge-multiple-pdf-into-a-single-file","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"-MLMdWW3t546oM67cjkQ","title":"removing old kernel","pathname":"/linux/removing-old-kernel","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"-MLMdWVw-2o0wphxEgbd","title":"symbolic vs hard link","pathname":"/linux/symbolic-vs-hard-link","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"-MLMdWVsS24iLO5kT7W7","title":"zfs auto snapshot","pathname":"/linux/zfs-auto-snapshot","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"-MLMdWVqD9vcx1ZtBoaM","title":"zfs external backup drive with snapshot and encryption","pathname":"/linux/zfs-external-backup-drive-with-snapshot-and-encryption","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"linux"}]},{"id":"-MLMdWVu6FMSzxpRSqNq","title":"net","pathname":"/net","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MLMdWW4PSEmz1UqdZiW","title":"dnssec","pathname":"/net/dnssec","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"net"}]},{"id":"TkgJiVag1cDNH0iNon4H","title":"html form submit to different action depending on properties","pathname":"/net/html-form-submit-to-different-action-depending-on-properties","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"net"}]},{"id":"-MLMdWWTtW3Cmd65fgkV","title":"ldap list users","pathname":"/net/ldap-list-users","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"net"}]},{"id":"-MLMdWWYic8S_fWv5Wbl","title":"osx","pathname":"/osx","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MUs74X-HDKcfr7AuTYV","title":"checksum a file from a url","pathname":"/osx/checksum-a-file-from-a-url","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"osx"}]},{"id":"-MLMdWW_j8ekQMZyCeMf","title":"cluster ssh in iterm2 with i2cssh","pathname":"/osx/cluster-ssh-in-iterm2-with-i2cssh","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"osx"}]},{"id":"-MLMdWWMie3Xv7HRc_sX","title":"list open port","pathname":"/osx/list-open-port","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"osx"}]},{"id":"-MLMdWWLvBdXY6A_iL53","title":"manage clipboard easily with jumpcut","pathname":"/osx/manage-clipboard-easily-with-jumpcut","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"osx"}]},{"id":"-MLMdWWHbx-pelOh_K4E","title":"pipe output to clipboard with pbcopy and pbpaste","pathname":"/osx/pipe-output-to-clipboard-with-pbcopy-and-pbpaste","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"osx"}]},{"id":"-MUs74X4_grBMxFXQTjC","title":"show hidden file","pathname":"/osx/show-hidden-file","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"osx"}]},{"id":"-MLMdWVlgTIYZNWHHVqa","title":"sign application with self certificate","pathname":"/osx/sign-application-with-self-certificate","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"osx"}]},{"id":"-MLMdWWIKkC6ADUhwm93","title":"starting program on startup with login items","pathname":"/osx/starting-program-on-startup-with-login-items","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"osx"}]},{"id":"AtTfJWRyOMZy6bmZ7ZW5","title":"python","pathname":"/python","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"und38MUTvGmzpVligjvu","title":"count frequency with lambda","pathname":"/python/count-frequency-with-lambda","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"python"}]},{"id":"41T9EQXqPFcCURNb6C7V","title":"dijkstra algorithm shortest path","pathname":"/python/dijkstra-algorithm-shortest-path","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"python"}]},{"id":"KrcOUnA9umVEN6vLScFv","title":"double slash arithmetic operator","pathname":"/python/double-slash-arithmetic-operator","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"python"}]},{"id":"ivapLnRPRyO1Sbp0CXUX","title":"min and max of dict values","pathname":"/python/min-and-max-of-dict-values","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"python"}]},{"id":"N5n1DAJytRpv7lbKdPLM","title":"python3 match case","pathname":"/python/python3-match-case","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"python"}]},{"id":"vNy0BjYZREqwhXkVB9j6","title":"reduce and opeator","pathname":"/python/reduce-and-opeator","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"python"}]},{"id":"-MVWwdgcTvTrJ76F-8XY","title":"react","pathname":"/react","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MVaDLmR34boFrEpyB9r","title":"react named export vs default export","pathname":"/react/react-named-export-vs-default-export","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"react"}]},{"id":"-MVWwgukhMS3eUmKxYV9","title":"react useeffect","pathname":"/react/react-useeffect","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"react"}]},{"id":"-MVa1K5hansGSTm-Q-TC","title":"react.useref","pathname":"/react/react.useref","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"react"}]},{"id":"-MLMdWWFBwAKSFuX2v16","title":"unix","pathname":"/unix","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MLMdWWQMz_DYtwQ-JKu","title":"bulk renaming multiple file","pathname":"/unix/bulk-renaming-multiple-file","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MUs74XAX9n5nUiNeDvg","title":"convert pdf to text using ocr","pathname":"/unix/convert-pdf-to-text-using-ocr","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWVvZ8Xhcim2Ufix","title":"diff output of 2 command","pathname":"/unix/diff-output-of-2-command","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MUs74XCjEwGybRVRciY","title":"encryption with gpg","pathname":"/unix/encryption-with-gpg","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWWSXd7uFYZ191fp","title":"extend letsencrypt certificate with dns challenge","pathname":"/unix/extend-letsencrypt-certificate-with-dns-challenge","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MXaTbYaRWmNOXTSbavD","title":"ffmpeg monitor and restart stream when it hung or stall","pathname":"/unix/ffmpeg-monitor-and-restart-stream-when-it-hung-or-stall","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWWODpp4gNML5cl3","title":"file size older than x days","pathname":"/unix/file-size-older-than-x-days","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWWbXRIzRQCtkcGk","title":"filtering json with jq","pathname":"/unix/filtering-json-with-jq","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"QCWiHFbkbHNW1xu9am0r","title":"find lines that matches on 2 different sorted file","pathname":"/unix/find-lines-that-matches-on-2-different-sorted-file","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWW0TT9JTJDd8tRm","title":"find out what is using swap","pathname":"/unix/find-out-what-is-using-swap","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MVH3Uuo27_RfZi5OSTQ","title":"fish environment variables from 1password","pathname":"/unix/fish-environment-variables-from-1password","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"VilqjKVq7Os1ab1JA2f0","title":"fix gpg warning unsafe permissions on homedir","pathname":"/unix/fix-gpg-warning-unsafe-permissions-on-homedir","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWVpN6b4bXdwWfdP","title":"formatting or parse json in command line","pathname":"/unix/formatting-or-parse-json-in-command-line","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWW5XsiJswPrOYeZ","title":"get all line except n last one","pathname":"/unix/get-all-line-except-n-last-one","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWW60bQd_TO5pJTP","title":"grep print only matched","pathname":"/unix/grep-print-only-matched","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"MAjzqVW8R45PYycOuIOx","title":"grep using input file as pattern to search other file","pathname":"/unix/grep-using-input-file-as-pattern-to-search-other-file","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"URCfoqFNFD1CYQ39vgWs","title":"jq counting lenght of an array","pathname":"/unix/jq-counting-lenght-of-an-array","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWVyhAao1p04CN4d","title":"jq extracting properties to arrays from json row line","pathname":"/unix/jq-extracting-properties-to-arrays-from-json-row-line","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWW2w0-O8xv95bLu","title":"keep n recent item in folder","pathname":"/unix/keep-n-recent-item-in-folder","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MUs74XMyYu5InkgALMd","title":"open last command in the editor with fc","pathname":"/unix/open-last-command-in-the-editor-with-fc","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWW1pPEv5-RB6xD0","title":"parsing epoch timestamp to date","pathname":"/unix/parsing-epoch-timestamp-to-date","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWVtoNXZd0mE41-2","title":"pbcopy alternative for copying to clipboard","pathname":"/unix/pbcopy-alternative-for-copying-to-clipboard","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWVxqJsBNpmZBebn","title":"process pipe operator","pathname":"/unix/process-pipe-operator","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MXaT25TGcR2S8g-LZuQ","title":"record a web stream to youtube","pathname":"/unix/record-a-web-stream-to-youtube","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MUs74XRRB-eLAFp27OL","title":"regex for validating password","pathname":"/unix/regex-for-validating-password","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWW8dpGMO2B_pAoe","title":"rename tmux window","pathname":"/unix/rename-tmux-window","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWVno9OaFR-vi_qL","title":"repeat content of text x time","pathname":"/unix/repeat-content-of-text-x-time","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MUs74XUoowL8pl41mVm","title":"replacing last command and execute it","pathname":"/unix/replacing-last-command-and-execute-it","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWWclJ3U-1cwcCPF","title":"reusing last command argument","pathname":"/unix/reusing-last-command-argument","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWW-9zYz7cOF71Ak","title":"sending curl post with file","pathname":"/unix/sending-curl-post-with-file","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWVhBBv7Dp9OrdxV","title":"send slack message from command line","pathname":"/unix/send-slack-message-from-command-line","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MUs74XYlSeA5XWpPL_6","title":"sort file inline","pathname":"/unix/sort-file-inline","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWWGl6qGX76iTyS7","title":"specify compression level in tar gzip","pathname":"/unix/specify-compression-level-in-tar-gzip","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MUs74X_o9duJRYnJM2A","title":"zsh ctrl p same behavior as up arrow","pathname":"/unix/zsh-ctrl-p-same-behavior-as-up-arrow","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"unix"}]},{"id":"-MLMdWVoNPsAUVLAVau2","title":"vim","pathname":"/vim","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"-MLMdWVzo_SRjW2t_V_K","title":"paste yanked text on command buffer","pathname":"/vim/paste-yanked-text-on-command-buffer","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"vim"}]},{"id":"E8oi3RSSMKnEM0EQsIv0","title":"web","pathname":"/web","siteSpaceId":"sitesp_AzaIs","description":""},{"id":"exFjd0q9s3iQmFXSCxpo","title":"this article is published to dev to with github action","pathname":"/web/this-article-is-published-to-dev-to-with-github-action","siteSpaceId":"sitesp_AzaIs","description":"","breadcrumbs":[{"label":"web"}]}]}