Settings

Theme

I'm hosting a website on a RAID0 of 30 floppy drives

totallynormalwebsite.ddns.net

290 points by LarryPage 3 years ago · 160 comments (155 loaded)

Reader

Nextgrid 3 years ago

I'd expect the vast majority of IO requests to be served from the kernel's IO cache (we're talking 30 * 1.44MBs here so just under 50MB, trivial for even an old computer to hold in RAM), thus I wouldn't be surprised for it to be very fast and reliable as long as he sticks to read-only workloads - those would never actually touch the floppies beyond the initial read.

  • LarryPageOP 3 years ago

    I did watch -n 1 'sync; echo 3 > /proc/sys/vm/drop_caches' to try and get around it. I think it's working, because boy is it noisy lol

  • tomxor 3 years ago

    Yup, even old computers that booted off floppy drives like the Atari ST and Amiga would often just load the entire data and program into memory, since their memory size was usually larger than the floppy disk. Same for the games, a lot of the loading at the beginning was to do with simply loading the entire disk into memory...

    basically system memory size vs block device size was the opposite way around of today... then again people could and did have many individual floppy disks.

    • Aeolun 3 years ago

      If we take any portable media as the comparison, the largest I know of is 50GB for a blueray disk, that’s still something you can ‘almost’ load into 32gb of memory (if your OS and Teams app didn’t take 16gb of course).

      • genewitch 3 years ago

        i have >100GB blu ray media, and that's writeable. So those exist. My BD-R from 2016 reads them correctly and can write them, so it's not some "recent" thing, except maybe the capability to create the media. I think the largest BD-R available are around 120GB.

        Luckily, the gen 7 tapes are 10-100 times that large, depending on who you ask. Each disk costs approximately $2-$5 as well, assuming you get some sort of discount. Tapes are more, they hold more, but at a certain point having a disc in a jewel case is better than having some tape. bluray drives are easy to find, tape readers, not so much.

      • EvgeniyZh 3 years ago

        I think thumb drives get up to several TB this days

        • Aeolun 3 years ago

          That sounded a bit crazy to me, so I checked.

          I don’t think those are actually several TB. They’re fakes that are advertised as having several TB.

          • semanticist 3 years ago

            MicroSD cards - about the size of a fingernail - absolutely come in sizes up to 1TB, that's not controversial or dodgy brands selling fakes. There's many brands selling cards at 512GB, ten times your BluRay example.

            Portable flash drives using M.2 drives internally could reasonably be up to 8TB, but being at the high end they're expensive.

          • EUROCARE 3 years ago

            Samsung is a reputable brand that makes 256 GB and 512 GB SD cards (EVO Plus) - I have good experience with using it in Raspberry Pi. And "thumb drives" - USB sticks absolutely go into TBs - I'm using a 2 TB one, and I've seen colleagues use bigger. And you can put a modern M.2 NVMe SSD into USB-C casing and it's half the size of an old portable SSD...

          • EvgeniyZh 3 years ago

            Ok maybe not several TB, but 1TB seems legit https://www.bhphotovideo.com/c/product/1701503-REG/lexar_ljd...

          • mcpherrinm 3 years ago

            It’s maybe a bit big to call it a “thumb drive” but I’ve been putting backups on a 2TB usb “portable ssd”. I’ve also got a 256GB thumb drive, which isn’t too far off.

      • genewitch 3 years ago

        if you take a dvd (dvd5 or dvd9 either way) on a linux machine with ~16GB of memory, and you read the entire disk once - say dd if=/dev/sr0 of=/dev/null - the entire thing will be in memory. You can then use whatever tools you want as if you had the disk in memory, and it will never touch the physical device again.

        If i hadn't seen it myself i would have wondered why it wasn't already possible already.

    • treve 3 years ago

      Is this true? This feels hard to imagine that computers would load the entire diskette into memory. Apparently the Atari ST had up to 4MB of RAM.

      I can imagine many programs doing this though.

      • djbusby 3 years ago

        Old systems only ran one program at a time (basically). So boot floppy for OS into RAM, then load program floppy(s). Do the thing, save work to yet another floppy. Close program, maybe have to re-insert an OS floppy (ala MS-DOS). Then new floppy for next program. Only a king a 20MB RLL drive.

      • tomxor 3 years ago

        That's right I owned an Atari STFM with 4MB of RAM.

        As another example You could easily make RAM disks via a desktop menu, to facilitate the common setup of a single built in floppy drive. So you could copy files off into RAM via the GEM desktop GUI (literally drag and drop) and then put another disk in etc.

        Random aside: I accidentally found that this machine would transmit audio over FM radio for a short but very useful range automatically.. blew my mind as a kid. I could never find anything official about this online later so not sure if it was an intentional design, poor EM design of the audio chip, or a hack of my particular 2nd hand franken-tari - either way it was super useful to have wireless audio in the 90s.

        • eurasiantiger 3 years ago

          That’s really interesting, a quick search provided nothing about FM transmission capabilities.

          The ”FM” officially stands for Floppy & (RF) Modulator, but that’s some coincidence that the audio chip emits frequency modulated radio waves at a listenable frequency.

        • vintermann 3 years ago

          RAM disks were surprisingly common on the Amiga (and apparently the high end Ataris as well).

      • yencabulator 3 years ago

        One disk, sure. 30? Well, the parent made a very biased interpretation of history, depending on what one means by "old". I remember running Linux on a 4 MB RAM computer, and how good upgrading to 8 MB felt.

    • aetherspawn 3 years ago

      You can even use mdadm to add a ramdisk as a single disk RAID array with write-through to a physical disk.

      Every time you reboot, it will repair the array.

  • reustle 3 years ago

    If we hit a lot of random sub folder URLs (that should all 404), would that trigger the webserver to check the drive to see if the file exists and skip the cache?

    • jewel 3 years ago

      No. The cache is at the block layer, not the file/directory layer. So the filesystem will look up the directory structure, which will be cached.

      • koverstreet 3 years ago

        Actually, no. There is no general block layer cache - the closest thing is the page cache, which is at the file level.

        • rascul 3 years ago

          Are you the Kent Overstreet working on bcachefs? If so, I've been watching it and looking forward for it to get into the kernel. Keep up the good work. I'll have a donation coming in a little while.

        • yencabulator 3 years ago

          I guess the real question there is, does a directory count as a file for the purposes of this discussion.

          It seems necessary that the blocks storing the directory entries are cached too. Otherwise every non-existent lookup (that doesn't hit a negative dentry) would hit disk, each separately.

          So yeah, the page cache is keyed by file, but the system should still cache the directory structure.

      • asveikau 3 years ago

        On top of the block layer cache there's also the namei cache for filename to inode lookups, I'm not sure if that covers a file not found case or just a success path, but it may apply here too.

        • Vogtinator 3 years ago

          Yep, that's called a "negative dentry".

          • asveikau 3 years ago

            But if a negative dentry does not yet exist, and a filename is requested for the first time, does it read from the fs?

            The DDoS scenario would be doing GET requests of random nonexistent filenames. You could change the name at every step so that the check for a negative dentry is never a cache hit.

            • vocram 3 years ago

              If requesting http paths result in accessing the equivalent fs paths, then yes, you can dos it. But nowadays it’s uncommon for a webserver.

              • asveikau 3 years ago

                Well the point under discussion is that i/o from a floppy disk is slow. Most servers have much faster disks and it'd be absurd to consider this.

                Also the page/buffer cache would probably cache the FAT direntries so probably not a huge issue here.

        • bch 3 years ago

          Still backed by block layer cache for (hopefully) quick response regardless of outcome

          • danachow 3 years ago

            What block layer cache?

            • bch 3 years ago

              I think I was wrong, typed too quickly. There’s (potentially) a file buffer block cache available, but that’s not for caching raw disk blocks, but filesystem blocks of content.

  • rootsudo 3 years ago

    Would it be more fun to run a live cd webserver only? piece together an old computer, with an old live linux installation, and either run it unupdated or patched and carrying updates it can only apply w/o reboot?

    • IntelMiner 3 years ago

      I (briefly) ran an IRC server on a Sega Dreamcast based on the same ideas

    • _joel 3 years ago

      A Knoppix 4 CTF doesn't sound too challenging, tbf mate

      edit: thinking about it, there's some good educational value, but maybe via vm than plopped on the interwebs :D

  • madduci 3 years ago

    It depends on what you mean for 'old'. At the beginning of 90s even 16MBytes were pretty a luxury.

game-of-throws 3 years ago

You're playing with fire using RAID0. If I had data on 30 floppy drives, I'd want at least 20 of them to be parity drives.

  • Retr0id 3 years ago

    Seems like the bitrot is kicking in already. The main JPEG appears to have bitflip errors: http://totallynormalwebsite.ddns.net/megafloppy.jpg

    This is what I get, when I download the full image and convert to PNG: https://i.imgur.com/JF4wtMg.png

    During the conversion (with imagemagick), I get these errors:

      convert: Corrupt JPEG data: premature end of data segment `megafloppy.jpg' @ warning/jpeg.c/JPEGWarningHandler/403.
      convert: Corrupt JPEG data: found marker 0x74 instead of RST1 `megafloppy.jpg' @ warning/jpeg.c/JPEGWarningHandler/403.
      convert: Corrupt JPEG data: 206 extraneous bytes before marker 0xfb `megafloppy.jpg' @ warning/jpeg.c/JPEGWarningHandler/403.
      convert: Corrupt JPEG data: found marker 0xfb instead of RST2 `megafloppy.jpg' @ warning/jpeg.c/JPEGWarningHandler/403.
      convert: Unsupported marker type 0xfb `megafloppy.jpg' @ warning/jpeg.c/JPEGErrorHandler/345.
    
    Looking closer, all bytes between offset 0x115C00 and 0x11F800 have been set to 0xf6, and all bytes from there until 0x11FC00 have been set to 0.

    Bytes from 0x2EFC00 to 0x2F5C00 have been set to 0, followed by 0xf6's all the way until 0x2FFC00.

    I'd be curious to know what failure mode(s) conjured the 0xf6's into existence.

    Edit: Original version is here https://web.archive.org/web/20220715175852if_/http://totally...

    • game-of-throws 3 years ago

      I managed to grab a (hopefully) uncorrupted version somehow. I'm putting it somewhere other than imgur so they don't recompress the image. MD5 d30fcc384a8e2de4fab3056bde42b00b. [EDIT: Removed dead link, use archive.org instead]

      > I'd be curious to know what failure mode(s) conjured the 0xf6's into existence.

      Today's fun fact: The MS-DOS `format` command fills the disk with 0xf6, not 0x00. Though this is linux running on Mac hardware, reading a disk that should have actual data, so maybe that isn't the reason.

      • shakna 3 years ago

        > Today's fun fact: The MS-DOS `format` command fills the disk with 0xf6, not 0x00.

        Another fun fact: That character is ö under Windows-1252, the codepage in use by Windows since about Windows 2.0, and some late MS-DOS.

        • therein 3 years ago

          Wow that explains the öööööööö I remember seeing back in the day when I first ever downloaded a hex editor and opened a drive I had raw.

          • inDigiNeous 3 years ago

            Funny co-incidence, in the Finnish language when you don't know what to say, you can say "Ööh". Data not found.

      • Retr0id 3 years ago

        Perhaps the read head seeked (sought?) to the wrong offset, causing empty blocks to be read.

      • birdyrooster 3 years ago

        The link you gave is deleted.

    • q1w2 3 years ago

      hmm... is it possible to correct those errors? I have some old images with errors, and I've always wondered if it were possible to fix the individual corrupted bytes to restore at least the remainder of the photos.

      • upwardbound 3 years ago

        Yes it's possible, the SpaceX subreddit community did that to recover imagery from one of the early rocket landings which was corrupted due to poor antenna alignment between the transmitter on the landing barge and the remote receiver.

    • kop316 3 years ago

      heh, that's even worse than when I saw it:

      https://i.imgur.com/Z2HwkwY.jpeg

  • _joel 3 years ago

    Just quickly remove some drives and set the write protect slider on them, problem solved, no data loss

    • wahern 3 years ago

      A few years ago I finally bought a USB drive to read an old 3.5" floppy from the late '90s on which I had archived my e-mail messages before moving away to college. I completely forgot about write protection (as well as atime write-backs). I managed to read a surprising amount of data off of the disk, but I think less than if I had remembered to write-protect the disk before inserting it into the drive. The files were in mbox format, probably from Eudora, but possibly Pine. As is my habit, I first poked around with ls and less before copying the files over, and I'm pretty sure I ended up with more corruption than what I first saw with less.

      Oh well. The irony is that to this day I have a tick of idly running `sync` at the command prompt, which I developed dealing with floppy and hard disk corruption running early versions of Linux. A crash or (IIRC) even a simple reboot sometimes resulted in disk corruption preventing Linux from booting. Reinstalling Slackware from floppy disks took quite awhile on its own, especially if installing the X11 disk sets, but half the time at least one of the disks would be corrupted, requiring me to download a fresh copy (using Windows--I was dual booting) over my 2400 baud modem, and then restarting the install from scratch. I probably went through this procedure at least a half dozen times, or at least enough to develop the tick. It was the best of times, it was the worst of times.... =)

      • kjellsbells 3 years ago

        So rare to see ppl writing about sync.

        sync;sync;halt was once a legit way to shut down ;)

        • yencabulator 3 years ago

          There was a time when the sync CLI exited before the work was done, so you actually didn't want sync;sync;halt, typing it as separate commands gave it the right amount of time to complete.

        • aldrich 3 years ago

          Or maybe three times sync;sync;sync just to make sure :)

          • znpy 3 years ago

            I know of a company whose sysadmins still put sync;sync;sync in the scripts they deploy on customers’ machines… just because “you never know”.

        • ericbarrett 3 years ago

          Don't forget to park the hard drive heads!

    • drewzero1 3 years ago

      Oh that write protect could prevent wear and tear!

  • muhammadusman 3 years ago

    that's the point, RAID0 is for speed only

    • Maursault 3 years ago

      > RAID0 is for speed only

      In this case, the theoretical maximum bandwidth is 24MBit/s.

      The problem is the old, slow usb bottleneck. I'm not sure how much faster, probably hundreds of bps rather than under 24, but a faster RAID0 rig would be to instead have 30x Mac G4 Digital Audios connected via gigabit switch, and share then RAID0 the internal floppies. It would also have whatever advantage running an XGrid PPC cluster on Tiger might provide. These boxes also ran PPC Ubuntu; no doubt Linux would eek out a dozen or so more bps, plus beowulf.

      • VLM 3 years ago

        I don't know about that BW claim. Back when mp3 was new and computers usually had floppy drives I did the obvious and mp3 bitrates above 64K or so tended to stutter and significantly below 64K did not stutter.

        Something like voice encoded at 32K sounded at least as good as a phone and played back off a 1.44 floppy and IIRC that was about the best that could be done.

        You will probably be surprised how long an audio recording can be, if its voice at a low rate on one floppy. If you go variable bit rate and silence detection I subjectively remember "ten minutes" was quite reasonable on a 1.44 disk.

        Extrapolating from historical experience, thirty or so in parallel should push over half a meg/sec quite reliably.

        If you record speech onto a floppy drive off a cheap mic you'll record the sound of the floppy in the recording, which is funny to me.

        I wish I still had those files. Useless, of course, but would be funny.

hardwaresofton 3 years ago

This is awesome. I already have some suggestions:

- Put a bird^H^H ZFS on it

- Switch to RAID10 (a stripe of mirrors), and go 2/3 floppys wide so you can have some redundancy in each mirror gropu

- Get some Pis (or other SBCs) and hook those up and run Ceph... if this keeps going we'll have a SAN soon enough.

- ZIP disks?[0]

Also, I don't think I ever want to hear of the "hug of death" for any site ever again -- I don't think this site hosted on 30 floppies was hugged to death.

[0]: https://en.wikipedia.org/wiki/Zip_drive

ryanmarr 3 years ago

I've got a Power Mac G5 sitting right beside me if someone else wants to buy it and get into this G5 floppy website business.

AnnikaL 3 years ago

See also: his video about RAIDs of floppy drives (https://www.youtube.com/watch?v=1hc52_PWeU8).

  • dylan604 3 years ago

    Were the "power my car" and "shingle my roof" bits funny? Is this the level of YT videos to get likes?

    • LarryPageOP 3 years ago

      I just do whatever I want

      • dylan604 3 years ago

        That's fine, but being a social platform, I assume everyone is a caricature of themselves. Other creators have discussed here the near moronic poster/thumb images getting more clicks vs less overly dramatic versions. So at this point, I assume that the closer to a program that would fit in Idiocracy television programming is the ultimate goal to get those precious likes.

    • Ayesh 3 years ago

      Yeah those two parts, and those forced laughs came out a bit sour to me too, but it was entertaining watch nonetheless.

throwaway742 3 years ago

https://web.archive.org/web/20220715175852if_/http://totally...

layer8 3 years ago

Let’s coordinate our web accesses so that it sounds like Floppotron playing the Imperial March.

h2odragon 3 years ago

turn off the error reporting so you get whats read rather than an error interrupt and watch the bitrot. Never did that in linux but it wouldn't surprise me if its a driver option.

IncRnd 3 years ago

https://archive.ph/OzYfT

a_c 3 years ago

Well, did we just hug it to death? Hope the floppies are doing fine... Look forward to an update

dcambie 3 years ago

Interesting stats at http://totallynormalwebsite.ddns.net/server-status

mikedelago 3 years ago

There's an accompanying video as well:

https://www.youtube.com/watch?v=1hc52_PWeU8

geerlingguy 3 years ago

Today there's a follow-up video: https://youtu.be/PGWpGMrroi8

GekkePrutser 3 years ago

I'm surprised this actually still works. As far as I remember those floppies were super unreliable.

Though this may have been caused by me being in school and having to buy crappy white label ones. Couldn't afford those fancy imation ones with all the games I copied lol.

deelowe 3 years ago

Not anymore!

hk1337 3 years ago

That has to be one noisy room.

CodeWriter23 3 years ago

For my next trick, a website hosted on a RAID0 Array of 60 RAM Disks.

  • zepearl 3 years ago

    We need details - what about ECC yes/no + un/buffered + raid tech (mdadm/zfs/hardware X/...)?

    Nothing is simple :D

tablespoon 3 years ago

This looks like it's a page about a related project, and has a video of the RAID in action: https://hackaday.com/2022/06/30/its-raid-with-floppy-drives/

fsiefken 3 years ago

i'd be also interested in hosting a website on 1 floppy drive, including OS. https://bits.p1x.in/floppinux-an-embedded-linux-on-a-single-...

shortformblog 3 years ago

Sean rules and this may be his craziest experiment yet. That’s all.

bennyp101 3 years ago

The parcel tape holding bits together is just chefs kiss

lostgame 3 years ago

Hahaha, not for long; not on the front page of HN…I can see it’s got the old ‘Hug of Death’, but I’m curious to how long it lasted and how loud the result was.

UberFly 3 years ago

I'm guessing the floppies are melting right about now.

iasay 3 years ago

I can hear that dying from here.

Anyone want to try RAID0 on QIC tapes?

dpedu 3 years ago

How much power do the floppy drives draw? I can't decide if it would be more or less than 30 period hard drives.

DontchaKnowit 3 years ago

project is awesome.

Also-

Tell me you're into Chiodos without telling me you're into Chiodos.

Big ol dose of nostalgia listening to your old metalcore tracks.

  • justbaker 3 years ago

    That was one of my favorite bands as a kid, looooved All's Well That Ends Well.

eimrine 3 years ago

So fast website, is it possible to shrink it to one floppy for seeing some slowingness?

lizardactivist 3 years ago

I can't even imagine what defragmenting that file-system would sound like.

ISL 3 years ago

This is amazing. Website exceeded the high expectations set by the title.

AddingValue 3 years ago

Well guess not anymore, because the article is down?

pulketo 3 years ago

I wish I have a dumb idea someday... And win some money

random_savv 3 years ago

Interesting user name

FesterCluck 3 years ago

Totally dig the track, brings back memories.

Zachsa999 3 years ago

Site seems to be really slow currently.

la64710 3 years ago

5.1/4 inch or 3.5 inch ones?

Pakdef 3 years ago

LoL is all I can think of

tolstoshev 3 years ago

The song's not bad!

notnmeyer 3 years ago

all i want to do is see this site :(

> Server uptime: 20 seconds

> Server load: 157.41 158.15 155.66

oh

  • Titan2189 3 years ago

    Where did you get that information from? I tried loading the site multiple times, but it times out / exhausted my patience

mbfg 3 years ago

and..... the most unsurprising thing ever.....

aliqot 3 years ago

pause on the audio doesnt work.

anaganisk 3 years ago

Imagine a floppy disk based old server surviving “Hug of deaths” while the latest react based static website hosted on Kubernetes for infinite scalability on baremetal dies in like 5 sec.

  • fny 3 years ago

    Imagine indeed. This has been suffocated already it seems. Images can't even finish loading.

    • p4bl0 3 years ago

      Images do not fully load but here I am 35 minutes after you and the website still responds. That's already better than many.

    • anaganisk 3 years ago

      It stayed alive as long it could start going black carbon, much longer than others I think.

  • murukesh_s 3 years ago

    The blame would be on baremetal server. They would move to AWS with multi region EKS clusters and RDS with cross-region disaster recovery. And a multi-cloud strategy is also in place..

    • anaganisk 3 years ago

      And edge caching on cloudflare or cloudfront.

      • turdnagel 3 years ago

        Well, edge caching would almost certainly be enough with a decently high TTL. You don't need all that other junk :)

mmh0000 3 years ago

I've corrected the title: "I was hosting a website on a RAID0 of 30 floppy drives — now my house is on fire"

MikeAshley178 3 years ago

Wonder how long until I can ruin it with Python and Requests.

P.S I am not going to and I am drunk.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection