Live data from Hacker News

Launch HN: Hello (YC S22) – A search engine for developers

news.ycombinator.com

191–200 of 208 posts

Re: Launch HN: Hello (YC S22) – A search engine for developers

#191
Here's a data point from me:

Once in a blue moon I need to remember what the syntax for C++ explicit template instantiation is. All I need is a short snippet showing me an example of the syntax, but usually this means asking google and then trawling through several tangential SO questions ("why would one use this feature?") or scrolling through cppreference until I am reasonably confident I am looking at a valid example. This, to me, sounds exactly like the use case you are targeting.

Here is the kind of output that would have been meaningful/useful to me (although I was only looking for the second part, since I already knew the theory just not the syntax):

    An explicit template instantiation definition (usually placed in a source file) makes the compiler instantiate the template for the given arguments. An explicit template instantiation declaration (usually placed in the header) tells the compiler that the template will already be instantiated elsewhere, so implicit instantiation can be skipped.

    template 
    class Foo {};

    // Explicit template instantiation declaration:
    extern template class Foo;

    // Explicit template instantiation definition:
    template class Foo;
I tried six different queries, of the form "C++ explicit template instantiation [declaration|definition] [syntax]".

In all cases, the synthesized explanation was either gibberish or flat out wrong. For example:

> Explicit template instantiation is a feature of C++11 that allows you to declare a template as a class, rather than a function. This means that if you want to use the template in a program, you don't have to declare it in the program itself, but rather in the template file. [Entirely nonsensical]

> Explicit template instantiation definitions can be put into header files, but they can't be put in source files. [Aside from not actually explaining the feature, this is more or less exactly backwards!]

The best it managed to output was a mediocre explanation of what a template is. I mean, it is about what I would expect a language model to interpolate from e.g. the StackOverflow corpus of questions tagged "C++" and "template", but it is a very far cry from being useful.

The quality of the code snippets was better, but still not at a usable level. Among outputs like `mytemplate.cpp`, `extern template` and compiler error messages, some snippets did correctly employ the syntax. It's clear that the model is selecting query-related code from query-related questions/tutorials, but it's still very hit and miss and not very focused. In my case, it certainly didn't "understand" the declaration/definition distinction, and even for most "good" snippets you first had to picture a bunch of surrounding code to make sense of it.

I'd say from a technical level the code snippet output is certainly impressive. But at this point I would have no reason to use your search engine over others for this narrow task of recalling the correct syntax for a language feature (or at least this one in particular - maybe it is too deep), because it involves just as much comparing snippets from various sources as opening the top three google results would - except without having any of the context. And if I didn't already know the topic quite well, none of the outputs (or even all 18 of them together) would have made me confident enough to say "ok, got it, this is the syntax I need to use".

Re: Launch HN: Hello (YC S22) – A search engine for developers

#192

I searched for "Position based dynamics" and I was pleasantly surprised by the results. The output if full of blog posts that I never encountered while searching on Google. It might be related to the fact that it rely on Bing which, I have to admit, I never used. When I compared the output between Hello and Bing, the filtering worked pretty well. It removed most of the StackOverflow results, which are 99% of the time…

>The output if full of blog posts that I never encountered while searching on Google

That's strange. I searched the same term (as well as let archive.is do it[1][2]) and results are similar. A workshop paper available on GitHub, a Springer Link reference entry, and a GitHub project. Indeed Hello has a single blog post whereas Google has lecture notes but there isn't a difference in content since the blog post is written in same style (essentially being a tl;dr version of the paper that introduces the methods).

[1]: https://archive.ph/6SkWZ (Hello) [2]: https://archive.ph/90jY4 (Google)

Re: Launch HN: Hello (YC S22) – A search engine for developers

#195

Earlier quoted context omitted.

Yeah, I can see there's a lot of work going into the process but it's still using other people's efforts without permission or compensation.

> using other people's efforts without permission or compensation Like every web search done on Google? That said, I think attribution links should be displayed, license too if available. Copilot should be doing the same to defuse this discussion.

Yes. Google is doing wrong as well although I think at least some of the enriched links are set up by the web owners (although I could be wrong)

Re: Launch HN: Hello (YC S22) – A search engine for developers

#196
post #141

Hey so, I have been working on a specialized search engine (at least you can think of it in this way). And for me a lot of the gains came because we could structure and restrain the search space in a meaningful way, such that we could build better distance metrics than a pure text search could do. I wonder what you think about that. Maybe one could submit a code snippet, or mark something as an error, or ask for a re…

We are absolutely experimenting with non-text inputs (and outputs as you can see). A big problem we see in mainstream search engines is that syntax is not parsed well. Understanding code as context for the query could be huge for developer search.

Yea true, but its a fine line to something like copilot, since it also can be thought of as a search engine, however it has your whole code (and maybe your past behavior too) as its context, hard to beat.

Re: Launch HN: Hello (YC S22) – A search engine for developers

#197
post #186

Hey Michael and Justin, congrats to the launch! My co-founder and I were building the same product as you are some time ago [1]. We managed to scale it to around 5k WAU before we decided to pivot for various reasons. If you think there might be any useful information and experience we could share with you, please shoot me an email - vasek@usedevbook.com. I'd love to help in any way I can to help you guys succeed. [1]…

Do you mind sharing why you pivoted?

Re: Launch HN: Hello (YC S22) – A search engine for developers

#198

Here's a data point from me: Once in a blue moon I need to remember what the syntax for C++ explicit template instantiation is. All I need is a short snippet showing me an example of the syntax, but usually this means asking google and then trawling through several tangential SO questions ("why would one use this feature?") or scrolling through cppreference until I am reasonably confident I am looking at a valid exam…

Thank you so much for writing this up - this is extremely useful feedback. What you've described here is a use-case we're aware of called "recalling forgotten details," where "the developer knows what she’s doing, but doesn’t remember the specific syntax or naming. With these searches, a quick code example is what people were often after." [0][1]

Hello primarily does well for "how-to" questions at the moment; it's still early and we're working to improve results for the queries you've described.

[0] https://static.googleusercontent.com/media/research.google.c... [1] https://bootcamp.uxdesign.cc/the-hidden-insights-in-develope...

Re: Launch HN: Hello (YC S22) – A search engine for developers

#199

Possible edge cases that aren't handled yet. https://imgur.com/a/mieqZIU Though I know the first search term was unrelated but I tried it for some time as a regular search engine, tried a bunch of random keywords apart from what it was meant to do as well as some that can be legitimate questions as well. I am liking the product quite a bit however. Good stuff.

Thanks for pointing this out - determining when code snippets are relevant is something we're actively working on.

Re: Launch HN: Hello (YC S22) – A search engine for developers

#200
post #3

I see whole solutions copied from other websites displayed on your site. Is that legal? Isn't there copyright on those?

Ding ding ding. This is the exact issue that a vocal minority are whingeing over github copilot for. It's automatically pasting results from websites without embedding the necessary attribution - so if you copy entire functions from this search engine (which may be coming from stack overflow for which attribution is required), then you're guilty of the same thing. So I only see one of two outcomes: 1. Courts rule cop…

There are two separate issues:

1. Copilot itself infringing licenses (MS copying and sharing copyrighted code)

2. Developer infringing licenses (Allowing code from MS into own codebase).

Case 2 is avoided by Hello, because it provides a link to the original, allowing the developer to find and respect the license. Therefore Hello is net superior (with respect to people using the service at least).

Post reply on HN