diff --git a/archive/2026-06-02/engagement.json b/archive/2026-06-02/engagement.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/archive/2026-06-02/engagement.json @@ -0,0 +1 @@ +{} diff --git a/archive/2026-06-02/index.html b/archive/2026-06-02/index.html new file mode 100644 index 00000000..c1ec33eb --- /dev/null +++ b/archive/2026-06-02/index.html @@ -0,0 +1,250 @@ + + + + + +K6RVC — Operating Log — 02 JUN 2026 + + + + +
+
+
+
K6RVC
+
SAN FRANCISCO · CN87wj · ROOT VENTURES
+
+
+
SESSION
+
2026-06-02 · 0000Z — 2359Z
+
OPERATOR ON DUTY
+
rotating — see desk roster, page 3
+
+ +
+ +
+ +
+ +
+

DAILY OPERATING SHEET — 02 JUN 2026

+ +
+
+
STATION
+
Root Ventures · K6RVC
+
+
+
QTH
+
2670 Harrison St, San Francisco, CA 94110
+
+
+
RIG
+
$190M kit · 100W typical · 2/3 power held in reserve
+
+
+
PURPOSE OF SESSION
+
Seeding bold engineers. Investing at the earliest stages of technical founders taking engineering risk.
+
+
+
SKED / TRAFFIC
+
hello@root.vc · standing call CQ DEEP TECH
+
+
+ +

All entries below logged in ITU UTC. Power 100W unless noted. Mode CW/SSB/FT8 mixed. Reports per ARRL convention. Signal report 599 = perfect copy, both ways. This sheet binds into the operating log indexed at the top of the page. Sked any time — we monitor 24/7.

+ +
+ +
+

QSO LOG — STATIONS WORKED

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UTCFREQMODESTATIONRSTNOTES (from the back of the log)
0007Z14.074FT8Esper599devops for devices; build/ship enterprise hardware fleets
0023Z7.040CWMeroxa579data engineering infra in one command
0048Z21.260SSBParticle599largest professional IoT development platform
0102Z14.200SSBDaily599add video to websites and apps; low jitter, no drops
0119Z10.136FT8HASH+02open-source self-building typed entity graph
0135Z7.025CWSuperconductive569data integrity verification at every stage
0148Z14.310SSBOkteto599ephemeral environments for developers
0204Z3.873SSBPrivacy Dynamics589customer data privacy without slowing your team
0221Z14.080FT8Nautilus Labs+01maritime fleets optimize routing and fuel in real time
0239Z21.310SSBnTopology599the future of mechanical engineering software
0254Z10.140FT8Tortuga AgTech-04automation for high-value produce
0311Z7.182SSBInstrumental599real time insights for mass manufacturing
0328Z14.155SSBStellar Pizza569automated food production, cheese pull included
0345Z14.078FT8Versatile+03onsite construction data — schedules go faster
0403Z3.860SSBDusty Robotics599layout automation in complex construction projects
0421Z14.220SSBThruWave589efficiency and transparency for high volume logistics
0437Z7.030CWSeismic599soft robotics; strength and safety for workers
0452Z21.280SSBSeam599API for managing building systems
0509Z14.090FT8ChargeLab+05software-defined EV charging networks
0526Z14.245SSBWildtype Foods599organic clean animal-free meat
0541Z10.142FT8Nordsense+00pickup route optimization for waste fleets
0558Z7.180SSBTruckLabs579fuel cost reduction for long haul fleets
0613Z14.205SSBSensable599real-time industrial engineering insights
0629Z21.295SSBCrux589automation for critical energy infrastructure
0646Z7.038CWIaSQL599infra as rows in a database, not stateless config files
0701Z14.260SSBMashgin599self-checkout, automated
0717Z14.082FT8Creator-01fully autonomous hamburger robots
0733Z50.125SSBApolloShield569airspace defense vs. autonomous/remote piloted aircraft
0749Z21.330SSBSkycatch599high resolution 3D mapping of high-value infra
0805Z7.190SSBShaper599Origin: handheld auto-correcting CNC
0821Z14.230SSBCape579monitor, test, repair enterprise networks remotely
0837Z10.138FT8Righthook+02autonomous-vehicle simulation; less wallclock
0854Z14.270SSBSixWheel599autonomy and electrification for long haul trucking
0911Z21.325SSBRadical599hardware security at the IC level
0928Z14.075FT8Zed+09native desktop code editor — perf, collab, clean lines
0944Z144.200SSBKayhan599spaceflight operations platform; orbits, conjunctions, focus
1001Z7.045CWAllSpice589collaboration + testing for hardware teams
1017Z14.085FT8Quilter+01automated design for electrical engineers
1034Z14.295SSBAdept599useful general intelligence
1051Z7.195SSBAperture Data599image/video DB purpose-built for ML
1108Z21.350SSBSuperTokens579open-source user authentication
1125Z14.087FT8Fudge+04speed up your website — conversion follows
1142Z10.144FT8Kodra+00fast dataset curation for ML
1159Z14.250SSBTopologic599design + automation for textile manufacturing
1216Z21.300SSBRuby Robotics599autonomous biopsy: prep, image, assess
1233Z7.050CWInstance599fastest way to synthesize DNA
1250Z14.215SSBCADY Solutions589electrical schematic analysis, automated
1307Z14.078FT8Sublayer+03AI-assisted coding that works the way you do
1324Z21.265SSBNullify599product security tasks alongside developers
1341Z14.225SSBTrieve599AI search infrastructure
1358Z10.139FT8Breakpoint AI+02detect CV-model failures, retrain
1415Z7.060CWDeterminate Systems599enterprise Nix package management
1432Z14.235SSBGen Alpha599AI copilots for analog and mixed-signal chip design
1449Z21.275SSBHunch579collaborative data exploration for non-technical users
1506Z14.092FT8Illoca+01generative AI for AEC software / commercial architecture
1523Z14.255SSBIntegrated Biosciences599optogenetics + ML for neurodegenerative drug discovery
1540Z21.290SSBLatent Technology589life-like 3D assets for animators and game devs
1557Z7.198SSBPatterns599tools + infra for modern AI applications
1614Z14.083FT8Subtrace+02tracks every HTTP request in/out of production
1631Z14.265SSBDigichem599custom molecules prototyped and manufactured online
1648Z10.146FT8Loopwork+04building the next generation of agents
1705Z14.240SSBFeather599FEA that runs in the browser
1722Z50.135SSBVibe Robotics599novel programming interfaces for robotics (Kai Backman, Luke Church)
+

63 / 63 stations logged this session. No duplicates. No busted calls. Confirmations to be sent via QSL bureau (or the modern equivalent: a polite intro email).

+
+ +
+

DESK ROSTER — OPERATORS WITH KEYS TO THE SHACK

+

Listed in the order they sign in to the position log. Each holds an Extra-class ticket. All are authorized to call CQ on behalf of K6RVC.

+
    +
  1. +
    Avidan Ross
    +
    Managing Partner · Trustee of the key
    +
    Founding Partner of Root Ventures. Previously designed industrial robotics for Food Network's kitchens, was CTO of CIM Group, and wrote embedded apps at Excite@Home. BA in CS from Columbia.
    +
  2. +
  3. +
    Kane Hsieh
    +
    Partner
    +
    Founder and Head of Product at Brilliant Bicycle Co. Investor at RRE, software engineer at Romotive, PM at Microsoft. AB in CS from Harvard.
    +
  4. +
  5. +
    Chrissy Meyer
    +
    Partner
    +
    A decade shipping hardware as an engineering manager at Apple and Square. Founding team at Pearl Automation. MSEE Stanford, BSEE Rose-Hulman.
    +
  6. +
  7. +
    Lee Edwards
    +
    Partner
    +
    Most recently CTO at Teespring. Mechanical engineer at iRobot, software engineer at Pivotal Labs, Lead Engineer at SideTour (acquired by Groupon), engineering manager for GrouponLive. Olin College, Systems Engineering.
    +
  8. +
  9. +
    Zodi Chalat
    +
    Associate
    +
    Started on ML infrastructure at Netflix before moving into venture investing. CS and comparative literature, Yale.
    +
  10. +
  11. +
    Ben Lovell
    +
    Head of Operations
    +
    Operational automation and data pipelines at a16z, Menlo Ventures, and FT Partners. Cofounded an adtech startup for rideshare. BA, Stanford.
    +
  12. +
  13. +
    Laelah Reino
    +
    Operations Manager
    +
    Over 15 years in marketing for films, consumer products, and subscription services. BA in Business Administration, Drexel.
    +
  14. +
+
+ +
+

PROPAGATION NOTES · STANDING ORDERS

+
+
+
CALLING FREQUENCY
+
hello@root.vc
+
We monitor 24/7. Send your call sign, your QTH, what you're building. Skip the formalities — this isn't a contest exchange.
+
+
+
STATION TYPE
+
Seed-stage deep tech
+
Hard tech, robotics, manufacturing, automation, AI/ML, devtools. We lead initial rounds for founders taking real engineering risk.
+
+
+
TYPICAL POWER OUTPUT
+
$3M–$5M first check
+
From a $190M kit. Two-thirds held in reserve for follow-on. A selective few new contacts per year — we keep the band clean.
+
+
+
LICENSE HELD SINCE
+
2015
+
First licensed 2015. Active ever since.
+
+
+
QTH
+
San Francisco, CA
+
2670 Harrison St, 94110. Antenna farm in the back.
+
+
+
ANNUAL MEETING
+
annualmeeting.root.vc
+
Once a year we put down the keys and meet eyeball-to-eyeball.
+
+
+
+ +
+

SKED REQUEST — OPEN POSITION

+
+
VACANCY
+
Venture Capital Associate — SF station, full-time at the operating desk.
+

Technical background. Curiosity about emerging tech. Ability to explain a complex circuit to someone who only knows ham radio. Side projects, open source contributions, startup time all weigh. Send a QSL with your call sign and a circuit diagram of something you built.

+
Reply via traffic net: root.vc/#jobs or hello@root.vc.
+
+
+ +
+

END OF SHEET — 73

+

This is page 2026-06-02 of the K6RVC bound operating log. Each daily sheet stays in the binder forever. The previous sheet is filed under 2026-06-01. The full bound logbook lives at /archive/. 73 de K6RVC · CL.

+ +
+ +
+ + + + diff --git a/archive/2026-06-02/meta.json b/archive/2026-06-02/meta.json new file mode 100644 index 00000000..77e78a0b --- /dev/null +++ b/archive/2026-06-02/meta.json @@ -0,0 +1,26 @@ +{ + "theme_name": "ham-radio-operating-log", + "editorial_note": "Today's incarnation is the daily operating sheet for K6RVC, the Root Ventures amateur-radio station. The conceit fuses cleanly: portfolio companies are the 63 stations worked this session (with realistic frequencies, modes, and RST signal reports keyed to their domain — FT8 for the digital-native devtools, CW for the old-school infra plays, 6m and 2m for the literal space and airspace companies), the team is the desk roster of licensed operators with keys to the shack, the mission lives in the masthead as 'PURPOSE OF SESSION,' and hello@root.vc is the calling frequency. The history nav is the Logbook Index pinned to the top in phosphor green, with PREV SHEET pointing to 2026-06-01 (titled ikea-assembly-manual) and FULL BOUND LOGBOOK pointing to /archive/. All 63 portfolio companies are logged (100% coverage, no omissions). All 7 team members appear by name on the desk roster. Visible vocabulary uses 'sheet,' 'session,' 'QSO,' and 'log entry' — never 'drop' or 'issue.'", + "where_facts_live": { + "firm_name": "Header .call-block (Root Ventures as the abbr expansion on K6RVC), masthead STATION cell, colophon, and the closing CW signature", + "mission": "Masthead PURPOSE OF SESSION cell (full mission text) and tagline 'Seeding bold engineers' in the propagation STATION TYPE block", + "portfolio": "QSO LOG section — every one of the 63 companies as a logged contact with frequency, mode, RST report, and a one-line note", + "team": "DESK ROSTER section — ordered list of all 7 operators with title and bio", + "contact": "Masthead SKED/TRAFFIC cell (mailto:hello@root.vc), Propagation CALLING FREQUENCY block (mailto:hello@root.vc), and the SKED REQUEST vacancy section" + }, + "history_view_concept": "The Logbook Index is the sticky phosphor-green strip at the very top of the sheet, styled to look like a CRT readout from a transceiver's memory recall. Three buttons: PREV SHEET (links to /archive/2026-06-01/, tooltip names the previous theme), THIS SHEET (current day, highlighted), and FULL BOUND LOGBOOK (links to /archive/, dashed border to suggest it opens the binder). The framing is 'each daily sheet stays in the binder forever,' which matches how amateur operators actually keep paper logs.", + "theme_keys": [ + "ham-radio", + "amateur-radio", + "qso-log", + "callsign", + "logbook", + "phosphor", + "green-on-black", + "operating-sheet", + "cw-ssb-ft8", + "shortwave" + ], + "topical": false, + "csp_nonce": "7ExxCcmBWSNy9FCK1KD7qA==" +} diff --git a/archive/2026-06-02/rating.json b/archive/2026-06-02/rating.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/archive/2026-06-02/rating.json @@ -0,0 +1 @@ +[] diff --git a/archive/2026-06-02/script.js b/archive/2026-06-02/script.js new file mode 100644 index 00000000..26510a29 --- /dev/null +++ b/archive/2026-06-02/script.js @@ -0,0 +1,57 @@ +// K6RVC operating-sheet enhancement layer. Static log lives in the HTML — +// this just keeps the session clock ticking and lets you press Enter on a row +// to highlight it (a la a paper logbook getting a fresh check mark). +// +// No network calls. No dynamic facts. Pure visual polish. + +(function () { + "use strict"; + + // 1) Live UTC clock in the session block (purely cosmetic; the date in the + // header is the canonical record-of-the-day). + var sessionValues = document.querySelectorAll(".session-block .value"); + if (sessionValues.length > 0) { + var clockEl = document.createElement("div"); + clockEl.className = "value live-clock"; + clockEl.setAttribute("aria-hidden", "true"); + sessionValues[0].parentNode.insertBefore(clockEl, sessionValues[0].nextSibling); + + var tick = function () { + var now = new Date(); + var hh = String(now.getUTCHours()).padStart(2, "0"); + var mm = String(now.getUTCMinutes()).padStart(2, "0"); + var ss = String(now.getUTCSeconds()).padStart(2, "0"); + clockEl.textContent = "LOCAL UTC NOW: " + hh + ":" + mm + ":" + ss + "Z"; + }; + tick(); + setInterval(tick, 1000); + } + + // 2) Click a QSO row to toggle a 'check mark' style — like initialing the + // paper log when you confirm copy. Survives the page session only. + var rows = document.querySelectorAll(".qso-table tbody tr"); + for (var i = 0; i < rows.length; i++) { + (function (row) { + row.style.cursor = "pointer"; + row.title = "Click to mark confirmed"; + row.addEventListener("click", function () { + var on = row.getAttribute("data-confirmed") === "1"; + if (on) { + row.style.background = ""; + row.removeAttribute("data-confirmed"); + var t = row.querySelector(".c-time"); + if (t && t.textContent.indexOf("\u2713 ") === 0) { + t.textContent = t.textContent.slice(2); + } + } else { + row.style.background = "rgba(255, 220, 120, 0.5)"; + row.setAttribute("data-confirmed", "1"); + var t2 = row.querySelector(".c-time"); + if (t2 && t2.textContent.indexOf("\u2713 ") !== 0) { + t2.textContent = "\u2713 " + t2.textContent; + } + } + }); + })(rows[i]); + } +})(); diff --git a/archive/2026-06-02/social.json b/archive/2026-06-02/social.json new file mode 100644 index 00000000..31787207 --- /dev/null +++ b/archive/2026-06-02/social.json @@ -0,0 +1,10 @@ +{ + "tweet_draft": "K6RVC operating log, 02 JUN 2026. 63 stations worked across 80m through 2m. Cheese pull confirmed at 0328Z on 14.155 SSB. Logbook is open. 73 de Root. https://root.vc", + "tweet_thread": [ + "Conceit: root.vc is K6RVC today, the firm's amateur radio station. Portfolio is a QSO log. Team is the desk roster. Mission is the Purpose of Session. hello@root.vc is the calling frequency.", + "Frequencies and modes were picked on purpose. Zed on FT8 because of course. Kayhan on 2m SSB because the company literally does spaceflight ops. Creator (hamburger robots) logged at lunchtime UTC.", + "Click any row to initial the contact, the way you would on the paper log. Click PREV SHEET in the header to thumb back through the binder." + ], + "linkedin_draft": "K6RVC is on the air.\n\nFor today only, root.vc is the daily operating sheet of the Root Ventures amateur-radio station. Every portfolio company is a station we worked this session — with a real frequency, a real mode, and a signal report. Esper on FT8 at 0007Z. Meroxa on 40m CW. Kayhan on 2 meters because, well, satellites. Stellar Pizza logged at 14.155 SSB with a respectable 569 (cheese pull copy was solid, gravy a little noisy).\n\nThe desk roster is the team. Avidan, Kane, Chrissy, Lee, Zodi, Ben, Laelah — all licensed, all authorized to call CQ on behalf of the station.\n\nThe calling frequency is hello@root.vc. We monitor 24/7. If you're building something at the edge of what's possible in deep tech, send your call sign and your QTH and tell us what you're working on. Skip the contest exchange — this isn't that kind of net.\n\nThe operating log binds into the bookshelf at /archive/. Yesterday's sheet (an IKEA assembly manual, of all things) is filed under 2026-06-01. Tomorrow's sheet will be something else entirely. Each one stays in the binder forever.\n\n73 de Root Ventures.", + "screenshot_brief": "Two shots land the conceit. First: a full-width capture of the phosphor-green header (Logbook Index, K6RVC callsign, band conditions strip) sitting above the masthead grid — this is the in-world top nav with the two distinct archive links visible. Second: a scrolled view of the QSO LOG table showing 15-20 portfolio companies as logged contacts with frequencies, modes, and RST reports, ideally including the Stellar Pizza / Kayhan / Zed rows where the frequency choices read as deliberate jokes." +} diff --git a/archive/2026-06-02/style.css b/archive/2026-06-02/style.css new file mode 100644 index 00000000..29f3c6f7 --- /dev/null +++ b/archive/2026-06-02/style.css @@ -0,0 +1,316 @@ +/* K6RVC operating sheet — engineer-friendly mono on log-paper green */ + +:root { + --paper: #eef2e6; + --ink: #16261a; + --ink-soft: #3a4a3e; + --rule: #98a890; + --rule-soft: #c2cdb8; + --accent: #7a1414; + --phos: #0a3a18; + --phos-bg: #082014; + --phos-fg: #5fe27a; + --mono: ui-monospace, "SF Mono", Menlo, Consolas, "Courier New", monospace; +} + +* { box-sizing: border-box; } + +html, body { + margin: 0; + padding: 0; + background: var(--paper); + color: var(--ink); + font-family: var(--mono); + font-size: 13px; + line-height: 1.45; +} + +body { + background-image: + repeating-linear-gradient(0deg, transparent 0 22px, rgba(20,40,30,0.06) 22px 23px), + repeating-linear-gradient(90deg, transparent 0 110px, rgba(140,30,30,0.04) 110px 111px); + padding: 0 0 60px; +} + +/* HEADER — phosphor strip with the logbook index */ +.logbook-header { + position: sticky; + top: 0; + z-index: 10; + background: var(--phos-bg); + color: var(--phos-fg); + border-bottom: 2px solid #0a4520; + padding: 10px 18px 6px; + text-shadow: 0 0 4px rgba(95, 226, 122, 0.45); +} + +.header-grid { + display: grid; + grid-template-columns: 1.1fr 1.4fr 1.5fr; + gap: 18px; + align-items: start; +} + +.call-block .call { + font-size: 28px; + font-weight: 700; + letter-spacing: 4px; +} +.call-block .call-sub { font-size: 11px; opacity: 0.85; letter-spacing: 1px; } +.call-block abbr { text-decoration: none; border-bottom: 1px dotted currentColor; } + +.session-block .label, +.logbook-index .label { + font-size: 10px; + letter-spacing: 2px; + opacity: 0.65; + margin-top: 2px; +} +.session-block .value { font-size: 12px; margin-bottom: 2px; } + +.logbook-index ul { + list-style: none; + margin: 4px 0 0; + padding: 0; + display: flex; + flex-wrap: wrap; + gap: 6px 10px; +} +.logbook-index li { display: inline-flex; } +.logbook-index a { + color: var(--phos-fg); + text-decoration: none; + padding: 3px 8px; + border: 1px solid rgba(95, 226, 122, 0.4); + border-radius: 2px; + font-size: 11px; + letter-spacing: 1px; +} +.logbook-index a:hover, +.logbook-index a:focus { + background: rgba(95, 226, 122, 0.15); + outline: none; +} +.logbook-index .this-sheet { + background: rgba(95, 226, 122, 0.18); + border-color: var(--phos-fg); + font-weight: 700; +} +.logbook-index .prev-sheet::before { content: ""; } +.logbook-index .all-sheets { border-style: dashed; } + +.band-conditions { + margin-top: 8px; + display: flex; + flex-wrap: wrap; + gap: 14px; + font-size: 10px; + letter-spacing: 1.5px; + opacity: 0.75; + border-top: 1px dashed rgba(95, 226, 122, 0.25); + padding-top: 6px; +} +.band-conditions span::before { content: "\25C6 "; opacity: 0.5; } + +/* MAIN */ +main { + max-width: 1180px; + margin: 0 auto; + padding: 24px 22px 0; +} + +h1, h2 { + font-family: var(--mono); + font-weight: 700; + letter-spacing: 2px; + text-transform: uppercase; + color: var(--ink); + border-bottom: 2px solid var(--ink); + padding-bottom: 4px; + margin: 28px 0 14px; +} +h1 { font-size: 18px; } +h2 { font-size: 14px; } +h1 .date { color: var(--accent); } + +.sheet { margin-top: 14px; } + +.masthead { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 0; + border: 1.5px solid var(--ink); + background: rgba(255,255,255,0.55); +} +.mast-cell { + padding: 10px 12px; + border-bottom: 1px solid var(--rule); + border-right: 1px solid var(--rule); +} +.mast-cell:nth-child(2n) { border-right: none; } +.mast-cell:last-child { border-bottom: none; grid-column: 1 / -1; } +.mast-cell:nth-last-child(2) { border-bottom: 1px solid var(--rule); } + +.mast-label { + font-size: 9px; + letter-spacing: 2px; + color: var(--ink-soft); + margin-bottom: 3px; +} +.mast-value { font-size: 12px; } +.mast-value a { color: var(--accent); } + +.note { + font-size: 11px; + color: var(--ink-soft); + margin: 10px 2px 0; + font-style: italic; +} + +/* QSO LOG */ +.qso-table { + width: 100%; + border-collapse: collapse; + background: rgba(255,255,255,0.55); + border: 1.5px solid var(--ink); + font-size: 11.5px; +} +.qso-table th, +.qso-table td { + padding: 4px 8px; + text-align: left; + border-bottom: 1px solid var(--rule-soft); + border-right: 1px solid var(--rule-soft); + vertical-align: top; +} +.qso-table th { + background: #d8dfcd; + font-size: 9.5px; + letter-spacing: 1.5px; + text-transform: uppercase; + border-bottom: 1.5px solid var(--ink); + position: sticky; + top: 92px; + z-index: 5; +} +.qso-table tbody tr:nth-child(odd) { background: rgba(120, 150, 110, 0.06); } +.qso-table tbody tr:hover { background: rgba(255, 220, 120, 0.35); } +.c-time { white-space: nowrap; color: var(--ink-soft); width: 56px; } +.c-freq { white-space: nowrap; width: 64px; } +.c-mode { width: 48px; text-transform: uppercase; } +.c-call { white-space: nowrap; font-weight: 700; } +.c-call a { color: var(--accent); text-decoration: none; border-bottom: 1px dotted var(--accent); } +.c-call a:hover { background: #ffe7a3; } +.c-rst { font-family: var(--mono); width: 50px; color: var(--phos); font-weight: 700; } +.c-notes { color: var(--ink-soft); } + +.log-foot { + font-size: 10.5px; + color: var(--ink-soft); + margin: 8px 2px 0; +} + +/* ROSTER */ +.roster-intro { + font-size: 11.5px; + color: var(--ink-soft); + margin: 0 2px 12px; +} +.roster-list { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 12px; + list-style: none; + margin: 0; + padding: 0; + counter-reset: opnum; +} +.roster-list > li { + border: 1px solid var(--ink); + background: #f6f8ef; + padding: 12px 14px; + position: relative; + counter-increment: opnum; +} +.roster-list > li::before { + content: "OP " counter(opnum, decimal-leading-zero); + position: absolute; + top: 8px; + right: 10px; + font-size: 9px; + letter-spacing: 2px; + color: var(--accent); +} +.op-name { + font-weight: 700; + font-size: 14px; + letter-spacing: 1px; +} +.op-title { + font-size: 10.5px; + letter-spacing: 1.5px; + text-transform: uppercase; + color: var(--ink-soft); + margin: 2px 0 8px; +} +.op-bio { font-size: 11.5px; } + +/* PROPAGATION */ +.prop-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 14px; +} +.prop-grid > div { + border-left: 3px solid var(--ink); + padding: 4px 12px; +} +.prop-grid .small { + font-size: 10.5px; + color: var(--ink-soft); + margin-top: 4px; +} +.prop-grid a { color: var(--accent); } + +/* SKED */ +.sked-card { + border: 1.5px dashed var(--accent); + padding: 14px 16px; + background: rgba(122, 20, 20, 0.04); +} +.sked-card a { color: var(--accent); } + +/* COLOPHON */ +.colophon { + margin-top: 36px; + border-top: 2px solid var(--ink); + padding-top: 12px; + font-size: 11.5px; +} +.colophon a { color: var(--accent); } +.sig { + margin: 12px 0 0; + font-size: 11px; + color: var(--ink-soft); + white-space: pre-wrap; + letter-spacing: 1px; +} + +/* TICKER ANIMATION — band conditions blink the open band */ +@keyframes pulse-open { + 0%, 100% { opacity: 0.75; } + 50% { opacity: 1; text-shadow: 0 0 8px rgba(95, 226, 122, 0.7); } +} +.band-conditions span:nth-child(5) { + color: #c9ffd0; + animation: pulse-open 2.2s ease-in-out infinite; +} + +/* Responsive — collapse the header grid on narrow screens */ +@media (max-width: 760px) { + .header-grid { grid-template-columns: 1fr; gap: 10px; } + .qso-table th { top: 0; position: static; } + .masthead { grid-template-columns: 1fr; } + .mast-cell { border-right: none; } + .qso-table { font-size: 10.5px; } +} diff --git a/archive/chain.json b/archive/chain.json index 729fc8a1..cd0ba323 100644 --- a/archive/chain.json +++ b/archive/chain.json @@ -44,6 +44,25 @@ "theme_name": "GeoCities skin", "date": "2021-10-28" }, + "next": { + "slug": "2026-06-02", + "url": "/archive/2026-06-02/", + "theme_name": "ham-radio-operating-log", + "date": "2026-06-02" + } + }, + { + "slug": "2026-06-02", + "url": "/archive/2026-06-02/", + "date": "2026-06-02", + "legacy": false, + "theme_name": "ham-radio-operating-log", + "prev": { + "slug": "2026-06-01", + "url": "/archive/2026-06-01/", + "theme_name": "ikea-assembly-manual", + "date": "2026-06-01" + }, "next": null } ] \ No newline at end of file diff --git a/archive/index.html b/archive/index.html index ee919d83..62c28a73 100644 --- a/archive/index.html +++ b/archive/index.html @@ -313,10 +313,10 @@
- Saved 3 captures of https://www.root.vc/ between 2021-02-09 and 2026-06-01. + Saved 4 captures of https://www.root.vc/ between 2021-02-09 and 2026-06-02.
- Latest: ikea-assembly-manual + Latest: ham-radio-operating-log
@@ -368,6 +368,14 @@

"theme": "ikea-assembly-manual", "legacy": false, "note": "This incarnation reads as a flat-pack assembly instruction manual for ROOT-2015 (the model year, est. 2015): cover, before-you-begin spec page, tools-required page (the team, each rendered as a labeled tool), three parts" + }, + { + "slug": "2026-06-02", + "url": "/archive/2026-06-02/", + "date": "2026-06-02", + "theme": "ham-radio-operating-log", + "legacy": false, + "note": "Today's incarnation is the daily operating sheet for K6RVC, the Root Ventures amateur-radio station. The conceit fuses cleanly: portfolio companies are the 63 stations worked this session (with realistic frequencies, mod" } ]; const FIRST_YEAR = 2021; diff --git a/index.html b/index.html index 211281a6..c1ec33eb 100644 --- a/index.html +++ b/index.html @@ -1,362 +1,250 @@ - + -ROOT-2015 · Assembly Instructions +K6RVC — Operating Log — 02 JUN 2026 - - - -
-
- Bygg-en-Fond® catalogue - model series · printed daily · all editions filed -
- -
- -
-
SHEET 1 / 9
-
ROOT-2015
-
-

Root Ventures®

-

Bygg-en-Fond — model year 2015

- - - - - - - - - SEED - - -

Seeding bold engineers.

-
- - SOME ASSEMBLY REQUIRED. ENGINEERS NEEDED. NO BATTERIES INCLUDED. - +
+
+
+
K6RVC
+
SAN FRANCISCO · CN87wj · ROOT VENTURES
+
+
+
SESSION
+
2026-06-02 · 0000Z — 2359Z
+
OPERATOR ON DUTY
+
rotating — see desk roster, page 3
+ +
+ -

EN · Printed in San Francisco, CA · Reorder code AA-2015

-
-
SHEET 2 / 9
-
Innan du börjar
-

Before you begin

-
-
- - - - - - - RTFM - - - -
Fig. 0.1 — Read the manual. Then read it again.
-
-
-

Mission: Investing at the earliest stages of technical founders taking engineering risk.

-

Thesis: San Francisco-based deep tech seed fund. As engineers ourselves, we specialize in leading initial funding for founders tackling new technical opportunities.

-
    -
  • ModelROOT-2015
  • -
  • StageSeed
  • -
  • Capacity$190M
  • -
  • Per-unit check$3M–5M
  • -
  • Reserve compartment2/3 of pack
  • -
  • Output rateA selective few per annum
  • -
  • Origin2670 Harrison St, SF, CA 94110
  • -
-
+
+ +
+

DAILY OPERATING SHEET — 02 JUN 2026

+ +
+
+
STATION
+
Root Ventures · K6RVC
-

If any parts appear bent, missing, or pre-seed, do not return to retailer. Email service (Sheet 9).

-
+
+
QTH
+
2670 Harrison St, San Francisco, CA 94110
+
+
+
RIG
+
$190M kit · 100W typical · 2/3 power held in reserve
+
+
+
PURPOSE OF SESSION
+
Seeding bold engineers. Investing at the earliest stages of technical founders taking engineering risk.
+
+
+
SKED / TRAFFIC
+
hello@root.vc · standing call CQ DEEP TECH
+
+
-
-
SHEET 3 / 9
-
Verktyg
-

Tools required

-

Included in the box. Do not substitute.

-
    -
  1. - -
    - T-01 - Avidan Ross - Managing Partner · Allen key, long arm -

    Founding partner. Previously designed industrial robotics for Food Network's kitchens; CTO at CIM Group; embedded apps at Excite@Home. BA Computer Science, Columbia.

    -
    -
  2. -
  3. - -
    - T-02 - Kane Hsieh - Partner · Phillips driver, #2 -

    Founder and Head of Product at Brilliant Bicycle Co. Early stage at RRE Ventures, engineer at Romotive, PM at Microsoft. AB Computer Science, Harvard.

    -
    -
  4. -
  5. - -
    - T-03 - Chrissy Meyer - Partner · Calipers, electronic -

    Decade shipping hardware as EM at Apple and Square. Founding team at Pearl Automation. MS Electrical Engineering, Stanford; BSEE Rose-Hulman.

    -
    -
  6. -
  7. - -
    - T-04 - Lee Edwards - Partner · Mallet, soft-faced -

    CTO at Teespring. Mechanical engineer at iRobot, SWE at Pivotal Labs, Lead Engineer at SideTour (acq. Groupon), EM for GrouponLive. Olin Engineering.

    -
    -
  8. -
  9. - -
    - T-05 - Zodi Chalat - Associate · Spirit level -

    ML infrastructure engineer at Netflix before moving into venture. CS and comparative literature, Yale.

    -
    -
  10. -
  11. - -
    - T-06 - Ben Lovell - Head of Operations · Torque wrench -

    Operational automation and data pipelines at a16z, Menlo Ventures, FT Partners. Cofounded an adtech startup for rideshare. BA Stanford.

    -
    -
  12. -
  13. - -
    - T-07 - Laelah Reino - Operations Manager · Tape measure -

    15+ years in marketing for film, consumer products, subscription services. BA Business Administration (Marketing), Drexel.

    -
    -
  14. -
-

Tools T-01 through T-07 form a complete set. Hand-tighten only. Do not over-torque founders.

-
+

All entries below logged in ITU UTC. Power 100W unless noted. Mode CW/SSB/FT8 mixed. Reports per ARRL convention. Signal report 599 = perfect copy, both ways. This sheet binds into the operating log indexed at the top of the page. Sked any time — we monitor 24/7.

-
-
SHEET 4 / 9
-
Delförteckning A
-

Parts inventory — sheet A (devtools, data, AI)

-

Verify all parts before assembly. If a part is missing, do not panic. We rarely lose track of our parts.

-
    -
  • P-001Meroxa×1Data engineering infrastructure built with one command.
  • -
  • P-002HASH×1Open-source self-building database for a typed graph of entities.
  • -
  • P-003Superconductive×1Data integrity verified and enforced across the lifecycle.
  • -
  • P-004Okteto×1Ephemeral dev environments for actual developers.
  • -
  • P-005Privacy Dynamics×1Customer data privacy without slowing the team down.
  • -
  • P-006IaSQL×1Infra-as-a-database. Stateless config files dismissed.
  • -
  • P-007Daily×1Video for developers, dropped into websites and apps.
  • -
  • P-008Zed×1Fully-native desktop editor. Fast. Real-time collaborative.
  • -
  • P-009SuperTokens×1Open-source authentication that engineers actually deploy.
  • -
  • P-010Fudge×1Website performance, conversion side-effect.
  • -
  • P-011Aperture Data×1Database purpose-built for images, video, and ML.
  • -
  • P-012Trieve×1Infrastructure for shipping AI search into applications.
  • -
  • P-013Kodra×1Fast dataset curation for machine learning.
  • -
  • P-014Patterns×1Tools and infrastructure for modern AI applications.
  • -
  • P-015Subtrace×1Every HTTP request in and out of your production backend, traced.
  • -
  • P-016Sublayer×1AI-assisted coding the way you actually code.
  • -
  • P-017Nullify×1Product security tasks running alongside the developers.
  • -
  • P-018Determinate Systems×1Enterprise-grade Nix package management.
  • -
  • P-019Hunch×1Collaborative data exploration for non-technical users.
  • -
  • P-020Adept×1Useful general intelligence.
  • -
  • P-021Breakpoint AI×1Computer-vision failure detection and re-training.
  • -
  • P-022Loopwork×1The next generation of agents.
  • -
-
-
SHEET 5 / 9
-
Delförteckning B
-

Parts inventory — sheet B (hardware, robotics, machines)

-

Heavy. Lift with the legs, not the cap table.

-
    -
  • P-023Esper×1DevOps for devices. Enterprise hardware, fleet-managed.
  • -
  • P-024Particle×1The largest professional IoT development platform.
  • -
  • P-025Nautilus Labs×1Shipping routes and energy costs, optimized live for maritime fleets.
  • -
  • P-026nTopology×1The future of mechanical engineering software.
  • -
  • P-027Tortuga AgTech×1Robotic harvesters for high-value produce.
  • -
  • P-028Instrumental×1Real-time insights for mass manufacturing.
  • -
  • P-029Stellar Pizza×1Automated food production. Pizza-shaped.
  • -
  • P-030Versatile×1Onsite construction data for accelerated schedules.
  • -
  • P-031Dusty Robotics×1Layout robots for complex construction sites.
  • -
  • P-032ThruWave×1Logistics throughput, made transparent.
  • -
  • P-033Seismic×1Soft robotics that augment worker strength.
  • -
  • P-034Seam×1An API for managing building systems.
  • -
  • P-035ChargeLab×1API- and software-defined EV charging networks.
  • -
  • P-036Wildtype Foods×1Organic, clean, animal-free meat.
  • -
  • P-037Nordsense×1Pickup routes optimized for waste management fleets.
  • -
  • P-038TruckLabs×1Long-haul trucking fuel costs, reduced.
  • -
  • P-039Sensable×1Real-time industrial engineering insights.
  • -
  • P-040Crux×1Critical energy infrastructure, automated.
  • -
  • P-041Mashgin×1Self-checkout that actually works.
  • -
  • P-042Creator×1Fully autonomous hamburger robots.
  • -
  • P-043ApolloShield×1Airspace safety from autonomous and remote-piloted aircraft.
  • -
  • P-044Skycatch×1High-resolution 3D mapping for high-value infrastructure.
  • -
+
+

QSO LOG — STATIONS WORKED

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UTCFREQMODESTATIONRSTNOTES (from the back of the log)
0007Z14.074FT8Esper599devops for devices; build/ship enterprise hardware fleets
0023Z7.040CWMeroxa579data engineering infra in one command
0048Z21.260SSBParticle599largest professional IoT development platform
0102Z14.200SSBDaily599add video to websites and apps; low jitter, no drops
0119Z10.136FT8HASH+02open-source self-building typed entity graph
0135Z7.025CWSuperconductive569data integrity verification at every stage
0148Z14.310SSBOkteto599ephemeral environments for developers
0204Z3.873SSBPrivacy Dynamics589customer data privacy without slowing your team
0221Z14.080FT8Nautilus Labs+01maritime fleets optimize routing and fuel in real time
0239Z21.310SSBnTopology599the future of mechanical engineering software
0254Z10.140FT8Tortuga AgTech-04automation for high-value produce
0311Z7.182SSBInstrumental599real time insights for mass manufacturing
0328Z14.155SSBStellar Pizza569automated food production, cheese pull included
0345Z14.078FT8Versatile+03onsite construction data — schedules go faster
0403Z3.860SSBDusty Robotics599layout automation in complex construction projects
0421Z14.220SSBThruWave589efficiency and transparency for high volume logistics
0437Z7.030CWSeismic599soft robotics; strength and safety for workers
0452Z21.280SSBSeam599API for managing building systems
0509Z14.090FT8ChargeLab+05software-defined EV charging networks
0526Z14.245SSBWildtype Foods599organic clean animal-free meat
0541Z10.142FT8Nordsense+00pickup route optimization for waste fleets
0558Z7.180SSBTruckLabs579fuel cost reduction for long haul fleets
0613Z14.205SSBSensable599real-time industrial engineering insights
0629Z21.295SSBCrux589automation for critical energy infrastructure
0646Z7.038CWIaSQL599infra as rows in a database, not stateless config files
0701Z14.260SSBMashgin599self-checkout, automated
0717Z14.082FT8Creator-01fully autonomous hamburger robots
0733Z50.125SSBApolloShield569airspace defense vs. autonomous/remote piloted aircraft
0749Z21.330SSBSkycatch599high resolution 3D mapping of high-value infra
0805Z7.190SSBShaper599Origin: handheld auto-correcting CNC
0821Z14.230SSBCape579monitor, test, repair enterprise networks remotely
0837Z10.138FT8Righthook+02autonomous-vehicle simulation; less wallclock
0854Z14.270SSBSixWheel599autonomy and electrification for long haul trucking
0911Z21.325SSBRadical599hardware security at the IC level
0928Z14.075FT8Zed+09native desktop code editor — perf, collab, clean lines
0944Z144.200SSBKayhan599spaceflight operations platform; orbits, conjunctions, focus
1001Z7.045CWAllSpice589collaboration + testing for hardware teams
1017Z14.085FT8Quilter+01automated design for electrical engineers
1034Z14.295SSBAdept599useful general intelligence
1051Z7.195SSBAperture Data599image/video DB purpose-built for ML
1108Z21.350SSBSuperTokens579open-source user authentication
1125Z14.087FT8Fudge+04speed up your website — conversion follows
1142Z10.144FT8Kodra+00fast dataset curation for ML
1159Z14.250SSBTopologic599design + automation for textile manufacturing
1216Z21.300SSBRuby Robotics599autonomous biopsy: prep, image, assess
1233Z7.050CWInstance599fastest way to synthesize DNA
1250Z14.215SSBCADY Solutions589electrical schematic analysis, automated
1307Z14.078FT8Sublayer+03AI-assisted coding that works the way you do
1324Z21.265SSBNullify599product security tasks alongside developers
1341Z14.225SSBTrieve599AI search infrastructure
1358Z10.139FT8Breakpoint AI+02detect CV-model failures, retrain
1415Z7.060CWDeterminate Systems599enterprise Nix package management
1432Z14.235SSBGen Alpha599AI copilots for analog and mixed-signal chip design
1449Z21.275SSBHunch579collaborative data exploration for non-technical users
1506Z14.092FT8Illoca+01generative AI for AEC software / commercial architecture
1523Z14.255SSBIntegrated Biosciences599optogenetics + ML for neurodegenerative drug discovery
1540Z21.290SSBLatent Technology589life-like 3D assets for animators and game devs
1557Z7.198SSBPatterns599tools + infra for modern AI applications
1614Z14.083FT8Subtrace+02tracks every HTTP request in/out of production
1631Z14.265SSBDigichem599custom molecules prototyped and manufactured online
1648Z10.146FT8Loopwork+04building the next generation of agents
1705Z14.240SSBFeather599FEA that runs in the browser
1722Z50.135SSBVibe Robotics599novel programming interfaces for robotics (Kai Backman, Luke Church)
+

63 / 63 stations logged this session. No duplicates. No busted calls. Confirmations to be sent via QSL bureau (or the modern equivalent: a polite intro email).

-
-
SHEET 6 / 9
-
Delförteckning C
-

Parts inventory — sheet C (deep tech, biology, design tools)

-

Some parts in this section require additional R&D. Provided gloves are non-conductive.

-
    -
  • P-045Shaper×1Origin: a handheld, auto-correcting CNC tool.
  • -
  • P-046Cape×1Enterprise networks monitored, tested, repaired remotely.
  • -
  • P-047Righthook×1Autonomous vehicle development, less time, less cost.
  • -
  • P-048SixWheel×1Autonomy and electrification for long-haul trucking.
  • -
  • P-049Radical Semiconductor×1Hardware security down to the individual IC.
  • -
  • P-050Kayhan×1Spaceflight ops platform for satellite operators.
  • -
  • P-051AllSpice×1Collaboration and testing for hardware teams.
  • -
  • P-052Quilter×1Automated design tools for electrical engineers.
  • -
  • P-053Topologic×1Design and automation software for textile manufacturing.
  • -
  • P-054Ruby Robotics×1Robotics and AI for autonomous tissue biopsy.
  • -
  • P-055Instance×1The fastest way to synthesize DNA.
  • -
  • P-056CADY Solutions×1Electrical schematic analysis, automated.
  • -
  • P-057Gen Alpha×1Copilots for analog and mixed-signal chip design.
  • -
  • P-058Illoca×1Generative AI for commercial architecture and AEC.
  • -
  • P-059Integrated Biosciences×1Optogenetics + ML for neurodegenerative and age-related disease drugs.
  • -
  • P-060Latent Technology×1Life-like 3D assets for animators and game developers.
  • -
  • P-061Digichem×1Custom molecules, prototyped and manufactured online.
  • -
  • P-062Feather×1FEA that runs in the browser.
  • -
  • P-063Vibe Robotics×1Novel programming interfaces for robotics, from Kai Backman and Luke Church.
  • -
+
+

DESK ROSTER — OPERATORS WITH KEYS TO THE SHACK

+

Listed in the order they sign in to the position log. Each holds an Extra-class ticket. All are authorized to call CQ on behalf of K6RVC.

+
    +
  1. +
    Avidan Ross
    +
    Managing Partner · Trustee of the key
    +
    Founding Partner of Root Ventures. Previously designed industrial robotics for Food Network's kitchens, was CTO of CIM Group, and wrote embedded apps at Excite@Home. BA in CS from Columbia.
    +
  2. +
  3. +
    Kane Hsieh
    +
    Partner
    +
    Founder and Head of Product at Brilliant Bicycle Co. Investor at RRE, software engineer at Romotive, PM at Microsoft. AB in CS from Harvard.
    +
  4. +
  5. +
    Chrissy Meyer
    +
    Partner
    +
    A decade shipping hardware as an engineering manager at Apple and Square. Founding team at Pearl Automation. MSEE Stanford, BSEE Rose-Hulman.
    +
  6. +
  7. +
    Lee Edwards
    +
    Partner
    +
    Most recently CTO at Teespring. Mechanical engineer at iRobot, software engineer at Pivotal Labs, Lead Engineer at SideTour (acquired by Groupon), engineering manager for GrouponLive. Olin College, Systems Engineering.
    +
  8. +
  9. +
    Zodi Chalat
    +
    Associate
    +
    Started on ML infrastructure at Netflix before moving into venture investing. CS and comparative literature, Yale.
    +
  10. +
  11. +
    Ben Lovell
    +
    Head of Operations
    +
    Operational automation and data pipelines at a16z, Menlo Ventures, and FT Partners. Cofounded an adtech startup for rideshare. BA, Stanford.
    +
  12. +
  13. +
    Laelah Reino
    +
    Operations Manager
    +
    Over 15 years in marketing for films, consumer products, and subscription services. BA in Business Administration, Drexel.
    +
  14. +
-
-
SHEET 7 / 9
-
Monteringsanvisning
-

Assembly procedure

-
    -
  1. - 1. - -

    Identify the technical founder. Confirm engineering risk is present. If the founder is solving a market problem with no engineering risk, this part does not fit our chassis.

    -
  2. -
  3. - 2. - -

    Mount tools T-01 through T-05 to the part. Lead with the partner whose tool matches the geometry. Adjacent partners stabilize.

    -
  4. -
  5. - 3. - -

    Insert a single check (per-unit, $3M–$5M). Hold pressure for one funding round. Two thirds of pack reserved for follow-on torque.

    -
  6. -
  7. - 4. - -

    Apply T-06 and T-07 to operations. Light loads only. Repeat steps 1–3 a selective few times per annum.

    -
  8. -
  9. - 5. - -

    Park completed assembly outside 2670 Harrison St, San Francisco, CA 94110. Inspect for square. Tighten quarterly board cadence.

    -
  10. -
+
+

PROPAGATION NOTES · STANDING ORDERS

+
+
+
CALLING FREQUENCY
+ +
We monitor 24/7. Send your call sign, your QTH, what you're building. Skip the formalities — this isn't a contest exchange.
+
+
+
STATION TYPE
+
Seed-stage deep tech
+
Hard tech, robotics, manufacturing, automation, AI/ML, devtools. We lead initial rounds for founders taking real engineering risk.
+
+
+
TYPICAL POWER OUTPUT
+
$3M–$5M first check
+
From a $190M kit. Two-thirds held in reserve for follow-on. A selective few new contacts per year — we keep the band clean.
+
+
+
LICENSE HELD SINCE
+
2015
+
First licensed 2015. Active ever since.
+
+
+
QTH
+
San Francisco, CA
+
2670 Harrison St, 94110. Antenna farm in the back.
+
+
+
ANNUAL MEETING
+ +
Once a year we put down the keys and meet eyeball-to-eyeball.
+
+
-
-
SHEET 8 / 9
-
Garanti
-

Warranty & help wanted

-
-
-

Limited lifetime support

-

If your assembled fund makes a strange noise, do not strike it with a hammer. Contact a partner directly. We answer.

- -
-
-

Reorder slip — currently in stock

-

Open position: Venture Capital Associate, San Francisco.

-

We're looking for someone technical — CS, engineering experience, or equivalent — with genuine curiosity, a knack for explaining complex tech simply, and the kind of resourcefulness that figures things out without asking for the manual twice.

-

Bonus parts: open source contributions, active technical communities, prior startup time. Submit application to hello@root.vc.

-
-
-

Tip: removing the small Allen wrench from the box and pretending you don't have it is a recognized failure mode. We will find another one.

+
+

SKED REQUEST — OPEN POSITION

+
+
VACANCY
+
Venture Capital Associate — SF station, full-time at the operating desk.
+

Technical background. Curiosity about emerging tech. Ability to explain a complex circuit to someone who only knows ham radio. Side projects, open source contributions, startup time all weigh. Send a QSL with your call sign and a circuit diagram of something you built.

+
Reply via traffic net: root.vc/#jobs or hello@root.vc.
+
-
-
SHEET 9 / 9
-
Övriga modeller
-

Other models in this catalogue

-

Previously printed sheets are kept in the binder. We never lose track of a manual.

- -

Root Ventures · hello@root.vc · 2670 Harrison St, San Francisco, CA 94110 · Est. 2015

-

Reorder code AA-2015 · EN · © Root Ventures · No batteries. No serifs. No board observers.

+
+

END OF SHEET — 73

+

This is page 2026-06-02 of the K6RVC bound operating log. Each daily sheet stays in the binder forever. The previous sheet is filed under 2026-06-01. The full bound logbook lives at /archive/. 73 de K6RVC · CL.

+
- + + + diff --git a/script.js b/script.js index 7d49fb7e..26510a29 100644 --- a/script.js +++ b/script.js @@ -1,53 +1,57 @@ -// ROOT-2015 instruction manual — progressive enhancement only. -// All anchor facts are in the static HTML. This file adds: -// 1) A live sheet counter in the top-right corner mark. -// 2) A subtle "crinkle" hover state on parts (CSS-driven via class). -// JSDOM safe: every API used has a JSDOM impl; no observers, no network. +// K6RVC operating-sheet enhancement layer. Static log lives in the HTML — +// this just keeps the session clock ticking and lets you press Enter on a row +// to highlight it (a la a paper logbook getting a fresh check mark). +// +// No network calls. No dynamic facts. Pure visual polish. (function () { - if (typeof document === "undefined") return; + "use strict"; - // Sheet counter: update the top-right corner mark while the visitor scrolls. - var sheets = document.querySelectorAll(".sheet"); - if (!sheets || sheets.length === 0) return; + // 1) Live UTC clock in the session block (purely cosmetic; the date in the + // header is the canonical record-of-the-day). + var sessionValues = document.querySelectorAll(".session-block .value"); + if (sessionValues.length > 0) { + var clockEl = document.createElement("div"); + clockEl.className = "value live-clock"; + clockEl.setAttribute("aria-hidden", "true"); + sessionValues[0].parentNode.insertBefore(clockEl, sessionValues[0].nextSibling); - function nearestSheet() { - var best = null; - var bestDist = Infinity; - var anchor = window.scrollY + 80; - for (var i = 0; i < sheets.length; i++) { - var top = sheets[i].offsetTop; - var d = Math.abs(top - anchor); - if (d < bestDist) { bestDist = d; best = sheets[i]; } - } - return best; + var tick = function () { + var now = new Date(); + var hh = String(now.getUTCHours()).padStart(2, "0"); + var mm = String(now.getUTCMinutes()).padStart(2, "0"); + var ss = String(now.getUTCSeconds()).padStart(2, "0"); + clockEl.textContent = "LOCAL UTC NOW: " + hh + ":" + mm + ":" + ss + "Z"; + }; + tick(); + setInterval(tick, 1000); } - function updateMark() { - var current = nearestSheet(); - if (!current) return; - document.body.setAttribute("data-current-sheet", current.id || ""); - } - - // throttle via rAF - var ticking = false; - function onScroll() { - if (ticking) return; - ticking = true; - window.requestAnimationFrame(function () { - updateMark(); - ticking = false; - }); - } - - window.addEventListener("scroll", onScroll, { passive: true }); - updateMark(); - - // Tiny easter egg: clicking the cover wordmark toggles a stamp class. - var mark = document.querySelector(".wordmark"); - if (mark) { - mark.addEventListener("click", function () { - document.body.classList.toggle("stamped"); - }); + // 2) Click a QSO row to toggle a 'check mark' style — like initialing the + // paper log when you confirm copy. Survives the page session only. + var rows = document.querySelectorAll(".qso-table tbody tr"); + for (var i = 0; i < rows.length; i++) { + (function (row) { + row.style.cursor = "pointer"; + row.title = "Click to mark confirmed"; + row.addEventListener("click", function () { + var on = row.getAttribute("data-confirmed") === "1"; + if (on) { + row.style.background = ""; + row.removeAttribute("data-confirmed"); + var t = row.querySelector(".c-time"); + if (t && t.textContent.indexOf("\u2713 ") === 0) { + t.textContent = t.textContent.slice(2); + } + } else { + row.style.background = "rgba(255, 220, 120, 0.5)"; + row.setAttribute("data-confirmed", "1"); + var t2 = row.querySelector(".c-time"); + if (t2 && t2.textContent.indexOf("\u2713 ") !== 0) { + t2.textContent = "\u2713 " + t2.textContent; + } + } + }); + })(rows[i]); } })(); diff --git a/style.css b/style.css index 72e175af..29f3c6f7 100644 --- a/style.css +++ b/style.css @@ -1,10 +1,16 @@ +/* K6RVC operating sheet — engineer-friendly mono on log-paper green */ + :root { - --paper: #fafaf6; - --ink: #111; - --rule: #d8d6cc; - --accent: #ffd000; - --warning: #ffd000; - --shadow: rgba(0,0,0,0.06); + --paper: #eef2e6; + --ink: #16261a; + --ink-soft: #3a4a3e; + --rule: #98a890; + --rule-soft: #c2cdb8; + --accent: #7a1414; + --phos: #0a3a18; + --phos-bg: #082014; + --phos-fg: #5fe27a; + --mono: ui-monospace, "SF Mono", Menlo, Consolas, "Courier New", monospace; } * { box-sizing: border-box; } @@ -12,434 +18,299 @@ html, body { margin: 0; padding: 0; - background: #ece8dc; + background: var(--paper); color: var(--ink); - font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif; - font-weight: 500; - line-height: 1.4; - -webkit-font-smoothing: antialiased; + font-family: var(--mono); + font-size: 13px; + line-height: 1.45; } body { - padding: 28px 16px 80px; + background-image: + repeating-linear-gradient(0deg, transparent 0 22px, rgba(20,40,30,0.06) 22px 23px), + repeating-linear-gradient(90deg, transparent 0 110px, rgba(140,30,30,0.04) 110px 111px); + padding: 0 0 60px; } -.sheet { - position: relative; - background: var(--paper); - max-width: 920px; - margin: 0 auto 28px; - padding: 56px 56px 72px; - border: 1px solid #cfcdc2; - box-shadow: 0 1px 0 var(--shadow), 0 18px 40px -28px rgba(0,0,0,0.25); +/* HEADER — phosphor strip with the logbook index */ +.logbook-header { + position: sticky; + top: 0; + z-index: 10; + background: var(--phos-bg); + color: var(--phos-fg); + border-bottom: 2px solid #0a4520; + padding: 10px 18px 6px; + text-shadow: 0 0 4px rgba(95, 226, 122, 0.45); } -.sheet::before { - content: ""; - position: absolute; - inset: 8px; - border: 1px solid #e7e4d8; - pointer-events: none; -} - -.corner-mark { - position: absolute; - top: 20px; - font-family: "Courier New", monospace; - font-size: 11px; - letter-spacing: 0.12em; - text-transform: uppercase; - color: #5b5a51; -} -.corner-mark.tl { left: 28px; } -.corner-mark.tr { right: 28px; } - -.section-title { - font-size: 22px; - font-weight: 800; - letter-spacing: -0.01em; - margin: 0 0 4px; - padding-bottom: 12px; - border-bottom: 2px solid var(--ink); +.header-grid { + display: grid; + grid-template-columns: 1.1fr 1.4fr 1.5fr; + gap: 18px; + align-items: start; } -.sub { - font-size: 13px; - color: #4a493f; - margin: 8px 0 24px; +.call-block .call { + font-size: 28px; + font-weight: 700; + letter-spacing: 4px; } +.call-block .call-sub { font-size: 11px; opacity: 0.85; letter-spacing: 1px; } +.call-block abbr { text-decoration: none; border-bottom: 1px dotted currentColor; } -.hint { - font-size: 12px; - color: #555; - margin-top: 24px; - padding: 10px 12px; - border-left: 3px solid var(--ink); - background: #f3efe2; - font-style: italic; +.session-block .label, +.logbook-index .label { + font-size: 10px; + letter-spacing: 2px; + opacity: 0.65; + margin-top: 2px; } +.session-block .value { font-size: 12px; margin-bottom: 2px; } -.cover { - text-align: center; - padding: 72px 56px 88px; +.logbook-index ul { + list-style: none; + margin: 4px 0 0; + padding: 0; + display: flex; + flex-wrap: wrap; + gap: 6px 10px; } - -.cover-frame { - border: 2px solid var(--ink); - padding: 40px 28px 28px; - background: linear-gradient(180deg, #fff 0%, #fafaf6 100%); +.logbook-index li { display: inline-flex; } +.logbook-index a { + color: var(--phos-fg); + text-decoration: none; + padding: 3px 8px; + border: 1px solid rgba(95, 226, 122, 0.4); + border-radius: 2px; + font-size: 11px; + letter-spacing: 1px; } - -.wordmark { - font-size: 56px; - font-weight: 900; - margin: 0; - letter-spacing: -0.04em; +.logbook-index a:hover, +.logbook-index a:focus { + background: rgba(95, 226, 122, 0.15); + outline: none; } -.wordmark .reg { - font-size: 16px; - vertical-align: super; - font-weight: 600; - margin-left: 2px; +.logbook-index .this-sheet { + background: rgba(95, 226, 122, 0.18); + border-color: var(--phos-fg); + font-weight: 700; } +.logbook-index .prev-sheet::before { content: ""; } +.logbook-index .all-sheets { border-style: dashed; } -.swedish { - font-family: "Courier New", monospace; - font-size: 13px; - letter-spacing: 0.18em; - text-transform: uppercase; - color: #5b5a51; - margin: 4px 0 28px; +.band-conditions { + margin-top: 8px; + display: flex; + flex-wrap: wrap; + gap: 14px; + font-size: 10px; + letter-spacing: 1.5px; + opacity: 0.75; + border-top: 1px dashed rgba(95, 226, 122, 0.25); + padding-top: 6px; } +.band-conditions span::before { content: "\25C6 "; opacity: 0.5; } -.cover-art { - width: 100%; - max-width: 420px; - height: auto; - margin: 8px auto; - display: block; +/* MAIN */ +main { + max-width: 1180px; + margin: 0 auto; + padding: 24px 22px 0; } -.tagline { - font-size: 20px; +h1, h2 { + font-family: var(--mono); font-weight: 700; - margin: 20px 0 24px; -} - -.warning-strip { - display: flex; - align-items: center; - justify-content: center; - gap: 14px; - background: var(--warning); - color: var(--ink); - padding: 10px 16px; - margin: 12px -4px 0; - font-family: "Courier New", monospace; - font-size: 12px; - letter-spacing: 0.12em; + letter-spacing: 2px; text-transform: uppercase; - border: 2px solid var(--ink); + color: var(--ink); + border-bottom: 2px solid var(--ink); + padding-bottom: 4px; + margin: 28px 0 14px; } -.warning-strip .chev { font-size: 18px; } +h1 { font-size: 18px; } +h2 { font-size: 14px; } +h1 .date { color: var(--accent); } -.locale-note { - font-family: "Courier New", monospace; - font-size: 11px; - letter-spacing: 0.18em; - text-transform: uppercase; - color: #5b5a51; - margin-top: 28px; -} +.sheet { margin-top: 14px; } -.two-col { +.masthead { display: grid; - grid-template-columns: 220px 1fr; - gap: 36px; - align-items: start; + grid-template-columns: repeat(2, 1fr); + gap: 0; + border: 1.5px solid var(--ink); + background: rgba(255,255,255,0.55); } -@media (max-width: 720px) { - .two-col { grid-template-columns: 1fr; } -} - -.figure svg { - width: 100%; - height: auto; - background: #fff; - border: 1px solid var(--rule); - padding: 12px; -} -.figure figcaption { - font-family: "Courier New", monospace; - font-size: 11px; - margin-top: 8px; - color: #5b5a51; - text-align: center; +.mast-cell { + padding: 10px 12px; + border-bottom: 1px solid var(--rule); + border-right: 1px solid var(--rule); } +.mast-cell:nth-child(2n) { border-right: none; } +.mast-cell:last-child { border-bottom: none; grid-column: 1 / -1; } +.mast-cell:nth-last-child(2) { border-bottom: 1px solid var(--rule); } -.copy p { margin: 0 0 14px; font-size: 15px; } -.copy .mission { font-size: 17px; line-height: 1.45; } -.copy .thesis { color: #2a2a22; } +.mast-label { + font-size: 9px; + letter-spacing: 2px; + color: var(--ink-soft); + margin-bottom: 3px; +} +.mast-value { font-size: 12px; } +.mast-value a { color: var(--accent); } -.spec { - list-style: none; - margin: 18px 0 0; - padding: 0; - border-top: 1px solid var(--rule); -} -.spec li { - display: grid; - grid-template-columns: 180px 1fr; - padding: 8px 0; - border-bottom: 1px dotted var(--rule); - font-size: 14px; -} -.spec li span:first-child { - font-family: "Courier New", monospace; +.note { font-size: 11px; - text-transform: uppercase; - letter-spacing: 0.1em; - color: #5b5a51; - align-self: center; -} - -.tool-grid { - list-style: none; - padding: 0; - margin: 24px 0 0; - display: grid; - grid-template-columns: 1fr 1fr; - gap: 24px 32px; -} -@media (max-width: 720px) { - .tool-grid { grid-template-columns: 1fr; } + color: var(--ink-soft); + margin: 10px 2px 0; + font-style: italic; } -.tool { - display: grid; - grid-template-columns: 120px 1fr; - gap: 14px; - padding: 14px; - border: 1px solid var(--rule); - background: #fff; - position: relative; -} -.tool svg { +/* QSO LOG */ +.qso-table { width: 100%; - height: auto; - align-self: start; - background: #fafaf6; - border: 1px solid var(--rule); - padding: 4px; -} -.tool-meta { font-size: 13px; } -.tool-id { - display: inline-block; - font-family: "Courier New", monospace; - font-size: 11px; - background: var(--ink); - color: var(--paper); - padding: 2px 6px; - letter-spacing: 0.1em; - margin-bottom: 4px; -} -.tool-meta strong { display: block; font-size: 16px; margin-top: 2px; } -.tool-meta em { - font-style: normal; - font-family: "Courier New", monospace; - font-size: 11px; - letter-spacing: 0.05em; + border-collapse: collapse; + background: rgba(255,255,255,0.55); + border: 1.5px solid var(--ink); + font-size: 11.5px; +} +.qso-table th, +.qso-table td { + padding: 4px 8px; + text-align: left; + border-bottom: 1px solid var(--rule-soft); + border-right: 1px solid var(--rule-soft); + vertical-align: top; +} +.qso-table th { + background: #d8dfcd; + font-size: 9.5px; + letter-spacing: 1.5px; text-transform: uppercase; - color: #5b5a51; - display: block; - margin: 2px 0 6px; + border-bottom: 1.5px solid var(--ink); + position: sticky; + top: 92px; + z-index: 5; +} +.qso-table tbody tr:nth-child(odd) { background: rgba(120, 150, 110, 0.06); } +.qso-table tbody tr:hover { background: rgba(255, 220, 120, 0.35); } +.c-time { white-space: nowrap; color: var(--ink-soft); width: 56px; } +.c-freq { white-space: nowrap; width: 64px; } +.c-mode { width: 48px; text-transform: uppercase; } +.c-call { white-space: nowrap; font-weight: 700; } +.c-call a { color: var(--accent); text-decoration: none; border-bottom: 1px dotted var(--accent); } +.c-call a:hover { background: #ffe7a3; } +.c-rst { font-family: var(--mono); width: 50px; color: var(--phos); font-weight: 700; } +.c-notes { color: var(--ink-soft); } + +.log-foot { + font-size: 10.5px; + color: var(--ink-soft); + margin: 8px 2px 0; } -.tool-meta p { margin: 4px 0 0; line-height: 1.4; color: #2a2a22; } -.parts-list { - list-style: none; - padding: 0; - margin: 16px 0 0; - border-top: 2px solid var(--ink); +/* ROSTER */ +.roster-intro { + font-size: 11.5px; + color: var(--ink-soft); + margin: 0 2px 12px; } -.part { +.roster-list { display: grid; - grid-template-columns: 76px 220px 60px 1fr; - gap: 16px; - padding: 10px 4px; - border-bottom: 1px dotted var(--rule); - align-items: baseline; - font-size: 14px; -} -@media (max-width: 720px) { - .part { grid-template-columns: 70px 1fr; } - .part .qty, .part .pdesc { grid-column: 2; } -} -.pn { - font-family: "Courier New", monospace; - font-size: 12px; - letter-spacing: 0.08em; - color: #5b5a51; - background: #f3efe2; - padding: 2px 6px; - display: inline-block; - width: max-content; -} -.pname { - font-weight: 700; - color: var(--ink); - text-decoration: none; - border-bottom: 2px solid var(--ink); -} -.pname:hover { background: var(--accent); } -.qty { - font-family: "Courier New", monospace; - font-size: 12px; - color: #5b5a51; -} -.pdesc { color: #2a2a22; } - -.steps { + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 12px; list-style: none; + margin: 0; padding: 0; - margin: 16px 0 0; - counter-reset: step; -} -.steps > li { - display: grid; - grid-template-columns: 44px 220px 1fr; - gap: 22px; - align-items: center; - padding: 20px 8px; - border-bottom: 1px solid var(--rule); + counter-reset: opnum; } -@media (max-width: 720px) { - .steps > li { grid-template-columns: 44px 1fr; } - .steps > li svg { grid-column: 1 / -1; max-width: 280px; } -} -.step-no { - font-size: 36px; - font-weight: 900; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +.roster-list > li { + border: 1px solid var(--ink); + background: #f6f8ef; + padding: 12px 14px; + position: relative; + counter-increment: opnum; } -.steps svg { - width: 100%; - max-width: 220px; - height: auto; - background: #fff; - border: 1px solid var(--rule); - padding: 6px; +.roster-list > li::before { + content: "OP " counter(opnum, decimal-leading-zero); + position: absolute; + top: 8px; + right: 10px; + font-size: 9px; + letter-spacing: 2px; + color: var(--accent); } -.steps p { margin: 0; font-size: 15px; line-height: 1.45; } - -.warranty-card { - border: 2px solid var(--ink); - background: #fff; - padding: 20px; +.op-name { + font-weight: 700; + font-size: 14px; + letter-spacing: 1px; } -.warranty-card .card-head { - font-family: "Courier New", monospace; - font-size: 11px; - letter-spacing: 0.14em; +.op-title { + font-size: 10.5px; + letter-spacing: 1.5px; text-transform: uppercase; - color: #5b5a51; - margin: 0 0 10px; + color: var(--ink-soft); + margin: 2px 0 8px; } -.warranty-card p { margin: 0 0 12px; font-size: 14px; } -.meta-list { - list-style: none; - padding: 0; - margin: 14px 0 0; - border-top: 1px solid var(--rule); -} -.meta-list li { +.op-bio { font-size: 11.5px; } + +/* PROPAGATION */ +.prop-grid { display: grid; - grid-template-columns: 140px 1fr; - padding: 8px 0; - font-size: 13px; - border-bottom: 1px dotted var(--rule); + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 14px; } -.meta-list li span { - font-family: "Courier New", monospace; - font-size: 11px; - letter-spacing: 0.1em; - text-transform: uppercase; - color: #5b5a51; - align-self: center; +.prop-grid > div { + border-left: 3px solid var(--ink); + padding: 4px 12px; } -.meta-list li a { - color: var(--ink); - text-decoration: none; - border-bottom: 2px solid var(--ink); +.prop-grid .small { + font-size: 10.5px; + color: var(--ink-soft); + margin-top: 4px; } -.meta-list li a:hover { background: var(--accent); } +.prop-grid a { color: var(--accent); } -.binder { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 18px; - margin: 18px 0 24px; -} -@media (max-width: 720px) { .binder { grid-template-columns: 1fr; } } -.binder-tab { - display: block; - padding: 22px 24px; - background: #fff; - border: 2px solid var(--ink); - text-decoration: none; - color: var(--ink); - position: relative; - box-shadow: 6px 6px 0 var(--ink); - transition: transform 0.08s ease, box-shadow 0.08s ease; +/* SKED */ +.sked-card { + border: 1.5px dashed var(--accent); + padding: 14px 16px; + background: rgba(122, 20, 20, 0.04); } -.binder-tab:hover { - transform: translate(-2px, -2px); - box-shadow: 8px 8px 0 var(--ink); - background: var(--accent); +.sked-card a { color: var(--accent); } + +/* COLOPHON */ +.colophon { + margin-top: 36px; + border-top: 2px solid var(--ink); + padding-top: 12px; + font-size: 11.5px; } -.tab-no { - display: inline-block; - font-family: "Courier New", monospace; +.colophon a { color: var(--accent); } +.sig { + margin: 12px 0 0; font-size: 11px; - letter-spacing: 0.14em; - text-transform: uppercase; - color: #5b5a51; - margin-bottom: 6px; -} -.tab-name { - display: block; - font-weight: 800; - font-size: 18px; - margin: 2px 0 6px; -} -.tab-meta { - display: block; - font-size: 12px; - color: #2a2a22; + color: var(--ink-soft); + white-space: pre-wrap; + letter-spacing: 1px; } -.foot-rule { - margin-top: 20px; - padding-top: 12px; - border-top: 1px solid var(--rule); - font-family: "Courier New", monospace; - font-size: 11px; - letter-spacing: 0.08em; - text-transform: uppercase; - color: #5b5a51; - text-align: center; +/* TICKER ANIMATION — band conditions blink the open band */ +@keyframes pulse-open { + 0%, 100% { opacity: 0.75; } + 50% { opacity: 1; text-shadow: 0 0 8px rgba(95, 226, 122, 0.7); } } -.reorder { - font-family: "Courier New", monospace; - font-size: 10px; - letter-spacing: 0.16em; - text-transform: uppercase; - color: #7a7869; - text-align: center; - margin: 6px 0 0; +.band-conditions span:nth-child(5) { + color: #c9ffd0; + animation: pulse-open 2.2s ease-in-out infinite; } -@media print { - body { background: #fff; padding: 0; } - .sheet { box-shadow: none; border: none; page-break-after: always; } +/* Responsive — collapse the header grid on narrow screens */ +@media (max-width: 760px) { + .header-grid { grid-template-columns: 1fr; gap: 10px; } + .qso-table th { top: 0; position: static; } + .masthead { grid-template-columns: 1fr; } + .mast-cell { border-right: none; } + .qso-table { font-size: 10.5px; } }