• 15 Posts
  • 132 Comments
Joined 8 months ago
cake
Cake day: February 10th, 2024

help-circle



  • FWIW, I think it’s too early to tell where this will end up.

    On the one hand, it’s possible that machine-manipulated (or even machine-generated) voices will supplant most of the demand for voice actors, much like modern photo/image tools and cheap crowd sourcing supplanted much of the demand for professional photographers.

    On the other hand, the legal issues (and possible protections) around human likeness and unauthorized use of existing work are in their infancy, and we’re already seeing a lot of mediocre-to-bad output from content generation machines.

    It should be interesting to see how this all unfolds.


  • I mentioned Electron only to acknowledge a well-known cross-platform toolkit, not as an example of acceptable results.

    Tauri on Linux is effectively a Gtk wrapper (plus WebKit), which makes it unappealing to me. I keep it bookmarked anyway just in case I find myself in a situation where the only other option is Electron, since I suspect Tauri would at least be lighter on system resources.



  • I don’t enjoy writing in Tcl. If I were to use Tk today, it would probably be through Python’s tkinter package.

    IMHO, Tk interfaces look awful by default, but they can be made to look pretty decent if you’re willing to hunt for (or create) a good theme. I have considered it a couple of times for trivial tool UIs, and I occasionally use one that someone else wrote.

    That said, getting it to look native on multiple platforms would take more effort than I feel is worthwhile, and getting it to feel native (keyboard nav, etc.) even more so. Qt has this stuff built in, and a lot more.


  • be as portable as possible

    This is important to me, which narrows down my options quite a bit.

    Electron is portable across desktop OS, but unacceptably bloated (I don’t want my users to have to deal with that) and buggy (I don’t want to deal with that).

    wxWidgets and various similar wrapper libraries exist, but on Linux most of them wrap Gtk, which in recent years has become very opinionated in UI directions that I find intolerable.

    A few new cross-platform GUI toolkits have been appearing recently, but I’ve found all of them suffer from poor text handling, anemic widget sets, or very out-of-place look and feel (especially keyboard navigation) relative to native applications.

    That leaves Qt as my only reasonable choice, at least for now. This is mostly okay, as it does a wonderful job all around. My main complaint is that using the full power of its widgets and libraries means I’m restricted to a handful of languages: C++, Python, and maybe one or two minor ones like D. Its declarative API (Qt Quick) seems to be getting more language bindings, though, so simpler apps might be possible in other languages.

    Note that the landscape is different for mobile apps. I don’t have a recommendation for those.




  • https://en.wikipedia.org/wiki/Internet_Draft

    I think it’s pretty clear that IETF drafts are not what author meant when he wrote draft, and I’m pretty sure the IETF doesn’t have much to do with C++ standards.

    Are you under the impression that there is no other sense of the word?

    It might help you in the future when you are discussing things like drafts, specifications, and proposals.

    As it turns out, I have done more than a little of that. Thankfully, I don’t usually see such condescending remarks in the process, nor such insistence on misunderstanding. Good luck to you, too.




  • mox@lemmy.sdf.orgOPtoProgramming@programming.devSafe C++
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    15 days ago

    this is yet another competing standard of static analysis.

    No, it isn’t.

    Those are linters. They might or might not discover problematic use of unsafe language features lurking in existing code.

    This proposal is a new iteration of the language and standard library. It would provide safe language features for preventing such problems existing in the first place.




  • How would this control people selling their used hardware? I don’t see anything about Sony trying to disable resold consoles.

    you’ll get “a product that works like new with genuine PlayStation replacement parts (as needed) that has been thoroughly cleaned, inspected and tested”. You will receive all the cables and paperwork you need for a PS5, and it comes with a 12-month manufacturer’s warranty

    That’s worth a premium to some people.



  • Control+F: VMS

    Phrase not found

    Disappointing that the author didn’t seem aware of Windows NT’s connections to VMS. Some fun facts:

    • Dave Cutler, the WNT lead architect, previously worked on VMS.
    • Several of WNT’s internal systems bear similarity to those in VMS.
    • VMS is a closer contemporary of Unix than WNT is.
    • Advancing each letter in “VMS” yields “WNT”. (It has long been speculated that this was no accident.)

  • I’m trying to understand Git, but it’s a giant conceptual leap.

    In that case, I suggest learning Mercurial first. Its underlying design is very similar to Git, but the interface is more consistent and does a much better job of presenting the concepts to humans (especially those already familiar with traditional version control). Then, once you’re comfortable with the concepts and commands in Mercurial, learn Git, since it’s everywhere nowadays.

    Consider learning at least one new language, if not immediately (since you’re in a hurry) then in your free time. Java is only one of many (and not even a particularly nice one IMHO). Try to find a language that you enjoy using; your programming life will be better for it. If you want something flexible and productive, consider Python. For more structure than that, maybe Go. If mobile apps interest you, there are Kotlin (Android), Swift (iOS), and Dart (both). If web development appeals to you, along with lots of job openings and lots of competition for those jobs, JavaScript. If you fancy the esoteric (and well-paying), Elixir and Erlang are worth a look. Lower level languages are in demand as well (e.g. C++, Rust) but they come with various kinds of pain that I wouldn’t recommend to someone in your situation.

    Above all, please make sure you’re reserving time for things that make you happy, sleep, and (if still possible) some kind of exercise. Your own physical and mental health are important. If you endure a bad working environment or wear yourself thin for too long, you will burn out, which won’t help you provide for yourself or anyone else.

    Take care, OP.


  • One pattern I’ve noticed is people seeking a language that’s better than {JSON,XML,INI,etc} at wrangling their slightly complex configuration files, noticing the additional features and type support offered by YAML, and assuming it will be a good solution.

    Then, as their configs grow ever larger and more complex, they discover that expressing them in YAML requires large sections of deep nesting, long item sequences, and line wrapping. The syntax style that they saw working well in other places (e.g. certain programming languages) breaks down quickly at that level of complexity, making it difficult for humans to correctly write and follow, and leading to frequent errors.

    YAML doesn’t suck for small stuff, IMHO. (But it is more complex than necessary for small stuff.)

    For things likely to grow to medium-large size or complexity, I would recommend either breaking up the data into separate files, or looking for a different config/serialization language.