HNHacker News
TopNewBestAskShowJobs

codeenlightener

34 karma · joined August 10, 2021

submissionscomments
codeenlightener··on TLDR explains what a piece of code does
looks great, reminds me of our product, https://denigma.app that explains the business logic of code and technical concepts, which recently launched an extension for all Intelli-J based IDEs (except Android Studio- there's a compatibility issue with it)
codeenlightener··on Using GPT-3 to explain how code works
We have a product with a VS Code extension (IntelliJ and Chrome) coming soon that does this: https://denigma.app
codeenlightener··on Tell HN: I'm Afraid We're Shutting Down
What are the operational costs of 70MR? What prevents you from scaling to zero employees?
codeenlightener··on Codeball – AI-powered code review
This is an exciting direction for AI code tools! I'm curious to see code review tools that give feedback on non-approved code to developers, which I think is the an important purpose of code review, to build a shared understanding of technical standards.

On a related note, I'm working on https://denigma.app, which is an AI that tries to explain code, giving a second opinion on what it looks like it does. One company said they found it useful for code review. Maybe just seeing how clear an AI explanation is is a decent metric of code quality.

codeenlightener··on GitHub Copilot Labs
Hmmmm, if it's not "too long to fit on one line and so instead it's written as 12", what is "setLong(12)"?
codeenlightener··on GitHub Copilot Labs
A self-hosted version will be developed, but it will likely take a few months at minimum.

The hardware requirements (GPU) might be hefty. I'll try to see if I can optimize the size of the model to something smaller.

codeenlightener··on GitHub Copilot Labs
I encourage everyone to try it on real-world (non-esoteric, non-homework) code from production. That's where it works best. :-)
codeenlightener··on GitHub Copilot Labs
Denigma works very poorly on short code– especially single lines. It warns you.

It is designed for explaining real-world code in context, and performs poorly on esoteric examples.

codeenlightener··on GitHub Copilot Labs
Hello! I'm the founder of https://denigma.app, an AI that explains code. It's available now, with a free demo and VS Code extension, with an Emacs extension coming soon.

Denigma is a product that has been around for a while.

Denigma goes beyond a literal line by line explanation, and explains of programming concepts and deduces the business logic and goal of code.

I'm excited to see innovation in the field.

Here's a sample explanation from Denigma:

The code starts by initializing the trampoline. Then it checks to see if there is a passed_info structure in memory, and if so, copies the struct into the passed_info variable. Next, it sets up some variables for use later on:

- info_struct - The smp_information struct that will be used throughout this function

- longmode - Indicates whether or not we are running in 64 bit mode

- lv5 - Indicates whether or not we are running with L1V5 support enabled (if you're unsure what this means google "Intel VT-x" and "L1D cache")

- pagemap - The address of our page table entry array (this is where all of our virtual addresses go)

- x2apic - Indicates whether or not we are using an Intel X2APIC controller

The code is a function that is called when the kernel is booted. The function checks to see if the kernel was booted in long mode or not, and if it was, it sets up a trampoline to call the original kernel.

We're small, privacy-focused, and bootstrapped, and don't have the marketing budget of GitHub, so we'd appreciate you talking about Denigma in your communities.

codeenlightener··on AI can write code like humans, bugs and all
AI can also read code like a human: https://denigma.app
codeenlightener··on Show HN: AI that reads and explains complex code naturally, like a human
Thanks, I will update our info to say "conversational English."

Can you explain what you mean by text layout? Do you want it justified? Formatted differently?

> What I think I would really, really want, is integration with VSCode/Sublime/etc. where the interpretations were interleaved within the actual source code and could be folded down. I would like to be able to correlate the source codes lines to the interpretations.

Cool idea. Something like Literate Programming, where the explanations are stored in the code file? Or more like a dynamic tool that just shows dynamically generated explanations inline?

codeenlightener··on Show HN: AI that reads and explains complex code naturally, like a human
Which explanations did you like best? What about them impressed you?

I'll raise the rate limit to a very high amount in a moment!

> I am still not sure of the exact business case.

You ask a good question. I'm hoping HN helps figure that out! I think it can help Senior and Junior Developers to onboard to new codebases, especially those with new concepts.

codeenlightener··on Show HN: AI that reads and explains complex code naturally, like a human
Hi HN! I created this to help decipher complex game engine logic. Instead of a literal translation, what it does is get at the core ideas in the code.

Programmers spend 30-90% of their time reading code. With Denigma, I hope to help programmers read unfamiliar code faster.

By accident, my alpha tester group was mainly kernel and embedded developers. Surprisingly, it works well and fairly accurately on most code in obscure domains like kernel and embedded.

When possible, it helps show what concepts are in the code. The AI model following was written to explain part of a kernel's boot process:

    - longmode - Indicates whether or not we are running in 64 bit mode
    - lv5 - Indicates whether or not we are running with L1V5 support enabled (if you're unsure what this means google "Intel VT-x" and "L1D cache")
    - pagemap - The address of our page table entry array (this is where all of our virtual addresses go)
    - x2apic - Indicates whether or not we are using an Intel X2APIC controller
It likes to explain business logic.

Here is part of an explanation of a C++ function, called "AttackSystem::update." The full code is next to "Focus on what's important." on the landing page, which uses two nested closures– quite complex.

    - Each attacker has an associated position and attack object which contains information about how much damage they have done to the victim so far (base_damages) as well as their cooldown timer (cooldown).
    - When an attacker's cooldown timer reaches zero they can no longer attack for another 8 frames.
    - If there are any victims then each one will be updated with their current health minus the amount of damage done by the attacker up until now (current).
    - This process repeats itself until either there are no more victims or there is only one left - when this happens then we know that our last victim was our enemy who attacked us!
Of course, AI isn't a silver bullet. It needs sufficient context cues– such as variable names. The variable names don't need to be perfect, however– it can work with and infer the meaning of vague, single-word names in legacy code.

I'm sure that if it can explain the code from the STIVALE2 boot protocol, it can explain simpler code!

There's also a second landing page for product managers: https://denigma.app/for-product-manager

Denigma isn't perfect. On code that occurs rarely in its dataset, its accuracy becomes questionable. Sometimes it takes 2-3 tries to get a good explanation. And it only understands some parts of the Linux kernel- and can't explain Verilog HDL at all. Over time with feedback, the model will get bigger and better.

codeenlightener··on Denigma: The ML-powered service that understands and explains code
> that I think it's more correct than "mean squared error". You should change that example.

Thank you for the feedback.

> - The code is called l2, which stands for "linear regression."

If you can give me the full explanation, I can see what I can do to improve the accuracy there. (It's needed for debugging.)

Over time, more data will be added in the future so that accuracy and detail improves.

codeenlightener··on Show HN: Denigma – AI that clearly explains code in plain English
You are right, I forgot to add "www.denigma.app" to the CORS list.
codeenlightener··on Show HN: Denigma – AI that clearly explains code in plain English
If it's not too hard, could you please press F12, pick "console" and send a screenshot? I wonder if you have some add-on blocking my JS...
codeenlightener··on Show HN: Denigma – AI that clearly explains code in plain English
> The live example on the home page doesn't seem to work. I assumed JS was supported and typed this:

It currently works for me. Can you try again?

codeenlightener··on Denigma: The ML-powered service that understands and explains code
> It's hard to believe that the system can detect that it's the "mean squared error". Is this an explanation a real example from the implementation, or it's just a handmade example?

> Don't you want to use the average instead of "0.5"?

It's from the real implementation. The code was some code a user sent in, which I ran the tool on.

> I tried and got the same outcome.

I fixed the waitlist– there was a problem, where if you typed your email then filled out the rest of the form without editing the email field, the waitlist signup would fail.

The live demo works for me and a couple others.

codeenlightener··on Denigma: The ML-powered service that understands and explains code
* There's a demo available– no sign in is required to use it. Try throwing complex code at it.

* Check out the sample code and explanations by clicking on the different tabs.

* Denigma works on any language.

* We have a separate "for developers" landing page: https://denigma.app

* Creator here, AMA.

codeenlightener··on Show HN: Denigma – AI that explains code
This tool works on any programming language. Feel free to try the demo– no sign-in is required.

Developers spend 10% of their time writing new code, while they spend 70-80% of it reading, understanding, and existing code.

My vision is that AI enables programmers, instead of replacing them.

Feel free to share interesting explanations Denigma writes.

AMA about the future of AI and software development.

There's also a separate pitch page for product managers: https://denigma.app/for-product-manager