Weird Thoughts From Eric's Head

Tags - Categories : All | AJAX | BUSINESS | PERSONAL | PROGRAMMING | BOOK REVIEW

Little Cowboy Humor

Three cowboys were hanging out in the bunkhouse. "I know that smart aleck Tex," said the first. "He's going to start bragging about that new foreign car he bought as soon as he gets back."

"Not Tex," the second cowboy replied. "He'll always be just a good ol' boy. When he walks in, I'm sure all he'll say is hello."

"I know Tex better than either of you," said the third. "He's so smart, he'll figure out a way to do both. Here he comes now." Tex swung open the bunkhouse door and shouted, "Audi, partners!"

Client Side Validation Shootout

I was planning on adding more to this and adding it to the journal, but other things have come up so I posted it here instead.

Since I have joined Java Ranch I have been helping Ranchers build up their first line of defense for form submission. JavaScript is a great tool for validating a form on the client side before it ever comes near the server. JavaScript is like the line of barrels in a shootout in the Wild West between the lawmen and the bad guys. The lawmen can hide behind the barrels and be able to shoot with less fear of being hit by a flying bullet while the bad guys sit in the open street.

Ranchers have asked the following validation questions lately:

  • Validating a Date
  • Validating a Form so nothing is blank
  • Require a check box to be checked
  • Submit a form only once
  • Require an item to be changed before submitting
Now all of these methods are great to make sure the information is correct and it cuts down the load on your server, but what if the person was not also validating on the server side. This is the equivalent of the lawmen with their six shooter guns and no bullets to fire back at the criminals trying to kill them. They are still rather safe since they are able to hide behind the barrels, but what if those barrels were removed? You are talking about a line up execution. This is the same thing that happens when a person visits your site and has client side scripting disabled.

The surfer will be able to submit the form without the JavaScript code protecting your application. It is up to you to decide if it is an execution or still a shootout. It will be rough on the lawmen to protect your application; it will cause more processing on your server to validate the form, but at least it will help keep the bad guys from entering your town.

Server side validation is more powerful then client side can ever be. It is a lot harder to kill a guy with a barrel then with a bullet. Are there ways to require JavaScript to be enabled in order to submit a form? Yes there are, but by doing this you are building a wall around your town. But, the wall that is meant to keep out the bad guys is also not letting the law abiding citizens into town. Everyone that visits your town on the web may not believe that JavaScript is safe. JavaScript is what causes pop up ads, after all. If your site depends on people using forms in order to contact you or to help you make money, then it is safer to give your lawmen the bullets instead of just relying on the barrels to protect you.

First a Engineering Manager Joke

Three men: a project manager, a software engineer, and a hardware engineer are helping out on a project. About midweek they decide to walk up and down the beach during their lunch hour. Halfway up the beach, they stumbled upon a lamp. As they rub the lamp a genie appears and says "Normally I would grant you three wishes, but since there are three of you, I will grant you each one wish." The hardware engineer went first. "I would like to spend the rest of my life living in a huge house in St. Thomas with no money worries." The genie granted him his wish and sent him on off to St. Thomas.

The software engineer went next. "I would like to spend the rest of my life living on a huge yacht cruising the Mediterranean with no money worries." The genie granted him his wish and sent him off to the Mediterranean.

Last, but not least, it was the project manager's turn. "And what would your wish be?" asked the genie.

"I want them both back after lunch" replied the project manager.

Hacking A WebPage with the Browser

THIS IS FOR EDUCATIONAL PURPOSES FOR DEVELOPERS AND I AM NOT RESPONSIBLE FOR ANYTHING YOU GET IN TROUBLE FOR! THIS SHOWS YOU WHY YOU CAN NOT RELY ON JAVASCRIPT!

There was a post in my forum to today about hacking the browser using JavaScript:

The post: http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=20&t=002855

Now this is something a lot of developers might not know, but your page is not safe from anyone that knows a little bit of JavaScript coding. Now you might be saying, it is on the client side so it does not matter what they do, but that is where you are wrong.

If a person does not have good server side protection with form submissions then they are going to be in trouble especially if calculations are performed on just the client side.

Let’s give an example: There is an online store that has a text field that is read-only with a special discount dollar amount. This dollar amount is subtracted from the total when a function is called.

Here is the code for A1ien51’s UFO Posters

<!DOCTYPE html PUBLIC "-//W3C//DTD html 4.0 Transitional//EN">
<html>
  <head>
    <title> Eric Pascarello </title>
      <script>
	  function calcTotal(){
	    var theForm = document.test;
	    theForm.total.value = Math.round((theForm.amount.value * (19.99 - theForm.discount.value))*100)/100;
      }
      </script>
  </head>
  <body>
      <form name="test">
	A1ien51's UFO Posters (Price: $19.99)
	<table border="0">
	  <tr>
	    <td>Amount:</td>
	    <td><input type="text" name="amount" value="1" onchange="calcTotal()"></td>
	  </tr>
           <tr>
	    <td>Discount:</td>
	    <td><input type="text" name="discount" value="2.00" onchange="calcTotal" readonly="readonly"></td>
	  </tr>
	  <tr>
	    <td>Toal:</td>
	    <td><input type="text" name="total" value="17.99" onchange="calcTotal"></td>
	  </tr>
	</table>
      </form>
  </body>
</html>
And here is the hack to get free posters by posting the following line of code into the address bar of the browser.
javascript:document.test.discount.value=19.99;calcTotal();alert('It is free');
Now how do I know how to do this? Well it is simple all you need to do is look at the source code of the page. You look for the form names and element names and you can change the values.

Now anyone can make buttons that are disabled, enabled with one line of code, you can make hidden items on the page visible, you can figure out the values in hidden fields that are set when the page loads, you can view the generated code of the body.

By using these techniques you can learn how people can mess with your data on your web page and it shows why you should not rely on JavaScript to do anything major. If your business depends on adding form elements together, do it on the server side. Keep all of your information on the server side. Only use the amount totals!

Is there ways to make it harder to do things like this? Yes and No since a person that knows JavaScript will be able to get around it. The thing to remember is they can not get around your server side code if it is properly coded!

Eric Pascarello HTML/JavaScript moderator at JavaRanch.com

A Microsoft joke

A helicopter was flying around above Seattle when an electrical malfunction disabled all of the aircraft's electronic navigation and communications equipment. Due to the clouds and haze, the pilot could not determine the helicopter's position. The pilot saw a tall building, flew toward it, circled, and held up a handwritten sign that said "WHERE AM I?" in large letters. People in the tall building quickly responded to the aircraft, drew a large sign, and held it in a building window. Their sign said "YOU ARE IN A HELICOPTER."

The pilot smiled, waved, looked at his map, determined the course to steer to SEATAC airport, and landed safely. After they were on the ground, the copilot asked the pilot how he had done it.

"I knew it had to be the Microsoft Building, because they gave me a technically correct but completely useless answer."

The Forums

I have been posting on multiple forums for over 5 years and you see a lot of different personalities. Some people will post long explanations while others just post the answer. Others point to places that point to places. Some people just post with things that have nothing to do with the topics. But the posters I can not stand are the people that post correct answers that are useless.

I know a couple of people do this on a daily basis. They do it to show off their vast and useless knowledge of the language. For people that do not program; it is like a person using a big word that is only in an unabridged dictionary. The big word means nothing more then a common word, but the person insists on using it. The thing that most readers do when they encounter this fancy word is to just skip it and act like they knew what it meant. This is what beginners to programming seem to do. They ignore it or ask tons of questions on it. It is a waste of beginner's time and the poster's time trying to explain it.

I would post examples but I do not want to point out people that annoy me. I wish that people would dumb themselves down enough so that the beginners can figure out what you mean. We do not need to know all of the special little features that do not work in all environments, only the main ones are important.

engineer, manager and programmer

There was an engineer, manager and programmer driving down a steep mountain road. The brakes failed and the car careened down the road out of control. Half way down the driver managed to stop the car by running it against the embankment narrowly avoiding going over a cliff. They all got out, shaken by their narrow escape from death, but otherwise unharmed.

The manager said "To fix this problem we need to organize a committee, have meetings, and through a process of continuous improvement, develop a solution."

The engineer said "No that would take too long, and besides that method never worked before. I have my trusty pen knife here and will take apart the brake system, isolate the problem and correct it."

The programmer said "I think you're both wrong! I think we should all push the car back up the hill and see if it happens again."

Testing Proceedures

It is amazing watching different people test software that they have written. Each person seems to have a different technique for testing their code. Below are a few that I have seen over the past couple of years that I seem to find interesting.

The Random Click Method:
The tester just starts clicking all over the screen. The pattern to the clicking is a random motion across the screen. I asked the person why they did it. Their response was: “I picture myself as a blind man coming to the site. He has no clue what he is clicking on and he has the best chance of finding a bug.”

The Multiple Try Test:
The tester enters in the same information time after time after time after time after time. I asked the person why. “I just want to make sure that it does not fail when the user submits information”. I then thought okay that seems reasonable since he does not want repeated information in the database. He then goes on to say: “It is easier by testing the same thing over and over again since I can keep pasting it. It s a pain to change the text each time I submit it.”

The Brute Force Attack Test
The tester enters in random characters as fast as they can and keep doing this over and over till it breaks. “I thought that this was a good plan since your code might get hung up on a special character. I have seen this plenty of times with databases. I then ask the person how they keep track of what they entered. Their response: “I do not keep track and since I do this so fast I am not sure what I enter exactly so if an error comes up I try to reenact my finger movements. It is hard to do since it is random but I have a 50/50 chance that I will figure it out.”

I Am Too Good For Testing Test
The tester looks over the code and says that it will be fine. I asked the person if they test the code and they said: “I wrote it I know it works.”

Have you seen any other enjoyable testing strategies? Which one of these is you favorite?

An Old Joke

An architect, an artist and an engineer were discussing whether it was better to spend time with the wife or a mistress.

The architect said, “I enjoyed time with my wife, building a solid foundation for an enduring relationship.

The artist said, “I enjoyed time with my mistress, because of the passion and mystery I found there.”

The engineer said, "I like both."

"Both?" they questioned.

The Engineer said, "Yeah. If you have a wife and a mistress, they will each assume you are spending time with the other woman, and you can go to the lab and get some work done."

About Me

Well I thought I would share information about myself out to the few people that read my blog. I am a contractor working at a large web hosting company doing application support and development. I mainly code in .NET at work, but I might also have to fix problems in ASP or Cold Fusion. My partner and I support about 8 applications that handle the business and everyday operations of the company.

The biggest project I have worked on here would be a helpdesk system. My partner and I revamped the system from scratch making it more user friendly. The managers have said they have seen a large improvement in service times since they have moved to the new system.

I have had only one real programming class and that was C for engineers. I graduated from Penn State University with a BS in Mechanical Engineering. I spent months trying to find a job in the engineering field but I never made it past the first interviews. The average opening had 50 to 100 people fighting for it.

So I spent my free time developing games in JavaScript like Reversi: The Game. I developed other card and puzzle games over a couple of months and posted them on JavaRanch. My site ran out of bandwidth since people were playing my games all the time. Eventually I got an offer for a job which I am working now.

Everything I know of programming is self taught. I first started out programming TI-Basic on my TI-85 when I was bored in class. I then bought a computer and taught myself HTML and JavaScript. Over the years I picked up other languages.

Over the years my girlfriend has had to put up with me sitting in front of the computer and ignoring her. If you see any comments in my blog that seem fishy, it is probably her since she comes here to make fun of my spelling mistakes and grammar. And yes Shona I spelt grammar right for once!

A Business Advertisement Memo:

"Mouse balls are now available as FRU (Field Replacement Unit). Therefore, if a mouse fails to operate or should it perform erratically, it may need a ball replacement. Because of the delicate nature of this procedure, replacement of mouse balls should only be attempted by properly trained personnel.

"Before proceeding, determine the type of mouse balls by examining the underside of the mouse. Domestic balls will be larger and harder than foreign balls. Ball removal procedures differ depending upon the manufacturer of the mouse. Foreign balls can be replaced using the pop-off method. Domestic balls are replaced by using the twist-off method. Mouse balls are not usually static-sensitive. However, excessive handling can result in sudden discharge.

"Upon completion of ball replacement, the mouse may be used immediately. It is recommended that each replacer have a pair of spare balls for maintaining optimum customer satisfaction. Any customer missing his balls should suspect local personnel of removing these necessary items."

My Mouse Cleaning

Being annoyed that my mouse was not reacting right as I programmed today, I decided to clean my mouse. I flipped over the mouse and removed the mouse ball. Of course I drop the ball and I had to get on the floor to find the ball lying behind my filing cabinet. So I get the ball back and sit in my chair.

To my horror I see what looks to be a giant's belly button with 10 years worth of lint sticking to all of the wheels inside the mouse. Normally if I was home I would use tweezers to break the crap off of the wheels and be done in seconds, but I am at work so I have no tweezers. What I really needed was a weed whacker to get the fuzz out of it. So I went over into the kitchenette and got a trusty white plastic fork.

The fork actually performed well as I dug the crud out. It took me 10 minutes of scraping and banging to get the dirt out. Now my mouse works fine and I can program in peace.

Heat Transfer

A thermodynamics professor had written a take home exam for his graduate students. It had one question: "Is hell exothermic or endothermic? Support your answer with a proof."

Most of the students wrote proofs of their beliefs using Boyle’s Law or some variant. One student, however wrote the following:

First, we postulate that if souls exist, then they must have some mass. If they do, then a mole of souls can also have a mass. So, at what rate are souls moving into hell and at what rate are souls leaving? I think that we can safely assume that once a soul gets to hell, it will not leave. Therefore, no souls are leaving.

As for souls entering hell, lets look at the different religions that exist in the world today. Some of these religions state that if you are not a member of their religion, you will go to hell. Since, there are more than one of these religions and people do not belong to more than one religion, we can project that all people and all souls go to hell.

With birth and death rates as they are, we can expect the number of souls in hell to increase exponentially. Now, we look at the rate of change in volume in hell. Boyle’s Law states that in order for the temperature and pressure in hell to stay the same, the ratio of the mass of souls and volume needs to stay constant.

So, if hell is expanding at a slower rate than the rate at which souls enter hell, then the temperature and pressure in hell will increase until all hell breaks loose. Of course, if hell is expanding at a rate faster than the increase of souls in hell, than the temperature and pressure will drop until hell freezes over.

Cubical Heat

I feel like a chicken on the spit on display at work. My cube feels like 100 degrees. I have a habit of taking off my shoes while I sit back and program to release some of the heat. Some people say all of the heat in my cube is caused by the three 21in monitors in my cube. Others say it is all of the flouresant lights about my cube.

I really think the cause of the heat under my site is a direct doorway to hell. Maybe that was why I got the cube directly across from the microwave and sink. Every afternoon when my stomach is growling for dinner someone pops popcorn. This makes me want to eat more. Man the more I think about it the more work is turning into hell.

While I want an airconditioning unit hanging out the side of my cube, other people have space heaters in theirs. So how do I feel like I am in hell and they are in Alaska? I need to sit on ice cubes and they want to sit on a fire.

Man I am just ranting away, am I making sense? Wait do I ever make sense?

Where's the banana?

Start with a cage containing five monkeys. In the cage, hang a banana on a string and put a set of stairs under it. Before long, a monkey will go to the stairs and start to climb towards the banana. As soon as he touches the stairs, spray all of the monkeys with cold water. After awhile, another monkey makes an attempt with the same result. Pretty soon, when any monkey tries to climb the stairs, the other monkeys will try to prevent it.

Now, turn off the cold water. Remove one monkey from the cage and replace it with a new one. The new monkey sees the banana and wants to climb the stairs. To his horror, all of the other monkeys attack him. After another attempt and attack, he knows that if he tries to climb the stairs, he will be assaulted. Next, remove another of the original five monkeys and replace it with a new one. The newcomer goes to the stairs and is attacked. The previous newcomer takes part in the punishment with enthusiasm. Again, replace a third original monkey with a new one. The new one makes it to the stairs and is attacked as well. Two of the four monkeys that beat him have no idea why they were not permitted to climb the stairs, or why they are participating in the beating of the newest monkey.

After replacing the fourth and fifth original monkeys, all the monkeys which have been sprayed with cold water have been replaced. Nevertheless, no monkey ever again approaches the stairs. Why not? Because that's the way it's always been around here. And that's how company policy begins...

The real life

Since I been working I have seen the power struggle of people always trying to get on top of the world. You have two kinds of people, ones that do not care and ones that want to climb the ladder.

It seems that certain people want to climb the ladder to fast, they think they should be on the next rung within days after they start. I sit there and wonder what did these people accomplish? What do they have to show you?

Then you have the company that sits there and watches with wonderful promises and never seem to react on them. They seem to forget the people that are working hard and find new people to move up into their places?

Now I have no degree in business, but I can see the mistakes made by these companies. They think they can hire the upper people in the company from other sources instead of using the crew they already have. Does this make the lower rung employees happy to see their opportunity filled by a person from outside?

To me companies are looking for the fast lane to making money. They forget that they have a turn signal and a rearview mirror. They forget to look back at their employees and turn blindly into the left lane. They are in the position that they are in with the employees they have on their back. It might be better to look into the mirror than risk moving into the fast lane and causing an accident. If the accident happens they are going to have to start all over again and your insurance goes through the roof.

Microsoft Joke - Demos

Bill Gates dies, and ascends to the Pearly Gates to meet God. God immediately recognizes him and says to him "Bill Gates -- you're a great man. I shall give you a choice of either heaven or hell." Bill Gates tells God that he would like to see both before making a decision. So God takes Bill Gates down to Hell, where there are beautiful, nubile bikini models, perfect weather, free drinks, and eternal happiness. "That doesn't seem so bad," says Gates. "Let's see Heaven now." God and Gates go to Heaven, which seems to be just a bunch of old, crusty angels flying around and sitting on a few clouds. "I've made my decision," says Gates. "I choose Hell."

Six months later, God goes down to Hell to check on him and finds him hanging above a pit of fire with wild harpies tearing out his intestines. "What happened to all the bikini models and the sun and the fun?" Gates screams. "Oh, that," says God. "That was just the demo."

Application Upgrades

Today I have nothing whitty to say. I had a new version of the software I have been recoding for the past couple of weeks released this afternoon. Normally with releases I run into errors, but so far so good. Everything ran nice since I actually kept notes on stuff I did! Normally it comes from memory which is fading with this 24 year oold brain of mine!

That joke reminds me of the day my partner and I got the world's crappiest documentation they wanted for the helpdesk system. We turned it from a pain in the rear to enter a problem to a few clicks. This system has produced some nice helpdesk tickets and here are general information on some of my favorites.

  • My documents folder is in reverse alphabetical order
  • My battery is not working (High Prioity ticket at 3am)
  • I can not find a file on the Intranet site (Person was looking at wrong site)
  • The webpage site is not working and I need access (Found out application was turned off 3 years before hand)
  • I forgot my user name (The user name is the same was the one they log onto the computer with)
  • 3 weeks in a row person enters ticket they can not access site. (We gave the same answer 3 times to use their security password, I think the third time was the charm)
  • I get too much email so I need a larger inbox.
I could keep going on and on, but I might bore you to much.

Two Nerds and Naked Chick

A nerd was walking on campus one day when his friend, another nerd, rode up on an incredible shiny new bicycle. The first nerd was stunned and asked, "Where did you get such a nice bike?"

The second nerd replied, "Well, yesterday I was walking home minding my own business when a beautiful woman rode up to me on this bike. She threw the bike to the ground, took off all her clothes and said, "Take what you want!""

The second nerd nodded approvingly and said, "Good choice. The clothes probably wouldn"t have fit."

Nerds - those little candies in those small boxes

I grew up with candy my whole life. I loved the candy "Nerds". I am not sure why I love those candies so much. I think the reason was the two flavors in one divided box with the two dispensing holes. The candy seemed to be color-coated sugar that was sweet to the tongue and made you tongue change colors too.

Now the trick was trying to get both flavors into your mouth with one pour. The way to do it was stick the entire box in your mouth and tilt your head back with both of the holes wide open. Now this worked, but had one downfall, you made the cardboard box wet. Time after time and the box box worse. But that was part of the suffering to get two shots of flavor with one swig. At least none of your friends wanted the box after they saw your drool dripping off of the sides of it.

The thing that sucked was when Valentines day came around and kids gave you those small boxes of Nerds. You only had one flavor, so there was no mixing. Also you could take the whole box in one shot. It robbed your tongue of all of the sweetness that the bigger box offered. It also robbed your brain of the sugar rush it would get from eating an entire large box at one sitting.

I know that this posting probably made no sense, but I never seem to make any sense anyway. And yes, people do consider me a nerd, but I am not sure if I would have taken the bike. Maybe I would take her watch!

My breakfast is at 9:00PM

Last night after coming home for the gym I had the craving for a waffle. So I put the waffle into the toaster and watched the coils turn bright red. The toaster popped and my waffle is still cold. I set the setting exactly as my box suggested. So I ran it again, it was warm, but not toasted as I like it to be. So I ran it a third time and it nice and it was golden brown.

As I was putting away the box of waffles I saw a note saying. Tastes best when using Toastmaster Toasters. Now I do not know how a waffle will taste better with another toaster then it made me think of an old nerdy joke.

A Toaster Joke: If XxXxX made toasters...

If Oracle made toasters... They'd claim their toaster was compatible with all brands and styles of bread, but when you got it home you'd discover the Bagel Engine was still in development, the Croissant Extension was three years away and that, indeed, the whole appliance was just blowing smoke.

If Hewlett-Packard made toasters... They would market the Reverse Toaster, which takes in toast and gives you regular bread.

If IBM made toasters... They would want one big toaster where people bring bread to be submitted for overnight toasting. IBM would claim a worldwide market for five, maybe six toasters.

If Xerox made toasters... You could toast one-sided or double-sided. Successive slices would get lighter and lighter. The toaster would jam your bread for you.

If Radio Shack made toasters... The staff would sell you a toaster, but not know anything about it. Or you could buy all the parts to build your own toaster.

If Thinking Machines made toasters... You would be able to toast 64,000 pieces of bread at the same time.

If Cray made toasters... They would cost $16 million but would be faster than any other single-slice toaster in the world.

If the Rand Corporation made toasters... It would be a large, perfectly smooth and seamless black cube. Every morning there would be a piece of toast on top of it. Their service department would have an unlisted phone number and the blueprints for the box would be highly classified government documents. The X-Files would have an episode about it.

If the NSA made toasters... Your toaster would have a secret trap door that only the NSA could access in case they needed to get at your toast for reasons of national security.

If Sony made toasters... The ToastMan, which would be barely larger than the single piece of bread it is meant to toast, can be conveniently attached to your belt.

If Timex made toasters... They would be cheap and small quartz-crystal wrist toasters that take a licking and keep on toasting.

If Fisher Price made toasters... 'Baby's First Toaster' would have a hand-crank that you turn to toast the bread that pops up like a jack-in-the-box.

If Microsoft made toasters... Every time you bought a loaf of bread, you would have to buy a toaster. You wouldn't have to take the toaster, but you'd still have to pay for it anyway. Toaster '02 would weigh 15,000 pounds (requiring a reinforced steel countertop), draw enough electricity to power a small city, take up 95% of the space in your kitchen, would claim to be the first toaster that lets you control how light or dark you want your toast to be, and would secretly interrogate your other appliances to find out who made them. Everyone would hate Microsoft toasters, but nonetheless would buy them since most of the good bread only works with their toasters.

If Apple made toasters... It would do everything the Microsoft toaster does, but five years earlier.

I heard this joke the other day and it brought back memories

Job Application

Two young engineers applied for a single position at a computer company. They both had the same qualifications. In order to determine which individual to hire, the applicants were asked to take a test by the department manager. Upon completion of the test, both men had each missed only one of the questions. The manager went to the first applicant and said, ''Thank you for your interest, but we've decided to give the job to the other applicant.'' "And why would you be doing that? We both got nine questions correct," asked the rejected applicant.

"We have based our decision not on the correct answers, but on the question you missed," said the department manager.

"And just how would one incorrect answer be better than the other?" the rejected applicant inquired. "Simple," said the department manager, "Your fellow applicant put down on question #7, 'I don't know.' You put down, 'Neither do I.'"

Real Life Experiences

When I worked at Burger King, I loved to read people's applications. There would be the normal spelling mistakes like spelling their highschool name wrong or even their lastname. You have people put down favorite activities including smoking, partying, hanging out with friends. Then you have other people put down references of their best friends who have been fired the week before. And my favorite thing asked on the application is the question: How did you hear about this job? Normal answers are like: "A person refered me", "I saw the sign out front", "I saw the ad in the paper". Then you get the answers like these: "My parents are forcing me to a job", "I like to eat here", "You have good food", "I like food", or even "It looks easy".

Well this is my first blog thanks to the wonderful people of JavaRanch. Right now I am adjusting the stylesheets to make this blog more enjoyable on people's eyes than the default gray scheme that reminded me of a dark damp basement.

This blog will be mainly a way that I will keep track of the JavaScripts that I am working on and any interesting posts I see pop up in the forum.