<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Jacky&apos;s blog</title><description>Notes on full-stack engineering, problem solving, and the occasional puzzle.</description><link>https://myblog.jszsoft.com/</link><item><title>Pi 5 network monitor, one month in: fixes, upgrades, and what I actually found</title><link>https://myblog.jszsoft.com/posts/2026-04-25-pi-5-network-monitor-one-month-in/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2026-04-25-pi-5-network-monitor-one-month-in/</guid><description>A retrospective on the Pi 5 transparent network monitor — the bugs that bit, the dashboard rewrite, an AI-friendly export format, and the surprising things home devices do when no one is watching.</description><pubDate>Sat, 25 Apr 2026 12:00:00 GMT</pubDate></item><item><title>Turn a Raspberry Pi 5 into a transparent network monitor</title><link>https://myblog.jszsoft.com/posts/2026-04-19-raspberry-pi-5-network-monitor/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2026-04-19-raspberry-pi-5-network-monitor/</guid><description>Step-by-step guide to building a WiFi access point on a Pi 5 that logs every device&apos;s traffic — destination IPs, ports, and DNS queries — with a live web dashboard.</description><pubDate>Sun, 19 Apr 2026 12:00:00 GMT</pubDate></item><item><title>Find maximum sub array</title><link>https://myblog.jszsoft.com/posts/2022-03-28-find-maximum-sub-array/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2022-03-28-find-maximum-sub-array/</guid><description>A single-pass Kadane-style solution to the classic maximum sub array interview problem, with worked-through Java and Python implementations.</description><pubDate>Mon, 28 Mar 2022 12:00:00 GMT</pubDate></item><item><title>Another one to calculate area of the shadow</title><link>https://myblog.jszsoft.com/posts/2021-09-11-another-one-to-calculate-area-of-the-shadow/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2021-09-11-another-one-to-calculate-area-of-the-shadow/</guid><description>Working out the shaded area inside a semicircle using elementary trigonometry — a New Zealand high-school puzzle I saw on TikTok.</description><pubDate>Sat, 11 Sep 2021 12:00:00 GMT</pubDate></item><item><title>Simple chatroom application using STOMP and SockJsClient</title><link>https://myblog.jszsoft.com/posts/2021-09-10-simple-chatroom-application-using-stomp-and-sockjsclient/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2021-09-10-simple-chatroom-application-using-stomp-and-sockjsclient/</guid><description>Building a small React + Spring Boot chatroom that uses STOMP over SockJS with a RabbitMQ relay, including login/logout event broadcasting.</description><pubDate>Fri, 10 Sep 2021 12:00:00 GMT</pubDate></item><item><title>REACT unit testing use Jest and Testing Library</title><link>https://myblog.jszsoft.com/posts/2021-05-13-react-unit-testing-use-jest-and-testing-library/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2021-05-13-react-unit-testing-use-jest-and-testing-library/</guid><description>A practical guide to setting up Jest configuration and writing React unit tests with Testing Library and jest-when, including mocking i18n and API calls.</description><pubDate>Thu, 13 May 2021 12:00:00 GMT</pubDate></item><item><title>VBA output UTF-8 text file</title><link>https://myblog.jszsoft.com/posts/2021-02-13-vba-output-utf-8-text-file/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2021-02-13-vba-output-utf-8-text-file/</guid><description>Fixing a VBA automation script so it writes UTF-8 text files that correctly preserve accented characters on both MacOS and Windows.</description><pubDate>Sat, 13 Feb 2021 12:00:00 GMT</pubDate></item><item><title>Calculate area of the shadow</title><link>https://myblog.jszsoft.com/posts/2021-02-08-calculate-area-of-the-shadow/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2021-02-08-calculate-area-of-the-shadow/</guid><description>Solving a high school geometry puzzle by decomposing overlapping circle sectors into triangles and using the law of cosines to find the shadow area.</description><pubDate>Mon, 08 Feb 2021 12:00:00 GMT</pubDate></item><item><title>Create Custom Windows 10 Recovery Option</title><link>https://myblog.jszsoft.com/posts/2021-02-05-create-custom-windows-10-recovery-option/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2021-02-05-create-custom-windows-10-recovery-option/</guid><description>Step-by-step guide to replacing a factory recovery partition with a custom Windows 10 image using ADK, DISM, diskpart and a bootable Windows PE USB.</description><pubDate>Fri, 05 Feb 2021 12:00:00 GMT</pubDate></item><item><title>Access unsecured site in Chrome</title><link>https://myblog.jszsoft.com/posts/2021-01-06-access-unsecured-site-in-chrome/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2021-01-06-access-unsecured-site-in-chrome/</guid><description>A quick tip: type thisisunsafe on the Chrome certificate warning screen to bypass the block and access sites with invalid certificates.</description><pubDate>Wed, 06 Jan 2021 12:00:00 GMT</pubDate></item><item><title>Use vscode for java development</title><link>https://myblog.jszsoft.com/posts/2020-12-23-use-vscode-for-java-development/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-12-23-use-vscode-for-java-development/</guid><description>Setting up VS Code as a Java IDE with the Java, Spring Boot and Gradle extension packs, plus configuring launch settings and debugging.</description><pubDate>Wed, 23 Dec 2020 12:00:00 GMT</pubDate></item><item><title>Encryption and Signing using asymmetric key</title><link>https://myblog.jszsoft.com/posts/2020-12-07-encryption-and-signing-using-asymmetric-key/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-12-07-encryption-and-signing-using-asymmetric-key/</guid><description>A walkthrough of using asymmetric keys with openssl to encrypt messages and sign data, showing the difference between encryption and signing workflows.</description><pubDate>Mon, 07 Dec 2020 12:00:00 GMT</pubDate></item><item><title>Session filter check user session</title><link>https://myblog.jszsoft.com/posts/2020-12-04-session-filter-check-user-session/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-12-04-session-filter-check-user-session/</guid><description>Implement a Spring Boot servlet filter backed by Redis session storage that redirects unauthenticated users to the login page.</description><pubDate>Fri, 04 Dec 2020 12:00:00 GMT</pubDate></item><item><title>Install and set up CentOS 8 in VirtualBox</title><link>https://myblog.jszsoft.com/posts/2020-11-18-install-and-set-up-centos-8-in-virtualbox/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-11-18-install-and-set-up-centos-8-in-virtualbox/</guid><description>End-to-end guide installing CentOS 8 in VirtualBox and configuring networking, Java 11, MySQL, MongoDB, Redis, Nginx, NodeJS and PM2.</description><pubDate>Wed, 18 Nov 2020 12:00:00 GMT</pubDate></item><item><title>Set up webpack for mock testing</title><link>https://myblog.jszsoft.com/posts/2020-11-17-set-up-webpack-for-mock-testing/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-11-17-set-up-webpack-for-mock-testing/</guid><description>Use connect-api-mocker and webpack dev-server proxy to mock or forward backend API calls so React UI development can proceed independently.</description><pubDate>Tue, 17 Nov 2020 12:00:00 GMT</pubDate></item><item><title>Set up react in NodeJS</title><link>https://myblog.jszsoft.com/posts/2020-11-07-set-up-react-in-nodejs/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-11-07-set-up-react-in-nodejs/</guid><description>Combine a React frontend and NodeJS backend into a single server to avoid CORS, serving both static bundles and dynamic /api routes.</description><pubDate>Sat, 07 Nov 2020 12:00:00 GMT</pubDate></item><item><title>Math.js and Plotly.js in React</title><link>https://myblog.jszsoft.com/posts/2020-11-04-mathjs-and-plotlyjs-in-react/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-11-04-mathjs-and-plotlyjs-in-react/</guid><description>A small React demo that evaluates any f(x) with math.js and plots it with Plotly — plus the plain-HTML equivalent.</description><pubDate>Wed, 04 Nov 2020 12:00:00 GMT</pubDate></item><item><title>Start springboot application at boot time in CentOS 7</title><link>https://myblog.jszsoft.com/posts/2020-11-03-start-springboot-application-at-boot-time-in-centos-7/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-11-03-start-springboot-application-at-boot-time-in-centos-7/</guid><description>Create systemd service files with start/stop shell scripts so a Spring Boot scheduler job starts automatically on CentOS 7 reboot.</description><pubDate>Tue, 03 Nov 2020 12:00:00 GMT</pubDate></item><item><title>How to set up a modded minecraft server</title><link>https://myblog.jszsoft.com/posts/2020-11-02-how-to-set-up-a-modded-minecraft-server/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-11-02-how-to-set-up-a-modded-minecraft-server/</guid><description>Step-by-step guide to install a Forge-based modded Minecraft server on Linux and Windows, including firewall port configuration.</description><pubDate>Mon, 02 Nov 2020 12:00:00 GMT</pubDate></item><item><title>Hosting a web server at home</title><link>https://myblog.jszsoft.com/posts/2020-11-01-hosting-a-web-server-at-home/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-11-01-hosting-a-web-server-at-home/</guid><description>Self-host a web server using a DDNS domain, router port forwarding, and a free Let&apos;s Encrypt TLS certificate for HTTPS.</description><pubDate>Sun, 01 Nov 2020 12:00:00 GMT</pubDate></item><item><title>PassportJS in NodeJS handle Oauth2</title><link>https://myblog.jszsoft.com/posts/2020-10-28-passportjs-in-nodejs-handle-oauth2/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-10-28-passportjs-in-nodejs-handle-oauth2/</guid><description>How to configure PassportJS in a NodeJS backend to handle Google OAuth2 for both mobile and web clients, with routes and callback handling.</description><pubDate>Wed, 28 Oct 2020 12:00:00 GMT</pubDate></item><item><title>Hello, world — starting my React blog on GitHub Pages</title><link>https://myblog.jszsoft.com/posts/2020-10-26-hello-world-starting-my-react-blog-on-github-pages/</link><guid isPermaLink="true">https://myblog.jszsoft.com/posts/2020-10-26-hello-world-starting-my-react-blog-on-github-pages/</guid><description>Kickoff post: why I built this blog with React and Material-UI, hosted it on GitHub Pages, and a fun 12-balls weighing puzzle to start.</description><pubDate>Mon, 26 Oct 2020 12:00:00 GMT</pubDate></item></channel></rss>