Skip to content

Instantly share code, notes, and snippets.

@dplusic
dplusic / SQL-Create-Insert.groovy
Created January 23, 2023 07:36
IntelliJ Database tools (or DataGrip) Data extractor: SQL-Create-Insert
// https://www.jetbrains.com/help/idea/data-extractors.html
// https://www.jetbrains.com/help/datagrip/data-extractors.html
/*
* Available context bindings:
* COLUMNS List<DataColumn>
* ROWS Iterable<DataRow>
* OUT { append() }
* FORMATTER { format(row, col); formatValue(Object, col); getTypeName(Object, col); isStringLiteral(Object, col); }
* TRANSPOSED Boolean
@dplusic
dplusic / object_partial_application.ts
Last active August 4, 2020 06:52
Typescript Object Parameter Partial Application
const object_partial = <
P,
R,
PP = Partial<P>,
OP = Omit<P, keyof PP>,
>(
f: (p: P) => R,
pp: PP,
): ((op: OP) => R) =>
(op: OP): R => f({ ...pp, ...op } as any) // Is it possible to omit `any`?
@dplusic
dplusic / kube-use-context.sh
Last active July 8, 2020 07:15
Change $KUBECONFIG
#!/usr/bin/env bash
# Usage: source ./kube-use-context.sh <CONTEXT_NAME>
BASEDIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
if [ "$#" -ne 1 ]; then
echo "Usage: ${BASH_SOURCE[0]} <CONTEXT_NAME>"
return
@dplusic
dplusic / k8s_configmap_cas.sh
Last active March 2, 2020 12:28
Kubernetes ConfigMap Compare and Swap
#!/usr/bin/env bash
set -e
#
# Usage Example: ./k8s_configmap_cas.sh -n namespace configmap-name '{"key":"value1"}' '{"key":"value2"}'
#
NAMESPACE=
while getopts n: o; do
case $o in
@dplusic
dplusic / reset_branch_and_push.cmd
Created May 24, 2019 06:16
reset_branch_and_push.cmd
@ECHO OFF
SETLOCAL
SET BRANCH_NAME=%1
SET COMMIT_HASH=%2
SET REMOTE=%3
@ECHO ON
git branch -f %BRANCH_NAME% %COMMIT_HASH%
@dplusic
dplusic / functional_mixin_1.ts
Last active December 19, 2018 05:13
Typescript Functional Mixin
interface Flying {
fly(): this;
isFlying: () => boolean;
land(): this;
}
const flying = <O>(o: O) : O & Flying => {
let isFlying = false;
return Object.assign({}, o, {
fly() {
{-# LANGUAGE OverloadedStrings #-}
import Data.Conduit
import Data.Conduit.Network
main :: IO ()
main = runTCPServer (serverSettings 3001 "127.0.0.1") echo
echo :: AppData -> IO ()
echo app = appSource app $$ appSink app
require('net').createServer(s => s.on('data', s.write)).listen(4243);
module Main where
import Control.Concurrent
import Control.Exception
import Control.Monad (when)
import Control.Monad.Fix (fix)
import Network.Socket
import System.IO
main :: IO ()
$(& hindent; $HindentExitCode=$LastExitCode) | stylish-haskell
$Host.SetShouldExit($HindentExitCode -Or $LastExitCode)