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.
Ling 3.1 Flash
Here's a draft you can adapt:
Subject: Follow-Up: Heating Repair at [Your Address] — Now Three Weeks
Dear [Landlord's Name],
I hope you're well. I'm writing to follow up on the heating issue I first reported on [date of first report], which remains unresolved as of today — three weeks ago.
I understand that scheduling repairs can take time, and I appreciate the work that goes into coordinating contractors. That said, the heating is still not functioning, and the cold temperatures in the unit are becoming difficult to manage. As you know, heat is an essential service, and I'd like to resolve this as quickly as possible so we can both move past it.
Could you please let me know:
An expected date for the repair to be completed, and
Whether you'd like me to make the unit available at specific times for the technician?
I'm happy to be flexible with access and to work around your schedule. If there's anything you need from my end, please let me know.
I'd appreciate a reply by [reasonable date, e.g., end of this week] so we can get this sorted. Thank you for your attention — I'm confident we can get this resolved without further delay.
Best regards, [Your Name] [Unit / Address] [Phone number]
A few tips before you send:
Adjust the tone to match your relationship. If you've been friendly with them, the draft above works well. If past exchanges have been terse, you might trim a sentence or two.
Keep a copy. Save the email and any prior messages about the repair — it's good practice in case the delay continues.
If they still don't respond, a follow-up referencing local tenant protections (most jurisdictions require timely repair of essential services) is reasonable — but this email usually gets results on its own.
Would you like a shorter version, or one that's slightly more direct?
Asked Nov 1, 2026. Unedited.
Write a React hook that debounces a value and cancels on unmount. Include the TypeScript types.
Ling 3.1 Flash
import { useEffect, useState } from 'react';
function useDebouncedValue<T>(value: T, delay: number): T {
const [debouncedValue, setDebouncedValue] = useState<T>(value);
useEffect(() => {
const timer = setTimeout(() => {
setDebouncedValue(value);
}, delay);
return () => {
clearTimeout(timer);
};
}, [value, delay]);
return debouncedValue;
}
export default useDebouncedValue;How it works:
The hook is generic (
<T>), so it works with strings, numbers, objects, etc.Every time
valueordelaychanges, the effect re-runs: the previous timeout is cleared and a new one is scheduled. That's the debounce behavior — the state only updates after the value has been stable fordelayms.Unmount cancellation comes free from React: the effect's cleanup function runs when the component unmounts, clearing any pending timeout, so you'll never get a
setStateon an unmounted component.
Usage example:
const [query, setQuery] = useState('');
const debouncedQuery = useDebouncedValue(query, 300);
useEffect(() => {
// Safe to fetch — only fires after the user stops typing
fetchResults(debouncedQuery);
}, [debouncedQuery]);One design note: on the first render, the returned value equals value immediately (no initial delay). If you'd rather the first update also be delayed, initialize with a sentinel and skip the first effect run — but for most search/filter use cases, the immediate initial value is the desired behavior.
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?
Ling 3.1 Flash
About 33% — even though the test is 99% accurate. This is a classic application of Bayes' theorem.
The calculation
The easiest way to see it is with natural frequencies. Imagine 10,000 people:
Users (0.5%): 50 people
99% test positive → ~49.5 true positives
Non-users (99.5%): 9,950 people
1% false positive rate → ~99.5 false positives
Total positive tests: 49.5 + 99.5 = 149
Probability a positive person actually uses: 49.5 / 149 ≈ 33%
Formally, via Bayes' theorem:
$$P(\text{user} \mid +) = \frac{P(+ \mid \text{user}) \cdot P(\text{user})}{P(+ \mid \text{user}) \cdot P(\text{user}) + P(+ \mid \text{non-user}) \cdot P(\text{non-user})} = \frac{0.99 \times 0.005}{0.99 \times 0.005 + 0.01 \times 0.995} \approx 0.33$$
Why it surprises people
Base rate neglect. People hear "99% accurate" and intuitively answer 99%, completely ignoring how rare drug use is (0.5%). The prior probability matters enormously.
False positives swamp true positives. The 1% error rate sounds tiny, but it applies to the enormous pool of non-users. With 199 non-users for every user, even a small error rate on that big group produces roughly twice as many false positives as there are true positives.
Confusing the direction of the conditional. People conflate "the test is right 99% of the time" — P(positive | user) — with "a positive person is a user 99% of the time" — P(user | positive). These are very different quantities when the condition is rare.
The general lesson: for rare conditions, even excellent tests produce mostly false positives among positive results. That's why medical screening and drug testing typically require a confirmatory second test before any action is taken.
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
- #17of 42 for math
- #17of 42 for research
- #18of 42 for coding
The facts
Ling 3.1 Flash is InclusionAI’s fast Ling model, with open weights. It works in text only.
Scores from artificialanalysis.ai and lmarena.ai.
- Made by
- InclusionAI
- API price, per 1M tokens
- $0.30 in, $0.90 out
- Speed
- No public score
- Artificial Analysis Index
- No public score
- LMArena text
- No public score
- LMArena coding
- No public score
- Updated
- Oct 26, 2026