Cammy's Big Rambly Journal

Hello! I notice you're using Netscape (or other CSS-noncompliant user agent—in which case, consider this an easter egg) to view this journal. Because Netscape is so titanically shit, I have disabled image viewing on Netscape specifically. If I didn't, you would notice random images being replaced with each other and similar such strangeness. The posts are still visible, but you'll be missing the images, which are half the context of these posts.

You should use RetroZilla if you can; it runs on Windows 95 and up and gives you a perfect cammy.somnol viewing experience, plus more comfortable Web browsing on retrocomputers in general. Failing that, Internet Explorer 3 (which amusingly also displays this message, since it doesn't support the display CSS property) and up will also work perfectly fine for seeing my journal posts.


March 26, 2024
The cammy.somnol retro browser bug squash

More like Notscape


Jesus Christ, that's a rabbit hole I don't wish to go down again. cammy.somnol now officially supports Internet Explorer 3 and up and Netscape 4 and up. And Mosaic for the most part, though it doesn't like my images.

cammy.somnol running in Netscape 4

I seem to get caught up in these occasional 24 hour tech projects, like the 24 hour flu, y'know? It's entirely emotional, it's not rational, and realistically, there's no reason for this one—well, there might be. Also it's a fun story to tell.

We have it really really good as Web developers in the 21st century. We have advanced CSS modules to enable us to easily put together layouts from scratch, and all the relevant CSS frameworks have grid and flex systems to make it as easy as putting a few classes in. This was not the luxury Web designers in the late 90s got to enjoy. They had to deal with two browsers from two temperamental browser developers that each supported a completely different version of the Web, and they were called Internet Explorer and they were called Netscape.

Microsoft has always been easy to put down as the evildoer, bulldozing the competition with their stagnant Web browser included with loads of software and bloating the nice and efficient Windows desktop shell with Active Desktop. This is all true. People also still have a lot of piss and vinegar for Microsoft today, which helps reinforce the idea that Internet Explorer was the bad browser and Netscape was the good one, but—I much prefer dealing with Internet Explorer if I can help it. It feels much zippier and less buggy when you actually compare the two, and here's the big thing, the CSS support is light years better.

Netscape was just as culpable as Microsoft in the "I'm only going to support my technologies" arms race, and the big one that haunts me as a Web developer is JavaScript Style Sheets. In case you're not aware, JavaScript originated with Netscape—and aside from it being used to do things it shouldn't, it's pretty good for what it is. Netscape wanted everyone to use JavaScript; they had plans for a server-side JavaScript (sit down, React users), and with the desire to have stylesheets for people's larger and larger websites looming on the horizon, they figured they could turn their scripting language into a styling language as well.

It didn't work, but it continues to be relevant to those designing retro Web pages because Netscape inexplicably hacked its CSS support around translating to JSSS. If you use CSS at all, and you're targeting Netscape at all, you will have to learn to deal with its hideously bad, incredibly limited, unbelievably buggy implementation of JIT translated CSS. To give you an idea, there's a phenomenal website I've been combing over for the past day or so called RichInStyle.com, which is devoted to turn-of-the-millennium CSS information, bugs, and best practices. They count several hundred bugs for Netscape 4's CSS implementation—some parts of the site list it around 230, other parts 500.

I've known for a long time now that cammy.somnol, basic as though the layout is, ate shit on Netscape 4, but I wasn't too interested in figuring out why...until it crawled up my ass and I started playing with it. Here's some bugs I've personally encountered:

The thing about JSSS is that, because only Netscape 4 supports it, I can write a JSSS file and use it to fix Netscape-specific rendering bugs without resorting to CSS hacks. Why would I want to do this? Originally, I didn't much care, but I got to thinking about how I'd eventually like to have cammy.somnol linked more around the still-growing retro Web community a bit more, and I know folks on Windows 3.x and 9x and other OSes alike sometimes have no choice but to use Netscape. Even if they do have choice (RetroZilla supports Windows 95 and NT4 and is lovely to develop for), it doesn't mean they're taking advantage of that choice.

cammy.somnol running in IE4

So, literally 24 hours ago as of writing this, I got to seeing how much better I could make cammy.somnol work on Netscape without completely rewriting every page. I could've gotten things pretty close looking and fairly consistent across all browsers had I just resorted to presentational HTML, but that's not my style and I like clean markup too much. (I wound up using some anyway, I'll get back to that.) That journey expanded out to Internet Explorer 3, 4, and Mosaic 3.0 fairly quickly; I knew it mostly worked in IE5 and worked perfect in IE6 already, but I didn't have anything I could test the older versions on to hand and had to spend the morning setting up PCem with networking support.

So here's a summary of what all I did:

As a result, Netscape 4 finally works mostly well on cammy.somnol (ignoring the journal), IE3 is near-perfect aside from floated images not working, IE4 is perfect, and Mosaic is almost perfect, rendering my GIFs as black-and-transparent for some reason I can't seem to understand. All of them have some trouble with the journal, either due to lack of PNG support, Netscape's image bug, Mosaic's tendency to crash when it has to get off its lazy ass and render a bigger page, or my lazy ass' tendency to not render thumbnail versions of embedded images, causing load times and images breaking out of their containers. RetroZilla and more recent were already perfect and remain completely unaffected.

I've learned so many nightmarish bugs, hacks, and workarounds over the past evening, trying to target one browser but not another, working around the lack of horizontal centering in basically every browser I was working with, and constantly checking this not-altogether-accurate-somehow W3 specification submission on JSSS for reference. That said, she's working nicely! cammy.somnol will now work in your favorite retro browser, I didn't have to change how I write these pages too much to make it happen, and eventually when I start floating this thing around more, hopefully someone in the retrocomputing scene will appreciate all that hard work. (mari.somnol will avoid this pitfall because I'm going to be writing a no-CSS version from the get go. You can't deal with bad CSS implementations if you don't use CSS, black man taps head GIF.)

Wait, I had a bunch of other stuff to work on? Like, other sites, pages, a trip diary, drawings, IT certifications? Ah geez dude.