From 74544ef81bd19f59fa303dc3583f94e51bb7ff21 Mon Sep 17 00:00:00 2001 From: Jonathan Chen Date: Sat, 2 May 2026 16:51:49 -0700 Subject: [PATCH 1/5] Site refresh: writing system, bio rewrite, package upgrades MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add /writing index + /writing/[slug] pages with categorized post list (Essays, Notes, Curiosities & Observations) - Add lib/posts.js (gray-matter frontmatter parsing) and lib/rss.js (prebuild RSS feed) - Rewrite about.md in a more human, precise voice - Add Current Work, Recent Writing, and Projects sections to homepage - Add hairline left-rule treatment to post and publication list items - Upgrade all packages to latest: Next.js 16, React 19, Tailwind 4, FontAwesome 7, markdown-to-jsx 9, p-throttle 8 - Migrate to Tailwind 4 CSS-first config (removes tailwind.config.js) - Fix Next.js 16 Turbopack incompatibility via --webpack flag - Fix FontAwesome React 19 crash (FA6 → FA7 + react-fontawesome 3.3) - Fix p-throttle v8 API change in lib/pubs.js - Fix next/image and next/link API changes for Next.js 13+ Co-Authored-By: Claude Sonnet 4.6 --- about.md | 15 +- components/nav.js | 15 +- components/pub.js | 4 +- lib/posts.js | 47 ++ lib/pubs.js | 4 +- lib/rss.js | 50 ++ next.config.js | 14 +- package.json | 33 +- pages/index.js | 89 ++- pages/writing/[slug].js | 67 ++ pages/writing/index.js | 53 ++ postcss.config.js | 3 +- public/feed.xml | 17 + styles/globals.css | 35 +- tailwind.config.js | 21 - yarn.lock | 1308 ++++++++++++++++++++------------------- 16 files changed, 1073 insertions(+), 702 deletions(-) create mode 100644 lib/posts.js create mode 100644 lib/rss.js create mode 100644 pages/writing/[slug].js create mode 100644 pages/writing/index.js create mode 100644 public/feed.xml delete mode 100644 tailwind.config.js diff --git a/about.md b/about.md index 3c6f84d..4a41939 100644 --- a/about.md +++ b/about.md @@ -1,16 +1,5 @@ # About -I'm a PhD student at [UCLA](https://www.ucla.edu/) studying with [Gerard -Wong](https://samueli.ucla.edu/people/gerard-wong/). My research applies modern -ML methods such as deep kernel learning and transformers to studying the -properties and interactions of peptides to find sequences with optimal -properties for use cases like drug development! +I'm interested in problems where the answer space is too large to search by hand — and in building the tools that let us search it anyway. At [UCLA](https://www.ucla.edu/), I work with [Gerard Wong](https://samueli.ucla.edu/people/gerard-wong/) on applying ML methods like deep kernel learning and transformers to peptide sequence design. -I'm also a [Julia](https://julialang.org) enthusiast! Have a look at my lipid -phase [SAXS](https://en.wikipedia.org/wiki/Small-angle_X-ray_scattering) -analysis toolkit, [Himalaya.jl](https://github.com/jowch/Himalaya.jl) and my -[Wordle implementation](https://github.com/jowch/Wordle.jl). - -Previously, I studied [Computer Science](https://cse.wustl.edu) and -[Biology](https://biology.wustl.edu) at [Washington University in St. -Louis](https://wustl.edu/), ultimately receiving BS and MS degrees. +Before that, I studied [Computer Science](https://cse.wustl.edu) and [Biology](https://biology.wustl.edu) at [Washington University in St. Louis](https://wustl.edu/), which is where I became convinced that the most interesting questions sit exactly at the seam between the two. I'm also a [Julia](https://julialang.org) enthusiast — it's a language that takes both performance and expressiveness seriously, which is rarer than it should be. My SAXS analysis toolkit [Himalaya.jl](https://github.com/jowch/Himalaya.jl) is a good example of what I mean. diff --git a/components/nav.js b/components/nav.js index 47bec99..26dd3ec 100644 --- a/components/nav.js +++ b/components/nav.js @@ -12,11 +12,16 @@ const IconLink = ({ children, icon, ...props }) => ( export default function Nav() { return (