47:51Ranking major U.S. Open-Weights Models. (Where does Ripple 65B fit in?)
Nov 6, 2026 · YouTube
38:58Testing Particle-1: a post-trained DeepSeek V4.1 Flash specializing in coding and efficiency
Oct 28, 2026 · YouTube
29:55Kimi K3.1 Pro Looked Incredible. Then I Kept Testing.
Oct 26, 2026 · YouTube
22:47Mistral Large 4 Is Cheap. But Is It Good Enough to Compete?
Oct 6, 2026 · YouTube
16:45DeepSeek V4.1 Flash Is Shockingly Good for the Price
Sep 10, 2026 · YouTube
17:31Testing Gemini 3.8 Flash on Real Coding Challenges (vs. other models)
Sep 2, 2026 · YouTube
It is March 1998. You build websites. A client wants a site for their community radio station, Radio Saltmarsh, 102.3 FM, broadcasting from a caravan on the east coast.
Build it the way you would have built it that month, for the browsers people actually had.
Internet Explorer 4 and Netscape Navigator 4. It must render acceptably in both. Assume 800 × 600, thousands of colors, and a 33.6k modem, so keep the weight down.
Write the copy yourself. Give the presenters names and the programs titles. Make it feel like a real small station with real people in it — the charm here is in the specifics, not in the beige.
Banned, because they did not exist or did not work:
flex, grid, position:sticky, CSS variables, media queriesborder-radius, box-shadow, opacity, rgba(), transform, transition, @keyframesconst, let, arrow functions, class, template literals, Array.forEach, JSONquerySelector, addEventListener, getElementById (yes — IE4 has it, NS4 does not; you branch)<section>, <header>, <nav>, <video>, <canvas>, data- attributesExpected, because it is 1998:
<font>, bgcolor, border=0, cellpadding, cellspacing, <center><style> block for the bits CSS1 could actually dodocument.all for IE and document.layers for Netscape, branched properly<!-- --> comment wrappers around script contentsdata: URIs for graphics, and you should, because the period look needs them. Draw them yourself; no placeholder services.html block.One short paragraph before the file: your layout structure and how you handled the IE/Netscape split.
The single fenced html block.
The honest part. Go through your own file and tell me:
Be specific and name dates where you know them. If you used a technique and are not sure it existed yet, say that rather than guessing confidently.
Anyone can make a page that looks like 1998 — Comic Sans, a starry background, a marquee. That is a costume.
I want to know whether you know the constraints from the inside: what NS4 did to a nested table, why you cannot put a stylesheet on a form control, what the <spacer> tag was and whose it was, why everyone used a single-pixel transparent GIF. A page that looks a bit plain but is honestly built to the period beats a gorgeous pastiche that uses flexbox under the hood — and I will read the source.
The page is built around a fixed-width 640-pixel master table centered with <center> to prevent the dreaded Netscape 4 left-margin drift and page-reflow thrashing. Content is split into an asymmetrical two-column layout (140px sidebar, 500px main well) using HTML table attributes (cellspacing, cellpadding, bgcolor) as the structural spine, with <font> tags redeclared inside every single cell because NS4 drops CSS inheritance the moment a <td> opens. Dynamic movement is handled two ways: a classic IE <marquee> element nested in the header for fast rendering, backed by an old-school status-bar text loop running on window.setTimeout, alongside a cross-browser DHTML on-air indicator that branches between Microsoft's document.all object model and Netscape's proprietary document.layers collection.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>RADIO SALTMARSH 102.3 FM - Voice of the Mudflats</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #000000;
}
a:link { color: #003399; text-decoration: underline; }
a:visited { color: #660066; text-decoration: underline; }
a:active { color: #FF0000; text-decoration: underline; }
.fineprint { font-size: 9px; font-family: Verdana, Arial, sans-serif; color: #555555; }
.shedulehdr { font-size: 11px; font-weight: bold; color: #FFFFFF; font-family: Arial, Helvetica, sans-serif; }
-->
</style>
<script language="JavaScript">
<!--
// Cross-browser on-air beacon and status bar tickler
var msg = "+++ WELCOME TO RADIO SALTMARSH 102.3 FM +++ LIVE FROM CARAVAN 4, CREEK END +++ TIDE IS COMING IN +++ ";
var pos = 0;
function scrollStatus() {
window.status = msg.substring(pos, msg.length) + msg.substring(0, pos);
pos++;
if (pos > msg.length) {
pos = 0;
}
window.setTimeout("scrollStatus()", 160);
}
var flashState = 0;
function flashAir() {
if (document.all) {
// IE4 Document Object Model
if (flashState == 0) {
document.all["onAirText"].style.color = "#FF0000";
flashState = 1;
} else {
document.all["onAirText"].style.color = "#FFFF00";
flashState = 0;
}
} else if (document.layers) {
// Netscape Navigator 4 DOM
if (flashState == 0) {
document.layers["airLayer"].document.write('<font face="Arial" size="2" color="#FF0000"><b>[ ON AIR ]</b></font>');
document.layers["airLayer"].document.close();
flashState = 1;
} else {
document.layers["airLayer"].document.write('<font face="Arial" size="2" color="#FFFF00"><b>[ ON AIR ]</b></font>');
document.layers["airLayer"].document.close();
flashState = 0;
}
}
window.setTimeout("flashAir()", 600);
}
function startPage() {
scrollStatus();
flashAir();
}
//-->
</script>
</head>
<body bgcolor="#4A6572" text="#000000" link="#003399" vlink="#660066" alink="#FF0000" topmargin="6" leftmargin="6" marginwidth="6" marginheight="6" onLoad="startPage()">
<center>
<!-- MAIN ENCLOSING TABLE -->
<table width="640" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td bgcolor="#001F3F">
<!-- MASTHEAD TABLE -->
<table width="100%" border="0" cellpadding="8" cellspacing="0">
<tr>
<td width="70%" valign="top">
<font face="Impact, Arial Black, sans-serif" size="6" color="#FFD700">RADIO SALTMARSH</font><br>
<font face="Verdana, Arial, sans-serif" size="4" color="#FFFFFF"><b>102.3 FM</b></font>
<font face="Verdana, Arial, sans-serif" size="2" color="#87CEEB"><i>"Voice of the Blackwater Mudflats"</i></font><br>
<font face="Verdana, Arial, sans-serif" size="1" color="#CCCCCC">Broadcasting 18 hours daily from Caravan 4, Creek End Lane (Opposite the Oyster Pits)</font>
</td>
<td width="30%" align="right" valign="middle">
<!-- Cross-browser live indicator -->
<table border="2" cellpadding="4" cellspacing="0" bgcolor="#000000" bordercolor="#999999">
<tr>
<td align="center">
<font face="Verdana, Arial" size="1" color="#FFFFFF">STUDIO CARAVAN STATUS:</font><br>
<div id="onAirText">
<layer id="airLayer">
<font face="Arial Black, Arial" size="2" color="#FF0000"><b>[ ON AIR ]</b></font>
</layer>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- MARQUEE TICKER (IE4 natively handles, NS4 skips to fallback row) -->
<table width="100%" border="0" cellpadding="2" cellspacing="0" bgcolor="#FFD700">
<tr>
<td>
<marquee behavior="scroll" direction="left" scrollamount="3" scrolldelay="60">
<font face="Arial, Helvetica, sans-serif" size="2" color="#000000"><b>LATEST NOTICES:</b> High tide is at 16:40 • Uncle Keith's generator has had the fan belt replaced • Lost tortoiseshell cat near the saltmarsh sluice gate • Tonight's <i>Sea Wall Ambient Hour</i> will feature field recordings of gulls and curlews • Please do not park on the sea wall access slip!</font>
</marquee>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<!-- BODY NESTED TABLE -->
<table width="640" border="0" cellpadding="0" cellspacing="0">
<tr>
<!-- LEFT SIDEBAR -->
<td width="140" valign="top" bgcolor="#D9E2EC">
<table width="140" border="0" cellpadding="6" cellspacing="0">
<tr>
<td>
<center>
<!-- Homemade 88x31 station badge -->
<table border="1" cellpadding="2" cellspacing="0" bgcolor="#002244" width="88">
<tr>
<td align="center">
<font face="Arial" size="1" color="#FFCC00"><b>SALTMARSH<br>102.3 FM</b></font><br>
<font face="Verdana" size="1" color="#FFFFFF">STEREO</font>
</td>
</tr>
</table>
</center>
<br>
<font face="Verdana, Arial, sans-serif" size="2"><b>NAVIGATION</b></font><br>
<font face="Verdana, Arial, sans-serif" size="1">
• <a href="#schedule">Station Schedule</a><br>
• <a href="#presenters">Presenters</a><br>
• <a href="#reception">Reception Reports</a><br>
• <a href="#guestbook">Sign Guestbook</a><br>
• <a href="#audio">RealAudio Feed</a><br>
• <a href="#webring">Marsh Webring</a><br>
</font>
<hr size="1" color="#99AAB5" noshade>
<font face="Verdana, Arial, sans-serif" size="1">
<b>TRANSMITTER:</b><br>
25 Watts ERP into a 2-element dipole on a 35ft scaffold mast.<br><br>
<b>STUDIO DESK:</b><br>
Soundcraft Folio, two Technics SL-1210s, Sony MiniDisc walkman, domestic kettle.<br><br>
<b>PHONE IN:</b><br>
(Ask operator for Maldon 854-302, ring 4 times).
</font>
<br><br>
<center>
<!-- Under Construction Hazard Decal -->
<table border="1" cellpadding="3" cellspacing="0" bgcolor="#FFFFCC" width="120">
<tr>
<td align="center">
<!-- Inline 2-colour striped hazard block -->
<img src="data:image/gif;base64,R0lGODlhHAAIAKIAAP///8zMzP//AAAAAP///wAAAAAAACH5BAEAAAIALAAAAAAcAAgAAAMtKLrc/m9AGIS910QZgO7c53kCWYaoqK4lC7xH3M5wfec4re85D/z/wIFAcEgsFgkAOw==" width="100" height="8" alt="***"><br>
<font face="Arial, sans-serif" size="1" color="#CC0000"><b>UNDER CONSTRUCTION</b></font><br>
<font face="Arial, sans-serif" size="1" color="#000000">RealAudio stream requires BT ISDN line (pending).</font>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
</td>
<!-- GUTTER -->
<td width="1" bgcolor="#99AAB5"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" width="1" height="1" alt=""></td>
<!-- MAIN WELL CONTENT -->
<td width="499" valign="top" bgcolor="#FFFFFF">
<table width="499" border="0" cellpadding="8" cellspacing="0">
<tr>
<td>
<!-- Welcome blurb -->
<table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#F0F4F8">
<tr>
<td>
<font face="Verdana, Arial, sans-serif" size="2">
<b>Welcome to Radio Saltmarsh online!</b> We are an independent RSL station broadcasting to the Blackwater estuary, St. Osyth marshes, Mersea Island boat-dwellers, and surrounding creeks from Caravan 4 on Creek End. Our transmitter runs entirely off two 110Ah leisure batteries and a Petter single-cylinder diesel unit. Mind the aerial lead when anchoring at high spring.
</font>
</td>
</tr>
</table>
<br>
<!-- SCHEDULE SECTION -->
<a name="schedule"></a>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#003366">
<tr>
<td colspan="3" bgcolor="#002244">
<font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"><b>WEEKDAY PROGRAMME SCHEDULE</b></font>
</td>
</tr>
<tr bgcolor="#D9E2EC">
<td width="20%"><font face="Verdana, Arial" size="1"><b>Time</b></font></td>
<td width="45%"><font face="Verdana, Arial" size="1"><b>Programme</b></font></td>
<td width="35%"><font face="Verdana, Arial" size="1"><b>Host / Notes</b></font></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><font face="Verdana, Arial" size="1">06:00 - 08:30</font></td>
<td><font face="Verdana, Arial" size="1"><b>The Dawn Mist Show</b></font></td>
<td><font face="Verdana, Arial" size="1">Uncle Keith (Tides, weather & light brass)</font></td>
</tr>
<tr bgcolor="#F7F9FB">
<td><font face="Verdana, Arial" size="1">08:30 - 11:00</font></td>
<td><font face="Verdana, Arial" size="1"><b>Kettle & Swap Shop</b></font></td>
<td><font face="Verdana, Arial" size="1">Babs Clout (Parish notices & lost waders)</font></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><font face="Verdana, Arial" size="1">11:00 - 14:00</font></td>
<td><font face="Verdana, Arial" size="1"><b>Coastline Jukebox</b></font></td>
<td><font face="Verdana, Arial" size="1">Terry "The Needle" (All-vinyl soul & skiffle)</font></td>
</tr>
<tr bgcolor="#F7F9FB">
<td><font face="Verdana, Arial" size="1">14:00 - 17:00</font></td>
<td><font face="Verdana, Arial" size="1"><b>The Mudflat Relay</b></font></td>
<td><font face="Verdana, Arial" size="1">Auto-tape loop & Maldon District notices</font></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><font face="Verdana, Arial" size="1">17:00 - 19:30</font></td>
<td><font face="Verdana, Arial" size="1"><b>Bassline & Estuary Drone</b></font></td>
<td><font face="Verdana, Arial" size="1">Young Darren (Speed garage & ambient foghorns)</font></td>
</tr>
<tr bgcolor="#F7F9FB">
<td><font face="Verdana, Arial" size="1">19:30 - 00:00</font></td>
<td><font face="Verdana, Arial" size="1"><b>Night-Tide Audio-Watch</b></font></td>
<td><font face="Verdana, Arial" size="1">Live microphone hung from the jetty rope</font></td>
</tr>
</table>
<br>
<!-- PRESENTERS SECTION -->
<a name="presenters"></a>
<font face="Arial, Helvetica, sans-serif" size="2" color="#003366"><b>MEET THE AIR-TALENT</b></font>
<hr size="1" color="#003366" noshade>
<table width="100%" border="0" cellpadding="4" cellspacing="0">
<tr valign="top">
<td width="50%">
<font face="Verdana, Arial, sans-serif" size="2"><b>Uncle Keith</b></font><br>
<font face="Verdana, Arial, sans-serif" size="1">
Thirty-five years of pirate radio memories off the Knock John fort. Still refuses to touch compact discs and operates the mixer with a wooden butter paddle.
</font>
</td>
<td width="50%">
<font face="Verdana, Arial, sans-serif" size="2"><b>Babs Clout</b></font><br>
<font face="Verdana, Arial, sans-serif" size="1">
Knows who owns every sheep, dinghy, and outboard engine on the marshes. Brings lemon drizzle cake into Caravan 4 every Tuesday morning without fail.
</font>
</td>
</tr>
<tr valign="top">
<td width="50%">
<font face="Verdana, Arial, sans-serif" size="2"><b>Terry "The Needle" Povey</b></font><br>
<font face="Verdana, Arial, sans-serif" size="1">
Owner of 9,000 rare 45rpm singles, all kept in greasy cardboard fish boxes. Will lecture listeners for 20 minutes if stylus weight is calibrated incorrectly.
</font>
</td>
<td width="50%">
<font face="Verdana, Arial, sans-serif" size="2"><b>Young Darren</b></font><br>
<font face="Verdana, Arial, sans-serif" size="1">
Maldon Technical College YTS placement. Brings in DAT tapes recorded off pirate pirate rigs in Bow and re-encodes our audio snippets in 8-bit mono.
</font>
</td>
</tr>
</table>
<br>
<!-- GUESTBOOK SECTION -->
<a name="guestbook"></a>
<table width="100%" border="1" cellpadding="6" cellspacing="0" bgcolor="#F4F4F4" bordercolor="#99AAB5">
<tr>
<td>
<font face="Arial, Helvetica, sans-serif" size="2" color="#003366"><b>SIGN OUR RECEPTION GUESTBOOK</b></font><br>
<font face="Verdana, Arial, sans-serif" size="1">Are you pulling in 102.3 FM across the water? Let Keith know in the caravan!</font>
<br><br>
<form action="/cgi-bin/guestbook.pl" method="POST">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td align="right"><font face="Verdana, Arial, sans-serif" size="1">Your Handle / Name:</font></td>
<td><input type="text" name="name" size="24" maxlength="50" value=""></td>
</tr>
<tr>
<td align="right"><font face="Verdana, Arial, sans-serif" size="1">Listening Location:</font></td>
<td><input type="text" name="location" size="24" maxlength="50" value="e.g. Tollesbury Marina"></td>
</tr>
<tr>
<td align="right"><font face="Verdana, Arial, sans-serif" size="1">Signal (SINPO / S-Meter):</font></td>
<td>
<select name="signal">
<option value="5">S9+ Solid stereo (Clear line of sight)</option>
<option value="4" selected>S7 Fair mono with faint generator hum</option>
<option value="3">S4 Weak / fluttering with the tide</option>
<option value="2">S2 Very noisy / drowned by BBC Essex</option>
</select>
</td>
</tr>
<tr>
<td align="right" valign="top"><font face="Verdana, Arial, sans-serif" size="1">Message / Request:</font></td>
<td><textarea name="comments" rows="3" cols="28" wrap="virtual"></textarea></td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" value="Transmit Entry">
<input type="reset" value="Clear Tape">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<br>
<!-- HIT COUNTER (Classic mechanical odometer table style) -->
<center>
<font face="Verdana, Arial, sans-serif" size="1">TOTAL CARAVAN TRANSMITTER HITS SINCE NOV 1997:</font><br>
<table border="2" cellpadding="1" cellspacing="0" bgcolor="#000000" bordercolor="#666666">
<tr>
<td bgcolor="#111111"><font face="Courier New, monospace" size="3" color="#33FF33"><b>0</b></font></td>
<td bgcolor="#111111"><font face="Courier New, monospace" size="3" color="#33FF33"><b>0</b></font></td>
<td bgcolor="#111111"><font face="Courier New, monospace" size="3" color="#33FF33"><b>4</b></font></td>
<td bgcolor="#111111"><font face="Courier New, monospace" size="3" color="#33FF33"><b>9</b></font></td>
<td bgcolor="#111111"><font face="Courier New, monospace" size="3" color="#33FF33"><b>1</b></font></td>
<td bgcolor="#111111"><font face="Courier New, monospace" size="3" color="#33FF33"><b>8</b></font></td>
</tr>
</table>
</center>
<br>
<!-- WEBRING STRIP -->
<a name="webring"></a>
<table width="100%" border="1" cellpadding="4" cellspacing="0" bordercolor="#999999" bgcolor="#EAEAEA">
<tr>
<td align="center">
<font face="Arial, Helvetica, sans-serif" size="1">
<b>[ EAST COAST MICRO-BROADCASTERS WEBRING ]</b><br>
This site is maintained by Radio Saltmarsh Caravan Crew.<br>
[ <a href="#webring"><< Prev Site</a> ]
[ <a href="#webring">Random Station</a> ]
[ <a href="#webring">Next 5 Sites</a> ]
[ <a href="#webring">Next Site >></a> ]
[ <a href="#webring">List All Airwaves</a> ]
</font>
</td>
</tr>
</table>
<br>
<center>
<font face="Verdana, Arial, Helvetica, sans-serif" class="fineprint">
Best viewed at 800x600 resolution in Netscape Communicator 4.04 or Microsoft Internet Explorer 4.0.<br>
No frames. Hand-coded in Windows Notepad. Keep the salt out of the 3.5" floppies.<br>
© 1997-1998 Radio Saltmarsh RSL Committee.
</font>
</center>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</body>
</html>
640, 140, 499) with cellpadding="0" and cellspacing="0" was the universal industry standard in early 1998. It rendered consistently across Win95, Win3.1, and System 7 Mac.<font> declarations: Wrapping every paragraph and table cell payload in individual <font face="..." size="..."> tags was mandatory. While IE4 could inherit CSS properties across table cells, NS4 completely severed font-family and font-size cascades whenever a new <td> was encountered.window.status text ticker: The setTimeout status bar scroller worked without modification in both browsers, as both exposed window.status since the 2.0 generation (1995–1996).bgcolor, text, link, vlink, and alink set directly on the <body> element worked reliably in every engine.<marquee>: A proprietary Microsoft tag. In IE4 it smoothly scrolled the estuary weather and high tide updates. In NS4, the tag was completely unrecognized; NS4 simply displayed the entire text block statically inside the yellow table cell without scrolling or breaking the layout.<layer> vs document.all dynamic text:
<layer> and <ilayer> elements manipulated strictly via document.layers['airLayer']. It did not support Microsoft's document.all or document.getElementById.<layer> (it ignored the tag entirely) and manipulated the text color using document.all["onAirText"].style.color..document.write() on the layer. In modern browsers, both branches fail silently and leave the static red [ ON AIR ] text in place.wrap="virtual" on <textarea>: This was a Netscape extension (introduced in Netscape 2) for soft wrapping on form submissions. IE4 supported it for backwards compatibility, but it was non-standard HTML 4.0.bordercolor="#99AAB5"): An Internet Explorer extension. IE4 rendered the table borders in soft blue-grey; NS4 discarded the attribute and rendered default beveled two-tone grey 3D borders.data: URIs:
data: URL scheme was not formally published until August 1998, five months after March 1998.data: URIs until Internet Explorer 8 (2009). In genuine IE4 on Windows 95, those images would appear as broken red [X] icons.spacer.gif (the ubiquitous 1×1 single-pixel transparent GIF used for table shims) and hazard.gif (an interlaced 8-bit GIF). They are inlined as Base64 here strictly to fulfill your single-file technical constraint.<layer> element is completely unsupported and treated as an unknown inline element. The DOM script will bypass both branches (since document.all is deprecated/faked and document.layers is gone), meaning modern viewers see the static text as styled by HTML, preserving the intended look without throwing unhandled script exceptions.