Skip to content
View AMDphreak's full-sized avatar
:octocat:
:octocat:

Block or report AMDphreak

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
AMDphreak/README.md

Hey, babe, I fork on the first date and commit to main.

Rules for programmers

Systems programming

  • Do not use C for systems programming. C has no namespaces to contain variable names or module system to provide a namespace. C requires header files, which are annoying. C's common libraries are full of horribly-named constants and functions.
  • Use D instead of C. D improves on C by introducing advanced data types and higher-level abstraction of functions, as well as automatic memory management via a garbage collector, which can be disabled if you really need to remove the GC for performance or memory size reasons in embedded systems like a firmware. C vs D: https://gemini.google.com/share/bdba47f19258
  • Or use Rust. Ideally, we would be rewriting all core operating system userland code in D lang, however Rust has captured the public attention. Certain features from Rust's toolchain are excellent ideas that need to be incorporated into D lang, however D lang already has safe D which is a similar idea for enforcing memory-safe practices in critical system-level tooling.

Scientific and numerical computing

  • Julia and D lang vs Java
    • Do not use Java. Their ecosystem of tools is confusing, even if the language is organized. One of their language features (annotations) is heavily abused by frameworks, which makes it feel horrible to use.
    • Use Julia, not Python, for scientific and numerical computing, data science, and artificial intelligence. Python is slow and has stupid design choices in the language that make it difficult to rectify one library's design assumptions against another library that you may be using. Julia is clean and fast.

Application programming

Scripting

  • Do not use Python. See above. Python was originally made to "bridge the gap between C and shell scripting" (Guido van Rossum, creator of Python). It accomplished this but introduced several poor design choices: everything is an object, including each number. The number 1 is an object. Python cannot be compiled normally. It has to bundle the Python runtime with the code using pyinstaller. Python's runtime is massive, so this results in poor loading performance, on top of the slow execution performance.
  • Use D lang for applications that need a clean syntax like Python that will interact with the system (userland tools).

Pinned Loading

  1. BlackJackGame BlackJackGame Public

    BlackJack Game with simulated dealer

    Java

  2. connectome-filesystem connectome-filesystem Public

    Modern graph-based flat filesystem

  3. Desktop-Assistant-AI Desktop-Assistant-AI Public

    An AI to help users when they don't know what to do, with emphasis on code help

    Shell

  4. Job-Search-Analyzer Job-Search-Analyzer Public

    An Email analyzer to produce reports about my job applications and rejections

    Python

  5. Windows-Theme-Autochanger Windows-Theme-Autochanger Public

    Dark mode auto-changer for Windows 11 at night

    Go

  6. FoodTruckNerds/FoodTruckNerdzSite FoodTruckNerds/FoodTruckNerdzSite Public

    (old site) HackaThon 03/07/2025

    CSS