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

  1. 1
    The 14KB in the TCP Initial Window
    6 people · 10 points · first shared 2018 · discussion on HN
  2. 2
    Git Notes: Git's coolest, most unloved­ feature (2022)
    5 people · 584 points · first shared 2022 · 145 comments on HN
  3. 3
    What I've Learned About Data Visualization
    3 people · 5 points · first shared 2023 · discussion on HN
  4. 4
    GitHub Private Repos Considered Private-­Ish
    3 people · 5 points · first shared 2023 · discussion on HN
  5. 5
    The future of large files in Git is Git
    2 people · 557 points · first shared 2025 · 290 comments on HN
  6. 6
  7. 7
    On the Proper Use of Post-Its
    2 people · 107 points · first shared 2022 · 36 comments on HN
  8. 8
    Staging Is a Trap
    2 people · 23 points · first shared 2022 · 29 comments on HN
  9. 9
    Literate Vimrc
    2 people · 6 points · first shared 2017 · 1 comments on HN
  10. 10
    The Rsync Algorithm in Python
    2 people · 4 points · first shared 2017 · discussion on HN
  11. 11
    A Case for Stacked Patches
    2 people · 3 points · first shared 2023 · discussion on HN
  12. 12
    The Beginner's Guide to over­Complicating Coffee
    2 people · 3 points · first shared 2023 · discussion on HN
  13. 13
    Of Git Commits, GitHub, and Gerrit
    2 people · 2 points · first shared 2019 · 2 comments on HN
  14. 14
    Chuwi Minibook X: the netbook we deserve
    2 people · 1 points · first shared 2026 · discussion on HN
  15. 15
    Cool desktops don’t change
    1 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…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close