The Quick Guide to GUIDs

[…] Die Website (http://createGUID.com) als Bookmark speichern und bei GUID-Bedarf dort eins abholen - schnell und unkompliziert. (GUIDs explained) Tipp: den RSS-Feed dieses Blogs abonnieren. […]

For those who need GUIDs here a link to a very minimal GUID generator: http://createguid.com

I find it somewhat confusing. Is it necessary to have a guid in order for updates to be sent to let’s say a person subscribing to a feed via email. If not is it based on pubdate or lastbuild.
Now suppose the feeds are single feeds such as in a list of something and each has its own xml file. My feeds are single lists and am using perl to update the pubdate and lastbuildDate to todays date if the list has changed. Using feedburner/feedblitz to take care of distribution to users. However, feedlblitz support says the feeds may not work without the guid changing (test of email feeds appears to work without a guid) but there are so many I can’t subscribe to each and everyone. So, if I do need to create a guid, I have no clue how to do this using the generator mentioned here and how to insert into the xml file when the list has been updated. I’m not very good at perl or php but am trying. Thanks.

Hi J. Daniels,

I’m not that familiar with the details of Feedburner feeds, but from a GUID perspective they need to be unique for each item. So if you change a feed then the GUID may need to change also. Hope this helps.

[…] The right and wrong way to create unique data for tests. I have noticed some code in various places that creates some conditions for mysterious test failures. You know the kind; “It works on my machine but will never seem to run in the lab.” In our tests its sometimes desirable to have a unique identifier. There are a lot of possible ways to create this data, but only one is sure fire. Use GUIDS. Let’s say we are creating ID strings for whatever reason.  The right way: Use GUIDs. string uniqueString = Guid.NewGuid().ToString(“N”); //N removes punctuation to keep the length to 32. Guids are designed to be unique. Don’t worry about collisions. Don’t worry about running out. If you can afford the 32 characters, use a GUID. Hint: Guids are hexadecimal numbers. If you need to “compress” one you can get a 32 digit GUID into 13 digits by converting it to base64.   The appealing wrong way: Combine the time with a random number.             Random random = new Random();             string uniqueString = DateTime.Now.ToString() + random.Next(1000); //Random doesn’t mean “no duplicates!”. You are prone to the Birthday Paradox.   You can fiddle with the time output to get this down to about 20 characters.  If your tests run in 1/100th of a second or concurrent runs you will run into problems due to the birthday paradox.   The really wrong ways: Time only, Random Only.         string uniqeName = “MyTests” + DateTime.Now.ToString();//If you run this too fast or concurrently you will get duplicates. Easy to do! Or         private static Random random = new Random();         String uniqueName = random.Next().ToString(CultureInfo.InvariantCulture); //Random doesn’t mean “no duplicates!”. You are prone to the Birthday Paradox.   Published Monday, November 03, 2008 9:55 PM by SaintD […]

My children have GUID numbers for their school I’ve noticed and that is why I was trying to figure out what this exactly is. So, I take it these numbers are just used internally…just the school district itself for their use? Or is this number used nation wide? They attend a Charter School and I wanted to know what this number was and what they used it for. Can you give me some idea and if this is something they generate within the district or is it a number generated from the government?

You used the URL “http://en.wikipedia.org/wiki/Uuid#Random_UUID_Probability_of_Duplicates” for a link, when the URL should be “http://en.wikipedia.org/wiki/Uuid#Random_UUID_probability_of_duplicates” because the id used in the HTML is “Random_UUID_probability_of_duplicates”, not “Random_UUID_Probability_of_Duplicates”.

[…] Bill Dancer and his young companion Curly Sue are the classic homeless folks with hearts of gold. Curly Sue. Their scams are aimed not at turning a profit, but at getting enough to eat. When they scam the rich and beautiful Grey Ellison into believing she backed her Mercedes into Bill, they’re only hoping for a free meal. But Grey is touched, and over the objections of her snotty fiance, insist on putting the two up for the night. As they get to know each other, Bill becomes convinced that this is where Curly Sue belongs - in a home, cared for by someone that can give her the advantages that his homeless, nomadic existence lacks. He plans to leave the young girl in the care of Grey and take off… but Curly Sue has other ideas! Download […]

[…] Sidenote: In case you’re curious, that long, weird looking string of numbers and letters is called a GUID (globally unique identifier). […]

[…] Distributed version control focuses on sharing changes; every change has a guid or unique id. […]

[…] addresses information by a hash (GUID) of its contents. If two branches are the same, they have the same GUID (and vice […]

2^128 has 39 digits, not 38 as you mention in your article.

[…] site content. [GUID = Globally Unique Identifier. Here’s an easy-read explanation of a GUID: http://betterexplained.com/articles/the-quick-guide-to-guids/] PSConfig UI also creates the SharePoint_Config database which stores all configurations for the […]

[…] Source: http://betterexplained.com/articles/the-quick-guide-to-guids/ […]

> Easily combined: You can merge GUIDs from different data sources very easily with a low chance of conflict.

This bullet is under “The Problem with GUIDs”?

@Karen: A GUID is basically a giant random number, so its use/sharing is up to the person who created it. But most likely it’s just used within the school, you’d have to check.

@Calvin: Link updated.

@Petr: Thanks, updated. Great catch, 3.4 * 10^38 has 39 digits.

@Joe: Whoops, great point – I reorganized that section.

@Kalid: Ok good I thought maybe something went way over my head when I saw that as a con.

Thanks for the revision. And while I’m at it, thanks for making your insights available to everyone. After reading just one article, I knew this would be a site I’d share often.

@Joe: You’re welcome, thanks again for the catch (reading again, I don’t know how I missed that the first time!). Glad you’re enjoying the site.

In terms of GUID collision, I think the issue isn’t how many potential GUIDs could exist within the type length, but how we create new ones.
An example, using the time+MacAddress GUID algorithm; what happens when two GUIDs are created on the same computer at the same time?
This can occur in a multiple processor machine where two or more CPUs are running threads that create GUIDs. Potentially they could both create a GUID at the same time, or put it another way 'within the same timeframe as defined by the resolution of the clock speed’
Being on the same computer could mean both threads use the same MAC address. Same time, same mac address results in the potential for the same GUID in both threads.
Still very very low likelyhood of occurance, but definitely possible.

[…] http://betterexplained.com/articles/the-quick-guide-to-guids/ [it explains very well, definitely you will understand] […]