id
type
5 (blog/news article)
status
21 (imported old-v2, waiting for another import)
review version
0
cleanup version
0
pending deletion
0 (-)
created at
2025-12-04 15:05:53
updated at
2025-12-04 15:05:54
pol page id
pol status
0
pol hosts ticketing
pol hosts ecommerce
pol hosts finance
pol hosts crypto
pol hosts leak
pol hosts devel
pol hosts ugc
pol hosts klim
pol hosts builders
pol hosts self subdomains
pol hosts other subdomains
pol hosts other domains
apress.com ahelwer.ca lemmster.de
pol updated
1765538343
url
https://hillelwayne.com/post/adversaries/
url length
41
url crc
11874
url crc32
4146146914
location type
1 (url matches target location, page_location is empty)
canonical status
30 (canonical url is different, page_canonical_page_id points to it)
canonical page id
domain id
domain tld
2211
domain parts
0
originating warc id
-
originating url
https://data.commoncrawl.org/crawl-data/CC-MAIN-2025-33/segments/1754151279901.12/warc/CC-MAIN-20250806074443-20250806104443-00005.warc.gz
source type
11 (CommonCrawl)
server ip
Publication date
2025-08-06 08:58:00
Fetch attempts
0
Original html size
43601
Normalized and saved size
40703
title
Modeling Adversaries with TLA+
excerpt
content

 A common question I get about specs is how to model bad actors. Usually this is one of two contexts: The spec involves several interacting agents sharing a protocol, but some of the nodes are faulty or malicious: they will intentionally try to subvert the system. The spec involves an agent subject to outside forces, like someone can throw a rock at your sensor. These “open world” situations are a great place to use formal methods. We can’t easily represent rock-dropping with line-of-code verification. But with specs, we can independently design and verify the invariants of our program, and then explore how the invariants change when we add in outside forces. This works for both adversaries and environmental effects, albeit with somewhat-different implementations. One note: this is a bit more advanced than my usual TLA+ stuff. In particular, I’m not using PlusCal: you can still model this all in PlusCal tool but it’s much more elegant in pure TLA+. If you know TLA+, great...
author
updated
1765538343
block type
0
extracted fields
232
extracted bits
title
full content
content was extracted heuristically
OpenGraph suggests this is an article
detected location
0
detected language
1 (English)
category id
Other [en] (231)
index version
2025123101
paywall score
0
spam phrases
0
text nonlatin
0
text cyrillic
0
text characters
10134
text words
2253
text unique words
617
text lines
1
text sentences
114
text paragraphs
1
text words per sentence
19
text matched phrases
1
text matched dictionaries
2
links self subdomains
0
links other subdomains
0
links other domains
3
links spam adult
0
links spam random
0
links spam expired
0
links ext activities
0
links ext ecommerce
0
links ext finance
0
links ext crypto
0
links ext booking
0
links ext news
0
links ext leaks
0
links ext ugc
0
links ext klim
0
links ext generic
0
image author
featured image