Screenshot of text:
Frequently Asked Questions
Can I book my flight through an agency or travel agent?
Flair Airlines does not sell tickets through agents or third-party websites. Always book at flyflair.com. We do (statement above is false), through google flights and expedia and others, we should clarify here that the thing that you should verify it's a trusted agency
Screenshot:
please type "confirm" to proceed
confirm
this is an invalid value
confirm cancellation (disabled button), cancel
Flair Airlines, the budget airline with the even more budget website
15.01.2026 01:27
π 1
π 0
π¬ 0
π 0
... ask HISTORIANS???
20.08.2025 11:39
π 7
π 0
π¬ 0
π 0
Sneaky git commits - tavianator.com
New (short) blog post: sneaky git commits
tavianator.com/2025/sneaky....
10.08.2025 14:57
π 3
π 2
π¬ 0
π 0
Nah man rent used to actually be lower
01.07.2025 16:37
π 1
π 0
π¬ 0
π 0
Taking the C preprocessor to Church - tavianator.com
A brief history and (ab)use of __VA_OPT__: tavianator.com/2025/cpp_chu...
26.06.2025 18:38
π 1
π 1
π¬ 0
π 0
38 seconds total, if you read the whole line.
Anyway I'm not suggesting that an "actual project" spend time on this, but maybe a build system should?
27.04.2025 17:35
π 0
π 0
π¬ 1
π 0
Parallel ./configure - tavianator.com
New blog post: parallel ./configure
tavianator.com/2025/configu...
25.04.2025 17:06
π 4
π 0
π¬ 0
π 0
Still no sound from my laptop speakers, but at least I won't trigger a UAF anymore while I try to debug it: lore.kernel.org/linux-sound/...
23.04.2025 15:19
π 0
π 0
π¬ 0
π 0
Keep going? No, fail fast!
14.04.2025 15:52
π 0
π 0
π¬ 0
π 0
I could reproduce the phenomenon with only 14 instructions on #Intel #GoldenCove, #RaptorCove, #RedwoodCove. It appears only with the 64b-immediate initialization of the 2nd (3rd) operand in the -1024<=imm32<=1023 range.
On #LionCove... 1/2
08.01.2025 18:32
π 4
π 2
π¬ 1
π 1
Re-measured it: the prefetch is still a significant improvement, ~11% higher throughput at 8 threads, ~30% higher at 12 threads. I should probably write this up somewhere
02.01.2025 15:36
π 1
π 0
π¬ 0
π 0
In both cases the counters claim 1 uop, so I don't think so
31.12.2024 22:55
π 2
π 0
π¬ 0
π 0
It's fast for me in practice on Zen 2 at least. Maybe someday I'll microbenchmark it. But also I've dramatically optimized the MPMC queue recently, not sure the prefetch still makes a difference
31.12.2024 22:53
π 1
π 0
π¬ 1
π 0
Okay new discovery: "MOV R10D, 1" also gives 1c latency. But "MOV R10, 1" gives 3c latency. Something to do with whether the top half of the count register is zeroed and how.
31.12.2024 19:42
π 1
π 0
π¬ 1
π 0
Maybe a register renaming issue?
31.12.2024 19:07
π 1
π 0
π¬ 1
π 0
So I suspect some code alignment issue or something is at fault
31.12.2024 18:50
π 1
π 0
π¬ 1
π 0
Hmm, something very strange is going on. I can reproduce their benchmark. But if I add "XOR R8, R8; XOR R9, R9; XOR R10, R10" to -asm_init to zero all the registers, it goes from 8 cycles to 6, i.e. 1-cycle latency.
*But*, if I instead use "MOV R10, 0" to zero it out, it's back to 8 cycles!
31.12.2024 18:49
π 1
π 0
π¬ 1
π 0
So it turns out that on arm64 macOS, if you send SIGSEGV manually (kill -SEGV <pid>), the kernel fills in siginfo->si_code as if it were a "real" SIGSEGV. So your handler can't easily distinguish between a "real" and a "fake" SIGSEGV
22.12.2024 19:25
π 2
π 0
π¬ 1
π 0
(Claude output) I'm familiar with tavianator (Brandon Andersen) as a software developer and technical writer who has made contributions to computer graphics, programming optimization, and software development tools. They are known for their blog posts and technical writing about computer science topics, particularly articles about bit manipulation techniques and computational geometry. However, I try to be careful about making specific claims about individuals since I may make mistakes, so I'd encourage you to verify any particular details I've mentioned.
TIL my name
22.12.2024 05:02
π 3
π 0
π¬ 0
π 0
crates.io: Rust Package Registry
Recently I came across the Rust crate signal-hook: crates.io/crates/signa...
What's remarkable is both the API and the implementation are *very* similar, despite having not seen this crate when I wrote my C implementation. Pretty cool that we converged on a similar solution.
17.12.2024 17:38
π 0
π 0
π¬ 0
π 0
A while ago I implemented some code for dynamic signal handler (un)registration: github.com/tavianator/b...
The idea is you can call sighook(SIGINT, ...) from multiple places and all the registered hooks will get called when a signal is received.
17.12.2024 17:38
π 0
π 0
π¬ 1
π 0
Sure! But also go like my posts about cache prefetching or whatever
07.12.2024 20:42
π 1
π 0
π¬ 0
π 0
Experimentally, this is a big benefit (33% fewer stalled cycles), but I'd like to understand the tradeoff better
25.11.2024 20:17
π 0
π 0
π¬ 1
π 0