jwz [entries|archive|friends|userinfo]
jwz

  www.jwz.org
  userinfo
  archive
  rss

Links
[»| DNA (Log) (iCal) WebCollage (LJ) Mixtapes ]

Happy Run Some Old Web Browsers Day! [Mon, 31-Mar-2008 1:06 AM]
[Tags|, , , , ]
[music |Gang of Four -- History's Bunk]

Happy Run Some Old Web Browsers Day!

In honor of the ten year anniversary of the Mozilla project, home.mcom.com, the Internet Web Site of the Mosaic Communications Corporation, is now back online.

It took some doing. There is comedy.

First, the fun stuff:

  • Until now, home.mcom.com and all URLs under it just redirected to netscape.com, then redirected a dozen more times before taking you to some AOL portal page. The old URLs that were baked into the toolbar buttons of the original web browsers didn't work any more. But now, if you fire up a copy of Mosaic Netscape 0.9, and click on the various toolbar buttons, they will work again! For example, in the old browsers, when you clicked on the "What's New" toolbar button, it went here.

  • home.mcom.com is now a snapshot of that web site from 21-Oct-1994.

  • mosaic.mcom.com is now a snapshot of that web site from July 1994. That's from just after the company was announced, but before the first browser beta was released. I think that by Oct 1994, both mosaic.mcom.com and www.mcom.com were redirects to home.mcom.com, but I can't remember any more.

  • In order to make these web sites work in the old browsers, it was necessary to host them specially. In this modern world, a single server will typically host multiple web sites from a single IP address. This works because modern web browsers send a "Host" header saying which site they're actually looking for. Old web browsers didn't do that: if you wanted to host a dozen sites on a single server, that server had to have a dozen IP addresses, one for each site. So these sites have dedicated addresses!

    The web server also had to be configured to not send a "charset" parameter on the "Content-Type" header, because the old browsers didn't know what to make of that.

  • Trivia Question #1: Do you remember why home1.mcom.com through home32.mcom.com exist?

  • Trivia Question #2: Do you remember the behavioral difference the browsers exhibited when they were talking to a Netscape web server?

  • Trivia Question #3: When was the <HYPE> tag implemented, and what was its origin?

  • I had originally planned on re-hosting these web sites on an SGI Indy running Mosaic Netsite Commerce Server, just for maximal comedic value... and to see how long it took before someone Øwned it, since there must be someone out there who still remembers how to launch an assault on Irix 5.3. Unfortunately, that wasn't possible for political reasons explained below.

Trivia Answers:

  1. home1.mcom.com through home32.mcom.com exist because the early browsers did client-side load-balancing: the browser itself had a special case where if it was loading "home.mcom.com" it would actually pick a random number from 1 to 32 and instead load "homeN.mcom.com"! Those were physically different servers in the Netscape data center.

  2. When loading pages from a Netscape server, the caption next to the URL field in the browser would change from "Location" to "Netsite".

  3. Not telling.

Enough about all that, I want to run some old browsers!

  • My personal collection of old Netscape browsers is here: www.mcom.com/archives/. It's not complete, but it's all that I could find. (It is missing some key releases, such as Netscape 0.4 for Irix, which was the first release to ever leave the building; and the "non-exportable"-crypto versions of almost all of them.)

    If you can publicly mirror these, please do! I know of a few mirrors so far: edlang.org, nothings.org, fauxpaw.com, and moar.jp. Torrents, anyone?

  • Linux users: You can run Mosaic Netscape binaries as old as 0.93 on modern Linux systems! You need to load the "a.out" module in the kernel, and install some really old libraries:

    Since pulling all those files out is kind of a pain, I've put together a tarball: netscape-linux-libs.tar.gz. Unpack it in your root directory. It shouldn't conflict with anything modern. I've tested that on Red Hat 9 and Ubuntu 7.10.

  • Mac users: If you're using a modern Mac, you need to use an emulator.

    • Download BasiliskII from Gwenole's site. Note: there are apparently a number of projects that call themselves "BasiliskII 1.0", but the one linked here seems to be the only one that actually works.

    • Download Quad650.zip and MacStartup.img from Redundant Robot (a Mac ROM and disk image of MacOS 7.5.5).

    • Launch "BasiliskIIGUI". Under "Volumes", add "MacStartup.img", and point "Unix Root" at your desktop or something (so that you can transfer the old Netscape installers into the emulator).

    • Under "Network", set Ethernet to "slirp".

    • Under "Memory", set model to "Quadra", CPU to 68040, and ROM file to the (unzipped) Quadra ROM. Turn on JIT. Set your screen size to something sane.

    • Start the emulator, launch "StuffIt Expander" and unpack the "netscape1_0.sea.hqx" file. (You can't just double-click it.)

    • Launch the "netscape1_0.sea" self-extracting archive. And you're in business!

    • But, if you want to run 0.9, you'll have to set your (real) system clock back to 1994 to get around the time-bomb. (0.93 and later don't have a time bomb.)

  • Once you've got those old browsers running, you'll find that they're working fine with the mcom.com web sites, but they fail on just about every other web site in the world (for the "Host" header reason I described above).

    I have a fix for that!

    I wrote a small proxy server that bidirectionally translates the HTTP/1.0 protocol spoken by old web browsers to the HTTP/1.1 protocol spoken on the modern web. Download and run http10proxy.pl. (You may need to install the Net::Server::Fork Perl module first.) Then, go into the preferences on your ancient browser and set "HTTP Proxy" to localhost, port 8228. This will adjust outgoing Host headers as well as incoming Content-Type headers.

What Was That About Politics?

    When I heard that AOL was shutting down their Netscape division for good, I mailed a contact there and asked if they'd transfer the mcom.com domain to me, so that I could resurrect these web sites to make the old browsers work right.

    My contact asked around, and much to my surprise, the answer was yes! Wheels were put in motion, AOL's operations folks removed their dependencies on those domains (no idea what those were!) and the domains were about to be transfered... when...

    AOL Chief IP Counsel and Time Warner blocked it.

    Why?

    Because their lawyers determined that, because mcom.com is ten years old and four letters long, they could make several hundred thousand dollars by simply putting it on the market and selling it to a spammer!

    And so they began the process of doing exactly that.

    Fortunately, my contact (who prefers to remain anonymous) talked them out of this, pointing out that it would be perhaps not the best PR move. But still, they wouldn't transfer it to me. AOL still owns the domains. However, they were willing to host the old Netscape content there, at least for now.

    So, thank you to my anonymous contact for all the help! And thank you to AOL for hosting these historic web pages. And for not (yet?) selling the domain to a spammer.

link80 comments   ·   post comment

[info]dnalounge update [Sun, 9-Mar-2008 5:49 AM]
[Tags|, , ]
[music |The Pixies -- Wave of Mutilation]

DNA Lounge update wherein I admit defeat in re this crap.

link36 comments   ·   post comment

Stupid Linux Crap! [Thu, 6-Mar-2008 12:40 AM]
[Tags|, , , ]
[music |Ketchup Mania -- Namida Vacuum Sound]

Hey kids! It's been a while since I've posted questions about stupid Linux crap! That's because I've been ignoring Linux for a very, very long time.

Well, I decided (for a number of individually not very good reasons that, in my head, seemed to add up) to try and upgrade the OS on the DNA Lounge kiosks.

Dear Lazyweb... --More--(13%)  )

link35 comments   ·   post comment

XScreenSaver 5.05 [Sat, 1-Mar-2008 9:45 PM]
[Tags|, , , ]
[music |Brassy -- Everything You Need]

XScreenSaver 5.05 out now. Two and a half new savers this time, and a bunch of bug fixes (I hope).

link4 comments   ·   post comment

can it, in fact, sink? [Wed, 6-Feb-2008 1:47 PM]
[Tags|, , ]
[music |Submerged -- Last Gasp of the Shitbat]

I find this message hilarious* in several ways.

(Did you know usenet still existed? Wacky. I'm tempted to tag this with "retrocomputing" on that basis alone.)

From: Moshe Goldfarb <brick.n.st...@gmail.com>
Newsgroups: comp.os.linux.advocacy
Subject: Re: Gnome-screensaver ... nice touch
Date: Wed, 6 Feb 2008 14:38:14 -0500

On Wed, 06 Feb 2008 04:31:51 +0000, [H]omer wrote:

> Usually I just stick with xscreensaver,

Yawwn.......
Is this what Linux advocacy has sunk to?
Don't you guys have anything more interesting to talk about than patents and screen savers?

--
Moshe Goldfarb
Collector of soaps from around the globe.
Please visit The Hall of Linux Idiots:
http://linuxidiots.blogspot.com/

* Where by "hilarious" I mean "mildly amusing".

link25 comments   ·   post comment

XScreenSaver 5.04 [Tue, 13-Nov-2007 12:47 AM]
[Tags|, , , ]
[music |Rogue Traders -- Watching You]

XScreenSaver 5.04 out now. Three and a half new savers this time.


The OSX binaries were built on 10.5 but should work fine on 10.4.

link5 comments   ·   post comment

streaming a playlist with metadata [Sat, 20-Oct-2007 2:04 AM]
[Tags|, , , ]
[music |Bell Hollow -- Secret Key]

Dear Lazyweb, I seek software that does the following:

  • I give it an ordered list of MP3 files.
  • When a user loads some URL in (e.g.) iTunes, those files are streamed out, one after another, with appropriate metadata (extracted from underlying ID3 tags) sent just as each file starts.
  • When the user connects, it starts playing at the beginning of file #1 for each user. (As opposed to multicast-style, where all users get whatever's-on-right-now at the same time.)
  • The underlying individual files themselves should not be accessible.

I don't think I can make Icecast2 do this, nor Apache::MP3. But maybe I'm wrong.

Failing that, can someone explain to me what asynchronous streaming metadata format iTunes actually understands, and what headers/protocol it requires? It doesn't appear to do the "icy-metaint" thing; does that mean it does the UDP thing? I don't see headers being exchanged for either; and yet, it seems to update metadata somehow. Please don't make me run a packet sniffer. I hate that.

Update: Nevermind, I wrote my own.

link9 comments   ·   post comment

XScreenSaver 5.03 [Tue, 17-Jul-2007 3:10 AM]
[Tags|, , , , ]
[music |The March Violets -- Snake Dance]

XScreenSaver 5.03 out now. Four new savers; two by me, two by others:


Incidentally, this week I have reached another milestone. I have two computers at home: one is a (headless) mail server, and the other is my iMac desktop. The server was a Linux box until a few days ago when either its power supply or mobo died.

I meditated on this, and came to the conclusion that it was worth several hundred dollars to me to not have to fuck around with the PC hardware dance again, so I replaced it with a Mac Mini. This means there are now no Linux machines in my house*, and even at work, I no longer have any Linux machines that have video cards in them**, which is as it should be.

So, if this release doesn't work on Linux... uh, that's why.

except Tivo, which doesn't count.
** except the kiosks, which almost don't count. (Ha.)

link14 comments   ·   post comment

Dali Clock 2.24 out now [Sat, 28-Apr-2007 10:59 PM]
[Tags|, , , , , ]
[music |Cop Shoot Cop -- All the Clocks are Broken]

Dali Clock 2.24 out now for MacOS 10.4, PalmOS, and X11. This release includes a MacOS screen saver version of the clock, and there are a few minor display-glitch fixes to the PalmOS version. Also the PalmOS version has a color application icon now, ooooooh.

So, I tried to add a preference to the Mac version to let you hide the dock icon, but I couldn't make that work... )

link9 comments   ·   post comment

XScreenSaver 5.02 [Fri, 20-Apr-2007 9:12 PM]
[Tags|, , , ]
[music |Propellerheads -- Take California]

XScreenSaver 5.02 out now.

link14 comments   ·   post comment

SELinux [Thu, 30-Nov-2006 2:16 PM]
[Tags|, ]
[music |White Zombie -- Grease Paint and Monkey Brains]

Just for the record: SELinux can lick my sweaty balls.

I mean seriously. This is the biggest, most uselessly time-wasting piece of shit since the last time they rewrote the firewall code from scratch.

link28 comments   ·   post comment

xscreensaver 5.01 out now [Mon, 18-Sep-2006 8:03 PM]
[Tags|, , , ]
[music |The Prids -- All Apart and No Fall]

XScreensaver 5.01. Mostly minor bug fixes this time.

link10 comments   ·   post comment

xscreensaver 5.00 released [Tue, 23-May-2006 4:40 PM]
[Tags|, , , ]
[music |Low Pop Suicide -- Your God Can't Feel My Pain]

Stick a fork in it: I hereby declare XScreenSaver 5.00 to be good enough.

link26 comments   ·   post comment

XScreenSaver 5.00b5 [Wed, 17-May-2006 5:55 PM]
[Tags|, , , ]
[music |Metric -- Wet Blanket]

XScreenSaver 5.00b5 out now. This is likely the last beta release before the real thing. X11 users, please test: I've integrated a bunch of patches from the Fedora and Debian folks.

I've had a report that the MacOS version of xanalogtv is crashing when trying to load images, but it works for me. Anyone?

Since the last beta:

  • New hacks, topblock and glschool.
  • xmatrix -mode pipe displays the text of a subprocess.
  • endgame has higher resolution chess-piece models.
  • webcollage takes a -directory option to get images from a local directory.
  • The RPM spec file no longer auto-restarts xscreensaver when a new version is installed. Restart it manually.
link3 comments   ·   post comment

xscreensaver [Mon, 15-May-2006 2:33 PM]
[Tags|, , , ]
[music |Ladytron -- Cracked LCD]

I think the fact that I just can't bring myself to care about working on any of the remaining things on the xscreensaver todo list probably means that I ought to just release it. Though [info]brad says I should just leave it in beta forever, since that's the Web Two Point Oh Way.

If one of you massochists out there wanted to download a copy of xlockmore and see if there are any interesting changes in any of the savers that exist in both, that'd be nice. (This would also be one of those tasks that I will never, ever get around to.)

link5 comments   ·   post comment

XScreenSaver 5.00b4 [Mon, 24-Apr-2006 4:19 AM]
[Tags|, , , , ]
[music |Daisy Chainsaw -- Natural Man]

XScreenSaver 5.00b4 out now.

  • Should be somewhat faster than 5.00b3.
  • All the savers should work properly on both PPC and Intel Macs.

Please let me know if you find either of those to not be the case.

See todo.

I think this is getting really close to being called a non-beta release, since at this point I'm not sure I'm not sure I'm going to be able to make any further headway on performance. I'm pretty much out of ideas on that front, short of "throw away most of the work I've done so far, and re-implement Xlib in terms of OpenGL instead of in terms of Quartz". Which, as you may imagine, I'm not particularly eager to do.


The reason it works on Intel Macs is that Apple finally replaced my busted iMac, and the replacement is an Intel Core Duo. And it is OMG fast! Seriously, it seems like compilations are around 2.5× faster than before, and all the screen savers run way faster too (so there goes any hope of having decent xscreensaver performance on slow machines, since I won't even be able to tell there's a problem any more...)

The one exception to this speed-up is, of course, Photoshop. Photoshop is a fucking dog, since Adobe still hasn't released an Intel build of CS2, meaning it runs in the PPC emulator. It feels like it's running at 75% to 50% of the speed it ran on my PPC iMac, and it uses a truly gargantuan amount of memory. Like, after editing a dozen pictures, closing them all, and hiding Photoshop, minutes later it was still consuming 6% CPU and almost 1.5 GB RAM.

So if you use Photoshop more than XCode or other Apple-provided software, I'd say stay the hell away from the Intel machines until Adobe gets their shit together.

link23 comments   ·   post comment

XScreenSaver 5.00b3 [Thu, 6-Apr-2006 2:41 AM]
[Tags|, , , ]
[music |The Dresden Dolls -- Mandy Goes to Med School]

XScreenSaver 5.00b3 out now.

  • Should be a lot faster. (It needs to be faster still, but it's much better.)
  • Crashes in CGBitmapContextCreate should be gone.
  • Sonar can ping! Turns out DGRAM ICMP works unprivileged on OSX.

See todo.

link1 comment   ·   post comment

XScreenSaver 5.00b2 [Sat, 1-Apr-2006 1:57 AM]
[Tags|, , , ]
[music |The Cure -- Screw]

XScreenSaver 5.00b2 out now (the "is this a joke?" release).

As usual, see the todo list for the stuff I could still use help with. E.g.:

  • Several people have reported than the savers that use Pixmaps (e.g., Pacman) die with this error:
    CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 8 bits/pixel; 1-component colorspace; kCGImageAlphaNone.
    This has been reported on both PPC and Intel, 32 bit and 16 bit screen depth. Why would it be impossible to make an 8-bit-deep grayscale bitmap context on some systems and not others? Needless to say, it works fine on my iMac in all bit-depths.

  • Someone explain to me what I'm doing wrong with NSMatrix and the radio buttons already.
link2 comments   ·   post comment

XScreenSaver 5.00b1 [Wed, 29-Mar-2006 3:33 AM]
[Tags|, , , ]
[music |New Order -- Face Up]

I've decided it deserves to be called a "beta" instead of an "alpha" now. Whee. And I've updated the XScreenSaver Web Superstore to acknowledge that there are now both MacOS and X11 versions. Let me know if all that sounds sensible (the audience has changed a lot, after all). Get source and binary from the Download page. And as always, the todo list is the stuff I'm still begging for help with.

link20 comments   ·   post comment

XScreenSaver 5.00a13 [Mon, 27-Mar-2006 9:51 PM]
[Tags|, , , ]
[music |Morphine -- Hanging on a Curtain]

Come and get it:

There is a memory corruption bug in image loading that I have been beating my head against for days, and have so far been unable to track down. If you have a Mac development environment, please help me figure out where it's going wrong...

    Some of the image-displaying savers will run for a little while, but most of them blow up immediately in some nonsensical place. Maybe the autorelease pool is getting corrupted? I've tried everything I know (MallocDebug, the various $Malloc* env. vars), and I've gotten nowhere.

    It probably has something to do with waiting for the result of a pipe, because the problem goes away if the "#if 0" is changed to "#if 1" in grabclient.c: osx_load_image_file_async() to make all images load synchronously instead of asynchronously. Perhaps this implicates jwxyz-timers.m, though I've stared at that code quite a bit.

    Update: I think this is fixed now. Thanks, [info]zetawoof!

Other things that I'm still stuck on, and that I still haven't gotten any happy LazyWeb action on:

  • Why do none of my .saver bundles show up with a custom icon in the Finder, even though CFBundleIconFile=XScreenSaver in Contents/Info.plist, and Contents/Resources/XScreenSaver.icns exists?

  • Why is this getting logged every time you hit OK in the preferences dialog:
    "SaverTester[]: ScreenSaverDefaults does not respond to volatileDomainForName:"

  • If you delete all the text in a preferences text field (e.g., in sonar), this happens after hitting OK:
    NSRunLoop ignoring exception '-[NSCFDictionary setObject:forKey:]: attempt to insert nil value' that raised during posting of delayed perform with target 3d9ea0 and selector 'invokeWithTarget:'

  • Assertion failures seem to result in the program just hanging (in the event loop, with the screen perma-blanked). How do I make them cause the program to exit instead?

  • The image-generation preferences aren't displaying quite right; the radio-buttons don't come up selected by default, and the labels are wrong. Basically, I can't figure out how to use NSMatrix properly. (Code is in OSX/XScreenSaverConfigSheet.m: make_text_controls().)

  • The "Text File", "URL", and "Choose Random Image" fields in preferences should probably be spin-boxes that remember all previous entries into those fields in any of the screen savers. I don't know how to do either part of that.

  • When the "Image Directory" preference is long, the field displays the first part of the string; it should scroll to display the last part instead. I tried a few things, but I can't figure out how to do that.
link19 comments   ·   post comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]