Live data from Hacker News

Make Apps for Linux

makealinux.app

241–250 of 422 posts

Re: Make Apps for Linux

#241

Earlier quoted context omitted.

Well, so I can only tell you as much as I know and understand. Some of this pulls in some outdated information too. So, JVMs and languages that abstract the underlying machine are always going to have overhead. The original interpreted stack-based JVM model is really bad for performance because you can't do great optimizations on the code because you can't have a great view of the operands that are being defined and…

> So, JVMs and languages that abstract the underlying machine are always going to have overhead. Well, so JavaScript and WebAssebly isn't that great either in the end? > The original interpreted stack-based JVM model is really bad for performance because you can't do great optimizations on the code because you can't have a great view of the operands that are being defined and then subsequently used, on top of that yo…

Fantastic demonstration of Cunningham’s law, but I think you missed the point.

Re: Make Apps for Linux

#242
post #80

Earlier quoted context omitted.

Cuplrits are mostly glibc devs with their manic abuse of version names (and very recently, a GENIUS who added a new ELF relocation type): this is a pain for game developers to provide binaries which span a reasonable set of distros in time. Basic game devs install one of the latest mainstream and massive distros, build there, and throw the binaries on steam... but that recent distro had a glibc 2.36 and now their bin…

I agree. I recall a talk from Linux Torvalds on how bad the glibc folks break things and why he won't ship a binary version of his scuba tool. If the binary breakages start with the darn C lib, you're gonna have recurring problems all the way up the stack on a regular basis I feel.

If the binary breakages start with the darn C lib, you're gonna have recurring problems all the way up the stack on a regular basis I feel.

In general glibc maintains an extremely stable ABI[1]. Forwards compatibility in both glibc and libstdc++ is something many companies depend on for their mission critical applications, and it's the entire reason Red Hat pays developers to maintain those projects.

[1]: https://abi-laboratory.pro/index.php?view=timeline&l=glibc

Re: Make Apps for Linux

#243

Earlier quoted context omitted.

> Not only in regards to figuring out the language and resources available but also the fact that creating a GUI still requires external dependencies. What external dependencies does Java need that's not in the JDK itself? I have an app with Mac and Windows installers (and thus bundles JDKs), it also runs on Linux (via a fat jar), I tested it on Ubuntu, but for the life of me I couldn't figure out how to package it p…

> What external dependencies does Java need that's not in the JDK itself? I mean that it doesn't come with Java itself, but you as a developer need to pick a UI framework and not all of them actually work all that well cross platform or will get you an actual modern interface. Edit: I should also note that the threshold for entry I am talking about is for people just generally starting out. There simply are way more…

Well, Swing is still bundled with Java. Netbeans uses the "Flat Look and Feel" and looks ok to me. I find Swing a lot more work compared to FX.

JavaFX used to be bundled with Java, but was removed. Some JDK distributions bundle FX like it was before, and adding FX to a new project is simple and straight forward. Maven packages it nicely, and it includes the platform specific binary parts. If you can use Log4j, you can use Java FX. Onboarding onto FX is not a high bar.

I can not speak to SWT.

There's several examples of "modern" UIs in FX, I can't speak to any of them, I don't pay much attention to that space. It's imperfect compared to the web, but not impossible.

Re: Make Apps for Linux

#244

Earlier quoted context omitted.

There is a large intersection of Linux users and people who cherish their freedoms. For many people, using non-open source note taking software is a non starter because of the vendor lock-in and privacy concerns. Thus, you'll probably lose out more by not open sourcing the program than by open sourcing it and risk having some people not pay. I wager a lot more people is willing to pay than use proprietary software. A…

There are some programs that sell binaries but also give away the code. The premier pixel art editor Aseprite is free (source available, not open source) if you're willing to build it from source yourself, but most users buy the prebuilt binaries. I think this way you satisfy both the privacy conscious / cheapskates, and also the developer's economic needs. RMS doesn't approve I'm sure, but you can't please them all.

if the license is GPL you can give away the source and sell binaries. you can even restrict giving the source to those that buy your binaries.

red hat is doing that.

the only limitation is that you can't prevent anyone who has the source from building it themselves and giving away those binaries. but most people who do pay for the binaries won't do that. so whether this strategy works depends on who is your target audience.

if you are targeting developers you probably won't sell much. but other audiences may be fine. i don't know.

Re: Make Apps for Linux

#245
post #179

Earlier quoted context omitted.

As far as I understand, Windows solves this libc++ versioning issue using the side by side cache. I guess this is a little bit like flatpack.

Windows standard C and C++ ABI is stable since 2017. So the last 3 releases of the Visual C Compiler and C runtime hasn't changed the ABI. However Windows also has a lower level system API / ABI i.e. Win32 that's always stable all the way to Win 95. WinSXS sometimes helps for certain legacy apps too. This allows apps using different C libraries to work together. Win32 contains everything about the OS interface. Creat…

I agree.

The elf loader should be extracted from the glibc... but there is price to pay, and it is where those guys could do their manic ABI breaking again.

Some very low level interfaces will have to be defined between the external elf loader and the posix/c runtime. For the moment those interfaces are private, just look at how intimate they are about threading and TLS.

Re: Make Apps for Linux

#246

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 Note…

I am in an interim CTO position and the year before the title of a role I acted as had "Principal" in its title. I still write Commonmark files to render them to HTML and PDF with Pandoc.

There are dozens of Markdown note taking apps out there. There are half a dozen Notion clones out there. I know which one will overwhelmingly win mindshare due to a special feature but I won't give away why (the feature itself is more valuable than a Notion clone or even Notion itself).

You might be able to get paid for providing something valuable to others. Sometimes hard work is involved in providing value to others, but performing hardwork doesn't necessarily mean you have provided value to others.

Re: Make Apps for Linux

#248

Earlier quoted context omitted.

>Win32 (via Wine or Proton) is the most stable target for Linux right now Tangential, Winamp 2.xx from the '90s runs and plays MP3s just fine on Windows 11 today. There are better apps for that today, but I still use it because nostalgia really whips the llama's ass. Pretty wild that the same thing is not the norm in other OSs. Even wilder is that I still have my installed copy of Unreal Tournament 99 from my childho…

> If that's not stable, I don't know what is. What is? An immense amount of resources (developers) poured into developing live patches to make applications work on each newer version of Windows (or helping the application developers fix their applications). It's an interesting conceptual grey area - I don't consider it backward compatibility in a strict sense. This is documented in the book "The old new thing" by Ray…

> I don't consider it backward compatibility in a strict sense.

Just in the sense that 100% of the people who use the phrase "backward compatibility" mean.

Re: Make Apps for Linux

#249

Earlier quoted context omitted.

Java simply has a much higher barrier of entry. Not only in regards to figuring out the language and resources available but also the fact that creating a GUI still requires external dependencies. Electron isn't just cross platform, it is cross platform based on technologies (html, css and javascript) that also by a huge margin have the largest amount of developers available.

> Not only in regards to figuring out the language and resources available but also the fact that creating a GUI still requires external dependencies. What external dependencies does Java need that's not in the JDK itself? I have an app with Mac and Windows installers (and thus bundles JDKs), it also runs on Linux (via a fat jar), I tested it on Ubuntu, but for the life of me I couldn't figure out how to package it p…

For Linux, I'm using jpackage to package my Java software to .deb (x64 architecture) file. For all the other Linux variants, I've a .tgz file that contains the jar file, libraries and icons of the applications.

The problem I have with Linux is named at the end of the website: "Sharing your creation". It's pages and pages of documentation that is not relevant to the packaging of your application where you can spend hours of work without finding what you want of finding out that it doesn't work for you because for example it's not on GitHub. Hopefully jpackage was able to fix it for the .deb format. Instead of working on more documentation, working on better and easier to use packaging tool would help.

Re: Make Apps for Linux

#250

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 Note…

> People using OSS software taking it for granted that the UX is going to be subpar...

After using the abomination known as Windows 11, I'd argue that the UX of Linux is well beyond par, especially when par for Windows 11 is showing Microsoft ads at you while you're using almost every application.

Post reply on HN