This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
this=$0 | |
prog=$(basename $0) | |
current=$prog | |
quickusage="Run '$prog help' for usage." | |
quickusage() { | |
echo "" | |
echo "$current: unknown command" | |
echo "$quickusage" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Minimal JSON parser which works with correct input only. | |
// Usecase: | |
// 1. Walk through unstructured json | |
// 2. Transform unstructured json | |
// without fully unmarshalling it into a map[string]interface{} | |
// | |
// Caution: Behaviour is undefined on invalid json. Use on trusted input only. | |
package µjson |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import "fmt" | |
import "github.com/olvrng/ujson" | |
func main() { | |
input0 := []byte(`true`) | |
ujson.Walk(input0, func(level int, key, value []byte) bool { | |
fmt.Printf("level=%v key=%s value=%s\n", level, key, value) | |
return true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"io" | |
"net/http" | |
"time" | |
) | |
var client = http.Client{Timeout: 5 * time.Second} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// execute function(s) with a limit timeout, throws error if the function(s) | |
// do not complete within the given time | |
export function execWithTimeout(timeout, ...promises) { | |
let timeoutId; | |
const countDown = new Promise((_, reject) => { | |
timeoutId = setTimeout(reject, timeout, new Error('timed out')); | |
}); | |
return Promise.race([countDown, ...promises]).then((result) => { | |
clearTimeout(timeoutId); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!doctype html> | |
<html lang="en"> | |
<head> | |
<title>My little app</title> | |
</head> | |
<body> | |
<script type="module" src="myscript.js"></script> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script type="module" src="myscript.js"></script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func processRegex( | |
s string, rs []*regexp.Regexp, | |
fn func(string), funcs ...func(string, ...string), | |
) { | |
if len(rs) != len(funcs) { | |
panic("func and regex do not match") | |
} | |
for s != "" { | |
mi, minA, minB, mIdx := 0, len(s), len(s), []int(nil) | |
for i, re := range rs { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
".gitattributes", | |
".github", | |
".github/CODE_OF_CONDUCT.md", | |
".github/ISSUE_TEMPLATE", | |
".github/PULL_REQUEST_TEMPLATE", | |
".github/SUPPORT.md", | |
".gitignore", | |
"AUTHORS", | |
"CONTRIBUTING.md", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// find intersection of 2 strictly sorted lists | |
function findIntersection(a: number[], b: number[]): number[] { | |
let ai = 0, bi = 0, result = []; | |
while (ai < a.length && bi < b.length) { | |
if (a[ai] < b[bi]) ai++; | |
else if (a[ai] > b[bi]) bi++; | |
else { // they are equal | |
result.push(a[ai]); | |
ai++; | |
bi++; |
OlderNewer