Skip to content

Instantly share code, notes, and snippets.

View thor314's full-sized avatar

Thor 🪁 thor314

View GitHub Profile

#note #obsidian [[n-Obsidian_Keybinds_and_notes]]

Notes

Conventions:

-filename:

#note #networking

quick take:

  • grpc over http, rest over http, and graphql over http are protocols for data retreival from servers. Websockets are a low-level protocol from 2011 that can be supported more natively than, eg. gRPC, in the browser, for bidirectional streaming.
  • Use grpc for featureful bidirectional streaming, when the client doesn't need to be http1.1 compatible (eg. in browsers)
  • Use websockets for low-level bidirectional streaming from the browser, or else set up a grpc-web proxy server.
  • Use graphql for complex, flexible database queries, especially useful in front-ends.
  • Use REST for simplicity, and because libraries make it easy.
  • skip to the end for some notes on the upcoming HTTP3, which communicates over UDP instead of TCP, and claims to reduce communication complexity.

#note #community This is a working list of vibe goals for the group house. This list is intended to be sent to potential house newcomers.

Hello human person! 👶🤖

This copy pasted textwall details our effort to create a group house at 2894 Bush! Because we believe that living with others can be the foundation of a rich social community, we're excited that you, a bona-fide Turing-test passing human, are curious about living here ✨

What we care about

We're trying to create a community of shared values at 2894 Bush. Below is a short list of values that we care about.

  • Desire to Learn and Build - We're nerds. We like learning and building new things. We like others who do also appreciate these things. We're partial to the idea that we could learn and build stuff together.
  • Playfulness - When we're not building and learning stuff, we like to play board games and throw parties, especially with unusual or challenging themes.
//! A composability module for NFT contracts. Tokens may be owned
//! internally, by other tokens on this contract, or externally, by tokens
//! on other contracts. This module makes heavy use of the `nft_holder`
//! method, which retrieves the holder of an nft, even if the NFT is loaned
//! out, or held by a token on another contract.
//!
//! Module TLDR:
//! - `get_compose_children`: get the children of an NFT if any exist.
//! - `get_compose_parent`: get the parent of an NFT if any exists.
//! - `nft_local_root`: get the root token of a compose chain on THIS contract.

#note #obsidian [[a-Obsidian_Keybinds_and_notes]]

Advanced Tables - decent table rendering and editting; also see CSV table

utility: 10/10 for specifically modifying tables could be better: tab at the last column creates a new column, when it should go back to the front, and have a different bind to create new column

  • makes org-mode like table formatting and editting easy
  • has decent commands
  • has a right sidebar

Codemirror matchbrackets js - enable vim ya( etc

10/10 - simple and does what it should, wish it came default vim

Embedded Note Title - show note title inline as h1 header

VScode Hotkeys

#keybinds #system #vscode

Why bother: I feel most default keybindings are basically acceptible, but spend an unreasonable amount of time fiddling with them, identifying their inconsistencies, and re-assinging them, in the interest of fitting my usage patterns better. Some of this ends up as time wasted, as I forget where I put things, or transfer my key binding preferencs to new systems. This document is intended as my reference for all my key binding nonsense.

Goal 0: explicitly label my keybinds to make them easier to remember, and to reproduce across frequently used applications (Vs code, Obsidian) Goal 1: prefer default vim and GTK/VScode bindings, where possible Goal 2: identify where my preferences, vim, and GTK bindings collide and resolve the collisions. Identify the dead and useless keys in the default maps, and optionally replace them.

{ config, pkgs, ... }: {
imports = [ # Include the results of the hardware scan.
./hardware-configuration.nix
];
boot.loader.systemd-boot.enable =
true; # Use the systemd-boot EFI boot loader.
boot.loader.efi.canTouchEfiVariables = true;
time.timeZone = "Europe/Lisbon"; # Set your time zone.
# NETWORKING
networking.hostName = "tk0"; # Define your hostname.
× display-manager.service - X11 Server
Loaded: loaded (/etc/systemd/system/display-manager.service; linked; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2021-12-22 12:35:50 WET; 1min 14s ago
Process: 1188 ExecStartPre=/nix/store/wd1p0dmsixyps2nswszmwsfl8l5ym3h1-unit-script-display-manager-pre-start/bin/display-manager-pre-start (code=exited, status=0/SUCCESS)
Process: 1190 ExecStart=/nix/store/hphsx5383075c6l7s4kvnkp9hmjww4gz-unit-script-display-manager-start/bin/display-manager-start (code=exited, status=1/FAILURE)
Main PID: 1190 (code=exited, status=1/FAILURE)
IP: 0B in, 0B out
CPU: 41ms
Dec 22 12:35:50 tk0 systemd[1]: display-manager.service: Scheduled restart job, restart counter is at 3.
# Bash initialization for interactive non-login shells and
# for remote shells (info "(bash) Bash Startup Files").
# Export 'SHELL' to child processes. Programs such as 'screen'
# honor it and otherwise use /bin/sh.
export SHELL
if [[ $- != *i* ]]
then
# We are being invoked from a non-interactive shell. If this
@thor314
thor314 / guix.sh
Last active November 30, 2021 23:19
echo 'network={
ssid="Internet Robot"
key_mgmt=WPA-PSK
psk="im_sorry"
}' > wifi.conf
rfkill unblock all
ifconfig -a # wlan0
wpa_supplicant -c wifi.conf -i wlan0 -B # outputs some failures, but turns out unimportant
dhclient -v wlan0
ping gnu.com # get bytes, yay