Jimmy Koppel Profile picture
Turning good engineers into great at https://t.co/b5295anmRU . Reverse engineer. Blogs about software design at https://t.co/RYL1GZ92df. Ph. D. in programming languages from @MIT.
Aug 26 26 tweets 8 min read
Everyone's talking about Sakana's AI scientist. But no-one's answering the big question: is its output good?

I spent hours reading its generated papers and research logs. Read on to find out

The Sakana AI Scientist is a masterwork of PR. They present it: a groundbreaking system that ideates and performs ML research -- and yes, of course it has some flaws and limitations and this is just early work, but it's still a great achievement
Nov 26, 2023 8 tweets 3 min read
What makes good API documentation?

To answer this, we must ask: what do programmers need to know to use an API?

One paper claims there are three major parts

Enter "A Theory of Robust API Knowledge" by Kyle Thayer, @sarahchasins, and @amyjko.

🧵
Image
Image
Base on their analysis of the literature and their past teaching and research experience, the researchers proposed a theory that API knowledge consists of three factors:

Domain concepts, Execution Facts, and API usage patterns
Image
Image
Mar 8, 2023 23 tweets 5 min read
"The Flaws of Inheritance" by @CodeAesthetic1 is beautiful, as always.

Problem though, is that none of the things discussed in the video have anything to do with inheritance

Time for a 🧵 on the most mind-bending construction in mainstream programming languages @CodeAesthetic1 Some context: I was talking to Norman Ramsey a few months ago about his new book. We started talking about objects, and he told me he barely covers them. Why? "Objects are not an undergrad topic"
Dec 7, 2022 33 tweets 15 min read
1/

Had a blast Monday giving a code-review guest lecture for MIT's 6.1040 "Software Studio" class with Daniel Jackson. Now my head's full of examples of good and bad frontend code.

n^2 likes = n+1 examples of making cleaner and more robust frontend code

First one's free. Image 2/

First example:

What does this code do?

Say it in plain English.

It checks if something is going to happen less than three days from now.

But what does ity say?

It says: take the start time, subtract the present time, divide by some big number, and then compare to 3. Image