Skip Navigation

Posts
6
Comments
454
Joined
2 yr. ago

...

Jump
  • I rather disagree with the statement about mill's perceived boilerplate, you build is composed/extended from classes and traits and the behavior is provided by overrides, OOP style. It's nothing like sbt's layered opaque architecture, yet you can do as many complex things as you need, programmatically, with the same scala language your project is written in.

    As I said, you might not need that if your build is simple enough, and the more direct equivalent to cargo would be scala-cli. Going on a tangent here, Cargo is pretty basic and restrictive: scala build tools need to concern themselves with binary/ABI compatibility and cross targets compilation (to the JVM, JS, Native, WASM, ..) all at once, whereas cargo only "cares" about source compatibility (no dynamic linking, no publishing in a compiled ABI stable form).

    Here's an interesting thread describing very well the problem space, and elaborating on the situation in rust/js (reply from mdedetrich): https://www.reddit.com/r/scala/comments/12jhud7/comment/jg2aecf/

  • ...

    Jump
  • I'd be curious to know what makes you think that. Scala 3 released relatively recently and is basically a full rewrite of the compiler with a new type system/theory and features that you will see creeping into other languages for decades to come. And Scala 3.3.0 came out weeks ago as the first LTS version of Scala 3. Things are going at a fast pace there, on the library side, ecosystems like typelevel, zio and lihaoyi got a lot of polish and focus on practical use-cases, and tooling-wise, Scala now has cohesive and easy to use IDEs, linter, reformatter, build tools, …

    Sure, nothing's perfect, but it's a much more vibrant place than most programming communities out there :)

  • ...

    Jump
  • I stand with you amongst the "displeased with sbt" crowd. If I feel the need to have my build config in a file, mill is everything I've ever needed. If I have just a bunch of source files and don't want to bother with any of that, scala-cli is pretty awesome and might appeal to cargo lovers.

  • ...

    Jump
  • IMO this should be a feature of the comments editor, if this matters at all.

  • ...

    Jump
  • Scala isn’t insane, just misunderstood. Its build tool, on the other hand… 😬

    Good thing is, mill brings a lot of sanity into this space. It's been years since I've had to use sbt on a regular basis, and every time I looked at it since was with incomprehension and disgust. I don't think sbt is improving in ways that makes it friendlier. Nowadays scala-cli is all the rage, and deserved (IMO).

  • ...

    Jump
  • IMO Scala is one of the best programming languages out there. I know it might sound like zealotry because Scala is already way past its hype curve, and the "Through of disillusionment" already caught a fair bunch in ways that more recent and hyped languages haven't yet, but it's not only still very relevant today, but more and more so (IMO).

    So, what's to like about Scala? Like most of things, those are two-edged swords:

    1- multi paradigm

    To my knowledge Scala is the only language that unifies object oriented programming and functional programming so seamlessly. You can pick the right tool for the job, opting for imperative-style where it's fit and choosing elegant composable/curried when appropriate, without having to bend your mind as much as you would with Haskell/clojure/OCaml/F#/… where things are more one-sided. The downside is that different programmers will have different takes and preferences as to what's the most adequate style might be, and a same codebase might look very different from one place to the other.

    2- type system

    Scala has one of the most advanced type system. Nothing Rust or Kotlin might match any time soon, or ever. Scala's implementation of GADTs, combined with its powerful pattern matching enables concise and idiomatic abstractions. Many of which are zero-cost thanks to things like opaque types, inlining, tail recursion, … There is a whole area of the Scala community striving to make invalid states irrepresentable (your code won't compile if your instance of a pizza is missing a topping), which makes such libraries self-documenting and easy to use. The downside is that nothing prevents you from climbing the abstraction ladder and encoding everything in the type system when all you need is a simple trait/generic, and that's a human/complexity management problem tooling and the language can hardly mitigate.

    3- scalable

    The author of Scala (who was a long-time Java compiler architect) wanted Scala to scale from shells one liners to complex multi-cluster distributed systems, and delivered on that. You can start small with a scala-cli proof of concept, transition to a mid-scale "python with types" kind of project, and grow up to very large and complex projects. Beyond the JVM, you can target the browser with scala-js and share models and validation logic between the front and back ends. You can target native binaries for instant startup/low footprint executables that are cheap to spin-up as microservices.

    4- has a foothold in academics

    A whole team at the EPFL is pushing boundaries of programming languages and using Scala and its compiler as a ground for experimentations. Scala 3 has a proven sound type system thanks to its foundations on the DOT calculus. Effects and Capabilities are being researched as part of the project Caprese to offer a solution to "what color is your function" (mixing sync and async), of memory management/lifecycles (more generic than rustc's), of pure/side-effectful code, etc. The downside is that this gives an impression that Scala's development lacks focus, but arguably those happen in distinct development branches and by different people.

    Anyway, feel free to continue the discussion on: !scala@programming.dev

    !scala@programming.dev

  • tt-rss (tiny tiny RSS) might be exactly what you've ever wanted with RSS.

  • Sure, thanks for that and for the good work :)

  • The FOSS crowd will eventually pop in and try sway you strongly the other way

    That's pretty clear from the comments/upvotes, but I don't think it's undeserved either. Jellyfin is the underdog that came to take the slack left by Plex growing discontent, does a decent job overall, and gets measurably better over time.

    What's interesting to me is to think about what Plex could do that an active community around jellyfin couldn't, and the answer is not technical, but commercial, and along the lines of more partnership and integrations with hardware or streaming platforms, for which I (and most people here, apparently) have no use. YMMV of course.

  • Do you know how PlexAmp compares to airsonic-advanced/navidrome/subsonic? That's definitely an area where jellyfin is weak but great alternatives are out there.

  • I was left unimpressed by jellyfin's photo and video capabilities. Tags detection often was inconsistent/incomplete and metadata retrieval to fill the gaps made things worse in many instances. If you want something specialized for audio, that has great support client side, you should give airsonic-advanced/navidrome/subsonic a shot

  • I'm new to both, and both are terrible if you ask me, but for different reasons. Where I see plex having a clear UI advantage is where it comes with a native app for that platform, which is less often the case of jellyfin (although it's slowly catching up). Being open source, jellyfin has a clear advantage IMO because with enough traction, the community will be able to do wonderful things (think of winamp skins meets android custom ROM scene, or something to that effect).

    And as a new comer having only seen the freemium side of plex, it has really weirded me out in some places (sponsored stuff, stuff of no use to me that I can't disable, locked out stuff, including petty stuff like HDR encoding...) , so much so that I don't see myself trusting them my credit card, and so I might never get to experience the "real thing". That's just how my perception of it is: Plex probably needs me to pay for it to become good, but it won't be that much better (and still have many quirks) to justify it.

  • My curiosity towards Windows totally vanished with 8, and everything since looks like hasted damage control to me.

    Now I find it interesting that the vision and ambition of Microsoft for what used to be its most strategic and successful product goes as low as a new skin (more than "inspired by" KDE IMHO), more of cloud-clippy in places we'll hate it a lot, and more adds and telemetry because retail/OEM tax was not enough real money you spent for your OS.

  • And then what, you think that I'd take pleasure in that, while sitting at the front row, with the satisfaction to say that "I told you so"?

  • Whether you like it or not that perfectly contradicts your "China defaults to safety where it comes to nuclear outbreak". I'll leave you there alone bumping into your own fallacies and contradictions now.

  • Doesn't look too bad, I doubt it will dislodge graphviz/dot any time soon, though :)

  • If your reading comprehension wasn't so blinded, you would have figured that this nuclear power plant is not only designed by the French, but is co-operated by them. Operators of the plant themselves raised the alarm, knowing very well what they were dealing with, having designed, built and operated the plant. And you can minimize this and call me a troll as much as you like, fact is that this was world news when it came up, further demonstrating that your perception of world events really is off-base.

  • yep, erring on the side of caution regarding nuclear safety levels, that sounds totally like China, as we saw no later than two years ago at Taishan. Sure.

  • I asked earlier a restaurant/pub table neighbour if he knew about not getting seafood from Japan, he was only surprised that it wasn't banned already. Except maybe for some body care products, you don't ever see anything being advertised as coming from Japan or being culturally associated with Japan, that draws customers anger. Propaganda running new reasons to hate on Japan is business as usual.

    None of that changes the fact that Japan discharging nuclear waste into the ocean is a legitimate reason for avoiding seafood from Japan.

    Absolutely, as soon China can bring evidence that safe levels of radiation as assessed by an independent international organization represent a safety risk to their people. For some, oh, color me surprised, unbelievable reason they didn't.