Live data from Hacker News

Make Apps for Linux

makealinux.app

11–20 of 422 posts

Re: Make Apps for Linux

#11
post #5

Maybe I'm just too ignorant to know the pattern that determines whether I need to specify 'dev' and 'version' on a package or some random trailing '1' or '0', but the first linux distro with a sensible and consistent naming scheme for packages is the one that wins my heart. `libgnutls-dev` `libgtk-3-0` `libwayland-server0` `libxcb1` `libx11-6` `libffi-dev` `libncurses5-dev`

Separating binaries from sources is a Debian convention. If you're just using a library, non-dev is sufficient. If you're developing with that library, you'll also want -dev, which will install the headers.

Nothing special about the trailing 1 or 0; that's just part of the package name/version.

Re: Make Apps for Linux

#12
This is one of the biggest issues holding the Linux platform as a whole. It's often cited as a strength, but I don't see it as such. Many times, the plethora of choice is pushed forward by devs as an advantage of Linux ("you have so many choices to pick from!") but for many users this presents the paradox of choice - and pushes many people back to the platform they came from.

You get less choice on macOS and Windows, but the choices available are much more polished and less fragmented.

i.e. How many different tiling window managers do we need? Can't we take the best tiling wm's and start developing better docks and applets for them? How about apps and launchers that integrate with the tiling WM paradigm? Instead we end up with 10 different varieties of tiling wms and half-baked half-assed workarounds and programs for them.

Re: Make Apps for Linux

#13
post #5

Maybe I'm just too ignorant to know the pattern that determines whether I need to specify 'dev' and 'version' on a package or some random trailing '1' or '0', but the first linux distro with a sensible and consistent naming scheme for packages is the one that wins my heart. `libgnutls-dev` `libgtk-3-0` `libwayland-server0` `libxcb1` `libx11-6` `libffi-dev` `libncurses5-dev`

Arch and its derivatives (mostly) don't have any of that.

Though -dev means stuff only needed when developing against it.

Number means major version number (so compatibility number). This way you can easily install multiple major versions as dependencies for different packages without clashing or breaking.

Re: Make Apps for Linux

#14
I recently switched from Mac to Linux so that I can use beefy refurbished machines as my daily driver. I've installed Linux on lots of different machines previously, but this time it's not just a hobby.

Ubuntu has great support for my hardware and peripherals, but the app store feels unfinished and forced. Pretty much everything works as expected.

I'm interested in checking out Mint (also Debian) and Arch, but it feels like there's a lot of software written with Ubuntu in mind, so I'm wary.

Re: Make Apps for Linux

#15
post #5

Maybe I'm just too ignorant to know the pattern that determines whether I need to specify 'dev' and 'version' on a package or some random trailing '1' or '0', but the first linux distro with a sensible and consistent naming scheme for packages is the one that wins my heart. `libgnutls-dev` `libgtk-3-0` `libwayland-server0` `libxcb1` `libx11-6` `libffi-dev` `libncurses5-dev`

If you are building a program, install the -dev package. Numbered -dev packages are usually not relevant; there should be an unnumbered one that forwards if needed.

During the build of a program, you record which numbered suffix (= ABI version, should be the same as the .so.N suffix but that's not how you look it up; this allows you to install multiple incompatible copies of the library and they will be used by the appropriate, though distros usually prune these after each major release) is used. This should be automatic. (if there's more than one number, all but the last are part of the library name itself. There might be exceptions for BSD-style libraries?)

When installing, you should be automatically using the dependency you recorded during the build.

Re: Make Apps for Linux

#17
post #5

Maybe I'm just too ignorant to know the pattern that determines whether I need to specify 'dev' and 'version' on a package or some random trailing '1' or '0', but the first linux distro with a sensible and consistent naming scheme for packages is the one that wins my heart. `libgnutls-dev` `libgtk-3-0` `libwayland-server0` `libxcb1` `libx11-6` `libffi-dev` `libncurses5-dev`

-dev contains the headers, that ones pretty easy.

The number is a version for when they provide more than one that can be installed at once (excepting where it's part of the library name, presumably like xcb1).

I.e. at some point you could probably install libgtk-3-0 and libgtk-2-$something at the same time. They likely leave it that way when they get rid of libgtk-2 so that existing tutorials that reference libgtk-3-0 don't fail because the package is now libgtk.

The libwayland-server0 one does get me, I don't know why there's a 0 at the end. I do know that in /var/lib there is often the same library with various .$number endings, but I've never looked into what that accomplishes.

Re: Make Apps for Linux

#18
post #5

Maybe I'm just too ignorant to know the pattern that determines whether I need to specify 'dev' and 'version' on a package or some random trailing '1' or '0', but the first linux distro with a sensible and consistent naming scheme for packages is the one that wins my heart. `libgnutls-dev` `libgtk-3-0` `libwayland-server0` `libxcb1` `libx11-6` `libffi-dev` `libncurses5-dev`

-dev contains the headers, that ones pretty easy. The number is a version for when they provide more than one that can be installed at once (excepting where it's part of the library name, presumably like xcb1). I.e. at some point you could probably install libgtk-3-0 and libgtk-2-$something at the same time. They likely leave it that way when they get rid of libgtk-2 so that existing tutorials that reference libgtk-3…

> but I've never looked into what that accomplishes

ABI versioning.

Re: Make Apps for Linux

#19

> Stop making Linux distributions, make applications instead. Stop listening to people trying to tell you what you should do or not.

Stop listening to people who say to stop listening to people trying to tell you what you should do or not. It is not all relative, there are good and bad choices.

Re: Make Apps for Linux

#20
The problem is OSS software not even trying to compete with the market. People using OSS software taking it for granted that the UX is going to be subpar, and it really is. Regular propriety software faces the risk of their users not paying, therefore adapting to make end user experience great. OSS usually doesn't have that risk. Open source needs to be exposed to risk from end users.

I tried to change that with Notes[1] but I find it hard to live on solely on ads. I tried to incorporate paying for some premium features (like Kanban) but the app is still fully FOSS therefore everyone can compile it from source easily.

I think I'll close-source my next app[2] before it launches. I just can't risk not being paid for my hard work. I also believe the Linux community will benefit from that, since getting paid will allow me to invest more in making UX-focused apps on Linux. I might open source some parts of it tho (or maybe all of it in the far future).

[1] https://github.com/nuttyartist/notes

[2] https://www.get-plume.com

Post reply on HN