Hacker News new | past | comments | ask | show | jobs | submit login
[flagged] QtNotepad: Super lightweight and super simple notepad application (github.com)
18 points by TsukiZombina 7 months ago | hide | past | web | favorite | 22 comments

Genuine question: how do these posts make it to the front page?

I mean no offense for the poster, but this application doesn't do anything, the code is like 200 locs. It's basically a toy project from someone trying to learn a framework that's not particularly innovative.

I think projects like this are great examples to learn from, especially when executed to a high standard.

Somewhere between partial examples of a bit of a project, and a full blown 'proper' application that would be too big to use as an example, there is a sweet spot for project like this. I think that's why they occasionally bubble up. Certainly if there was such a thing as a single 'best' sample project for any language I was interested in, I'd like to have a look at it.

When using qt as dll's, apps typically become several tens of mbs in size in my experience. I'm on Windows though. Is windeployqt extremely suboptimal if this is just 50kb standalone?

It doesn't look like it's actually standalone. The "50KB" on the main page refers to the size of a precompiled Linux binary, which is linked dynamically. So this makes about as much sense as only counting minified JavaScript for the size of an Electron app.

It makes a lot of sense, actually, because you probably have Qt installed and loaded already. The norm is to link to this system wide installation, so you don't count it as part of the application. On the other hand, the norm seems to be to ship a fresh copy of Electron with every app, and even if you have a system-wide Electron, it gets loaded anew for every app.

It's the norm on Linux, but not on other platforms.

But either way, Qt5 still has to be installed (and, usually, downloaded) separately in many distros, especially those that are more Gtk-centric.

I think most people will have at least one Qt app installed. And the screenshot shows that (for once) the target are KDE users.

I think it would be better to ship the Qt DLLs with the app for compatibility reasons. The issue with Electron is not the size of the bundle on disk, but the size of the application in memory.

From what I remember you need a commercial license to link QT statically so it's unavoidable. I'm guessing linux reuses the shared library, but apps on windows usually ship all DLLs alongside the binary.

Qt for X11 was GPL since at least Qt 3, which certainly means you could legally link it with other GPL sources in any manner. I believe Qt 4 went LGPL for all platforms, so now I believe you can link it with pretty much anything that's open source, and dynamically link proprietary applications.

I am not a lawyer and some people disagree with how to interpret the rules of linking, but I think this is mostly the conventional wisdom.

You can link statically LGPL to anything, as long as you provide a way to relink by the user - so, .a or .o files available for download are enough.

A commercial license, or you license your code as GPL or LGPL.

> apps on windows usually ship all DLLs alongside the binary

Can someone tell me why this is the case? Beyond simply not having a package manager to do dependency resolution. You lose most of the benefits of shared libraries if you do this.

This is probably why dynamic linking appears to be decidedly a second-class citizen with Rust and co.

Afaik, they ship installers usually, not simply a dll binary for their local use; if its installed systemwide, no installation occurs, and if not, its installed system-wide. But the system’s copy is used generally, in either case.

Can someone tell me why this is the case?

Because hard disk space is dirt cheap and my time and sanity are not.

I dont believe you have to provide source - https://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynami...

Yeah, lol. Qt and super lightweight don't go hand to hand. I have a spinny hard disk and reading those dozens of megabytes off the hard disk would take a few seconds, as opposed to opening the actual notepad.exe, which is always instantaneous.

I don't follow. What can this do that notepad.exe can't?

It's a Qt app which can run on virtually any platform.

Fwiw, Notepad runs great under wine :) But why would I use notepad when Sublime is so much prettier? MSPAINT, on the other hand...

If I take notes. Or open up a file to check something. Or do anything that isn’t programming. I only ever open in Notepad it Notepad2. I would never open into a full editor like notepad++ or sublime etc.

Why would you use mspaint over aseprite?

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact