Skip to content

Instantly share code, notes, and snippets.

@glinesbdev
glinesbdev / mapper.exs
Last active Aug 9, 2020
Reducing Reducers - Elixir
View mapper.exs
defmodule Mapper do
def extract_associations(%{} = game) do
Enum.reduce(map, %{}, fn {key, value}, item ->
cond do
is_map(value) ->
put_map(item, key, extract_map_data(value))
is_list(value) ->
list_data = Enum.reduce(value, [], &[extract_map_data(&1) | &2])
put_map(item, key, list_data)
View gitlab-search-shortcut.js
// ==UserScript==
// @name Gitlab search shortcut
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Gives a keyboard shortcut to the search field in Gitlab
// @author Bradyn Glines
// @include /^https:\/\/gitlab\.*/*/
// @grant none
// ==/UserScript==
@glinesbdev
glinesbdev / main.asm
Last active Sep 20, 2019
Gameboy Hello World
View main.asm
INCLUDE "hardware.inc"
; Beginning of the rom
SECTION "Header", ROM0[$100]
di ; Disable interrupts since we don't want to be interrupted
jp Start ; Jump to the Start label
nop ; No nothing for 1 cycle (approx: 1MgHz)
ds $150 - $104 ; Write nothing for $150 to $104 which is the rom header information
View keybase.md

Keybase proof

I hereby claim:

  • I am glinesbdev on github.
  • I am glinesbdev (https://keybase.io/glinesbdev) on keybase.
  • I have a public key ASBRMmmp2RsEJRGIGVCeIKU77U0iUem-U2Wl-blyTxikCwo

To claim this, I am signing this object:

@glinesbdev
glinesbdev / main.rs
Last active Aug 26, 2019
Basic Pig Latin Translator - Rust
View main.rs
use std::{
fs::File,
io::{prelude::*, BufReader},
};
mod pig_latin;
fn main() {
let file = File::open("text.txt").expect("Can't open file.");
let file_size = file.metadata().unwrap().len();
@glinesbdev
glinesbdev / fib.asm
Created Aug 22, 2019
MacOS Assembly - Fibonacci
View fib.asm
global _main
extern _printf
section .text
_main:
push rbx ; We have to save this since we use it
mov ecx, 90 ; ecx will countdown to 0
xor rax, rax ; rax will hold the current number
xor rbx, rbx ; rbx will hold the next number
@glinesbdev
glinesbdev / triangle.asm
Created Aug 22, 2019
MacOS Assembly - Triangle
View triangle.asm
global start
section .text
start:
mov rdx, output ; rdx holds address of next byte to write
mov r8, 1 ; initial line length
mov r9, 0 ; number of stars written on line so far
line:
mov byte [rdx], '*' ; write single star
@glinesbdev
glinesbdev / Main.elm
Created May 7, 2019
Elm Msg Chain Madess
View Main.elm
SubmitMessage ->
( model
, getTime
)
GotTime time ->
( { model | timeSent = Time.posixToMillis time }
, generateRandomId
)
@glinesbdev
glinesbdev / Main.elm
Last active May 1, 2019
Cmd.batch Example
View Main.elm
type Msg
= UrlRequested Browser.UrlRequest
| UrlChanged Url.Url
| NameEntered String
| NameSubmitted
| MessageEntered String
| MessageSubmitted
| GenerateRandomId String
generateRandomChatId : Cmd Msg
View Css.Elm
gridItem :
GridItem
-> (List (Attribute msg) -> List (Html msg) -> Html msg)
-> List (Attribute msg)
-> List (Html msg)
-> Html msg
gridItem item html attributes children =
html (gridItemAttributes item ++ attributes) children