# Site TODO
## general
- replace `` in old posts with `{{< figure >}}` (partial work
done on stuff `>= 2019`)
- fix broken links in posts
- import files
- add "music" somewhere ("songs", keep pmdn.org for personal stuff)
- add sticky footer:
https://css-tricks.com/couple-takes-sticky-footer/
- toc: add title and aria-label
- toc: show on right sidebar on desktop
- htmltest/htmltidy post-receive hook (already installed as
web.k3:~/go/bin/htmltest):
- monthly link sweep?
- upgrade from bulma 0.9.3 to bulma 1.0.0
## post ideas
- fast document search: postgres fts, `pg_trgm`, and tika (git/test/sift)
(richard asked about this on 2019-07-22, so +1)
- sqlite3 fts search
- pi notes
- k3 notes
- compiler surprises: https://godbolt.org/z/ZQbZ2R
- temperature sensors (see SA post, add bit about "meat"): https://forums.somethingawful.com/showthread.php?threadid=3468084&userid=0&perpage=40&pagenumber=176#post494884256
- sensortron
- meson-junit
- pwasm
- RewriteMap/docker (gist)
- ev-crash-course (~/git/ev-crash-course)
- pocket-jim
- ccs/nuclear/hydrogen is a scam
- thoughts on "relevance of classic fuzz testing"
- https://neverworkintheory.org/2021/10/01/the-relevance-of-classic-fuzz-testing.html
- "law of small numbers": http://psychology.iresearchnet.com/social-psychology/decision-making/law-of-small-numbers/
- full paper: https://neverworkintheory.org/2021/10/01/the-relevance-of-classic-fuzz-testing.html
- legacy debian (hamm): http://archive.debian.org/debian/dists/hamm/main/binary-i386/base/
- things i noticed:
- possible small set giving extreme outliers
- dash is not /bin/sh on all linuxes (only debian-based distros)
- wonder about overall size of base installs (base rate fallacy)
- summary of rust conclusion seems suspect and different than
content of paper itself
- detailed results are interesting
- buttcoin:
- https://www.theonion.com/man-who-lost-everything-in-crypto-just-wishes-several-t-1848764551
- tulip mania
- nerd sniping
https://www.jwz.org/blog/2022/01/mozilla-blinked/
https://www.wired.com/story/theres-no-good-reason-to-trust-blockchain-technology/
(nicholas weaver article)
https://blog.yossarian.net/2021/12/05/Blockchains-dont-solve-problems-that-are-interesting-to-me
https://thecorrespondent.com/655/blockchain-the-amazing-solution-for-almost-nothing/86714927310-8f431cae (not great technically)
https://www.usenix.org/publications/loginonline/web3-fraud
https://web3isgoinggreat.com/
https://www.schneier.com/blog/archives/2022/04/de-anonymizing-bitcoin.html
https://www.salon.com/2022/07/19/cryptomining-uses-a-disturbing-amount-of-energy-lawmakers-find_partner/
https://www.dailykos.com/stories/2022/9/30/2126181/-Bitcoin-mining-is-just-as-bad-for-the-environment-as-burning-gasoline-new-study-finds
https://theintercept.com/2022/10/26/matt-damon-crypto-commercial/
- syzkaller/syzbot:
https://www.youtube.com/watch?v=YwX4UyXnhz0
https://clangbuiltlinux.github.io/CBL-meetup-2020-slides/glider/Fighting_uninitialized_memory_%40_CBL_Meetup_2020.pdf
http://www.antipope.org/charlie/blog-static/2022/11/decision-fatigue.html
- bpf:
https://ebpf.io/
https://www.brendangregg.com/blog/2021-07-03/how-to-add-bpf-observability.html https://qmonnet.github.io/whirl-offload/2021/09/23/bpftool-features-thread/
https://github.com/iovisor/bcc
https://old.reddit.com/r/golang/comments/ww57pq/has_anyone_had_any_luck_with_ebpf_libraries/
https://pkg.go.dev/github.com/cilium/ebpf
https://github.com/dropbox/goebpf
(plus kernel docs)
- gpg keys, 2021:
https://musigma.blog/2021/05/09/gpg-ssh-ed25519.html
- compression: huffman coding vs arithmetic coding versus asymmetric
number system compared to shannon entropy (`H(X) = -Σ p(x) log_2(p(x))`)
https://neptune.ai/blog/lossless-data-compression-using-arithmetic-encoding-in-python-and-its-applications-in-deep-learning
(zstd rfc, which uses ans)
(zlib compression doc)
https://kedartatwawadi.github.io/post--ANS/
- fun paradoxes:
condorcet paradox
simpsons paradox
anscoms quartet
base rate fallacy
"law of small numbers" from "thinking fast and slow": http://psychology.iresearchnet.com/social-psychology/decision-making/law-of-small-numbers/
selection bias (elections and polling)
- retro gaming handhelds: psp, 2dsxl, rg350m, rgb10 max
- lvm thin provisioning (see notes from x1.txt and linked gist)
- log4j and dependency usefulness as a function of time for projects
- postgres tiny tricks
- CTEs as optimization barrier:
https://old.reddit.com/r/programming/comments/suyidt/a_hairy_postgresql_incident/hxdvwl4/
- `~* ANY(string_to_array(?))` (comment in reddit w/json array)
- pub/sub?
- domains instead of repeated check constraints
- trigger `TG_ARGV`
- trigger `REFERENCING ... AS` (newer PG)
- `COMMENT ON` ...
- `LISTEN/NOTIFY`?
- timestamptz, long timezone names aware of DST
- RETURNING
- GENERATED STORED tsvector (bookman)
- compare and contrast cyclonedx vs spdx
- (at the moment i like cyclonedx more, it seems less ad-hoc)
- https://cyclonedx.org/docs/1.4/json/
- https://github.com/spdx/spdx-examples/blob/master/example3/spdx/example3-bin.spdx
- go parsers for both are available:
- https://github.com/spdx/tools-golang
- https://github.com/CycloneDX/cyclonedx-go
- needed in a package manager
- organizational namespacing
scoped gems:
- signing and/or global subdb
- declarative install (go)
rationale:
- typosquatting (see sqo vulns from may email)
- starsquatting (requests, phpass): https://medium.com/checkmarx-security/typosquatting-attack-on-requests-one-of-the-most-popular-python-packages-3b0a329a892d
- ref: https://kerkour.com/rust-crate-backdoor
- (related, semver is garbage)
- (problems w/ go modules)
- ruby gems not solving the right problem with 2fa:
- go1 and GODEBUG
- motherfucking package managers
- radare2, ghidra
- what would git look like with modern hash (sha-512/256/blake3), data
formats (msgpack/protobuf), compression (zstd), language (rust,
go), and crypto (ed25519)?
https://lwn.net/Articles/898522/
https://gist.github.com/dvinciguerra/972a36bac9322d6d98328bad327154ca
https://msgpack.org/
https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
steal ideas from fossil:
https://fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki
bad ideas:
https://matt-rickard.com/what-comes-after-git/
- f2p nonsense:
https://www.rockpapershotgun.com/star-traders-frontiers-review#comments
(plus the shitty star traders game that's free)
https://github.com/blind-coder/SpaceTrader
https://bitbucket.org/brucelet/space-trader/src/master/app/src/main/java/com/brucelet/spacetrader/
and the 70s one w/ source:
https://en.wikipedia.org/wiki/Star_Trader
- markovian (golang markov chain generator)
(~/git/test/go/markovian)
- hq (~/git/hq)
- secure C wiki is confluence!?!?
- fuzzing (afl)
- update mathyd add link to texbox/texoid:
- golang opencl:
https://eli.thegreenplace.net/2021/a-comprehensive-guide-to-go-generate/
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/xml/cl.xml
- duktape vs quickjs (vs mujs?)
- lots of mujs stuff on nvd
- math: multinomial (stars and bars, # of moves on a chess board,
multinomial coefficient, etc), de moir dice problem
ref: Introduction to Probability with Statistical Applications, ch 2.5
1e10/81 (1234567890.1234567890)
gambler's ruin (intro to prob, ch 3.5)
constant-time fibonacci
- fzf, ripgrep
- https://krebsonsecurity.com/2022/08/the-security-pros-and-cons-of-using-email-aliases/
(email aliases, suggest whitelist instead of blacklist)
- bad defaults:
- nullable in code/db (see also: )
- mutable variables
- fallthrough in switch
- create openssl 3.x provider, see:
https://www.openssl.org/docs/manmaster/man7/provider.html
(could use pt-aes, pt-chacha20, md4, md5, sha2, etc)
- summary of minification work w/ links to posts, reference this
article:
https://endtimes.dev/why-your-website-should-be-under-14kb-in-size/
- minikube vs k3s (https://minikube.sigs.k8s.io/docs/handbook/)
- on passwords (crypto training, https://arstechnica.com/civis/viewtopic.php?f=2&t=1486155&p=41174039#p41174039)
- lots of bad info floating around (see comments of
https://arstechnica.com/information-technology/2022/08/plex-imposes-password-reset-after-hackers-steal-data-for-15-million-users/
https://old.reddit.com/r/programming/comments/wxx674/password_management_firm_lastpass_was_hacked_two/
etc
- passkeys (good replacement, too complicated internally)
- owasp password security cheat sheet, fips 183?
- compare sanitizer api, dompurify, fastest htmlesc
- tiny-binaries redux w/go 1.20, point out grype scanner output for
minimal images
- browser addons:
(ublock origin)
https://arstechnica.com/gadgets/2022/09/beloved-browser-extension-acquired-by-non-beloved-antivirus-firm/?comments=1
cosmetic filter example:
https://github.com/gorhill/uBlock/wiki/Procedural-cosmetic-filters
##table.item:has(p.name > .tag-sponsor)
- try out various lsms
- systemd hardening
- heat pump (pictures/heat-pump-20220930)
-
- `curl|bash` is madness
- gosec vs govulncheck
https://github.com/securego/gosec
https://www.pixelstech.net/article/1667102060-Secure-Your-Go-Code-With-Vulnerability-Check-Tool
- comment on efficiency of compilers
p58 of
ref: stackexchange comment linked from
- thoughts on social networks
(decentralized, federated)
-
-
-
-
-
- "taxonomy is the lowest form of academia"
- thoughts on tesla:
- try out pgsodium:
- aegis authenticator dance w/ tablet
(including installing lineage 20)
- fix-enterprise-episodes.rb
- imagecompare (flex:git/go/test/imagecompare)
- don't expose ssh (imap)
- bloom filter and salted hashes rather than raw db of info:
- ascon references to lessons learned
(nonce resistance, aead, xof, refs to keccak and sha2, stream cipher,
other stuff in paper, see ref, pqc)
https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/ascon-spec-final.pdf
- wasm vs ebpf
(see comments here https://lwn.net/Articles/909095/#Comments)
- machine learning vulns (see vulns 2022-06)
- chacha20 intel intrinsics
- good book: primes: a computational approach (crandall primes)
- pi-apalooza (pis found while looking for ethernet spool)
- flex bookworm update (details in notes)
- z3-sudoku (github sudoku-solver)
- c impls of poly1305, siphash
- post like this talking about renewable stuff (solar, heat pump,
water heater, dryer): https://gizmodo.com/emission-impossible-two-reporters-tried-to-ditch-natur-1851362650
- enshittification
- extjs (sencha)
- docker (podman)
- chrome (firefox)
- google (ddg)
- terraform (opentofu)
- hudson/jenkins, openoffice/libreoffice
- redhat (centos, rocky, almalinux)
- vim (neovim)
- windows (11, telemetry)
- sorta: elasticsearch (opensearch), redis
- reddit, stackoverflow
- my tools
- vim: (2 pragbooks vim books, vimhelp.org, learnvimthehardway)
- irssi
- screen
- mutt/offlineimap/notmuch
- irb (show irbrc w/3.x mods)
- git (gitconfig w aliases)
- bash?
- perf
- wireguard
- minify, imagemagick/gm, pngquant
- meson?
- postgres, sqlite
- firefox (ublock origin, tab stash, firefox sync)
- gnome (extensions: hidetopbar, workspace matrix)
- programming languages
- go
- ruby
- c
- python
- assembly
- js (es2015)
- svgbob and ollama
- compare signify, age, and minisign:
https://flak.tedunangst.com/post/signify
https://blog.gtank.cc/modern-alternatives-to-pgp/
https://github.com/FiloSottile/age
- many flavors of chacha
- number of rounds (chacha8 v chacha20)
- rfc vs original paper (counter and nonce size)
- poly1305 (aead)
- xchacha (larger nonce)
- language:
https://www.orwellfoundation.com/the-orwell-foundation/orwell/essays-and-other-works/politics-and-the-english-language/
- remove firefox crap:
- firefox privacy-preserving nonsense
- problems w/ tracking apis:
- orwellian name (does not preserve privacy)
- analogies for folks to understand correlation: clue, sudoku, wordle
- eff article (in lwn comment) talks about 3 pieces of info to
uniquely identify someone
- commenter on lwn: history shows tracking apis are additive (it
accretes)
-
- nonsense might be in good faith: upton sinclair "it's difficult to
get a man to understand something when his job depends on him not
understanding it"; both google and mozilla depend on advertising
- false premise about advertising being the sole or even optimal
method of supporting sites, that the onus is on users to support
a particular method, or that there are only two options.
- orwell, politics and the english language:
- carl sagan, baloney detection kit:
- good quotes and general sentiment: "creeping dark pattern" and "we
take your privacy and security... seriously":
- commentary on crowdstrike
- lots of ideas floating around, all with tradeoffs. no perfect
solution (engineering problem, all have tradeoffs)
- me: homogeneous systems (panama disease for bananas)
- monoculture: overspecialize and you breed in weakness
- attempt to simplify workload for IT administrators has
created a monoculture
- IT policies should be descriptive, not prescriptive
- "needs more testing", "testing can only demonstrate the presense of
bugs, not the absense of them"
combinatorial explosion can make it impossible to test all inputs
for even seemingly simple functions. example:
`u64 f(u64 n) { return 1/(rand_val-n); }`
- "beware of this code, i have only proven it correct, not tested
it"
- "testing can only demonstrate the presense of bugs, not the
absense of them"
- needs a/b boot (what android does)
problem (in comments of phoronix article): crowdstrike deliberately
bypassing
- needs verification on signed drivers: driver is signed and verified,
reads invalid config file
- should be impossible to end up in invalid state ("halting problem",
also limits the expressive power of configuration; e.g. "accidental
interpreters")
- code should execute in a trusted environment (already done with ebpf
in linux and that still causes crashes, relies on a "sufficient
smart compiler/validator")
(bpf verifier )
- phased deploys (e.g., like chrome. relies on sysadmins to set this
up properly)
-
(preliminary post-incident report. not doing staggered rollouts,
only doing partial testing)
- summary of problems:
- crowdstrike tos:
- NULL bytes caused by crash with unflushed write():
- "open source model" coopting language (also orwell, yeesh):
- humpty dumpty in through the looking glass "when i use a word
it means precisely what i intend it to mean. nothing more and
nothing less"
(license isn't open, source -- e.g., training material -- isn't open
it's not "AI", just co-opting language to mean the opposite of what
the words actually mean)
- ocsp: good riddance to bad rubbish:
- secureboot broken:
- modern security too hard to use.
- imperial violet "have one joint and keep it well-oiled"
- comment thread on reddit about unsafe rsa/aes-cbc combo:
- log of goochat w/ alonzo on 2024-07-26 with summary of this stuff
- busted full disk encryption implementations
- cryptopals introduction (most crypto fatally broken)
- etc
- lots of older stuff is "knives up in dishwasher"
## linkdump (2022-08-10):
- css bg fade:
- https://www.mgaudet.ca/technical/2022/8/9/faster-ruby-thoughts-from-the-outside
- https://www.fuzzingbook.org/
- https://security.googleblog.com/2022/05/retrofitting-temporal-memory-safety-on-c.html
- allocation in go: https://medium.com/eureka-engineering/understanding-allocations-in-go-stack-heap-memory-9a2631b5035d
(src: )
- http://www.linguistic-antipatterns.com/
- https://arstechnica.com/tech-policy/2022/08/us-approves-google-plan-to-let-political-emails-bypass-gmail-spam-filter/?comments=1
- https://brandur.org/fragments/go-wishlist-2022
- https://www.tbray.org/ongoing/When/202x/2022/03/26/Is-5G-BS
- https://teddit.net/
- https://www.privacytools.io/#frontend
- https://github.com/zedeus/nitter
- https://snapdrop.net/#
- https://news.ycombinator.com/item?id=11071754
- https://research.nccgroup.com/2022/08/08/implementing-the-castryck-decru-sidh-key-recovery-attack-in-sagemath/
- https://research.nccgroup.com/2022/08/11/detecting-dns-implants-old-kitten-new-tricks-a-saitama-case-study/
- https://research.nccgroup.com/2022/08/16/wheel-of-fortune-outcome-prediction-taking-the-luck-out-of-gambling/
- https://carlineng.com/?postid=sql-critique#blog
- https://www.openssl.org/blog/blog/2022/08/24/FIPS-validation-certificate-issued/
- constant-time fibonacci: https://specbranch.com/posts/const-fib/
- https://specbranch.com/posts/common-perf-numbers/
- (reminds me of "tyranny of metrics"):
- chebyshev, taylor series:
- and
-
-
-
- page-fault weird machine:
-
-
-
(search effect, link to you are not so smart)
- gba ghidra:
- finding bugs w/ fuzzers (kernel):
- impl semaphores in rust
-
-
-
-
-
-
-
-
-
-
- go:
-
- mastodon:
-
-
- jq255e:
-
-
-
- learning hierarchy:
-
-
- h/t
- try out
- ruby w/o rails
- leanchess:
- c23:
- chatgpt
- bitslicing
- pqc parameter debates (kyber, turboshake, dilithium)
-
-
-
- "another look at " (15 years of...):
-
-
-
- 4 pillars of program analysis (slide 5):
- cracking old password
- privacy policy:
- ai dropkick
- linus torvald's "s curve, no such thing as unbounded exponential
growth"
- summary of goldman sachs report which is negative on LLMs:
-
(link to brutal goldman sachs report in comments which talks about
technology limits, power consumption limits, and chip limits)
## done
- add project folders
- add redirect for old rss links (check error.log)
- sidebar: github
- sidebar: other sites
- post: model 3
- post: https://pmdn.org/password-strength/
- tensorflow/docker/libvirt setup (see v4-notes)
- raspberry pi tensorflow benchmark results
- bev ranges (github bev-ranges repo / chart)
- sha2 (https://git.pablotron.org/sha2/, maybe push to github?)
- pi4-bench (https://pmdn.org/pi4-bench/)
- keybase (sidebar only)
- mathy
- stm32f103c8t6 fun
- weather-sage
- nft setup (pmdn, laptop)
- table shortcode (`hugo-shortcode-table`)
- removed `script-src unsafe-inline`, A+ score on securityheaders
- fix RSS to show full feed
- feedbloater
- wireguard notes
- birthday paradox
- mathyd (repo + examples)
- really tiny docker images, based on this post:
https://forums.somethingawful.com/showthread.php?noseen=0&threadid=2389159&perpage=40&pagenumber=865#post520151251
https://nathanotterness.com/2021/10/tiny_elf_modernized.html
(created repo: https://github.com/pablotron/tiny-binaries)
- rust 1.59.9 stripped binaries (update)
- https://blog.rust-lang.org/2022/02/24/Rust-1.59.0.html#creating-stripped-binaries
- CSP-friendly golang coverage reports (see note from k3-notes.txt about
relaxing CSP for `pmdn.org/coverage/`)
- https://cs.opensource.google/go/go/+/master:src/cmd/cover/html.go
- "replace `style='display: none` with `.hide` (shrink html, improve
CSP handling)"
- "add sha256 hash for `