Skip to content

Instantly share code, notes, and snippets.

View dmitshur's full-sized avatar

Dmitri Shuralyov dmitshur

View GitHub Profile
@dmitshur
dmitshur / non-zero-synopsis-diff.txt
Created October 20, 2020 15:09
Raw data for golang.org/issue/31947.
total module versions considered: 1779
unique modules processed: 1061
github.com/elastic/beats/v7@v7.9.3-0.20201016221757-731564783976/filebeat/input/redis/doc.go:
"Package redis package contains input and harvester to read the redis slow log The redis slow log is stored in memory."
→
"Package redis package contains input and harvester to read the redis slow log"
github.com/elastic/beats/v7@v7.9.3-0.20201016221757-731564783976/libbeat/common/cleanup/cleanup.go:
"Package cleanup provides common helpers for common cleanup patterns on defer Use the helpers with `defer`."
@dmitshur
dmitshur / main.go
Last active March 16, 2020 10:59
A simple server for HTTPS and HTTP protocols.
// A simple server for HTTPS and HTTP protocols. It implements these behaviors:
//
// • uses Let's Encrypt to acquire and automatically refresh HTTPS certificates
//
// • redirects HTTPS requests to canonical hosts, reverse proxies requests to internal backing servers
//
// • redirects all HTTP requests to HTTPS
//
// • gates certain endpoints with basic auth, using bcrypt-hashed passwords
//
package main
import (
_ "fmt"
_ "net"
_ "github.com/samuel/go-zookeeper"
_ "github.com/mocktesting/nolongerexists"
)
@dmitshur
dmitshur / main.go
Last active January 28, 2018 08:48
Server for HTTPS protocol. Redirects to canonical hosts, reverse proxies requests to internal backing servers.
// Server for HTTPS protocol. Redirects to canonical hosts, reverse proxies requests to internal backing servers.
package main
import (
"crypto/tls"
"flag"
"log"
"net/http"
"net/http/httputil"
"time"
@dmitshur
dmitshur / main.go
Last active September 6, 2017 08:32
Server for HTTP protocol. Redirects all requests to HTTPS.
// Server for HTTP protocol. Redirects all requests to HTTPS.
package main
import (
"flag"
"log"
"net/http"
)
var (
@dmitshur
dmitshur / Default (OSX).sublime-keymap
Created November 17, 2014 20:54
Add folder that contains current file to sidebar, for Sublime Text. Goes well with Cmd+.,Cmd+O of GoSublime until https://github.com/DisposaBoy/GoSublime/issues/553 is resolved.
[
// ... (existing content)
// Add folder that contains current file to sidebar.
{ "keys": ["f3"], "command": "add_to_project" },
// ...
]
@dmitshur
dmitshur / Default (OSX).sublime-keymap
Last active October 18, 2020 21:57
Sublime Text on OS X, make Cmd+F do the equivalent of Cmd+E followed by Cmd+F. Works for all selections, not just single line like "find_selected_text" setting.
[
// ... (existing content)
// Find selected text, even if it spans multiple lines (unlike "find_selected_text").
{ "keys": ["super+f"], "command": "run_multiple_commands", "args":
{ "commands":
[
// Only execute slurp if there's selected text.
{"command": "slurp_find_string", "context": "window", "condition": "selected_text"},
{"command": "show_panel", "args": {"panel": "find", "reverse": false}, "context": "window"}
@dmitshur
dmitshur / gist:86949a392dcdac1f94cf
Last active September 12, 2016 04:31
The experience of compiling Go and C++ projects.

Compiling a Go project.

Conception-go $ go install
Conception-go $ 

Compiling a C++ project.

@dmitshur
dmitshur / gist:77cc54e53bbc0bf9a9a6
Last active February 19, 2020 10:01
How I use GOPATH with multiple workspaces.

An example where var err error; something, err = foo() is nicer than something, err := foo().

This is a less common situation.

	fd := os.Stdout
	if *output != "" {
		var err error
		fd, err = os.Create(*output)
 if err != nil {