Michael Smith’s sweet potato vegetarian chili with cinnamon sour cream

INGREDIENTS

  • 2 tablespoons vegetable oil
  • 1 large onion, chopped
  • 1 green bell pepper, seeded and chopped
  • 8 garlic cloves, thinly sliced
  • 1 tablespoon cumin seeds
  • 1 tablespoon chili powder
  • 1 tablespoon dried oregano
  • 2 cups fresh or frozen corn
  • 1 398-millilitre can black beans, rinsed and drained
  • 1 398-millilitre can kidney beans, rinsed and drained
  • 1 796-millilitre can whole tomatoes
  • 1 sweet potato, peeled and finely diced
  • 1 tablespoon canned chipotle chilies in adobo sauce, chopped
  • 1/2 cup sour cream
  • 1 teaspoon cinnamon
  • 1 or 2 sprinkles salt
  • 1 cup tender cilantro sprigs
  • 2 green onions, thinly sliced

METHOD

Heat the oil in a soup pot over medium-high heat. Toss in the onions and green pepper and sauté, stirring frequently, until the vegetables begin to brown (6 to 8 minutes). Stir in the garlic, cumin seeds, chili powder and oregano. Reduce the heat to medium and cook, stirring, until the spices are very fragrant (another 2 minutes or so).

Stir in the corn, black beans and kidney beans. Add the juice from the canned tomatoes, then coarsely chop the tomatoes and add them as well. Add the sweet potatoes and chipotle chilies. Bring to a boil, then reduce the heat so the liquid is just barely simmering. Simmer, stirring frequently, until the sweet potatoes are tender and the chili begins to thicken (20 to 25 minutes).

Meanwhile, stir together the sour cream and cinnamon. Just before serving, season the chili to your taste with salt. Ladle into serving bowls and top with the sour cream and a tangle of cilantro and green onions.

Links

From redeploy2019: Ways we can deal with overload in a system. Note: some of these choices can be made by people, or agents, or both
From James Hamilton: Don’t let agents make choices you wouldn’t give to a junior engineer (the notion of what things a junior eng can do is possibly shifting as we get better at creating safety :))

Yaml

Heredoc that converts newlines to spaces and ignores leading indent

a_long_line: >
    line 1
    line 2
    line 3
    ...

# Prints: line 1 line 2 line 3

Heredoc that preserves newlines and ignores leading indent

private_key: |
    line 1
    line 2
    line 3
    ...

# Prints:
line 1
line 2
line 3
...

Ansible

Perf
Gathering facts is expensive
If you can skip this step, do so
I have a couple plays that looks at memory
Think about tuning the number of forks
5 is the default
Too many doesn't work (kinda heavy weight)
25-50 is probably good for a dedicated ansible server
5-25 for a dev machine
Use scp (default is sftp)
Increase ControlPersist (default 60s)

Sample ansible.cfg
[default]
gathering = smart
gather_subset = min
fact_caching = jsonfile
fact_caching_connection = ~/.ansible/cache
fact_caching_timeout = 3600
forks=50

[ssh_connection]
pipelining = True
scp_if_ssh = True
ssh_args = -C -o ControlMaster=auto -o ControlPersist=15m
Python3 is better than python2