Tyler Cipriani
tylercipriani.com · Personal blog · on HN since 2012
Tyler Cipriani, a software engineer, writes about Git, web performance, data visualization, and developer workflows.
What HN saysHN links it for the 14KB TCP initial window post and his Git notes and large-file articles, which commenters cite to support their points.
25HN people shared it
7linked it in comments
136stories submitted
4.0Kstory points
4 months agolast shared
2012people per year2026
Most-shared posts
- 1The 14KB in the TCP Initial Window6 people · 10 points · first shared 2018 · discussion on HN
- 2Git Notes: Git's coolest, most unloved feature (2022)5 people · 584 points · first shared 2022 · 145 comments on HN
- 3What I've Learned About Data Visualization3 people · 5 points · first shared 2023 · discussion on HN
- 4GitHub Private Repos Considered Private-Ish3 people · 5 points · first shared 2023 · discussion on HN
- 5The future of large files in Git is Git2 people · 557 points · first shared 2025 · 290 comments on HN
- 6Circadian lighting with Home Assistant: Like f.lux, but for your house2 people · 538 points · first shared 2022 · 231 comments on HN
- 7On the Proper Use of Post-Its2 people · 107 points · first shared 2022 · 36 comments on HN
- 8Staging Is a Trap2 people · 23 points · first shared 2022 · 29 comments on HN
- 9Literate Vimrc2 people · 6 points · first shared 2017 · 1 comments on HN
- 10The Rsync Algorithm in Python2 people · 4 points · first shared 2017 · discussion on HN
- 11A Case for Stacked Patches2 people · 3 points · first shared 2023 · discussion on HN
- 12The Beginner's Guide to overComplicating Coffee2 people · 3 points · first shared 2023 · discussion on HN
- 13Of Git Commits, GitHub, and Gerrit2 people · 2 points · first shared 2019 · 2 comments on HN
- 14Chuwi Minibook X: the netbook we deserve2 people · 1 points · first shared 2026 · discussion on HN
- 15Cool desktops don’t change1 people · 536 points · first shared 2022 · 479 comments on HN
What HN people wrote when they linked it
3r7j6qzi9jvnve · 2024-05-09
> how do we actually know that that pull request has gone through all the checks
gerrit flags all reviews and checks into git notes, which can be downloaded and displayed with a little bit of configuration: https://tylercipriani.com/blog/2022/11/19/git-notes-gits-coolest-most-…
This doesn't prevent an admin from cheating and editing the notes manually, but it's a good audit trail if you trust the "forge".
whartung · 2026-06-27
This showed up on HN a couple weeks ago:
https://tylercipriani.com/blog/2026/05/28/chuwi-minibook-x/
StellarScience · 2026-06-18
10 months or so ago I believe HN posted "The future of Large Files in Git is Git" : https://tylercipriani.com/blog/2025/08/15/git-lfs/
So is it the future now?
herpderperator · 2019-09-19
Looks like they referenced it later in the article: https://tylercipriani.com/blog/2016/09/25/the-14kb-in-the-tcp-initial-…
> So why try to squeeze a website into ~14KB? Seems like you should be trying to squeeze it into 1432 bytes.
> I found my answer in IETF RFC 6928 – a proposal to increase the TCP Initial Window to 10 segments. The Initial Congestion Window (cwnd) is the maximum number of bytes that a server can send without receiving any acknowledgement that the bytes were received via a client ACK packet. This maximum number of bytes to send is calculated by multiplying some number by MSS. As of RFC 6928 some number is equal to 10 (initially).
franciscop · 2018-08-19
For the other points, the other comments are quite spot on.
Load speed:
Umbrella's 2.5kb loads well under the rule-of-thumb size of a single packet of 14kb [1], so you have to do a single roundtrip for that [2]. In this 3rd party test [3] it takes ~200ms to load the whole Umbrella JS. JQuery weights ~30x more kb, so there are several packets sent, which makes it load in ~2s in the same test.
Not to mention parsing and running all that extra JS.
Heck, I regularly bundle my whole JS in a single file and thanks to Umbrella JS tiny size the whole thing weights well under 14kb. It loads in a snap.
Edit: early send
[1] https://tylercipriani.com/blog/2016/09/25/the-14kb-in-the-tcp-initial-…
[2] Excluding the TLS trip, which is common anyway.
[3] https://speakerdeck.com/mattclaffey/using-umbrella-js-for-modern-appli…
mananaysiempre · 2026-05-01
There were a few efforts like that back in the day (when people still cared about offline and store-and-forward-style operation[1]), like Bugs Everywhere[3], git-appraise[4] which stored its data in Git’s little-known “notes” namespace[5], and git-bug[6] which for some reason I’ve seen mentioned quite a bit in such threads recently unlike the others—though I’m not complaining about one of them getting mentioned at least.
Also, as far as read-only access, Gerrit review data is actually accessible via Git[7] (for review ABCDE, pull refs/changes/DE/ABCDE/meta instead of one of the usual numbered refs under that prefix), and someone made the effort[8] to make it accessible via Git notes too (as mentioned in the post on Git notes that I linked above).
Also also, the Fossil SCM of SQLite fame somewhat famously does[9] do this kind of thing with its builtin bug tracker. It has been relegated to obscurity partly as an accident of history (Git won) and partly on the merits (it is aggressively hostile to the kind of history rewriting we are used to routinely—if not always wisely—performing in Git).
Going back to working on top of Git, though, I think that part of the problem is that you really want custom merge strategies when you’re trying to build a fancy datatype, and Git’s support for them requires a lot of wrapping to make it seamless (the location tracking stuff in git-annex[10] is the only success story I am aware of, and that’s a sizeable Haskell project). The existing…