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.
Inkling
Subject: Heating Repair — Follow-Up After Three Weeks
Dear [Landlord’s Name],
I hope you’re doing well. I’m writing to follow up on the heating issue in [Unit/Address], which has now been outstanding for three weeks. I know things can get busy, but with the colder weather setting in, the unit is becoming difficult to live in comfortably.
Could you please confirm when a repair can be scheduled? I’m happy to provide access at a time that works for you or the technician—just let me know what works best.
If there’s anything you need from me to move this forward (approval for a specific contractor, etc.), please don’t hesitate to ask. I’d really appreciate it if we could get this resolved by [specific day, e.g., the end of this week].
Thank you for your attention to this. I’m sure we can get it sorted quickly.
Warm regards,
[Your Name] [Your Address/Unit Number] [Phone Number] [Email Address]
Asked Nov 1, 2026. Unedited.
Write a React hook that debounces a value and cancels on unmount. Include the TypeScript types.
Inkling
Here is a typed useDebounce hook. It stores the debounced value in state and clears the pending timeout in the useEffect cleanup—so it cancels automatically on unmount.
import { useState, useEffect } from 'react';
export function useDebounce<T>(value: T, delay: number): T {
const [debouncedValue, setDebouncedValue] = useState<T>(value);
useEffect(() => {
const timer = setTimeout(() => {
setDebouncedValue(value);
}, delay);
// Cancel the pending update on unmount or when value/delay changes
return () => {
clearTimeout(timer);
};
}, [value, delay]);
return debouncedValue;
}Usage example:
function SearchInput() {
const [text, setText] = useState('');
const debouncedText = useDebounce(text, 300);
// debouncedText updates 300ms after the user stops typing
// and the timer is cleared if the component unmounts
}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?
Inkling
Assume “99% accurate” means:
Sensitivity = 99% (true positive rate)
Specificity = 99% (true negative rate)
Prevalence = 0.5% = 0.005
Use Bayes’ theorem (or a concrete population):
| Group | Count (per 100,000) | Test result |
|---|---|---|
| Users (0.5%) | 500 | 495 true positives, 5 false negatives |
| Non-users (99.5%) | 99,500 | 98,505 true negatives, 995 false positives |
Total positives = 495 + 995 = 1,490
[ P(\text{use} \mid +) = \frac{495}{1490} \approx \frac{0.99 \times 0.005}{0.99 \times 0.005 + 0.01 \times 0.995} \approx \mathbf{33.2\%} ]
So even with a “99% accurate” test, the chance is only about 1 in 3.
Why it surprises people
This is the base rate fallacy. Our intuition anchors on the test’s 99% accuracy and expects ~99% confidence. But because drug use is rare (0.5%), the pool of healthy people is enormous—so the 1% false-positive rate generates far more false alarms (995) than true detections (495). The false positives swamp the true positives, dragging the posterior probability way down.
Key takeaway: When a condition is rare, a positive result on an imperfect test is more likely to be a false alarm than a true hit—no matter how “accurate” the test sounds.
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
- #29of 42 for math
- #34of 42 for research
- #35of 42 for everyday chat
The facts
Inkling is a model from Thinking Machines, with open weights. It reads images and PDFs as well as text, and it writes quickly.
Scores from artificialanalysis.ai and lmarena.ai.
- Made by
- Thinking Machines
- API price, per 1M tokens
- $1 in, $4.05 out
- Speed
- 162 tokens a second
- Artificial Analysis Index
- 25.0
- LMArena text
- 1,442
- LMArena coding
- 1,466
- Updated
- Oct 26, 2026