Skip Navigation
herzenschein Herzenschein @pawb.social

Just a stern but friendly rabbit furry working as a technical writer, learning germanic languages, gaming on Linux, interested in social psychology, fandom studies, locked-room mysteries and programming. Cis, gay, kinky, pm-friendly, single.

Posts 9
Comments 36
Development in Windows vs Linux
  • My understanding of Linux programming is that it’s mostly done in a code editor, then compiled on the command line.

    That's not really true. You can do that, but with most IDEs (and some text editors) you really don't need to do that. You can do everything from the IDE.

    I’m aware that cmake exists, and I’ve used it a bit, but I don’t like it. VS lets me just drop a .h and .cpp file into the solution explorer and I’m good-to-go. Is there really no graphical alternative for Linux?

    It depends on the IDE and how it handles project files. Nowadays Qt Creator for example can just create your source code files and automatically add them to the generated project CMake. I'm pretty sure other IDEs or text editors have this functionality when paired with CMake or Meson too.

    It must be noted that if the IDE has some custom project file manager (like Visual Studio does with sln and vcproj files) and you use it exclusively, you'll likely restrict your project to one platform and one IDE. Using something like CMake or Meson will make it easier to do crossplatform development and will let your users build the project without needing that specific IDE.

    Personally I like modern CMake, the problem is that you'll see a lot of projects in the wild doing old CMake style, which is awful. Meson is okay, although it feels very Pythonic to me and lacks some features I use for Qt stuff.

  • What was your first programming language? What is/are your most used?
  • I think I started with C#, went to C, then (pre-ES6) JS, Python, then Perl, then C++.

    I didn't get much interest or progress in most of them. C# was somewhat interesting because I could make actual windows, and Perl just has a lot of interesting text-geared concepts and was created by a linguist (my background is in language and literature, not in any IT field). Perl is still delightful to learn, though I'd go with Raku (Perl 6) now.

    The only language I really learned properly and use the most is C++, especially with Qt, as my true interest is GUI programming. I was never into raw algorithms and CLI programs.

  • KDE Plasma Constantly Stuttering, Try This!!
  • Everything. It doesn't accurately describe the issue (animation stutter when using an HDD or during heavy I/O) and it doesn't mention the solution (put the cache folder in tmpfs), plus it obviously follows the traditional sensationalist tone used in clickbait.

    The point is to be deliberately vague to bait people into watching it.

  • Does it make sense to create more communities in the lemmy.kde.social instance?
  • It's small enough that we actually don't get many things to moderate either. I don't think I've even done any mod action so far. :D

  • What is a valid use case for std::any?
  • I remember once researching when to use variant and any, and coming up with https://stackoverflow.com/questions/56303939/c-stdvariant-vs-stdany. The naïve summary being:

    any is a dressed-up void*. variant is a dressed-up union.

    So you'd use std::any for similar reasons to void* (that other commenters already mentioned) while getting some advantages. In that sense it's kinda similar to using a std::span for pointer arithmetic instead of actual C-style pointer arithmetic, it makes a necessary evil safer to do.

  • Fan art of Konqi by DanCrescentWolf

    Original post here: https://pounced-on.me/@dancrescentwolf/112280924285356180

    Quote from the Mastodon post:

    > I made a free wallpaper of Konqi > > :3 > > You can download the 4k .png file on my ko-fi shop uwu > Hope I'll be able to do more :3

    1
    Help me address some problems with C++ (beginner questions)
  • can I write modern C++ code using the newer standards and still compile with libraries from older standards?

    Yes, but then your project ends up requiring that newer standard as minimum too (which can be fine if that's what you want).

    how do I even organize a C++ project?

    Well, one way that should be simple and scalable for beginners is leaving the root folder for project configuration/metadata/contribution guidelines/clang-format etc. and putting all source code inside src/.

    If it's just an app, you can make smaller library targets in src/ in separate folders with meaningful names, like src/models/, src/settings/ etc. If it's a library, you typically put headers you intend to expose to your users in a src/include/ folder and use target_include_directories() to point to it, otherwise the same principle as apps applies.

    It requires writing a few more, smaller CMakeLists, but it does mean you're never lost in your own code.

    how do I install dependencies?

    We added this recently to KDE's developer documentation, so at least for Linux it's a start: Installing build dependencies: Using build errors to find missing dependencies.

  • Best Practices in Writing Applications in QML | User Interface | #QtWS21

    From the Qt World Summit 2021, but it mentions cool things like avoiding unqualified access, string interpolation, interaction signals and object names.

    Not sure about ?? and ?. though...

    0
    I am now a linux person
  • Welcome Linux furson :P

  • FYI: Malicious/Badly Written KDE theme can wipe out all your data
  • FYI for whoever is reading this: it wasn't just a theme, but a Global Theme: it can include a Plasma Style, a color scheme, an icon theme, a panel layout template, an SDDM theme, wallpapers and widgets. Widgets are capable of running arbitrary code, just like GNOME extensions.

    Here's the response article from one of our main developers: http://blog.davidedmundson.co.uk/blog/kde-store-content/

    In the short term we need to communicate clearly what security expectations Plasma users should have for extensions they download into their desktops.

    We need to improve the balance of accessing third party content that allows creators to share and have users to get this content easily, with enough speed-bumps and checks that everyone knows what risks are involved.

    Longer term we need to progress on two avenues. We need to make sure we separate the "safe" content, where it is just metadata and content, from the "unsafe" content with scriptable content.

    Then we can look at providing curation and auditing as part of the store process in combination with slowly improving sandbox support.

  • www.qt.io RESTful Client Applications in Qt 6.7 and Forward

    A blog post about making RESTful Qt client application development more convenient.

    RESTful Client Applications in Qt 6.7 and Forward

    Cool stuff:

    > Qt 6.7 introduces convenience improvements for implementing typical RESTful/HTTP client applications. The goal was/is to reduce the repeating networking boilerplate code by up to 40% by addressing the small but systematically repeating needs in a more convenient way.

    > These include a new QHttpHeaders class for representing HTTP headers, QNetworkRequestFactory for creating API-specific requests, QRestAccessManager class for addressing small but often-repeating pieces of code, and QRestReply class for extracting the data from replies and checking for errors. QNetworkRequestFactory, QRestAccessManager, and QRestReply are released as Technical Previews in Qt 6.7.

    0
    This looks very interesting, something any opensource organization/project might want to emulate. Right ?
  • We're always open to doc contributions. Interested in any particular areas? 🐰

  • Experiencing Linux Spatial computing with StardustXR
  • Heh, I was expecting it to run on Wayland and I was not disappointed. Nice.

  • Welcome to Furry Programmers!
  • Hey there, I'm Herzenschein. I had no formal education in IT, I'm a translator originally. I work with software documentation involving open source Qt apps now, so I get to read quite a bit of C++ code. I get pretty hyped at modern C++ features, and I dabble a bit in Perl and Python.

  • Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022

    Best resource I've seen out there for template basics. It even briefly mentions variadic templates, concepts that are easy to understand, auto in function parameters (a.k.a. abbreviated function templates) and how to find out what type is chosen when you do class template automatic deduction (CTAD).

    I feel like this is an absolute must-watch if you want to know about modern template practices.

    1

    Writing C++ to Be Read - Vincent Zalzal - CppNorth 2023

    I quite liked this talk. Especially where Vincent talks about aggregate initialization, invariants and avoiding invalid values.

    2
    New programming language needed for KDE?
  • without the need of the moc

    I got a bit of a mind freeze reading that sentence since my first thought was "why would someone deliberately give up on Qt's reflection system" but only then realized they're still using QMetaObject (the thing that actually enables reflection and signals and slots), just building it with something else.

  • Pod::CYOA - Pod-based Choose Your Own Adventure website generator (?!)
  • So a generator for things like Twine stories?

  • Is it true that Thunderbird collected more donations than KDE?
  • Afaik the reason why they're not using GitLab issues it's missing some features they need, which Bugzilla has.

    Yeah.

    https://community.kde.org/Get_Involved/Issue_Reporting/Why_not_GitLab_Issues

  • What is the correct way to place a Kirigami.SearchField inside the window header?
  • Also, you should only use Layout attached properties when the object you're using it on is a child of a Layout, for example:

    ApplicationWindow {
        ColumnLayout {
            anchors.fill: parent // Not a child of a layout, so you use anchors
            Controls.Button {
                Layout.fillWidth: true // It's a child of a layout, so you use Layout.fillWidth
            }
        }
    }
    
  • What is the correct way to place a Kirigami.SearchField inside the window header?
  • So what you want to do is put a Kirigami.SearchField inside the global toolbar created by the Kirigami.Page. It's not a header.

    In the first case you're putting it inside the page, and because it's a direct child of a Kirigami.Page, it is automatically laid out for you, which is fine, but not what you want.

    In the second case you're putting it in the header of the ApplicationWindow, but you actually want to put in the global toolbar of the page, so it's not what you want.

    In the third case you're just putting a SearchField before the initialPage, so it's loaded on the same level as the page, it's not what you want.

    You can put it in the header property of the Kirigami.Page, but the header area of the page doesn't include the global toolbar, so they just happen to be close together by chance.

    The way I'd have expected to do that would be to override the globalToolBarItem of the Kirigami.Page, but it's read only, so I don't really know how to help you with that. You should ask in the Kirigami Matrix room or in the Discuss forum.

  • Wayland window in X11
  • I can't tell you why this is happening, but what is clearly happening is that your apps are being run under a nested kwin_wayland instance. It's as though you were running kwin_wayland krunner.

    If anyone’s wondering, my main issue with Wayland was that it wasn’t setting the DISPLAY and WAYLAND_DISPLAY environment variables for some reason, and this would cause all kinds of software like Steam and Firefox to not even launch. I tried setting them manually but that didn’t go do well either.

    My guess is that whatever fix you attempted here caused this, so you'd need to be more specific about what you tried.

  • How will forge federation affect issue tracking/reporting?
  • I was thinking, with the recent news of a contributor to GitLab adding support for forge federation, some time we could see that being enabled in the KDE instance as well, I hope.

    It would be cool indeed. It would mean that people on KDE Invent could make issues and MRs directly to the Freedesktop Gitlab, for example, if both were federated.

  • Which open source mascots do you find cool?

    For reference, here's a few incomplete lists:

    • https://en.wikipedia.org/wiki/List_of_computing_mascots
    • https://www.linuxfoundation.org/blog/open-source-symbolism-exploring-the-stories-behind-linux-foundation-project-mascots-and-logos
    • https://online.supertuxkart.net/addons.php?type=karts

    A few that I don't see in the lists are:

    • llvm dragon: https://llvm.org/Logo.html
    • buildah pug: https://buildah.io/
    • podman seal: https://podman.io/
    • openSUSE gecko: https://en.opensuse.org/openSUSE:Artwork_brand#Logo
    10

    Pawb.Social doesn't seem to have Markdown enabled for post titles

    When I visit, for instance, https://pawb.social/post/1768987, I can't see the title formatted in Markdown. However, https://lemmy.kde.social/post/60846 shows up correctly (aside from the last cut part).

    2
    pointieststick.com Call to Action: Easy porting opportunity in Plasma

    This post is a Call To Action™ for those with the ability to set up a Plasma development environment and an interest in code hygiene. Plasma 6 development is in full swing, and we have an opportuni…

    Call to Action: Easy porting opportunity in Plasma
    1