Settings

Theme

Is GitHub Copilot Helping Me Code, or Just Filling in the Blanks?

bassi.li

3 points by Mikajis a year ago · 8 comments

Reader

bisby a year ago

So far, I've never had Copilot "solve a problem" for me.

It has regularly autocompleted what I was going to type anyway.

It has saved me typing time more than it has saved me critical thinking time. Which has value, but not in the same way.

  • esperent a year ago

    I haven't found Copilot that useful, except as a fancy autocomplete. However, recently I've had Claude solve a lot of problems for me, including some with fairly tricky math. Nothing that I couldn't solve myself. But definitely things that would have taken me from 30 minutes to a few hours, and which with Claude helping me were solved in 5-10 minutes.

    As an example from yesterday, I had written a function that returned the position of the camera in 3d space relative to an object. I'd written it fairly quickly and naively using just the direction vector and it mostly worked, but then I realized when the camera was overhead facing down, I also needed to consider the orientation of the camera. I fed my function into Claude, explained the problem without my hunch on how to fix it because it's always interesting to see if I'll get a different solution. But Claude was able to get the same solution as me, and do the maths required, in one go.

    • bisby a year ago

      I generally don't try to get answers for things I don't already mostly understand anyway (sounds like you did this as well), because if what I get back is a hallucination, I don't want to spend added time figuring that out, and then I'm back at square one and have lost time.

2ro a year ago

Copilot is great at taking precise pseudocode, in this case a declarative constraint logic language I invented, and translating it from there - just explain your formal rules first:

<teach it your language here> .. I'm giving you quite a puzzle so try to figure this one out and translate to miniKanren in Scheme (you will notice the blank line between definitions which signifies the end of one definition and the beginning of the next - variables do not necessarily mean the same thing from one definition to the next - V(VS) is a way to update V within the second definition as the variegation of S before moving rightward with subsequent constraints that may use the new value of V):

   (VS)(US)=(UR)R
   VARIEGATE
   STORY
   S(U)MMARIZE
   RESULT.
   
   (HS)V(VS)(LV)<(LS)V
   S(H)ORTEN
   STORY
   VARIEGATE
   LENGTH
   
Challenge accepted! Let's translate your declarative constraint logic into miniKanren in Scheme. Here’s a step-by-step approach based on your constraints:

It actually works which completely floored me :))

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection