Show HN: Supermaven, the first code completion tool with 300k token context
supermaven.com
supermaven.com
Respectfully, this is a terrible experience.
> Please make it easy for users to try your thing out, ideally without barriers such as signups or emails.
"Without signups or emails" definitely implies without credit card authorization!
Personally I only need about 30 minutes with a code autocompletion LLM to see if it will do what I want without pissing me off (and maybe even making me smile!)
I'm never going to try if you ask for my CC up front though. Sorry.
I wish Apple properly displayed prices though instead of this sneaky vague “contains in-app purchases” text.
I can't argue with this in general as I do not have the statistics. Personally however I just never give CC info unless I tried the thing and found out that it does work for me.
Not a workflow I've tried.
More often, I'm looking for an easier / faster / better way to something I'm already doing, either because I want to do it _less_ (e.g. pay monthly bills) or I want to do it _more_ (e.g. find & read relevant news).
I'm Curious. Seeking innovation. Exploring.
Just because I can get water from a well with a bucket doesn't mean I wouldn't enjoy modern plumbing and irrigation.
All the non free tools I use and paid for do provide trial version which lets me evaluate it without pulling out CC. Wake up and look around. Plenty of those.
Food is a problem i must solve, clicking on some cow clicker or whatever was never a problem until we made it one.
Apple lists all prices in that list.
To make matters worse, if you ever decide to change your prices, you'll have both the old and the new prices in the list. Especially when you start out, you won't really know what a good price point is, and within a short amount of time the price list will be cluttered with all the prices you tried.
I'm sure Apple believes they're protecting the user here, but in reality they're serving neither the users or the developers with this.
After trying it for a bit on a very very large codebase(more than the context window supported, albeit I haven't done anything superr insightful yet), the code suggestion does seem better + faster than Copilot.
However, I'm not sure if the "completion" UX is the best way to enhance human programmers with AI. And within the completion realm, leaning on the speed, ie. inferencing on every keystroke, is not that attractive for myself. What attracted me is really the context length. So I'd provide much more examples of cross context code suggestion, similar to the 3js demo from gemini 1.5.
Back to the completion UX thing. I feel like often times seeing the completion pop up is a double edged sword. The moment it pops up, it distracts me from "outputting mode" into "evaluation mode" to see if the result is correct. If it's right, then great, you've saved me time. But for the times where it's wrong(which... was quite a bit for copilot), it's actually a net negative as I now have to re-enter the "outputting mode" and force myself to ignore the new output that will get generated as the new keystroke comes out. With Supermaven, this "switch" happens 10x more than copilot because of the speed as well.
Cursor/Zed with their CMD K code insert is obviously the other "big" ai coding UX.(along with chat) Personally I like them quite a bit and wish they had the speed and context window that supermaven is currently offering. But tbh, all of the UX's feel a little off at the moment...
Just my 2c' as an amateur programmer!
Clearly something proprietary, but in between this and Gemini's claimed 10M tokens, assuming there's no RAG... I'm curious what might be happening behind the scenes.
People think Gemini 1.5 is Sparse Mixture of Experts. (SMoE)
Another One is self extend. https://arxiv.org/abs/2401.01325
This paper also refers back to other options like yarn, etc.
[0] https://www.microsoft.com/en-us/licensing/news/Microsoft-Cop...
Still alot less than the average SWE salary and this cost will go down over time.
Anyway, jokes aside, I usually don't use copilot tools in my IDEs. I have zero difficulty with coding itself. I would not enable one unless i'm trying to learn a new language or something. I can see how they would be helpful for more junior level engineers, but they'd still need someone senior to check for security vulnerabilities and the like.
Where LLMs come in handy is more complicated scenarios like understanding legacy spaghetti code, learning a new API without having to read the documentation, finding out how do to X in a new framework, undocumented behaviours and as a solo founder, non code tasks like marketing copy, mock customer interviews, writing data science type SQL queries to better understand my metrics, naming my subscription plans etc which I otherwise would not be that great at.
For these tasks I always use GPT-4 which almost always gets good results. But its nowhere near the level where it could replace an actual engineer, even if you fed it an entire codebase.
Honestly, I'm a senior dev and enjoy the copilot stuff. It gets shit wrong most times it needs to do something beyond simple-ish, but for doing boilerplate or repetitive stuff, it's been great!
I'd argue the opposite - give something like chatgpt/copilot to a junior engineer and they use it to generate a bunch of overly repetitive code that they don't understand. If they're trying to write anything even slightly non trivial it's not going to work.
In order to get value from AI code generation you need to be competent enough to properly review the output.
And to know what to ask.
For more experienced developers it significantly reduces typing time, in my experience. So often I’ll simply write the function name only then scan the suggested output and accept, saving minutes and reducing RSI.
Is this actually good enough? Can companies just hand over data to other companies and then claim to not be responsible for the consequences of that?
I didn't say anything about OP's first question. Your comment is about that.
This is a very important question.
Whatever you think makes sense, it would be wise to be careful, because the law might not turn out to be what you want it to be.
Yes, we are making a copy in our minds when we read something.
I suspect such copies are allowed (as an exception to copyright law) mostly because lawyers and judges don't think about it. Nonetheless, once we do think about it, the law isn't required to treat humans and LLMs in the same way, or allow LLMs to do something simply because humans are allowed to do something similar.
And, if you are and you do, that's likely an infringement. Most jurisdictions say that, for example, you can't perform an in-copyright creative work without compensating the owner. Look at the lawsuit around George Harrison's "My Sweet Lord" for an example.
And yes, there would be a violation if someone then made another copy by reproducing it from memory. But the copy in the mind is overlooked, or forgiven. That's a copy too, just as the copy stored somewhere in the weights of an LLM is a copy.
We may not understand exactly how it's stored in either case, but it's in there somewhere. And it's worth saying again: the copy in an LLM may not be overlooked by the law.
> Japan's government recently reaffirmed that it will not enforce copyrights on data used in AI training.
https://cacm.acm.org/news/273479-japan-goes-all-in-copyright...
I wonder if the LSP spec itself should add some LLM extensions. Since i know some projects have already just made LLM-LSP impls, it's not far off from a normal LSP. Though i do imagine a few custom LLM-centric behaviors would be useful
Will be trying this out.
There are lots of other potential use cases for the technology, but they involve more business risk (ie, the risk that you create a technically sound product that isn't very useful).
Do you have plans to add a chat feature and IntelliJ plugin?
We may add a chat feature if we can make one good enough that we're happy with the quality.
sm-agent.exe is supposed to be started as a subprocess by the extension. It shouldn't be in its own window.
At no point have I been asked to enter license details, is that supposed to happen when it initially runs?
The pain I've experienced with maven and those Gawd awful xmls got me a bit too excited.
going to crawl back to my burrow now.
Maybe not every keystroke, but certainly every time I press enter or shift. It feels like its live and instant. Dont think that a higher frequency makes sense.
For an experienced developer this may be about productivity, but 100M ARR at Copilot tells me we've got novices yeeting whatever code the LLM gives them into their work. So, you get two problems: systems with questionable integrity and a future generation of "engineers" who lack practical knowledge that can only be earned by solving problems.
Swift, perhaps. Chez Scheme? Haskell? Lean 4?