• Mikina@programming.dev
    link
    fedilink
    arrow-up
    12
    ·
    4 months ago

    We found a RCE on a server during pentest. In KOBOL.

    Learning how to make a reverse shell in KOBOL was pretty unique experience. Thankfully, we found another path to DA ajd didn’t have to continue, but maan, learning KOBOL, especially of your use-case is niche, is borderline esoteric.

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    6
    ·
    4 months ago

    Somewhere before 2010, when I was still on Windows on my laptop and using AutoHotkey, I learned a dialect of Basic. To write an application starter on my USB stick, when going to internet cafes. The starters job was just to run my AutoHotkey script with AutoHotkey interpreter. I never used the Basic language again. I actually forgot which dialect, maybe FreeBasic.

  • Ogeon@programming.dev
    link
    fedilink
    arrow-up
    19
    ·
    4 months ago

    I was a teacher’s assistant in beginner’s programming at university for a bit. I expected them to learn C, which I knew enough of, but I got assigned to a group that learned Python instead. I had never used Python at the time. I ended up having to speed learn it while trying to teach it, to not be completely useless.

  • Noo@jlai.lu
    link
    fedilink
    arrow-up
    6
    ·
    4 months ago

    Because I couldn’t find any dev to help me make the game I wanted to make.

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      4
      ·
      4 months ago

      This is actually reasonable. You didn’t know what work is needed to make a game, but your reason to learn a programming language because you couldn’t get help is absolutely not dumb in my opinion.

      • Noo@jlai.lu
        link
        fedilink
        arrow-up
        5
        ·
        4 months ago

        Actually I did know the amount and kind of work it required, as I have being working on game projects before (I’m sound designer, music composer and game designer).

        It’s not really dumb yes, but a bit sad when you think about it.

        • thingsiplay@beehaw.org
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          4 months ago

          Ok, it makes it juuuust a little bit dumb, I give you that! :D (just joking). I like that you was determined to do it, even if it meant to go through all of this.

          Once Miyamoto said (I have a book with interviews of Game Designers) that a Game Designer should understand programmers, in order to be efficient. Or something with those lines. So don’t think it is sad, make it a positive power you would have missed, if that would not happen. Sorry if I’m a bit too optimistic in my views.

          • Noo@jlai.lu
            link
            fedilink
            arrow-up
            4
            ·
            4 months ago

            You’re right, but it wasn’t how I took it a the time.

            The underlying message I receive was that if you don’t pay enough or you don’t make people dream Steve jobs style, you won’t get anyone to work with you.

            I’m lucky, I do have the drive and I can take the time to learn news things and I get to meet some wonderful people along the way. But that’s just me being lucky.

            Sorry for venting, but I do think curiosity should be on both side.

    • best_username_ever@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      arrow-down
      8
      ·
      4 months ago

      God. I didn’t knew that Drew was such a language nazi. If you want to write a Go clone, it must be useful for everyone. Even Emacs is available on Windows officially.

      • mke@lemmy.world
        link
        fedilink
        arrow-up
        14
        arrow-down
        2
        ·
        edit-2
        4 months ago

        What a harebrained comment.

        …Sorry, it felt like such a waste not to say it! The puns!

        But, language Nazi? Don’t you think that’s a bit much? And it must be useful for everyone? Why? I also think it hinders growth, but it’s their project. It’s well within their right to choose whether they put in the effort to support a platform or not, regardless of the reasoning and how much effort it’d actually take.

        They don’t even seem to be against the idea, they just don’t care enough to be the ones to do it:

        According to DeVault, while there’s currently no plan to support non-free platforms like macOS or Windows, a third-party implementation or fork could try to make that work. The Register

        Even Emacs is available on windows, you say? I think some context is needed, here. See what GNU has to say about the availability of Emacs on proprietary systems:

        However, GNU Emacs includes support for some other systems that volunteers choose to support.

        Emphasis mine.

        To improve the use of proprietary systems is a misguided goal. Our aim, rather, is to eliminate them. We include support for some proprietary systems in GNU Emacs in the hope that running Emacs on them will give users a taste of freedom and thus lead them to free themselves.

        Taken from the official download and install page.

          • mke@lemmy.world
            link
            fedilink
            arrow-up
            13
            arrow-down
            2
            ·
            edit-2
            4 months ago

            Sure, and that matters because…? What negative effects is this choice having on hare that go against hare’s objectives?

            You seem to be treating hare as something it doesn’t want, nor care to be.

            I like to describe Hare as a simple, conservative, modern update to C, with a FOSS ethos. It doesn’t try to break computer science ground, or promise to solve a million dollar problem.

            Guess you could say they’re probably not friends of million-hares. Ha, ha.

            And upstream Hare will not support non-libre operating systems. That’s a lot of conviction, but Hare isn’t trying to take over the world. It will coexist with the diversity of languages out there, and thrive in its own niche. In short, the Hare project develops for a libre future and for the deliberate programmer, not the corporate, the ephemeral and the reckless.

            From Torres, one of the core contributors.

            Their wants and metrics for success aren’t the same as yours.

    • mke@lemmy.world
      link
      fedilink
      arrow-up
      14
      ·
      edit-2
      4 months ago

      That is such a sweet reason! Whimsical decisions like this can be some of the best. Life demands a bit of whimsy every now and then.

      Edit: I don’t know if you’re still interested in this, but have you considered WSL? Assuming you’re on Windows, that is. I haven’t looked into it, but I don’t see any obvious reason why it wouldn’t work.

      • andioop@programming.devOP
        link
        fedilink
        English
        arrow-up
        6
        ·
        4 months ago

        Hey, thanks for the suggestion! I was considering firing up a VM just for Hare, but thanks for bringing this option to my attention.

  • mindbleach@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    ·
    4 months ago

    I learned Applesoft BASIC to draw a surprise Dickbutt.

    If we’re counting machine code, I learned 6502 ASM for faster division on NES, because it was half the CPU time on my first-person shooter. After many iterations pushing it down to mere hundreds of cycles, I slapped my forehead and implemented log tables in like 512 bytes and 45 cycles. It’s negligible now. And supports constant fractional scaling. And has overflow / underflow saturation. Really, 6502 ASM is fantastic to fuck around in, even though the rest of the NES’s hardware suuucks.

      • mindbleach@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        I mostly used this page to know what’s possible, and occasionally reinvented the wheel. Conditional jumps are still arcane and fragile in my hands. But I benchmarked all kinds of sequential memory access patterns before realizing the 6502 does not give a dang about reusing the same address.

        On Z80, you want to load two registers, use them as a pointer, and tweak the low byte. The 6502 can just take an address and an offset in four cycles. So if you want to access $3000 as an array and read index 4, 5, 6, 7, you don’t LDX 4 and INC X, you LDX 4 and then LDA $3000,X, LDA $3001,X, LDA $3002,X, LDA $3004,X. For e.g. controller reads, you can hardcode bare addresses and it’s twice as fast.

    • andioop@programming.devOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      4 months ago

      This feels like me wanting to learn Hare because I like rabbits, which I bring up because someone left this reply for me and I think it applies to you too:

      That is such a sweet reason! Whimsical decisions like this can be some of the best. Life demands a bit of whimsy every now and then.

  • Donnywholovedbowling@lemmy.world
    link
    fedilink
    arrow-up
    18
    ·
    4 months ago

    I wanted to make a scripted version of pinochle because my friends and I play it a bunch on tabletop sim and there was nothing available, so I learned LUA

    • Oka@sopuli.xyz
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      I learned pinochle as a kid, but can’t remember how to play now.

      I learned Lua as a programming student but can’t remember how to use it now.

  • Kojichan@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    4 months ago

    Might not be dumb, but I learned programming to create things and learn how things worked. Started with entering in hundreds of lines of BASIC printed in magazines, including debugging font typos.

    Then learned MUF, or Multi-User Forth, a stack-based text language for creating text based dungeons, and managed to stop some malicious users spying and people’s privacy in the server.

    Every so often, I pick up a new language to test it to see if it does cool stuff or help me further learn more about how things function.