Millennium Screen Saver for Windows

Version 1.2

by John Walker

Ouroboros and Millennium countdown The Millennium screen saver was inspired by the countdown to the year 2000 which graces computer screens of members of the shadowy Millennium Group in Chris Carter's supernatural thriller Millennium. Fans of the show, or folks who simply wish to lend a mysterious, apocalyptic, chiaroscuro ambience to their computer room may find this screen saver “just what they've seen in a vision”. Within the ouroboros is a countdown of the time remaining until the apocalyptic event of your choice (by default, [Frank] Black Tuesday, January 19th, 2038, when the Unix time() value goes negative and six decades worth of software starts doing crazy things). The image shifts its position on the screen every 10 minutes to avoid burning the phosphor in any given location.

The Millennium Screen Saver is available exclusively for 32-bit Windows systems. If you're still running Windows 3.1, you undoubtedly have an adequate appreciation of apocalyptic events without the need for a screen saver to remind you of exogenous impending doom.

Millennium” and Millennium-related images and sounds are Trademarks and © Copyright 1997 FOX Broadcasting Company and must be used in a manner consistent with the FOX statement of policy regarding fan websites.

Downloading and Installation

Download (Zipped archive, 845 Kb)

After you've downloaded the program archive, extract the files it contains with a suitable archive extract program, then copy it to the directory where screen savers lurk on your system, as follows:

Windows 95/98/Me

copy Millennium.scr c:\windows\system

Windows NT/2000/XP

copy Millennium.scr c:\windows\system32

Just in case, all prior releases remain available.

Downloading and Installing the Millennium Theme

If you'd like the screen saver to be able to play the Millennium theme music when it starts up and when you press the Return key, you need to download an audio (.wav) file containing the theme and install it in the system directory where you copied the screen saver, Millennium.scr. The following link downloads the Millennium theme

If you simply click on this link, your browser will probably download the audio file, play it through your computer's speaker, and promptly discard it. To download the file to your computer, use your browser's “Save link as” or “Save target as” feature, which is usually accessed by clicking the right mouse button over the link (details vary from browser to browser and among different versions of a given browser—consult your browser's help information if you need assistance downloading files).

Millennium Theme Audio File

millenn.wav       44.1 kHz stereo, 8 megabytes.

If you click directly on the link above, your browser may simply play the theme and discard it; right click and save the file to your computer. After downloading the theme file, copy it to the system directory where the screen saver resides (c:\windows\system for Windows 95/98/Me, c:\windows\system32 for Windows NT/2000/XP).


After installing the screen saver, select it by using the Settings item on the Start menu to launch the Control Panel, then use the Display icon to launch the Display Properties panel. Click the Screen Saver tab and click in the Screen Saver drop-down list to display the screen savers installed. If you've copied Millennium.scr into the proper directory, “Millennium” should appear in this list; select it. A small sample display will appear in the monitor window above. Press the Preview button to show the full screen appearance of the screen saver.

You'll probably want to customise the behaviour of the screen saver, particularly the occasions on which it makes noise, to those appropriate to the environment in which you're using it. Click the “Settings” button to display the screen saver's configuration dialogue, as illustrated below. Items in this dialogue are as follows:

Millennium screen saver configuration dialogue
These boxes control which sound, if any, the screen saver makes when it starts. If Play theme is checked, the Millennium theme song is played. This is kind of cool when you first install the screen saver, but it gets old quickly, especially if you've set the screen saver wait to a relatively short interval. Play theme is enabled only if you've downloaded an audio file for the theme and installed it as described above. If Play theme is disabled or not checked, and Chime is checked, the “drum of doom” which punctuates segments in the show sounds instead. (The drum in the screen saver sounds much better than the link above, which was converted to monaural and resampled at a lower rate in the interest of quicker downloading.) If neither box is checked, the screen saver makes no sound upon activation.
Chime at hour
If this box is checked, the two-beat “drum of doom” sounds every hour, on the hour.
Chime at half hour
Checking this box causes a single beat from the drum of doom to herald the half-hour mark.
Chime on exit
If checked, the drum of doom sounds when a keystroke or mouse motion causes the screen saver to terminate.
Show date and time
It's not authentic Millennium Group issue, but nonetheless awfully handy for a screen saver to display the date and time; it avoids “waking up” your computer just to check the time, since you can instead just glance at the screen saver display. If you check this box, the date and time appear in discreet dark blue type above the ouroboros.
Count down to

The original version of this screen saver, released in 1998, counted down the days remaining until Saturday, January 1st, A.D. 2000, the “start of the new millennium” according to conventional wisdom and the Millennium writers, but a check box allowed the user to change the year to 2001 to accommodate those perfectly correct but rather tedious people who insisted that since the first year of the Christian Era was A.D. 1, the new millennium would not begin until the first day of 2001. (Let's not even get into details like the fact that the calendar changed from the Julian to the Gregorian in the midst of the last millennium.)

Now, even if you think there might be something to this spooky retrocausality business, it's still pretty silly to count down to a date in the past!  So, starting with the 2006 release of version 1.2, the default date for the apocalypse has been changed to January 19th, 2038 when, at eight seconds after 3:14 in the morning Universal Time, the time() value in the Unix operating system and a multitude of other software which adopted its convention for date and time will overflow the 32-bit signed integer field which counts seconds since the start of 1970 and go negative. What will happen when software written over a period of more than sixty years suddenly finds itself transtemporally teleported back into December of 1901? Beats me, but it's certain to be an entertaining, if rather nerdy, apocalypse.

But since everyone should be free to choose their own personal doomsday, you can specify any date you wish, your mother-in-law's birthday for example, and the screen saver will count off the days until the dreaded event.

Count today in days remaining
If this box is checked, the current day is included in the count of days remaining before the millennium. If not checked, the count includes only complete days, starting with tomorrow.
Test mode
What will happen when the apocalypse arrives? Dunno, but if you can't stand the wait to see what this screen saver will do, just check this box, click OK, then use the “Preview” button to display the screen saver. It will rush through time at an accelerated rate, showing you what to expect when “The Time Has Come”. Isn't it nice to know there's at least one piece of software on your computer that doesn't contain a “year 2038 bug”?
Image size
By default, the ouroboros and time remaining are sized to fill about 2/3 of the shorter dimension of your monitor's screen. This is comparable to the image seen in Millennium, and small enough to shift position on the screen occasionally to avoid burning in the phosphor (the “prime directive” for a screen saver). If you prefer an image of a different size, enter the size in pixels in this box. If you set the image size larger than the smaller dimension of your display, it will be automatically limited to fit on screen.

Other Millennium-related Sites

What's an ouroboros, anyway?

Ouroboros image 1 Ouroboros image 2
uroboros. Also ouroboros, uroborus. The symbol, usually in the form of a circle, of a snake (or dragon) eating its tail.

The Oxford English Dictionary, Second Edition

The ouroboros is a symbol of renewal, infinity, and the Eternal Return (as in Nietzsche's philosophy and Poincaré's recurrence theorem for systems with finite and bounded phase space).

Other Windows Screen Savers at this Site

Source Code

Experienced C programmers who wish to modify the screen saver or simply look under the hood to see how it works may download the source code. You're welcome to use this source code in any way you like, but absolutely no support is provided—you're entirely on your own. Any use of Millennium-related images and sounds, which are Trademarks and © Copyright 1997 FOX Broadcasting Company must be consistent with the FOX statement of policy regarding fan websites.

In addition to its wretched quality and unrelentingly hostile user interface, version 7 of Microsoft Visual C (Monkey C) introduces an XML file format for the build instructions for a program (“project”), supplanting the Makefile which provided at least a glimmer of hope for portability among development systems. If you're using a different compiler (good for you!), you'll have to manually create a project, import the files into it, and set the configuration options appropriately to build a screen saver. The program should be built as a Win32 application not using (shudder) MFC. You'll probably also have to add scrnsave.lib and winmm.lib to the list of libraries included in the link for all configurations in order to access the screen saver and multimedia (like, audio output—oh wow) APIs.

This process will undoubtedly not work the first time, especially if you're attempting it with a subsequent “improved” release of Monkey C, in which case it make take dozens, nay hundreds, of attempts to accomplish what competently implemented development environments more than twenty years ago routinely did by typing “make”. But hey, why am I telling you this—you're a Windows application developer! You're already acutely aware that it's not only Frank Black who has daily, personal encounters with the very quintessence of evil. This is who we are.

Valid XHTML 1.0
by John Walker

Version 1.0: 28th May MCMXCVIII
Version 1.1: 31st January MIM
Version 1.2: 1st August MMVI