<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>JJ H. — 工程、Web 与嵌入式</title><description>个人站点：工程服务、项目、文章与简历。基于 Astro 与 Tailwind 构建。</description><link>https://heff.world/</link><atom:link href="https://heff.world//zh/rss.xml" rel="self" type="application/rss+xml"/><item><title>OpenMANET radio buildout: pace car mesh comms at Watkins Glen</title><link>https://heff.world/zh/blog/openmanet-radio-buildout/</link><guid isPermaLink="true">https://heff.world/zh/blog/openmanet-radio-buildout/</guid><description>OpenMANET HaLow mesh build for pace car and track-side comms. Covers hardware, PTT, Watkins Glen layout, and Starlink backhaul.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate><author>jjcodes@me.com (JJ Heffernan)</author></item><item><title>jheff.media-site, from boilerplate fork to a modern Rust media stack</title><link>https://heff.world/zh/blog/jheff-media-site/</link><guid isPermaLink="true">https://heff.world/zh/blog/jheff-media-site/</guid><description>Commit history of the automotive social landing repo: Yew 0.23, Actix 4, Tailwind v4, unified feeds, and what comes next.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate><author>jjcodes@me.com (JJ Heffernan)</author></item><item><title>Proxmox on OptiPlex 7040s - clustering, self-hosting, and why Traefik plus Caddy won</title><link>https://heff.world/zh/blog/proxmox-homelab/</link><guid isPermaLink="true">https://heff.world/zh/blog/proxmox-homelab/</guid><description>Proxmox on three OptiPlex 7040s - LubeLogger, Manyfold, Matrix, and a Traefik + Caddy reverse-proxy stack.</description><pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate><author>jjcodes@me.com (JJ Heffernan)</author></item><item><title>heff-shop - Saleor submodules, Docker, and the test build grind</title><link>https://heff.world/zh/blog/heff-shop/</link><guid isPermaLink="true">https://heff.world/zh/blog/heff-shop/</guid><description>heff-shop Saleor monorepo - platform + forked storefront submodules, Docker smoke tests, multi-channel GraphQL.</description><pubDate>Wed, 18 Jun 2025 00:00:00 GMT</pubDate><author>jjcodes@me.com (JJ Heffernan)</author></item><item><title>Stagea Stuff - importing a JDM wagon and why the platform exists</title><link>https://heff.world/zh/blog/stageastuff-origin/</link><guid isPermaLink="true">https://heff.world/zh/blog/stageastuff-origin/</guid><description>Importing a Nissan Stagea, opaque parts supply chains, and starting the stagea-stuff monorepo in December 2024.</description><pubDate>Sun, 08 Dec 2024 00:00:00 GMT</pubDate><author>jjcodes@me.com (JJ Heffernan)</author></item><item><title>Django Auto Forum - a car-enthusiast community on Heroku and S3</title><link>https://heff.world/zh/blog/django-auto-forum/</link><guid isPermaLink="true">https://heff.world/zh/blog/django-auto-forum/</guid><description>Zip Code capstone on Django-Auto-Forum - automotive forum with S3 media; lineage to stageastuff.com.</description><pubDate>Mon, 12 Sep 2022 00:00:00 GMT</pubDate><author>jjcodes@me.com (JJ Heffernan)</author></item><item><title>SimpleGUIChat - from Tkinter pop-out chat to mesh radio and dual PTT</title><link>https://heff.world/zh/blog/simple-gui-chat/</link><guid isPermaLink="true">https://heff.world/zh/blog/simple-gui-chat/</guid><description>A 2022 Python socket chat experiment that grew into MANET radio networking work and dual push-to-talk over IP mesh - lineage from localhost:9090 to field comms.</description><pubDate>Fri, 22 Jul 2022 00:00:00 GMT</pubDate><author>jjcodes@me.com (JJ Heffernan)</author></item><item><title>Formula SAE spool statics - chain tension, bearings, and bolt torque</title><link>https://heff.world/zh/blog/fsae-spool-static-calcs/</link><guid isPermaLink="true">https://heff.world/zh/blog/fsae-spool-static-calcs/</guid><description>MATLAB scripts for Lehigh Racing LR21 drivetrain statics - chain back-tension, spool shear/moment, Von Mises stress, and mount bolt specs.</description><pubDate>Thu, 15 Apr 2021 00:00:00 GMT</pubDate><media:content type="image/jpeg" width="3024" height="4032" medium="image" url="https://heff.world/_astro/image.DSZkU7iG.jpeg"/><author>jjcodes@me.com (JJ Heffernan)</author></item><item><title>Summer 2020 - Lexus superchargers, prototypes, and real manufacturing</title><link>https://heff.world/zh/blog/summer-2020-internship/</link><guid isPermaLink="true">https://heff.world/zh/blog/summer-2020-internship/</guid><description>R&amp;D internship notes on 3D modeling supercharger prototypes, domestic and overseas suppliers, and why CAD on screen is not the hard part.</description><pubDate>Tue, 01 Sep 2020 00:00:00 GMT</pubDate><media:content type="image/jpeg" width="1170" height="1153" medium="image" url="https://heff.world/_astro/hero.CJMSZOo6.jpeg"/><author>jjcodes@me.com (JJ Heffernan)</author></item></channel></rss>