Skip to content

Instantly share code, notes, and snippets.

View gboncoffee's full-sized avatar
💜

Gabriel de Brito gboncoffee

💜
View GitHub Profile
@gboncoffee
gboncoffee / Not-Sussy-Public-License.txt
Created September 28, 2024 22:28
Not Sussy Public License
Copyright (c) <year> <holder name>
Permission is hereby granted, free of charge, to any person (the "User")
obtaining a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including without
limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom
the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
@gboncoffee
gboncoffee / ant.c
Created September 26, 2024 01:16
Langton's Ant
#include <assert.h>
#include <stdio.h>
#include <time.h>
#define LONG_SPACED_STRING \
" " \
" " \
" " \
" " \
" " \
@gboncoffee
gboncoffee / .clang-format
Created September 21, 2024 21:15
Making C code pretty
AlignAfterOpenBracket: BlockIndent
AlignArrayOfStructures: Right
AlignConsecutiveAssignments: Consecutive
AlignConsecutiveBitFields: Consecutive
AlignConsecutiveDeclarations: Consecutive
AlignConsecutiveMacros: Consecutive
AlignEscapedNewlines: Right
AlignOperands: DontAlign
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: false
@gboncoffee
gboncoffee / music-dl
Created July 6, 2024 13:56
Snippet for downloading mp3 with yt-dlp
#!/bin/sh
which yt-dlp
yt-dlp -i -x --audio-format mp3 $@
@gboncoffee
gboncoffee / .bashrc
Last active January 28, 2025 17:39
The only four config files that matter
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
HISTCONTROL=ignoreboth
shopt -s histappend
HISTSIZE=1000
HISTFILESIZE=2000
@gboncoffee
gboncoffee / edit.html
Created June 23, 2024 22:34
Example of a minimal wiki web app with only Go's standard library
<h1>Editing {{.Title}}</h1>
<form action="/save/{{.Title}}" method="POST">
<div><textarea name="body" rows="20" cols="80">{{printf "%s" .Body}}</textarea></div>
<div><input type="submit" value="Save"></div>
</form>
@gboncoffee
gboncoffee / mergeSortCuda.cu
Created June 16, 2024 18:41
Merge Sort running on Nvidia GPU via CUDA
#include <iostream>
void coutArray(float array[], int n) {
for (auto i = 0; i < n - 1; ++i) std::cout << array[i] << ", ";
std::cout << array[n - 1] << std::endl;
}
__global__ void gpuCopyArray(float dest[], float src[], int n) {
int index = blockIdx.x * blockDim.x + threadIdx.x;
int stride = blockDim.x * gridDim.x;
@gboncoffee
gboncoffee / saguisimdasm.exs
Created May 11, 2024 23:54
Assembler de Sagui Vetorial (Sagui em Bando)
#
# Montador ridiculamente simples para Assembly de Sagui Vetorial.
# Escreve arquivos no formato hex do Logisim Evolution.
# (Informações sobre a licença abaixo)
# (Licensing information below)
#
# DÚVIDAS:
#
# - Como eu uso essa desgraça?
#
@gboncoffee
gboncoffee / calc.exs
Created April 8, 2024 00:44
Reverse polish calculator in Elixir
defmodule Calc do
defp exec_op(_, "clear"), do: []
defp exec_op([fa | [fb | r]], token) do
case token do
"+" -> [fa + fb | r]
"-" -> [fa - fb | r]
"*" -> [fa * fb | r]
"/" -> [fa / fb | r]
"swap" -> [fb | [fa | r]]
end
@gboncoffee
gboncoffee / calc.erl
Created April 7, 2024 20:38
Reverse polish calculator in Erlang
-module(calc).
-export([main_loop/1]).
read_tokens() ->
case io:get_line("calc> ") of
[] -> [];
L -> string:tokens(lists:droplast(L), " ")
end.
exec_token(S, T) ->