• 17 Posts
  • 262 Comments
Joined 6 years ago
cake
Cake day: May 31st, 2020

help-circle
  • The problem is that it sounds like a riddle. In a riddle, you’re traditionally supposed to work within the rules that you’ve been told. So, not thinking outside the box here is not an indication that the person isn’t capable of doing so.

    Of course, if I encountered this problem in real life, I’d ask Carol from accounting to check the other room, while I flip the switches. But my instinctive answer was that it is not possible, because I assumed it to be a riddle and the provided rules did not allow a solution.


  • Ah shit, here we go again.

    I almost expected someone to learn that just from me posting. 😅

    Basically, OpenOffice used to be organized by Sun Microsystems. Then Sun got bought by Oracle back in 2010.
    Oracle does not have a good reputation at all, so the OpenOffice devs from back then figured they’d need to take things into their own hands and set up The Document Foundation to organize further development. But the OpenOffice trademark was owned by Sun/Oracle, so they had to rename and get a new homepage and everything. The name they chose is LibreOffice: https://www.libreoffice.org/

    After the OpenOffice project was effectively dead, Oracle handed it and its trademark over to the Apache Foundation, where it’s seeing occasional bug fixes. But to my knowledge, they don’t even have the capacity to fix all the security problems.
    All the actual feature development happens over on the LibreOffice side.

    So, in practice, if you want OpenOffice, what you really want is LibreOffice.


  • Yeah, not great. You always hope that projects under a larger foundation, like GNOME, have a higher bus factor¹, but unless that foundation has dispensible income to pay someone, you’re ultimately still reliant on volunteers and not many people volunteer for maintenance.

    What the foundation can do, though, which is also really important, is to hand over the keys to a new maintainer, should you disappear over night.
    Like, yeah, forking is great, but some people will never learn of the fork. It happens about once a year that I find someone online who’s still using OpenOffice and that project has been practically dead since 2011.
    So, I do hope we can get more open-source projects under some sort of umbrella. No idea how to actually do that, though. I also have open-source projects where I would not even know where to start to get them under some organization…


  • A few years ago, I set up a home-server with music and some pictures on there, and recently I noticed that my storage disk was getting full. Then I saw that the disk only had 16 GB and wondered, where the hell I got that small of a disk from.

    So, I go to plug in a bigger disk and can’t even find the original disk at first. Turns out my whole storage capacity was one of these bad boys:

    Spoiler

    A tiny USB-A stick, designed for keeping it plugged into a laptop at all times.

    And yeah, I’ve got about 1800 songs, clocking in at 5.8 GB, so even that tiny storage would easily be enough for a much larger collection.
    And I do also have them replicated on my phone, for listening on the go. (Don’t even need an SD card in my case.)



  • I thought about creating something like that and the major problem that I see is that lots of meme templates do have copyright and the font that’s typically used for memes, Impact, isn’t free either. Well, and it isn’t done by merely developing a software and offering it for download. You would need to host the meme templates or some editor webpage, which is a whole 'nother skillset.

    If we say that users bring their own meme template, and it can be a free font that looks similar to Impact, and it’s not to be hosted as a webpage, then it would be quite doable.
    You would “just” need to call the ImageMagick library with the right parameters. Still not trivial, but the path to get there is fairly straightforward. I could imagine that something like that already exists as an open-source project…




  • I find it so tricky, too. With the maintainers that I see struggling, it’s rarely a lack of contributions that fucks them up, but rather a lack of maintainers. And they can’t easily onboard other maintainers, because:

    1. there’s hardly anyone willing to invest enough time into your project to be a particularly helpful maintainer.
    2. everyone’s just strangers on the internet, who may or may not want to ship malware as part of your project.

    Like, I even have a friend who’s excited for a project that I’m building, but so far, they’re purely cheerleading (which is appreciated), because they do have projects of their own that they find fun, and in particular also a life outside of programming.
    I do not currently struggle with maintainership (because I haven’t announced my projects anywhere publicly 🤪), but yeah, it just feels like it’s asking for a lot, if I were to try to get that friend on board. In particular also, because not many aspects of maintainership are fun.


  • The thing I never understood about PowerShell is that it’s partially more verbose than C#, which is one of the most verbose programming languages in existence. It just feels like you might as well go for a full-fledged programming language at that point.

    The appeal of Bash et al is that the scripting is almost the same as the interactive usage, which you already know. But because PowerShell is so verbose, I’m really not sure people do use it interactively.

    I guess, that code snippet in the article makes somewhat of a difference, in that PowerShell offers better features for interop between processes. But man, that still feels like it could’ve been a library instead…




  • I agree in general, that a crash is much better than silently failing, but well, to give you some of the nuance I’ve already mostly figured out:

    • In a script or CLI, you may never need to move beyond just crashing.
    • In a GUI application or app, a crash may be good (so long as unsaved data can be recovered), but you likely need to collect additional information for what the program was doing when the crash happened.
    • In a backend service, a crash can be problematic when it isn’t actually necessary, since it can be abused for Denial-of-Service attacks. Still infinitely better than failing silently, but yeah, you gotta invest into logging, monitoring and alerting, so you don’t need to crash to make it visible.
    • In a library, you generally don’t want to trigger a crash, unless an irrecoverable error happens, because you don’t know where it’ll be used.

  • Currently implementing error handling for a library I’m building and the process is basically to just throw all of the information I can find into there. It makes the error handling code quite verbose, but there’s no easy way for me to know whether the underlying errors expose that information already, so this is actually easier to deal with. 🫠



  • Ephera@lemmy.mltoProgrammer Humor@lemmy.mlCareer Advice
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    Last year, money was running out in our project and the guy who had trained me decided he’d take the L and move to another project, so we could continue in the project. And yeah, suddenly I was in the role of the lead developer.

    Like, don’t get me wrong, I would’ve been the one to be moved to another project, if I wasn’t up for the task. It’s not like I was a complete dumbass.
    But it did still feel more like “I guess, we doin’ lead development now” rather than something I had intentionally worked towards.





  • Ephera@lemmy.mlOPtoOpen Source@lemmy.mlWhat's up with FUTO?
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 months ago

    From a communication viewpoint, that is fair, but to my knowledge (from being a professional software developer), effectively any license that is not ‘open-source’ or ‘free’ is by definition proprietary.

    Because those two terms describe licensing standards (the only established ones that I know of). Whereas I believe, “proprietary license” uses this meaning of proprietary:

    Nonstandard and controlled by one particular organization.

    So, they wrote that license themselves is the point. What it says in there is secondary in meaning.

    This is so highly relevant because in legal disputes, there is certain license compatibilities which are known to be possible.
    You can take a library licensed under the MIT license and use it in a project that uses the Apache-2.0 license and you’re perfectly fine. This is the foundation of why the open-source ecosystem exists at all.

    But you cannot take the source code from FUTO and use it in a differently licensed project, because no legal precedents exist to support this. (I believe, the FUTO license also actively prohibits this in some way, but that’s beside the point.)
    This has massive implications. Like, yeah, you can look at the code, but it is useless. If FUTO closes shop or enshittifies, you cannot fork their projects.
    And because you cannot legally re-use their source code in other projects, likely no one looks at it in depth either.