Skip to content
View JohnAlexINL's full-sized avatar
๐Ÿ
bing chillin
๐Ÿ
bing chillin

Block or report JohnAlexINL

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
JohnAlexINL/README.md

๐Ÿ‘‹ Howdy! I'm @JohnAlexINL/ You'll find a bunch of small widgets I've made for myself over the moons, as well as links to bigger projects I'm working on here.

๐ŸŒฑ If you're looking for a dev, I always love an opportunity to do something cool. I know C, JavaScript, BASIC, Python, Lua, a few different assemblers, and I'm teaching myself C# too!



Blood Rose Records

โค๏ธ I help run an indie record label! Here's a couple of our artists

Projects

Work-in-Progress

Style Preferences

Code should be based around and implement interfaces in a way that our logic can be plugged in and out with other code implementing that same interface.

Code Logic

  • Avoid additional external dependencies; if you do not need it, do not depend on it
  • Complicated build chains mean code that is not portable and has points of failure that are hard to hunt down
  • Code with less surface area is more performant, easier to maintain, and easier to extend
  • Don't Repeat Yourself; reused logic should get factored out
  • Fail early & fail often; instead of nesting ifs, invert the logic and break out on failure.
  • If code needs lots of comments, it probably isn't very good code
  • If code cannot be reasonably read by one single person in a single sitting, it's going to suck to maintain
  • Looking at a variable's name, it should be immediately obvious what it is: a function, a number, an iterator, a string, ...
  • Code being readable and logically coherent is more important than "optimizations" your compiler is going to replace anyway
  • If code matter-of-factly describes what it does, documentation and commentary becomes redundant

Libraries and APIs

  • Source distribution is always preferable; blobs cannot be ported, cannot be audited, and cannot be maintained
  • Single-file source libraries are easier to include, easier to build, and easier to ship
  • Definitions and interfaces should go at the top after any copyright notice
  • Implementations should go in the middle, followed at the end by the full license agreement
  • Platform-specific implementation should be factored out of the API functions and interfaces themselves
  • Our libraries should do one thing and do them well

Licensing and Requirements

  • Short licenses are licenses that actually get read
  • As much as reasonably can-be, code should be open-sourced for its own longevity and for the community good
  • Subscriptions suck. I do not want to "subscribe" or pay for a "license", I want to purchase and own.
  • BSD-style licenses are based because they're straightforward
  • Putting code into the Public Domain is even more based

Important

I do not know C++. I do not want to know C++. You cannot pay me a large enough amount of money to learn C++. I have lived my entire life below the poverty line, and yet, if you were to offer me a literal billion dollars to learn C++, I would decline, because if there is to be any one hill I must die on, one folly that must befell me, a "hot take" I am ok with being my ruin, I want it to be that I am, through-and-through, the biggest hater of C++

Pinned Loading

  1. BloodRoseorg/garter BloodRoseorg/garter Public

    A tiny low-level / high-level hybrid compiled language

    23

  2. BloodRoseorg/weaver BloodRoseorg/weaver Public

    A simple library for rapid website development, designed primarily for use with cPanel.

    JavaScript 3

  3. styleless styleless Public

    Stop getting flashbanged by <style>less websites!

    JavaScript 1

  4. BloodRoseorg/nex BloodRoseorg/nex Public

    A little hex editor inspired by nano

    C 1