Skip to content

Instantly share code, notes, and snippets.

View ulidtko's full-sized avatar
🤔
What it feels like, to live in a collapsing civilization?

Maxim Ivanov ulidtko

🤔
What it feels like, to live in a collapsing civilization?
View GitHub Profile
@ulidtko
ulidtko / LibModule.hs
Last active March 12, 2024 12:30
Cabal#9784 minimized repro case
module LibModule where
greeting = "=== Hello, Cabal! === Module Main speaking ~~~"
@ulidtko
ulidtko / README.md
Last active February 16, 2024 15:32

Mini-repro for SO question about weird TypeScript error message involving contravariance.

Steps

  • git clone git@gist.github.com:408b45c4e7b126fb7c28c69140604546.git test && cd test
  • npm ci
  • npm run build
@ulidtko
ulidtko / aws-2fa-session.py
Last active February 12, 2024 12:27
Virtual MFA device-in-a-script for AWS IAM, RFC6238 TOTP
#!/usr/bin/env python
"""
Use TOTP secret with RFC6238 algorithm for AWS MFA login.
$AWS_PROFILE is expected to be set, naming a section in ~/.aws/credentials
That same section must also contain 2 extra values for this script:
[my-awesome-shiny-aws-account]
@ulidtko
ulidtko / OverloadedSymbols.hs
Created December 10, 2023 11:38
Haskell string literals with custom compile-time validation
{-# LANGUAGE DataKinds, PolyKinds, TypeFamilies #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances, UndecidableInstances #-}
{-# LANGUAGE NoStarIsType #-}
{-# OPTIONS_GHC -Wno-orphans #-}
{-# OPTIONS_GHC -fplugin=Overloaded -fplugin-opt=Overloaded:Symbols #-}
module Main where
import Data.Fixed
import Data.Function (on)
@ulidtko
ulidtko / aws-ip-info.hs
Created November 9, 2023 15:32
Query AWS region info of IPv4/IPv6
#!/usr/bin/env runhaskell
{- cabal:
build-depends:
aeson,
attoparsec,
attoparsec-aeson,
base,
bytestring,
conduit,
conduit-aeson,
@ulidtko
ulidtko / repr.js
Last active October 29, 2023 12:22 — forked from soapie/repr.js
A repr function for JS
'use strict';
/* Python-like repr() formatter for JS types, with recursion limit. */
/* Adapted from https://gist.github.com/soapie/6407618 */
function repr(x, max, depth) {
var ELIDED = "[..]";
if (depth === undefined) depth = 0;
if (max === undefined) max = 2;
if (isPrim(x))
return showPrim(x);
if (typeof x === 'function')
@ulidtko
ulidtko / http-watchdog-wrapper
Last active February 6, 2024 17:49
systemd WatchDog pinging HTTP healthcheck
#!/usr/bin/env python3
"""
https://gist.github.com/ulidtko/fdd7222bd7e85480fa201614fbc42faf
"""
import os
import subprocess
import sys
from time import sleep
from urllib.error import URLError
@ulidtko
ulidtko / fetch-aws-ecs-env.py
Created July 20, 2023 10:42
Fetch env-file from AWS ECS Service TD (Task Definition)
#!/usr/bin/env python3
import argparse
import datetime
import sys
import os.path
import boto3
import jinja2
@ulidtko
ulidtko / README.md
Last active May 17, 2022 11:03
Cinnamon 5.2.7 pagefaults lag

Since ~beginning of May 2022, the following symptom appeared.

After roughly a day of uptime, system exhibits pretty heavy lag: ~1s freeze every couple seconds. Input handling pauses (apart from hw cursor); extremely annoying.

That's on linux-lts 5.15.39-1.

Finding 1: dstat --vm shows exorbitant bursts of minor pagefaults (minpf), 61k per second, which correlate perfectly with the lag. Background level is tens to hundreds.

# Oh come on! It's 2020! Stop freezing on OOM, you *clumsy penguin* !
kernel.sysrq = 244
# = 128+64+32+16 +4
# 256+128+64+32+16+8+4+2+1
# ^ ^ ^ ^ ^ ^ ^ ^ ^
# | | | | | | | | |
# | | | | | | | | | 0 - disable every SysRq function.
# | | | | | | | | `- 1 - enable every SysRq function.
# | | | | | | | `--- 2 - enable control of console logging level