Rounding up slightly I have spent 10 hours this week redesigning the notification and form submission system… Actually, I seriously just thought of something else I missed.
So now that I’ve spent 10 hours on the completed notification and form submission system I’ve come to the point where I want to toss out all the old code that is taking up space in my project. I’m happy to see it go because it really cleans up the project but I don’t want to actually delete it forever so this post will serve as it’s final resting place. Well this code is being saved primarily for nostalgia’s sake I feel some programmers, especially those that are just starting out, would like to pick these apart and see the not so beautiful development process in action. For starters let me share with you a picture showing the layout of events these scripts were trying to accomplish. Early on as I developed these scripts it hit me that things were getting way out of hand so I stopped and mocked everything up to come up with a new plan of attack.
So I got distracted but in a good way. I realized as I was coding up the login system for the LMS Project (my Bachelor’s Degree Senior Project) that I’m going to need some kind of ID (unique identifier hashing) for Hive and almost four hours later I have a working but extremely broken YouTube-esque unique identifier hashing algorithm.
First let me lay out the background research. Naturally I Google searched like crazy and came up with a ton of resources but the first thing that actually caught my attention long enough to be of use was Instagram’s Sharding & IDs at Instagram article. To be honest it hurt my head trying to understand it but it lead me to eventually find Hashids which looked promising. After picking apart what Hashids does though its not exactly for me. My goal is more YouTube minded where I create a unique identifier that is not based off a auto incremented database column. Hashids does a decent job at hiding the original integer ID but I like the security and ease of scale of YouTube’s video URL hash. With YouTube’s algorithm you can not just switch around a few letters or numbers and easily pull up hidden videos and when need you can allow the ID to be bigger than the current 11 character limit. Currently the algorithm has 6411 possibilities, in non-math speak 73,786,976,294,838,206,464 possibilities, but can really be represented as 64n since they do not seem to check for curses: bad words that accidentally get generated. This is about the time that I stumbled upon this awesome video.