It's been like 2 months of assessing #Copilot in my day to day real job. It hasn't provided a piece of code that really delivered, apart from some mirages that turned out wrong in runtime or short from the real scope.
For the most part, it's feeling more like time spent with a fresh coder that needs teaching and guidance while I'm thinking "I could do it easier were I not occupied worrying about it", than an assistant who is helping me.
I'm up for doing that for a person, not a marketed #AI.
After typing def perform(duration), #github#copilot suggested adding the parameter validation code raise ArgumentError, 'duration must be a positive integer' unless duration.is_a?(Integer) && duration.positive?. I was surprised that Copilot was able to suggest the code so quickly, even though it is obvious code. It gave me goosebumps!
While coding, does anyone else find themself hitting enter, pausing and thinking to yourself "hay Copilot, you've got this, this is an easy one for you to do, go ahead"? 90% of the time it does, but I think that's because I now know when to pause... #copilot#coding#vscode
Weil #Outlook in #Office2016 so fürchterlich altbacksch aussah, haben viele Kolleg:innen aus Verzweiflung stattdessen die #Webapphttps://outlook.office.com/mail/ im #Browser benutzt. Aber nun ist die Firma auf #Microsoft365 gewechselt, und in dessen Outlook gibt es den Schalter "Das neue Outlook". Damit sieht die #Desktop-Version nun genauso aus wie die Webapp. Wahrscheinlich ist es intern dieselbe Webapp, denn das About trennt nun "Outlook-Version" (1.2023.719.200) und "Clientversion" (20230721005.10).
Ich erzähle Euch das alles, weil es neu für mich ist, da ich mich selten mit #Microsoft beschäftige. Man kann mit #Outlook neuerdings wohl sogar direkt einen #StorylinePost nach #VivaEngage absetzen. Das hieß vorher #Yammer und ist jetzt ein #Modul von Microsoft #Viva. Ich habe auch ein Video gesehen mit dem Titel "Introducing Copilot in Microsoft Viva Engage". Den #Copilot scheint es echt für alles zu geben. Ob so eine "Employee-Experience-Plattform" was Tolles ist, wage ich aber zu bezweifeln.
#CoPilot - searching #MetaCPAN for you inside your code editor (#vscode in my case) #perl@Perl
(I asked for a binary tree and got the package name for it)
Recently watched this video by #ThePrimeTime on #Youtube, and his hot-take 🔥 was that they were using #Ruby, and half of their pain was caused by this.
I have no experience with Ruby at all and most probably won't even recognize it if I were to read it.
If Ruby is such a bottleneck and inefficient, why did #Mastodon :mastodon: use Ruby for its implementation?
I know Ruby is often praised for servers and backends, especially APIs, but we have many solutions for this in #Python :python: , which I wouldn't recommend, but #Go :golang: and #Rust.
Does anyone have opinions or sources for this statement?
Continuing the #python#CoPilot example, one can make it work by upping their prompting game.
In addition to the description of the algorithm, give the desired input and output.
It immediately suggests to define a class for intervals, followed by a line sweep over the sorted intervals.
It can generate some (sorted) test cases after prompting. *Surprisingly it had some issues with printing the results (for whatever reason, it could not generate the unpack-print loop, so I just did it
If one calls the code thus generated on a list of sorted intervals, the output is as expected, i.e. there are 2 groups of overlapping intervals,
First Group: [1,3] , [2,4]
Second Group: [5,7] , [6,8]
It works with an input of unsorted intervals (as expected). There are various tests that are not being done by the function e.g. for intervals of zero or negative lengths, duplicate intervals etc. The code's correctness is thus predicated on promises about the input.
@matsuzine I wonder about this, too. If the #copilot was only trained using #github , then the #perl code base is very small ie it was used in ~0.6% of projects in 2014 and 0.3% in 2022.
If these findings, i.e. #copilot can deliver better solutions in @Perl vs. other languages, generalize, then we may see a language boost and a better job market for #perl programmers. The latter would be a result of the need to optimize the initial solutions as @mjgardner did for the #perl example over here.
#Copilot is having an issue with the generation of a code to find overlapping intervals in #python. What was an effortless task for #perl is now taking for ever
@mjgardner@Perl
There is clearly a difference in the ability of the #Copilot to play with different languages. Line - sweep, Bentley-Ottman are known algorithms and it should have been easy to generate the code for those. It only did so effortlessly in #perl. #c and #python had to be prompted for the generation of the relevant classes/data structures to do so.
More fun with #copilot in #perl.
This is the code generated for finding intersecting intervals in a line:
sub findintersectingintervals($intervals,$query) {
my @intervals=@$intervals;
my $query=$query;
my @intersectingintervals=();
for my $interval (@intervals) {
my ($start,$end)=@$interval;
if ($query->[0] <= $end && $query->[1] >= $start) {
push @intersectingintervals,$interval;
}
}
return @intersectingintervals;
}
@mjgardner Mark you jinxed it :)
I tried to use #Copilot to do the same in #C, and after prompting with the first comment (line 5), I got schooled on the line sweep algorithm (all the other comments are copilot generated, line by line).
Very different behavior than the one with #Perl
It's fucking spooky how good #copilot is at intuiting what I'm doing! I know it's got tons of hints, and I'm doing pretty common stuff, but after 25 years trying to keep all this code straight it's just really jarring to see autocomplete this good! #ai#llm#github#programming#vscode
#Microsoft announces #Copilot for Microsoft 365 pricing to cost $30 per user for business accounts, and unveils Bing Chat Enterprise with increased privacy.
@fsf Where can I read about the legal licensing and copyleft issues surrounding generative AI algorithms like LLMs (Large Language Models) like Chat-GPT or Copilot, trained on GPL'd source code?
I wonder if there is a need for a new license that explicitly makes training generative AI on open source code requires the AI model to be open sourced?
Does the FSF have any written opinions or educational materials related to this topic of the relationship between copyleft and generative AI trained on copyleft source code?