Skip to content

Instantly share code, notes, and snippets.

@mingfang
mingfang / apache_age_load_sql.sql
Created March 6, 2024 11:16
Apache AGE load data using SQL
CREATE EXTENSION IF NOT EXISTS age;
LOAD 'age';
SET search_path = ag_catalog, "$user", public;
-- Apache AGE load_sql
CREATE OR REPLACE FUNCTION public.load_sql(query agtype) RETURNS SETOF agtype AS $$
BEGIN
RETURN QUERY EXECUTE FORMAT($sql$
WITH query AS (%s)
@mingfang
mingfang / apache_age_graph_search.sql
Last active March 6, 2024 11:08
Apache AGE Full text search of graph data
CREATE EXTENSION IF NOT EXISTS age;
CREATE EXTENSION IF NOT EXISTS pg_trgm;
LOAD 'age';
SET search_path = ag_catalog, "$user", public;
-- Apache AGE graph_search
CREATE OR REPLACE FUNCTION public.graph_search(graph agtype, label agtype, property agtype, search agtype) RETURNS SETOF agtype AS $$
DECLARE
fts TEXT;
@mingfang
mingfang / convert id_rsa to pem
Last active March 3, 2024 08:46
Convert id_rsa to pem file
openssl rsa -in ~/.ssh/id_rsa -outform pem > id_rsa.pem
chmod 600 id_rsa.pem
@mingfang
mingfang / pgcalc.sh
Created August 31, 2017 04:01
script to calculate ceph pg number
#!/bin/bash
#Computes the suggested PG count similar to this http://ceph.com/pgcalc/
#Reguirements:
# - must run on ceph admin
# - depends on awk, wc and bc commands
#Limitations:
# - Assumes same OSD# for all pools
@mingfang
mingfang / skopeo-sync.sh
Last active January 23, 2024 15:19
Use skopeo to sync all images across private Docker registries
export SRC="10.0.4.5:5000"
export DEST="10.0.4.5:6000"
curl -s http://${SRC}/v2/_catalog | jq .repositories[] | xargs -I {} \
skopeo sync \
--src-tls-verify=false --src docker --src-creds ${DOCKER_USER}:${DOCKER_PASS} \
--dest-tls-verify=false --dest docker --dest-creds ${DOCKER_USER}:${DOCKER_PASS} \
${SRC}/{} ${DEST}
@mingfang
mingfang / ReactAdapter.svelte
Last active August 9, 2023 18:58
Svelte component to use React components
<script>
import {onDestroy, onMount} from "svelte"
export let component
let container
let root
onMount(async ()=> {
const {createRoot} = await import('react-dom/client')
const {createElement} = await import('react')
@mingfang
mingfang / JSXTransformer.java
Last active October 10, 2020 05:45
Java tool to transform React JSX into Javascript
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Function;
import org.mozilla.javascript.NativeObject;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.commonjs.module.Require;
import org.mozilla.javascript.commonjs.module.RequireBuilder;
import org.mozilla.javascript.commonjs.module.provider.SoftCachingModuleScriptProvider;
import org.mozilla.javascript.commonjs.module.provider.UrlModuleSourceProvider;
import java.io.File;
@mingfang
mingfang / gist:689258d4499d3aeb7ed174fdfc8d9521
Created September 27, 2020 03:17
Set Devialet Speakers to Optical Direct Mode
volume=70
speakers="192.168.2.103 192.168.2.60"
for host in $speakers; do
echo $host
# enable optical direct mode
curl -s http://$host/opticaldirect/enabled -XPOST
# name must be Left or Right
curl -s http://$host/device/name | jq .
role=$(curl -s http://$host/device/name | jq -r .data.name)
curl -s http://$host/opticaldirect/role -d "{\"role\":\"Front$role\"}" -H "Content-Type: application/json"
@mingfang
mingfang / phoenix_live_view_example-devfile.yaml
Last active March 9, 2020 03:27
Run phoenix_live_view_example in Eclipse Che
metadata:
name: phoenix_live_view_example
projects:
- name: phoenix_live_view_example
source:
location: 'https://github.com/chrismccord/phoenix_live_view_example.git'
type: git
branch: master
components:
- mountSources: true
apiVersion: 1.0.0
metadata:
name: terraform-provider-k8s
projects:
- name: terraform-provider-k8s
source:
location: 'https://github.com/mingfang/terraform-provider-k8s.git'
type: git
clonePath: src/github.com/mingfang/terraform-provider-k8s/
- name: terraform-k8s-modules