Posts by djspiewak@fosstodon.org
 (DIR) Post #AbxIpCvJzKXhqcHsy8 by djspiewak@fosstodon.org
       2023-11-18T23:47:06Z
       
       0 likes, 0 repeats
       
       This is a nice scheme, because it allows the client to instrument its own capabilities on the fly – including network conditions, hardware, localization, etc – and choose the best variant to match. It even allows client-side control over quality/bandwidth tradeoffs (higher quality usually means more bitrate which means more bandwidth), which we see in YouTube's cog menu (among other places).
       
 (DIR) Post #AbxIpGSOqnmio4mqRc by djspiewak@fosstodon.org
       2023-11-18T23:48:44Z
       
       0 likes, 0 repeats
       
       The catch is that the playlist itself is generally static. It's just a file linking to other files in order. Now, there are some exceptions to this (dynamically-generated manifests with read-through caching are more and more common now), but you have to be careful since your client-observed video start time is limited by 1) the time it takes to fetch and parse the manifest, 2) the time it takes to fetch the DRM keys, and 3) the time it takes to fetch the first segment from said manifest.
       
 (DIR) Post #AbxIpINVhx3ulUVy6K by djspiewak@fosstodon.org
       2023-11-18T23:49:54Z
       
       0 likes, 0 repeats
       
       So then the problem becomes the following: how can we have *subsections* of the video stream which are non-static? Ads are the big gorilla in the room here, since we want to ultra-personalize every ad opportunity at all times, but promos (such as those on Apple TV) are another good one.
       
 (DIR) Post #AbxIpKBsy8x4O15iG8 by djspiewak@fosstodon.org
       2023-11-18T23:52:10Z
       
       0 likes, 0 repeats
       
       Apple was the originator of the HLS specification, so it was always a safe bet that they weren't using DASH (which has nicer solutions to this problem). There have long been a few non-standard approaches to try to address this within HLS players, but none of that seemed Apple's style. Nonetheless, the “proper" solution (HLS Interstitials) were only added to the spec within the last two years, and remained poorly supported even on Apple hardware until much more recently than that.
       
 (DIR) Post #AbxIpM4VyWFCDjer32 by djspiewak@fosstodon.org
       2023-11-18T23:54:12Z
       
       0 likes, 0 repeats
       
       And yet, Apple TV had personalized preroll promos long before this, hence my minor curiosity.Now, to be clear, pre- and post-roll content injection is fundamentally easier than midroll (e.g. most streaming ads) because you don't need to worry about lining up with a segment boundary in the stream: the stream hasn't started yet, so just slap some video in there *before* you start and you're good to go!
       
 (DIR) Post #AbxIpNvN5U7PxxOa4e by djspiewak@fosstodon.org
       2023-11-18T23:55:48Z
       
       0 likes, 0 repeats
       
       And as it turns out, this is exactly what Apple did. Though there are hints that midroll injections (*ahem* ads *ahem*) are coming in the future to an Apple TV near you. Specifically, Apple TV promos are *not* using HLS interstitials (even though they're now supported on all current Apple hardware). Instead, Apple uses an out of band bit of metadata at the front of the manifest to link out to an *additional* URL (probably service-backed) which likely returns an HLS fragment for a sub-player.
       
 (DIR) Post #AbxIpPnI8UqNlTd9l2 by djspiewak@fosstodon.org
       2023-11-18T23:57:55Z
       
       0 likes, 0 repeats
       
       They then have custom logic in their own player to interpret this bit of metadata as a preroll fetch, and then likely fork off a second player, superimposed over the main player, which handles the preroll (not dissimilar to how they implement interstitials, but without having to solve buffer alignment). The cost here is longer video start time (which is easy to see as a user of Apple TV), but the upside is they got to ship a very user-impacting feature (promos!) without waiting for spec.
       
 (DIR) Post #AbxIpTrh04k0OHijAm by djspiewak@fosstodon.org
       2023-11-18T23:58:46Z
       
       0 likes, 0 repeats
       
       Oh and right next to that preroll metadata tag is a second tag which lists the *number* of expected midroll breaks. Currently that number is 0 (as expected), but consider this a strong hint that Apple is at last thinking about adding an ad supported tier to Apple TV in the future.
       
 (DIR) Post #AbxIpXEqSS2kqxZlB2 by djspiewak@fosstodon.org
       2023-11-18T23:59:34Z
       
       0 likes, 0 repeats
       
       (no insider knowledge in any of this btw; you can figure this all out by either cracking open the browser devtools or doing what I did and downloading some media on the TV app and reading the m3u8 file on local disk)
       
 (DIR) Post #AcCsOHvxlMcdHzRwZ6 by djspiewak@fosstodon.org
       2023-11-26T18:05:20Z
       
       0 likes, 1 repeats
       
       Unsolicited advice for open source maintainers: when you start feeling those tendrils of burnout, give yourself permission to hack on something in your project which *doesn't* move the needle. Literally tack into the wind.You maintain this project because you like the technology, and most of the time OSS burnout comes from the endless Issue queue and not from code. So give yourself permission to enjoy the code for a change.Or just chill. That's okay too <3
       
 (DIR) Post #AcImAEMKp5KLN7SSq8 by djspiewak@fosstodon.org
       2023-11-29T13:57:37Z
       
       0 likes, 0 repeats
       
       @acowley My guess based on less than zero knowledge is the patents are fairly comprehensive. There are a few areas where this situation arises (video codecs are another good example), and it ends up being practically impossible to do anything that works well and avoids unintentionally infringing on prior IP. Given the stakes, it's a guarantee that Qualcomm would maximally enforce their rights, so that paints Apple into a very small box.
       
 (DIR) Post #AcImAH3IoIsxixZo5g by djspiewak@fosstodon.org
       2023-11-29T14:07:57Z
       
       0 likes, 0 repeats
       
       @acowley Patents are IMO a good idea, but the structure is so anachronistic that they've lost all connection to their goal. The concept is to ensure that knowledge isn't lost entirely by giving an incentive for sharing it: a time-limited monopoly. One of the many problems today though is most tech inventions already have a very short shelf-life before obsolescence, so the time-limited modifier is somewhat meaningless: it's just an absolute monopoly. And of course, monopolies are good business.
       
 (DIR) Post #AcImAIRRe1n827sbMO by djspiewak@fosstodon.org
       2023-11-29T14:09:16Z
       
       0 likes, 0 repeats
       
       @acowley I think that if we were reinventing that whole mechanism (patents) with no prior art, we would end up with something that looks a lot different. Same goals, more than likely, but very different mechanics, particularly in light of the fact that people don't need much encouragement these days to write things down, and so inventions are almost never truly lost anymore, with or without patents.
       
 (DIR) Post #AcImAL1g2Hxi34qZ72 by djspiewak@fosstodon.org
       2023-11-29T14:22:57Z
       
       0 likes, 0 repeats
       
       @acowley Well the original problem statement was avoiding situations where inventors hoarded their secrets and the knowledge ended up dying with them (very common prior to the 19th century), which in aggregate is quite bad for society. Obviously it's great that this no longer happens, but equally-obviously we have created a destructive minefield of multi-century terribleness in the jurisprudence around this whole space.
       
 (DIR) Post #AcImAM5y3ozLMfrVRI by djspiewak@fosstodon.org
       2023-11-29T14:24:24Z
       
       0 likes, 0 repeats
       
       @acowley I think a lot of the really perverse incentives ultimately come from the combination of the accumulated precedent together with the fact that the entire modern economy is based on IP, something that the creators of the patent system simply could not have foreseen.
       
 (DIR) Post #AkflpnPbiHTe5vQk2i by djspiewak@fosstodon.org
       2024-08-05T23:57:43Z
       
       0 likes, 0 repeats
       
       @foone @grork Ssssssshhhh I’m almost done with my fuel refinery over here. I’m working on my design for a smelter and I got a great bulk deal on coking coal. This tree isn’t gonna know what hit it. Hell, I’ll probably never have to worry about trees ever again!
       
 (DIR) Post #AudB6gVENR2CTnM1Lc by djspiewak@fosstodon.org
       2025-05-30T20:38:34Z
       
       0 likes, 0 repeats
       
       @interfluidity Had a quick look. Most of it is Java actually. It looks like they used Scala for one very specific bit that needed to be shared between the frontend and backend, so Scala and Scala.js gave them a way of having shared code between TypeScript and the JVM.
       
 (DIR) Post #AwFqbDB0mTkvKEZa3k by djspiewak@fosstodon.org
       2025-07-10T23:58:08Z
       
       1 likes, 3 repeats
       
       One of my coworkers refers to Open Source as “the most incredible thing humanity has ever accomplished.” When he says that, he’s not making a socioeconomic or political statement, nor is he ignoring technical shortcomings. Rather, he is making an observation about how millions of people have created this immense pile of loosely coupled legos that actually all kind of fit together, without any central direction or fiat authority, with the only final arbiter being user adoption.
       
 (DIR) Post #AwFqbI94J8AkjehbE0 by djspiewak@fosstodon.org
       2025-07-11T00:00:32Z
       
       0 likes, 0 repeats
       
       I think about this a lot. When he first said this to me, I felt it was a little overly rosy. After all, most decisions in OSS tend to be made by a pretty small cabal of well connected maintainers. But at the end of the day, even maintainers like Linus or Guido would mean nothing without the mandate of the users. Even the ecosystem which gives multiplicative weight and staying power… also only exists because it provides value that justifies its position.
       
 (DIR) Post #AwFqbNjPXRDK3okC48 by djspiewak@fosstodon.org
       2025-07-11T00:01:59Z
       
       0 likes, 0 repeats
       
       In a real sense, OSS is one of the most democratic things humanity has ever done, while also collectively representing far and away the most complex thing it has ever created. That’s actually kind of incredible. The optimism my coworker feels is not about OSS specifically, much less its present state or economics, but about what its existence tells us about Humanity.I find that to be a remarkable thought.