-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.xml
140 lines (108 loc) · 11.9 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title> on MrGossett </title>
<generator uri="https://gohugo.io">Hugo</generator>
<link>http://mrgossett.com/</link>
<language>en-us</language>
<updated>Sat, 11 Jun 2016 18:04:08 -0500</updated>
<item>
<title>~/.ssh/config - Stomping Grounds</title>
<link>http://mrgossett.com/post/ssh-config-stomping-grounds/</link>
<pubDate>Sat, 11 Jun 2016 18:04:08 -0500</pubDate>
<guid>http://mrgossett.com/post/ssh-config-stomping-grounds/</guid>
<description>This is part of a series explaining the SSH config I&rsquo;m using on my machine (OS X 10.11). The config should be portable to most UNIX-based systems; Windows users are on their own. A majority of the SSH traffic produced by an operator is to and from running VMs. My SSH config makes it easier to quickly and securely connect to VMs. Host jump* Host jump* applies to any hostname that starts with &ldquo;jump&rdquo;.</description>
</item>
<item>
<title>~/.ssh/config - GitHub</title>
<link>http://mrgossett.com/post/ssh-config-github/</link>
<pubDate>Sat, 04 Jun 2016 22:14:47 -0500</pubDate>
<guid>http://mrgossett.com/post/ssh-config-github/</guid>
<description>This is part of a series explaining the SSH config I&rsquo;m using on my machine (OS X 10.11). The config should be portable to most UNIX-based systems; Windows users are on their own. A majority of the SSH traffic produced by a developer is to and from GitHub. My SSH config adds a little tuning specific to github.com. Host github.com Host github.com applies to any SSH traffic (including git over SSH) routed to the github.com hostname.</description>
</item>
<item>
<title>~/.ssh/config - Global Settings</title>
<link>http://mrgossett.com/post/ssh-config-global-settings/</link>
<pubDate>Sat, 14 May 2016 20:12:53 -0500</pubDate>
<guid>http://mrgossett.com/post/ssh-config-global-settings/</guid>
<description>This is part of a series explaining the SSH config I&rsquo;m using on my machine (OS X 10.11). The config should be portable to most UNIX-based systems; Windows users are on their own. Quick Primer Every time the SSH client is invoked, it looks for settings in ~/.ssh/config (as well as some other places). The same is true for utilities that use SSH as a transport such as scp and sftp.</description>
</item>
<item>
<title>eb config --> deploy</title>
<link>http://mrgossett.com/post/eb-config-deploy/</link>
<pubDate>Mon, 09 Nov 2015 21:09:14 -0400</pubDate>
<guid>http://mrgossett.com/post/eb-config-deploy/</guid>
<description>I learned something useful the other day. We use AWS ElasticBeanstalk (let&rsquo;s just call it EB) at work for deploying the various components of our SOA. I use the eb CLI tool a lot when working with those EB apps. EB stores the configuration data it needs for each app as a YAML file in S3. One of the commands the eb CLI provides is eb config, which allows management of those YAML files from the command line: eb config list to list the saved configurations in S3 eb config save to download a YAML file that describes the current configuration of the app eb config put to upload a YAML file from local disk to S3 etc.</description>
</item>
<item>
<title>docker inspect | grep</title>
<link>http://mrgossett.com/post/docker-inspect-grep/</link>
<pubDate>Mon, 19 Oct 2015 21:09:16 EDT</pubDate>
<guid>http://mrgossett.com/post/docker-inspect-grep/</guid>
<description>We&rsquo;ve dockerized all of the apps the comprise our platform at work. Almost all of the configuration data that our apps need is provided via environment variables. Sometimes I need to verify that the correct configuration was provided for a particular environment variable. I&rsquo;ve executed the following command enough times now that I figured I should write it down somewhere. # $cid is the target container's ID, and $var is some part of the environment variable's name docker inspect -f '{{range $_, $e := .Config.Environment}}{{println $e}}{{end}}' $cid | grep $var This executes docker inspect with a Go template that will loop through the container&rsquo;s environment variables (which are stored as a flat array of strings like [&quot;VAR1=value1&quot;, &quot;VAR2=value2&quot;]) and print each variable on a new line.</description>
</item>
<item>
<title>Inverted Switch</title>
<link>http://mrgossett.com/post/inverted-switch/</link>
<pubDate>Sun, 09 Aug 2015 14:15:53 -0500</pubDate>
<guid>http://mrgossett.com/post/inverted-switch/</guid>
<description>Go is great for building APIs. It&rsquo;s common for APIs to perform some validation on the data structures used in request bodies. some structure Assume we&rsquo;re handling a request with the following body: { &quot;thing_id&quot;: 123, &quot;foo&quot;: &quot;fizz&quot;, &quot;bar&quot;: &quot;buzz&quot;, &quot;some_date&quot;: &quot;2015-08-09T07:25:43-05:00&quot; } This can be unmarshalled onto the following Go struct: type SomeRequest struct { ThingID int64 `json:&quot;thing_id&quot;` Foo, Bar string SomeDate time.Time `json:&quot;some_date&quot;` } package json will do the heavy lifting to parse the date and convert the JSON numeric into an int64.</description>
</item>
<item>
<title>~/.gitconfig aliases</title>
<link>http://mrgossett.com/post/gitconfig/</link>
<pubDate>Thu, 14 May 2015 14:28:56 EDT</pubDate>
<guid>http://mrgossett.com/post/gitconfig/</guid>
<description>I use git from the command line as part of my regular workflow. Configuring aliases saves just a few keystrokes, but those keystrokes add up (My bash history says I&rsquo;ve executed git commands 121 times in my current shell session, which has spanned about two workdays). I have git itself aliased to g in my ~/.bashrc. git allows aliasing subcommands in the [alias] section of ~/.gitconfig. Below are my aliases in workflow order: Fetch &amp; Checkout To kick it off, I typically git fetch from remote to make sure git is aware of the branches that exist on the remote end.</description>
</item>
<item>
<title>The mux.Vars Problem</title>
<link>http://mrgossett.com/post/mux-vars-problem/</link>
<pubDate>Tue, 14 Apr 2015 09:22:04 EDT</pubDate>
<guid>http://mrgossett.com/post/mux-vars-problem/</guid>
<description>We&rsquo;ve begun to use github.com/gorilla/mux at work as a router for many of our services. I ran into a snag when writing some unit tests, and learned a bit about the design of mux in the process. A quick detour When I say &ldquo;unit tests&rdquo;, I mean this: &hellip; a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation.</description>
</item>
<item>
<title>~/.golangrc</title>
<link>http://mrgossett.com/post/golangrc/</link>
<pubDate>Wed, 25 Mar 2015 14:05:03 EDT</pubDate>
<guid>http://mrgossett.com/post/golangrc/</guid>
<description>TL;DR I wrote some bash functions that are a regular part of my workflow. Check them out Go source I have Go&rsquo;s source cloned in ~/goroot. Since the source is now managed with git, I can switch between versions very easily, and I can browse the source for Go&rsquo;s standard library using my editor. To clone the source, I did this: git clone https://go.googlesource.com/go ~/goroot Since this constitutes &ldquo;installing [Go] to a custom location&rdquo;, Go will need a few environment variables set: export GOROOT=$HOME/goroot export GOPATH=$HOME/go export GOBIN=$GOROOT/bin export PATH=$GOBIN:$PATH Helper functions I wrote a few helper functions which are basically aliases for commands I execute often.</description>
</item>
<item>
<title>Collaborative Apps with Go at Citrix</title>
<link>http://mrgossett.com/post/collaborative-apps-go-citrix/</link>
<pubDate>Tue, 17 Mar 2015 08:59:18 EDT</pubDate>
<guid>http://mrgossett.com/post/collaborative-apps-go-citrix/</guid>
<description>Reposted from the Firebase blog Collaborative Apps with Go at Citrix Tim Gossett and his colleague Steven Berlanga are Backend Developers for the Realtime Platform Group at Citrix. They build services to enable collaborative web and mobile apps. Our team is developing realtime communications technology, and we’re using Firebase for low-latency data sync. Our platform provides a rally point for mobile and web clients to connect and start collaborating. Part of that collaboration happens in Firebase.</description>
</item>
<item>
<title>route 53</title>
<link>http://mrgossett.com/post/route-53/</link>
<pubDate>Tue, 17 Mar 2015 07:26:35 EDT</pubDate>
<guid>http://mrgossett.com/post/route-53/</guid>
<description>At work, we created an internal API for vending sub-domains of a particular, somewhat popular domain we own. The project is written in Go and wraps the AWS Route 53 API to manage DNS records. We decided to use github.com/mitchellh/goamz, which is has pretty well-rounded implementations of most of the AWS APIs. When using goamz/route53, things were working perfectly when aws.GetAuth was passed credentials directly&ndash;i.e., the things I normally set as AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.</description>
</item>
<item>
<title>awsenv</title>
<link>http://mrgossett.com/post/awsenv/</link>
<pubDate>Sun, 08 Mar 2015 21:06:46 EDT</pubDate>
<guid>http://mrgossett.com/post/awsenv/</guid>
<description>TL;DR I have this cool awsenv function. Check it out Full disclosure: the awsenv function in this post is based on a zsh script my co-worker phemmer wrote. I ported it to bash. Why? I deal with a few different AWS accounts in the course of a day. We use separate accounts at work for our development and production deploys, and I also have a personal account to kick around. AWS has a nice suite of command-line utilities, but there&rsquo;s one aspect that I don&rsquo;t agree with: credential management.</description>
</item>
<item>
<title>aws tab complete</title>
<link>http://mrgossett.com/post/aws-tab-complete/</link>
<pubDate>Sat, 07 Mar 2015 21:06:46 -0400</pubDate>
<guid>http://mrgossett.com/post/aws-tab-complete/</guid>
<description>I would go insane if I did&rsquo;t wire-up tab completion for the aws CLI. There are just too many commands to remember. To do that, I dropped this line in my .awsrc: complete -C aws_completer aws So now when I type aws &lt;tab&gt;, I get a list of possible commands, like this: ~ $ aws &lt;tab&gt; autoscaling ec2 rds cloudformation ecs redshift cloudhsm elasticache route53 cloudsearch elasticbeanstalk route53domains cloudsearchdomain elastictranscoder</description>
</item>
<item>
<title>~/.dockerrc</title>
<link>http://mrgossett.com/post/dockerrc/</link>
<pubDate>Fri, 20 Feb 2015 21:06:46 -0400</pubDate>
<guid>http://mrgossett.com/post/dockerrc/</guid>
<description>We use Docker at work as part of our deployment strategy. Since we ship dockerized apps, Docker is part of our development environment. I develop in OS X, so I use Boot2Docker. One of the original core contributors to Docker, @creack, was part of our team for a while. It was a great opportunity to get familiar with Docker as a technology. He helped me put together a ~/.dockerrc file that ensures my development environment is always ready to go.</description>
</item>
</channel>
</rss>