“I would like to maintain the floppy driver”
lore.kernel.org
lore.kernel.org
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?
IIRC, I think first read the phrase "complexity catastrophe" in the book Design Rules: The Power of Modularity. Per the authors, it's when a system becomes so complex (interdependent) that the cost of any further changes far outweigh the expected benefit.
https://www.amazon.com/Design-Rules-Vol-Power-Modularity/dp/...
At least trend-wise, it’d probably look similiar to a malthusian catastrophe (population reaches environment carrying capacity at time n, and then (greatly) overshoots it at time n+1, resulting in mass die off due to starvation, taking the population well below carrying capacity)
In The Matrix movies that is sort of a key premise of their world setting. There are words like reset, reboot, reload for it.
But I don't think it's a given, not all complex systems are prone to collapse; some systems, once past a given point, may even perpetuate their complexity practically indefinitely.
Consider life on Earth: even if a cataclysm occurs that results in mass extinctions, new life will eventually take over, in millions if not "mere" thousands or hundreds of years.
Until Earth itself no longer exists that is. Same goes for galaxies and the Universe at large.
I bet this is true of governments as well, since governments are systems.
I can understand how a truly complex system becomes "don't touch it except to add things, you have no idea what depends on that chunk of code"
Thank you!
But even in the feature flag case, it serves a purpose by allowing old code to be removed in 2 stages rather than 1 (divide and conquer).
It means the old code still compiles, just in case it needs to be reinstated in a hurry.
I agree with you, commented out code is not ok, unless it is an example or pseudo code. The rest is trash and has no place in any reasonable codebase. If you want to see what the code was like six months ago, use git.
Line comments, yes, but not for block comments or #if 0 disabled sections -- if your search result comes from the middle of one of those, it does not look like a comment without the context, and can mislead you.
One of the biggest thing that catches me out with commented out code is wondering why it is commented out. Is it desirable, but not working for some reason? Is it undesirable, but not deleted for some reason? Is the new code an experiment? Is the old code an experiment? If it's an experiment, am I sure the previous person reinstated the correct code?
Even if you say it can be reinstated in a hurry, why would it need to be? When I'm reading the code, that's one of the questions I'll be thinking about. If I see commented out code, I'll start walking back in history and seeing why the code was replaced. Then I'll be wondering if there is some work flow that perhaps we need to retain for some reason.
All of this takes time. If you really want the code to be gone, it's better for me if you remove it. Then I don't have to wonder why it is there.
To me that's just a symptom of a system that lacks good test coverage. Being able to remove things that you believe to be unused and seeing if it's safe or not is one of the biggest benefits of test coverage. That and, of course, knowing if your "fix" doesn't break things far away that depend on it.
Countless attempts to improve anything in that ancient code base failed since by that point, every little quirk that browser exposed was depended on by some essential system running a power plant, hospital or internet core infrastructure.
So the archeologists rather try to find even more quirks that can be abused for performance.
The fallout of this means that all 'modern' technology is operated upon by tech-priests, who blindly perform rituals upon equipment to ensure it's 'machine spirit' is satisfied. This ensures that the equipment will properly function. All knowledge as to how the most advanced equipment operates is lost - all that's left is how to produce some of the lesser pieces.
Caches of templates to produce standardised equipment are highly treasured. These ancient and supremely advanced caches produce extremely detailed designs for the entire supply chain required to build a single item. A template to provide for a slightly sharper knife is as desirable to the Imperium as another template to provide for a 55 Meters tall armoured war machine.
Deserves repeating.
At my job, it's repeatedly discussed as a feature to be an engineer who removes the most code. Most engineers are net positive, the few are break even... but the true greats are the ones who're able to go negative.
Pink diffs are the best diffs.
Depending on the implementation the filesystem metadata may also reveal more data than needed. The attacker can probably ignore that 4GB file that wasn't modified for a year (a downloaded ISO image?) but that 20KB file that was recently modified might be that passwords.txt he was looking for..
The important thing is that you don't really have to choose; a true encrypted filesystem can give you both things. Block-level encryption can't.
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.
Luckily for you, there now is someone who wants to maintain the floppy driver for the Linux kernel...
Come on OP, don't let us down here.
I couldn't play it (without hooking up my old tape player), but I did find it on YouTube:
Our Tesla 3 definitely does not have a CD/tape player, although you can plug in USB sticks with music.
So the word "floppy" was itself vestigial.
And don't forget you can notch each side for double the storage!
```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.)
I have taken the floppy out of the sleeves to dry them out as the entirety of my collection fell in the aquarium.
Writable == tape
Find me someone who used 5.25 who didn’t do this and I’ll fight you.
Then there were things like fdformat ... because software had a very close relationship with the hardware: https://en.wikipedia.org/wiki/2M_(DOS)
These machines ran off a program that was stored on 8" floppies. All the workers had been told to NEVER EVER touch the floppies. Well one night, a disk went bad and had to be replaced. To the horror of the operator, my boss ripped the magnetic media out through the spindle hole, looked at it closely, and proclaimed "Yep. It's bad"
Maybe the thing I thought of as a "sleeve" (analogous to a album "sleeve") is actually called something else (maybe an "envelope"?) - I never really gave it thought until now, honestly.
It had The Black Cauldron, PC Jr bootable version on it.
It snowed. It was the winter break, so there was no going back to school to see the other kid who had made the copy for me, not for 2 weeks. This was supposed to be my fun game for the break....
So, I carefully opened the disk, set it to dry over the heating vent, put it back together, and with the help of Norton Utilities 5.0's Disk Doctor, I got a mostly playable copy out of it. Absolutely amazing.
[Edit] there used to be a website, similar to bash.org, that people would submit stories like this all the time of stupid shit they were running into as a tech. Dont recall what it was. There was also and admin site, they may have been the same.
https://www.youtube.com/watch?v=jxt5A0KJ9nw [Early CD-ROM Drives: Why Did They Require a Caddy?]
Low-level LSI-11 processor variant, 128k RAM, (2) 8" floppy drives. The case was 75% floppy drive, 25 % processor boards on top.
Came with RT-11 build floppies, I had to run the OS build in order to generate a boot disk and three language/utility disks. Took about 8 hours to do the full optioning and build from the 13 source floppies.
Ahh, the old days. Wrote my first D&D game, ballistic path analysis, mandelbrot drawn to 80x24 greenscreen VT01...
8-inch: 1972
5.25-inch: 1976
3.5-inch: 1982
At the time, "hard disk" referred to the spinning disk inside the computer & so though "floppy" wasn't technically accurate when referring to the 3.5 inch floppy, it was a nomenclature referring its utility or type rather than a physical description actual object itself.
"Floppies" were the things that you stuck in and removed... didn't matter their covering material, nor what size they were.
It's interesting to think about how many of our words have the same kind of history; once having a widespread descriptive meaning associated with physical traits of the object itself which ultimately were divorced from the original meaning over time...
I'm going to hazard a guess that most of our nouns have that kind of history... but the interesting thing here is that this morphing happened so quickly and it's because the object itself changed, not some generational loss of original meaning...
Another example is when someone refers to recording something as "taping" it, even though tape as a recording medium is mostly long gone. In their conversations, the term "taping" made the leap from "recording on tape" to simply "recording", and lost its original meaning.
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.
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?
What you should really do with floppies is to quickly copy the data to another storage medium.
Kryoflux is pretty amazing
Famous last words.
EDIT: Phrasing
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.
Not if it calls or is called by code that changes more frequently.
Like if you put a soda on a block of ice outside. It will last through the winter and stay solid. Wait until spring and things start getting slippery and wet. The ice and soda are showing signs of aging. Summer hits, and your soda crashes to the ground, spills, everything is just sticky, unusable, and bugs are everywhere.
And then the response:
"You maintain a what driver?"
- 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.
This wasn't a problem before because the result data could just be copied to a USB drive using one of the several workstations in the experimental physics department. However, when I did the lab course, the dept had been outfitted with all-new workstations just a few days prior. And of course the new workstations did not have floppy disk drives anymore. It took the instructor a while to locate a PC that still had one.
I wonder if that DOS box is still in use.
DOS can write to hard drives just fine. Maybe not some early versions, but certainly all of the versions I used.
I mean, think about it: many people who were born in the 80s and 90s know about phonographs despite them being long obsolete by that point, thanks to the references in cartoons, movies and other forms of media they consumed as children.
[0] https://upload.wikimedia.org/wikipedia/commons/d/d6/VictorVP...
https://upload.wikimedia.org/wikipedia/commons/c/cb/Philco_T...
https://en.wikipedia.org/wiki/Floppy_disk#8-inch_floppy_disk
> it was IBM's 1973 introduction of the 3740 data entry system[24] that began the establishment of floppy disks, called by IBM the "Diskette 1", as an industry standard for information interchange. The formatted diskette for this system stored 242,944 bytes
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.
Anyone care to explain?
EDIT: Nope, or only indirectly. See: https://news.ycombinator.com/item?id=20595137
Denis Efremov sent the security patches to floppy driver. Jiri orphaned the driver: https://github.com/torvalds/linux/commit/47d6a7607443ea43dbc...
And now Denis wants to maintain the floppy driver...
Linus 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?"
[1] https://www.newegg.com/rosewill-rcr-fd400-74-in-1/p/N82E1682...
[2] https://web.archive.org/web/20100130173743/http://www.geeks....
If you have an old floppy that you want to read you could also just install an old version of Linux.
Although I could see a security argument. Wasn't there a qemu bug that involved exploiting a virtual floppy drive?
It even had a catchy name "VENOM", https://venom.crowdstrike.com/
Linux owes its existence to the floppy, for years that was the only way to bootstrap it. Good to see support going forward.
"Merge floppy ioctl verification fixes from Denis Efremov."
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).
Having worked in IT, this is entirely plausible. In fact I've had to do that entire runaround except with different technology.
I had to use exactly this workflow a while back. SCSI based CD burner too, which I still have... just in case.
Thank you for you service, floppy driver guy, wherever you are.
If I understand it right, the USB floppy drive drivers were still maintained; it's just the old ISA (now LPC) floppy controllers that were orphaned.
It connects via a 100mbs 3com 3C905BTX nic. I call it the network attached device driver.
Floppies still work just fine on Windows 10, you know.
My Yamaha PSR-700 series workstation keyboard uses floppies as its primary memory, and still works fine.
Its replacement, Yamaha PSR-SX700, is coming out in October 2019 at MSRP of $1,999, and is not fundamentally different. (And if I use the 90s version to control Korg Monlogue / Deepmind / etc to get the sounds, then the marginal value of the new instrument goes way down).
So floppies it is.
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).
I don't know if I would ever use mine (maybe with MESS emulation for my TRS-80 Color Computer?) - but I have a small collection of 3.5" and 5.25" working floppy drives (plus cleaning disks, alignment disks, and an analog Tek oscilloscope) that I keep around "just in case" - mainly for emulation purposes, or for some odd time I might need one. For both, I also have collected at least one of each of low-density, double-density, and high-density drives - because again, different systems. The only kind of drives I don't have that were common back then were the 5.25" ones on the Apple IIe - because they were crap back then that'd break if you so much as looked at them. I doubt few have survived in working order today (seriously, they were that bad - you take one of those drives and compare it with a TEAC or similar from the era - night and day).
I tell myself I keep old hardware around in case general purpose computing dies or descends too far into user-hostile dystopia, but I'm probably just a hoarder.
(...the couple of 3.5" discs that I now use in old music equipment originally came from a supply room in Microsoft when I interned there in 2014, although I'm not sure what they were used for even back then).
Even without an official maintainer interested people could still update it if changes to other parts of the kernel broke something.