►
Description
A few members of the team show off some of their tools and local development productivity strategies
A
Alrighty
welcome
everybody.
This
is
the
distribution
team
demo
on
thursday
august
4
2022.
today
will
be
a
little
bit
different,
we're
just
going
to
kind
of
run
through
an
informal
kind
of
tooling
show
and
tell
to
kind
of
show
what
we
do
for
workflows,
and
things
like
that.
I
was
just
going
to
kick
it
off
with
kind
of
the
workflow
that
I
use
when
doing
merge,
requests
and
some
helpful
tools
that
I
use
and
things
like
that.
A
A
Alrighty,
so
I
just
made
a
quick
bullet
list
here
of
things
I
was
going
to
go
through
so
we'll
split
it
up
into
the
terminal
and
the
browser
so
starting
with
the
terminal.
Maybe
I'll
just
do
a
little
split
screen
here.
A
Try
to
find
it
better
spot
for
my
zoom
bar,
so
so,
whenever
I
get
a
new
computer,
I
usually
kind
of
clone
these
dot
files
down
and
there's
kind
of
a
bootstrap
script.
Of
course
that'll
depend
on
what
post
machine
you're
running
on,
but
a
lot
of
this
is
configurable
pretty
flexibly,
because
a
lot
of
it
just
gets
sim
linked
back
into
your
home
directory
and
a
lot
of
tools
read
configuration
from
the
xdd
xdg
configure
variable
path.
A
A
In
my
list
here
is
starship:
it's
just
one
of
the
shell
props.
That's
out
there
there's
a
ton
of
these
this
one's
written
in
rust.
It's
pretty
quick!
I
know
a
lot
of
them
tend
to
get
kind
of
bogged
down
over
time
start
getting
slow,
but
it's
really
configurable
and
I
like
it
because
it
plugs
in
with
a
lot
of
other
tools
like
like
coop
ctl,
to
kind
of
show
a
cluster
you're
on
I'm
sure,
we've
all
been
in
a
place
where
we
ran
a
coupe,
ctl
command
and
realized.
A
We
were
running
against
the
wrong
cluster,
so
easy
to
plug
into
things
like
that
and
also
show
your
git
status,
etc.
So
whatever's
helpful
for
you
can
be
configured
here,
there's
tons
of
presets
with
really
good
documentation.
So
I
like
that,
to
kind
of
give
me
context
about
what
path
I'm
in
and
what
branch
I'm
on,
etc.
A
A
It's
really
helpful
for
kind
of
managing
multiple
sessions,
and
so
when
I'm
switching
to
maybe
reviewing
a
different
merge
request,
I
can
jump
over
with
tmux
to
a
different
session
and
have
a
complete
set
of
different
splits
and
layouts
and
different
paths
on
my
machine.
So
so
I'll
show
you
an
example
of
that.
So
you
can
see
down
here,
there's
demo
in
brackets
here
at
the
bottom
left.
A
A
So
this
is
my
demo
session,
but
I
also
have
a
session
for
one
of
my,
mrs
that
I'm
working
on
here,
so
you
can
see
the
path
changed,
I'm
not
doing
anything
just
yet
here,
but
you
can
see
that
I'm
in
the
charts
directory
or
I
could
hop
over
to
an
operator
directory.
I
was
working
on
earlier
and
see
to
get
status,
etc
and
then
hop
back
to
my
demo.
One
so
super
helpful
to
make
sure
that
I
kind
of
have
logical
separations
between
projects
really
nice
part
of
using
tmux2.
A
Is
that
since
it's
a
kind
of
a
local
server
running
on
your
computer,
if
I
ever
accidentally
quit
my
terminal
or
if
I
reboot
or
anything
like
that,
it
saves
that
session.
So
I
can
always
reattach
to
it
later
without
losing
my
progress.
That
was
something
that
happened
before,
especially
for
terminals
kind
of
buggy
and
it
crashes.
You
lose
all
your
sessions
and
everything
alrighty.
B
A
That
is
true.
I
actually
use
a
plug-in
for
that.
It's
called
t-mux
resurrect,
and
so
it
actually
kind
of
saves
a
local
text
file
that
kind
of
lists
out
the
paths
and
tools
that
are
running,
and
so
at
any
time
I
can
hit
the
key
binding
to
save
that
environment
or
it'll
automatically
run
it
whatever
interval.
So
whenever
I
reboot
and
start
up,
I
just
kind
of
restore
that
environment
and
everything
comes
back.
A
Next
up
get
work
trees.
I
think
I've
seen
this
mentioned
in
the
channels
a
couple
of
times,
but
it
was
really
helpful
for
when
I
was
reviewing
multiple
merge
requests
so
I'll
show
an
example
of
that
here.
Maybe
I'll
split
out.
So
what
I'm
going
to
do
is
kind
of
just
pull
up
like
a
merge
request
that
I'm
not
reviewing.
A
A
So
here
we
are,
you
can
see
we're
on
master
so
the
way
that
I've
set
this
up.
I
think
there
are
a
couple
different
ways
you
could
approach
this,
but
what
I
typically
do
when
I
set
up
a
new
project,
is
that
you'll
see
if
I
go
back
one
directory
here,
I've
got
master
as
the
main
branch,
but
then
each
of
the
work
trees
gets
checked
out
to
a
directory
next
to
master.
A
There's
other
ways
to
do
this
too,
you
can
check
out
each
branch
under
the
master
heading
or
just
under,
like
the
get
lab
project
name
heading.
This
is
kind
of.
What's
worked
well
for
me,
I
like
it
because
it
shows
up
nicely
in
my
path,
because
the
path
will
have
the
the
project
name
and
the
branch
name
but
effectively.
What
I
do
is,
I
have
this
alias
for
a
work
tree
adds
so,
let's
do
which
gwa
so
effectively
it
will.
A
A
Then
I'll
do
gwa
for
get
work
tree
add,
and
then
I
paste
in
that
branch
name
and
now
you
can
see
my
path
changed,
so
we're
on
charts,
gitlab
three
four,
four,
three
yadda
yadda
yadda.
You
can
go
into
the
log
and
show
that
this
is
showing
jason's
latest
changes,
and
so
I
could
touch
some
new
file
here
and
do
a
git
status.
A
But
then,
at
any
time
I
can
just
switch
back
to
master.
Now,
I'm
back
on
on
that
change,
so
makes
it
really
easy
to
kind
of
separate
different
branches,
especially
when
you've
got
like
some
config
files,
with
local
notes
that
that
are
really
specific
to
that
branch.
That
you're
testing
and
you
don't
want
to
pollute
your
directory.
A
It's
worked
a
lot
better
for
me
than
stashing
files
and
keeping
track
of
those
stashes
and
pops
etc,
and
so
that's
been
really
helpful
and
then,
whenever
you're
done
or
the
branch
is
merged,
I
just
do
which
gwr
this
was
get
work
tree
remove.
So
I
get
the
I
basically
go
back
to
the
master
main,
whichever
one
it
is
and
do
get
work
tree
or
move
so
that'll
remove
it
from
its
list.
A
C
I'm
quite
confident
since
for
myself,
I
can
speak
only
by
myself,
but
I'm
using
pretty
much
the
same
workflow
just
with
the
slight
tweaks,
I'm
thinking.
Maybe
we
should
just
put
it
together
into
a
script
that
we
can
put
in
the
under
the
distribution
team's.
You
know
group
so
that
everybody
can
benefit
from
this
yeah,
like
I
created
my
own
script,
without
knowing
that
you
were
doing
the
same
thing.
A
Yeah,
we
should
probably
reuse
some
of
that.
I
know
like
a
lot
of
these.
Configs
are
so
personal
to
what
you
use,
but
like
just
a
reference
document,
I
think
that
we
could
kind
of
pull
from
or
fork
would,
I
think,
be
really
helpful.
A
C
I
don't
believe
we're
talking
about
standardizing
on
this.
I
think
we're
just
talking
about
you
know
providing
common
tools
that
people
can
use.
So
at
this
point
in
time,
it's
more
of
a
like.
I
saw
that
mitch
and
I
are
using
pretty
much
the
same
approach
to
our
work
style,
and
that
means
like
we
can
just
create
a
common
piece
of
code.
So
it's
not
just
me
or
mitch,
who
has
to
maintain
it
and
any
person
who
wants
to
switch
to
that
style
would
have
a
simpler
time
doing
so.
A
Yeah,
maybe
we
turn
it
more
into
documentation
and
know
for
the
charts.
We
have
documented
some
tools
that
are
helpful
to
use.
Maybe
in
that
same
page
we
can
kind
of
put
some
helpful,
aliases
or
scripts
that
help
with
development
kind
of
like
our
development
contribution
guide,
maybe,
rather
than
a
repository,
it
can
just
kind
of
be
documentation
that
you
can
pull
snippets
from.
A
All
right,
I
want
to
make
sure,
there's
time
for
other
folks
to
go
through
too
so
I'll
just
kind
of
finish
up
here.
So
next,
one
coming
up
is
neovim
with
lsp
language
server
protocol.
So
this
helps
me
a
lot
for
developing
when
I'm
working
on,
for
example,
like
the
operator
with
go,
I
can
stay
within
vim
and
because
I
have
it
configured
and
set
up
the
way
that
works
well
for
me,
but
I
still
get
like
some
bigger
ide
features.
A
So,
for
example,
if
I'm
editing
in
here
and
I
want
to
pull
something
from
the
os
package-
I
just
type
os
dot
and
I
get
a
list
here
of
all
the
methods
functions
variables
associated
with
that
package
and
if
I
were
to
do
like
chmod
here,
it'll
give
me
kind
of
a
hint.
So
I
went
to
help
finish
that
method,
signature
and
so
it'll
show
that
the
name's
the
string,
so
I
can
do
foo
and
then
next
up
is
the
mode
etc.
So
really
helpful.
A
This
helps
a
lot
and
then,
for
example,
if
I
have
some
kind
of
error,
this
is
an
error.
Obviously,
this
doesn't
mean
anything
and
go
so
now
you
can
see
on
the
left
hand,
side
there,
there's
an
e
e
icon,
and
I
can
open
shortcut
to
kind
of
show
that
diagnostic
or
at
any
time
I
can
kind
of
pull
up
a
list
here
with
all
the
errors
in
the
project.
A
So
if
I'm
up
on
the
home
line
here
and
then
click
on
that
error,
it'll
pull
me
right
to
it
and
see
what's
wrong
with
it
and
fix
it
from
there
super
handy.
This
works
for,
of
course,
any
languages.
I
know
this
is
basically
what
plugs
into
vs
code
as
well.
The
idea
is
that
it's
basically
just
running
go,
I
think
you
say
go,
please
go
language
server
on
the
as
a
binary
on
your
machine
and
then
bim
just
looks
into
that
the
same
way.
A
Vs
code
would
so
it
works
for
yeah
linting,
ruby,
whatever
you're
writing.
There's
tons
out
there
that
kind
of
help
you
work
with
your
relevant
language,
real
quick,
then
two
espanzo
has
been
really
helpful
for
avoiding
typing
too
much,
and
so
what
I
really
like
about
it
is
that
you
define
your
snippets
in
yaml
and
then
it
will
replace
them.
So
if
I
were
to
type
a
thing
I
do
a
lot
in
reviews
is
that
whenever
I'm
about
to
review
it,
I
will
type
review
with
two
w's.
A
For
example,
you
can
tell
where
to
put
your
cursor
so
when
I
want
to
expand,
have
like
the
expandable
html
thing,
it'll
type,
details
and
it'll
put
my
cursor
in
the
summary
and
then
I
can
fill
out
more
details
there.
So
I
even
started
doing
this.
Like
kind
of
with
manifest,
too,
I
use
this
kind
of
manifest
along
the
operator
when
I'm
testing,
and
so
I
just
needed
a
snippet
that
I
can
kind
of
fill
into
the
yaml
file
wherever
I
am.
A
And
finally,
for
the
terminal,
I'm
sure
we've
seen
this
before
but
k9s.
This
is
a
huge
part
of
the
workflow
too.
It's
way
faster
than
running
a
bunch
of
coop
ctl
commands
locally.
Basically,
anything
you
do
with
coop
ctl.
You
can
do
in
here
as
well,
a
lot
faster
and
then
I'll
finish
up
with
just
a
couple,
quick
things
in
the
browser,
so
something
recent
that
I
added
was
this
kind
of
new
tab
page.
A
A
I've
committed
to
my
dot
files-
and
so
I
just
have
the
browser
set
this
as
my
new
tab
or
a
new
window
page,
and
so
now
I
can
just
kind
of
access
things
quickly,
wherever
I
am
no
matter
when
I
have
browsers
since
it's
just
reading
from
a
local
file,
and
the
final
thing
here
is
tree
style
tabs.
I
think
I
actually
saw
dimitro
using
this,
which
is
why
I
started
with
it.
I
can
make
this
bigger.
A
I
guess
that
just
makes
the
page
bigger,
but
to
me
it
helps
a
lot
contextually
to
see
the
relationship
of
tabs
to
each
other,
and
so,
what's
very
helpful,
is
being
able
to
kind
of
see
this
in
a
collapsible
tree
structure,
and
this
just
helps
a
lot
with
context.
So,
for
example,
if
I'm
reading
this-
and
then
I
see
that
we
have
this
fork-
I'll
command
click
that
and
it
opens
it
up
in
a
new
tab,
but
now
it's
nested
under
here
and
you
can
kind
of
see
that
relationship.
A
So
it
helps
me
so
much,
rather
than
just
seeing
a
long
flat
list
of
tabs
and
understanding
how
they're
related.
I
open
them
up
like
this,
and
this
helps
me
kind
of
keep
a
map,
basically
of
how
things
related
and
then,
if
I
need
to
switch
context,
I
can
just
collapse
it
and
move
on
to
something
else.
So
that's
been
a
huge
help.
I
believe
firefox
does
this
with
the
plug-in.
This
browser
is
called
orion
based
on
webkit,
and
it
has
it
built
in.
A
I
don't
think,
there's
anything
like
it
for
chrome
without
doing
a
really
heavy
extension,
but
those
are
a
couple
options
if
you
like
that
kind
of
approach,.
D
All
right
finishing
up
a
comment
for
somebody
on
another
project.
Where
did
I
put
my
window
there?
You
are.
D
I
was
just
using
a
couple
of
these
tools
like,
however,
they
have
excuse
me
again,
some
customer
stuff,
so
I
can't
show
that,
as
an
example,
the
first
one
I
actually
want
to
call
out
is
diff
dyff.
D
If
anybody's
ever
tried
to
do
death
on
yaml
and
it's
a
matter
of
somebody
rearranged
the
lines,
it's
an
absolute
pain
in
the
behind
the
nice
thing
about
diff,
although
using
the
syntax
takes
a
little
getting
used
to
if
you're
a
heavy
user
of
diff
diff,
but
one
of
the
nice
things
is,
it
will
actually
interpret
the
objects
and
then
tell
you
the
actual
difference
between
whatever
the
rendered
objects
are,
including
added
removed.
Just
a
minor
change
or
say
you
took
one
item
out
of
an
array.
D
This
can
actually
be
really
handy
if
we're
checking
the
merge
outputs
of
a
couple
of
things
to
ensure
that
the
merge
was
properly
a
deep
merge
that
was
walked,
which
you
probably
ran
into
this
with
the
operator
once
in
a
while
you're.
Just
like
wait.
What
happened
and
we
had
a
weird
oddity
in
how
arrays
were
getting
emerged-
we've
really
fixed
that
now,
but
you
would
end
up
with
an
array
that
had
a
map
in
it,
but
a
property
would
move
its
position
in
the
map
after
the
merge
by
accident.
D
You're
like
oh,
that's,
cute,
thanks
to
the
nature
of
golang
and
how
it
handles
slices
being
non-deterministic
intentionally
that
was
fun.
Yq
was
very
heavily
used
by
myself
and
other
members
of
the
e
we
even
had
some
of
our
tooling
within
the
projects.
D
This
is
this
is
the
mike
far
variant,
not
the
python
based
variant
that
builds
on
top
of
jq
itself.
Summary
is
we're
doing
it
because
one
we
needed
to
standardize
on
one
and
two.
This
was
much
more
portable
than
ensuring
that
we
had
python
and
jq
and
everybody
matched
and
everybody
was
happy.
D
So
being
self-contained
is
a
go
binary
there.
The
syntax
is
very
similar,
but
not
identical,
and
it
has
some
utility
functions
that
jq
itself
doesn't
one
of
the
handy
bits
is.
You
can
actually
get
yq
to
parse
multiple
documents
and
even
split
single
documents
out,
so
you
can
use
yq
with
helm,
template
or
to
control,
get
and
take
any
of
those
contents
manipulated.
D
However,
you
need
and
either
even
combine
or
run
it
through,
if
or
anything
else,
there's
a
lot
of
interesting
bits
there.
It's
also
not
very
tolerant
of
malformed
yemel,
which
is
kind
of
a
good
thing,
because
if
you
run
helm,
template
through
iq
and
it
somehow
managed
to
output
content,
but
malformed
yq
will
yell
at
you,
which
is
kind
of
handy,
but
there's
probably
a
linter.
For
that
that
I
should
be
using
versus
occasionally
going.
Did
I
do
that
right?
D
Scopio
is
part
of
the
larger
oci
container
image
handling
it's
extremely
useful
for
getting
information,
whether
it's
remote
or
local,
repository
for
inspecting
manifests
and
when
I
say
manifests,
I
mean
containers,
but
the
the
listing
of
how
a
container
is
built
is
the
manifest
and
we
can
use
scopio
to
walk
all
kinds
of
information.
D
I
have
a
link
there
where
somebody
goes,
you
know
we
should
have
topia
inspect
spit
out,
whatever
the
image
size
is
well,
data
is
yes
present,
but
it
doesn't
need
built
in
because
all
you
need
is
a
tiny
one
liner.
That
does
the
same
thing.
D
D
You
understand
what
it
does
we're
using
this
behavior
for
the
cloud
native
cloud
native
images
mirror,
instead
of
actually
having
to
do
doctor
and
do
dind,
we
can
just
run
scopio
from
anything
that
can
reach
the
origin
and
the
destination,
and
it
will
handle
everything
for
us
rather
than
to
do
dr
pull
and
then
doctor
tag,
and
then
dr
bush,
which
actually
improves
that
behavior
there's
probably
a
few
other
tools,
but
these
are
the
ones
I
managed
to
whip
up.
While
I
was
doing
other
things
question
your
comments
on
that
before
I.
C
A
word
of
caution:
it
works
on
the
multiple
document
files,
the
yellow
files,
but
sometimes
it's
flaky,
so
it
does
help
sometimes
to
break
out
the
multi-document
into
individual
documents
when
you're
doing
the
div,
not
always,
but
on
the
larger
documents.
I've
seen
that
happening,
and
you
have
to
do
that.
Just
the
word
caution.
More
than
anything.
C
A
Cool
good
list,
jason
by
the
way
dimitro
your
mic
is
pretty
hot.
I
don't
know
if
anybody
else
noticed
that
I
just
wanted
to
jump
in
real
quick
too.
Before
we
go
to
dimitri's
list,
I
skipped
over
fuzzy
finding,
which
is
probably
one
of
the
most
helpful
ones
from
the
list.
I'm
just
going
to
take
a
couple
seconds
to
show
that
real,
quick,
the
main
place
that
I
use
it
was
when
browsing
files
in
a
project.
So
I
usually
don't
do
the
tree
view
which
I
can
from
here,
but
typically
what's
faster.
A
Is
you
can
kind
of
fuzzy
find
across
all
the
files
in
the
project?
So
you
can
kind
of
just
start
typing
like
adapter
and
it'll
show
a
list
of
files
here
and
then
say
I
wanted
the
operation,
I
could
type
rit
and
it
shows
up
at
the
top
of
the
list.
You
can
kind
of
see
what
letters
are
highlighted.
It'll
even
show
you
like
a
preview
of
that
file
and
all
I
have
to
do
to
open
it
is
hit
enter.
So
that's
super
helpful.
A
It's
also
helpful
for
browsing
like
local
files
in
your
system
from
the
command
line,
so
I
can
do
which
cbd
I
have
this
map
to
basically
find
in
a
in
my
code
directory
and
then
pipe
that
out
to
rip
grep,
which
is
using
kind
of
fuzzy
finding
under
the
hood.
Well
I'll
say
this
differently.
A
C
So
I
do
like
the
official
gitlab
cli.
There
is
a
fork
that
I've
created,
which
functionality
that
I'm
gonna
quickly
demo
see
I
there.
C
So
I
can
actually
do
this
and
my
zoom
bar
is
right.
In
my
way
there
we
go
yeah,
so
I
can
actually
run
the
pipeline
on
the
specific
branch
and
you
know,
supply
the
files
and
repeat
that
not
to
mention
I
can
do
the
ci
get.
Let's
see
I
get
there,
oh
and
by
the
way,
demoing
control
r
in
any
shell,
that's
the
best
tool
ever
yeah,
so
you
can
just
get
the
specific
pipeline
and
extract
the
variables
out
of
it.
C
And
while
we're
talking
about
this,
do
I
want
to
do
this,
probably
not
because
it's
going
to
dump
the
cube
config
on
the
screen,
but.
C
C
C
And
there
are
quite
a
few
additional
functions
inside
so
highly
likable
from
my
end,
and
there
is
the
bat
which
is
the
replacement
for
cat,
which
basically
will
show
you.
Let's
look
for
something
a
little
bit
safer,
bad
nope
looks
like
I
was
always
doing
something
like
anyway,
once
you
try
it.
Basically,
it's
the
syntax,
highlighted
cat,
much
easier
to
on
the
eyes
and
much
easier
to
navigate
the
stuff
that
you
want
to
work
with,
and
the
next
thing
is
the
vs
code,
gitlab
extension.
A
C
This
one
is
like
I've
been
using
more
and
more
of
it
recently,
because
what
you
can
do
you
can
actually
go
and
check
check
all
of
your
merge
requests
and
you
can
actually
take
a
look
at
what
was
going
on
within
that
request
right
within
the
vs
code,
which
is
much
simpler
than
navigating
it
in
the
browser,
and
things
like
that.
So
you
can
get
your
divs
in
there
and
you
can
kind
of
see
for
yourself
what's
what's
going
on
and
interact
with
your
own
merch
requests
on
a
different
level
altogether,.
C
Variables-
and
you
can
see
when
I
type
gitlab
and
variables,
I'm
trying
to
start
to
type
that
it
pops
up
this
one
and
that's
the
bookmark
that
has
two
keywords:
gitlab
and
variables.
So
it's
a
lot
more
convenient
to
find
specific
things.
So,
when
you
have
or
for
example,
there
is
another
one
gitlab
give
up
ci
variables,
so
I
I
do
use
that
a
lot
just.
C
It
takes
a
little
bit
of
practice
to
kind
of
organize
your
bookmarks
appropriately,
but
once
you
do
that,
it's
much
easier
to
find
stuff
in
your
bookmarks
and
something
that
I'm
not
going
to
demo
or
anything
but
polymon
and
builda
I've
been
using
them
a
lot
lately,
just
to
sidestep
some
of
the
docker
related
things
as
in
like
running
docker
and
docker,
and
things
like
that.
Admin
is
a
lot
easier
in
that
regard.
So
this
is
it
that's
a
really
quick
rundown.
A
B
So
we'll
start
off
with,
I
have
done
some
work
to
make
it
easier
for
me
to
find
things.
So
one
of
the
things
that
I
find
is
that
in
some
linux
distros
you
have
colorized
man
pages,
so
I
have
added
that
this
makes
a
lot
easier
to
see
bold,
color
and
search
through
also,
you
can
probably
tell
like
my
terminal
is
set
up
for
color
and
iconography.
That
helps
me
find
things
faster
when
I'm
in
here.
B
I
maintain
all
of
this
stuff
through
ansible
and
the
job
can
target
fedora
current
debian
mac,
os
and
freebsd,
so
it
installs
the
same
equivalent
tool
set
across
all
the
distros
that
I
touch,
and
so
it
lets
me
get
all
kinds
of
stuff
jason
notice,
but
asdf
it
does
that
find
it.
I
also
use
t-box,
so
I'm
good.
B
Let's
talk
about
git
first,
one
of
the
things
that
comes
up
a
lot
is
like
trying
to
find
what
header
you
on
what
tags
do
you
have
so
git
has
a
lot
of
interesting
features
that
you
can
put
in.
This
is
my
colorize
and
shows
me
like
the
actual
merge
flows.
So
when
I'm
looking
at
a
branch
or
tree,
I
can
see
everything,
including
tags.
What
was
released
when
other
things
that
I
can
do.
Let
me
just
not
do
this.
I
don't
want
to
waste
ci
minutes,
but.
B
So
things
like
I
want
to
push
a
build.
I
can
push
an
omnibus
build.
I
can
push
a
fips
build
a
community
edition
build.
I
can
test
build
images
I
can
do
ubi
builds
all
this
stuff
is
just
macros
if
you
want
to
find
the
oldest
ancestor
of
your
current
thing,
and
you
want
to
figure
out
these
two
branches.
Where
do
they
go
so
this
is
just
a
macro
for
that.
I
don't
use
this
here,
because
we
don't
use
paste
bins,
but
fedora
sent
to
us
upstreams
both
use
paste
bins.
B
I
can
just
send
a
paste
bin
directly
from
a
diff.
So
if
I
want
to
share
something
and
get
help,
I
can
do
that
immediately
because
then
I
use
a
lot
of
this
stuff
just
to
make
my
get
experience
a
little
faster.
B
Listen.
What
else
do
I
use
when
I
write
down
as
you
might
get
local
multi?
So
I
do
a
lot
of
omnibus
testing,
so
I
have
a
vagrant
file
that
runs
and
I
haven't
automated
the
la
this
first
part,
but
I
can
pick
my
distro
and
it
stands
up
a
network
now.
If
I
want
to
configure
it,
I
have
gitlab.test.
This
is
a
very
simple
one,
but
let's
just
say
which
one
do
I
want
to
yeah
I'll,
say:
external
redis
right.
B
So
one
of
the
things
in
here
is
that
every
single
item
I
just
give
it
the
name
of
the
node
and
sh
I
can
run
whatever
scripts.
I
want
in
the
post
install
so
if
you're
trying
to
test
something
you
want
to
go
back
to
green.
This
can
do
anywhere
from
just
single
omnibus.
I
have
configurations
up
to
like
multi-nodes,
so
this
is
actually
my
first
iteration
of
installing.
B
Like
has
so,
I
can
install
aha
clusters
here,
local
and
all
this
just
uses
vagrant
in
virtualbox
on
my
fedora
setup,
it's
using
libert
so
and
yeah.
So
that's
kind
of
like
my
automation,
that's
how
I
test
things
pretty
quickly.
I
have
standard
test
scenarios
for
like
standard
components
like
all
of
our
depth,
mods.
B
So
like
when
we
update
matter
most
when
we
update
various
components,
I
can
stand
that
up
and
look
at
it
immediately
with
automated
testing
behind
it
and
trying
to
think
if
there's
anything
else
that
I
put
in
here,
I
keep
show
my
girls
for
those
who
don't
know
about
follows:
there's
a
if
you
put
a
job
number
after.
B
B
So
this
is
the
thing
that
I've
had.
I
think
since,
like
the
first
week
I
was
here,
I
do
almost
everything
through
shell
macros
or
just
basic
shell.
I
don't
do
you
know,
I
keep
it
simple
because
then
my
shells
translate
and
I'm
sure
about
installing
language,
runtimes
yeah.
That's
all
I've
got
fairly
straightforward.
So.
D
Additional
comment
on
that
one
is
it's
definitely
one
of
those
things
where
the
more
familiar
you
get
with
how
everything
actually
operates
since
90
of
what
we
output
is
directly
interacting
with
the
the
cli
in
some
way.
It's
not
surprising
that
a
lot
of
us
literally
live
in
the
cli.
D
At
some
point,
I
do
regularly
make
use
of
code,
but
most
the
time
I
only
open
code
when
I
need
to
edit
like
five
or
six
files
at
a
time,
but
most
the
time
as
anybody
who's
paired
with
me,
I'm
in
and
out
of
vim,
so
fast,
it's
not
even
funny
and
a
lot
of
our
projects.
D
Most
people
won't
be
able
to
do
this,
but
my
brain
keeps
a
full
logical
organization
of
all
the
projects
in
the
workpiece,
so
I
don't
necessarily
need
to
navigate,
but
that
having
fsf
would
probably
be
handy
in
some
degrees
for
for
what
I'm
doing
so
mitch
that
works.
Well,
if
I
can
figure
out
how
to
integrate
it
into
mine,
might
be
helpful
when
I'm
touching
something
I
haven't
touched
in
a
while
the
it's
one
of
those
things
when
you've
been
on
the
project.
Long
enough,
your
brain
just
kind
of
memorizes,
the
structure.
D
B
Just
reminded
me
of
something
else
I
wanted
to
share
in
them.
You
can
that
diff
we
talked
about.
You
also
have
other
options
not
for
diff
but
like,
let's
just
say,
you're,
trying
to
find
out
something
more.
If
you
haven't
seen
it
tim
pope
who's,
a
massive
rubyist
has
all
kinds
of
options.
So,
if
you're
wanting
to
look
in
history,
you
can
cross
through
and
load
these
ends.
If
you
want
to
get
different,
if
you
can
go
around
and
it's
just
another
window
in
them,
so
there
are
a
plethora
of
things
and
then.
B
B
D
One
of
the
things
that
we
do
is
walk
through
how
to
organize
incoming
mrs
and
issues
and
labeling
those
and
being
able
to
keep
track
of
things
like
I've
been
asked
how
to
how.
How
are
you
so
on
top
of
issues,
because
my
gmail
tells
me
exactly
where
everything
is
and
if
it
matters
to
me
or
not,
that's
an
extensive
kind
of
workflow
item
rather
than
work
tool
item,
so
maybe
we'll
cover
that
one
another
day
it
may
have
by
nature
of
demonstration
requires
showing
you
a
mailbox.
D
Okay,
stating
the
other
common
and
obvious,
is
that
this
team
loves
asdf
and
we
are
very
happy
to
see
other
teams
taking
it
up
because
it's
super
handy
to
say
the
very
least.
If
you're
not
familiar
with
the
inter
inner
workings
of
asdf,
I
do
strongly
recommend
it.
It
is
relatively
cross-platform.
D
Obviously,
it
depends
on
what
tools
are,
because
some
tools
aren't
built
for
mac
os
and
you
may
have
a
bad
day
for
some
things,
but
you
can
make
use
of
a
tool
versions,
file
which
can
be
checked
in
by
the
way,
so
that
your
expected
work
environment
is
actually
the
same
across
many
machines
and
multiple
clients.
D
A
One
more
popped
into
my
mind
before
we
shut
out
here,
a
thing
that
we
do.
A
lot
of
the
time
is
grabbing
text
from
the
terminal
and
it
helps
a
lot
to
be
able
to
keep
your
hands
on
the
keyboard
to
do
that.
So
in
tmux,
there's
a
plugin
called
extracto,
and
so
what
I
can
do
is
hit
the
prefix
and
then
tab
and
it
kind
of
fuzzy
finds
all
the
entries
on
your
screen.
And
so,
if
I
wanted
to
like,
I
just
installed
codium
per
dimitro's
recommendation
of
that
plug-in.
A
A
Like
whenever
I
do
a
git
push-
and
it
tells
me
what
that
new
commit
is
I
just
grab
that
commit
hash
and
paste
it
into
the
browser
if
I'm
on
on
that
kind
of
window
or
if
I'm
grabbing
a
path
from
somewhere.
It's
super
helpful,
so
any
tmox
users,
that's
a
super
helpful
way.
Instead
of
like
picking
your
mouse
and
clicking
and
dragging,
I
know,
tmox
has
one
built-in
too,
where
you
can
kind
of
go
back
up
and
select
things
as
well.
A
A
Cool
yeah,
it's
all
in
the
in
the
dot
files
too,
so
you
can
kind
of
browse
around
and
see
the
the
config
files,
and
so
all
the
tmux
plugins
are
listed
in
the
tmx
config
file.
D
A
D
On
that
is
maybe,
instead
of
the
tools
we
go
with
like
cookbooks
and
quick
recipes
for
some
of
the
things
like.
How
do
I
determine
what
this
customer
actually
set
on
all
of
its
their
yml
settings?
Now.
A
D
Support
questions:
here's
this
customer's
config
customers,
config,
is
all
5
000
lines,
you're,
just
like
there's
no
way
they
have
5000
lines
of
config.
Oh
there's
the
header
from
the
notice
that
they
didn't
read:
okay,
trying
to
pull
that
out
from
whatever
the
default
version
is
from
the
version
that
they
had
installed.