Skip to content

Instantly share code, notes, and snippets.

View Rickodesea's full-sized avatar

Alrick Grandison (Algodal) Rickodesea

  • Algodal
  • Jamaica
View GitHub Profile
@Falconerd
Falconerd / handles_example.odin
Created April 13, 2026 06:43
handles example
package main
import "core:fmt"
import "core:math/rand"
import rl "vendor:raylib"
Entity :: struct {
name: cstring,
pos: [2]f32,
@nmnmcc
nmnmcc / neovim.md
Created July 16, 2025 06:14
NeoVim Cheat Sheet

NeoVim Cheat Sheet

I. Basic Concepts

1. Modes

NeoVim is a modal editor, primarily featuring the following modes:

  • Normal Mode: The default mode for navigating, deleting, copying, and pasting text. Press Esc to return to this mode from others.
  • Insert Mode: Used for typing text. Enter it with keys like i, a, o.
@GeorgeHernandez
GeorgeHernandez / TreeCharacters.md
Last active November 6, 2026 12:51
Characters used to represent trees like directories and files.

Tree Characters

No, I'm not talking about Treebeard. Rather, I'm talking about characters that can be used to represent tree structures, especially directories and files in directory structures.

In graph theory, a tree graph a tree is an undirected graph in which any two vertices (nodes like directories and files) are connected by exactly one (1..1) path, or equivalently a connnected acyclic undirected graph. The connections are edges (aka links or lines).

The examples below will represent the following tree (listed in alphabetical order):

root/
@patriciogonzalezvivo
patriciogonzalezvivo / include.py
Last active January 14, 2024 23:38
Resolve includes for GLSL, HLSL and metal on Python
import re
from os.path import join, abspath, dirname, basename
def load_source( folder: str, filename: str, dependencies = []):
path = abspath( join(folder, filename) )
if path in dependencies:
return ""
else:
dependencies.append( path )
@scivision
scivision / AddGitSubmodule.cmake
Last active December 14, 2024 10:44
CMake: init/update a Git submodule and add_subdirectory()
find_package(Git REQUIRED)
function(add_git_submodule dir)
# add a Git submodule directory to CMake, assuming the
# Git submodule directory is a CMake project.
#
# Usage: in CMakeLists.txt
#
# include(AddGitSubmodule.cmake)
# add_git_submodule(mysubmod_dir)
@samsch
samsch / .md
Created January 21, 2021 14:23
Express-session isn't saving cookies, or cookie seems to be ignored?

Common issues

Multiple origins

By default, the cookies express-session sets will not work if your server's url isn't the same origin as your front end page where you are making requests from. For example, if you are using Create React App's server on localhost:3000, and your server is running at localhost:8000, cookies won't be saved without extra configuration for CORS.

If you can avoid multiple origins, I recommend doing that. A single origin avoids CORS configuration which tends to be troublesome. Most front end build tools (including Create React App) have options to proxy requests to your backend server. Even better are tools which build your front end to files that can be directly served by your backend (such as using Parcel's watch command).

The CORS configuration will include:

  • Setting SameSite on your cookie options to none.
@RichardBray
RichardBray / glsl_circle.frag
Last active March 19, 2024 19:14
Simple GLSL circle example
#ifdef GL_ES
precision mediump float;
#endif
// Being in values from the CPU
// Read only value sent to all the threads/processes
uniform vec2 u_resolution; // Global vector shader variable
float circleShape(float radius, vec2 position) {
// distance(p1, p2) - returns the distance between two points
@YukiSnowy
YukiSnowy / main.cpp
Last active April 3, 2025 13:45
example SDL2 Vulkan application
// Windows
// g++ *.cpp -o vulkan -lSDL2main -lSDL2 -lvulkan-1
// Linux
// g++ *.cpp -o vulkan -lSDL2main -lSDL2 -lvulkan
// https://vulkan-tutorial.com/
#include <iostream>
using namespace std;
#include <SDL2/SDL.h>
@camh-
camh- / eol-at-eof.md
Created March 7, 2020 04:41
Please add newlines at end of files

See https://stackoverflow.com/questions/729692/why-should-text-files-end-with-a-newline

A newline in a text file is a terminator, not a separator. This means each line should have a newline at the end of it, including the last line of the file.

Many editors automatically add the newline at the end of the file. Some do not. If you can configure your editor to ensure there is always a newline at the end of every line, please do so.

Because many editors do add this newline, if you commit a text file without it, when someone else edits the file, their editor will (correctly) add the newline. This causes a spurious diff in the file. Spurious

@Erfan-Ahmadi
Erfan-Ahmadi / rendering_engine.md
Last active September 27, 2026 15:55
Rendering Engine Development

1. What does the Rendering Engine Need?

  • Rendering Engine
    • Support for Multiple Graphics APIs : OpenGL | Vulkan | DirectX12 | DirectX11 | Metal
    • Content Export Pipeline : Create Maya/Max Plugins to export meshes based on Renderers needs. (Assimp Commercial Licence -> Pay)
    • Texture Compression Libraries
    • Material System : Artists Configure shaders, textures, parameters to import in game
    • Game-side Manager of Models/Materials/Lights
    • Good Visibility System (Frustum/Occlusion) (VisibilityBuffers?)
    • Multi-Threded Submission System to reduce cost of submission to GPU
  • Lighting/Shadow Rendering System