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 {