Wednesday, March 27, 2024

Devin: AI software engineer? + OpenDevin; SWE-bench

 Introducing Devin, the first AI software engineer

With our advances in long-term reasoning and planning, Devin can plan and execute complex engineering tasks requiring thousands of decisions. Devin can recall relevant context at every step, learn over time, and fix mistakes.

SWE-bench
Can Language Models Resolve Real-World GitHub Issues?

"Devin correctly resolves 13.86%* of the issues end-to-end, far exceeding the previous state-of-the-art of 1.96%. Even when given the exact files to edit, the best previous models can only resolve 4.80% of issues."



a sceptic view on this



OpenDevin, an open-source project aiming to replicate Devin, an autonomous AI software engineer who is capable of executing complex engineering tasks and collaborating actively with users on software development projects. This project aspires to replicate, enhance, and innovate upon Devin through the power of the open-source community.



  • AI startup Cognition develops an AI software engineering platform that can automate entire projects.
  • Devin has impressed big names in AI, like former Tesla AI director Andrej Karpathy.
  • Well-funded by Peter Thiel and tech leaders, Cognition plans to offer early access to Devin for engineering teams soon.


AI + C programming mastery

a skeptical view on autonomy new programming tools...
and hopeful vision of future where such tools are helping productivity
AI just replaced us with Devin... seriously? Dr Chuck! - YouTube

a class mentioned that a good foundational knowledge of C programming 
is a basis of mastery and ability to learn quickly any new tool or language
CC4E - C Programming for Everybody

this is a public version of essential C programming book
cc4e.com/book/

book & source code 
csev/cc4e: C Programming for Everybody @GitHub
cc4e/book/code at master · csev/cc4e @GitHub

video "reading" or the book
Learn C Programming with Dr. Chuck (feat. classic book by Kernighan and Ritchie) - YouTube

previous popular course from the same author 
PY4E - Python for Everybody

related course
C for Everyone: Programming Fundamentals Course (UCSC) | Coursera

Free online C (and other languages) compilers

C complier in Docker container image

Original co-author of the referenced book

some C language tutorials online



JavaScript speed: forEach, .map, .reduce vs for, for..of

Performance of JavaScript .forEach, .map and .reduce vs for and for..of

Both for and for..of are 3.5 times faster than reduce. However, the loops are much more verbose.
.forEach is almost the same as for or for..of, only 3 times slower.

Here we just calculate the sum of a and b for the whole array:

return array.reduce((p, x) => p + x.a + x.b, 0);

Both for and for..of are 3.5 times faster than reduce. However, the loops are much more verbose:

let result = 0;for (const { a, b } of array) {   result += a + b;}return result;