2,744 karma · joined October 11, 2006
* Peronsal homepage: http://adam.net/
* Email: adam@adam.net
* X: http://www.x.com/asmith
* Github: https://github.com/adamsmith
* Linkedin: https://www.linkedin.com/in/adamsmith314If you're willing to work with us to debug this we'd appreciate it. You can reach us at support@kite.com.
Thanks!
Thanks for checking it out!
More concretely, the StackOverflow thread for "Parsing values from a JSON file?" has almost 3 million views. We take this as evidence that programming is repetitive.
(We should probably clarify that when we say 'repetitive' we mean on a global scale, not an individual scale.)
They took more of the Atlassian path of no/low-VC and slower organic growth starting in the early 2000's, so they've had a lot of time to build the "snowball" effect.
So we took the approach of focusing on one demographic (Python developers) and making them really happy. We think we've reached that point, so we're excited to begin looking at how we can expand our reach. Stay tuned!
The intuition here is that in natural language, context is defined locally. If you want to know whether a 'they' refers to a male or female, for example, you look at the nearby text. In contrast, the flow of data and control through code is highly non-local, which is a lot of why techniques like N-grams don't work.
This has been a very active area of research in academia since we started Kite in 2014. (Suggested google searches: [big code], [ml on code], etc.)
All that said I don't have data on how our approach would compare to N-grams, but I'm guessing if you look at some of the academic research, you'll find that NLP techniques were abandoned, despite the early papers' focus on them.
TabNine is a different approach that uses far less semantic information than Kite. It really shines when you're talking about syntactic repetition, e.g. if you check out the screenshots on their homepage. They have a page about semantic completions, but the semantics are very shallow -- basically what attributes are on the instance you're accessing.
In contrast, we've spent ~50 eng-years semantically indexing all the code on Github, building statistical type inference, and rich statistical models that use this semantic information in a very deep way. The result is that Kite can help more often, in ways that reflect a deep understanding of the semantics of the code you're writing.
* Line-of-Code Completions - Kite's completions engine can now predict several tokens of code at a time, powered by the most sophisticated AI code models available.
* Cloudless Processing - Kite now performs all processing locally on users' computers, instead of in the cloud. No need to upload your code to our servers. You don't even have to sign up for a Kite account.
We know privacy is a big concern for users, so that's why we decided to bring Kite off the cloud. You can learn more about this decision as well as the full Kite release on our blog post, linked here.
Our core belief is programmers spend too much time on repetitive work like copying and pasting from StackOverflow, fixing simple errors, and writing boilerplate code. That's why Kite uses AI to make writing code less repetitive and more fun.
Speaking of fun, we've set up a playground for you to try our Line-of-Code Completions out in your browser. We hope you enjoy it!
As always, Kite is free to download and use. And we no longer require user accounts now that we've moved off the cloud.
If you already use Kite (thank you for your support!), you now have these features via auto-update.
We're really looking forward to your feedback. The detailed feedback we've received in the past has been immensely helpful in getting us to this point. We'll be here all day to answer questions, too.
Help us build the future of programming at well-funded startup Kite (kite.com) -- we’re using machine learning to eliminate the repetitive parts of writing code. Watch our demo here: goo.gl/d7RkUT.
Our stack: GO + Python
Open positions for full stack engineer, senior backend engineer, and senior machine learning / ML engineer. Apply here: jobs.lever.co/kite, or send us a note at flywithus@kite.com.
-- Adam
Help us build the future of programming at well-funded startup Kite (kite.com) -- we’re using machine learning to eliminate the repetitive parts of writing code. Watch our demo here: goo.gl/d7RkUT.
Our stack: GO + Python
Open positions for senior backend engineers, senior machine learning engineers, and a full stack javascript engineer. More info here: kite.com/careers.
-- Adam
Help us build the future of programming at well-funded startup Kite (kite.com) -- we’re using machine learning to eliminate the repetitive parts of writing code. Watch our demo here: goo.gl/d7RkUT.
Our stack: GO + Python
Open positions for senior backend engineers, senior machine learning engineers, a lead product/ux designer, and growth marketer. Apply here: jobs.lever.co/kite, or send us a note at flywithus@kite.com.
-- Adam
Help us build the future of programming at Kite (kite.com) -- we're using machine learning to eliminate the repetitive parts of writing code. Watch our demo here: goo.gl/d7RkUT.
Our stack: GO + Python
Open positions for senior backend engineers, senior machine learning engineers, a lead product/ux designer, and a technical sourcer/recruiter. Apply on LinkedIn (bit.ly/2NjNedC) or drop me a line at a@kite.com
-- Adam
Help us build the future of programming at Kite (kite.com) -- we're using machine learning to eliminate the repetitive parts of writing code. Watch our demo here: goo.gl/d7RkUT.
Open positions for senior backend engineers, senior machine learning engineers, a lead product/ux designer, and a technical sourcer/recruiter. Apply on LinkedIn (bit.ly/2NjNedC) or drop me a line at a@kite.com
-- Adam
Help us build the future of programming at Kite (kite.com) -- we're using machine learning to eliminate the repetitive parts of writing code. Watch our demo here: goo.gl/d7RkUT.
Open positions for senior full stack/backend engineers, senior machine learning engineers, and a product/UX designer. Check us out at kite.com, apply on LinkedIn (bit.ly/2NjNedC), or drop me a line at a@kite.com
-- Adam
Help us build the future of programming at Kite (kite.com) -- we're using machine learning to eliminate the repetitive parts of writing code. Watch our demo here: goo.gl/d7RkUT.
Open positions for senior full stack/backend engineers and senior machine learning engineers. Check us out at kite.com, apply on Angel List (angel.co/kite-8), or drop me a line at a@kite.com
-- Adam
I put up a Mediawiki instance five years ago (wikilogic.org) to publish my own list, but didn't follow through. Interestingly I put a FS link in the bottom right : )
A couple of tweaks I would make:
- Putting 'Inversion' at the top--I think it #1 in terms of underuse.
- Aside from Occam, Bayes, Pareto, Dunbar, and Pavlov, I would drop all models named after people. The chances of someone remembering something are much better if they don't need to learn a name in conjunction! (e.g. see the other comment about the difficulty of learning "Hanlon's Razor")
To take this material to the next level, I imagine the next step is to build case studies.
Something different was likely happening in bfirsh's case (sibling comment). If you delete the files from the kite.com/settings/files page but Kite is still installed then they will get synced up again. The most fail proof way is to uninstall and then wipe files from kite.com/settings/files. We will make the wipe files link log Kite out on that machine.
Sorry about the edge cases. We've been working on it, and will continue to do so!
One misrepresentation that I wanted to quickly highlight is that the autocomplete-python install flow has three steps, not just the one linked in to in the screenshot above. The other two are:
Enter their email address - https://user-images.githubusercontent.com/87728/28395016-dc7...
Read a warning, decide if they want to whitelist any files - https://user-images.githubusercontent.com/87728/28395021-e04...
Small technicality: these screenshots say that Kite is installing but it's actually only downloading the installer binary to memory; the actual install doesn't happen unless the user goes through all three steps.
It's also worth noting that if the user clicks "Add Later" no code is sent to the Kite servers for analysis until they whitelist a directory.
We've worked really hard to make sure we're clearly communicating what's happening (transparency), and adding fine grained controls. We have a very clear step during the install flow that talks about how Kite works, and we will prompt for whitelisting within each of the editor plugins that can work without the sidebar (Atom, ST3, PyCharm).
We also have a security page (https://kite.com/security) that points to our various resources related to this, including more details about our control mechanisms—including .kiteignore—and how we think about security (our four principles).
We also know that some companies need on-premise Kite to make this work. We're exploring that now with customers, and would love to chat with you if it's something you need. (https://kite.com/enterprise)
I know none of these are silver bullets. Thanks for your comment as we work with users to figure out how to make this work.
We hope you'll give Kite a spin when you can—we think it's pretty transformative—and we hope to be able to address all of your concerns soon! : )
Unfortunately on Mac you have to quit Kite before it can be dragged to the trash. You can do that from the menubar icon or by killing "Kite Engine". (You don't need to quit Kite Helper to drag to the Trash.) See instructions here http://help.kite.com/article/6-how-do-i-uninstall-kite. We'll be improving this on Mac shortly.
Over the last year we've focused on knocking out the core product experience. We're now going to focus more on Kite Enterprise (https://kite.com/enterprise); if on prem is of interest please get in touch.
As mentioned we are also exploring Kite Enterprise now that we've gotten the core product more
Thanks for trying Kite. Would love you get you up and running!