keegancsmith | 3 years ago | on: The technology behind GitHub’s new code search
keegancsmith's comments
keegancsmith | 3 years ago | on: An ex-Googler's guide to dev tools (2020)
keegancsmith | 4 years ago | on: Ask HN: Favorite Blogs by Individuals?
keegancsmith | 5 years ago | on: Double Entry Accounting for Developers
In retrospect I wish what we learnt in High School was more focussed on personal finance than essentially constantly doing double entry data capture.
keegancsmith | 5 years ago | on: Spark joy by running fewer tests
keegancsmith | 5 years ago | on: Org Mode – Organize Your Life in Plain Text
There is also a guide for android https://orgmode-exocortex.com/2020/04/28/voice-capture-org-m...
keegancsmith | 5 years ago | on: If you're hiring, be forthcoming about the dev experience
keegancsmith | 7 years ago | on: U.S. Changes Visa Process for High-Skilled Workers
keegancsmith | 7 years ago | on: Sourcegraph is now open source
We ended up switching away from that model for a few reasons:
- At the time it was very costly to essentially index the whole OSS world, when most commit indexes would never be read.
- It was slow to index a codebase for a commit, and most of the work was wasted since a developer would often only look at a handful of files.
- Getting incremental indexing working usually required pretty deep integration into the build tool, so was a lot of work per language which didn't scale.
- A lot of tools using an "indexed" model end up only indexing the master/trunk branch, and you don't get your code intelligence features for PRs/etc.
At some point LSP came onto the scene. We were early adopters making a bet that this would take off. It has, and the list of community created LSP servers is large: https://langserver.org/ It also allowed us to switch from an upfront indexing model, to a model which just encodes user intent. So the underlying LSP server can be as lazy as it wants to be with respect to how it responds to the user == increased perf and reduced resources.
Things like cross-repo references doesn't come with LSP. Many LSP servers assume the user sets the build up correctly. There are also quite a few more assumptions LSP authors make which don't easily translate into an automated server environment. So we have done quite a bit of work to smooth that over / contributed some LSP servers for popular languages.
Seems like you are digging in so you might have more questions. I'll try keep track of this thread, but also feel free to email me keegan at sourcegraph.com or file issues/questions on our repo.
keegancsmith | 7 years ago | on: Interview with CTO and Co-founder of Zapier on Working with Remote Engineers
keegancsmith | 9 years ago | on: Load Balancing is Impossible [video]
Also note the speaker is a CTO of a CDN (fast.ly), I am guessing he has experience with large concurrent requests as well :)
keegancsmith | 10 years ago | on: A Go, Docker workflow