• 7 Posts
  • 23 Comments
Joined 1 year ago
cake
Cake day: December 28th, 2023

help-circle
  • Yeah this is the way. Debian stable has outdated packages, debian testing has broken packages. Ubuntu is difficult for beginners because of snap. Linux mint is the perfect just-works debian-based beginner distro. Same for DE: Gnome is hard to use, KDE is bloated and unstable, and XFCE is too minimalist/diy/quirky for beginner users (you need to add a panel applet in order for the volume keys to work? Huh??). Cinnamon is the perfect middle ground between resource usage and features.

    Make sure during installation that you create a 4 GB swap partition too

    Or at least as large as your RAM if you want to be able to hibernate.




  • renzev@lemmy.worldtoLinux@lemmy.mlGRUB is confusing
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    4 months ago

    If GRUB is too confusing, just uninstall it? You said you have a UEFI system, you don’t need a bootloader. You can just put the vmlinuz and initramfs onto the ESP and boot into it directly. You can use efibootmgr to create the boot entry, something like this:

    efibootmgr \
    	--create \
    	--disk /dev/sda \
    	--part 1 \
    	--index 0 \
    	--label "Void linux" \
    	--loader /vmlinuz-6.6.52_1 \
    	--unicode " \
    		root=PARTLABEL=VOID_ROOT \
    		rw \
    		initrd=\\initramfs-6.6.52_1.img \
    		loglevel=4 \
    		net.ifnames=0 \
    		biosdevname=0 \
    		nowatchdog \
    		iomem=relaxed \
    		"
    
    • --disk /dev/sda: What disk is the esp on?
    • --part 1 What partition number (counting from 1) is the esp on?
    • --index 0 At what index in the boot menu should the boot entry appear?
    • --loader Path to the vmlinuz file. These are normally in /boot, you have to move it to the esp yourself
    • root=PARTLABEL=VOID_ROOT this is the linux root partiion. I’m using PARTLABEL to identify mine, but you can use pretty much anything that /etc/fstab supports
    • initrd=\\initramfs-6.6.52_1.img Again, you have to move the initramfs file from /boot into the esp. For some reason this uses backslashes, not forward slashes as path separator (double backslashes in this case are to prevent the shell from interpreting it as an escape sequence)
    • The rest of the arguments are just misc kernel parameters that I use

    Just search for EFISTUB for more info.




  • renzev@lemmy.worldOPtoProgrammer Humor@lemmy.mlAI's take on XML
    link
    fedilink
    English
    arrow-up
    17
    ·
    7 months ago

    Please don’t. If you need something like json but with comments, then use YAML or TOML. Those formats are designed to be human-readable by default, json is better suited for interchanging information between different pieces of software. And if you really need comments inside JSON, then find a parser that supports // or /* */ syntax.











  • Jokes aside, LLMs are actually pretty nice, since they lower the barrier to entry for programming. A guy I know has been doing all of his data processing with obscure Excel hacks his entire life. But recently he had to parse a file with like a million or so lines, which would take forever in excel, so now he’s hacking together a python script using ChatGPT and meta ai. And in the process, he’s actually picking up a bit of python knowledge himself. He now knows what lists are, how loops and if statements work, and he even understands “intermediate” features like list comprehension and regex. They said llms would replace programmers, but in reality they’re making more of us lol



  • Gradual typing isn’t reinventing the wheel, it’s a new paradigm. Statically typed code is easier to write and harder to debug. Dynamically typed code is harder to debug, but easier to write. With gradual typing, the idea is that you can first write dynamic code (easier to write), and then – wait for it – GRADUALLY turn it into static code by adding type hints (easier to debug). It separates the typing away from the writing, meaning that the programmer doesn’t have to multitask as much. If you know what you’re doing, mypy really does let you eat your cake and keep it too.






  • So there are many different commands that compile LaTeX, right? pdflatex, pdftex, latexmk, etc. But they all do that thing where they ask for your input as soon as they encounter an error, right? Well, if you just pipe an empty echo command to them, it notices that stdin has reached end-of-file, and gives up trying to ask the user for input, and just exits on first error. So instead of pdflatex mydocument.tex, you can do echo | pdflatex mydocument.tex and it won’t ask you for input if it sees an error, it’ll just exit. There’s probably a “proper” way to achieve the same behaviour, but I can’t be arsed to read the docs.

    Speaking of stupid TeX hacks, at one point I had a script called latex_compile_and_install_packages_until_it_works.sh. It’s essentially a loop that repeatedly tries to compile a document, searches the output of the compiler for anything that looks like a missing package error, and pipes it to sudo tlmgr install. The “fuck it” of package management, arbitrary code execution exploit included!

    (Sorry for the screenshot, I lost the original script in text form, probably for the better)