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. Bug of the Day

Bug of the Day

Scheduled Pinned Locked Moved The Lounge
help
47 Posts 17 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.
  • C Chris Maunder

    string objectRefGuid = objectRef.ObjectTypeId.ToString() + PartDivider + objectRef.ObjectId;

    if (objectRef.VersionNumber > 0)
    objectRefGuid += PartDivider + objectRef.VersionNumber;

    ObjectTypeId is 1, ObjectId is 2, and VersionNumber is 3. PartDivider is '_'. The expected result was 1_2_3. The output was 1_298. :doh:

    cheers Chris Maunder

    Richard DeemingR Offline
    Richard DeemingR Offline
    Richard Deeming
    wrote on last edited by
    #2

    Implicit conversions are always a pain. :) More importantly, why is it called objectRef**Guid** when it doesn't contain a Guid?


    "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

    "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

    C 1 Reply Last reply
    0
    • C Chris Maunder

      string objectRefGuid = objectRef.ObjectTypeId.ToString() + PartDivider + objectRef.ObjectId;

      if (objectRef.VersionNumber > 0)
      objectRefGuid += PartDivider + objectRef.VersionNumber;

      ObjectTypeId is 1, ObjectId is 2, and VersionNumber is 3. PartDivider is '_'. The expected result was 1_2_3. The output was 1_298. :doh:

      cheers Chris Maunder

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

      Now assume you are really in a production Environment... Sorry to say that, but a lot what happens here is never allowed in production. Bruno

      C 1 Reply Last reply
      0
      • Richard DeemingR Richard Deeming

        Implicit conversions are always a pain. :) More importantly, why is it called objectRef**Guid** when it doesn't contain a Guid?


        "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

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

        Guid = globally unique identifier. In our case it's globally unique where we define "global" as being in the scope of the application. (It's kinda like the World Series ;))

        cheers Chris Maunder

        1 Reply Last reply
        0
        • L Lost User

          Now assume you are really in a production Environment... Sorry to say that, but a lot what happens here is never allowed in production. Bruno

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

          Enlighten us.

          cheers Chris Maunder

          L 3 Replies Last reply
          0
          • C Chris Maunder

            Enlighten us.

            cheers Chris Maunder

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

            I'm not able. But please, what I tried to say: In production environment downtimes Counts. A machine which can not produce because of IT Problems costs $ x/hour. And our customers Shows us (as the IT suppliers) the bill.

            1 Reply Last reply
            0
            • C Chris Maunder

              string objectRefGuid = objectRef.ObjectTypeId.ToString() + PartDivider + objectRef.ObjectId;

              if (objectRef.VersionNumber > 0)
              objectRefGuid += PartDivider + objectRef.VersionNumber;

              ObjectTypeId is 1, ObjectId is 2, and VersionNumber is 3. PartDivider is '_'. The expected result was 1_2_3. The output was 1_298. :doh:

              cheers Chris Maunder

              M Offline
              M Offline
              Maximilien
              wrote on last edited by
              #7

              Care to explain for those (me) who do not C# ? Someone say it is related to "Implicit conversions" ? Thanks.

              I'd rather be phishing!

              I 1 Reply Last reply
              0
              • C Chris Maunder

                Enlighten us.

                cheers Chris Maunder

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

                What's wrong is the developer asking "why" questions about their own production code - wrong role. In production the customers/users ask the "why" questions, to which developers are supposed to say "that's what you/they said you wanted/needed." The customer is king, but in their presence the developer is never wrong.

                Sin tack ear lol Pressing the any key may be continuate

                1 Reply Last reply
                0
                • C Chris Maunder

                  string objectRefGuid = objectRef.ObjectTypeId.ToString() + PartDivider + objectRef.ObjectId;

                  if (objectRef.VersionNumber > 0)
                  objectRefGuid += PartDivider + objectRef.VersionNumber;

                  ObjectTypeId is 1, ObjectId is 2, and VersionNumber is 3. PartDivider is '_'. The expected result was 1_2_3. The output was 1_298. :doh:

                  cheers Chris Maunder

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

                  PartDivider is a char?

                  Sin tack ear lol Pressing the any key may be continuate

                  C 1 Reply Last reply
                  0
                  • C Chris Maunder

                    string objectRefGuid = objectRef.ObjectTypeId.ToString() + PartDivider + objectRef.ObjectId;

                    if (objectRef.VersionNumber > 0)
                    objectRefGuid += PartDivider + objectRef.VersionNumber;

                    ObjectTypeId is 1, ObjectId is 2, and VersionNumber is 3. PartDivider is '_'. The expected result was 1_2_3. The output was 1_298. :doh:

                    cheers Chris Maunder

                    Z Offline
                    Z Offline
                    ZurdoDev
                    wrote on last edited by
                    #10

                    Is that what caused the CSS to go wack-a-doodle? :-D

                    There are two kinds of people in the world: those who can extrapolate from incomplete data. There are only 10 types of people in the world, those who understand binary and those who don't.

                    C 1 Reply Last reply
                    0
                    • C Chris Maunder

                      string objectRefGuid = objectRef.ObjectTypeId.ToString() + PartDivider + objectRef.ObjectId;

                      if (objectRef.VersionNumber > 0)
                      objectRefGuid += PartDivider + objectRef.VersionNumber;

                      ObjectTypeId is 1, ObjectId is 2, and VersionNumber is 3. PartDivider is '_'. The expected result was 1_2_3. The output was 1_298. :doh:

                      cheers Chris Maunder

                      A Offline
                      A Offline
                      Afzaal Ahmad Zeeshan
                      wrote on last edited by
                      #11

                      Oh, you mean this output[^]? I am sure the aftermath of that bug was really very graphical. See the layout.

                      The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~

                      L F 2 Replies Last reply
                      0
                      • M Maximilien

                        Care to explain for those (me) who do not C# ? Someone say it is related to "Implicit conversions" ? Thanks.

                        I'd rather be phishing!

                        I Offline
                        I Offline
                        Ian Shlasko
                        wrote on last edited by
                        #12

                        He's basically doing this:

                        "1_2" + '_' + 3

                        Note that the underscore is a character, not a string (Single quotes = char, Double quotes = string). So instead of both parts being converted to strings to form "_3", it's treating the character as a number (ASCII code 95), adding 3 to it, THEN converting it to a string... So it becomes "1_2" + "98" Very subtle. I like it.

                        Proud to have finally moved to the A-Ark. Which one are you in?
                        Author of the Guardians Saga (Sci-Fi/Fantasy novels)

                        J M B 3 Replies Last reply
                        0
                        • A Afzaal Ahmad Zeeshan

                          Oh, you mean this output[^]? I am sure the aftermath of that bug was really very graphical. See the layout.

                          The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~

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

                          Connect your cable, you're low on battery.

                          Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)

                          A 1 Reply Last reply
                          0
                          • I Ian Shlasko

                            He's basically doing this:

                            "1_2" + '_' + 3

                            Note that the underscore is a character, not a string (Single quotes = char, Double quotes = string). So instead of both parts being converted to strings to form "_3", it's treating the character as a number (ASCII code 95), adding 3 to it, THEN converting it to a string... So it becomes "1_2" + "98" Very subtle. I like it.

                            Proud to have finally moved to the A-Ark. Which one are you in?
                            Author of the Guardians Saga (Sci-Fi/Fantasy novels)

                            J Offline
                            J Offline
                            Jeremy Falcon
                            wrote on last edited by
                            #14

                            You know... point one for loosely typed languages. I submit this... JSFiddle[^] Not that I have anything against strongly typed languages, I just smile at those that think it's the answer to everything including poverty and cancer.

                            Jeremy Falcon

                            Sander RosselS 1 Reply Last reply
                            0
                            • L Lost User

                              Connect your cable, you're low on battery.

                              Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)

                              A Offline
                              A Offline
                              Afzaal Ahmad Zeeshan
                              wrote on last edited by
                              #15

                              So, the pixels flattened due to the empty space, I guess?

                              The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~

                              L 1 Reply Last reply
                              0
                              • A Afzaal Ahmad Zeeshan

                                So, the pixels flattened due to the empty space, I guess?

                                The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~

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

                                Afzaal Ahmad Zeeshan wrote:

                                So, the pixels flattened due to the empty space, I guess?

                                No, just forgot to run my Bit Recycler[^]. It is like defragmenting, but for the bits. :rolleyes:

                                Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)

                                1 Reply Last reply
                                0
                                • A Afzaal Ahmad Zeeshan

                                  Oh, you mean this output[^]? I am sure the aftermath of that bug was really very graphical. See the layout.

                                  The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~

                                  F Offline
                                  F Offline
                                  Foothill
                                  wrote on last edited by
                                  #17

                                  I thought that I was the only one who still uses GIMP. ;)

                                  if (Object.DividedByZero == true) { Universe.Implode(); } Meus ratio ex fortis machina. Simplicitatis de formae ac munus. -Foothill, 2016

                                  J B B 3 Replies Last reply
                                  0
                                  • J Jeremy Falcon

                                    You know... point one for loosely typed languages. I submit this... JSFiddle[^] Not that I have anything against strongly typed languages, I just smile at those that think it's the answer to everything including poverty and cancer.

                                    Jeremy Falcon

                                    Sander RosselS Offline
                                    Sander RosselS Offline
                                    Sander Rossel
                                    wrote on last edited by
                                    #18

                                    That has nothing to do with the fact that JS is loosely typed, but the fact that JS doesn't have a char type. So '_' is just a string, equivalent to "_", and thus 3 is concatenated as though it was a string. C# would have done the same if '_' was a string and not a char. Basically, it's not loosely typed, but poorly typed :)

                                    Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly

                                    J 2 Replies Last reply
                                    0
                                    • I Ian Shlasko

                                      He's basically doing this:

                                      "1_2" + '_' + 3

                                      Note that the underscore is a character, not a string (Single quotes = char, Double quotes = string). So instead of both parts being converted to strings to form "_3", it's treating the character as a number (ASCII code 95), adding 3 to it, THEN converting it to a string... So it becomes "1_2" + "98" Very subtle. I like it.

                                      Proud to have finally moved to the A-Ark. Which one are you in?
                                      Author of the Guardians Saga (Sci-Fi/Fantasy novels)

                                      M Offline
                                      M Offline
                                      Maximilien
                                      wrote on last edited by
                                      #19

                                      Cute. Thanks.

                                      I'd rather be phishing!

                                      1 Reply Last reply
                                      0
                                      • Sander RosselS Sander Rossel

                                        That has nothing to do with the fact that JS is loosely typed, but the fact that JS doesn't have a char type. So '_' is just a string, equivalent to "_", and thus 3 is concatenated as though it was a string. C# would have done the same if '_' was a string and not a char. Basically, it's not loosely typed, but poorly typed :)

                                        Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly

                                        J Offline
                                        J Offline
                                        Jeremy Falcon
                                        wrote on last edited by
                                        #20

                                        It has everything to do with it bro, there is no char type in JS.... because it's loosely typed. Btw, the sky is blue. ;)

                                        Jeremy Falcon

                                        1 Reply Last reply
                                        0
                                        • Sander RosselS Sander Rossel

                                          That has nothing to do with the fact that JS is loosely typed, but the fact that JS doesn't have a char type. So '_' is just a string, equivalent to "_", and thus 3 is concatenated as though it was a string. C# would have done the same if '_' was a string and not a char. Basically, it's not loosely typed, but poorly typed :)

                                          Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly

                                          J Offline
                                          J Offline
                                          Jeremy Falcon
                                          wrote on last edited by
                                          #21

                                          This the part where you say, oh but it has some types... go on... do it. ;P

                                          Jeremy Falcon

                                          Sander RosselS 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