HNHacker News
TopNewBestAskShowJobs

beliu

2,233 karma · joined December 23, 2013

https://twitter.com/beyang

I build developer tools at Sourcegraph: https://sourcegraph.com

submissionscomments
beliu··on Ask HN: Most enjoyable source code to read?
The Caddy webserver is a very nice (and practically useful) codebase: https://sourcegraph.com/github.com/mholt/caddy@master/-/blob...
beliu··on Announcing Sourcegraph 3.0
Sourcegraph CTO here. We're incredibly excited to announce Sourcegraph 3.0. This is a big release for us, with new language support, more extension APIs, significant performance improvements, and contributions from almost two dozen folks in open source.

Many thanks to our users, customers, and contributors. If you have any questions, we'll do our best to answer them here!

beliu··on Ask HN: What are some great personal blogs/portfolios?
I am a fan of https://dave.cheney.net/
beliu··on Ask HN: How do you conduct code reviews?
In my experience, code reviews are more about knowledge sharing than correctness checking (unit tests and CI are better direct correctness checks). You prioritize understanding the code that has changed and hope you get correctness as a side-effect of that understanding. If you try to directly construct an exhaustive correctness checklist, you'll end up producing a CR process that's overly burdensome and that no one actually follows. So create a checklist for understanding the code, not checking correctness.

Here's the rough, hierarchical checklist I wrote up for myself at some point: https://gist.github.com/beyang/b3b494f028996b32ab3dae237bc1c...

I don't go through this entire checklist for every code review obviously, but whenever there's a diff that's large/complex enough for me to say "hoo-boy", I revisit it to remind myself of what I actually need to check in order to obtain an adequate understanding of the change.

The other thing that matters is tooling. One of the annoying things about most CR interfaces is they lack the capabilities of an IDE that actually let you jump around and make sense of the code in a tractable manner. Shameless plug: I helped build a browser extension that adds these capabilities back into most of the mainstream CR systems: https://docs.sourcegraph.com/integration/browser_extension. People swear by it and I'd highly recommend trying it out.

To get back to your original scenario, it seems like you asked the right initial questions, but stopped short of building a satisfactory understanding of what was going on. You took the author's word for it, when you could've asked a few more probing questions to check your (and their) understanding of the change. At the end of the day, the threshold for "LGTM" is a function of both how well you understand the code and how much you trust your teammates. Better process and better tooling can help out a lot with the former, but the latter is a human element that can't be ignored either.

beliu··on Language Server Protocol implementation for Swift and C-based languages
Thanks to Apple for making this open-source. Looking forward to integrating it into Sourcegraph! https://github.com/sourcegraph/sourcegraph/issues/1557
beliu··on Ask HN: Who is hiring? (January 2019)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA or REMOTE

Sourcegraph is building a better, smarter foundation for software development. Our code search allows you to instantly search across all of your company's private code to find what you are looking for (definitions, examples, error messages, etc.), and our browser extensions give you IDE-like code intelligence (e.g. hover tooltips, go to definition, find references, and more) while you are looking at code in your browser, on Sourcegraph, or on your code host. Software developers at big/recognizable companies around the world already love and use our product on a daily basis.

We are a small distributed team of mostly engineers who love to code. If you are passionate about making the world better through software, come join us!

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Our code is open source: https://github.com/sourcegraph/sourcegraph Product roadmap: https://docs.sourcegraph.com/dev/roadmap Master plan: https://sourcegraph.com/plan Jobs page: https://github.com/sourcegraph/careers/

beliu··on Sourcegraph is now open source
@chrismwendt is a Sourcegrapher working on this. Posting this on his behalf:

Here is how I added GraphQL support last week:

- Follow the hello world tutorial https://github.com/sourcegraph/sourcegraph-extension-docs/bl...

- Add logic to handle hovers and definitions https://github.com/sourcegraph/sourcegraph-graphql

- Write the server part https://github.com/chrismwendt/graphql-ws-langserver (once a browser-based GraphQL analysis library exists, this would be unnecessary because the analysis could be done entirely in the browser)

It's available at https://sourcegraph.com/extensions/chris/graphql and once you enable it you can test it out on a GraphQL file such as https://sourcegraph.com/github.com/chrismwendt/graphql-ws-la... (it's pretty slow/janky at the moment and could be improved, but works).

If you're interested in interfacing with other tools too, you might be interested in LSP (Language Server Protocol):

- https://langserver.org/

- https://microsoft.github.io/language-server-protocol/specifi...

beliu··on We know music is pleasurable, the question is why?
Leonard Bernstein gave his answer on the question in a series of lectures titled "The Unanswered Question." Draws analogies to concepts in linguistics and CFGs: https://www.youtube.com/watch?v=8fHi36dvTdE
beliu··on OpsGenie is joining Atlassian
We use OpsGenie at Sourcegraph. They are great--nice UI, the ability to set rotating on-call schedules, and an API that lets us easily integrate multiple sources of alerts. They were also less expensive by a wide margin than many of their competitors. A great acquisition by Atlassian!
beliu··on Implementing a network protocol in Go
Sourcegraph CTO/liveblogger of this talk here. This was an excellent session that basically walks you through line-by-like, layer-by-layer how to implement the IPv6 Neighbor Discovery Protocol (analog to IPv4’s ARP). Highly recommend for folks who like networking, diving into source code, or Go.

You can dive straight into the source here: https://sourcegraph.com/github.com/mdlayher/ndp/-/blob/messa...

beliu··on More steps to better code (2016)
Fun fact: both Quinn and I (Sourcegraph cofounders) still use Emacs as our primary editor :)

(But frankly, all other editors except Vim are great, too :P)

beliu··on A deep dive into the Go memory allocator and garbage collector
GopherCon liveblogger here. The room was jampacked for this talk and it did not disappoint. A very detailed tour of how memory allocation and GC works in Go. I learned a ton. Eben (https://twitter.com/_emfree_) has also posted his slides here: https://speakerdeck.com/emfree/allocator-wrestling.

FYI, this was part of a technical liveblog that covered all the talks at GopherCon this year in a similar fashion. If you missed the conference or are looking to review material, you might find https://sourcegraph.com/gophercon helpful. (Disclosure: I'm CTO of Sourcegraph—we organized the liveblog and love Go!)

beliu··on Ask HN: Who is hiring? (August 2018)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA or REMOTE

Sourcegraph is building tools that software developers love and use on a daily basis. Code search allows you to instantly search across all of your company's private code to find what you are looking for (definitions, examples, error messages, etc.). Code intelligence gives you hover tooltips, find references, and jump to definition while you are looking at code in your browser on Sourcegraph or on your code host.

We are a small team of mostly engineers who love to code, and we already have big/recognizable/global companies paying for our product. If you are passionate about making the world better through software, come join us!

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Jobs page: https://about.sourcegraph.com/jobs

beliu··on Introducing the Python Language Server
Sourcegraph CTO here. This is great news and we're looking forward to incorporating this into Sourcegraph's existing Python support (https://about.sourcegraph.com/), so users get all the code intelligence improvements in their code reviews and code browsers. Thanks for open sourcing!
beliu··on Ask HN: Who is hiring? (May 2018)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA | REMOTE

Sourcegraph brings code search and code intelligence to your codebase. As a programmer, you spend hours every day reading code and trying to answer questions like "How do I use this library?", "Does the function I'm about to write already exist?", "Who's the right person to ask about this code?", and "What's going on in this changeset?" Sourcegraph makes answering these questions fast and effortless. And it plugs into your code host, code review (think "jump-to-def in diffs"), and editor to make understanding code easier in all parts of your life as a software developer.

We're a small team founded by Stanford and Palantir alumni. Our users and customers span programmers across the world, influential open-source authors, and major companies. Our technical challenges include scaling code analysis and search to every codebase in the world. If you are passionate about making the world better through software, come join us!

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Jobs page: https://about.sourcegraph.com/jobs

beliu··on Sourcegraph 2.7
Sourcegraph CTO here. Our leading source of referrals and early adopters inside companies is ex-Googlers, and for good reason -- Sourcegraph takes a lot of inspiration from CS with things like jump-to-def, find-refs, and regex text search. It's built to scale to both large monorepos and collections of many repos.

Of course, we like to think we take things further, with support for more languages, connecting your code to all the open-source code you probably use, and integrations for most major code hosts and review tools. If you try it out, we'd love to hear from you and how you think it stacks up to the code search you used at Google :)

beliu··on Ask HN: Who is hiring? (March 2018)
Sourcegraph (https://sourcegraph.com) | Senior Software Engineer | San Francisco, CA | REMOTE

Sourcegraph builds developer tools for teams. As a programmer, you spend hours every day trying to answer simple questions with outdated, single-player tools that force you to constantly context-switch away from your code. Sourcegraph gives development teams lightning-fast code search across all their code along with full code intelligence (jump-to-def, mouse-over docs, find-refs, etc.) in an easy-to-use web app.

We're a small team founded by Stanford and Palantir alumni. Our users and customers span programmers across the world, influential open-source authors, and companies large and small. Our technical challenges include scaling code analysis and search to every codebase in the world.

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Jobs page: https://about.sourcegraph.com/jobs

beliu··on Sourcegraph Server 2.4: free, powerful search for private code
Sorry to hear that it didn't work out of the box for your repositories. I've filed the non-Unicode text issue here: https://github.com/sourcegraph/issues/issues/32

We're actively working on improving the performance of diff search, but I would expect other types of queries to complete quickly. Would you mind sharing more about the size / characteristics of your repositories? Feel free to email me at beyang@sourcegraph.com if a private channel is better.

beliu··on Ask HN: Who is hiring? (December 2017)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA | REMOTE, Salary: $100k+ & equity

Sourcegraph builds developer tools for teams. As a programmer, you spend hours every day trying to answer simple questions with outdated, single-player tools that force you to constantly context-switch away from your code. Sourcegraph gives you lightning-fast code search across all your team's code and makes your editor into a first-class pull request client.

We're a small team founded by Stanford and Palantir alumni. Our users and customers span programmers across the world, influential open-source authors, and major companies. Our technical challenges include scaling code analysis and search to every codebase in the world.

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Jobs page: https://about.sourcegraph.com/jobs

beliu··on Ask HN: Who is hiring? (November 2017)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA | REMOTE, Salary: $100-200K + equity

Sourcegraph is the best way to read and write code with your team. As a programmer, you spend hours every day trying to answer simple questions with outdated, single-player tools that force you to constantly context-switch away from your code. Sourcegraph brings discussion and review to your editor in a first-class way and makes all the code inside your organization easily searchable.

We're a small team founded by Stanford and Palantir alumni. Our users and customers span programmers across the world, influential open-source authors, and major companies. Our technical challenges include scaling code analysis and search to every codebase in the world.

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Jobs page: https://about.sourcegraph.com/jobs

beliu··on Ask HN: Who is hiring? (October 2017)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA | REMOTE, Salary: $100-200K + equity

Sourcegraph is the best way to read and write code with your team. As a programmer, you spend hours every day trying to answer simple questions with outdated, single-player tools that force you to constantly context-switch away from your code. Sourcegraph brings discussion and review to your editor in a first-class way and makes all the code inside your organization easily searchable.

We're a small team founded by Stanford and Palantir alumni. Our users and customers span programmers across the world, influential open-source authors, and major companies. Our technical challenges include scaling code analysis and search to every codebase in the world.

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Jobs page: https://about.sourcegraph.com/jobs

beliu··on Ask HN: Who is hiring? (September 2017)
We don't have timezone restrictions.
beliu··on Ask HN: Who is hiring? (September 2017)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA | REMOTE, Salary: $100-200K + equity

Sourcegraph is the best way to read and understand code. As a programmer, you spend hours every day trying to answer simple questions like "How do I use this library?", "What functions already exist?", and "What's going on in this changeset?" Sourcegraph makes exploring the world's code as painless as searching and browsing the web.

We're a small team founded by Stanford and Palantir alumni. Our users and customers span programmers across the world, influential open-source authors, and major companies. Our technical challenges include scaling code analysis and search to every codebase in the world.

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Jobs page: https://about.sourcegraph.com/jobs

beliu··on Ask HN: Who is hiring? (August 2017)
We are most definitely hiring: https://about.sourcegraph.com/jobs/#listings
beliu··on Ask HN: Who is hiring? (August 2017)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA | REMOTE, Salary: $100-200K + equity

Sourcegraph is the best way to read and understand code. As a programmer, you spend hours every day trying to answer simple questions like "How do I use this library?", "What functions already exist?", and "What's going on in this changeset?" Sourcegraph makes exploring the world's code as painless as searching and browsing the web.

We're a small team founded by Stanford and Palantir alumni. Our users and customers span programmers across the world, influential open-source authors, and major companies. Our technical challenges include scaling code analysis and search to every codebase in the world.

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Jobs page: https://about.sourcegraph.com/jobs

beliu··on Toward Go 2
This was announced at GopherCon today. FYI, if folks are interested in following along other conference proceedings, there is no livestream, but there is an official liveblog: https://sourcegraph.com/gophercon
beliu··on Ask HN: Who is hiring? (July 2017)
Thanks for catching that. We are accepting remote applications now. We'll soon update the posting to reflect that.
beliu··on Ask HN: Who is hiring? (July 2017)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA | REMOTE, Salary: $100-180K + equity

Sourcegraph is the best way to read and understand code. As a programmer, you spend hours every day trying to answer simple questions like "How do I use this library?", "What functions already exist?", and "What's going on in this changeset?" Sourcegraph makes exploring the world's code as painless as searching and browsing the web.

We're a small team founded by Stanford and Palantir alumni. Our users and customers span programmers across the world, influential open-source authors, and major companies. Our technical challenges include scaling code analysis and search to every codebase in the world.

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Open roles:

* Senior Software Engineer, Core: https://boards.greenhouse.io/sourcegraph/jobs/204608

* Senior Software Engineer, Frontend: https://boards.greenhouse.io/sourcegraph/jobs/655534

beliu··on Ask HN: Good Go codebases to read?
Humble suggestion / shameless plug: try using Sourcegraph to read through some of the excellent codebases mentioned in other posts. This is basically our prime use case (I'm one of the creators): reading through and understanding code structure with jump-to-def / find-refs / symbol search in your browser. I'd suggest starting with the main function and tracing through the static structure of the codebase from there:

https://sourcegraph.com/github.com/golang/go/-/blob/src/net/... https://sourcegraph.com/github.com/mholt/caddy@master/-/blob... https://sourcegraph.com/github.com/btcsuite/btcd@master/-/bl... https://sourcegraph.com/github.com/camlistore/camlistore@mas... https://sourcegraph.com/github.com/boltdb/bolt@master/-/blob... https://sourcegraph.com/github.com/go-kit/kit/-/blob/example...

beliu··on Ask HN: Who is hiring? (May 2017)
Sourcegraph (https://sourcegraph.com) | Software Engineer | San Francisco, CA | ONSITE, FULLTIME, Salary: $120-180K + equity

Sourcegraph is the best way to read and understand code. As a programmer, you spend hours every day trying to answer simple questions like "How do I use this library?", "What functions already exist?", and "What's going on in this changeset?" Sourcegraph makes exploring the world's code as painless as searching and browsing the web. We're a small team founded by Stanford and Palantir alumni. Our users and customers span programmers across the world, influential open-source authors, and major companies. Our technical challenges include scaling code analysis and search to every codebase in the world.

Stack: Go, TypeScript, GraphQL, Docker + Kubernetes

Open roles: * Senior Software Engineer, Core: https://boards.greenhouse.io/sourcegraph/jobs/204608 * Senior Software Engineer, Frontend: https://boards.greenhouse.io/sourcegraph/jobs/655534

← PreviousPage 2 of 5Next →