
“I would like to maintain the floppy driver” - doener
https://lore.kernel.org/lkml/57af5f3e-9cfe-b6d8-314c-f59855408cd5@linux.com/
======
iforgotpassword
It's amazing how some parts of the kernel barely get maintained explicitly. A
year or two ago I was digging through the block driver subsystem and at some
point took a look at the loop device as a simple reference. I learned that it
supports encryption, because that was actually the only way to implement
encrypted volumes about 15 years ago. Dmcrypt didn't exist yet. I would be
surprised if anyone still uses that feature, yet nobody bothered removing it.
Loop is mostly ever touched if anything changes in the block layer. It was the
first block device to be switched over to multi queue though, most likely due
to its simplicity. Which is most likely also the reason nobody bothers
becoming the official maintainer.

~~~
dev_dull
This is actually not unusual in nature. Complex systems become more complex
over time and resist becoming simpler. One day they instantly become simple
again (collapse).

~~~
BRAlNlAC
I like this, I even wish it had a name because I have observed it frequently,
but upon some reflection it really only seems to be the product of certain
organized situations and perhaps even just an artifact of our own pattern
recognition. Are these new collapsed systems really less complex or just
easier for our brains to think about? Natural(chaotic) systems certainly don’t
seem to follow that logic unless I’m mistaken. Thinking of a river system, it
seems that it is just in a state of flux, making little wins across the system
all the time, but also becoming more complex due to inputs. If we consider a
star system I have trouble identifying how the system doesn’t become
permanently less complex as energy is radiated away over time. (Although I’m
clueless on how to actually model either sort of complexity appropriately)

That said, it appears to me that as soon as we start to tread against entropy
we might notice this phenomenon cropping up. Life seems to “collapse” on new
designs and human understanding too seems to collapse, but in both cases it
seems that only the system complexity collapses, not the entity complexity. I
think that the collapse of the complexity of the surrounding system is the
result of outside stimulus causing additional entity complexity to be added to
the total complexity. In a stable, complex, system this has the potential for
massive system destabilization, but it is not certain and it doesn’t seem to
be the nature of complex system themselves to inherently collapse on less
complex states, rather it is the result of stimulus. Moreover, if we look at
total complexity, does it really become less complex or does the complexity
just shift from the system to the entity?

~~~
cpeterso
Hyrum's Law: "With a sufficient number of users of an API, it does not matter
what you promise in the contract: all observable behaviors of your system will
be depended on by somebody."

[http://www.hyrumslaw.com/](http://www.hyrumslaw.com/)

~~~
Too
[https://xkcd.com/1172/](https://xkcd.com/1172/)

------
rconti
I'm cleaning out my wife's 2008 Subaru in preparation to sell it.

In the door pockets, I have found a protractor, a 3.5" floppy disk, and a
cassette tape.

All of these things were outdated when the car was new (well, except the
protractor, but I still find it funny. She was well out of school when she got
the car.)

The car came with a CD player.

I have no idea what's on the floppy.

~~~
gregwtmtno
Interestingly enough, my 2019 Subaru came with a CD player. I doubt it will
ever be used.

~~~
wrycoder
There are dash mounts for mobile phones that key into the CD slot. Works great
on my Subaru. The latest ones have integral wireless charging and motorized
grippers (!).

~~~
anon4242
So finally the CD tray is the cup holder we always knew it to be...

------
gumby
I love the fact that the device most people think of as a "floppy" disk isn't
even floppy -- by the time removable-spinning-media-in-a-sleeve became truly
mainstream the drive itself had gone back to being rigid.

So the word "floppy" was itself vestigial.

~~~
derefr
The sleeves are rigid; but the _disk_ (of ferrite-dusted plastic) is still
floppy.

~~~
pletnes
You kids! It’s called a floppy _drive_. Back in the day, not even the drives
were rigid.

~~~
sslayer
the 5 1/4" ones were all floppy!

~~~
imglorp
As were the 8" hard sectored diskettes. Don't forget the write-protect notch.

~~~
PopeDotNinja
> Don't forget the write-protect notch.

And don't forget you can notch each side for double the storage!

~~~
tom_
May not be a great idea:
[https://stardot.org.uk/forums/viewtopic.php?f=9&t=15189#p204...](https://stardot.org.uk/forums/viewtopic.php?f=9&t=15189#p204750)

```just a word of warning, copy everything off them [commercially-available
flippable 5.25" BBC Micro disks] quick, as the 'side2' goes backwards to the
cotton cloth cleaner inside the 5 1/4" case, so basically all the crap caught
in it then end up coming out when playing other flip side :('''

(No idea how common this phenomenon might have been! - I've always had double-
sided drives, so I've always used the other side of the disk in the normal
fashion.)

~~~
xxs
The 1st thing you do on apple II diskettes (5.25") was using a scissors to
allow the other side to be writable as well. No exceptions (alternatively you
just break the plastic switch that tells if there is copy-write protection, on
the floppy driver, itself)

I have taken the floppy out of the sleeves to dry them out as the entirety of
my collection fell in the aquarium.

------
anfractuosity
That's cool, I think it'd be shame for it to remain unmaintained given that
there must be a lot of legacy software on floppy disks. (I understand there
are tools that provide a USB interface though)

I recently bought a PC104 board, specifically so that I can use the floppy
disk interface, for 5.25 and 3.5 floppy disk drives.

~~~
aidenn0
Most of my floppy disks are badly corrupted; IIRC data on them is considered
to have a lifetime of about 10 years. That being said, my 360k and 720k 3.5"
floppies seem to work considerably better than my 1.44MB 3.5" floppies even
though they are quite a bit older. Not sure if it's because of cheapening of
production or just the higher density of data.

~~~
anfractuosity
Darn that's a shame. I wonder if you could retrieve some of the data using
hardware like kryoflux.

~~~
cortesoft
I actually just replied to the person suggesting kryoflux... I was able to
recover most of my seeming corrupted disks using kryoflux and a bunch of
different floppy drives... different drives were able to read different
sectors, which lead me to be able to recover the entire image.

~~~
anfractuosity
That's really cool to hear :)

Also interesting that you used different drives to achieve that too, I wonder
why different drives could read different sectors. Possibly the pickup coil of
the read head was slightly different size maybe? Or the stepper motor aligns
the head to slightly different positions of the track?

~~~
cortesoft
Not exactly sure. Those were some of my theories, too.

------
CaptainMarvel
Shouldn’t the floppy driver be incredibly stable code after all these years?
It’s surely in maintenance mode rather than feature development, and surely
all the bugs have been ironed out by now!

~~~
rosser
Maintaining that kind of code is often less about dealing with lingering bugs,
than it is about making sure that it's kept in sync with changes to the rest
of the kernel that might be relevant. If some kernel structure that the FDD
driver uses changes, it needs to know that.

EDIT: Phrasing

~~~
ergothus
> about making sure that it's kept in sync with changes to the rest

At one of my workplaces we had an application that was without a formal
supporter and everyone hated to touch it. After I was assigned to dive in to
fix a bug, I did a study of how it got that way. I was very surprised by the
results I found. Basically, two things went wrong:

* Firstly, due to some mismanagement, the local team moved away, leaving it unsupported.

* Secondly, outside code underwent some paradigm shifts, meaning that anyone who knew outside code found this code to be foreign. Often, people assigned to fix bugs/add features in this code would try to apply the outside paradigms without understanding or adapting the local conventions, creating ugly code interfaces.

Here was the part that amazed me: The time between this code being not-
perfect-but-perfectly-normal and becoming ugh-I-hope-I-don't-have-to-touch-
that was _6 months_(!)

We've always known that technical debt becomes a problem, but I had no idea it
would compound so quickly. Granted, this was at a "post-startup" company going
through rapid change as the scope of work kept increasing, but that's still a
startlingly fast decay rate for code that was decently written and tested.

Definitely proved to me the value of an active maintainer.

~~~
rodgerd
As a witter person that I put it, "code ages like milk, not like wine".

------
duxup
That's something to put on your resume and mention in an interview.

And then the response:

"You maintain a what driver?"

~~~
toomuchtodo
_places floppy drive on desk_ "This. It runs this."

~~~
chaosfox
you maintain the save button ? thats awesome.

~~~
monocasa
For real though, my friend is a professor, and one of her students asked her
during office hours why she had 3d printed a bunch of the save icons and kept
them on her desk.

~~~
bitwize
That actually happened? It's not just an internet legend?

~~~
cosmie
I could easily seeing that happen. Watching my kid grow up, it's actually
pretty interesting to see how frequently stuff like this occurs.

\- To those who were around when the icon was created, the floppy disk is
associated with storing a version of a file. So the action that occurs when
pressing the icon can be intuited via transference. To those who have no
knowledge of a floppy disk (like younger people), it's purely idiomatic and
that the icon represents saving the current state of a file is an idiomatic
definition that needs to be committed to memory by rote.

\- "Hanging up the phone" (and it's associated icon of a horizontally-placed
or forward-tilted handset) is also decoupled from the current reality of
disconnecting a phone call. When she finally made her confusion known, we had
to explain to her that it meant to end the call (i.e. press the red button on
the screen). Before that, she was really confused and thought we were trying
to tell her to do something weird with the charging cable (what else would she
"hang" it from?).

\- # is an incredibly common symbol nowadays. It's referred to as a hashtag.
Not a pound symbol, number symbol, or even a hash symbol. But "hashtag selfie"
is said in speech to represent the hashtag "#selfie". "Press pound" or "Press
the pound key" is not an intuitive instruction to a huge swath of younger
people or non-native speakers that picked up a lot of their vocabulary from
modern movies/tv/Youtube.

\- Alarm clock, stopwatch, and timer icons also tend to be the subject of rote
memorization rather than transference learning, at least earlier in life.
Representative objects are around (either sold as a retro analog device,
TV/movies, grandparents, etc), but not nearly ubiquitous enough to have
exposure to the device before the icon.

The list goes on. It's far more common than you'd think for iconographic
elements and instructions to be entirely intuitive to those that understand
the origins of the icons, while being purely idiomatic and non-intuitive to
others.

For someone who has only ever been exposed to a floppy disk in the form of a
save icon, assuming it's a 3D printed icon or novelty toy/paperweight/thing is
a pretty logical conclusion. Even more so as older movies get phased out of
common circulation, so they don't even get indirect exposure that way.

~~~
scintill76
Can confirm, have heard # in programming referred to as hashtag by young
students.

------
gerbilly
I recently found a really old floppy in a box.

It contained the first client work I ever did for someone, around 1990 or so.

It was an implementation of an algorithm for computing the inbreeding
coefficient of a population.

The program read the population data from a database and then wrote the
resulting coefficient back into a new column.

I pleasantly surprised at how good my code was.

~~~
busfahrer
Out of curiosity, what language was it written in?

~~~
gerbilly
It was written in K&R style C (pre ANSI).

------
muterad_murilax
_" Well, without jokes about Thunderdome..."_

Anyone care to explain?

~~~
dimoprhus
Jiri Kosina wrote when he became the floppy maintainer in 2012: "I have fought
the current maintainer to the death in the Thunderdome"
[https://github.com/torvalds/linux/commit/8206f664bfd7121e79f...](https://github.com/torvalds/linux/commit/8206f664bfd7121e79f3b3fbf967953dbed78d7f)

Denis Efremov sent the security patches to floppy driver. Jiri orphaned the
driver:
[https://github.com/torvalds/linux/commit/47d6a7607443ea43dbc...](https://github.com/torvalds/linux/commit/47d6a7607443ea43dbc4d0f371bf773540a8f8f4)

And now Denis wants to maintain the floppy driver...

Linus
[https://lkml.org/lkml/2012/5/16/370](https://lkml.org/lkml/2012/5/16/370):
"You'll have to fight the current maintainer to the death in the Thunderdome.
What's that, you say?"

------
chaoticmass
I've got a PC that's fairly modern but still has a floppy controller on board.
It's sitting in an IBM Workstation case with an OG IBM 360K 5.25" drive and a
3.5" drive. I plan to hook those up and make them work but I need to buy some
floppy cables off eBay.

~~~
rkagerer
Same here. On motherboards without a floppy port I mod a Rosewill RCR-FD400
media reader [1] replacing the stock 3.5" floppy with a slim YD-8U10-2 USB
model [2]. Handy having it and all the card readers in one 3.5" bay.

[1] [https://www.newegg.com/rosewill-rcr-
fd400-74-in-1/p/N82E1682...](https://www.newegg.com/rosewill-rcr-
fd400-74-in-1/p/N82E16820223111)

[2]
[https://web.archive.org/web/20100130173743/http://www.geeks....](https://web.archive.org/web/20100130173743/http://www.geeks.com/details.asp?invtid=YD-8U10-2&cat=RDM)

~~~
hakfoo
If you can find one, a LS-120 is a nifty alternative. Works with a $5 PATA-
SATA adaptor.

------
konschubert
I’m not sure if this is a good thing. Sometimes you have to cut the cruft to
focus the energy on what’s critical.

If you have an old floppy that you want to read you could also just install an
old version of Linux.

~~~
asveikau
A maintainer came forward and volunteered. That doesn't take focus away from
other people who will be uninvolved.

Although I could see a security argument. Wasn't there a qemu bug that
involved exploiting a virtual floppy drive?

~~~
gtirloni
Yep, although I'm not sure if the _virtual_ floppy disk is the same thing as
is being discussed here.

It even had a catchy name "VENOM",
[https://venom.crowdstrike.com/](https://venom.crowdstrike.com/)

~~~
asveikau
It is not the same thing, no, but it highlights that having privileged code
that is not frequently exercised or thought to be running can lead to bad
times. Most users who were vulnerable to that one were likely not frequently
thinking of the floppy device.

------
astrodust
In the Y2K era I made a Linux firewall that fit on a single floppy disk:
kernel, vi, and a tiny partition config mounted as a loopback device. 1.44MB
and it ran great!

Linux owes its existence to the floppy, for years that was the only way to
bootstrap it. Good to see support going forward.

~~~
VectorLock
I still remember my first Linux was Slackware on a stack of 3.5" discs
downloaded from a BBS.

~~~
astrodust
It was a pretty epic stack, too, like at least twenty disks to do a basic
install, each one an adventure to download and image.

------
afandian
What is the significance of this?

~~~
parsimo2010
The floppy disk drivers were no longer being maintained. They were orphaning
the drivers and they would eventually rot as the rest of the kernel changed
around it. Then someone else stepped up to take the position of maintaining
the driver.

It's significant because a) some dude out there still has working floppy disk
drives and feels that they might still be used, and b) this basically proves
that Linux has the best legacy device support.

If they didn't maintain this you would be stuck keeping an old computer alive
that had a floppy drive and a CD burner, to burn any data you needed to a CD,
then another old computer that has a CD drive and a USB port to move the data
off a CD (/s, but only kinda).

~~~
egdod
> this basically proves that Linux has the best legacy device support

Floppies still work just fine on Windows 10, you know.

~~~
waynecochran
And PC's would still have floppy disk drives and RS232 ports if it wasn't for
Steve Jobs :)

~~~
romwell
You say it as if having them were a bad thing.

The fact is, people who want floppy drives in their PCs can still install
them. And RS232 is alive and well on Raspberry Pi.

On the other hand, the mobile world is suffering a lot from the "removing
ports is a good thing" stupidity. That's how you get cell phones without a
headphone jack, and laptops without a (micro)SD card slot and no USB-A ports
(even when the space clearly permits them).

The ports that aren't used disappear gradually without the need to be "brave"
(e.g. DVD bays from laptops).

~~~
askvictor
*Serial is still alive and well on raspberry pi and other embedded devices; rs232 is a more specific protocol which defines voltage levels (higher than the 3V of the RPI), flow control, line length etc.

------
markstos
I was cleaning out my basement last week and found some 5" floppy disks. It
hadn't occurred to me that Linux would drop support.

~~~
mkl
Linux hadn't dropped support, the driver is stable and still present. Without
an official maintainer it would continue to work for some time, though would
eventually need fixing as other parts of the kernel change around it.

Even without an official maintainer interested people could still update it if
changes to other parts of the kernel broke something.

------
inflatableDodo
I have an Archimedes floppy disk that is probably corrupted to hell that has
my last saved point on Elite.

------
birdman3131
Ive got a few floppy drives that I would be glad to donate if shipping was
covered.

------
shortformblog
All jokes aside, this is great for software preservation folks.

------
peterwwillis
If we don't maintain this driver, our grandkids will never understand certain
bash.org quotes concerning a floppy disk and a hard drive.

------
yread
This is the perfect Friday evening thread!

------
sebazzz
Who tests the work of the developer?

~~~
tacotime
The users! It is provided for free, anyone is free to pony up the funds/effort
to develop and run tests. If you find a bug but don’t know how to fix it,
there’s even a guy (the developer) who will try to fix it for you free of
charge!

