Earlier quoted context omitted.
As far as an uninstall procedure is concerned, the expectations of a MacOS X user do not involve looking up instructions on a web site. The user should be able to quite the app, drag it to the Trash and clean it. In addition the instructions you posted on the web site do not work. There are two running processes shown in Activity Monitor: a KiteHelper and a KiteEngine. Killing them both does not work, they are resurr…
Yea was annoying. To prevent them from resurrecting, remove kite processes managed by launchd before killing the current processes * launchctl list | egrep kite * launchctl remove :KITE_LABELS
Show HN: Kite, copilot for programmers, available for Python
241–250 of 257 posts
Re: Show HN: Kite, copilot for programmers, available for Python
#242Earlier quoted context omitted.
Is uploading code really that much worse than having closed source in a private cloud GitHub repository or pushing your closed source Python code to a PaaS platform like pivotal or bluemix?
It's not so much the upload, but the fact that it will always be unclear (and dynamic) what this service will do with a particular LOC. You might store sensitive documents in Google Drive, but it is unlikely you will type something sensitive into Google Search. Because it is a smart autocomplete feature, there will always be lack of clarity of when they delete your files, if at all. Github and PaaS do not have any di…
Wow that is a really good point.
Re: Show HN: Kite, copilot for programmers, available for Python
#243Earlier quoted context omitted.
I think right now we are at the tip of the iceberg. In 5 years, once average computers are very fast, you will get something like. len -> did you mean size() based on the fact that so many other people have entered that. I am sure there are other ideas besides that haven't even occurred to us.
Why wait 5 years? Using a synonym database (or word vectors, if you want to get fancy) would already get you most of the way there. I am not aware of any IDE that specifically tries to give you the most likely alternative, but many absolutely do offer a way to quickly select a different method from a list.
But you need some user testing, and maybe some ML.
I mean, the machine needs to train enough to know that when the user types "string.len" they really mean "size(string)" and it can't just follow the alphabet anymore.
Re: Show HN: Kite, copilot for programmers, available for Python
#244I appreciate people trying to build "cool" products, but the downsides of this are so high that people should heavily consider never using it. Uploading all of your code to the cloud is a massive liability. To top this, the people interested in "something magical that codes for me" are not the good developers, their users are very most likely beginners, bootcamp coders, junior engineers, etc... I think they're abusin…
No matter how much I code, I'll always have to look at documentation. This is just faster documentation, I really don't see the problem from that perspective.
Re: Show HN: Kite, copilot for programmers, available for Python
#245Earlier quoted context omitted.
Why wait 5 years? Using a synonym database (or word vectors, if you want to get fancy) would already get you most of the way there. I am not aware of any IDE that specifically tries to give you the most likely alternative, but many absolutely do offer a way to quickly select a different method from a list.
You're right that the tech is probably there now. But you need some user testing, and maybe some ML. I mean, the machine needs to train enough to know that when the user types "string.len" they really mean "size(string)" and it can't just follow the alphabet anymore.
Of course then you have to deal with the case where the suggestion is subtly wrong (e.g. amount.add(increment) was intended to mutate the amount, while Number.plus is a pure function) and the programmer might not spot it, if they were unfamiliar with the correct usage in the first place. Now we are firmly in research territory, I think.
Re: Show HN: Kite, copilot for programmers, available for Python
#246Earlier quoted context omitted.
Kite feels a lot like malware. It sends your code to the cloud. You have not addressed people's concerns who asked about keys embedded in source code, not entire files to ignore. The uninstall process looks and feels a lot like stopping a rogue process that keeps respawning. You've silently integrated with an unrelated project (autocomplete-python) to collect data. I applaud the idea and UX in the video. I'd love to…
> The uninstall process looks and feels a lot like stopping a rogue process that keeps respawning. Not saying I disagree with your main idea, but the uninstall process linked to above seems pretty standard to me.
[0] (Yes, I know launchctl obviates the need to reboot, but their instructions say reboot and that's what we are commenting on here).
Re: Show HN: Kite, copilot for programmers, available for Python
#247Earlier quoted context omitted.
> The uninstall process looks and feels a lot like stopping a rogue process that keeps respawning. Not saying I disagree with your main idea, but the uninstall process linked to above seems pretty standard to me.
You normally have to "reboot" [0] to uninstall an app on a Mac? Outside things which installed a Kext, I can't remember ever needing to do that. [0] (Yes, I know launchctl obviates the need to reboot, but their instructions say reboot and that's what we are commenting on here).
Re: Show HN: Kite, copilot for programmers, available for Python
#248Earlier quoted context omitted.
You're right that the tech is probably there now. But you need some user testing, and maybe some ML. I mean, the machine needs to train enough to know that when the user types "string.len" they really mean "size(string)" and it can't just follow the alphabet anymore.
Allowing arbitrary syntax transformation would create an insanely large search space, but if you limit the possibilities to a few common cases (like string.len -> size(string) [attribute -> global function] or amount.add(increment) -> Number.plus(amount, increment) [instance method -> class method]) and cull the generated code heavily using a static checker, you might be able to do quite a lot. Of course then you hav…
1. Do it in the cloud somewhere. You probably want to do this anyway so you can learn from everyone.
2. Now you can't indefinitely keep everyone's code in the cloud (as kite is learning), so you take the most common use cases and privacy minded coders can download those to their desktop.
3. Of course languages are constantly evolving so the "cloud archive" will always be live and learning from everyone
By the way, you would "learn" a mapping when someone searches for "len, length, .len" and so on but they finally settle on "size" so you would have the input and the correctly labeled target from people's code. You do have to watch them programming in practice though.
For the subtle variations, it would hopefully give you a list of suggestions in order of usage.
Re: Show HN: Kite, copilot for programmers, available for Python
#249Re: Show HN: Kite, copilot for programmers, available for Python
#250I'd love to use a self-hosted version though.