# orderedItems[].object.content
"ASAP" or "high" is a bad queue name. Every job *feels* urgent. Is it?

In my "SLO-based" queue naming system ("within_5_minutes", "within_1_day"), you can call this the "within_0_seconds" queue.

Make the decision concrete: does it need to be done "within zero seconds"? In practice, this queue's SLO is the same as a web request.

# orderedItems[].object.contentMap.en
"ASAP" or "high" is a bad queue name. Every job *feels* urgent. Is it?

In my "SLO-based" queue naming system ("within_5_minutes", "within_1_day"), you can call this the "within_0_seconds" queue.

Make the decision concrete: does it need to be done "within zero seconds"? In practice, this queue's SLO is the same as a web request.

# orderedItems[].object.content
When using Minitest, I like that I can refactor tests using all the normal Ruby tools I know, rather than work in this weird DSL-land where none of the usual rules apply.

# orderedItems[].object.contentMap.en
When using Minitest, I like that I can refactor tests using all the normal Ruby tools I know, rather than work in this weird DSL-land where none of the usual rules apply.

# orderedItems[].object.content
QA is waste.

Shigeo Shingo and Toyota figured this out 50 years ago. QA may be _necessary_, given the current state of your process, but you should be trying to get rid of it. The perfect process is one that does not require QA at all. And why accept less than perfection?

https://www. amazon.co.jp/Zero-Quality-Cont rol-Inspection-Poka-Yoke/dp/0815353049

# orderedItems[].object.contentMap.en
QA is waste.

Shigeo Shingo and Toyota figured this out 50 years ago. QA may be _necessary_, given the current state of your process, but you should be trying to get rid of it. The perfect process is one that does not require QA at all. And why accept less than perfection?

https://www. amazon.co.jp/Zero-Quality-Cont rol-Inspection-Poka-Yoke/dp/0815353049

# orderedItems[].object.content
Yikes, didn't even realize that Scout's max-objects-per-run counter could count this high 💀

# orderedItems[].object.contentMap.en
Yikes, didn't even realize that Scout's max-objects-per-run counter could count this high 💀

# orderedItems[].object.content
Footgun? More like footFUN amirite?!?!

# orderedItems[].object.contentMap.en
Footgun? More like footFUN amirite?!?!

# orderedItems[].object.content
I get so excited when I'm on a sales call w/someone who's clearly thinking about performance long-term and strategically.

"We want to make speed a part of the brand."
"We're planning for the next 5 years."
"No limit on our investment if we can show the benefits."

😍

# orderedItems[].object.contentMap.en
I get so excited when I'm on a sales call w/someone who's clearly thinking about performance long-term and strategically.

"We want to make speed a part of the brand."
"We're planning for the next 5 years."
"No limit on our investment if we can show the benefits."

😍

# orderedItems[].object.content
@getajobmike to be fair to rails core, they've done a very good job making upgrades easier and easier. it's reasonable to ask people to keep recent, in return.

# orderedItems[].object.contentMap.en
@getajobmike to be fair to rails core, they've done a very good job making upgrades easier and easier. it's reasonable to ask people to keep recent, in return.

# orderedItems[].object.content
"None of our top 50 controllers by throughput can have more than 5% of responses be >500ms"

This is an example of a well-defined performance goal. It scopes to the most important parts of the app, is set based on expectations of human users (users can feel >500ms resp), and it's usually quite achievable.

# orderedItems[].object.contentMap.en
"None of our top 50 controllers by throughput can have more than 5% of responses be >500ms"

This is an example of a well-defined performance goal. It scopes to the most important parts of the app, is set based on expectations of human users (users can feel >500ms resp), and it's usually quite achievable.

# orderedItems[].object.content
Common cache use mistake in Rails views:
<% @users.each do |user| %>
<% cache user do %>

... results in @users.size number of cache calls.

<%= render partial: 'user', collection: @users, cached: true %>

...results in 1 cache call, via multi-fetch.

# orderedItems[].object.contentMap.en
Common cache use mistake in Rails views:
<% @users.each do |user| %>
<% cache user do %>

... results in @users.size number of cache calls.

<%= render partial: 'user', collection: @users, cached: true %>

...results in 1 cache call, via multi-fetch.

# orderedItems[].object.content
One of the ways I assess the "performance savviness" of a team is "are they running rack-mini-profiler in all environments, including production?"

RMP remains the flagship tool for any organization serious about performance. Running it in prod means that you can replicate almost any problem.

# orderedItems[].object.contentMap.en
One of the ways I assess the "performance savviness" of a team is "are they running rack-mini-profiler in all environments, including production?"

RMP remains the flagship tool for any organization serious about performance. Running it in prod means that you can replicate almost any problem.

# orderedItems[].object.content
When more than 4 DevOps engineers are in a room together, they will spontaneously start trying to build an internal PaaS on k8s. They can't help themselves.

# orderedItems[].object.contentMap.en
When more than 4 DevOps engineers are in a room together, they will spontaneously start trying to build an internal PaaS on k8s. They can't help themselves.

# orderedItems[].object.content
Apps get slow because:

1. No requirements for what "performant" is. What latency is OK, and what is failing?
2. W/o the requirement, no one works on slow pages. How does perf get into JIRA?
3. Perf skills atrophy, app deteriorates until customers complain

# orderedItems[].object.contentMap.en
Apps get slow because:

1. No requirements for what "performant" is. What latency is OK, and what is failing?
2. W/o the requirement, no one works on slow pages. How does perf get into JIRA?
3. Perf skills atrophy, app deteriorates until customers complain

# orderedItems[].object.content
In 2024, there's no reason to store Redis.new directly in a global or constant anymore. You should be using connection pools everywhere, all the time. One less footgun.

# orderedItems[].object.contentMap.en
In 2024, there's no reason to store Redis.new directly in a global or constant anymore. You should be using connection pools everywhere, all the time. One less footgun.

# orderedItems[].object.content
How do you implement "debounce" behavior re: Sidekiq jobs?

IMO the best way is an idempotent check in the job itself ("did I do this within the last 5 minutes? OK, exiting early) but I'm wondering if there are other strategies.

# orderedItems[].object.contentMap.en
How do you implement "debounce" behavior re: Sidekiq jobs?

IMO the best way is an idempotent check in the job itself ("did I do this within the last 5 minutes? OK, exiting early) but I'm wondering if there are other strategies.

# orderedItems[].object.content
My most controversial Rails take is that you should never use methods which cause SQL queries (find/where/first/order etc) in _any_ instance methods in _any_ class in the models folder.

# orderedItems[].object.contentMap.en
My most controversial Rails take is that you should never use methods which cause SQL queries (find/where/first/order etc) in _any_ instance methods in _any_ class in the models folder.

# orderedItems[].object.content
@shyouhei 英語上手ですよ

# orderedItems[].object.contentMap.ja
@shyouhei 英語上手ですよ

# orderedItems[].object.content
In the "perfect" transaction (job or controller action) you access each table only one time. It's impossible (often not even optimal), but it's a good guideline. When I'm auditing a transaction for perf, I'm always looking with a mind of "how do I reduce how many times I look at each table?"

# orderedItems[].object.contentMap.en
In the "perfect" transaction (job or controller action) you access each table only one time. It's impossible (often not even optimal), but it's a good guideline. When I'm auditing a transaction for perf, I'm always looking with a mind of "how do I reduce how many times I look at each table?"

# orderedItems[].object.content
@getajobmike I wonder why they think this shouldn't be the default.

# orderedItems[].object.contentMap.en
@getajobmike I wonder why they think this shouldn't be the default.

# orderedItems[].object.content
@getajobmike Well at least there's a mitigation. Probably other services can't even flush mid-trace b/c there's no agent process to flush to.

# orderedItems[].object.contentMap.en
@getajobmike Well at least there's a mitigation. Probably other services can't even flush mid-trace b/c there's no agent process to flush to.

# orderedItems[].object.content
Datadog especially should have no excuse, as they should be constantly flushing to the agent. Have you seen DD have a problem specifically?

# orderedItems[].object.contentMap.en
Datadog especially should have no excuse, as they should be constantly flushing to the agent. Have you seen DD have a problem specifically?