K
Karthik Sekar
ksat.me · Personal blog · on HN since 2010
Karthik Sekar writes explainers on distributed systems topics like CAP theorem, MapReduce, and evented IO, and shares small browser hacks.
What HN saysHN mostly links his Chrome plugin that fixes the 'Unknown or expired link' error on HN, which one commenter says works well.
19HN people shared it
2linked it in comments
26stories submitted
330story points
11 months agolast shared
2010people per year2026
Most-shared posts
- 1A plain english introduction to CAP Theorem12 people · 33 points · first shared 2011 · 1 comments on HN
- 2Map Reduce: A simple introduction (2010)4 people · 221 points · first shared 2010 · 36 comments on HN
- 3ShowHN: A Chrome plugin to deal with the HN's 'Unknown or expired link'2 people · 11 points · first shared 2012 · 5 comments on HN
- 4What is evented IO and why does it scale?2 people · 5 points · first shared 2012 · discussion on HN
- 5Parse, Firebase and the comeback of Two-Tier1 people · 40 points · first shared 2012 · 4 comments on HN
- 6The Literally Sexy, Sexy Password Field1 people · 8 points · first shared 2012 · 7 comments on HN
- 7ShowHN:(my weekend hack): SafariShot: Screenshots like it's running on a mac1 people · 6 points · first shared 2012 · 15 comments on HN
- 8Stop setting focus on “username” field if I am already on “password” field1 people · 2 points · first shared 2012 · discussion on HN
- 9Why you'll like Fantom1 people · 1 points · first shared 2012 · discussion on HN
- 10When the drawing board screws you over1 people · 1 points · first shared 2012 · discussion on HN
- 11What can you do before your battery runs out?1 people · 1 points · first shared 2012 · discussion on HN
- 12Automation is not always Scalable1 people · 1 points · first shared 2012 · discussion on HN
What HN people wrote when they linked it
adamwiggins · 2013-04-04
> What's the constraint that prevents you from having your dynos register with the loadbalancer cluster and then having the latter perform leastconn balancing per application?
This is how it works. Dynos register their presence into a dyno manager which publishes the results into a feed, and then all the routing nodes subscribe to that feed.
But dyno presence is not the rapidly-changing data which is subject to CAP constraints; it's dyno activity, which changes every few milliseconds (e.g. whenever a request begins or ends). Any implementation that tracks that data will be subject to CAP, and this is where you make your choice on tradeoffs.
> why would that mean "lower availability" or "higher latency"?
I'll direct you back to the same resources we've referenced before:
http://aphyr.com/posts/278-timelike-2-everything-fails-all-the-time
http://ksat.me/a-plain-english-introduction-to-cap-theorem/
> Did you look into zookeeper?
This is the best question ever. Not only did we look into it, we actually invested several man-years of engineering into building our own Zookeeper-like datastore:
https://github.com/ha/doozerd
Zookeeper and Doozerd make almost the opposite trade-off as what's needed in the router: they are both really slow, in exchange for high availability and perfect consistency. Useful for many things but not tracking fast-changing data like web requests.
tgrass · 2012-07-13
Chrome Plugin: http://ksat.me/chrome-plugin-to-fix-hn-unknown-or-expired-link/
Works like a dream.