View multierror.go
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
// MultiError don't use directly, use NewMultiError | |
type MultiError map[string]error | |
// NewMultiError returns nil if all errs are nil | |
func NewMultiError(errs map[string]error) error { | |
for k, v := range errs { | |
if v == nil { | |
delete(errs, k) | |
} | |
} |
View debounce.go
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 pkg | |
import ( | |
"context" | |
"time" | |
) | |
// Debounce takes a channel, and will notify the output channel with the last received message at frequency min. | |
// Upon cancel or max timeout, it will check one last time for a message. | |
// Cancelling the ctx will cause the goroutine to exit. |
View repo.go
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 repo | |
import ( | |
"context" | |
"database/sql/driver" | |
"github.com/jmoiron/sqlx" | |
) | |
// can be either a *sqlx.DB or a *sqlx.Tx |
View sqlx-stats-logger.go
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
go func(dbx *sqlx.DB) { | |
ticker := time.NewTicker(5 * time.Second) | |
defer ticker.Stop() | |
for { | |
select { | |
case <-ticker.C: | |
stats := dbx.Stats() | |
b, _ := json.Marshal(stats) | |
log.Printf("db stats: %d open, %d idle, %d in-use", stats.OpenConnections, stats.Idle, stats.InUse) |
View vaccination.sh
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
#!/bin/bash | |
# FIXME | |
WEBHOOK_URL=YOUR_SLACK_WEBHOOK_URL_HERE | |
# A list of the clinics you're interested in polling, you'll find them via the 1177 links | |
for clin in 1546 500 493 2053 2056 521 528 506; do | |
apt=$(curl -s https://booking-api.mittvaccin.se/clinique/$clin/appointmentTypes |jq -r '.[] |select(.name == "1 pers Covid-19 30-64 år (född -57 till -91)")|.id') | |
echo $clin $apt | |
curl https://booking-api.mittvaccin.se/clinique/$clin/appointments/$apt/slots/210601-210731 -s |jq -e '.[].slots |any(.[]; .available == true)'|grep true | |
if [ $? -eq 0 ]; then | |
time=$(date +%s) |
View tricks.sh
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
#!/bin/bash | |
# start a new session | |
curl --data '{"desiredCapabilities":{"browserName": "chrome"}}' --silent http://localhost:4444/wd/hub/session | jq -r .sessionId |
View filli.sh
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
#!/bin/bash | |
# Sends foo bar and baz then back to you | |
(printf 'foo\nbar\nbaz\n' && cat) | $1 |
View indexed_sql_file_runner.go
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 ( | |
"bufio" | |
"database/sql" | |
"flag" | |
"fmt" | |
"path" | |
"strconv" | |
"strings" |
View nginx-json-log.conf
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
map $msec $millis { ~(.*)\.(.*) $2; } | |
map $time_iso8601 $time_iso8601_m { ~(.*)\+(.*) $1.$millis+$2; } | |
log_format json_combined escape=json | |
'{' | |
'"_ms": "$millis",' # Has to be here in order for timestamp to work. Wat | |
'"timestamp": "$time_iso8601_m",' | |
'"service": "sp-frontend",' | |
'"remote_addr":"$remote_addr",' | |
'"message":"[$status] $request_method $request_uri",' |
View httpclient.go
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 client | |
import ( | |
"bytes" | |
"context" | |
"crypto/tls" | |
"encoding/json" | |
"fmt" | |
"github.com/pkg/errors" | |
"io" |
NewerOlder