So lately I have been trying to pay extra attention to interesting mergers of technology. Normally the way I've always seen things is combinations of technology, however combinations by themselves don't convey whether that combination is good or bad. However Chords do, when I think of Technology chords, I can better understand that it may be a unique combination, however it doesn't sound good.
This entire thought process was sparked by an interesting merger of two web technologies that I found particularly fascinating. It was taking Captcha, and instead of computer generated words, doing marketing messages instead. It was a great merger of two completely non–adjacent ideas and it made an interesting business out of it. Two notes that nobody has thought to put together yet, and it works, who would have thought!
I love developing web technologies that affect how people use the Internet. I will continue creating, and one day, I hope to create something that will shape the web in some new way. Until then I'll keep trying whatever chords of technology I can think of, and see whether or not they great together. Even if they sound terrible, at least I'll know and I can move on from there having learned something new, and enjoyed the process of creation.
So everyone who has ever done a form in HTML knows form elements are clear text on the client side. But what if you want to disguise the actual value from the client? It isn't hard with a tool like Firebug to investigate the values that are in a form.
So I wanted to write a little bit about what I have come up with in the past few years, if for no other reason than to remind myself of things I have done previously.
Originally when I wanted to encode something, I wrote a function called "encode", simple right? Basically it worked like this. It would first look at the value it was passed, and try to determine if it had already been encoded. This was primarily checked based on a common header. It was fast to run, and seemed to give me what I desired, some obfuscation.
The next iteration I did involved IDs. I wanted a better way to store an ID that was passed to the browser, so it wouldn't be so obvious what it was. Also to prevent modification by +1 or –1 and have that result in a valid row as well.
I did this by doing some mathematical operations on the ID, followed by appending onto the beginning a non–numerical header. Then when I want to get the ID, I can first test if it is encoded properly, and second, I can reverse it to get the ID. Without the formula, you could derive the formula based on a large enough sample, however I figured it would discourage enough wannabe's that it was worth it.
And the last one I did was a confirmation code. Now my confirmation codes aren't really anything too fancy. They were designed to resemble Software License Keys. I didn't intend for anyone to have to enter one, but I did plan on it being a license in a way.
The key was made up of 5 parts, of 4 digits each, the last section being a control over the previous 4 parts. Using this as well as a timeout system, I could control a duration of validity on certain form requests.
Anyway, those are the encoding measures I can think of that were interesting to me at the time, and have proven helpful as I've coded out my own framework. I suppose me just speaking about them could lead some to want to find out more, were they so inclined. I suppose for anyone who would be interested in this, I'll just say this, do yourself a favor, go worry about someone who is more important and wealthy than myself.
Well that is all for me for today, Just another day as a computer enthusiast.
So for a while now my beautiful wife has been requesting that her blog have a comments section. Normally she posts her blogs on Facebook, and as a result some comments are posted there. However she felt that having a comments section on her actual blog would be better.
Now the blog capabilities of my platform have typically been a add–on to my existing content architecture. So adding comments was something that needed to further distance the Content from the Blog. In the end I kept the blog a hybrid, but added a few new things, most notably a separate display for further customization.
By having a new display, I was able to further customize the difference a Blog should have versus a Content page. This then allowed me to add a new Comment module that would perform two duties, first it would display existing comments, and secondly give a form for adding a new comment.
To avoid spamming I decided to use Captcha, or Recaptcha. I believe that Recaptcha is something that Google maintains, however I could be wrong on that. At any rate, they had a PHP library that I was able to download, and utilize. So no bot spamming our comments :)
After I installed the Recaptcha PHP library, I incorporated this into the comments form. Because of my lack of understanding of Recaptcha, I wanted to only have one on a page at a time, so the comment posting is limited to the single blog article view. On the multi–blog view (5 at a time currently) I simply place a button with the current number of comments at the bottom.
The comment form is super simple, nothing very personal. It is simply a name and comment. Also for simplicity, I added a cookie to remember the name, so if she has repeat users they will not have to enter their name every time.
Recaptcha is pretty cool. It integrated really well into my framework. I added the public and private key to my configuration and the library to my list of included libraries. That is all it took, and I was off and running.
Next for me is to take the comments code from her site, and incorporate it into my site as well, not that I have any use for comments currently, but sometime in the future perhaps I will. My main motivation is just to keep all the sites as current as possible.
I now have Git repositories for most of my projects, and there are downsides to this as far as common functionality goes. This comments section is a perfect case, it updated a lot of site specific as well as common functionality. So to apply this change across the board, it will most likely take a while to do. Not as long as programming it took, but still longer than I like. After all, I like programming because it should mean the computers do all the hard work, right?
Well this is all for now, just wanted to write about the latest.
So dreams happen to everyone, yeah yeah. I am not writing so much about how they are amazing, or how they can give us insight. I'm just writing because Hillary had one that has made me laugh repeatedly throughout the day.
[pquote–r]Also funny to me is thinking about his reaction after waking up.[/pquote–r]Now everyone knows dreams don't always make much sense after you wake up. Nothing too crazy about that phenomenon.
To give a little background, Hillary loves CW TV shows. In particular, she loves 90210. So this morning she says that she had a dream about 90210. In her dream she was on the show, and Liam (one of the other characters) was going into surgery.
Well something in the surgery went wrong, and he woke up with Down Syndrome. Now I am not laughing at people with Down Syndrome, I'm laughing at the idea of someone contracting Down Syndrome... from surgery. I guess somehow surgery made him duplicate his 21st chromosome in every cell in his body. Also funny to me is thinking about his reaction after waking up.
Of all the things her brain decided to pick that he could catch, it is probably the funniest thing, because it is so impossible to catch. So really that is it, that is what has kept me mildly entertained today, just thinking about the reaction of someone waking up from surgery and realizing they have contracted Down Syndrome. Rude awakening. That is all.
Today we had a fun Saturday as a family. First we woke up and Hillary made us all Pancakes, which were delicious. We have been using this local product, 16 grain pancakes, or something like that. 16 grains probably doesn't sound very good, but they are delicious.
[pquote–l]The hill sloping down toward the pavilion was filled with hundreds, if not thousands of people. It was pretty fun to watch the puffs of color erupt from the crowd.[/pquote–l]After we finished up those, we soon headed over to my parents house for some kite making. Every family painted a kite, and then built the structure for flying it. Then we took it back into the back field and flew them. Jack helped me fly it, we got it pretty high. The wind wasn't really consistent so sometimes it would plummet to the earth without much warning.
Then once we had finished there we decided to go over to the Holi Festival. Hillary has been reading up on it, and thought it sounded like a lot of fun. When we arrived it was PACKED!!!. There were so many people (mostly college aged) participating. We made our way to where we could purchase some color and bought 5 bags.
Then we headed out to look around and find out if there were any good spots to use our color. We were headed to the main area, when the temple caught our eye, so we decided to take a slight detour and have a look around. The main floor looked like some kind of store, but upstairs, upstairs there was a big marble floor, it must have been the main worship room of the temple. The paintings on the ceiling were amazing too.
[pquote–r]We headed down there to get in on the color sharing action. Jack got really into throwing the color on people.[/pquote–r]There was a band in there playing, and people all around dancing. No colors were being shared in here, although many who had come from outside had plenty of color already on them.
Jack and Hillary danced around a bit, meanwhile Liam and myself were just doing what we could to keep Liam from getting too upset. I think it had been a long day for him and he wasn't really excited about anything at this point.
After that we headed back outside, and looked down the hill toward the pavilion with a band playing. The hill sloping down toward the pavilion was filled with hundreds, if not thousands of people. It was pretty fun to watch the puffs of color erupt from the crowd.
We headed down there to get in on the color sharing action. Jack got really into throwing the color on people. Liam was still apprehensive about the whole idea.
Soon after we decided that we had probably had enough. We headed back to the car, and that was that. Traffic was kind of crazy getting out of there, but we did okay. All in all it was a really fun day, we did some new things, and I like to think are better for it.