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. what a lousy job Chris Munder and his buddies have done with this thread management.

what a lousy job Chris Munder and his buddies have done with this thread management.

Scheduled Pinned Locked Moved The Lounge
data-structuresquestiondiscussioncareer
32 Posts 18 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.
  • E Edd

    Could it be that chris and his buddies can't do effective tree management? I am trying hard not to think that is the case, but that's the only way my thoughts are lining. Too many threads renagading.

    D Offline
    D Offline
    Daniel Ferguson
    wrote on last edited by
    #4

    Edd wrote: I am trying hard not to think It's working. "Until you spoke, and showed me understanding is a dream"
    - How Beautiful You Are, The Cure

    R 1 Reply Last reply
    0
    • E Edd

      Could it be that chris and his buddies can't do effective tree management? I am trying hard not to think that is the case, but that's the only way my thoughts are lining. Too many threads renagading.

      C Offline
      C Offline
      Chris Maunder
      wrote on last edited by
      #5

      When you have a clue, some suggestions on how to help alleviate the problem and a spell checker then I'll discuss the issue with you. FYI I did make some changes today that I hope will reduce the problem but until I get the time to rewrite the entire thing the best thing to do is write me a polite email and ask me to fix up whichever thread is playing up. It's called courtesy. cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

      S L E D S 7 Replies Last reply
      0
      • D Daniel Ferguson

        Edd wrote: I am trying hard not to think It's working. "Until you spoke, and showed me understanding is a dream"
        - How Beautiful You Are, The Cure

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

        Daniel Ferguson wrote: Edd wrote: I am trying hard not to think A Gross misrepresentation of what he wrote, but I agree :-D Roger Allen Sonork 100.10016 If I had a quote, it would be a very good one.

        1 Reply Last reply
        0
        • E Edd

          Could it be that chris and his buddies can't do effective tree management? I am trying hard not to think that is the case, but that's the only way my thoughts are lining. Too many threads renagading.

          M Offline
          M Offline
          MS le Roux
          wrote on last edited by
          #7

          I've always found the thread bug very odd. Doesn't each thread contain its own ID and its parent thread's ID? Perhaps the bug occurs in the incorrect parent thread ID being sent when you reply to a post?

          C 1 Reply Last reply
          0
          • C Chris Maunder

            When you have a clue, some suggestions on how to help alleviate the problem and a spell checker then I'll discuss the issue with you. FYI I did make some changes today that I hope will reduce the problem but until I get the time to rewrite the entire thing the best thing to do is write me a polite email and ask me to fix up whichever thread is playing up. It's called courtesy. cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

            S Offline
            S Offline
            Steve Hopkins
            wrote on last edited by
            #8

            kill -9 Edd (what is the smiley for "ignorant sod"?) if(E_NOINTERFACE == pThat->QueryInterface(IID_IUnknown,(void**)&pUnk)) { // I aint no pUnk bitch! }

            1 Reply Last reply
            0
            • M MS le Roux

              I've always found the thread bug very odd. Doesn't each thread contain its own ID and its parent thread's ID? Perhaps the bug occurs in the incorrect parent thread ID being sent when you reply to a post?

              C Offline
              C Offline
              Chris Maunder
              wrote on last edited by
              #9

              Each message knows it's parent so all thread info is there (meaning we can rethread when necessary). The issue is that in order to display the messages in the correct order as fast as possible we need to calculate a 'position' value that orders the message according to it's parent and siblings. The position contains the order of the message relative to each level of indentation of the message (so we can have nested threads), so in order to get the correct position value for a given message at the given thread indentation level we need to dynamically search for the highest position value in that thread, at that indendation level, add 1, and use this. Using a look up table is impracticle because each forum has thousands of threads, and each thread has multiple subthreads. So - the problem occurs when two messages are posted simultaneously. If they are both in the same thread at the same indentation level and both query for the next position value before one of them has had a chance to plant it's flag and say 'I'm here' then they end up with the same position value. There are a number of ways to get around this - ranging from a complete overhaul of the method used to display the information (so that this type of pre-calculated 'position' value is not necessary) through to revamping of the way the position value is obtained. It would be interesting to see what ideas others have for this scenario. cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

              T 1 Reply Last reply
              0
              • C Chris Maunder

                Each message knows it's parent so all thread info is there (meaning we can rethread when necessary). The issue is that in order to display the messages in the correct order as fast as possible we need to calculate a 'position' value that orders the message according to it's parent and siblings. The position contains the order of the message relative to each level of indentation of the message (so we can have nested threads), so in order to get the correct position value for a given message at the given thread indentation level we need to dynamically search for the highest position value in that thread, at that indendation level, add 1, and use this. Using a look up table is impracticle because each forum has thousands of threads, and each thread has multiple subthreads. So - the problem occurs when two messages are posted simultaneously. If they are both in the same thread at the same indentation level and both query for the next position value before one of them has had a chance to plant it's flag and say 'I'm here' then they end up with the same position value. There are a number of ways to get around this - ranging from a complete overhaul of the method used to display the information (so that this type of pre-calculated 'position' value is not necessary) through to revamping of the way the position value is obtained. It would be interesting to see what ideas others have for this scenario. cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

                T Offline
                T Offline
                Thomas Freudenberg
                wrote on last edited by
                #10

                Which DB design does CP use? Currently I am writing an ASP.NET forum myself, and I am thinking to use following design: SQL for Threaded Discussion Forums [Paul]. Regards Thomas Sonork id: 100.10453 Thömmi


                Disclaimer:
                Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you.

                C 1 Reply Last reply
                0
                • E Edd

                  Could it be that chris and his buddies can't do effective tree management? I am trying hard not to think that is the case, but that's the only way my thoughts are lining. Too many threads renagading.

                  P Offline
                  P Offline
                  Paul Watson
                  wrote on last edited by
                  #11

                  Edd wrote: what a lousy job Chris Munder and his buddies have done Could you be any more ungrateful? I would like to see you run a huge website like CodeProject with basically zero funding and only your fingernails as support! There are some people we certainly don't need. :mad: regards, Paul Watson Bluegrass Cape Town, South Africa The greatest thing you'll ever learn is just to love, and to be loved in return - Moulin Rouge Brian Delahunty wrote: one of my boys on the inside instead of the outside benjymous wrote: All the male CP inhabitants cross their legs in unison

                  J 1 Reply Last reply
                  0
                  • T Thomas Freudenberg

                    Which DB design does CP use? Currently I am writing an ASP.NET forum myself, and I am thinking to use following design: SQL for Threaded Discussion Forums [Paul]. Regards Thomas Sonork id: 100.10453 Thömmi


                    Disclaimer:
                    Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you.

                    C Offline
                    C Offline
                    Chris Maunder
                    wrote on last edited by
                    #12

                    Very similar to that, except that we have a 'position' field that requires sorting by a single column instead of the two columns that uses. Their idea is excellent though - I may adapt mine to use that instead since it would save on storage (or position field is large). Thanks for the link! cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

                    T 1 Reply Last reply
                    0
                    • C Chris Maunder

                      Very similar to that, except that we have a 'position' field that requires sorting by a single column instead of the two columns that uses. Their idea is excellent though - I may adapt mine to use that instead since it would save on storage (or position field is large). Thanks for the link! cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

                      T Offline
                      T Offline
                      Thomas Freudenberg
                      wrote on last edited by
                      #13

                      Chris Maunder wrote: Very similar to that, except that we have a 'position' field that requires sorting by a single column instead of the two columns that uses. As far as I understand this means you have to update many records, if someone posts to an older thread, doesn't it? IMHO the most difficult point is to find a balance between simple DB design and fast reading/writing. As I already told, I am currently designing my own forum, so please can you tell me the relation between select's and insert's/update's in the fora at CP? However, you do a great job w/ CP! Definitely. :) Regards Thomas Sonork id: 100.10453 Thömmi


                      Disclaimer:
                      Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you.

                      C 1 Reply Last reply
                      0
                      • P Paul Watson

                        Edd wrote: what a lousy job Chris Munder and his buddies have done Could you be any more ungrateful? I would like to see you run a huge website like CodeProject with basically zero funding and only your fingernails as support! There are some people we certainly don't need. :mad: regards, Paul Watson Bluegrass Cape Town, South Africa The greatest thing you'll ever learn is just to love, and to be loved in return - Moulin Rouge Brian Delahunty wrote: one of my boys on the inside instead of the outside benjymous wrote: All the male CP inhabitants cross their legs in unison

                        J Offline
                        J Offline
                        Joao Vaz
                        wrote on last edited by
                        #14

                        Paul Watson wrote: Could you be any more ungrateful? I would like to see you run a huge website like CodeProject with basically zero funding and only your fingernails as support! I'll second that ! Cheers, Joao Vaz A person who is nice to you, but rude to the waiter, is not a nice person - Natalie Portman (Padme/Amidala of Star Wars)

                        1 Reply Last reply
                        0
                        • T Thomas Freudenberg

                          Chris Maunder wrote: Very similar to that, except that we have a 'position' field that requires sorting by a single column instead of the two columns that uses. As far as I understand this means you have to update many records, if someone posts to an older thread, doesn't it? IMHO the most difficult point is to find a balance between simple DB design and fast reading/writing. As I already told, I am currently designing my own forum, so please can you tell me the relation between select's and insert's/update's in the fora at CP? However, you do a great job w/ CP! Definitely. :) Regards Thomas Sonork id: 100.10453 Thömmi


                          Disclaimer:
                          Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you.

                          C Offline
                          C Offline
                          Chris Maunder
                          wrote on last edited by
                          #15

                          Thomas Freudenberg wrote: As far as I understand this means you have to update many records, if someone posts to an older thread, doesn't it? No - it's only 1 record that is added regardless of where the message is entered. Thomas Freudenberg wrote: IMHO the most difficult point is to find a balance between simple DB design and fast reading/writing. As I already told, I am currently designing my own forum, so please can you tell me the relation between select's and insert's/update's in the fora at CP? The SELECT is a simple "SELECT * FROM Posts WHERE forum=n ORDER BY Position" Take a look at the version Uwe posted: The Code Project Discussion boards Thomas Freudenberg wrote: However, you do a great job w/ CP ta :) cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

                          T L 2 Replies Last reply
                          0
                          • C Chris Maunder

                            When you have a clue, some suggestions on how to help alleviate the problem and a spell checker then I'll discuss the issue with you. FYI I did make some changes today that I hope will reduce the problem but until I get the time to rewrite the entire thing the best thing to do is write me a polite email and ask me to fix up whichever thread is playing up. It's called courtesy. cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

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

                            Chris Maunder wrote: When you have a clue, some suggestions on how to help alleviate the problem and a spell checker then I'll discuss the issue with you. Are al putdowns from Canberra this polite? :-D Chris Maunder wrote: ...but until I get the time to rewrite the entire thing... I thought this would be a quickie before breakfast kind of a thing for you. ;P Michael Martin Australia mjm68@tpg.com.au "In Summer, I like to dance naked on the roof to celebrate the event of the temperature finally falling below 40C (usually about midnight). But the neighbors have lately taken up the habit of staying up late. And looking up, at times, from their dreary, pointless lives..." - Roger Wright 15/05/2002

                            1 Reply Last reply
                            0
                            • C Chris Maunder

                              Thomas Freudenberg wrote: As far as I understand this means you have to update many records, if someone posts to an older thread, doesn't it? No - it's only 1 record that is added regardless of where the message is entered. Thomas Freudenberg wrote: IMHO the most difficult point is to find a balance between simple DB design and fast reading/writing. As I already told, I am currently designing my own forum, so please can you tell me the relation between select's and insert's/update's in the fora at CP? The SELECT is a simple "SELECT * FROM Posts WHERE forum=n ORDER BY Position" Take a look at the version Uwe posted: The Code Project Discussion boards Thomas Freudenberg wrote: However, you do a great job w/ CP ta :) cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

                              T Offline
                              T Offline
                              Thomas Freudenberg
                              wrote on last edited by
                              #17

                              Chris Maunder wrote: Take a look at the version Uwe posted: The Code Project Discussion boards I see. So it is something like mentioned in the comments of the article I referenced in my previous post? Regards Thomas Sonork id: 100.10453 Thömmi


                              Disclaimer:
                              Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you.

                              C 1 Reply Last reply
                              0
                              • T Thomas Freudenberg

                                Chris Maunder wrote: Take a look at the version Uwe posted: The Code Project Discussion boards I see. So it is something like mentioned in the comments of the article I referenced in my previous post? Regards Thomas Sonork id: 100.10453 Thömmi


                                Disclaimer:
                                Because of heavy processing requirements, we are currently using some of your unused brain capacity for backup processing. Please ignore any hallucinations, voices or unusual dreams you may experience. Please avoid concentration-intensive tasks until further notice. Thank you.

                                C Offline
                                C Offline
                                Chris Maunder
                                wrote on last edited by
                                #18

                                It's exactly that. cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

                                1 Reply Last reply
                                0
                                • C Chris Maunder

                                  Thomas Freudenberg wrote: As far as I understand this means you have to update many records, if someone posts to an older thread, doesn't it? No - it's only 1 record that is added regardless of where the message is entered. Thomas Freudenberg wrote: IMHO the most difficult point is to find a balance between simple DB design and fast reading/writing. As I already told, I am currently designing my own forum, so please can you tell me the relation between select's and insert's/update's in the fora at CP? The SELECT is a simple "SELECT * FROM Posts WHERE forum=n ORDER BY Position" Take a look at the version Uwe posted: The Code Project Discussion boards Thomas Freudenberg wrote: However, you do a great job w/ CP ta :) cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

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

                                  Chris Maunder wrote: "SELECT * FROM Posts WHERE forum=n ORDER BY Position" Chris, you're not really doing a "select *" are you? replace the * with the explicit column names, this will remove the need for sql to query column names on every execution now sql will optimize this if it is a stored procedure, but it will still check on each execute if the table's schema has changed,, explicitly naming columns is faster for both direct sql submission or stored procedures -John

                                  C 1 Reply Last reply
                                  0
                                  • C Chris Maunder

                                    When you have a clue, some suggestions on how to help alleviate the problem and a spell checker then I'll discuss the issue with you. FYI I did make some changes today that I hope will reduce the problem but until I get the time to rewrite the entire thing the best thing to do is write me a polite email and ask me to fix up whichever thread is playing up. It's called courtesy. cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

                                    E Offline
                                    E Offline
                                    Edd
                                    wrote on last edited by
                                    #20

                                    oh... don't give me that courtesy crap. You think u're doing anyone here a f*ckin favor? please... Your ads and microsoft sponsorship data is not renagading, but the forum isn't generating money, so let it stink. I think when there's a problem for this long, it needs to be pointed out, and there's no need to insult me for that.

                                    D 1 Reply Last reply
                                    0
                                    • C Chris Maunder

                                      When you have a clue, some suggestions on how to help alleviate the problem and a spell checker then I'll discuss the issue with you. FYI I did make some changes today that I hope will reduce the problem but until I get the time to rewrite the entire thing the best thing to do is write me a polite email and ask me to fix up whichever thread is playing up. It's called courtesy. cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

                                      E Offline
                                      E Offline
                                      Edd
                                      wrote on last edited by
                                      #21

                                      I bet if this was one of your money making scheems, this problem would not have been existing for this long.

                                      1 Reply Last reply
                                      0
                                      • E Edd

                                        Could it be that chris and his buddies can't do effective tree management? I am trying hard not to think that is the case, but that's the only way my thoughts are lining. Too many threads renagading.

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

                                        What a thoroughly venal comment! I suggest that you demonstrate the proper way to do this by establishing your own site and providing content of equal quality without any minor glitches. Alternatively, in case you're of a mind to actually contribute something of worth, you might submit an article that illustrates a truly foolproof algorithm for properly handling simultaneous posts. I Drowned Schroedinger's Stupid Cat!

                                        1 Reply Last reply
                                        0
                                        • C Chris Maunder

                                          When you have a clue, some suggestions on how to help alleviate the problem and a spell checker then I'll discuss the issue with you. FYI I did make some changes today that I hope will reduce the problem but until I get the time to rewrite the entire thing the best thing to do is write me a polite email and ask me to fix up whichever thread is playing up. It's called courtesy. cheers, Chris Maunder Rub your belly and pat your head simultaneously. Sometimes that helps me make sense of things - Jon Sagara

                                          D Offline
                                          D Offline
                                          Domenic Denicola
                                          wrote on last edited by
                                          #23

                                          I think Edd needs a ban :~

                                          -Domenic Denicola- [CPUA 0x1337] MadHamster Creations "I was born human. But this was an accident of fate - a condition merely of time and place. I believe it's something we have the power to change..."

                                          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