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.
GPT-6.1 Sol
Subject: Heating repair—request for confirmed completion date
Dear [Landlord’s Name],
I’m following up on the heating issue I first reported on [date]. It has now been three weeks, and the heating is still not working. This is affecting my ability to live comfortably in the property and needs to be resolved promptly.
Please confirm by [date] when a qualified technician will attend and when the repair is expected to be completed. If there is a delay with parts or scheduling, please let me know what temporary heating arrangements you can provide in the meantime.
I’d like to resolve this cooperatively. My priority is simply to have reliable heating restored, and I’m happy to coordinate access to help get the work done.
Thank you for your prompt attention. I look forward to receiving a confirmed plan.
Kind regards, [Your Name] [Property Address]
Asked Nov 1, 2026. Unedited.
Qwen 3.8 Max
Subject: Urgent: Heating repair needed
Dear [Landlord/Property Manager’s Name],
I hope you’re well. I’m writing to follow up on the heating issue at [address/unit number], which I first reported on [date]. It has now been three weeks, and the heating is still not working properly.
I understand that repairs can sometimes take time, but the lack of heat is making it difficult to comfortably and safely use the home, especially given the weather. I would appreciate it if you could arrange for the repair to be completed as soon as possible.
Could you please let me know by [specific date, e.g., the end of the week] what the next step will be and when a repair person will attend? If there is a delay, please also let me know the reason and the expected timeline.
I’d like to resolve this quickly and amicably, and I’m happy to cooperate with access or scheduling if needed. Please let me know if you need anything further from me.
Thank you for your attention to this matter.
Best regards, [Your Name] [Phone Number] [Address/Unit Number]
Asked Nov 1, 2026. Unedited.
Write a React hook that debounces a value and cancels on unmount. Include the TypeScript types.
GPT-6.1 Sol
import { useEffect, useState } from "react";
/**
* Returns the value after it has stopped changing for `delayMs`.
* Cancels pending updates when the value/delay changes or on unmount.
*/
export function useDebouncedValue<T>(value: T, delayMs: number): T {
const [debouncedValue, setDebouncedValue] = useState<T>(() => value);
useEffect(() => {
const timeoutId = setTimeout(() => {
// The wrapper also supports function-valued T.
setDebouncedValue(() => value);
}, delayMs);
return () => {
clearTimeout(timeoutId);
};
}, [value, delayMs]);
return debouncedValue;
}Usage:
import { useState } from "react";
import { useDebouncedValue } from "./useDebouncedValue";
export function SearchInput() {
const [query, setQuery] = useState("");
const debouncedQuery = useDebouncedValue(query, 300);
return (
<div>
<input
value={query}
onChange={(event) => setQuery(event.target.value)}
placeholder="Search…"
/>
<p>Debounced query: {debouncedQuery}</p>
</div>
);
}The initial value is returned immediately. Subsequent changes are delayed until delayMs has elapsed without another change; effect cleanup cancels the pending timer on unmount.
Asked Nov 1, 2026. Unedited.
Qwen 3.8 Max
import { useEffect, useState } from "react";
export function useDebouncedValue<T>(value: T, delayMs: number = 300): T {
const [debouncedValue, setDebouncedValue] = useState<T>(value);
useEffect(() => {
const timeoutId: ReturnType<typeof setTimeout> = setTimeout(() => {
setDebouncedValue(value);
}, delayMs);
// Cancels the pending debounce when:
// - `value` changes
// - `delayMs` changes
// - the component unmounts
return () => {
clearTimeout(timeoutId);
};
}, [value, delayMs]);
return debouncedValue;
}Usage:
import { useState } from "react";
import { useDebouncedValue } from "./useDebouncedValue";
export function SearchInput() {
const [search, setSearch] = useState("");
const debouncedSearch = useDebouncedValue(search, 500);
return (
<div>
<input
value={search}
onChange={(event) => setSearch(event.target.value)}
/>
<p>Debounced value: {debouncedSearch}</p>
</div>
);
}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?
GPT-6.1 Sol
About 33.2%—assuming “99% accurate” means both 99% sensitivity and 99% specificity. That is, the test detects 99% of users and correctly gives a negative result to 99% of non-users.
Imagine testing 20,000 people:
| Group | Number of people | Positive tests |
|---|---|---|
| Drug users (0.5%) | 100 | 99 |
| Non-users (99.5%) | 19,900 | 199 |
Of the 298 positive results, only 99 are from actual users:
[ P(\text{uses drug}\mid\text{positive})=\frac{99}{99+199}\approx \boxed{33.2\%}. ]
Why it surprises people: We tend to confuse “the test is positive in 99% of users” with “99% of people who test positive are users.” Those are different probabilities. Because non-users vastly outnumber users, even a 1% false-positive rate produces more false positives than true positives. Ignoring this imbalance is called base-rate neglect.
If “99% accurate” refers only to overall accuracy, rather than sensitivity and specificity separately, there isn’t enough information to calculate the answer.
Asked Nov 1, 2026. Unedited.
Qwen 3.8 Max
Assuming “99% accurate” means:
99% sensitivity: a user tests positive with probability 0.99
99% specificity: a non-user tests negative with probability 0.99
and the prevalence is 0.5%, then:
[ P(\text{user} \mid \text{positive}) = \frac{P(\text{positive} \mid \text{user})P(\text{user})} {P(\text{positive} \mid \text{user})P(\text{user}) + P(\text{positive} \mid \text{non-user})P(\text{non-user})} ]
[ = \frac{0.99 \times 0.005} {0.99 \times 0.005 + 0.01 \times 0.995} ]
[ = \frac{0.00495}{0.00495 + 0.00995} \approx 0.332 ]
So the probability they actually use the drug is about 33%.
Why this surprises people
People often hear “99% accurate” and think a positive result must mean there is a 99% chance the person uses the drug. But that confuses:
[ P(\text{positive} \mid \text{user}) ]
with:
[ P(\text{user} \mid \text{positive}) ]
The key issue is the base rate: only 0.5% of people use the drug, so there are many more non-users than users. Even a small false-positive rate among the large non-user population creates many false positives.
Natural-frequency explanation
Imagine testing 100,000 people:
Drug users: [ 0.5\% \times 100{,}000 = 500 ] True positives among users: [ 99\% \times 500 = 495 ]
Non-users: [ 99{,}500 ] False positives among non-users: [ 1\% \times 99{,}500 = 995 ]
Total positive tests:
[ 495 + 995 = 1{,}490 ]
Of those, actual users are:
[ \frac{495}{1{,}490} \approx 33\% ]
So despite the test being highly accurate, a positive result only implies about a one-in-three chance of actual drug use because the drug is rare in the population. This is a classic example of base-rate neglect.
Asked Nov 1, 2026. Unedited.
Head to head
Ranked against 42 models, from public leaderboards and our own blind tests where we have them. How we rank
| Task | GPT-6.1 Sol | Qwen 3.8 Max | Leads |
|---|---|---|---|
| Coding | #8 | #10 | GPT-6.1 Sol |
| Writing | #12 | #5 | Qwen 3.8 Max |
| Math | #5 | #10 | GPT-6.1 Sol |
| Research | #30 | #18 | Qwen 3.8 Max |
| Everyday chat | #13 | #8 | Qwen 3.8 Max |
The facts
Scores from artificialanalysis.ai and lmarena.ai.
| Fact | GPT-6.1 Sol | Qwen 3.8 Max |
|---|---|---|
| Made by | OpenAI | Alibaba |
| API price, per 1M tokens | $2 in, $10 out | $2 in, $6 out |
| Speed | 62 tokens a second | 41 tokens a second |
| Artificial Analysis Index | 51.8 | 45.4 |
| LMArena text | 1,444 | 1,484 |
| LMArena coding | 1,482 | 1,503 |
| Updated | Oct 26, 2026 | |