Skip to content

Instantly share code, notes, and snippets.

View fralalonde's full-sized avatar
💭
Dresseur de carcajous

Francis Lalonde fralalonde

💭
Dresseur de carcajous
View GitHub Profile
@fralalonde
fralalonde / METRICS.md
Last active August 23, 2023 16:51
Metrics naming & standards

Metrics are a contract

An application's metrics names and types make up an implicit contract which consequences of ignoring can be serious.

Humans depend on Metrics

Metric are used by systems admins to configure monitoring systems. Good metric names accurately and consistently convey meaning of the associated metric data. Admins should not have to look at the application code to understand what each metric represents. The name of a metric is often the only documentation available. Critical human decisions may have to be quickly made based on metrics, in these situations, their names should be as helpful and trustable as possible.

Machines depend on Metrics

Dashboards and alerting systems entirely depend on the metrics applications provides them. Changing the identifiers or meaning of the metrics will break these downstream applications, negating the very reason to emit metrics in the first place :

  • Alarms that shouldn't have gone off will go off
@fralalonde
fralalonde / playa.md
Last active August 28, 2018 20:43
Playa Time Expressions

Playa

A friendly language to express and evaluate real-world schedules.

Allows building complex scheduling rulesets:

  • to trigger the timely execution of tasks
  • to calculate intervals of time to be processed by batch jobs
  • to manage the impacts of potential scheduling rule changes on dependent tasks & jobs.

...Because neither cron or airflow address this problem.

I just tried Sway WM again from the Arch login screen.
Typing and clicking anywhere has _no_ effect.
I had to kill it from the console to get out.
Single user apps that require preconfiguration and reading man pages to get going are dumb.
But Sway is the most retarded program ever.
If I'm gonna use a GUI, I expect some minimally interactive handle to get me started.
What's the fucking point of a GUI if it doesn't also bootstrap the user?
# kind-of agnoster colors
command_timeout = 1000
format = """
$directory\
$git_branch\
$git_commit\
$git_status\
$fill \
$all