Skip to content

Instantly share code, notes, and snippets.

View vbatts's full-sized avatar
🧁

Vincent Batts vbatts

🧁
View GitHub Profile
@vbatts
vbatts / example.sh
Created May 14, 2015 19:43
docker-save-dockerfile
vbatts@valse ~ (master *) $ go get github.com/vbatts/docker-utils/cmd/docker-save-dockerfile
vbatts@valse ~ (master *) $ docker save busybox | docker-save-dockerfile
INFO[0000] using stdin ...
INFO[0000] Wrote {"busybox" "latest" "4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125"} to "/tmp/docker-save-dockerfile.755321479/Dockerfile.4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125.441581114"
vbatts@valse ~ (master *) $ docker save -o mutt.tar vbatts/mutt
vbatts@valse ~ (master *) $ docker-save-dockerfile ./mutt.tar
INFO[0000] using "./mutt.tar" ...
INFO[0000] Wrote {"vbatts/mutt" "latest" "7eefac143e1c0f8710462b4689ac6330fe2255fd875bffc745c4e5312731f194"} to "/tmp/docker-save-dockerfile.182211867/Dockerfile.7eefac143e1c0f8710462b4689ac6330fe2255fd875bffc745c4e5312731f194.724815294"
vbatts@valse ~ (master *) $ docker pull --all-tags=true fedora
Pulling repository fedora
717a8c89fa48: Download complete
93be8052dfb8: Download complete
d7f0e75cf11f: Download complete
48ecf305d2cf: Download complete
eb8e83ebb17d: Download complete
Status: Image is up to date for fedora
vbatts@valse ~ (master *) $ for i in $(docker images -q fedora | sort -u ); do echo $i; docker run -it $i grep ^root /etc/shadow ; echo ; done
717a8c89fa48
@vbatts
vbatts / docker.sh
Created May 28, 2015 15:36
Isolated Docker daemon (for testing and portability)
#!/bin/sh
set -e
while getopts Dd:s:f:H: c; do
case $c in
H) # docker socket to use
export DOCKER_HOST="$OPTARG"
;;
d) # docker binary to use
@vbatts
vbatts / google-chrome_scale.diff
Created June 10, 2015 14:02
fix the scaling in chrome, without passing flags everywhere. (google-chrome-stable-43.0.2357.124-1.x86_64) (https://twitter.com/vbatts/status/608393019465859074)
--- /tmp/orig 2015-06-10 10:00:10.403089775 -0400
+++ /opt/google/chrome/google-chrome 2015-06-10 10:00:14.350098293 -0400
@@ -78,7 +78,7 @@ exec 2> >(exec cat >&2)
if [[ -n "$CHROME_USER_DATA_DIR" ]]; then
# Note: exec -a below is a bashism.
exec -a "$0" "$HERE/chrome" \
- --user-data-dir="$CHROME_USER_DATA_DIR" "$@"
+ --user-data-dir="$CHROME_USER_DATA_DIR" --force-device-scale-factor=1 "$@"
else
- exec -a "$0" "$HERE/chrome" "$@"
@vbatts
vbatts / README.md
Last active August 29, 2015 14:23
validating tar-split, with golang `compress/gzip`

Output

vbatts@valse ~/tmp/010494540a4d46e2f516 (master) $ go build app.go
vbatts@valse ~/tmp/010494540a4d46e2f516 (master) $ ./app
Starting Sum on "/tmp/tar-split-test.160191501": 2b1c1c203e6bb0ab10c14db7361ede2402ef27468f901f979fb7e8ff8cf3d8c5
Ending Sum on "/tmp/tar-split-test.160191501": 2b1c1c203e6bb0ab10c14db7361ede2402ef27468f901f979fb7e8ff8cf3d8c5
package main
import (
"compress/gzip"
"io"
"os"
)
// usage `cat foo.gz | ./gogunzip > foo`
func main() {
package main
/*
#include <inttypes.h>
struct dm_deps {
uint32_t count;
uint32_t filler;
uint64_t device[0];
};
@vbatts
vbatts / show-tar-header.go
Created August 14, 2015 18:05
show-tar-header
package main
import (
"archive/tar"
"flag"
"fmt"
"io"
"os"
)
/home/vbatts/opt/bin/godoc
PACKAGE DOCUMENTATION
package oci
import "."
Package oci is a generated protocol buffer package.
package oci.config.bundle;
@vbatts
vbatts / README.md
Created September 24, 2015 13:59
`fmt.Sprintf("%s", buf)` vs `string(buf)` for simple []byte arrays

Curiosity on the differences from moby/moby#16531 (comment)

$ go test
PASS
ok      _/home/vbatts/tmp/string        0.003s
$ go test -run=NONE -bench=. -test.benchmem=true 
PASS
BenchmarkString-4 100000 18982 ns/op 0 B/op 0 allocs/op