If you want to see how it works, see the README on the repo.
a +\!\!\!+\ b |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; | |
;; BACK UP YOUR LOGSEQ DIR BEFORE RUNNING THIS! | |
;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; Copyright (C) Aug 4 2022, William R. Burdick Jr. | |
;; | |
;; LICENSE | |
;; This code is dual-licensed with MIT and GPL licenses. |
Both things have been introduced recently, and let you access even private ec2 instances
- Without VPN
- No open SSH port
- Authentication / Authorization is fully delegated to IAM
# Assumes valid AWS Credentials in ENV
At the beginning of 2030, I found this essay in my archives. From what I know today, I think it was very insightful at the moment of writing. And I feel it should be published because it can teach us, Rust developers, how to prevent that sad story from happening again.
What killed Haskell, could kill Rust, too
What killed Haskell, could kill Rust, too. Why would I even mention Haskell in this context? Well, Haskell and Rust are deeply related. Not because Rust is Haskell without HKTs. (Some of you know what that means, and the rest of you will wonder for a very long time). Much of the style of Rust is similar in many ways to the style of Haskell. In some sense Rust is a reincarnation of Haskell, with a little bit of C-ish like syntax, a very small amount.
Is Haskell dead?
#!/usr/bin/env bash | |
# | |
# This script ports deployed Helm v2 Packages from k8s API v1.15 to 1.16 | |
# | |
# When upgrading K8s clusters to a new minor API version it is possible that | |
# already deprecated API Endpoints are removed e.g., | |
# extensions/v1beta1/DaemonSet | |
# K8s handles this transparently for already deployed ressources from the | |
# deprecated paths, making them available via their new API. They are no longer | |
# available through the removed paths though. |
# To be used with current stable/prometheus-operator helm chart on kops clusters | |
# where 4001/4002 ports are blocked from the worker nodes | |
# | |
# In you helm, disable etcd monitor by setting kubeEtcd.enabled=false | |
# Then apply this yaml, and you should see the etcd stats on your main instance | |
# | |
apiVersion: monitoring.coreos.com/v1 | |
kind: Prometheus | |
metadata: | |
name: prometheus-operator-prometheus-master |
################################################### | |
## | |
## Alertmanager YAML configuration for routing. | |
## | |
## Will route alerts with a code_owner label to the slack-code-owners receiver | |
## configured above, but will continue processing them to send to both a | |
## central Slack channel (slack-monitoring) and PagerDuty receivers | |
## (pd-warning and pd-critical) | |
## |
Table of Contents
- the default
direnv
Nix integration from projects loads a Nix shell every new terminal or every timeshell.nix
and/ordefault.nix
changes. On larger projects with a lot of Nix shell dependencies, that can cause the terminal to take more than 6 seconds to load, which significantly degrades the developer experience (DX). - when a developer garbage collects in their Nix store, often the Nix shell dependencies are deleted also which causes a slow start the next time the project’s Nix shell is requested, also degrading developer experience (DX).
- on first Nix shell load, the Nix shell is evaluated fully such that direnv dumps the environment from the spawn Nix shell process