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. Why do people code this way?

Why do people code this way?

Scheduled Pinned Locked Moved The Lounge
csharplearningpythonwcfcom
34 Posts 20 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 Offline
    M Offline
    Marc Clifton
    wrote on last edited by
    #1

    I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

    Console.WriteLine("Storing resource from peer " + peer);

    :wtf: Marc

    Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

    T S P L C 13 Replies Last reply
    0
    • M Marc Clifton

      I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

      Console.WriteLine("Storing resource from peer " + peer);

      :wtf: Marc

      Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

      T Offline
      T Offline
      TheGreatAndPowerfulOz
      wrote on last edited by
      #2

      Marc Clifton wrote:

      Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application.

      We can't all be as perfect as you. :rolleyes: X|

      #SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun

      M 1 Reply Last reply
      0
      • T TheGreatAndPowerfulOz

        Marc Clifton wrote:

        Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application.

        We can't all be as perfect as you. :rolleyes: X|

        #SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun

        M Offline
        M Offline
        Marc Clifton
        wrote on last edited by
        #3

        TheGreatAndPowerfulOz wrote:

        We can't all be as perfect as you.

        It's not perfection, it's good coding practice! Marc

        Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

        T J 2 Replies Last reply
        0
        • M Marc Clifton

          I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

          Console.WriteLine("Storing resource from peer " + peer);

          :wtf: Marc

          Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

          S Offline
          S Offline
          Slacker007
          wrote on last edited by
          #4

          I would not be surprised if the code was refactored to use log4net and they forgot some old console writes. As for the other stuff, I feel your pain.

          1 Reply Last reply
          0
          • M Marc Clifton

            I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

            Console.WriteLine("Storing resource from peer " + peer);

            :wtf: Marc

            Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

            P Offline
            P Offline
            PIEBALDconsult
            wrote on last edited by
            #5

            What's a DHT?

            R M 2 Replies Last reply
            0
            • P PIEBALDconsult

              What's a DHT?

              R Offline
              R Offline
              rguilmette
              wrote on last edited by
              #6

              Dihydrotestosterone

              G 1 Reply Last reply
              0
              • M Marc Clifton

                I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

                Console.WriteLine("Storing resource from peer " + peer);

                :wtf: Marc

                Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #7

                Marc Clifton wrote:

                like, who the heck uses log4net anymore???

                No one, that code is at least 6 years old though. Looks like a rip of even older code from the Daylight project (which is very dead now). So it might be 8 years old or so, and that also explains the inconsistencies.

                1 Reply Last reply
                0
                • M Marc Clifton

                  TheGreatAndPowerfulOz wrote:

                  We can't all be as perfect as you.

                  It's not perfection, it's good coding practice! Marc

                  Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                  T Offline
                  T Offline
                  TheGreatAndPowerfulOz
                  wrote on last edited by
                  #8

                  I agree. It also depends the skills and on the goal of the developers in question. Sometimes you just want to "get the job done" and not worry about extensibility and overridability, etc. Being overly concerned with that can lead to over architecting.

                  #SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun

                  E 1 Reply Last reply
                  0
                  • M Marc Clifton

                    TheGreatAndPowerfulOz wrote:

                    We can't all be as perfect as you.

                    It's not perfection, it's good coding practice! Marc

                    Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                    J Offline
                    J Offline
                    Jorgen Andersson
                    wrote on last edited by
                    #9

                    That's 90 percent you know.

                    Wrong is evil and must be defeated. - Jeff Ello

                    1 Reply Last reply
                    0
                    • P PIEBALDconsult

                      What's a DHT?

                      M Offline
                      M Offline
                      Marc Clifton
                      wrote on last edited by
                      #10

                      Distributed Hash Table. Marc

                      Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                      1 Reply Last reply
                      0
                      • M Marc Clifton

                        I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

                        Console.WriteLine("Storing resource from peer " + peer);

                        :wtf: Marc

                        Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                        C Offline
                        C Offline
                        CodeWraith
                        wrote on last edited by
                        #11

                        Marc Clifton wrote:

                        like, who the heck uses log4net anymore

                        I do. It seems to be my fate to keep 20+ year old application that have been ported to .Net alive. Often enough I'm hapy that a single library for loging has been used (at least most of the time). My own code also tends to get as old as a turtle and I would not be doing very much anymore if I always was ripping out libraries that are not fashionable enough anymore. Even Microsoft's efforts to drain all fun and motivation from those projects by changing everything, only to sell us yet another windows version, has not made me do that. The more they make me feel like a donkey that's being baited with a carrot, the less I'm inclined to play along. Don't fix it as long as it's not broken.

                        I need a perfect, to the point answer as I am not aware of this. Please don't reply explaining what method overloading is

                        M 1 Reply Last reply
                        0
                        • M Marc Clifton

                          I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

                          Console.WriteLine("Storing resource from peer " + peer);

                          :wtf: Marc

                          Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                          S Offline
                          S Offline
                          sir_download_alot
                          wrote on last edited by
                          #12

                          I understand your frustration but you get a solution that works for free and you still complain? Maybe you share your results with the community when you are done!?

                          M 1 Reply Last reply
                          0
                          • R rguilmette

                            Dihydrotestosterone

                            G Offline
                            G Offline
                            GKP1992
                            wrote on last edited by
                            #13

                            rguilmette wrote:

                            Dihydrotestosterone

                            :laugh:

                            I am not the one who knocks. I never knock. In fact, I hate knocking. Just barge in will'Ya?

                            1 Reply Last reply
                            0
                            • C CodeWraith

                              Marc Clifton wrote:

                              like, who the heck uses log4net anymore

                              I do. It seems to be my fate to keep 20+ year old application that have been ported to .Net alive. Often enough I'm hapy that a single library for loging has been used (at least most of the time). My own code also tends to get as old as a turtle and I would not be doing very much anymore if I always was ripping out libraries that are not fashionable enough anymore. Even Microsoft's efforts to drain all fun and motivation from those projects by changing everything, only to sell us yet another windows version, has not made me do that. The more they make me feel like a donkey that's being baited with a carrot, the less I'm inclined to play along. Don't fix it as long as it's not broken.

                              I need a perfect, to the point answer as I am not aware of this. Please don't reply explaining what method overloading is

                              M Offline
                              M Offline
                              maze3
                              wrote on last edited by
                              #14

                              CodeWraith wrote:

                              Don't fix it as long as it's not broken.

                              <sarcasm> Unless I wrote it, it is broken and requires changes. </sarcasm>

                              C 1 Reply Last reply
                              0
                              • M maze3

                                CodeWraith wrote:

                                Don't fix it as long as it's not broken.

                                <sarcasm> Unless I wrote it, it is broken and requires changes. </sarcasm>

                                C Offline
                                C Offline
                                CodeWraith
                                wrote on last edited by
                                #15

                                maze3 wrote:

                                <sarcasm> Unless I wrote it, it is broken and requires changes. </sarcasm>

                                How good to meet the guy who singlehandedly rewrote the OS and the .Net framework, just for warmups.

                                I need a perfect, to the point answer as I am not aware of this. Please don't reply explaining what method overloading is

                                M 1 Reply Last reply
                                0
                                • S sir_download_alot

                                  I understand your frustration but you get a solution that works for free and you still complain? Maybe you share your results with the community when you are done!?

                                  M Offline
                                  M Offline
                                  Marc Clifton
                                  wrote on last edited by
                                  #16

                                  hug.login wrote:

                                  but you get a solution that works for free and you still complain?

                                  Well, it doesn't quite work because it's entangled. ;) That said, I imagine that the same complaint can be made for code I have on GitHub.

                                  hug.login wrote:

                                  Maybe you share your results with the community when you are done!?

                                  That was the intent. Detangle it, understand thoroughly the implementation of the Kademlia algorithm, document it and post it on CP. Assuming that'll be my next article, that'll make 214 I've contributed to this site so far. :-\ Marc

                                  Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                                  T 1 Reply Last reply
                                  0
                                  • M Marc Clifton

                                    I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

                                    Console.WriteLine("Storing resource from peer " + peer);

                                    :wtf: Marc

                                    Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                                    F Offline
                                    F Offline
                                    Fabio Franco
                                    wrote on last edited by
                                    #17

                                    Marc Clifton wrote:

                                    What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff.

                                    I actually see myself writing this code a few years back. The thing is, I knew a lot, read a lot of books "BUT", have always worked on small projects, never on frameworks or libraries. I even got an MCC Award from Microsoft for my contributions to C# and Windows Forms. But I had never actually really understood or worked with the SOLID principles before. I hadn't read the GoF book or any other architectural design books, which were my main source of knowledge back then. I took me a while, to actually work on projects that implemented more sophisticated design patterns. But I still wrote a lot of very good code, using all advanced knowledge I had acquired about language and frameworks. I even wrote good code for embedded devices. What I believe contributed for my lack of knowledge on design patterns: - The companies I worked for never really understood the concept so they could spread it. - Lack of initiative to work and contribute to important open source projects. - Bad luck. I read a lot of books, should have gotten to a SOLID book. - Lack of engagement on coding communities in general, like participating of webinars, conferences, etc. My environment was never tech friendly, Brazil is a little late when it comes to tech. - Ignorance in general, when you don't know that you're missing something, it's hard to realize it.

                                    To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                                    1 Reply Last reply
                                    0
                                    • M Marc Clifton

                                      I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

                                      Console.WriteLine("Storing resource from peer " + peer);

                                      :wtf: Marc

                                      Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                                      D Offline
                                      D Offline
                                      Dan Neely
                                      wrote on last edited by
                                      #18

                                      Marc Clifton wrote:

                                      who the heck uses log4net anymore???

                                      What is your preferred logger these days then? It's probably been a decade since I've looked, and log4net filled 100% of my needs at the time and since (an idiot friendly way to barf into a textfile).

                                      Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                                      M 1 Reply Last reply
                                      0
                                      • M Marc Clifton

                                        I've been looking for an implementation of [Kademlia](https://en.wikipedia.org/wiki/Kademlia) in C# (not, it's not a disease) and found [this](https://github.com/zencoders/sambatyon/tree/master/Kademlia/Kademlia), which actually looks pretty good. It seems they have implemented all the concepts. The only problem is that their implementation is entangled with RavenDB, and the fact that they are using a DHT for an audio player, UDP transport layer (that's fine, but not for testing, where you want to completely spoof the transport layer), and other annoyances (like, who the heck uses log4net anymore???) and WCF bindings X| Why? Why can't people write a nice coherent, independent, library with proper inversion of control, interfaces, etc., that completely decouples the DHT from the specific application. :mad: Now I have to go through the code and extract all this shyte, which I *think* is still more efficient that rewriting/debugging everything from scratch. What's particularly disappointing is that code seems well written and documented, I would have expected better from the people that wrote this, given the quality of their stuff. The dichotomy makes me think they borrowed some stuff from somewhere else. Or, given that it's written by two people, maybe their architectural skills were orthogonal. :rolleyes: Example: Log4Net is used almost everywhere. But then...

                                        Console.WriteLine("Storing resource from peer " + peer);

                                        :wtf: Marc

                                        Latest Article - Create a Dockerized Python Fiddle Web App Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                                        K Offline
                                        K Offline
                                        Kirk 10389821
                                        wrote on last edited by
                                        #19

                                        Marc, We are trying to get rid of 40 year old Cobol code... So, while I feel your pain... I would LOVE .Net code using Log4Net()... Especially when you see code that "recognizes" it's on a development box, and runs differently! LOL.

                                        1 Reply Last reply
                                        0
                                        • D Dan Neely

                                          Marc Clifton wrote:

                                          who the heck uses log4net anymore???

                                          What is your preferred logger these days then? It's probably been a decade since I've looked, and log4net filled 100% of my needs at the time and since (an idiot friendly way to barf into a textfile).

                                          Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                                          M Offline
                                          M Offline
                                          Marc Clifton
                                          wrote on last edited by
                                          #20

                                          Dan Neely wrote:

                                          What is your preferred logger these days then?

                                          Granted, log4net is very cool, and one could probably write a plugin (if it doesn't already exist) to log to [PapertrailApp](https://papertrailapp.com/). I use that as my primary logging tool (nothing sensitive/secure is being sent to it of course) and the site's filtering features. That said, since I have the luxury of using my own code base for several projects, which utilizes a pub/sub architecture for messaging between objects, all messages can be logged, exceptions (as a final fallback) are handled by the pub/sub and logged, and I frequently log what Linq2SQL emits (again sanitized.) The logger is a service, I can replace it with a console logger or whatever (including emailing me exceptions only) so it's a pretty flexible setup. Marc

                                          Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                                          D N 2 Replies 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