• 0 Posts
  • 8 Comments
Joined 2 years ago
cake
Cake day: June 20th, 2023

help-circle
  • As someone who’s used both, I’d have a strong preference for Odin over Rust if it were at a stable 1.0 release. As it stands now (or, at least, when I used it), Odin is very much in flux. Spend enough time with the language, and you’ll either find a bug with the compiler or the semantics will change after you update.

    That said, it would be my favorite without those problems. It is a really simple language in a good way. There’s no fancy language features that are just syntax sugar (well except maybe context, but I find that to be actually convenient). You can understand everything in an afternoon if you are already familiar with programming in other languages. Rust is pretty much the opposite in all of these reguards.

    Rust also has the benefit of being pretty recognizable at this point, so if you say your project is in Rust then people will know what that means, unlike Odin. More “resume-able” in a way.

    So, in short:

    • Odin if you’re doing it as a hobby
    • Rust if you want something “real”

  • While I do agree that math gets much easier with interest, and that it gets more interesting the further you get into it, and that math is inherently beautiful, etc. I feel this argument has to fall flat to people who don’t already agree. It’s the education equivalent of when someone says they couldn’t get into an anime and then the fans tell them ‘oh it gets really good around season 9’. You could be completely correct, as you are here, but it’s utterly unconvincing if you don’t already “know.”

    To be fair, I think this is mostly a problem with math curricula. Math classes up through high school and early college seem to focus on well trodden solutions to boring problems, and at some (far too late) point it flips around to being creative solutions to interesting problems. I think this could be fixed eventually, but such is the system we have now.




  • Moving the cursor will confuse bash and you can get the same effect by just omitting the last \n.

    When I was testing it I did not get the same effect. Instead it would only put the background behind what I had typed and not the whole line. Doing it now it seems to be working with the omission. I would assume it’s a terminal emulator bug because I believe I have changed emulators since I wrote it. I’ve now removed it, thanks for fixing a bug.

    Avoid doing external commands in subshells when there’s a perfectly good prompt-expansion string that works.

    I wanted my home directory to not get shortened to ~, and if there is some way to do that with \w it isn’t easy to find out how.

    Also, what’s the reasoning for avoiding it (besides it being idiomatic)? I’m sure there is one, but I don’t think I’ve run into it yet.

    You seem to be generating several unnecessary blank lines

    I just like the look of it, and I have the screen space to do it.


  • I have this in my laptop’s .bashrc

    PS1='\e[0m\n\e[40m[\e[32m\u\e[37m] [\e[31m\A \d\e[31m] [\e[33m`pwd`\e[37m]\e[K\n\e[K\n\e[1A'
    PS0='\e[0m\n'
    
    hint

    some of the escape sequences move the cursor

    full explanation

    generates the prompt:

    
    [username] [00:01 Thu Jan 1] [/home/username]

    with a slightly brighter/darker background (depending on terminal colors), while also resetting it to not effect the appearance of command outputs

    • \e[0m\n: new blank line
    • \e[40m: sets the background color for the prompt
    • [: literal text
    • \e[32m\u\e37m: username in green, reset color for brackets
    • ] [: literal text
    • \e[31m\A \d\e[31m: time/date in red, reset color
    • ] [: literal text
    • \e[33mpwd\e[37m: calls pwd, prints it in orange
    • ]: literal text
    • \e[K\n: fill the rest of the prompt line with the background
    • \e[K\n: fill the line where commands are typed with the background
    • \e[1A: move the cursor up so that it’s in the background-filled area

    I am colorblind so I may have gotten colors wrong, but that’s hardly where the interesting bit is.


  • I started working on a similar project about a year ago, except I was doing it fully by hand in the vanilla game (journey mode in a blank world), custom 8-bit instruction set, all that. I took an extended break from the project and kept thinking “this idea is so obvious, someone else is gonna do it first and I’m gonna look like a copycat” but not getting around to finishing work on it anyways. I’ll post pictures if anyone is interested, maybe a world download if I can find somewhere to host it.


  • I’m not super familiar with the details of either (as I’ve gotten so used to the AUR having everything I might want), but I can say with some confidence that snap was rolled out in a way that doesn’t do it any favors.

    I have an old laptop that I occasionally boot into to do some stuff, but not super often. After an update, it appeared as though Firefox had forgotten everything; I wasn’t logged in, default start page, all settings reset, etc. I was super confused and mildly annoyed, but I set everything back up anyways. Then a bit later I ran Firefox again and it opened to what it was before the update??? Then I realized there were two installs, one apt and the other snap, and the latter was installed without my permission (or knowledge, maybe apt said in one of its 10k lines it spits out that ‘btw here’s a snap package’ that I was somehow supposed to notice).

    I find containerized packages really nice for things that are very dependant on how the system is setup but are unlikely to get updated if that system changes (either by me not updating it or it just going unmaintained). Firefox is not that though.