A devastated Software Systems student, libre software promoter. Sometimes I draw pixel art. Very fond of classical Computer Science and Touhou project.

Autism® Inside™

  • 0 Posts
  • 18 Comments
Joined 1 year ago
cake
Cake day: March 28th, 2023

help-circle
  • Hi. I understand your rant. Yes, the quality of most frameworks in the wild is pretty low, especially if it is one of the more niche algorithm nobody takes care to audit, or the programming language lacks safety syntax, like C++, which allows writing mixed C and C++ code and only few people understand the necessity of idiomatic C++. And of course, inexperienced devs go the easiest way.

    Don’t give up and take this as a challenge. It is a skill to understand what the other guy wrote. And this skill takes years to develop.










  • raubarno@lemmy.mltolinuxmemes@lemmy.worldcomputer
    link
    fedilink
    arrow-up
    24
    ·
    edit-2
    9 months ago

    It won’t work. It’s a dangerous command because a single > destroys your .bashrc. You may want either echo 'neofetch' >> .bashrc or neofetch | sed -e 's:%:a:g' | sed -e "s:^\\(.*\\)$:printf '\1\\\\n':" >> .bashrc or something of that kind.

    EDIT: tested out the latter command


  • Terminal-based scriptable text editor, continuation of one of the first interactive programs in the world (vi), so it has a lot of legacy User Experience, which seems unintuitive for modern users. For instance, it does not automatically write when you launch a program. Instead, you are set in so-called “Normal mode”, which maps all the keyboard keys to text-editing macros and acts as a bridge between “Insert mode” (for typing text) and “Command mode” (for application control and . If you’re on “Insert mode” and want to save your edits and quit, you need to press ESC, to switch back to the Normal mode, and type in :wq and press Enter.




  • Looking at the log of my solo project, I could say the formula of my commit message is Verb the Subject, the Verb being Added/Tweaked/Removed, etc., and the subject of what is being changed. As I’m using git commit -m 'Message' GNU Bash every time (none of the clients tend to work well for me + git self-hosting practice over SSH), I just try to make one-liners and without entering an external editor.

    Although my professional experience is scarce. For most of the time, I’ve been creating but not maintaining my projects. My projects do not have a decent high-level structure, I do not test my codebase, I learn my code by heart and follow intuition. I tend to think in algorithms, rather than structural design patterns. Even for my newest project, the main.rs is bloated, the functions are not in the correct modules (a.k.a. files), the modules are improperly named. Alhough, I cannot believe in myself I am approaching 3.5K lines of code (separated over two repositories) but I can still navigate…



  • If, in Touhou series, the scene is limited to the viewport, in my game I experiment with a larger field. Some ‘fairy-level’ enemies may reside in nests, some may move around. But I’ve just finished the very basic graphical level today and a satisfying smooth scrolling in a large field. Now, I can focus more on a gameplay, add enemies, bullet mechanics and see what is the most enjoyable way to play. It may even have several game modes, including the classical ‘Touhou’ experience…

    I’ve understood I need a dev blog so badly. :)



  • I like Touhou very much, so I am working on a Touhou-ish danmaku (bullet hell) game. It is still in early development, though.

    Here’s the today’s screenshot: (https://imgur.com/a/9Th50Zw)

    It uses pixel graphics, the CPU draws on a pixel canvas, which is eventually rendered onto a framebuffer. I chose this rather childish approach in order to prototype first, and accelerate later.

    The main difference from Touhou Project or its spinoffs will be that the stage will actually be scrollable with ‘nests’ that spawn enemies shooting at you.

    The game is written in Rust, uses Vulkan to display the canvas, and licensed under GPL-3.0-or-later license so that it will always be a share-alike project.