Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Little victories and an ask

Little victories and an ask

Scheduled Pinned Locked Moved The Lounge
csharpquestionasp-netai-coding
16 Posts 9 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M MarkTJohnson

    Could you ask the opinion of the owner of the project whether they are okay with you adding the executables? Or just add them and put a statement in the Readme.md that they are needed for it to work properly. Edit - That's what I get for not reading every word, you already suggested that. Or, or, you could monetize it and charge people for access to the executables. I kid, I kid.

    I’ve given up trying to be calm. However, I am open to feeling slightly less agitated. I’m begging you for the benefit of everyone, don’t be STUPID.

    H Offline
    H Offline
    honey the codewitch
    wrote on last edited by
    #3

    I guess I wasn't clear somehow? I am the owner of all these projects.

    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

    1 Reply Last reply
    0
    • H honey the codewitch

      Some background (story time): Today I found and fixed a parsing bug in Slang. Slang turns a subset of C# into an abstract syntax tree that can then be analyzed, transformed, or outputted in any language that ASP.NET can use. That's right, you can use it to turn C# code into VB.NET code for example, but that's not its primary purpose, so much as language independent code generation, code analysis and code transformation is. Deslang takes that C# subset and creates code that builds that Abstract Syntax Tree in code. It constructs a source file, that has methods that build the object model using constructors, setting fields, etc, until the entire tree is built out. Your first question might be, "why in heck would you do this last bit especially except out of boredom?" The answer is several fold, but primarily has to do with performance. Slang doesn't get enough information from just parsing C# because C# is highly ambiguous without applying type information, which isn't done typically during a parse. So after the fact, I have to analyze the parse tree and determine for example, which identifiers refer to fields, and which ones refer to properties. This takes a long time, but that's what it takes to build the tree. Deslang does this once, and gives you code to rebuild the tree instantly. I didn't have to go into so much detail above but I'm proud of that mess. It's probably the most ambitious thing I've ever done in C#. Anyway, my lexer generator, Rolex uses this technology to do language independent source code generation that's highly templatized. I insert the necessary code in Slang (C# subset) and then perform some visits and transformations on it to get the final tree to generate, which can then be emitted in one of many .NET languages. Are you with me so far? Okay, question time: Rolex uses that along with some other tools I built in order to be built from source in the first place. This requires me to either include the executables for the build tools with the project or include the projects, like Deslang and all supporting projects (there are several) in a giant solution. Keep in mind these aren't traditional dependencies - they are build tools that are run during pre-build events to generate code. But I've gotten flack for checking executables into git on my public projects. Like, I've even been insulted over it (not that reddit isn't full of toxicity in general) So what would you do? (reddit hecklers aside) - should I include these build tool projects as source in the solut

      Mircea NeacsuM Offline
      Mircea NeacsuM Offline
      Mircea Neacsu
      wrote on last edited by
      #4

      My 0.02$: Include links to source in build instructions and add binaries to the release.

      Mircea

      Greg UtasG 1 Reply Last reply
      0
      • Mircea NeacsuM Mircea Neacsu

        My 0.02$: Include links to source in build instructions and add binaries to the release.

        Mircea

        Greg UtasG Offline
        Greg UtasG Offline
        Greg Utas
        wrote on last edited by
        #5

        Yes. I provide executables and build instructions. Not everyone wants to bother building just to see what it actually does. But if they want to build on top of it, or if they're worried about naughty executables, they need build instructions. EDIT: If you listen to the Reddit crowd, you could end up in a story very similar to that of the father, his young son, and their donkey travelling to market.

        Robust Services Core | Software Techniques for Lemmings | Articles
        The fox knows many things, but the hedgehog knows one big thing.

        <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
        <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

        1 Reply Last reply
        0
        • H honey the codewitch

          Some background (story time): Today I found and fixed a parsing bug in Slang. Slang turns a subset of C# into an abstract syntax tree that can then be analyzed, transformed, or outputted in any language that ASP.NET can use. That's right, you can use it to turn C# code into VB.NET code for example, but that's not its primary purpose, so much as language independent code generation, code analysis and code transformation is. Deslang takes that C# subset and creates code that builds that Abstract Syntax Tree in code. It constructs a source file, that has methods that build the object model using constructors, setting fields, etc, until the entire tree is built out. Your first question might be, "why in heck would you do this last bit especially except out of boredom?" The answer is several fold, but primarily has to do with performance. Slang doesn't get enough information from just parsing C# because C# is highly ambiguous without applying type information, which isn't done typically during a parse. So after the fact, I have to analyze the parse tree and determine for example, which identifiers refer to fields, and which ones refer to properties. This takes a long time, but that's what it takes to build the tree. Deslang does this once, and gives you code to rebuild the tree instantly. I didn't have to go into so much detail above but I'm proud of that mess. It's probably the most ambitious thing I've ever done in C#. Anyway, my lexer generator, Rolex uses this technology to do language independent source code generation that's highly templatized. I insert the necessary code in Slang (C# subset) and then perform some visits and transformations on it to get the final tree to generate, which can then be emitted in one of many .NET languages. Are you with me so far? Okay, question time: Rolex uses that along with some other tools I built in order to be built from source in the first place. This requires me to either include the executables for the build tools with the project or include the projects, like Deslang and all supporting projects (there are several) in a giant solution. Keep in mind these aren't traditional dependencies - they are build tools that are run during pre-build events to generate code. But I've gotten flack for checking executables into git on my public projects. Like, I've even been insulted over it (not that reddit isn't full of toxicity in general) So what would you do? (reddit hecklers aside) - should I include these build tool projects as source in the solut

          R Offline
          R Offline
          Roger Wright
          wrote on last edited by
          #6

          Follow your own lead, and ignore the lesser lights in the firmament.

          Will Rogers never met me.

          1 Reply Last reply
          0
          • H honey the codewitch

            Some background (story time): Today I found and fixed a parsing bug in Slang. Slang turns a subset of C# into an abstract syntax tree that can then be analyzed, transformed, or outputted in any language that ASP.NET can use. That's right, you can use it to turn C# code into VB.NET code for example, but that's not its primary purpose, so much as language independent code generation, code analysis and code transformation is. Deslang takes that C# subset and creates code that builds that Abstract Syntax Tree in code. It constructs a source file, that has methods that build the object model using constructors, setting fields, etc, until the entire tree is built out. Your first question might be, "why in heck would you do this last bit especially except out of boredom?" The answer is several fold, but primarily has to do with performance. Slang doesn't get enough information from just parsing C# because C# is highly ambiguous without applying type information, which isn't done typically during a parse. So after the fact, I have to analyze the parse tree and determine for example, which identifiers refer to fields, and which ones refer to properties. This takes a long time, but that's what it takes to build the tree. Deslang does this once, and gives you code to rebuild the tree instantly. I didn't have to go into so much detail above but I'm proud of that mess. It's probably the most ambitious thing I've ever done in C#. Anyway, my lexer generator, Rolex uses this technology to do language independent source code generation that's highly templatized. I insert the necessary code in Slang (C# subset) and then perform some visits and transformations on it to get the final tree to generate, which can then be emitted in one of many .NET languages. Are you with me so far? Okay, question time: Rolex uses that along with some other tools I built in order to be built from source in the first place. This requires me to either include the executables for the build tools with the project or include the projects, like Deslang and all supporting projects (there are several) in a giant solution. Keep in mind these aren't traditional dependencies - they are build tools that are run during pre-build events to generate code. But I've gotten flack for checking executables into git on my public projects. Like, I've even been insulted over it (not that reddit isn't full of toxicity in general) So what would you do? (reddit hecklers aside) - should I include these build tool projects as source in the solut

            L Offline
            L Offline
            lmoelleb
            wrote on last edited by
            #7

            Just out of curiosity - why not let Roslyn do the parsing? And are you sure you can't use a source generator to avoid all the problems of code generators hacked into the build pipeline?

            H 1 Reply Last reply
            0
            • L lmoelleb

              Just out of curiosity - why not let Roslyn do the parsing? And are you sure you can't use a source generator to avoid all the problems of code generators hacked into the build pipeline?

              H Offline
              H Offline
              honey the codewitch
              wrote on last edited by
              #8

              Because Roslyn is too rich for the CodeDOM. The CodeDOM supports just enough code constructs to make a program, even missing some basics like switch case and post increment operators. I don't know what you mean by your second question? Do you mean using the new C# language features to do source generation? There are a number of reasons not to rely on that, least of which is lack of flexibility. I can run this code in any pipeline as a CLI tool. With source generation it's stuck as part of the C# compiler work during the build itself, which creates issues, like being able to manage the staleness when the input file changes. It's more trouble than it's worth, and imo the wrong tool for this particular task.

              Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

              1 Reply Last reply
              0
              • H honey the codewitch

                Some background (story time): Today I found and fixed a parsing bug in Slang. Slang turns a subset of C# into an abstract syntax tree that can then be analyzed, transformed, or outputted in any language that ASP.NET can use. That's right, you can use it to turn C# code into VB.NET code for example, but that's not its primary purpose, so much as language independent code generation, code analysis and code transformation is. Deslang takes that C# subset and creates code that builds that Abstract Syntax Tree in code. It constructs a source file, that has methods that build the object model using constructors, setting fields, etc, until the entire tree is built out. Your first question might be, "why in heck would you do this last bit especially except out of boredom?" The answer is several fold, but primarily has to do with performance. Slang doesn't get enough information from just parsing C# because C# is highly ambiguous without applying type information, which isn't done typically during a parse. So after the fact, I have to analyze the parse tree and determine for example, which identifiers refer to fields, and which ones refer to properties. This takes a long time, but that's what it takes to build the tree. Deslang does this once, and gives you code to rebuild the tree instantly. I didn't have to go into so much detail above but I'm proud of that mess. It's probably the most ambitious thing I've ever done in C#. Anyway, my lexer generator, Rolex uses this technology to do language independent source code generation that's highly templatized. I insert the necessary code in Slang (C# subset) and then perform some visits and transformations on it to get the final tree to generate, which can then be emitted in one of many .NET languages. Are you with me so far? Okay, question time: Rolex uses that along with some other tools I built in order to be built from source in the first place. This requires me to either include the executables for the build tools with the project or include the projects, like Deslang and all supporting projects (there are several) in a giant solution. Keep in mind these aren't traditional dependencies - they are build tools that are run during pre-build events to generate code. But I've gotten flack for checking executables into git on my public projects. Like, I've even been insulted over it (not that reddit isn't full of toxicity in general) So what would you do? (reddit hecklers aside) - should I include these build tool projects as source in the solut

                G Offline
                G Offline
                Grotsoft
                wrote on last edited by
                #9

                Until very recently I've been maintaining a Windows project (UI, hooks, COM, all the fun stuff) that I started selling in 2008. If I hadn't checked in the exes for some of the utilities needed (installer tools, license stuff, etc.) I would have been screwed! Yes, I could have modernised it and removed many of them, but it simply didn't make commercial sense to do that. Purity is all well and good, but at the end of the day shipping software wins over intellectual mas rigour.

                1 Reply Last reply
                0
                • H honey the codewitch

                  Some background (story time): Today I found and fixed a parsing bug in Slang. Slang turns a subset of C# into an abstract syntax tree that can then be analyzed, transformed, or outputted in any language that ASP.NET can use. That's right, you can use it to turn C# code into VB.NET code for example, but that's not its primary purpose, so much as language independent code generation, code analysis and code transformation is. Deslang takes that C# subset and creates code that builds that Abstract Syntax Tree in code. It constructs a source file, that has methods that build the object model using constructors, setting fields, etc, until the entire tree is built out. Your first question might be, "why in heck would you do this last bit especially except out of boredom?" The answer is several fold, but primarily has to do with performance. Slang doesn't get enough information from just parsing C# because C# is highly ambiguous without applying type information, which isn't done typically during a parse. So after the fact, I have to analyze the parse tree and determine for example, which identifiers refer to fields, and which ones refer to properties. This takes a long time, but that's what it takes to build the tree. Deslang does this once, and gives you code to rebuild the tree instantly. I didn't have to go into so much detail above but I'm proud of that mess. It's probably the most ambitious thing I've ever done in C#. Anyway, my lexer generator, Rolex uses this technology to do language independent source code generation that's highly templatized. I insert the necessary code in Slang (C# subset) and then perform some visits and transformations on it to get the final tree to generate, which can then be emitted in one of many .NET languages. Are you with me so far? Okay, question time: Rolex uses that along with some other tools I built in order to be built from source in the first place. This requires me to either include the executables for the build tools with the project or include the projects, like Deslang and all supporting projects (there are several) in a giant solution. Keep in mind these aren't traditional dependencies - they are build tools that are run during pre-build events to generate code. But I've gotten flack for checking executables into git on my public projects. Like, I've even been insulted over it (not that reddit isn't full of toxicity in general) So what would you do? (reddit hecklers aside) - should I include these build tool projects as source in the solut

                  J Offline
                  J Offline
                  jschell
                  wrote on last edited by
                  #10

                  honey the codewitch wrote:

                  Anyway, my lexer generator, Rolex...I'd love input on this.

                  I suggest you change the name. Besides making it difficult to google for, I would be concerned that you might get a lawyer letter telling you to desist.

                  honey the codewitch wrote:

                  But I've gotten flack for checking executables into git on my public projects

                  I would tend to agree with them. I don't want to download exes from a small site which are supposed to run, quite possibly, with admin permissions. So either you add the code, or you add instructions one which other sources are needed and how to add those into the solution.

                  H 1 Reply Last reply
                  0
                  • J jschell

                    honey the codewitch wrote:

                    Anyway, my lexer generator, Rolex...I'd love input on this.

                    I suggest you change the name. Besides making it difficult to google for, I would be concerned that you might get a lawyer letter telling you to desist.

                    honey the codewitch wrote:

                    But I've gotten flack for checking executables into git on my public projects

                    I would tend to agree with them. I don't want to download exes from a small site which are supposed to run, quite possibly, with admin permissions. So either you add the code, or you add instructions one which other sources are needed and how to add those into the solution.

                    H Offline
                    H Offline
                    honey the codewitch
                    wrote on last edited by
                    #11

                    As far as trademarks, they don't apply across different industries, so I'm safe there. If I was making timepieces, that would be a different story, at least last time I asked a lawyer.

                    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                    T J 2 Replies Last reply
                    0
                    • H honey the codewitch

                      As far as trademarks, they don't apply across different industries, so I'm safe there. If I was making timepieces, that would be a different story, at least last time I asked a lawyer.

                      Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                      T Offline
                      T Offline
                      trønderen
                      wrote on last edited by
                      #12

                      At least here in Norway (and I believe most European countries), the owner of a trademark may register it in an arbitrary number of product classes - but there is a fee for each class, so you probably wouldn't register it in all classes available. (That is like applying for a patent in every one of the 195 countries in the world: It doesn't pay!) Still, you might be surprised: The Japanese Kenwood Corporation sells their electronics, such as stereo systems, under their 'Kenwood' brand name in all European countries but Great Britain: GB has a manufacturer of kitchen machines, named Kenwood. I don't know for which product classes Kenwood GB has trademark protection. Apparently, they are afraid that someone might confuse a Kenwood vinyl turntable from Japan with a Kenwood Chef mixer. After all, they both turn around ... So the vinyl turntable, as well as the amplifiers, was marketed in GB under the brand name "Trio". So, before making a final decision: Check up in which product classes Rolex is a registered trade mark. It may be registered in a number of classes that you are not aware of, because the owner of the trade mark has not marketed any products competing with yours in your area.

                      H 1 Reply Last reply
                      0
                      • T trønderen

                        At least here in Norway (and I believe most European countries), the owner of a trademark may register it in an arbitrary number of product classes - but there is a fee for each class, so you probably wouldn't register it in all classes available. (That is like applying for a patent in every one of the 195 countries in the world: It doesn't pay!) Still, you might be surprised: The Japanese Kenwood Corporation sells their electronics, such as stereo systems, under their 'Kenwood' brand name in all European countries but Great Britain: GB has a manufacturer of kitchen machines, named Kenwood. I don't know for which product classes Kenwood GB has trademark protection. Apparently, they are afraid that someone might confuse a Kenwood vinyl turntable from Japan with a Kenwood Chef mixer. After all, they both turn around ... So the vinyl turntable, as well as the amplifiers, was marketed in GB under the brand name "Trio". So, before making a final decision: Check up in which product classes Rolex is a registered trade mark. It may be registered in a number of classes that you are not aware of, because the owner of the trade mark has not marketed any products competing with yours in your area.

                        H Offline
                        H Offline
                        honey the codewitch
                        wrote on last edited by
                        #13

                        Taking what you said into consideration, I did some digging and this is all I could find. ROLEX Trademark of Rolex Watch USA, Inc. - Registration Number 3312062 - Serial Number 78864831 :: Justia Trademarks[^] Goods and Services are listed as Watches on this one. I found one other Justia link for Rolex that said like, watches, watch parts and accessories. I think I'm safe enough, and if I'm not, we can gather our lawyers, guns and money and sort it out. :laugh:

                        Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                        1 Reply Last reply
                        0
                        • H honey the codewitch

                          As far as trademarks, they don't apply across different industries, so I'm safe there. If I was making timepieces, that would be a different story, at least last time I asked a lawyer.

                          Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                          J Offline
                          J Offline
                          jschell
                          wrote on last edited by
                          #14

                          honey the codewitch wrote:

                          As far as trademarks, they don't apply across different industries

                          lol...that doesn't matter. Sure if you want to pay a lawyer you might win. But do you want to pay the lawyer just to validate your legal right? Also doesn't change the other point about someone looking for your library.

                          H 1 Reply Last reply
                          0
                          • J jschell

                            honey the codewitch wrote:

                            As far as trademarks, they don't apply across different industries

                            lol...that doesn't matter. Sure if you want to pay a lawyer you might win. But do you want to pay the lawyer just to validate your legal right? Also doesn't change the other point about someone looking for your library.

                            H Offline
                            H Offline
                            honey the codewitch
                            wrote on last edited by
                            #15

                            If Rolex, which isn't even publicly traded cares so much about a little open source project, let them sic their lawyers on me. Until I get a cease and desist letter, it's staying up as is. I'm not violating any laws. Edit: Mine is easier to search for than the two most popular - Flex and Bison. I'm okay with that.

                            Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                            J 1 Reply Last reply
                            0
                            • H honey the codewitch

                              If Rolex, which isn't even publicly traded cares so much about a little open source project, let them sic their lawyers on me. Until I get a cease and desist letter, it's staying up as is. I'm not violating any laws. Edit: Mine is easier to search for than the two most popular - Flex and Bison. I'm okay with that.

                              Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                              J Offline
                              J Offline
                              jschell
                              wrote on last edited by
                              #16

                              honey the codewitch wrote:

                              If Rolex, which isn't even publicly traded cares so much about a little open source project, let them sic their lawyers on me.

                              lol...sorry can't explain what lawyers, marketing and C levels might get upset about.

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups