A way to locally simulate modem loading speeds was to open the website from a 3.5’ floppy disk. The data reading speed was comparable, and frankly, both devices were just as noisy.
There was virtually no support for Unicode. To publish websites with Polish diacritics we had to use the ISO-8859-2 encoding. Granted, some (primarily U.S.) websites remain in this era to this day and offer no charset support beyond ASCII.
Laying out elements on a website involved tables—lots of them. They were used to define layout grids and then tables placed inside table cells for subgrids, as needed. The downside was that when the whole page was one big table, most browsers wouldn’t render it until the whole HTML code was downloaded.
Major, free email providers routinely offered 1-2MB of storage. When GMail launched on April 1, 2004, offering 1GB of free storage (by which time other services offered around 15-25MB), most people thought it was an April Fool’s joke.
Netscape Navigator not only existed, but was popular and, by the turn of the century, quite a bit behind Internet Explorer in evolution. One way to create patterned backgrounds was to use CSS background: url(pattern.gif) with a small GIF image (forget PNGs and SVGs)—typically a few pixels width and height. Netscape would melt with such constructs. You could literally see it render the background line by line.
CVS was the only, free way to track source code changes. Every file in it was versioned separately, with a distinct version number. Merges had to be tagged to be able to pinpoint their repository state. And every folder in the local sandbox had a .CVS folder with metadata. Luckily, by the time I learned about the whole technique, SVN was already established.
This post is a work in progress and will remain so, likely indefinitely. Whenever I remember some quirky way of doing things from the past, I will update it with new content. Eventually, if it becomes unwieldy long, I may add sections—perhaps one per decade? Check back in a while to see what’s new.