Rocheport Times

Visit rocheporttimes.com

Rocheport Times2023-W30 · 1 commits2023-W31 · no entry2023-W32 · no entry2023-W33 · no entry2023-W34 · no entry2023-W35 · no entry2023-W36 · no entry2023-W37 · no entry2023-W38 · no entry2023-W39 · no entry2023-W40 · no entry2023-W41 · no entry2023-W42 · no entry2023-W43 · no entry2023-W44 · no entry2023-W45 · no entry2023-W46 · no entry2023-W47 · no entry2023-W48 · no entry2023-W49 · no entry2023-W50 · no entry2023-W51 · no entry2023-W52 · no entry2024-W01 · no entry2024-W02 · no entry2024-W03 · no entry2024-W04 · no entry2024-W05 · no entry2024-W06 · no entry2024-W07 · no entry2024-W08 · no entry2024-W09 · no entry2024-W10 · no entry2024-W11 · no entry2024-W12 · no entry2024-W13 · no entry2024-W14 · no entry2024-W15 · no entry2024-W16 · no entry2024-W17 · no entry2024-W18 · no entry2024-W19 · no entry2024-W20 · no entry2024-W21 · no entry2024-W22 · no entry2024-W23 · no entry2024-W24 · no entry2024-W25 · no entry2024-W26 · no entry2024-W27 · no entry2024-W28 · no entry2024-W29 · no entry2024-W30 · no entry2024-W31 · no entry2024-W32 · no entry2024-W33 · no entry2024-W34 · no entry2024-W35 · no entry2024-W36 · no entry2024-W37 · no entry2024-W38 · no entry2024-W39 · no entry2024-W40 · no entry2024-W41 · no entry2024-W42 · no entry2024-W43 · no entry2024-W44 · no entry2024-W45 · no entry2024-W46 · no entry2024-W47 · no entry2024-W48 · no entry2024-W49 · no entry2024-W50 · no entry2024-W51 · no entry2024-W52 · no entry2025-W01 · no entry2025-W02 · no entry2025-W03 · no entry2025-W04 · no entry2025-W05 · no entry2025-W06 · no entry2025-W07 · no entry2025-W08 · no entry2025-W09 · no entry2025-W10 · no entry2025-W11 · no entry2025-W12 · no entry2025-W13 · no entry2025-W14 · no entry2025-W15 · no entry2025-W16 · no entry2025-W17 · no entry2025-W18 · no entry2025-W19 · no entry2025-W20 · no entry2025-W21 · no entry2025-W22 · no entry2025-W23 · no entry2025-W24 · no entry2025-W25 · no entry2025-W26 · no entry2025-W27 · no entry2025-W28 · no entry2025-W29 · no entry2025-W30 · no entry2025-W31 · no entry2025-W32 · no entry2025-W33 · no entry2025-W34 · no entry2025-W35 · no entry2025-W36 · no entry2025-W37 · no entry2025-W38 · no entry2025-W39 · no entry2025-W40 · no entry2025-W41 · no entry2025-W42 · no entry2025-W43 · no entry2025-W44 · no entry2025-W45 · no entry2025-W46 · no entry2025-W47 · no entry2025-W48 · no entry2025-W49 · no entry2025-W50 · no entry2025-W51 · no entry2025-W52 · no entry2026-W01 · no entry2026-W02 · no entry2026-W03 · no entry2026-W04 · no entry2026-W05 · no entry2026-W06 · no entry2026-W07 · no entry2026-W08 · no entry2026-W09 · no entry2026-W10 · no entry2026-W11 · no entry2026-W12 · no entry2026-W13 · no entry2026-W14 · no entry2026-W15 · no entry2026-W16 · no entry2026-W17 · no entry2026-W18 · no entry2026-W19 · no entry2026-W20 · no entry2026-W21 · no entry2026-W22 · no entry2026-W23 · no entry2026-W24 · no entry2026-W25 · no entry2026-W26 · no entry2026-W27 · no entry2026-W28 · 459 commits2026-W29 · 156 commits2026-W30 · 374 commits2026-W31 · 208 commits2026-W32 · 12 commits2026-W33 · 46 commits2026-W34 · no entry2026-W35 · 15 commits2026-W36 · no entry2026-W37 · no entry2026-W38 · 18 commits2026-W39 · 36 commits2026-W40 · 145 commits2026-W41 · 127 commits2026-W42 · no entry1,597
Commits by week, 2023-W30 to 2026-W42. The busiest week had 459.
  1. 202611 weeks logged1,596
  2. W415 Oct

    Rocheport Times

    Rundown event line carries the place

    • Newsroom desk: rundown event line carries the place (18 commits)
    • Local news: more from Rocheport block and Next in Section link replace the comment form (13 commits)
    • Events: home page on a phone opens with the events calendar, above Did You Know (11 commits)
    and 4 more
    127commits
  3. W4028 Sep

    Rocheport Times

    Events from chat, a river profile, and a community security review

    • Events: four MCP action tools (events, event_edit, event_queue, event_feeds) now create, edit, trash, review and merge events, folded down from 17 so the connector shows them all. A weekly walker looks for calendars on directory businesses' own websites, a text reader parses events posted as plain page text, a business's own listing wins duplicates, and past events are retired daily with a redirec
    • Events listings put Rocheport first within each day and label regional events by town. The Daniel Boone Regional Library and MU calendars were added and Visit Columbia turned off by default. The MCP server also gained update_post for corrections, and its tool list went from 40 tools to 19.
    • River: all 50 gauge pages now draw the river in side view from Toston to St. Charles, with a 7-day observed and forecast timeline, NWS flood-stage lines, Upstream/Downstream panning and a /river/profile/ hub. The gauge reading now survives a cache flush instead of showing 'River data unavailable.'
    and 6 more
    145commits
  4. W3921 Sep

    Rocheport Times

    Five games, a broadsheet front, and the home page as a front door

    • Launched five games: The Mini, a Weekly Quiz, Four Corners, Letterpress and Night Sky, with their own page type and layout.
    • Made the home page a front door: no news on it, just live vitals, events, sports and games; /news/ carries the news. Events gained a 'Pin to Front Page' flag.
    • Built the MR340 race hub's stats band (the MR340 is a 340-mile Missouri River paddle race): entered, finished, DNF, DNS, by division, with a map preview that opens the full-screen race map, and two-column year pages.
    and 6 more
    36commits
  5. W3814 Sep

    Rocheport Times

    Open sign-up, chat, and a front page that looks like a newspaper

    • Opened sign-up: a self-serve /register/ page with editor approval, passwordless login links, a members' Messages badge in the utility bar, and a privacy note.
    • Built member messaging as a chat UI on the existing direct-message store, with block, report and moderation, and a flag-gated daily digest.
    • Marked every member-gated page uncacheable after the edge cache served logged-out copies to signed-in members.
    and 3 more
    18commits
  6. W3524 Aug

    Rocheport Times

    Quick Approve for the editor, six more trails

    • Added Quick Approve to the Editorial Desk for the three daily draft types, with the full post body open inline so nothing is approved unread.
    • Made the desk hold any draft carrying raw HTML in its prose before it can publish, with a test case for the gate.
    • Gave the MCP newsroom two event-writing tools so an approved calendar item can be corrected or published from the assistant.
    and 2 more
    15commits
  7. W3310 Aug

    Rocheport Times

    Public-domain river data and a 47-trail explorer

    • Swapped the river-channel geometry for public-domain USACE data on both the desktop map and the server, and regenerated the mobile encoding to match.
    • Fixed the 2026 replay's phantom leader: the first hour of tracking was mis-seeded field-wide, and pre-gun pings were being drawn as race progress.
    • Escaped feed-supplied boat names at four tooltip sinks (a cross-site-scripting fix), hardened magic-link sign-in per a security audit, and added WordPress-free GitHub Actions checks: PHP lint, template lint and the MR340 regression suite.
    and 2 more
    46commits
  8. W323 Aug

    Rocheport Times

    The 2026 race results, frozen and replayable

    • Gave each race year its own address under /mr340/ with a rewrite rule, since WordPress pages cannot have purely numeric slugs.
    • Froze the real 2026 results and wired the 2026 replay onto the year page; the every-boat results table pages 10 at a time.
    • Polished the race hub: year cards over a hub map, replay badges, and a rail call-to-action on the homepage.
    and 1 more
    12commits
  9. W3127 Jul

    Rocheport Times

    Race day: 395 boats wrongly marked out, fixed live

    • Snapped live positions to the river channel instead of raw GPS, added dead-reckoning so boats glide between feed polls instead of freezing and teleporting, and fixed the OUT label that had marked about 395 racing boats as quit.
    • Moved feed validation to the server proxy (bad tracker data is flagged once, at the door) and wrote regression fixtures for every race-day defect, pinned to real feed data.
    • Built the phone view for people standing at a ramp: scrollable live standings, a watch-a-stop screen with approaching boats plotted upstream and honest ETAs, and stale trackers labelled rather than guessed.
    and 3 more
    208commits
  10. W3020 Jul

    Rocheport Times

    Building the MR340 race tracker in seven days

    • Reverse-engineered the race's public tracker feed and built a tracker module: leaderboard and checkpoint watch from a 3-minute server-side cache with stale fallback, pinned by 27 fixture checks.
    • Moved the replay map from Leaflet to MapLibre GL: vector basemap with no API key, optional 3D terrain and buildings, a satellite toggle, a cinematic tour that chases a chosen boat, and checkpoints placed at real ramp coordinates.
    • Rebuilt the 2024 field from 405 real GPS tracks, snapped to the official river-channel line from a 2012 survey, and lazy-loaded it so the page shrank from 1.45 MB to 360 KB.
    and 3 more
    374commits
  11. W2913 Jul

    Rocheport Times

    Members, invites, and a newsroom the AI reaches only through MCP

    • Built the member layer: a Neighbor role gated on bespoke capabilities instead of generic WordPress ones, editor-issued and member-sent invites with a per-member cap, an onboarding tour, and a Community admin menu (Neighbors, Approvals, Invites, Activity, Alerts).
    • Shipped the newsroom MCP server: public read tools, an editorial tier behind OAuth or an application password, a draft-only create_draft tool, and lead tools with a code-enforced trust floor. The daily drafting, rundown and lead routines now go through it; SSH access was retired.
    • Turned on post-moderation by default: wall posts, listings and suggestions hold for review, with a stop-word filter and an optional tone check.
    and 3 more
    156commits
  12. W286 Jul

    Rocheport Times

    Rocheport Times relaunches on one platform plugin

    • Consolidated all custom code into one plugin with 30 modules and a loader that guards against collisions; the mobile app's API surface was kept frozen so nothing on the app side had to change.
    • Fixed four security bugs in the existing community code before launch: an account takeover through social login that trusted an unverified email, a forced-friendship request, an unsanitized public wall (stored XSS), and Microsoft sign-in trusting a user-editable email field.
    • Built the Editorial Desk: a review queue in wp-admin for AI-drafted articles with threaded change requests, an automatic link checker, and approve or request-changes actions on the post itself. Nothing publishes without a person.
    and 3 more
    459commits
  13. 20231 week logged1
  14. W3024 Jul

    Rocheport Times

    A rough first try at a Rocheport Times app

    • A rough .NET MAUI scaffold, one page and a Post class: the first sketch of a Rocheport Times mobile app
    1commits
  15. 20221 site
  16. 2022–

    Site, 2022–present

    Rocheport Times, 2022 to 2026

    Founder, publisher and builder. WordPress with Elementor, Toolset and Jetpack (2022-2025); wiped to a bare WordPress install by June 2026; rebuilt as the platform plugin from July 2026

    My name is on archive.org
    2snapshots