• 18 Posts
  • 490 Comments
Joined 5 years ago
cake
Cake day: May 31st, 2020

help-circle

  • It should be noted that theoretically, we don’t know how this external API is implemented. The vast majority of APIs are REST APIs and with REST APIs, there’s a decent chance that you can download an OpenAPI definition from the server which provides the API.

    REST APIs are basically APIs which use HTTP(S) for transport and then there’s some specific rules how the API should be designed. Often times, these rules are not strictly followed and people still refer to such an API as “REST”, because they assume that any HTTP API is a REST API. But yeah, similarly the guides you’ll find will likely also work with general HTTP APIs.


  • Sounds to me like they’re not trying to create a website for now, but rather just process some data, which they can later display in a static webpage.

    So, I’m guessing something like this:

    +--------+     +---------+     +----------+
    | Static |     | Their   |     | External |
    | Web    |---->| Own     |---->| API      |
    | Page   |     | Backend |     |          |
    +--------+     +---------+     +----------+
    

    But yes, unless there’s a lot of data to crunch, the design one would usually go for is rather:

    +-----------+     +----------+
    | *Dynamic* |     | External |
    | Web       |---->| API      |
    | Page      |     |          |
    +-----------+     +----------+
    

    So, the data calculations would happen in the user’s browser. You would still need some hosting for that webpage, but there’s lots of free services to put a simple webpage up.

    And yes, when you go with that latter design, then JavaScript would be the typical choice. It’s still possible to do it with Rust, using WebAssembly (e.g. a colleague of mine has built a small statistics webpage which gets data directly from GitHub, using the Leptos framework), but it is definitely the less beaten path.

    Having said all that, frankly, fuck the usual way of doing things. If you’re comfortable with Hugo for frontend work, then I think it’s legit to build a little backend to take over the dynamic part. Better to build a useful project and learn something than to get stuck trying to learn the ‘correct’ path of doing it. Especially if you’d rather learn about Rust than JS.


  • Ephera@lemmy.mltoLinux@lemmy.mlKDE Plasma 6.4 released
    link
    fedilink
    English
    arrow-up
    6
    ·
    6 days ago

    Those Spectacle changes look good. The old UI made some amount of sense, if the primary use-case was taking complete screenshots, but even for that, there’s probably a single shortcut to do that directly.
    And I do find, I generally want a smaller cutout these days, because you can just fit more stuff onto modern displays, some of which is going to irrelevant.


  • Yeah, the wording is confusing. A long time ago, there was no paid software, there was only software where you got the source code and other software where e.g. it was pre-installed on some hardware and the manufacturer didn’t want to give the source code.

    In that time, a whole movement started fighting for software freedom, so they called their software “free”.


  • Well, it didn’t feel like I’m tweaking to my needs (that came afterwards on top), it rather felt like I’m just undoing design decisions that someone made to cater to their specific needs.

    And I named the time mainly to give an idea of how much there was to tweak. My main problems were:

    • That I could not undo some of those unusual design decisions.
    • That it doesn’t exactly make the system more robust when you need lots of non-default settings.

  • Well, that was just kind of one example to illustrate that it isn’t just a static screenshot, you actually see what’s going on in real-time. It’s also useful when you’re running a longer operation, like OS updates or encoding a video, and want to see when it’s done or that it hasn’t failed. You can just tell when the command output has stopped moving or a popup has appeared…

    But thanks for the recommendation anyways!



  • I tried it a few years ago. I was really impressed by how lightweight and gorgeous it is. In particular, I found it really cool and actually useful that you got a live view of your other workspaces on your panel. You could even fullscreen a video on your other workspace and then watch (a very small version of) it in your panel.

    But yeah, even though I came back to it multiple times, I never ended up sticking around. It would crash regularly (not the worst thing, since recovery was generally seamless, but still meh), but in particular, it had some peculiar design decisions.

    For example, if you double-click a window titlebar in virtually any window manager, it will maximize. In Enlightenment, I believe it got shaded (i.e. the contents of the window got hidden and only the titlebar was still visible).

    Another prominent one was that its applet for connecting to WiFi and such didn’t support NetworkManager, but rather only ConnMan. If you’ve never heard of ConnMan, yeah, I only know it from Enlightenment, too. Similarly, my distro (openSUSE) didn’t package it either (and openSUSE was said to offer a relatively good Enlightenment experience). That’s something which should just work, because you can’t expect people to look up how they can connect to WiFi while they can’t reach the internet.

    And yeah, these are just the big ones that stuck in my head. There were lots of smaller usability issues, too. Many things you could fix by changing the configuration, but we’re talking many in an absolute sense, too, i.e. you might spend an hour or more just tweaking things so that they behaved like you might expect.



  • The problem is that corporations are not holistic organizations. In theory¹, a company could not have any juniors and always just hire seniors from the outside. And if your boss has reason to believe that this is more cost-effective, then they have to strive for that, even if they’re well aware that it cannot work when all companies strive for that.

    ¹) In practice, I’ve actually found that juniors are important, too. If you staff a project team with only seniors, you quickly end up in a situation, where they don’t talk enough to each other. They know how to solve things technologically, so they don’t need to tell each other about their challenges and what solution they chose.
    Similarly, you likely end up in a situation, where only big problems are being tackled, because everyone can tackle big problems and they’re just very visible, highly prioritized problems. But when you add up enough small problems, they become just as problematic.


  • I don’t have much experience with IPv6 yet either, but as I understand, the primary benefit is that you can get rid of a lot of the crappiness of IPv4, which you might just deem ‘normal’ at this point, like NAT and DHCP. It does happen quite a bit, for example, that we’d like a unique identifier for a host, but with IPv4, you need to store a separate UUID to accomplish that.





  • One thing to understand here is that it mostly depends on the “desktop environment”, which is basically the GUI of the system. (Imagine you could have the Windows XP GUI on a Windows 11 PC. Or the macOS GUI on a Windows 11 PC.)

    Distros intended for desktop use will typically come with a certain desktop environment by default, so to some degree, you can talk about the distro, but yeah, there’s just gonna be a strong correlation with their default desktop environment.

    To my knowledge, GNOME and (recent/Wayland versions of) KDE have good support. Most comments here imply these two desktop environments, so for example Ubuntu, Fedora and POP!_OS are typically GNOME, whereas Kubuntu and Nobara are typically KDE.

    Some folks here also mention Linux Mint and LMDE working well, which use the Cinnamon desktop environment, so I guess that works well, too. Cinnamon is somewhat based on GNOME.
    Well, and Elementary OS’s whole shtick is its Pantheon desktop environment, which is also based on GNOME.

    So, basically, as Elementary’s Pantheon is its own thing, there’s no guarantee that it’ll work, but I would not be surprised.
    As someone else already said, you can use a Linux Live USB to try it out before installing. You should be able to just follow along the installation instructions of Elementary OS and shortly before you actually install things, you should find yourself in Pantheon and can try it out.


  • I mean, B does make some amount of sense, if you realize that it’s supposed to give you the maximum among the parameters (so you’d normally call it as Math.max(5, 3) === 5).

    Well, and you can call that with zero parameters, because you can spread an array into it, which might have zero length. And then given these conditions, and if you don’t want to throw an error, then -Infinity is kind of the least bad remaining option, as it’s likely to generally work with the rest of your logic.


  • I also have basically only my personal experience to go off of (from studying computer science), but I never had to plug hardware into my laptop. Printers were available over the network and the one time we worked with hardware, they had dedicated lab PCs there, which had the necessary software pre-installed.

    From what I’ve heard on the internet, that’s quite a common theme. Lots of hardware equipment is ridiculously expensive, so you don’t go buying new equipment when accompanying software doesn’t work on newer operating systems anymore. Instead, you keep a PC around with that old OS and the software, specifically for operating that hardware.



  • I think the main reason why Word is losing mindshare, is because it was designed for paper. The whole formatting system makes the assumption that there’s a fixed width and height into which your text and images fit. In reality, a phone screen is a lot narrower and a widescreen monitor a lot wider.

    Markdown never made these assumptions. For the most part simply because plain text reflows to fill whatever space you give it. But there’s no way to position an image either, I imagine mostly for simplicity’s sake. It can look goofy at times, but it never looks broken.
    That’s why I can write this comment on my phone and someone else can look at it on desktop and it’s perfectly readable in both scenarios.