Skip to content

Instantly share code, notes, and snippets.

View Nezteb's full-sized avatar
💣
hello world'); DROP TABLE Statuses;--

Noah Betzen Nezteb

💣
hello world'); DROP TABLE Statuses;--
View GitHub Profile
@Nezteb
Nezteb / opml.livemd
Created February 22, 2024 18:22
See discussion here: https://elixirforum.com/t/official-discourse-follow-plugin-for-elixirforum/61603 (requires Discourse auth because it's in a "members only" section)

ElixirForum Discourse RSS OPML Generator

Section

defmodule Discourse.OPML do
  defmodule Behaviour do
    @callback outline(list(String.t())) :: String.t()
  end
// ==UserScript==
// @name Intercept m3u8 streams
// @description Intercept XHR/fetch requests involving m3u8 stream identifiers
// @namespace Violentmonkey Scripts
// @match *://*/*
// @version 0.1
// @author Noah Betzen
// @grant none
// ==/UserScript==
@Nezteb
Nezteb / elixir-language-server-comparison.md
Last active September 28, 2024 06:39
Elixir Language Server Comparisons

Elixir Language Server Implementation Comparison

We'll be comparing the following:

Disclaimers:

@Nezteb
Nezteb / cache.sh
Last active October 6, 2023 20:02
A dumb shell command cacher.
# Usage `cache ls` or `cache ./myScript.sh`
cache() {
local expiry_minutes=20
local command_name="$1"
local command_hash=$(echo "$*" | md5sum | cut -d' ' -f1)
local cache_dir="$HOME/.cache/cli_cache"
local command_cache_dir="$cache_dir/$command_name"
local cache_file="$cache_dir/$command_hash"
// ==UserScript==
// @name Download songs
// @description Download songs from a specific website
// @namespace Violentmonkey Scripts
// @match REDACTED
// @version 0.1
// @author Noah Betzen
// @grant none
// ==/UserScript==
@Nezteb
Nezteb / jai_and_odin.md
Created September 30, 2023 04:03
A detailed breakdown of @SentientCoffee's opinions on Jai and Odin from the Odin Discord.

what i wish jai had:

  • better "standard library" (odin's core+vendor libraries/jai's compiler modules)

    odin's interface for things is very intuitive and very well designed, it doesn't take long to find what you're looking for, and it's very consistent. for example, strings.builder_make(), strings.builder_init(), strings.builder_destroy(), etc. meanwhile in jai you have things like String_Builder procs: init (which could refer to any number of procs because overloading) print_to_builder, free_buffers/reset, append, etc. (there are more examples like this in other modules.) once you find what you're looking for, it works great, but odin's core library discoverability is top notch (especially with https://pkg.odin-lang.org/ exisiting)

  • slice syntax

jai has "array views" which are exactly like odin slices. but odin's way of handling them with the python syntax makes it 10x more usable, rather than having to use array_view(*view, 0, count) everywhere, and lets you not depend on pointer arithmetic like jai

# Mac App Store
# mas "1Password", id: 443987910
# Taps
tap "1password/tap"
tap "ankitpokhrel/jira-cli"
tap "derailed/k9s"
tap "gcenx/wine"
tap "homebrew/cask-versions"
tap "homebrew/services"
@Nezteb
Nezteb / libraries_and_frameworks.md
Created June 14, 2023 14:36 — forked from zachdaniel/libraries_and_frameworks.md
EEF Working Group Proposal: Libraries and Frameworks Working Group

Libraries and Frameworks Working Group

Mission Statement

  • To provide resources for library and framework authors to ensure that BEAM languages have a rich, vibrant ecosystem with a high degree of developer experience. Main Objectives
  • Provide and maintain best practices on library and framework standardization, documentation, code, and distribution. Collaborate to work on and make proposals for underlying tooling that improve the experience for library/framework authors and users.
  • Provide more visibility into the library ecosystem of Elixir on behalf of both authors and users.
  • (if Build and Packaging want to move this here, we could also take this over) Improve the user experience in generating and accessing documentation from the shell, IDEs, web pages, and more.
@Nezteb
Nezteb / Dockerfile
Created June 7, 2023 01:01
Deploying Conduit (Matrix homeserver built in Rust) on Fly.io
# https://gitlab.com/famedly/conduit/-/blob/next/docker/README.md
# https://gitlab.com/famedly/conduit/-/blob/next/Dockerfile
# https://hub.docker.com/r/matrixconduit/matrix-conduit
FROM matrixconduit/matrix-conduit:next-bullseye
ENV CONDUIT_SERVER_NAME="my.domain.com"
ENV CONDUIT_DATABASE_BACKEND="rocksdb"
# Set to false after making your first admin user
@Nezteb
Nezteb / atuin.zsh
Created May 5, 2023 00:57
A shell hack for restoring basic up/down arrow functionality with atuin while still using its database instead of vanilla shell history until it's implemented natively: https://github.com/ellie/atuin/issues/798
export ATUIN_ARROW_INDEX=-1
upArrow() {
export ATUIN_ARROW_INDEX=$(( ATUIN_ARROW_INDEX + 1))
COMMAND=$(atuin search --limit 1 --offset $ATUIN_ARROW_INDEX | cut -f2)
LBUFFER="$COMMAND"
return
}