"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearGE
General einval 1 year ago 100%
Instance has been upgraded to v0.18.3

https://github.com/LemmyNet/lemmy/blob/main/RELEASES.md 👍

3
0
asklemmy Asklemmy What movies are worth rewatching?
Jump
  • einval einval 1 year ago 100%

    Aliens: Special Edition

    1
  • asklemmy Asklemmy What Reddit client did you use before the API changes?
    Jump
  • einval einval 1 year ago 100%

    RIF. Ugh, what a shame.

    42
  • startrektng Star Trek: The Next Generation Favorite Terrible Episode?
    Jump
  • einval einval 1 year ago 100%

    I can't think of any one truly terrible episode I secretly enjoyed. I hate all of the episodes that were laser focused on Wesley Crusher, boy genius. If I had to pick a best of the worst from that pool I'd go with "The Game". 😀

    1
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearGE
    General einval 1 year ago 100%
    Be careful with your language settings!

    I unknowingly deselected "Undetermined" at some point and ended up missing out on a lot of posts for the past couple weeks. I suspect this happened when I changed my account settings using my phone. And here I was thinking Lemmy died or something 😅. To fix this for myself I highlighted "Undetermined", scrolled down, control+clicked "English", then hit "Save".

    1
    0
    x86_asm x86 Assembly What's good setup for learning assembly on linux?
    Jump
  • einval einval 1 year ago 100%

    What I use on Linux:

    1. Vim
    2. GNU Make
    3. NASM (nasm.us)

    NASM uses Intel assembly syntax. If you want to learn and use AT&T syntax you can use GNU Assembler (as) provided by the bintutils package instead.

    How I use it:

    Create a project

    mkdir hello_world
    cd hello_world
    touch Makefile hello_world.asm
    

    Write a Makefile

    Note the indents below are supposed to be TAB characters, not spaces.

    Makefile

    all: hello_world
    
    hello_world.o: hello_world.asm
            nasm -o $@ -f elf32 -g $<
    
    hello_world: hello_world.o
            ld -m elf_i386 -g -o $@ $<
    
    .PHONY: clean
    clean:
            rm -f hello_world *.o
    

    Write a program

    hello_world.asm

    ; Assemble as a 32-bit program
    bits 32
    
    ; Constants
    SYS_EXIT  equ 1         ; Kernel system call: exit()
    SYS_WRITE equ 4         ; Kernel system call: write()
    FD_STDOUT equ 1         ; System file descriptor to write to
    EXIT_SUCCESS equ 0
    
    ; Variable storage
    section .data
            msg:            db "hello world from ", 0
            msg_len:        equ $-msg
            linefeed:       db 0xa ; '\n'
            linefeed_len:   equ $-linefeed
    
    ; Program storage
    section .text
    global _start
    
    _start:
            ; Set up stack frame
            push ebp
            mov ebp, esp
    
            ; Set base pointer to argv[0]
            add ebp, 8
    
            ; Write "hello world from " message to stdout
            mov eax, SYS_WRITE
            mov ebx, FD_STDOUT
            mov ecx, msg
            mov edx, msg_len
            int 80h
    
            ; Get length of argv[0]
            push dword [ebp]
            call strlen
            mov edx, eax
    
            ; Write the program execution path to stdout
            mov eax, SYS_WRITE
            mov ebx, FD_STDOUT
            mov ecx, [ebp]
            ; edx length already set
            int 80h
    
            ; Write new line character
            mov eax, SYS_WRITE
            mov ebx, FD_STDOUT
            mov ecx, linefeed
            mov edx, linefeed_len
            int 80h
    
            ; End of stack frame
            pop ebp
    
            ; End program
            mov eax, SYS_EXIT
            mov ebx, EXIT_SUCCESS
            int 80h
    
    strlen:
            ; Set up stack frame
            push ebp
            mov ebp, esp
    
            ; Set base pointer to the first argument on the stack
            ; strlen(buffer);
            ;        ^
            add ebp, 8
    
            ; Save registers we plan to write to
            push ecx
            push esi
    
            ; Clear string direction flag
            ; (i.e. lodsb will *increment* esi)
            cld
    
            ; Zero counter
            xor ecx, ecx
    
            ; Load address of buffer into the "source index" register
            mov esi, [ebp]
            .loop:
                    ; Read byte from esi
                    ; Store byte in eax
                    lodsb
    
                    ; Loop until string NUL terminator
                    cmp eax, 0
                    je .return
                    ; else: Increment counter and continue
                    inc ecx
                    jmp .loop
    
            .return:
                    ; Return string length in eax
                    mov eax, ecx
    
                    ; Restore written registers
                    pop esi
                    pop ecx
    
                    ; End stack frame
                    pop ebp
    
                    ; Pop stack argument
                    ; 32-bit word is 4 bytes. We had one argument.
                    ret 4 * 1
    

    Compile and run

    $ make
    nasm -o hello_world.o -f elf32 -g hello_world.asm
    ld -m elf_i386 -g -o hello_world hello_world.o
    
    $ ./hello_world 
    hello world from ./hello_world
    

    Adding a debug target to the makefile

    Want to fire up your debugger immediately and break on the main entrypoint? No problem.

    Makefile

    gdb: hello_world
        gdb -tui -ex 'b _start' -ex 'run' --args $<
    

    Now you can clean the project, rebuild, and start a debugging session with one command...

    $ make clean gdb
    rm -f hello_world *.o
    nasm -o hello_world.o -f elf32 -g hello_world.asm
    ld -m elf_i386 -g -o hello_world hello_world.o
    gdb -tui -ex 'b _start' -ex 'run' --args hello_world
    # You're debugging the program in GDB now. Poof.
    
    1
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearX8
    x86 Assembly einval 1 year ago 100%
    I guess I'll start things off

    I picked up assembly programming in 2015 after my son was born while on paternity leave. I needed something to keep my mind busy between changing diapers and feedings, or I was going to go insane. I started off with the 6502 through reading old magazines from the 70s and 80s on archive.org (Compute! Magazine was rich with examples and how-to articles. RIP Jim Butterfield). I bought two functioning C64s from a local Ham Fest with the hope of diving into the real-deal head first, but with kids that's much harder than it sounds. I had to shelve the machines and settle for VICE. After about a year of mucking around trying different things I decided to start reading through old Intel and AMD architecture documents (8088/6). Around that time I discovered the "emu8086" emulator and purchased a license so I could watch my code execute and effect the system in real time. I knew about "insight" for DOS, and tried it too, but for the time being the emulator was a much better visual learning tool. Shortly thereafter I became interested in operating systems and how they worked under the hood (i.e. DOS). So my next goal was to write a bootloader based on the Intel spec documents, and a tiny real-mode OS capable of reacting to user input. Nothing fancy, however this track turned out to be very beneficial. I started programming in basic when I was little, copying DATA lines out of books so I could play games, and eventually graduated to C when I was 12-ish. Despite being able to program (fairly well) for years, I lacked the formal education of my peers at work. Assembly really jumpstarted potential in me that I didn't even know existed, and actually pushed me to become a more thoughtful developer. I used to be afraid of gdb but now it's my bread and butter. If you want to take a look at the "OS" you can find it here: https://git.einval.net/user/jhunk/minos.git/ I also wrote a program for my son at one point, though it's incomplete: https://git.einval.net/user/jhunk/learncolors.git/ einval.net itself was supposed to be a programming blog. Again though, with kids I just don't have the time or energy anymore. Oh well. Perhaps I'll get back into doing that in 10 years or so 😉

    1
    0
    pc_gaming PC Gaming Diablo 1 Open Source Port DevilutionX updates to version 1.5
    Jump
  • einval einval 1 year ago 100%

    Oh cool! I'll have to check it out. I love how people have been going back and reverse engineering old game engines lately.

    2
  • programming Programming How often do you have to resolve merge conflicts?
    Jump
  • einval einval 1 year ago 100%

    Occasionally I'll get hit with a few unwieldy conflicts. Usually it's one or two lines, and always a whitespace issue because someone's code style just has to be different.

    3
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearSY
    So it begins... www.redhat.com

    I guess the GPL protects them from litigation here because users can still access the sources. The new TOS pretty much states that if you "abuse" your RH subscription by repackaging their SRPMs and releasing them in the wild their lawyers will flay you in the town square. Can IBM/Red Hat really lay claim to the modifications/patches they've made to open source packages? What about all of the contributions RH has made to the kernel over the years? Is that not "theirs" too? In the software packaging world you see maintainers using freely available patches from Debian, Fedora, and so on for their own distros. So what happens now if a patch is only available through Red Hat? Is it reasonable to assume you'll get sued because it came from one of their SRPM packages? I just think it's messed up. If this was limited to RH's own software projects maybe I wouldn't care, but making folks pay for access to what's already free (and they didn't write from scratch internally) is shitty. Unless I'm totally mistaken a lot of what ends up in CentOS and RHEL is derived from changes contributed to Fedora using the free labor/time/energy of everyday RPM maintainers.

    2
    1
    technology Technology Reddit confirms BlackCat gang pinched some data
    Jump
  • einval einval 1 year ago 100%

    Makes me wonder how many times "Fuck u/spez" is repeated in that data dump.

    1
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearPC
    PC Gaming einval 1 year ago 100%
    BattleBit Remastered on Steam store.steampowered.com

    I purchased BattleBit the other day for $15 USD and I am enjoying it so far. The community _seems_ pleasant at the moment. The developer-run servers have strict rules against being an asshole and a zero tolerance for spam/racism/politics, so that's definitely a plus. I can play the game instead of muting people constantly. ![Server MOTD](https://lemmy.einval.net/pictrs/image/c3617e33-d093-48d6-b02a-ea6ac01a1765.webp) If you're a fan of Battlefield (1 or 2) or Project Reality then BattleBit might be worth checking out. The pace is as fast or slow as you want it to be. If you prefer static defense -- go for it. If you want to run into the fray to drag incapacitated players from the field while tracers whiz by -- go right ahead. If you want to employ teamwork and tactics to capture objects -- no one will scoff at you.

    3
    0
    pc_gaming PC Gaming CDPR Confirms ‘Cyberpunk 2077: Phantom Liberty’ Unlocks New Endings
    Jump
  • einval einval 1 year ago 100%

    Yeah, I think the story and voice acting saved this game from the fiery demise it rightfully deserved at launch. I wouldn't classify it as a timeless masterpiece but it does stick with you long after it ends. It'll be a few more years before it fades away or gets replaced by something else. You still have time. 🙂

    1
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearPC
    PC Gaming einval 1 year ago 100%
    CDPR Confirms ‘Cyberpunk 2077: Phantom Liberty’ Unlocks New Endings www.forbes.com

    I'm one of those weirdos with several end-game saves on their hard drive for CP2077. If all of the Phantom Liberty quests are supposed to take place in the middle of the base game's story-line, it might be too easy going into it at level 50 with a maxed out skill tree and the best weapons in the game. I haven't had a chance to sit down and read everything available yet but I sure hope they give the player another twenty or thirty levels to grind through.

    5
    2
    privacy Privacy Update to Edge has it sending images you view to Microsoft
    Jump
  • einval einval 1 year ago 100%

    I'm happy they killed IE in favor of Chromium but it was only a matter of time before they started getting blatant and sloppy with their spying, err, I mean enhancing my experience without my consent. Sigh.

    Firefox with HTTPS Everywhere, uBlock, and Dark Reader works well for me.

    Edit: Oops, I forgot they rolled HTTPS upgrading into Firefox itself.

    2
  • pc_gaming PC Gaming Building a new computer
    Jump
  • einval einval 1 year ago 100%

    I looked it over and I think it's great build with decent airflow.

    I've had the 5700XT, 6700XT, 6750XT, and 7900XT. The 6700XT is a great card no matter what the reviewers used to say about it. For an "AMD cash grab" I didn't regret replacing the 5700XT with it at all. I'm not sure how well it'll perform at the ultra wide resolution, but I was getting 70-80fps in Cyberpunk 2077 at 1440p with the settings mostly maxed out.

    I'm a little jealous. That 7700X is going to smoke whatever you're upgrading away from. I went from an i7 4790k box I built in 2014 to a R7 5800X in 2021 and it completely blew my damn mind. Hopefully this will be one of those unforgettable kind of upgrades. 😀

    PS - waiting for parts to arrive is the worst.

    1
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearGE
    General einval 1 year ago 100%
    Death by user count?

    The join-lemmy site no longer shows this instance's card because it's below the active user threshold. How are users supposed to find an instance that fits what they're looking for now? This exists as well: https://github.com/maltfield/awesome-lemmy-instances Doesn't this do more harm than good? I don't have time to promote and advertise. I really liked the idea that people could easily find this and join if they wanted to. I'm not taking down the instance or anything. This serves as a "blog" if I'm the only one posting anything. I'm just a little disappointed that small or new instances aren't easily discoverable at a critical time when performance and uptime are kind of important. People are flocking to Lemmy over the Reddit API debacle. By listing instances based on user count they're overloading and crashing the same old servers hourly (already), instead of treating instances like a federated decentralized network. I guess we'll see what happens come July...

    1
    2
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearPC
    PC Gaming einval 1 year ago 100%
    Aliens: Dark Descent youtu.be

    I want this game to be good but given the last couple flops set in the Alien universe my expectations are pretty low. Fireteam Elite, for example, is/was too arcadey for my taste and left solo players like me high and dry. I'm not a fan of random people showing up in my (what should be) single player game to "help" either. The third-person camera didn't do it for me in all of those tight corridors. There isn't much information out there for a game about to go live in 9 days. Maybe that's for the best? Without a massive hype train catering to 12 years olds (flashy visuals, stupid character poses, loot boxes, etc) the development team *might* keep their jobs long enough post-launch to actually respond to player feedback and release meaningful patches, and implement quality of life changes. My hope is that Dark Descent will be what Fireteam Elite should have been - a dark and gritty tactical game with XCOM-like game mechanics, set in an awful future where an evil mega-corporation aims to unleash a nearly unstoppable plague of seven foot tall bloodthirsty locusts on humanity. (Is that too much to ask for?)

    1
    0
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearGE
    General einval 1 year ago 100%
    C# resources

    [@NormalPersonNumber3](https://lemmy.einval.net/u/NormalPersonNumber3) I went ahead and created [!csharp_programming@lemmy.einval.net](https://lemmy.einval.net/c/csharp_programming). Is there a common place people go to obtain frameworks/libraries etc? I want to add some resources to the side bar. I came across this on Wikipedia: https://github.com/Microsoft/dotnet/blob/main/dotnet-developer-projects.md Is this good enough, or is there a preferred source out there?

    1
    0
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearPC
    PC Gaming einval 1 year ago 100%
    I beat Cyberpunk 2077 on Hard mode https://www.youtube.com/playlist?list=PLu84zuSbAT9g2aYNJhX3mnEKMmEF4fHbe

    **Gameplay:** - 54 parts - No commentary - All main, side, cyberpsycho, and NCPD quests completed - 77% achievements (GOG) **PC Specs:** - CPU: AMD Ryzen 7 5800X - RAM: 32GB G.Skill DDR4-3200 - GPU: AMD Radeon RX 7900 XT - HDD: Samsung 970 EVO Plus SSD 1TB **Mods:** ^Installed just prior to recording #28^ - High-Res Graphics Pack - MAXIMUM - https://next.nexusmods.com/cyberpunk2077/collections/g0tcm4 (+ all optional mods) - Use Your Cybernetic Eyes to Aim - https://www.nexusmods.com/cyberpunk2077/mods/6793 - Metro System - https://www.nexusmods.com/cyberpunk2077/mods/3560 - Cyber Vehicle Overhaul - https://www.nexusmods.com/cyberpunk2077/mods/3016 - Cyberpunk Clothing Loot Overhaul - https://www.nexusmods.com/cyberpunk2077/mods/8013 ---- My takeaway from this is that hard mode is *hard* in the beginning and enemies are absolute bullet sponges from start to finish. Getting bullshit killed and running out of ammo constantly becomes tedious after a while. I'm not sure if its me or what. I feel like every encounter required several mag dumps just to kill a single guy. In that regard I have to say Cyberpsycho attacks win the "shittiest to fight" award. Sometimes they become immune to damage for reasons unknown. You really have to pay attention to the damage meter at the top of the screen, or risk prematurely wasting your entire inventory on a single crazy asshole. During my first playthrough on _normal_ I was a shotgun samurai through and through. However, sadly, even the best shotgun in the game can't keep up with the insane damage the various droids and gang members dole out at close range. Getting in close to splatter someone is a deathwish even if you spec out your character with full mitigation gear and select every skill under the shotgun skill tree. If you're thinking about picking up or revisiting Cyberpunk 2077, don't bother with the higher difficulty settings. They add nothing to the game and have a tendency to break the immersion as you reload the same battle a dozen times because you got one-shot killed by a sniper from across town through five shipping containers.

    1
    0
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearSY
    Docker and Red Hat Universal Base Image woes

    What made Red Hat think it was a good idea to bind containers to a **docker hosts's** `/etc/rhsm` and `/etc/pki` data? I recently ran into a situation where a RHEL 7 docker host that's primarily used for continuous integration jobs couldn't use the `ubi9/ubi` container image. Why? Because the **host** didn't have entitlements for RHEL 9. After fiddling around with injecting RHEL 9 certs into the image I managed to enable the base repositories and a few extras, however that's about the time I realized this whole thing was an exercise in futility. Basic packages like `createrepo_c` were completely missing and I wasn't able to figure out which RHN channel provided it. Why are they separating `rpmdevtools` from `createrepo_c` at the repository level anyway; what's the point? I wasted a solid day sifting through the only relevant documentation Red Hat provides (for OpenShift, not Docker) before giving up and going with `quay.io/centos/centos:stream9`. After that I was back in business, building and distributing RPMs in about three minutes time.

    1
    0
    lemmy_support Lemmy Support Issues with emails not verified
    Jump
  • einval einval 1 year ago 100%

    Have you configured OpenDKIM correctly? This tutorial might give you an idea or two. Gmail won't relay mail unless its signed by your domain.

    1
  • lemmy_support Lemmy Support Issues with emails not verified
    Jump
  • einval einval 1 year ago 100%

    Yes. You can use an existing SMTP server (gmail [legacy app mode], yahoo, microsoft, etc). One thing to keep in mind -- if you decide to go that route don't use your personal account because the address might be exposed in the mail headers. Create a dedicated account and use that instead.

    lemmy.hjson

    email: {
        smtp_server: "smtp.example.tld:[port]" # port 25, port 587, etc
        smtp_login: "username"
        smtp_password: "password"
        smtp_from_address: "noreply@example.tld" # or account_just_created@example.tld
        tls_type: "tls" # or starttls
    }
    
    3