Skip to content

Instantly share code, notes, and snippets.

@kfox
kfox / README.md
Last active December 4, 2023 11:08
TCP echo server for Node.js

TCP echo server for Node.js

Usage

  1. Make sure you have a modern-ish version of Node.js installed.
  2. Type npx https://gist.github.com/kfox/1280c2f0ee8324067dba15300e0f2fd3
  3. Connect to it from a client, e.g. netcat or similar: nc localhost 9000
@nopeless
nopeless / check-prime.ts
Last active March 3, 2025 02:03
static prime checking using typescript types
// Prime checking regex, which this code is based off of
// https://regex101.com/r/RIJkGF/1
type StringDivisible<n extends string, div extends string> = n extends `` ? true : n extends `${div}${infer r}` ? StringDivisible<r, div> : false;
type Substrings<n extends string, d extends string = ""> = n extends `${d}${infer r}` ? readonly [` ${d}`, ...Substrings<r, ` ${d}`>] : readonly [];
type StringFactors<n extends string> = Substrings<n> extends readonly [unknown, ...infer R extends readonly string[], unknown] ? R : never;
type StringIsPrime<n extends string, Factors extends readonly string[] = StringFactors<n>> = Factors extends readonly [infer s extends string, ...infer R extends readonly string[]] ? StringDivisible<n, s> extends true ? false : StringIsPrime<n, R> : true;
type RepeatStringByStringDigit<str extends string, d extends string> =
@eyeseast
eyeseast / python.md
Last active May 25, 2025 08:27
How to set up Python in 2022

I have an updated version of this on my blog here: https://chrisamico.com/blog/2023-01-14/python-setup/.

Python

This is my recommended Python setup, as of Fall 2022. The Python landscape can be a confusing mess of overlapping tools that sometimes don't work well together. This is an effort to standardize our approach and environments.

Tools and helpful links:

  • Python docs: https://docs.python.org/3/
  • Python Standard Library:  - Start here when you're trying to solve a specific problem
@ChristopherA
ChristopherA / Extract_URL_from_webloc.md
Last active September 27, 2024 21:17
Extract URL from Safari .webloc

Extract URL from Safari .webloc

bash one-liner

plutil -p example.webloc | sed -En 's/.*"(.*)"$/\1/p'

Convert all .webloc files in directory to .url files

webloc2url.sh - Converts .webloc (Mac) to .url (Windows) files.

@getify
getify / 1.md
Last active July 3, 2022 12:29
Part 2 of 2, of "In defense of blocks for local scopes", from https://gist.github.com/getify/712d994419326b53cabe20138161908b

In defense of blocks for local scopes (Part 2)

Some have leveled the criticism that "part 1" of this post is unnecessarily contriving a problem that doesn't really exist in "good code" -- if you really need to narrow a scope of some declarations in a function, then that function is too complex already and that bigger problem is what you need to fix.

Just to be extra clear: if a chunk of code is already reasonable to make a function, that's not the sort of code I'm talking about in either of these blog posts. If it's being called multiple times, or if it's completely independent and makes sense as its own logical chunk, make it a function. I'm talking about a different sort of code, a set of a few statements related to each other, that declare one or more variables, but which logically still belong inside another function. That's the context here.

OK, let's stop talking about this stuff abstractly.

A Real Example

@getify
getify / 1.md
Last active March 2, 2023 21:24
In defense of using blocks to create localized scope for variables... (part 1 of 2)
@extratone
extratone / x-bbedit.md
Created March 22, 2022 11:22
Excerpt from BBEdit's User Manual regarding its URL Scheme/x-callback-url support.

BBEdit now supports using the ‘x-bbedit’ URL scheme for opening files, and optionally specifying destination line and column numbers. The syntax for this scheme is:

x-bbedit://open?url=file:///path/to/some/file

where ‘/path/to/some/file’ is the actual path to the file you want BBEdit to open.

You can also specify a specific line to select when opening the file; for example: x-bbedit://open?url=file:///path/to/some/file&line=5

or if you also include add a column position, then BBEdit will place the insertion point before the indicated character on the previously-specified line: x-bbedit://open?url=file:///path/to/some/file&amp;line=5&amp;column=42

@DavidWells
DavidWells / github-proxy-client.js
Last active March 3, 2025 17:47
Full Github REST api in 34 lines of code
/* Ultra lightweight Github REST Client */
// original inspiration via https://gist.github.com/v1vendi/75d5e5dad7a2d1ef3fcb48234e4528cb
const token = 'github-token-here'
const githubClient = generateAPI('https://api.github.com', {
headers: {
'User-Agent': 'xyz',
'Authorization': `bearer ${token}`
}
})
@ChristopherA
ChristopherA / #git_exclude_vs_gitignore.md
Last active September 30, 2022 16:12
git exclude vs .gitignore #git #worktree

Git exclude vs .gitignore

It can be useful to exclude a file in local repo without using a .gitignore file, which is a best practice if the file is one you don't expect other users to generate themselves.

Add it to:

.git/info/exclude

You can also add this git alias, by adding it to your .gitconfig file in the [alias] section: