41554 blogs · [ { "id": "01a0878f-993d-703e-a324-b42095b7f5af", "title": "Mount and unmount a LUKS volume using Bash functions", "url": "https://johnpili.com/mount-and-unmount-a-luks-volume-using-bash-functions/", "published_at": "2026-08-07T20:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b42096a0801e", "title": "Postgres Initial Linux Configuration Guide", "url": "https://johnpili.com/postgres-initial-linux-configuration-guide/", "published_at": "2026-04-05T12:01:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b42097833253", "title": "Bash string manipulation in program arguments", "url": "https://johnpili.com/bash-string-manipulation-in-program-arguments/", "published_at": "2025-12-27T21:20:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b42097dff3fd", "title": "Generate a self-signed certificate for Go", "url": "https://johnpili.com/generate-a-self-signed-certificate-for-go/", "published_at": "2025-12-27T19:25:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b42098546a06", "title": "Use Linux diff command for line by line comparison", "url": "https://johnpili.com/use-linux-diff-command-for-line-by-line-comparison/", "published_at": "2025-10-18T23:34:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420988fb949", "title": "Git Cheat Sheet", "url": "https://johnpili.com/git-cheat-sheet/", "published_at": "2025-04-27T11:19:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420995782c2", "title": "Change Microsoft SQL Server Data Location", "url": "https://johnpili.com/change-microsoft-sql-server-data-location/", "published_at": "2025-03-28T00:41:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b42099ccbebd", "title": "Recursively delete files with a specific file extension", "url": "https://johnpili.com/recursively-delete-files-with-a-specific-file-extension/", "published_at": "2024-10-27T09:41:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209a891f51", "title": "Using Unix Domain Socket in Go", "url": "https://johnpili.com/using-unix-domain-socket-in-go/", "published_at": "2024-02-14T11:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209b55559f", "title": "Check JPA Query Type", "url": "https://johnpili.com/check-jpa-query-type/", "published_at": "2024-01-28T13:01:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209bc82580", "title": "Using Vue without a build step", "url": "https://johnpili.com/using-vue-without-a-build-step/", "published_at": "2023-10-24T22:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209cbe9192", "title": "Set HTTP Request Body Size in Go", "url": "https://johnpili.com/set-http-request-body-size-in-go/", "published_at": "2023-10-23T21:13:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209d36fe18", "title": "Boot Linux without a splash screen", "url": "https://johnpili.com/boot-linux-without-a-splash-screen/", "published_at": "2023-08-05T02:20:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209dae489d", "title": "Start a React project without using CRA", "url": "https://johnpili.com/start-a-react-project-without-using-cra/", "published_at": "2023-05-29T22:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209e1aff2b", "title": "The Pragmatic Programmer - It's your life", "url": "https://johnpili.com/pragmatic-programmer-its-your-life/", "published_at": "2023-01-17T13:51:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209e787a3e", "title": "Change your SSH server port to reduce brute force attacks", "url": "https://johnpili.com/change-your-ssh-server-port-to-reduce-brute-force-attacks/", "published_at": "2022-12-26T16:58:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209ef1c53e", "title": "Rsync with different SSH port", "url": "https://johnpili.com/rsync-with-different-ssh-port/", "published_at": "2022-12-25T19:31:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209f1f809b", "title": "Golang with reCAPTCHA", "url": "https://johnpili.com/golang-with-recaptcha/", "published_at": "2022-12-18T11:18:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b4209f9ee9d3", "title": "Embed Resources in Go", "url": "https://johnpili.com/embed-resources-in-go/", "published_at": "2022-12-18T08:18:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a09a6674", "title": "Python batch file MD5 checksum generator and checker", "url": "https://johnpili.com/python-batch-file-md5-checksum-generator-and-checker/", "published_at": "2022-03-02T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a0a731a4", "title": "Python rename files that begins with matching string", "url": "https://johnpili.com/python-rename-files-that-begins-with-matching-string/", "published_at": "2022-02-27T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a0cad838", "title": "Active Directory userAccountControl flags", "url": "https://johnpili.com/active-directory-useraccountcontrol-flags/", "published_at": "2021-12-01T16:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a125ac8f", "title": "Fix Raspberry Pi SSH freezing issue", "url": "https://johnpili.com/fix-raspberry-pi-ssh-freezing-issue/", "published_at": "2021-11-09T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a1a428c8", "title": "Setup Static IP Address in Debian Linux", "url": "https://johnpili.com/setup-static-ip-address-in-debian-linux/", "published_at": "2021-06-12T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a1bf544c", "title": "Allow user or group to run sudo on specific applications in Linux", "url": "https://johnpili.com/allow-user-or-group-to-run-sudo-on-specific-applications-in-linux/", "published_at": "2021-05-02T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a2146cd4", "title": "Remove Source Path From Go's Panic Stack Trace", "url": "https://johnpili.com/remove-source-path-from-gos-panic-stack-trace/", "published_at": "2021-02-19T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a2f8f1b7", "title": "Generate text to image in Go", "url": "https://johnpili.com/generate-text-to-image-in-go/", "published_at": "2021-02-12T11:59:54+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a39c2b7f", "title": "Create a Linux systemd entry for your application", "url": "https://johnpili.com/create-a-linux-systemd-entry-for-your-application/", "published_at": "2021-01-04T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a39e5ee5", "title": "Linux systemd entry for your Go application", "url": "https://johnpili.com/linux-systemd-entry-for-your-go-application/", "published_at": "2021-01-04T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a3a7b826", "title": "Setup static IP address in Red Hat Enterprise Linux 8", "url": "https://johnpili.com/setup-static-ip-address-in-red-hat-enterprise-linux-8/", "published_at": "2020-10-20T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a3fed6c0", "title": "How to change MySQL’s root to use mysql_native_password in Ubuntu", "url": "https://johnpili.com/how-to-change-mysqls-root-to-use-mysql_native_password-in-ubuntu/", "published_at": "2020-10-08T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a4263aa0", "title": "Create MySQL User and Grant Privileges", "url": "https://johnpili.com/create-mysql-user-and-grant-privileges/", "published_at": "2020-10-06T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a4301758", "title": "Login as Jenkins in Linux Terminal", "url": "https://johnpili.com/login-as-jenkins-in-linux-terminal/", "published_at": "2020-08-14T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a4e7691b", "title": "Golang Linux Daemon", "url": "https://johnpili.com/golang-linux-daemon/", "published_at": "2020-07-27T16:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a5222eac", "title": "Randomly create a time.Sleep in Golang", "url": "https://johnpili.com/randomly-create-a-time-sleep-in-golang/", "published_at": "2020-07-02T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a5a3120b", "title": "Bus Seat Reservation User Interface Concept using Vue.js", "url": "https://johnpili.com/bus-seat-reservation-user-interface-concept-using-vuejs/", "published_at": "2020-05-27T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a6230515", "title": "MySQL Query – List Records That Don’t Exist From Another Table", "url": "https://johnpili.com/mysql-list-records-that-dont-exist-from-another-table/", "published_at": "2020-05-16T16:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a646a6ab", "title": "HTML drop-down placeholder", "url": "https://johnpili.com/html-drop-down-placeholder/", "published_at": "2020-04-15T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a6908f66", "title": "Create Android Studio Shortcut on Ubuntu 18.04", "url": "https://johnpili.com/create-android-studio-shortcut-on-ubuntu-18-04/", "published_at": "2020-04-14T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a6a4b2b6", "title": "How to clear your local Maven repository", "url": "https://johnpili.com/how-to-clear-your-local-maven-repository/", "published_at": "2020-04-14T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a6ccd67c", "title": "How to change Full Disk Encryption (LUKS) password on Ubuntu 18.04", "url": "https://johnpili.com/how-to-change-full-disk-encryption-luks-password-on-ubuntu-18-04/", "published_at": "2020-04-12T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a6e4ba9d", "title": "Make your old laptop usable again with Linux", "url": "https://johnpili.com/make-your-old-laptop-usable-again-with-linux/", "published_at": "2020-03-29T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a7786227", "title": "Completely Delete USB Flash Drive Partition in macOS using diskutil", "url": "https://johnpili.com/completely-delete-usb-flash-drive-partition-in-macos-using-diskutil/", "published_at": "2020-03-22T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a78c2988", "title": "Load balancing and redundant Internet connection using TP-Link ER6020", "url": "https://johnpili.com/load-balancing-and-redundant-internet-connection-using-tp-link-er6020/", "published_at": "2020-03-17T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a840aecf", "title": "Golang SQLite Simple Example", "url": "https://johnpili.com/golang-sqlite-simple-example/", "published_at": "2020-02-25T16:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a8996ab3", "title": "Generate text to image in Python", "url": "https://johnpili.com/generate-text-to-image-in-python/", "published_at": "2020-02-11T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a8a13fd8", "title": "Connect to Windows Shared Folder on Ubuntu 18.04 LTS", "url": "https://johnpili.com/connect-to-windows-shared-folder-on-ubuntu-18-04-lts/", "published_at": "2020-02-02T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a8bf7e41", "title": "How to create a bootable Ubuntu USB in macOS with UNetbootin", "url": "https://johnpili.com/how-to-create-a-bootable-ubuntu-usb-in-macos-with-unetbootin/", "published_at": "2020-01-29T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a9bdd054", "title": "Neofetch is visually pleasing command-line system information tool", "url": "https://johnpili.com/neofetch-is-visually-pleasing-command-line-system-information-tool/", "published_at": "2020-01-16T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420a9db492e", "title": "Screen recording in Ubuntu 18.04 using Kazam", "url": "https://johnpili.com/screen-recording-in-ubuntu-18-04-using-kazam/", "published_at": "2020-01-11T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420aa8da232", "title": "My review using the Razer Huntsman Tournament Edition for programming", "url": "https://johnpili.com/my-review-using-the-razer-huntsman-tournament-edition-for-programming/", "published_at": "2020-01-04T16:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420aabdc850", "title": "How to parse JSON data without struct in Golang", "url": "https://johnpili.com/how-to-parse-json-data-without-struct-in-golang/", "published_at": "2020-01-02T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420ab5c6fd8", "title": "How to Setup OpenVPN Client on Ubuntu 18.04", "url": "https://johnpili.com/how-to-setup-openvpn-client-on-ubuntu-18-04/", "published_at": "2019-12-26T16:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420ab83e93e", "title": "How to connect to a Cisco VPN in Ubuntu 18.04 LTS", "url": "https://johnpili.com/how-to-connect-to-a-cisco-vpn-in-ubuntu-18-04-lts/", "published_at": "2018-10-16T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420ac681d76", "title": "A simple firewall-cmd cheatsheet", "url": "https://johnpili.com/a-simple-firewall-cmd-cheatsheet/", "published_at": "2018-05-27T00:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420ad5b46e3", "title": "How to use Cloudflare as Dynamic DNS", "url": "https://johnpili.com/use-cloudflare-as-dynamic-dns/", "published_at": "2018-05-25T16:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420ae385d2a", "title": "Configure Tomcat as an init.d service", "url": "https://johnpili.com/configure-tomcat-as-an-init.d-service/", "published_at": "2018-04-30T16:00:00+00:00" }, { "id": "01a0878f-993d-703e-a324-b420af2ea6a9", "title": "About Me", "url": "https://johnpili.com/about/", "published_at": null }, { "id": "01a0878f-993d-703e-a324-b420af460f3b", "title": "Online Tools", "url": "https://johnpili.com/tools/", "published_at": null } ] posts Claim your blog
Back to johnpili.com
Blog · corpus.blog/blogs/johnpili.com/posts

johnpili.com

johnpili.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

Undated