Results 1 to 14 of 14

Thread: Rewriting RC6

  1. #1

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,862

    Rewriting RC6

    When I first used DeepSeek, I immediately wondered if it was possible to use AI to rewrite RC6. So I did an experiment:

    Test Claude-Code: ReadTextContent

    Obviously, the experiment went really well. So, rewriting RC6 was added to my work plan. I didn't start on it right away, mainly for two reasons: on one hand, I don't have time to do things outside of my plan right now, and on the other hand, I want to know what Olaf thinks.

    If Olaf doesn't intend to continue upgrading RC6, would he mind if someone else used AI to rewrite it?

    Edit:
    I saw that someone in CodeBank has already rewritten RC6.WebView and RC6.Sqlite using AI, which is great. But the most important part of RC6 is RC6.Cairo, which is currently irreplaceable. If AI could accurately rewrite RC6.Cairo, that would be an amazing breakthrough.
    Last edited by SearchingDataOnly; Yesterday at 09:18 AM.

  2. #2

  3. #3
    Hyperactive Member
    Join Date
    Feb 2015
    Posts
    329

    Re: Rewriting RC6

    Quote Originally Posted by SearchingDataOnly View Post
    But the most important part of RC6 is RC6.Cairo, which is currently irreplaceable. If AI could accurately rewrite RC6.Cairo, that would be an amazing breakthrough.
    Maybe just me but I tried RC6/Cairo and although it was pretty good, I didn't find a single thing (for my needs anyway) that I can't also do with GDI32/GDI+. I use DIB back buffering and so most all of my graphics related stuff is very fast and very smooth.

    I personally found no compelling reason to switch to RC6/Cairo beyond perhaps the built-in SVG support.

  4. #4

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,862

    Re: Rewriting RC6

    Quote Originally Posted by SomeYguy View Post
    Maybe just me but I tried RC6/Cairo and although it was pretty good, I didn't find a single thing (for my needs anyway) that I can't also do with GDI32/GDI+. I use DIB back buffering and so most all of my graphics related stuff is very fast and very smooth.

    I personally found no compelling reason to switch to RC6/Cairo beyond perhaps the built-in SVG support.
    Using RC6 is to prepare for possible 'cross-platform' use in the future.

    Attached is a code editor similar to VSCode developed with RC6.Cairo, and it has most of the features of a Web UI.
    Attached Images Attached Images  
    Last edited by SearchingDataOnly; Yesterday at 02:03 PM.

  5. #5
    Hyperactive Member
    Join Date
    Feb 2015
    Posts
    329

    Re: Rewriting RC6

    Ahh, ok. Cross-Platform makes sense. And that code editor looks very nice.

  6. #6
    The Idiot
    Join Date
    Dec 2014
    Posts
    3,015

    Re: Rewriting RC6

    RC6 is not just Cairo is more.
    I think the first thing is to create a "Cairo" only class.
    using AI it should be possible to create such thing.
    the rest of RC6 should be divided into separate projects.

    since I use direct2d/wic theres no plan to spend time on Cairo
    but Im sure, if I never started using Direct2d I would have a working Cairo without the reg-stuff u need with RC6.
    as u know Im anti-RC6 because of how heavy it is and the registration thing.

    the first step is PhotoDemon, as it uses Cairo, learn from it and create the class from it.
    Last edited by baka; Today at 03:46 AM.

  7. #7
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    6,202

    Re: Rewriting RC6

    Quote Originally Posted by SearchingDataOnly View Post
    I saw that someone in CodeBank has already rewritten RC6.WebView and RC6.Sqlite using AI, which is great. But the most important part of RC6 is RC6.Cairo, which is currently irreplaceable. If AI could accurately rewrite RC6.Cairo, that would be an amazing breakthrough.
    Amazing breakthrough for AI not anything else. . .

    I’m rewriting parts of RC6 and posting in Codebank and everyone else is ripping me off with their feeble AIs :-)) but only parts that I’m personally using. I couldn’t give a monkey’s a** if you need Cairo for your glorious projects though.

    Bummer. . . for you!

  8. #8
    Fanatic Member
    Join Date
    Jun 2016
    Location
    España
    Posts
    636

    Re: Rewriting RC6

    The trick created this, it could be a start.
    https://github.com/VBForumsCommunity/VbCairo/

  9. #9

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,862

    Re: Rewriting RC6

    Quote Originally Posted by baka View Post
    RC6 is not just Cairo is more.
    I think the first thing is to create a "Cairo" only class.
    using AI it should be possible to create such thing.
    the rest of RC6 should be divided into separate projects.

    since I use direct2d/wic theres no plan to spend time on Cairo
    but Im sure, if I never started using Direct2d I would have a working Cairo without the reg-stuff u need with RC6.
    as u know Im anti-RC6 because of how heavy it is and the registration thing.

    the first step is PhotoDemon, as it uses Cairo, learn from it and create the class from it.
    You and I have different hobbies; I prefer a complete and stable set of tools.

    IMO, rewriting RC6 with AI is totally doable, but 99% of the time will be spent on testing. So, for the next few years, I'll still keep using RC6.

    I'm glad to know that PhotoDemon uses Cairo. When I have time, I'll check it out and learn about it.

  10. #10

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,862

    Re: Rewriting RC6

    Quote Originally Posted by wqweto View Post
    Amazing breakthrough for AI not anything else. . .

    I’m rewriting parts of RC6 and posting in Codebank and everyone else is ripping me off with their feeble AIs :-)) but only parts that I’m personally using. I couldn’t give a monkey’s a** if you need Cairo for your glorious projects though.

    Bummer. . . for you!
    You continue to post useful stuff for others on CodeBank, which is really great, and I truly admire what you're doing.

    However, the code you post is of no use to me at all—I never use any of your code. Do you know why?

    Because you always have the habit of "making simple problems complicated," and this way of thinking makes it hard for you to find the best solution. Olaf, on the other hand, does the opposite. Olaf can always simplify very complex problems, which is a basic quality that all programming masters have, and I have that quality too.

    We can imagine it this way: if a top programming master can simplify a project with complexity 10 down to 1, then he can also simplify a project with complexity 10,000 down to 1,000. This way, he can develop the project with his own ability, meaning he can handle projects with a complexity of 10,000.

    But you always complicate simple things. You would take a project with complexity 10 and make it 30-50. Similarly, you would take a project with complexity 200 and make it 6,000-10,000. As a result, the complexity you can handle is limited to only around 200-300. So, you can never make very complex and large projects because your way of thinking limits the height of your technical skills.

    Your JsonParser and Lexer are typical examples of making simple problems complicated. They are good code, but not excellent code. Don't underestimate my standards and sense of aesthetics when it comes to software code.

    I truly respect your contributions to this forum, so I don't want to humiliate you. But if you keep provoking, the only one who gets hurt is yourself.

    Also, about the few threads you posted on CodeBank related to RC6, I only looked at the titles; I don’t have the time or interest to look at your code. Help those who actually need your help instead of wasting time in my threads.

    Edit:
    Of course, AI can now make up for some of your shortcomings, but AI can't help you be innovative. Some things can only be solved through innovation.
    Last edited by SearchingDataOnly; Today at 03:28 PM.

  11. #11

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,862

    Re: Rewriting RC6

    Quote Originally Posted by yokesee View Post
    The trick created this, it could be a start.
    https://github.com/VBForumsCommunity/VbCairo/
    Based on what I've learned about AI recently, there's no problem rewriting RC6 with AI, but it would take a lot of time to test and optimize the AI-written code, which could discourage many people. And the biggest features of RC6 are stability and high performance, so for the next few years, I'll still continue using RC6.
    Last edited by SearchingDataOnly; Today at 03:34 PM.

  12. #12
    PowerPoster
    Join Date
    Aug 2010
    Location
    Canada
    Posts
    2,900

    Re: Rewriting RC6

    Quote Originally Posted by SearchingDataOnly View Post
    but 99% of the time will be spent on testing.
    I find that LLMs are pretty good at generating tests...you could prompt it to write tests that compare results of RC6 methods vs. your replacement classes and report discrepancies...feed those back into the AI that generated your replacement class and ask it to patch parts appropriately so results match RC6 exactly in those cases. Eventually you should get to "good enough" for your purposes.

    That said, if you're wanting to stick with VB6 @ 32-bit, then I don't see any reason the use anything other than RC6 - it works, it's well tested in the real world, and it's quite comprehensive in terms of what it offers (there's not much that it is missing that I can think of). The main purpose I can see for a rewrite is for twinBASIC 64-bit compatibility.

  13. #13

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,862

    Re: Rewriting RC6

    Quote Originally Posted by jpbro View Post
    I find that LLMs are pretty good at generating tests...you could prompt it to write tests that compare results of RC6 methods vs. your replacement classes and report discrepancies...feed those back into the AI that generated your replacement class and ask it to patch parts appropriately so results match RC6 exactly in those cases. Eventually you should get to "good enough" for your purposes.
    Very good advice. Right now, I'm indeed having DeepSeek help me write some compiler test code, and it's really efficient.

    Quote Originally Posted by jpbro View Post
    That said, if you're wanting to stick with VB6 @ 32-bit, then I don't see any reason the use anything other than RC6 - it works, it's well tested in the real world, and it's quite comprehensive in terms of what it offers (there's not much that it is missing that I can think of). The main purpose I can see for a rewrite is for twinBASIC 64-bit compatibility.
    At the moment, I don't have a need for 64-bit software, and RC6 completely meets my current work requirements. It's just that I've already built a lot of code on this closed-source third-party library, RC6, which makes me very uneasy. Especially as a Chinese person, we always face the risk of some tools being cut off. So sometimes I wish I could have a 'backup' option, so that if RC6 becomes unusable, my work won't be interrupted.

  14. #14
    PowerPoster
    Join Date
    Feb 2017
    Posts
    5,721

    Re: Rewriting RC6

    Quote Originally Posted by SearchingDataOnly View Post
    if a top programming master can simplify a project with complexity 10 down to 1, then he can also simplify a project with complexity 10,000 down to 1,000.
    OK, and what happens if that programmer simplifies that program twice, or three times... or n times?
    My question is if the simplification will stop on 1 or could go below 1.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width