Skip to content

Instantly share code, notes, and snippets.

@adunstan
adunstan / gist:bd50b322e3507bc377134eb6ee1a6974
Last active March 4, 2024 01:55
gitlab get list of repos via API
curl --header "Authorization: Bearer <your_access_token>" https://gitlab.example.com/api/v4/projects |
jq -c -r '.[]|[.http_url_to_repo, .visibility]'
# works with private token or OAuth token
@adunstan
adunstan / gist:6fd1c167e772276701e19457d235ddf5
Last active May 8, 2020 14:11
get a list of repos for an org and the private flag via github API
curl -H "Authorization: token $token" -s "https://api.github.com/orgs/$orgname/repos?per_page=100&page=$pagenum" | \
jq -c -r '.[]|[.html_url, .private]'
@adunstan
adunstan / scrub_strings.pl
Last active August 4, 2019 13:57
obscure_strings
perl -p -e "local \$/ = undef; my \$log = <>; \$log =~ s/('|\\\$[a-zA-Z0-9_]*\\\$)(.*)\$1/\$1 . (q[X] x length(\$2)) . \$1/gme; print \$log;" /tmp/logsamp
@adunstan
adunstan / appveyor-cranges.yml
Last active October 15, 2017 12:38
setup for cranges appveyor
# appveyor.yml
before_build:
- set PATH=C:\Program Files\PostgreSQL\9.6\bin;%PATH%
- cmake -G "Visual Studio 14 2015 Win64"
- dir
- pg_config
build:
project: cranges.sln
@adunstan
adunstan / appveyor.yml
Last active June 3, 2018 11:58
Setup for appveyor builds
# appveyor.yml
install:
- cinst winflexbison
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64'
before_build:
- net user testuser Blurfl9426! /add
- rename c:\ProgramData\chocolatey\bin\win_flex.exe flex.exe
- rename c:\ProgramData\chocolatey\bin\win_bison.exe bison.exe
- curl -S -O https://gist.githubusercontent.com/adunstan/7f18e5db33bb2d73f69ff8c9337a4e6c/raw/buildsetup.pl
@echo off
rem see http://stackoverflow.com/questions/9946322/how-to-generate-an-import-library-lib-file-from-a-dll#9946390
rem see also http://www.postgresql-archive.org/MSVC-pl-perl-error-message-is-not-verbose-enough-td5913411.html
rem see also https://postgr.es/m/CABcP5fjEjgOsh097cWnQrsK9yCswo4DZxp-V47DKCH-MxY9Gig@mail.gmail.com
REM Usage: dll2lib [32|64] some-file.dll
REM
REM Generates some-file.lib from some-file.dll, making an intermediate
@adunstan
adunstan / 20mirror-outside-files
Created November 25, 2015 14:06
etckeeper script for mirroring outside files
#!/bin/sh
set -e
# Based on nealmcb's + ErebusBat's script from http://serverfault.com/questions/211425/
# put this file in etckeeeper's commit.d directory
# in the config file set MIRROR_ROOT (somewhere under /etc) MIRROR_FILES and MIRROR_DIRS
# the latter two can contain wildcards
# all three symbols must be exported or they won't be seen by this script
with recursive
dag (depended_on,dependent) as
(
values
('b2'::text,'d1'::text),
('d1','d2'),
('d2','d3'),
('d3','d4'),
('b1','a1'),
('b2','a1'),
@adunstan
adunstan / sql_json_comparison_ops.sql
Last active April 18, 2023 10:26
JSON comparison operations in SQL for PostgreSQL
CREATE OR REPLACE FUNCTION json_cmp(left json, right json)
RETURNS integer AS $$
select bttextcmp($1::text, $2::text)
$$ LANGUAGE sql IMMUTABLE STRICT;
CREATE OR REPLACE FUNCTION json_eq(json, json)
RETURNS BOOLEAN LANGUAGE SQL STRICT IMMUTABLE AS $$
SELECT json_cmp($1, $2) = 0;
$$;
@adunstan
adunstan / vacuum_schema.sql
Last active August 29, 2015 13:57
Vacuum a PostgreSQL schema's tables via dblink
-- requires dblink extension the be installed
-- vacuum a schema via dblink
create or replace function vacuum_schema(schemaname text)
returns void
language plpgsql
as
$func$
declare