tag:blogger.com,1999:blog-14307486.post22240248587276861..comments2024-03-28T11:24:13.222+00:00Comments on theatre of noise: Friendly Readable ID Stringsrobinhttp://www.blogger.com/profile/08743788064455642852noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-14307486.post-27741331749345424422007-08-08T20:36:00.000+01:002007-08-08T20:36:00.000+01:00Dude, that is a terrifically creative idea.Dude, that is a terrifically creative idea.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-14307486.post-29344029319781153442007-08-09T20:17:00.000+01:002007-08-09T20:17:00.000+01:00I've seen this long ago with password generato...I've seen this long ago with password generators, and it's for the same reason: it's much easier to remember something that looks like a word. The one I remember from LambdaMOO also took care to avoid some of the obvious combinations that looked obscene, though it's impossible to get all of them. Imagine one of your users saying "process sukapenis is hung"? (huh huh..huh)Chuck Adamshttp://www.blogger.com/profile/12403744972060658849noreply@blogger.comtag:blogger.com,1999:blog-14307486.post-53568084831118834302007-08-09T22:33:00.000+01:002007-08-09T22:33:00.000+01:00Instead of keeping a list of generated names I wou...Instead of keeping a list of generated names I would append a unique number to the end of the generated word. Even a thread safe accumulator would guarentee uniqueness across the life time of the process.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-14307486.post-55136966603165292572007-08-10T05:31:00.000+01:002007-08-10T05:31:00.000+01:00You can also precompute a list of character combin...You can also precompute a list of character combinations:<br><br>alternating = [consonants, wovels]<br><br>And then use map:<br><br>"".join(map(choice, alternating))<br><br>Of course, with this method you can also build several variants of acceptable consonant-wovel combinations, such as vccvcvcc (abbarocks) or allow capital letters (at least for the first letter) and so on.<br><br>You can also add these in a list and then pick one randomly from those.<br><br>I would not use a list for storing the used IDs however. If the list is large and the search fails, that's a LIMIT * len(list) operations. A set would be more applicable. Or perhaps even a binary search tree =)Antti Rasinenhttp://www.iki.fi/ars/noreply@blogger.comtag:blogger.com,1999:blog-14307486.post-47261458665625396712007-08-10T13:51:00.000+01:002007-08-10T13:51:00.000+01:00The unique version returns a non-unique id after L...The unique version returns a non-unique id after LIMIT attempts; shouldn't it do something else? Returning a non-unique id may cause huge problems later.<br><br>Perhaps a better way would be to use the numbers from a PRNG and map those onto pronouncable words, discarding unpronouncable ones. That way, you know the period of the PRNG is large, that you're discarding only 66% of them, and you only have to remember the current seed to resume where you left off, not a list of all previously returned ones.<br><br>Cheers, Ralph.Ralph Corderoynoreply@blogger.comtag:blogger.com,1999:blog-14307486.post-26878167566424671002007-08-15T17:47:00.000+01:002007-08-15T17:47:00.000+01:00Very nice even if one of my first generated values...Very nice even if one of my first generated values was diketude! Try explaining that one to the QA staff ;-)Davidhttp://www.blogger.com/profile/12641765782723140213noreply@blogger.comtag:blogger.com,1999:blog-14307486.post-78092817175139677752007-08-16T21:52:00.000+01:002007-08-16T21:52:00.000+01:00You might want to check out Yould. Maybe a bit too...You might want to check out Yould. Maybe a bit too overkill for given purposes, but I'm using it as a great way to automatically create strong easily memorizable passwords. Had to extend it with arbitrary length markov chains to support my own language - we routinely have three consonants in a row and the default chain length generated a lot of unpronouncable words with four or more consonants in a row.Ants Aasmahttp://www.blogger.com/profile/11737116288329565280noreply@blogger.com