This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Thread 1 "triangle" received signal SIGABRT, Aborted. | |
| __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 | |
| 49 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. | |
| (gdb) bt | |
| #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 | |
| #1 0x00007ffff6f3f864 in __GI_abort () at abort.c:79 | |
| #2 0x00007ffff6fa2736 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff70c7b9c "%s\n") at ../sysdeps/posix/libc_fatal.c:155 | |
| #3 0x00007ffff6fab08c in malloc_printerr (str=str@entry=0x7ffff70c5db0 "corrupted double-linked list") at malloc.c:5628 | |
| #4 0x00007ffff6fac5ac in unlink_chunk (p=p@entry=0x55555555fba0, av=0x7ffff70f9ba0 <main_arena>) at malloc.c:1614 | |
| #5 0x00007ffff6fac6ff in malloc_consolidate (av=av@entry=0x7ffff70f9ba0 <main_arena>) at malloc.c:4731 |
In Scopes, the let keyword is an immutable binding to a name. Sometimes we call them register variables, which is an LLVM-ism. Because it's just a binding with no location in memory and a completely abstract construct, you can alias things that aren't necessarily values, like types or keywords. You can bind anything to a valid symbol; you could even shadow let itself.
You can mutate 3 different types of values in Scopes: stack variables, global state variables and mutable pointers.
- Stack variables are declared with the
localkeyword. They expire when you exit the function frame (ie. return). - Global state variables are declared with the
globalkeyword. Their memory location is static and always available. It's always safe to take a pointer to global data (although it might not be to do so from multiple threads). - Pointers are addresses to a memory location. You can take the address from a local, global or through memory allocati
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env fish | |
| set ORIGIN_DIR (dirname (readlink -m (status --current-filename))) | |
| pushd $ORIGIN_DIR | |
| set LINE_COUNT (cat unvisited-links.txt | wc -l) | |
| set RANDOM_INDEX 0 | |
| function get-line | |
| set RANDOM_INDEX (random 1 $LINE_COUNT) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| spice Scope->varargs (scope) | |
| using import Array | |
| scope as:= Scope | |
| local values : (Array Value) | |
| local keys : (Array Symbol) | |
| for k v in (scope as Scope) | |
| 'append values v | |
| 'append keys (k as Symbol) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local function search_previous_lines(pattern) | |
| return vim.fn.search(pattern, 'znbW') | |
| end | |
| local block_starting_keywords = { | |
| 'if', | |
| 'else', | |
| 'elseif', | |
| 'then', | |
| 'case', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/lua | |
| local dir = (arg[0]):match("^(.+/).+$") | |
| local logs, err = io.open(dir .. "game_session_logs.txt", "r+b") | |
| if not logs then | |
| print(err) | |
| return | |
| end | |
| local games = {} |
Most stuff is handled by Noctalia Shell. My configuration sort of assumes you have KDE plasma installed already, otherwise you have to install a handful of utilities individually. Stuff I had to fix:
environment {
ELECTRON_OZONE_PLATFORM_HINT "auto"
ELECTRON_OZONE_PLATFORM "wayland;xcb"
}OlderNewer