Understand your Mac and iPhone more deeply by tracing the evolution of Mac OS X from prelease to Swift. John Siracusa delivers the details.
You've got two main options:
# Put this somewhere near the top of your Caddyfile (at the root, not in a site directive). | |
# Replace `http://127.0.0.1:9000` with your *internal* Authentik outpost's hostname and port | |
(authentik_forwardauth) { | |
reverse_proxy /outpost.goauthentik.io/* http://127.0.0.1:9000 | |
forward_auth {args.0} http://127.0.0.1:9000 { | |
uri /outpost.goauthentik.io/auth/caddy | |
copy_headers X-Authentik-Username X-Authentik-Groups X-Authentik-Email X-Authentik-Name X-Authentik-Uid X-Authentik-Jwt X-Authentik-Meta-Jwks X-Authentik-Meta-Outpost X-Authentik-Meta-Provider X-Authentik-Meta-App X-Authentik-Meta-Version | |
trusted_proxies private_ranges | |
} | |
} |
{ | |
"parser": "@typescript-eslint/parser", | |
"extends": [ | |
"eslint:recommended", | |
"plugin:prettier/recommended", | |
"plugin:@typescript-eslint/eslint-recommended", | |
"plugin:@typescript-eslint/recommended" | |
], | |
"plugins": ["prettier", "@typescript-eslint"], | |
"env": { |
I need to use GlobalProtect because it's becoming the only VPN to access resources in my school. The VPN client is simple enough, but it does two annoying things:
Here I'll show you how I fixed both issues in macOS 12.2 (Monterey).
Note: I have moved this list to a proper repository. I'll leave this gist up, but it won't be updated. To submit an idea, open a PR on the repo.
Note that I have not tried all of these personally, and cannot and do not vouch for all of the tools listed here. In most cases, the descriptions here are copied directly from their code repos. Some may have been abandoned. Investigate before installing/using.
The ones I use regularly include: bat, dust, fd, fend, hyperfine, miniserve, ripgrep, just, cargo-audit and cargo-wipe.
import { Directive, Inject, NgModule, OnInit, PLATFORM_ID, TemplateRef, ViewContainerRef } from '@angular/core'; | |
import { isPlatformBrowser, isPlatformServer } from '@angular/common'; | |
/** | |
* Add the template content to the DOM based on platform | |
*/ | |
@Directive({ selector: '[serverSideOnly]' }) | |
export class ServerSideOnlyDirective implements OnInit { |
module.exports = { | |
ignorePatterns: ['.eslintrc.js'], | |
env: { | |
browser: true, | |
es6: true, | |
}, | |
parser: '@typescript-eslint/parser', | |
parserOptions: { | |
project: 'tsconfig.json', | |
sourceType: 'module', |
Node Version Manager (https://github.com/nvm-sh/nvm) works perfectly across native node installations as well as emulated Rosetta installations. The trick I am using here is to install one LTS version of node under Rosetta and another stable version as native binary.
#!/usr/bin/env bash | |
set -Eeuo pipefail | |
trap cleanup SIGINT SIGTERM ERR EXIT | |
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P) | |
usage() { | |
cat <<EOF | |
Usage: $(basename "${BASH_SOURCE[0]}") [-h] [-v] [-f] -p param_value arg1 [arg2...] |