Write a polite but firm email to a landlord who has not fixed the heating for three weeks. I want the repair, not a fight.
Claude Haiku 5.5
Here's a draft you can adapt. It's firm about the deadline and the facts, but it keeps the tone cooperative, since that's usually what gets repairs done fastest.
Subject: Heating repair needed at [Property Address], reported [date]
Dear [Landlord's Name],
I'm writing about the heating at [property address], which has not been working since [date]. I first reported the problem on [date] by [phone/text/email], and I have followed up on [dates] without a repair being scheduled.
It has now been three weeks without heat. The apartment is [describe conditions briefly, e.g., "often below 60°F"], which is affecting our comfort and health, and I'd like to resolve this as quickly as possible.
Could you please:
Confirm by [date, e.g., 2 business days from now] when a technician will be coming to inspect and repair the heating system.
Let me know the name and contact details of the company doing the work, so I can coordinate access.
Tell me if you need anything from me, such as a specific time window or access to a particular room.
I'm happy to work around your schedule and make sure someone is available to let the technician in. If I don't hear back by [date], I'll need to explore my options under [local tenancy law / the terms of our lease], which may include contacting [local housing authority / code enforcement] to request an inspection.
Thank you for your prompt attention to this. I'd much prefer to get this resolved directly with you, and I appreciate your help.
Best regards, [Your Name] [Unit number, phone number]
Tips before sending:
Keep a paper trail. Send this by email or a text so there's a written record, even if you've already called.
Check your lease and local law for the repair deadline and what you're entitled to (repair-and-deduct, rent withholding, or reporting to the housing authority). Rules vary a lot by location, and the threat in the last paragraph should only name remedies that actually apply to you.
Take photos or note the temperature with a dated thermometer reading. This helps if you escalate.
Don't withhold rent until you've confirmed what's legal where you live.
If you tell me your city or country and the approximate temperature in the apartment, I can tailor the legal reference and the wording.
Asked Nov 1, 2026. Unedited.
Write a React hook that debounces a value and cancels on unmount. Include the TypeScript types.
Claude Haiku 5.5
import { useEffect, useState } from "react";
/**
* Returns a copy of `value` that only updates after `delay` milliseconds
* have passed without `value` changing. The pending timer is cleared when
* `value` or `delay` changes and when the component unmounts.
*/
export function useDebouncedValue<T>(value: T, delay: number = 300): T {
const [debouncedValue, setDebouncedValue] = useState<T>(value);
useEffect(() => {
const timeoutId = window.setTimeout(() => {
setDebouncedValue(value);
}, delay);
// Runs before the next effect and on unmount, cancelling the pending update.
return () => {
window.clearTimeout(timeoutId);
};
}, [value, delay]);
return debouncedValue;
}Usage:
import { ChangeEvent, useEffect, useState } from "react";
import { useDebouncedValue } from "./useDebouncedValue";
export function Search() {
const [query, setQuery] = useState("");
const debouncedQuery = useDebouncedValue(query, 400);
useEffect(() => {
if (debouncedQuery) {
console.log("Fetching results for:", debouncedQuery);
}
}, [debouncedQuery]);
const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
setQuery(e.target.value);
};
return <input value={query} onChange={handleChange} placeholder="Search..." />;
}Notes:
window.setTimeoutreturns anumber, which avoids theNodeJS.Timeoutvs.numbertype mismatch you can hit in mixed Node/browser TypeScript setups.Because the cleanup function clears the timer, a pending update never calls
setDebouncedValueafter unmount, so there is no state update on an unmounted component.
Asked Nov 1, 2026. Unedited.
A drug test is 99% accurate, and 0.5% of people use the drug. Someone tests positive. What is the probability they use it, and why does the answer surprise people?
Claude Haiku 5.5
The probability is about 33%, not 99%.
Setup. I'll assume "99% accurate" means the test correctly identifies users 99% of the time and correctly clears non-users 99% of the time.
Prior: P(user) = 0.005
P(positive | user) = 0.99
P(positive | non-user) = 0.01
Bayes' theorem:
$$P(\text{user} \mid +) = \frac{0.99 \times 0.005}{0.99 \times 0.005 + 0.01 \times 0.995} = \frac{0.00495}{0.0149} \approx 0.33$$
Counting people instead (out of 10,000):
50 users → about 49.5 test positive
9,950 non-users → about 99.5 test positive (false positives)
Total positives ≈ 149, of which about 49.5 are actual users
So roughly 1 in 3 positive results is a true positive.
Why it surprises people:
Base-rate neglect. We focus on the test's 99% accuracy and ignore how rare the drug use is. Only 0.5% of people use the drug, so the pool of non-users is huge, and even a 1% false-positive rate applied to that pool produces many more false alarms than there are true users.
The error rates apply to different groups. The 1% false-positive rate applies to the ~99.5% who don't use the drug. The 99% sensitivity applies only to the 0.5% who do. The large group's small error rate can outweigh the small group's large hit rate.
Intuition treats the test result as the answer. Bayes' theorem combines the test result with the prior. Intuition often skips the prior.
The practical lesson: a positive result from a screening test for a rare condition is a reason for confirmation, not a diagnosis. Follow-up tests with a different method are standard for this reason. If the prevalence were 10% instead of 0.5%, the same test would give a positive result about 92% probability of being a true positive.
Asked Nov 1, 2026. Unedited.
What it’s good at
Ranked against 42 models, from public leaderboards and our own blind tests where we have them. How we rank
- #14of 42 for research
- #16of 42 for coding
- #16of 42 for writing
The facts
Claude Haiku 5.5 is the small model in Anthropic’s Claude 5.5 family. It reads images and PDFs as well as text.
Scores from artificialanalysis.ai and lmarena.ai.
- Made by
- Anthropic
- API price, per 1M tokens
- $0.10 in, $0.50 out
- Speed
- 234 tokens a second
- Artificial Analysis Index
- 43.4
- LMArena text
- No public score
- LMArena coding
- No public score
- Updated
- Oct 26, 2026