As a side note - I recently found my old MiniDisc player in an old shoebox. Popped in a new AA battery, and it still worked perfectly! Some funny notes... I can't believe it lasts for ages on a single AA battery. And, I had forgotten how noisy they are, with constant whirring and spinning noises coming from the player as it seeks tracks.
There is something soothing about these noises. They reassure you that the device is doing something. I've never seen a MiniDisc player in person, but I remember PSP with an optical drive that made similar noise while your game loaded.
Hard drive seeks used to be the way I'd tell if the Windows 98 SE machines were doing something or just hung - if you didn't hear the hard drive seeking it was probably time to reboot.
I totally messed things up, minidiscs were optical discs and `MiniDiscs use rewritable magneto-optical storage to store the data. Unlike the DCC or the analog Compact Cassette, the disc is a random-access medium, making seek time very fast.`
I tried mine out a year ago and they all worked (the ones I had recorded). I think the MO technology they used was pretty robust (compared to recordable cds and dvds)
Best use of WebUSB so far!
It's so good that even /r/minidisc no longer bother using old software to enjoy this format, they keep recommending this. This is an excellent work
I use the battery API for it's intended purpose. I make apps that run in fullscreen, immersive modes, targeting battery operated devices, with built-in teleconferencing. Users need to know if their battery is about to run out so they don't just lose their meeting session with no warning.
I've gotten really tired of this browser fingerprinting FUD. Removing features like WebUSB, WebBluetooth, etc, is not going to make users less fingerprintable. You're 100% fingerprintable from just your browsing activity. Preventing fingerprinting is not just "hard", it's impossible.
But we still get people complaining about it enough that browser vendors implement these security theater mitigations like when Google unilaterally decided WebAudio needed to be hobbled. Are users any less fingerprintable because WebAudio now requires a user activation to run, and timing information needed to have artificial noise added? No, users are still 100% fingerprintable. But now we have to jump through hoops to get it to work, the API as a whole is unusable for timing-critical applications, and old demos and apps are broken.
I'd be fine with a permissions prompt. We have the web app manifest format. Let's use it. It's not like the app stores are doing anywhere near a good job at preventing abuse, anyway. But no, is so often not even an option.
I'm sick of fingerprinting itself actually. Coming the office and seeing the ads of stuff my family browsed at home is really getting old now.
> Removing features like WebUSB, WebBluetooth, etc, is not going to make users less fingerprintable.
No, but I think it'll reduce attack surface considerably for boty wired and wireless devices. Just being able to abuse webbt to listen my wireless keyboard or abuse my information stored on an external drive via webusb or just being able to poke around via an untrusted medium by design is perfectly safe as blindly poking a positive coefficient nuclear reactor (we know how well it went in Chernobyl).
> Are users any less fingerprintable because WebAudio now requires a user activation to run? No, users are still 100% fingerprintable.
Again, microphone access?
I think there's a lot of insanity going on the web right now. Exclusion of extremely cool technologies because of a real and big potential for abuse is probably the leading one.
Edit: I also use technologies for their intended purposes, but not everyone is doing that, AFAWCS
Why is "the potential for abuse" always brought up when it's Web apps that people are talking about, but almost anything else in the world, "potential for abuse" is considered a fallacious argument employed disingenously by people with hidden agendas?
Crypto-*: it might be used by criminals!
Anonymous content sharing: it might be used be poedophiles!
Free speech: it might be used by yucky people!
UBI: it might be used as an excuse to not work!
Consumer-grade GPUs: they might be used by cryptominers trying to burn the world!
Paternalism and prior-restraint are anti-democratic. Other people using a tool for bad purposes should have no bearing on my usage.
I understand you, but web technologies are different, because, web technologies are literally the other way around. In the examples I've given, most of the daily, normal users are in the receiving end of the abuse.
Let's dig deeper, with your examples:
Crypto: If you're a normal user, you can be private. If you're criminal, you'll get to cover some of your tracks. The other effects are secondary and indirect.
Anonymous content sharing: If you're a normal user, you can share stuff. I personally share stuff this way in HN. It keeps my cloud accounts tidy. It can be used for other nefarious purposes, but it's effects are again secondary.
Free Speech: It shall also be used by yucky people, so we can improve our civilization, systems and ourselves further. It causes a lot of pain I know, but alas, humans probably need it sometimes to evolve. We're lazy otherwise.
UBI: I think it's a neat idea. I can't think any bad examples, sorry.
Consumer Grade GPUs: I don't think using a country's worth of energy to speculate on something's value is hardly efficient, so I'll pass. However, again its effects are secondary.
In all your examples, the receiving party is narrow. The receiving party's number grows because of secondary effect. However, web technologies bring everything to your home, including exploits and abuse.
It's a big can of worms for 1-click and 0-click exploits. "Oh, the web browser was not on the foreground, how my data is exfiltrated?" yeah, webusb/webbt/webaudio.
Crypto cannot directly harm you, neither GPUs. But I can get into your home and violate your with every privacy right with a couple of little, neat technologies.
Maybe you're right. We shall let these technologies loose and allow everyone to snoop into everyone's devices. That'd be equal and democratic. Maybe exploited people will like it and allow more of it. Like the most recent Facebook breach...
While we're at it, I really like the glow of Cherenkov Radiation. I'd like to build a small, fish-tank sized reactor with lead-glass sides. I won't use the material for any other reasons. If only they let me...
>I've gotten really tired of this browser fingerprinting FUD. Removing features like WebUSB, WebBluetooth, etc, is not going to make users less fingerprintable.
Yes, it will.
I don't know of anyone who would seriously argue that less variation between client data doesn't also offer less uniquely identifiable variation between users.
Less remotely-viewable variables, less rolls of chance to be unique.
>Are users any less fingerprintable because WebAudio now requires a user activation to run, and timing information needed to have artificial noise added? No, users are still 100% fingerprintable.
Less fingerprint-able doesn't mean completely un-fingerprintable.
These very edge cases and seemingly unnecessary inclusions into the spec are the very things that allow you to keep the technology in place while reducing possible privacy concerns.
These changes and inclusions are designed as a compromise between the two goals of technological innovation and privacy infringement.
What does it matter if there are 1000 variables or 999 variables if it only takes 5 variables to identify people? What point is there to anti-fingerprinting practices if the only way to achieve less than 100% fingerprintability is to stop using the internet entirely?
And why, in this sisiphian effort, is the answer to hobble Web APIs, rather than request permissions, as native mobile apps do? Why should there be a functional difference between native mobile apps and web apps? The app stores don't vet submissions, so malicious apps are apparently quite trivial to get into the stores. Users don't really think twice about installing apps. Why do web apps need to be uniquely hobbled in comparison?
I believe fingerprinting is like insider trading in that you won't be able to make the stock exchange invulnerable to insider trading with fixes to the software that runs the stock exchange, and you won't be able to find a purely technical fix to make fingerprinting go away. This sort of thing is best left to regulation, that's what we have a legislative and an executive and laws and courts and all that for, after all.
I just wish there was a way to automatically turn all this off when I'm just reading an article or filling a form, browsers should have a special app mode.
It's the inconsistency of the whole thing. Location API still exists, but you have to grant permission. But Battery API. WHOA NOW! That might be used to identify someone! Never mind all the tracking pixels and Google Analytics scripts on the page. Never mind IP Address plus Time of Day gets you greater than 50% of the way to identifying the user. This little battery discharge rate, that's the villain. Better remove it completely.
HTTP Referer header is so unreliable and so frequently used to spam server logs that it would break nothing to remove it completely, yet it's still there and we've got people complaining about the `navigator.hardwareConcurrency` value "leaking information".
Why does WebAudio need a user activation, but WebGL can run straight away, maybe even in a Worker where you'll never even see it?
The userAgent string alone tells you tons of information about a user, especially when you consider how frequently browsers bump version numbers versus how much user upgrade patterns can lag behind. But Ambient Light Events, man, they might be used to capture the user's face, one pixel at a time, over the course of a year, so that's clearly evil, too!
Because it's not really about security. It's all about pushing developers off of the Web and into app stores. Mozilla goes along because they're locked in an abusive relationship with their misinformed users, the 5% of the world that is so-called "privacy conscious" people who comprise their only user base.
If you create an app that makes good use of advanced features, then it has a higher likelihood of being something people are willing to pay for. So what does an app developer do, if they need this functionality? They make a native app instead. The user is still giving up the information (not to mention their email address at the point of purchase), but the app now has to give up 30% of revenue and be at the whims of a group of unelected technocrats' ever-changing, unspecified censorship criteria.
The anti web app people don't like the inconsistency either, everything except basic HTML rendering and form submission should require a permission prompt.
Back when I used Netscape on DEC ULtrix, connected from a Windows X client some 20+ years ago, I sure would not have believed that one day device drivers would be written in scripting language and run in my browser.
The actual hard work was reverse-engineering the NetMD/HiMD protocols and implementing the C project „linux-minidisc“ which is a project I created together with a friend in around 2008.
It‘s still on Github and I should probably get back to working on it again.
Well, kudos to you my friend. It looked like you just reimplemented the python library in js/ts, but you've drilled all the way down. I was curious about doing a similar thing for a Sony E-reader that doesn't have modern os support and only ever had a closed source application for it. Do you have any articles on the process you went through?
Maybe, but certainly dude doesn't have the same direction as you. Don't compare yourself to others. Well, unless you're trying to do exactly the same thing.
The catchphrase around it became a meme and fell out of popularity, but despite all of that, there remains a huge disparity (definitely more than an order of magnitude) in the productivity and output between the most efficient hackers and the least.
I wouldn't take this as a reason to quit trying: take it as an inspiration to which to aspire.
To be fair, it was probably more like transcribing writing from one dialect to another dialect in the same language, where you are literate in both dialects, vs. creating something completely from scratch. It's a lot faster when you don't really have to think about the creation of content.
That seems to be true. After looking into the Linux implementation, I realized that it's python and not something more low level. The differences amount to an extensive syntactical refactoring, at least on the library porting side, but it's still a large amount of super tedious work that I can admire. Getting it to work with WebUSB though, having a high proficiency with TS, and putting in the work to write tests for it all is also impressive.
I think it's a real shame that there is no way (as far as I know) to use re-writable MiniDiscs in the same way that CR-RWs, for storing generic files. There only seems to be projects like this for storing/transferring music.
Can anyone in the know give a quick explanation why that is the case? I appreciate it's a moot point now with the extreme price of MD-RWs, but every now and then I'm reminded of them and get upset. It's probably out of the question now that there's an MD resurgence like cassettes are enjoying.
Not sure why someone hasn't done it recently, but I'm not surprised they didn't do it back then. At the time of MD's popularity, it probably wouldn't have made much sense to compete with zip and jaz drives unless you could make them much cheaper, and I doubt they could have with MD. Portable audio that wasn't as finicky as CD but was higher quality than a cassette was the real killer functionality.
The USB functionality came fairly late in the MD's life, I think. For the vast majority of MD devices, you could only get data in or out via audio connectors, which, even if digital, is incredibly slow and unwieldy - there's no transport control from the computer! It'd work like the tape drive on a C64.
I suppose if you really wanted to you could encode the data and read it back via the aux in on the sound card, quite like the old cassette tape computers.
I'm really nostalgic about the MiniDisc format. You've inspired me to check my loft to see if mine still works. Thing is, besides retro coolness, I can't think of any particular use cases that my mobile isn't better suited for.
I only say that ATRAC3, while being lossy and old, can provide very enjoyable sound. I argue that sound is transparent in SP mode and very high quality in LP2.
I further argue that when combined with Sony's DSP and electronics magic, its sound still holds very well and provides a very rich, detailed and enjoyable listening experience, and can rival today's mid-high end portable devices very, very well.
* better battery life (supposedly up to 40 hours on a single AA, but I haven't benchmarked this independently)
* consequentially from the above, your phone's battery is saved for when it _really_ matters, like when you are in the middle of nowhere and need a map to navigate the environment
* a more tactile experience compared to a touchscreen
* works offline, and even without mobile signal coverage
* no adverts
* no interruptions, constant bings and bops and notifications from other apps
* no need for updates - it's already a "dead" platform and was never updatable in the first place
* can still download music from a PC, albeit it takes longer and is slightly harder than loading something onto a micro SD card
* no need to fight stubborn mobile UIs, just the buttons to play, stop and control playback
* some players come with a dedicated remote controller, which is also much more convenient than unlocking your screen to change tracks
* you can focus on just the music or audiobook that you took with you, no temptation to shop for new listens while out and about and no temptation to doomscroll your multimedia feed of choice (Instagram, YouTube, Spotify)
* content never "disappears" from your streaming service until you erase it on purpose
* as long as the laser module works, this device will be usable into ~eternity if your model runs on AA batteries. Your battery life never degrades, and your device will never be artificially obsolesced by its own battery disintegrating.
* the discs are very light and quite small, so it's still possible to get a couple of albums or several hours of speech-quality audio to choose from on the go.
* and of course retro coolness
That said, there are downsides:
* you could mostly get all of these advantages with a single mid-end MP3 player
* cables are a pain once one experiences the wireless life
* download from a PC is a thing, but it's undeniably burdensome because of how long it takes, and until Web MiniDisc, because of the antiquated formats and runtime environments supported by the official software.
* shock-proof, not so much. I don't recommend this for heavy workout in a gym
* the proprietary nature of everything chafes. Downloading music back from the player is impossible, remotes are proprietary, DRM is still a problem when the rest of the world moved on.
All in all, it's an aesthetic choice. An art project, if you will. It's not for everything, but in some ways, on certain days, the coolness makes up for it.
This is really neat! I like that the same web app can be used from a desktop and the phone, and the functionality is the same, since they use the same browser API for accessing the device.
Too bad my MiniDisc players are pre-NetMD devices.
I used one of the NetMD Minidisc players throughout college.
The discs could be formatted for data and could store 1GB, they would show up on a PC as a USB drive. It beat the hell out of the zip drives everyone else was using.
I'm tempted to use this and see if it still works.
Fwiw, a 1GB MD would be Hi-MD, a different media in the same form factor. I don't actually know if the Hi-MD players support NetMD transfer or use their own protocol, but I guess I can think of a way you could find out!
Yep! "NetMD" was just a new logical format on the same media, plus USB connectivity and ATRAC version 3. Hi-MD was the one that reformulated the media for 1GB total storage. Those discs don't work in older players, but older discs do work in a Hi-MD player.
Ah, the mini-disc, loved it, and it developed quite nicely. My first one was a Sony [0]. It had 3 hours (they said 4 but meh) on one special li-ion battery (and 6 when I hooked up an external 2 AA compartment, they said 10 but no). When my wife got one, shortly before they got out of fashion hers could run for 40 hours on a single AA battery and fit 4x the amount of music on a disc.
Those were NiMH batteries - I have the same model, got it back in high school with summer job money. Don't leave the "gumstick" battery in the unit; it will leak and swell, and taking the unit apart far enough to clean the contacts is an exceedingly fiddly job despite the excellent service manuals Sony used to put out. The things are the electromechanical equivalent of a Swiss watch.
I was gifted a Sony MZ-1 in the early 90s that I used until its death in 2020. It survived longer than the MagicLink and the little book reader they also sent. I often felt like the Sony of that era made up formats just so they could design cool gadgets that made use of them.
I remember using TOSLINK to write tones to a MiniDisc to use on the old Jupiter or Saturn Bells with the unmuted receivers back before MP3 and other digital audio players existed. I want to say we moved to a Creative Nomad, but it didn't have the same cyberpunk feel as discreetly swapping discs into a MD player.
Does anyone know if the masters used were unique MDs or the same as for CDs of the era? I've been wanting to create a FLAC library of MD rips, or at least recreate the playlists to burn onto some blanks if they're the same.
You can create awesome sounding MDs from any CD or FLAC. The sound modelling of ATRAC3 and MP3 is very different, so they don't translate well to each other.
I only had one pre recorded MD (oasis). I would imagine that the masters weren’t unique to MDs. Pre recorded ones weren’t that common (at least in the US)
I had no idea NetMD and Hi-MD were things. Sony certainly shows determination when it comes to continuing development of their technology (even when it's clear they'll only ever be a niche player).
MD certainly isn't the first niche media format to surprise onlookers with its staying power. Laserdisc lived for many years past the advent of DVD, too.
great piece of work ! I try it with my sony mz n707 and a galaxy tab. works great. but I did not get it to work with win10 (chrome browser). Is windows supported ?
I'm not a coder, so perhaps I'm missing the appeal of this project. My main takeaway is that I can't understand why somebody would go through the hard work of re-creating this but not bother writing a single line explaining to casual readers what the advantage might be of using the app compared to other more obvious solutions for playing music files.
The point is really just how pointless and esoteric it is, not to offer a better way of playing music. This isn't for casual readers, this is for nerds who do stuff that nobody else cares about, for the fun and challenge.
The advantage is that the app is designed to work with specific obsolete devices that needed a now long-in-tooth software package to transfer files to them. It's very hard to get this package working on modern machines, so having this functionality available via a web app is a quantum leap.
As a side note - I recently found my old MiniDisc player in an old shoebox. Popped in a new AA battery, and it still worked perfectly! Some funny notes... I can't believe it lasts for ages on a single AA battery. And, I had forgotten how noisy they are, with constant whirring and spinning noises coming from the player as it seeks tracks.