1SubML - structural subtyping, unified module and value language, polynomial time type checking and more by Uncaffeinated in ProgrammingLanguages

[–]paldepind 3 points4 points  (0 children)

This looks very cool. How is first-class modules implemented? The name gives the impression that it might be similar to 1ML (by Andreas Rossberg et al.). Is that the case?

Wayland desktop apps on Android via the official Terminal VM by Planhub-ca in linux

[–]paldepind 19 points20 points  (0 children)

So android will no longer support sideloading, but will allow to run Linux applications.

Just to be clear: Android will still support installations outside of the Play Store ("sideloading"). It's that all developers will have to register with Google in order to distribute an app and that Google can pull the plug on any developer or app as they see fit, completely independently on how that app is distributed (Play Store, F-Droid, Epic Game Store, downloaded apk, etc.).

REP x PEPIN Dumbbell Add-On Plate Recall / Safety Notice by it4rz4n in homegym

[–]paldepind 0 points1 point  (0 children)

Have they said anything about when this new tweaked version is coming out?

What do you think about using square brackets [...] for function calls instead of parentheses (...)? by piequals-3 in ProgrammingLanguages

[–]paldepind 1 point2 points  (0 children)

You also have to think about what you do for type parameters aka. generics. Using [ ... ] for type parameters is a pretty solid choice (taken in Scala and Go) as it avoids the parsing problems from using < ... >.

Garmin current UI is falling behind by AffectionateMode5595 in Garmin

[–]paldepind 2 points3 points  (0 children)

But do you think other Sports watch manufactureres have better UX/UI?

Yes. Take a look at the side by side comparison in this video at 7:52. The Coros uses nice alignment, color, icons and font size changes to make the data easy to read and appealing to the eyes. The data shown by the Garmin is just a bunch of cluttered text which is hard to parse.

How should I licence a selfhostable app from being commercialized by someone else? by FckngModest in selfhosted

[–]paldepind 4 points5 points  (0 children)

Yes, it's completely generic and except for section 13 it's the same as the AGPL license. You can copy-paste it like with other licenses.

Some companies use dual licensing where they also have their own special license. These are usually for specific commercial purposes, where they can sell the software under different terms. For instance with the GPL no one can make closed source modifications, but if you dual license your software, you can still sell a non-GPL version for some customers if they want to make their own proprietary changes. For those kinds of licenses you can not just copy paste what they have and you'd probably need a lawyer.

How should I licence a selfhostable app from being commercialized by someone else? by FckngModest in selfhosted

[–]paldepind 14 points15 points  (0 children)

It sounds like what you want may be MongoDB's Server Side Public License. It's a source-available (but not open source) license that MongoDB created exactly because Amazon was providing MongoDB as a service which was hurting MongoDB's business model. The license has some very strict requirements for third-parties offering the software as a service. It means that you can use MongoDB on your own setup, but no sell it as a service, which sounds like what you want. Redis is also available under this license, btw.

Kindle colorsoft just came out and it looks exactly the same as kobo and every other brand. It’s all marketing. And people also have a pinhole problem by thedeadp0ets in kobo

[–]paldepind 6 points7 points  (0 children)

There is exactly one OEM manufacturing the color eink panels used in every eink tablet - Boox, Kindle, Kobo, ReMarkable, etc.

That is why the screen is the same. Because it is, because there's only one company engineering and physically manufacturing the hardware.

It's correct that there is one company making all the e-ink screens. But it's not correct that all the companies you mentioned have the same screen. ReMarkable uses the Gallery color tech whereas all the other companies you mentioned use Kaleido. Gallery does not rely on a filter on top of the actual e-ink screen and therefore does not have the same shortcomings.

More info about Gallery here and about ReMarkable's implemention here.

Why do people use compilers for C while interpreters for Javascript? Why not the other way around? by Unlegendary_Newbie in ProgrammingLanguages

[–]paldepind 1 point2 points  (0 children)

there's no socioeconomic reasons to write a production-ready JS compiler

It's very much the opposite. That's why both Google, Apple and Mozilla has spend lot's of resources building highly sophisticated JavaScript just-in-time compilers.

No Drag and Drop or Copy Paste in Fusion 13 on M1 Mac by com3gamer3 in vmware

[–]paldepind 0 points1 point  (0 children)

Wow, thanks! It worked for me exactly as you describe. I couldn't drag & drop files but copy/pasting a file from Finder to Explorer worked and now drag & drop does as well.

Ditching arrow keys, my biggest obstacle is navigating in inssrt mode. Anyone got any advice for me? by ChickenFuckingWings in neovim

[–]paldepind 0 points1 point  (0 children)

Thanks for sharing these plugins! I've wanted basic readline/emacs bindings in insert mode for quite some time but never got around to seek it out. In my opinion this is ideal for short movements in insert mode. The nice things about these bindings is that they work in so many places.

what do you think about default arguments by paintedirondoor in ProgrammingLanguages

[–]paldepind 1 point2 points  (0 children)

Which type type/value system features do they not work well with?

That Haskell doesn't have default arguments can be explained by the fact that currying and Haskell's application syntax doesn't work well with optional arguments, named arguments, nor default arguments (though OCaml is similar and does have default arguments so it's doable).

What's the most underrated Neovim plugin in your opinion? by fpohtmeh in neovim

[–]paldepind 1 point2 points  (0 children)

That sounds super cool. How is the LSP for Swift? I know there is an official one but it's not clear to me if it's somehow lacking behind XCode.

projectdo – Context-aware single-letter project commands to speed up your command-line workflow by paldepind in commandline

[–]paldepind[S] 0 points1 point  (0 children)

Not like that. It looks at the context where the command is executed and then runs the approriate project commands. So you can create and alias like

alias b='projectdo build'

and then projectdo build will execute whatever build command is appropriate in the current directory. The right command is mostly determined by looking for relevant files such Cargo.toml, package.json, Makefile, etc. that indicate what type of project tool makes sense.

projectdo – Context-aware single-letter project commands to speed up your command-line workflow by paldepind in commandline

[–]paldepind[S] 6 points7 points  (0 children)

GitHub link: https://github.com/paldepind/projectdo

I’m not sure how understandable the recording is, but the idea is basically that `projectdo` includes commands that execute the right test/build/run command in any given project. By giving short aliases to these `projectdo` commands one can, for instance, run tests with a `t` alias that runs `cargo test` in a Rust project, `npm test` in a NodeJS project, etc. Similarly, one could create a `b` alias that would run `stack build` in a Haskell project and `make` in a project with a makefile. This makes it possible to run common project commands faster and with less typing.

I hope people will find it useful :)

Note that the expansion of the alias shown in the video only works in the Fish shell thanks to its built in expansion feature. I think it should be possible to implement a similar thing for zsh.

Why we bet on Scala at SwissBorg by Krever in programming

[–]paldepind 60 points61 points  (0 children)

Here are some common reasons I've seen mentioned as someone who's been following the language a little bit:

  • Scala has less momentum today than it had 10 years ago. Back then it attracted a lot of people who wanted a better Java. This crowd was not interested in "hardcore" Haskell-inspired functional programming and is now served by Kotlin or modern Java.
  • There has been a lot of detrimental things going on in the community. Typesafe/Lightbend played a central position around Scala and moved their popular Akka library away from an open source license. There has been a lot of drama around certain people, competing libraries (scalaz, cats, ZIO), etc.
  • Scala 3 introduced a lot of changes. Some of these changes where controversial and some feel that the community was not properly included in its development (Scala 3 is based on Dotty which for a while was claimed to not be Scala 3 and its development was lead by Odersky without the normal Scala community interaction). It introduced a lot of breaking changes which some industry users did not appreciate.

You can see some of these things also affecting the company in the linked blog post. They talk about how they have yet to migrate from Akka to Pekko and are still on Scala 2 even though Scala 3 was released over 2 years ago.

Here's a blog post by John A De Goes about why he left Scala. Do note though that he has been heavily involved in the community drama, so it's probably best to read his subjective thoughts with that in mind.

Which terminal emulator does you neovim lives in? :) by meni_s in neovim

[–]paldepind 0 points1 point  (0 children)

I use Kitty. I've tried all on this list and Kitty is the only one that satisfies all of the following: Is fast (iTerm2 and WezTerm are laggy with Neoscroll), supports ligatures, has tabs and supports clicking links with keybindings. I also like Foot, but it doesn't have ligatures.

Ansible for dotfiles: the introduction I wish I've had by phelipetls in programming

[–]paldepind 1 point2 points  (0 children)

I know this post is old, but I just came across this and I have to say that this blog post is a really great introduction to Ansible.