Last Good Quote: Son's are the seasoning on our lives. - Someone on Facebook

Tuesday, December 29

Setting up Development Environments

I'm all about instant gratification. I get this kewl idea for a game. I wanna get started on coding. I wanna see something up and running in an hour. I want to have a functioning prototype in the following day or two. I wanna do it and I wanna see results NOW!

*sigh* The details always seem to get in the way. If you are a game developer and have done more than two games, you know exactly what I'm talking about. Before I can get one lick of code written I have to setup a "playground" for myself. Generally this involves the following:

  • Create a web directory (root, images, js, include folders)
  • Create a database
  • Ensure connection to the database
  • Create a login page
  • Create a registration page
  • Create a shell template
Maybe it's just me, but I find all this stuff ... boring. I'm interested in alternatives that folks might have, but this is what I do right now.

I have a copy of XAMP (Apache, PHP, mySQL for windows). It all exists in one directory.

In the root directory I have a template folder which has a login, register and basic template. I copy this folder when ever I start a new idea.

In the mySQL folder, there is a template database (user tables mostly), I copy this folder to create the database folders. This creates my databases.

I then edit the config file to connect to the correct database, this usually gets me off and running.

This usually takes me about 30 min to do, which I'm really kewl with as it gets me off to the races quicker. But I sure wish it took me 30 seconds. *grin*

So, to all my developers out there, how do you setup your development environment and how long does it take you?

Monday, December 21

5 Steps to Good Virus Protection

"You're protected from viruses, right?" I ask my friend.

I watch the always dependable reaction. Eye shift, foot shuffle, then a wincing "I think...I mean I have Norton on my desktop". Usually followed by a sheepish grin.

My friends, like most average users, know that they should have virus protection, but it's ... difficult to make sure you have the right thing installed. In hopes of making it easy here are some quick tips.

My rule about Anti-virus software: It should be invisible, until I have a problem. If this ain't true then I've got the wrong software package.

Step 1:
AVG.com - Go to the site, click on home version, click on trial and download it. It expires in 30 days, but we will discuss this later. DO NOT INSTALL YET.

Step 2:
Remove any anti-virus software that you might already have installed. Click the Start button, Goto to Control Panel, Add Remove Programs, Uninstall your old anti-virus.

This is an important step as multiple anti-viruses will slow your machine as well as cause one another to fail.

Step 3:
Now install AVG. Just follow the prompts, its relatively painless. You DO NOT have to INSTALL any toolbars. (Unless you want them)

Step 4:
When your done installing, click on the AVG icon in your start tray. (The area down by the time and date).
  • Click on Scans
  • Create a scheduled scan
  • It should scan once a week
  • It should scan all drives
  • Let it start at 12:00 Noon
  • If it misses a scan, start a new scan the next time the machine boots.
Step 5:
Whenever you login, check for the AVG icon in your start tray. If you don't see it you have a problem.

That's it! It's not difficult! The only time I see AVG is when I have a virus. It automatically checks all files I save, anything I download and it even checks web links before I click them. It's cool, in a geeky sorta way.

Trial Period
Oddly enough, my 30 day trial expired, but this means that when a virus is detected, I get an offer to buy the product but it still cleans and scans my machine. I encourage you to upgrade and buy the full package. Matter of fact, I'm going to buy the software today.

Updating
At times you might get a popup/message that it's time to update your virus protection. Do it, it will take 15 min and run in the background. You should be aware that AVG will daily download minor updates for itself. However this will happen without you being aware of it. The bigger updates typically mean something special happened. These are the ones you will receive an alert on.

Other Antivirus Packages
There are a number of anti-virus packages out there. All are pretty good, so feel free to try them. Just try them one at a time. I recommend AVG as it's NOT well known. Which means hackers are not specifically targeting their system. It's a small advantage, but "life's a game of inches."

Malware - Antivirus Impersonators
This sounds counter intuitive, but be very careful of any popup message saying you have a virus There are a number of hacks that impersonate your anti-virus software. They look very close to the real thing! If your suspicious of something, just cancel out and click on your AVG icon (in the start tray). It will let you know if there is a problem.

If you get one of these malware viruses that LOOK like a anti-virus software, seek a professional. These viruses tend to get out of hand very quickly!!!

Finally, I would challenge my friend Mr. Clark over at Clark Thought Leadership to write his own blog entry on this topic. He specializes in IT and PC Security.

So tell me what Anti-Virus do you use, and does it work for you?

Wednesday, December 16

What is a Server?

As a Business Analyst, part of my job is translating technical terms to non-technical folks. The trick is to do it as simply as possible.

So, What is a Server?

A server is a computer that sends and receives data to and from other machines.

A server can send and receive a lot of different types of data. But in some cases the server only handles a certain type of data. Some examples:
  • Web Server - Sends web pages
  • Media Server - Sends images, videos and mpgs
  • Print Server - Sends print jobs
  • File Server - Sends any type of file
And the list goes on. Now sometimes one physical computer will have multiple types of servers on it. This is cost effective and a lot of businesses do it. Microsoft even markets a product around it. The"Small Business Server" product does pretty much all of the above.

The most familiar server you will run into is a web server, you will need one of these to have a website. While it's the most familiar, I believe the most popular server is a file server.

What technical topics would you like to see covered next?

Sunday, December 13

Possible BDPA-Charlotte Header



Julius is putting in some hard work over at http://www.bdpa-charlotte.com. I thought I'd take a quick break and throw something his way.

Click to get full view.

Any ideas on how to make this logo/header better? Too dark?

Friday, December 11

What Your Signature is Telling Me

Take a blank piece of unlined paper.

Now quickly sign your full name as you would if you had to sign a check.

Now write a sentence in cursive. Any sentence will do but for you anal retentive folks try this one: "Today is going to be a great day.".

OK...go do it...really, this is going to be interesting.

Did you do it?

Really?

OK, look at your two writings:

What direction are your letters sloping?

  • Backward - You are a reserved person, the more slanted the more reserved you are. Typically you will hide your feelings rather than express yourself. This is because you wish to be true to yourself.
  • Forward - You have no problems communicating and often times will go out of the way to do so.
  • Straight Up and Down - You tend to be removed from the world, aloft.
How large do you write?
  • Large - Either you are very outgoing, or you tend to hide yourself behind big bold actions.
  • Small - Small letters reflect a thinking mind
  • Normal - Well, you are normal
Note: If the writing looks "delicate" your likely not to communicate well, but are a deep thinker.

How much space is between the letters of your words?
  • Very close together - You are a social butterfly, you love interactions and may even be the life of the party.
  • Normal Spacing - You are shy, don't create a lot of connections maybe due to high moral values.
  • Further apart - You act swiftly and decisively, sometimes without thinking
How much space is between the words?

  • A lot - You tend to resist the influence of outside voices and your own emotions. You like to come to a logic conclusion when searching for an answer.
  • Small Spaces - You like to be in the midst of a conversation, one may consider you a busy body.
  • No spaces - Your quick like fire, easily moved,swift response, almost impatient with the self confident and ego to go with it. You might find yourself taking over conversations quite easily.
Does what you wrote tilt?

  • Tilting Up - Your an optimistic person
  • Tilting Down - Your a pessimistic person
  • No Tilt - Your pretty balanced

In General

Looking at the middle section of your writing, this would be the space where most of the word exists. The size of this area indicates your self image. The larger this area is in relation to the entire word the greater your self image. This is especially true if the area is very small.

In general the further your letters go from the middle area the more ambitious and out spoken you are. You can especially see this when looking at the letters Y, P, G, F, S.

A person who continually "flourishes" their F, G, or S can be said to be an especially outgoing and emotional person.

Look for how high the tops of your letters go, those that require you to go into the capitalization part of a letter. The higher the letters go the more this person focuses on the realities of life. This could be monetary, power or friendship. The higher the flourish the more drawn this person is to those things.

Look for how low the person goes under. Every sentence has a base line which can be drawn under it. The depth of the letters under this line, such as the bottom of the letter g, show how deeply the person dwells on their inner thoughts. This would indicate an avid reader or knowledge gather. Someone who has no problems thinking and being by themselves with nothing in particular to do. Pen strokes under the line also signify a person in touch with thier natual instincts. The more strokes the more instinctual this person may be.

Most interesting, someone who goes deep under the line and has large fat loops has an active and eager sexual drive. For those single fella's out there, ask the lady to sign her name as well as her number next time.

For those whose writing shows few flourishes, big swoops, broad strokes, dashes, etc. This person is usually one who comes to a task with much concentration. They will tackle a problem very directly and, in almost a bull dog fashion, not move on until the problem is solved.

Seeing a lot of carefully dotted i's and crossed t's? This indicates that you are a solid person. Once a path, decision or selection is made. More often than not, you will not have your mind changed. This is especially true if the dot above you i's are exactly in the right place.

Now, I hope that none of you exhibit this, but if you do...ummm, I wish you well. Pull back from your writing...try to draw a line under your sentence, if the line ends up very crooked and the crook or joint in the line is in the middle of a word. Odds are you have some mental problems. (or your drunk, try again later) Crooked lines and flourishes the counteract one another are typically found in the more deranged folks in our society.


What's the difference in your Signature and your Sentence?

This is one of the more gray areas of handwriting analysis. One theory is that your signature represents your self image and your sentenace represents your true image.

My personal theory is that your full signature (last name included) reflects your true personality. Your Sentence reflects how you feel at that particular moment.

I've done this on myself a number of times and I get different results in my Sentenance all the time and usually it is because of different moods that I am in at that particular moment. My signature is pretty stable.

In Conclusion
The study of handwriting is called "Graphology". I am no expert on this, just something I've learned and enjoy using over the years.

All of the above is theory and conjecture and may not necessary represent you.

For those that might like more:
http://www.businessballs.com/graphologyhandwritinganalysis.htm

Monday, December 7

5 Ways to Estimate the Cost to Build a Website

I had a friend come to me the other day. He had a web proposal in his hand. As soon as he gave it to me, I knew the next two questions.
Is it a fair price?
How much would you charge for it?
Now to be clear, I know how to develop a pretty decent website. But I do not do it for a living. I do it if the idea strikes me as particularly interesting. Or I do it as a favor for a friend. Less and Less do I do it as the later, it tends to sour the friendship, which I value more than the money.

So I thought I'd give you a few points that I use to "smell test" a proposal or create an estimate.

1: What pages are going to be built?



Look at the site map, if there is none...ignore any quotes, hours or estimates...go make one and come back and try again. The developer has to understand the scope of what you need built. Real Estate agents need to know how many rooms and bathrooms you want in your house. Web developers need to know how many pages and what concepts are on those pages.

2: What's the hourly rate
There is no particular right answer for this one. However the rate will usually indicate the type of work that will be turned out. Less then $25 an hour, your going to get a pretty basic site. More than $50, your going to get a pretty good site. I've seen rates as low as $10/hr and ones as high as $200/hr. More often then not, they came out as the price would indicate. Note: There will be exceptions to this rule!

3: Do you need artwork?
Is the developer providing the artwork? Are you ok with this? A lot of folks don't understand that the art of a website and the workings of a website take two different mindsets. Art can consists of 40% or more of the cost of the project. Personally, I do "ok" artwork. If someone wants the best of the best I refer them to www.99designs.com. You decide on a price and you get the best artwork possible for that price. Either way art can be a big part of the cost.

4: Cost of the Template
The first thing I calculate is the template. This is how the site would look with no real content. Almost like a mockup. By default a template takes about 1 full work days to make. Add 2 days if I have to make the artwork. So it's either 8 or 24 hours depending on the art.

5: Cost of each Page
This one is a bit harder for the novice but think on it. Take each page, would you consider it "basic"? Meaning nothing is personalized for a visitor to the page and content is updated very rarely. This type of page would take 4 hours. Wanting any of the following adds about 4 to 8 hours a page.
  • Personalized
  • Change the content daily
  • Ads
  • Photo book
  • Selling a product*
When in doubt...I just do 8 hours for the full page.

In summary

So there you have it, this would be how I gauge a websites cost. An example:

Home
About
Contact us
Service
Products
-- Online Book
-- Special Gadget
-----------------------
8 hours for template
16 hours for 4 basic pages
16 hours for 2 product pages
-----
40 hours x $50/hr
$2,000

I usually advise the client that the estimate will go up or down 20% as we work through the details. I then follow through and update them as changes happen.




Apps, Programs and Special Features
If you want a web application (calendars, wiki, blogs, to-do list, etc) or special things that the user can do on your site, I will tactfully direct the person to find something that exists on the web already and pay their fee. In all reality building those things from scratch will cost more than they are willing to pay. If they insist, then I usually will do a different quote as those things tend to take a lot of time (money).

Selling
A lot of folks want to sell something on their website. The easiest method that I have used is paypal. Normally it takes about 10 hours to integrate this into a site. There are a number of alternatives to paypal. There are also a number of sites that allow you to sell on the web without having to go through a web developer. If you just want to sell online, I'd advise you to research this. (ejunkie.com)

Build a site for $400
Sometimes you'll run across things were someone is building sites at $400 a pop. Or $50/page or some type of special that really makes things cheap. Two pieces of advice. First, this is usually someone who is just starting a business and wants to get as many new customers as possible. They may develop quality sites, they may not. Second, you get what you paid for. Go look at there past work, or ask them for a sample. If you are looking for a basic/cheap site, this route is the best way to go. If you want/need to look very professional, you may want to avoid these deals.

Accuracy of Estimates
Well, they ain't called estimates for nothing. As web development goes very rarely will a developer "lock" their cost to build a website. This is because you, the client, never knows what you like until I, the developer, have built it. I tell folks my estimates have an 80% accuracy. That can be a $400 swing on a $2,000 project. It seems to surprise a lot of folks.

The one thing you can do to increase the accuracy is present your vision as accurately as possible. I would hazard a guess that even a mockup drawn on paper can increase the estimation accuracy by about 50%. The better the mockup the smoother the project is going to go and the better the estimate. As a developer, I kiss your feet if you come to me with a site map AND a mockup. You're not doing my work for me, you are letting me know exactly how I can exceed your expectation!

Finally...Estimation is an art, which I am by no means an expert at!!!

Monday, November 30

What a 10 Year Old Taught Me

Most parents can relate to what I went through last night. The three of us, my wife, my son and I, sat on the couch and were discussing the day, we turned toward a tender spot in my son's mind. I watched his immediate reaction. Body stiffens, huffing and puffing, muttering under his breath, a few tears and some large sighs. I could see that we were not going any where fast.

I thought to use this as a learning opportunity. The first step was to get him committed to being engaged in the conversations. I resorted to a "carrot" of sorts.
"Son, if you talk to Mom and I for 30 min, I'll let you stay up an extra hour tonight...but we have to have a meaning full conversation about this."

It was almost comical. He immediately stopped huffing, sat for a minute then turned and quite calmly said "OK". The next thirty minutes were eye opening for all of us. I figured I must be on the right track...

I proceeded to explain a key concept to almost any conversation to him.

"You know we both have different ideas about this problem. You have to start a conversation by assuming that neither one of us is right or wrong. "

He replies: "But you guys are adults and I have to listen to what you say"

"Yes, We are your parents and when we tell you to do something you have to do it. However, when we sit down to talk, we want to understand your point of view and we want you to understand ours."

"OK"

I explained to him that during a conversation it was important to sit up straight and say what he really felt. He did not need to shout, cry or plead as we were already intently listening to what he said.

One of the recurring themes was interruptions. And as our children are supposed to do, I learned something from my 10 year old that evening. I tended to interrupt the other party when I was engaged in "verbally sparing".

My son found this especially disturbing as when I interrupted him he felt that he had to defer to me and let me speak, thus shutting his thoughts out or causing him to forget his train of thought.

At certain points he in turn would interrupt my speech as he would attack my arguments. Unfortunately he would do this before I laid out the entire picture so he would miss points in my argument. This lead to a cycle where he would not understand something but I could not finish the thought to explain it to him. Looking back, I wonder how many of my own conversations would have been shorter if I had not "jumped" into the rebuttal.

I helped him understand that he had to let the other person finish their thoughts. If he wanted to address a particular part of what was said, he simply had to repeat that part and then state why he thought it was wrong.

All in all, I found it very interesting and I think we learned a lot about ourselves and each other.

If you have a young child in your house I suggest that you also sit down and teach them the valuable lesson of holding up their end of a conversation. You may be surprised at what you learn.

In case your wondering the topic of discussion was Homework. *grin*

Monday, November 23

Who is this Guy?

My name is Markus Beamer. I was born in Tacoma Washington but was raised in Columbia South Carolina. I come from a family of 4 boys and 2 girls and thus am used to a very hectic environment. “Never a dull moment” is certainly the motto for our home growing up. That’s probably why 11 years ago I turned to technology for a career, “Never a dull moment” sums up its progress quite nicely.

During my college years, at the College of Charleston, my first exploration into technology was as a web developer for a software licensing firm. I started out typing HTML and Javascript into a simple notepad window. Through the years I touched upon CSS, Java, Visual Basic, PHP, mySQL, Photoshop, Access, Oracle and MS SQL Server in that exact order. However, I find it quite amusing that to this day when I want to write a bit of code I reach for my notepad application first…no matter the language. Needless to say, I found a love in technology. No matter how much I knew, I never was bored, as something new was but a day away. Change was always going to come.

Of course change can come when you grow the family. Currently my family is in Charlotte North Carolina. I am the lucky husband to one fine lady and the proud father of two rambunctious boys. I am happy to say that my household carries on the tradition of “Never a dull moment”. My oldest son is crazy for electronics and all things technical. My youngest son is definitely the outdoor, rough and tumble kinda fella. They both attract their fair share of friends and our house has become the “neighborhood” house. (much to my wife’s dismay!)

I currently work at Bank of America as a Business Process Consultant. When asked, I tell friends and family that my role is to help “leadership” make the best use of technology and in truth this is what I do. However the role affords me much more than that, I am at a crucial nexus where the needs, desires and ambitions of the business meet the calculations, formulas and algorithms of technology. It’s a great place to be and I don’t think I’ll change it for some time to come.

But...

At times one gets bored with the day to day. It is in those times that I turn to my hobby of game building. Like most hobbies it is silly yet fulfilling. I build small games that can be played in a browser; my specialty is to build them with JavaScript so they do not require any plug-ins or downloads to play. Sometimes the games are role based, sometimes they are card based, other times they are …different. I have been doing this since 1999. I laugh when I think of the number of games I have written and thrown by the wayside (at last count 24). But that is what a hobby is…a wasted time that allows the mind, body and soul to reset.

I hope that having learned a little more about me, you will reach out and shake my hand. I am always happy to meet new folks.

BDPA Charlotte Chapter President Elect

On Tuesday, 11/17, I was elected as Charlotte Chapter’s President Elect for 2010 and 2011. My first thoughts were around the amount of work that needs to get done. And there is a lot of work that needs to get done.

I have been with the Charlotte chapter for upwards of 8 years. Over the years I have meet many good passionate people through BDPA, participated in numerous events and seen many great things come out of the BDPA chapters.

The upcoming Charlotte President, Julius Clark, has a host of great ideas, projects and people that he is bringing with him into his administration. I want the members, both locally and nationally, to be comfortable with sharing their honest opinions and assessments of what we will be putting into motion.

As President Elect my role requires that I keep track and participate in almost every facet of the local chapter. However a few of my personal goals are to ensure the following takes place during my session:

  • Focus on the long term viability of each project
  • Track the day to day progress of our initiatives
  • Ensure that we are receiving feedback on our initiatives
  • Foster a sense of membership and family for all members involved

I am very much looking forward to my time in a leadership role with the Charlotte Chapter.

If you have any questions, comments or concerns please reach out to me.

Thank You for your Trust,

Markus Beamer

Friday, November 20

What Are Your Feet Trying to Tell Me?

For those that may not know, I like to play poker. I think I'm pretty good at it. I like to play poker because contrary to what you may believe poker, is 70% reading people and 30% playing cards.

I recently read a book called "Read'em and Reap". It's an FBI interrogator's guide to understanding the instinctual moves that people make, specifically how it pertains to the Poker tables. Reading "tells" is what us poker players call it. But reading tells is done in almost every aspect of my life. Anyway, I strongly suggest you read this if you are into poker in any way or are interested in understanding body language.

One interesting fact: Did you know that your feet are the most "honest" part of your body. Your face is the least truthful. Information like this can be used outside of the poker room.

For example: Say you're having a conversation with someone and can't quite tell if they're actually getting it. Look at their feet. If thy're pointed directly at you, the person is engaged and listening and most likely right with you.

However if the feet are at a diagonal, or worse yet pointed away, they are not into the conversation and quite likely want to get out of it.

On the same thought, have you ever walked up to a conversation and wanted to participate but felt shut out? Try aligning your feet with everyone. For some reason you'll be swept right into the mix.

We do a lot of this instinctively, but knowing when to do it purposefully can be a powerful thing.

So get out there and let your feet tell the world all about you.

Thursday, November 19

Java, .NET and PHP Pushers...Who Are They?

I assist in a community program where we introduce and teach high school kids to web development.

We typically teach between 30 and 40 kids each year.

It's always perplexed me why we are not marketed to when in comes to choosing which language to teach. Each year we go through a vote, discussion and rough conversation around teaching Java, PHP or .Net.

Each year the deciding factor is who is going to be conducting the most classes and what is their best language. We then usually go with that person's expertise.

My problem, usually the language you are first taught is the language you "default' to for the rest of your life. (the key word in that sentence is usually)

So if we are introducing these kids to thier first language, why is there not a Java, .NET, or PHP evangelical whispering in my ear...pick me, pick me.

It seems like an excellent way for a particular language to "buy" market share. And the market share would be for life.

Maybe our specific program is not large enough, but this is part of a national organization that teaches more than a few thousand students each year.

For those interested in the program, its called the BDPA HSCC program. It's affiliated with the national BDPA organization. I know of at least 20 different cities with successful programs.

Let me know if you have questions

Monday, November 2

rpgCardz.com


I did some major enhancements to a game that has been sitting on the back burner for quite a while.

I remember when I first worked on this game, it took me about 2 days to write and I wanted to make something quick and addictive to play.

I guess I succeeded as I wasted about 2 hours last night trying to get my "Rare" cardz.

What a time waster.

http://www.rpgcardz.com

Thursday, October 15

Visual Resume





A Visual Resume...for those who might be interested.

A friend of mine got me into "Visualization Techniques" this would be my first effort.

Charlotte BDPA - President Elect for 2010

Hello, my name is Markus Beamer. I have been nominated for the 2010 President Elect position within the local Charlotte chapter of the BDPA. I look forward to getting your help in securing this position.

A little about my history with BDPA, I have been involved with the Charlotte chapter for the past 8 years, particularly with the High School Computer Competition (HSCC). I have assisted and trained over 200 youths in the Charlotte area during that time. I am extremely happy to say that during each of those years Charlotte has taken at least 5 youths to the National Competition.

During my time with the Charlotte chapter I have always been a confidant for the president and vice president of the organization. This year I took an extended step of becoming the VP of Strategy for the local chapter. Both roles have given me a unique perspective on the workings of the local chapter.

As for my agenda during my presidency, I believe that the local chapter needs to re-solidify its foundation. I have a simple plan to do this.

  • First, find the right people. This is where it all starts. My first action will be to setup a process to find passionate people in the area who are willing to contribute to leading people from “the class room to the board room”.

  • Second, set standards. Once we have the right people gathered and we decided on a course of action. My job will be to ensure that we setup a “process” for each project we work on. This will ensure that in future years the local chapter can continue on the successes of our prior work.

  • Finally, ensure a line of succession. The final item I will focus on is ensuring that the local chapter of BDPA has a viable group of candidates that can provide solid leadership and continuation of our successes.

While doing the 3 actions above, we must keep the mantra of BDPA in mind “From the Classroom to the Boardroom”. My underlying goal is to see that the Charlotte chapter is able to create a systematic process for delivering this chain of movement. Starting with those teenage youths learning new technology and ending with those of you who may be sitting on the edge of boardrooms.

Finally, I leave you with this thought. The Charlotte chapter is in a time of re-birth. We know that rebuilding is needed. The chapter has become a boulder of potential at rest. My only hope is to nudge the boulder. If we can make it move the first foot, the second foot will be easier. If we can get it to roll a mile, it will roll forever.

And why do we do it? Because one day we will want to look back with pride in our hearts and a smile on our face from the good that we caused.

Sunday, August 30

My High School Programmers

On August 7th, 2009, 3 freshman and 2 sophomore students from Charlotte, NC faced a field of programmers. They made up the youngest team of African American students that competed in this years Annual BDPA High School Computer Competition. Regardless of age they had intentions of winning and they represented Charlotte very well, placing in the top 10 teams nation wide.

They had committed the last 8 months worth of Saturdays to training and learning. Some did not now the very basics of web development when they started. On that day they were tasked with building a professional website using only the most basic of tools, but they had their wits about them.

They were asked to build a venture capitalist site, where companies could track monetary request and ROI on the request. And they were asked to build it in 7 hours.

Today, I can say that I am especially proud of these five Charlotte youths. Their accomplishment was no mean feat considering that the field of competition was selected from over 1,000 students and many other teams featured senior high school students.

Every year the BDPA, Black Data Processing Association, holds the national HSCC program in a different city. Every year between 20 and 30 teams come from all over the United States to compete. And every year the local Charlotte BDPA chapter has opened its class to any rising high school student who is willing to listen and learn about technology. From these young students, 5 are selected to compete in the regional or national competition. This years national competition was held in Raleigh North Carolina.

This year the national competition gave out the assignment to the students. It required that they build a venture capital website. On this site a company could request funds and track the requests. In addition to this users of the site could calculate a ROI on the investment. They were allowed no tools other than Notepad and Textpad and their own creative skills.

They were asked to build the site in 7 hours. This is a testament to their talent as I know some professionals who would be hard pressed to provide results in this amount of time.

For those of you who do not know, each year we, the local BDPA chapter, operate a learning class where we teach rising high school students how to build .NET web pages. We have students of all levels walk into our classroom, some having little to no computer experience, some having programmed for years. Regardless of their level of expertise, it is the programs responsibility to see that they walk out having learned a little more about technology.

The BDPA's mantra is "From the Classroom to the Boardroom", the Charlotte chapter strives to provide exactly this.

In previous years multiple HSCC students have gone on to internships within software development groups in the local area WHILE THEY WERE IN HIGH SCHOOL. Winners of the national competition will recieve scholarships to schools of thier choice. And this year BDPA and affiliates provided a full 4 year paid scholarship for an HSCC students from Columbia, SC. We follow through with these students progress as thier professional careers develop.

If you have a student that is interested in the program, we encourage them to come to our classes. They being the weekend after the Superbowl. The sessions are not expensive. Find out more by visiting, http://www.bdpa-charlotte.org

If you are interested in helping this program, in any way, please reach out to me. Someone reached out to you when you were younger, you should be returning the favor. It makes you feel good!

Thursday, July 9

CIFS, SANS and NAS for the Non-Techie

How to explain a CIFS, SANS and NAS to a non-techical person...

Be forewarned a lot is lost in translation, but I think I have the majority of it correct. Do your own research if it is that important. This was quickly written with a humorous mind.


CIFS are the next generation of SMB protocols. To understand a CIFS one must first understand SMB.

SMB is a way for networked machines (computers and printers) to talk and share files with one another. If a computer has SMB "turned on" it will periodically shout out on the network that it is available and ready. This is known as broadcasting. It provides a nice way for computers to find each other.

Think of a dark basketball gym, you and a few friends are standing in the dark and you have to find each other. You do this by shouting till you can find the one you want to talk to.

This works fine, until your friend list gets a little long, say 21 people. Suddenly you notice that when you shout it's hard to hear the reply amongst all the other shouts.

This is what happens with SMB when you have more than 20 machines on the network. It gets worse as you add more machines. There are ways around the problem, but usually the solution is not elegant.

Being the solution finders that we are, we (programmers) thought there had to be a better way. Thus CIFS was born. It was like SMB, think shouting in the dark, but had a number of features that made it easier, think flash lights and fire. Well maybe not fire.

The rules of CIFS live within a Microsoft application called SMB 2.0. The most interesting tool/addon that CIFS provides is the ability to share its file system and structure with other machines that could understand it.

Enter the SAN


Though you might be told differently, SANS are large dumping grounds for data. Anyone with proper access and authentication can dump a file in the playground. Anyone (or thing) with proper access could pickup the file and do things with it. The coolest thing about a SAN is that you can have multiple machines pick up the file at the same time, you can copy the data multiple times, you can backup a SAN while it is being used. All these things that make your system admin's life a lot easier.

Usually, though not all the time, SANS also have a plug and play feature to them. Plug and play sounds cool, but all that means is you can think of it as a flash drive. Except that the flash drive can be as big as a house. Very handy when your fortune 500 financial server dies and you have to move all the data to the next one.

SANS come in handy when you have 300 machines responsible for handing out the same document to a few million folks. Mostly cause you only have to store the document in one location.

SANs also come in handy when your not quiet sure how much data you will need to save. You can give a group of computers one SAN and say hey you can only save a few 1,000 GB of data in this SAN, I know you have to share but at least it's more than the silly 20 GB on your hard drive. Plus...well you can share your iTunes with everyone in the office. Oh that made you sit up huh.

Continuing...A SAN sits on it's own machine/computer that handles all of the a fore mentioned coolness. Using CIFS, or SMB 2.0, or as some folks call it Samba, allows the SAN to shout to other machines that it is available. The SAN can also hand out it's file structure, you can think of this as a Map of where and how to get to all of its goodness.

This communication is where CIFS comes into play. It easily allows all of the goodness of SANS to go cross network and enables multiple machines to easily access and consume data from the SANS.


As an FYI a NAS and a SAN provide similar to the same function but with different technical implementations. Personally, I think it ironic that one spells the other backwards; this suggests that one solution is worse than the other. If you had to buy one, I'd by a NAS...but that is a different subject.

Friday, July 3

The Snow Day - From the mind of a 6 year old

I write this in hopes that my two sons will read as they get older. Maybe it will help them understand the quirkiness of their father. I hope it puts a smile on your face boys. I love you both. Be Aware: Dad (me) has a faulty memory so while some things may not be factually acurate, this is how I remember them.

I was born in January and grew up in Tacoma Washington, a town near Seattle. At that time, and probably to this day, it snows a good bit. On my fifth or sixth birthday, lets just make it easier and say it was my sixth, we had a pretty good snow storm blow through.

It was the kind of day that a kid loves. Snowing outside, not a lot of wind, the snow is the soft kind that makes great snowmen and provides just the right amount of cushion to jump off the front porch. Which, by the way, I was forbidden to do but being six and knowing Mom was always wrong I did it anyway.

Mom kept the hot cocoa coming, so I remember alternating between the running in the snow and sipping hot brew at the fireplace. The easy life of a kid.

At the time my father was in the army but was on leave so was home. This was a highly unusual event, but made for a great day even better. Because as all six-year-olds know, when Dad is home all rules are open for new interpretation.

Dad and I spent the better part of the morning building a snowman. I gotta say Dad knew what he was doing. This snowman must have been 6 feet tall and about 4 feet wide at the base. We actually carved arms out of some icy snow and put them on thing. It come out pretty muscular and hulky looking. I remember being a tad bit frightend as it was so very very big. Remember I was six so I was still coming to grips with how tall adults were. (Side Note: Do you remember in 1st grade, how big the 5th graders seemed...giants they were. Or maybe that was just me.)

As I was saying before, it was my birthday and we had our little family celibration in the living room. After the cake my mom wipped a bed sheet off of my present, which was sitting in the corner. HOLY MOLY, I had gotten a Green Machine.

Now, let me enlighten you as some of the newer generation may not know what this awe-inspiring vechicular man-child toy is all about. Back in the day, big wheels were the state of the art way to travel for a six year old. (I still think they should be, but times change). A big wheel is like a tricylce except it has a huge wheel in front and was a low rider...sort of.

Well, the Green Machine, was the cadalliac of Big Wheels. Green and slick, it did not have a true wheel, instead you used these levers to spin the beast left and right. It was as tall as or bigger then me, and I could bareley touch the peddles. It was great for donuts and drifting though.

Now my Mom and Dad were never well off, so Mom had gotten a used one from the thrift store. (remind me to tell you some of my thrift store stories). So yeah, it was a little used. But hey this beautifull, speed demon of a machine was MINE and mine alone.

About 10 seconds after the un-vieling I was out the door. Now, use your imagination and paint a picture for yourself...Your looking at a street, covered in about 2 feet of snow. The side walks are sholved, but some of the snow has melted on them so thier pretty slick. We also lived on a pretty good sized hill. The hill stretched about 5 blocks and was probley at a 20+ degree angle. We were about 75% up the hill, so there is a long way down.

I'm slipping and sliding all over the side walk, my Dad's trying to show me how the levers work, but I won't stop peddling so he can't quite show me what I need to know. But I'm a clever kid so eventully I think I have the hang of it. Sorta.

I think at this point Dad got a little disgusted and figures he would let me do my own things. He goes to play with my younger siblings.

I in my infinite wizdom as a six year old, think that all I need is some momentum. Speed and momentum and then this Green Machine has to go stright.

So I push this thing, which is almost as big as me, up the hill about a block. Now this is the part that I remember most vividly about this day. I'm sitting on this thing, I can barely see over the levers and the wheel. I'm in the middle of the sidewalk and I'm looking down the street. The sidewalk looks like some type of roller coaster. A dark, icy wet rollercoaster ... with snow bumpers on the side to keep me on the track. At this point I begin to have second doubts.

But then I see my Dad, he's just noticed that I'm not "in the yard". He turns and yells "Markus", this startles me a bit, I lift my feet and ....... we ........ are ......... OFF!!!!

Fast and faster, At T minus 4 seconds I'm going to fast to bail out. I grab a lever. The beast scoots towards the road. Dad runs out waving at me to stay out the road. I pull the other level. The beast scoots toward the yard. I'm thinking "nice, this might work"...then I glance stright and realize that the sidewalks goes on for about 3 blocks, an eternity, and it is .....all .... down... hill!

A moment of panic sets in...I grab both levers and pull at the same time. The beast of a machine goes into a spin, throwing me out like a snowball shoot from a sling. I hit the snow bank and kinda... sorta... launch over it. Only to see the 6 foot tall GIANT CHILD EATING SNOWMAN looking to eat me. Screaming, I face-plant into it's enourmous stomache.

Dad's running over, but slips and falls and I guess he nudges the snowman because at this point it's arms fall off. Suddenly it wasn't quite so scary a snowman.

I remember laughing a lot, Dad not so much.

I don't know what happend to the Green Machine.

But to this day, I love the snow and I love birthdays.

Friday, March 20

Code: Merge Gifs with PHP

For those who need it, and for my bad memory. The following code will take two image files, lay them over one another, and print some text on the top.

An easy way to create dynamic images.

//
//base image (is under everything)
//
$image = imagecreatefromgif("background.gif");
$width = imagesx($image) ;
$height = imagesy($image) ;

//
//create the final image to be output
//
$image_final = imagecreatetruecolor($width, $height);

//
//create a few colors, for drawing
//
$black = imagecolorallocate($image_final,0,0,0);
$white = imagecolorallocate($image_final, 255,255,255);


//Get destination coordinates
$dst_x = 75;
$dst_y = 75;


//fill image with background
imagefilledrectangle($image_final, 0, 0, $width , $height , $black);


//copy background to output image
imagecopyresampled($image_final, $image, 0, 0 , 0, 0, $width, $height, $width, $height);


//
// Add another image over the top
//
$overlay = imagecreatefromgif("unit.gif");
$width_o = imagesx($overlay);
$height_o = imagesy($overlay);
imagecopy($image_final, $overlay, $dst_w,$dst_h,0,0,$width_o,$height_o);

//
// Write some stuff on the image
//
imagestring($image_final, 3, 15, 32, "Hi there", $black);
imagestring($image_final, 3, 200, 32, "Holy Moly", $black);


//
// Send the image to the browser
//
header("Content-type: image/gif");
imagegif($image_final);

Angels and Demons – Traps

I recently added a new feature to the Angels and Demons game. To date the game has consisted of a pretty simple game model. You build buildings, research and level up till you have the best units you can get. You then start to attack the Holts (player maps) around you. Seeking to take them over.


When a battle takes place, the Attacker decides on the number of warriors to send on the attack. They send the warriors on their merry way and 10 min later the battle takes place.

When a player is attacked, the Defender, all available warriors will participate in the battle.

Now with Traps, Defenders can take a part of their Army and "hide" it on a specific Holt. Once those warriors are hidden in a Trap the Defender cannot use them to attack anyone. However if an Attacker launches an attack on the specific Holt the "hidden" warriors do twice as much damage and have twice the defense.


An Example:

The Demon "DemonKnight" is consistently attacking "Heavens Path" which is owned by the Angel "Eternal Life". Eternal Life decides to set a Trap and hides 300 Arch Angels on Heavens Path. This leaves Eternal Life with 1,000 Arch Angels to play with.

DemonKnight attacks and finds himself facing 300 Arch Angels at (*2) attack and (*2) Def. And an additional 1,000 Arch Angels at normal attacks and defense.

He is routinely demolished.


My Thoughts

I think this adds another dimension to the game, as players can bait Holts by making them look like easy targets. Attackers could be suckered into attacking, but when facing a unit with 2 times the attack, the Attacker units die faster. And because the Defender has 2 times the defense, the defender units die slower.

This seems to be a clever way to slow down an aggressive player.
























Wednesday, March 18

The Warriors of Angels and Demons

I changed the stats on the warrior classes within Angels and Demons. Some people might like to know the thought process, other just want to know so they can rule in the game. Either way, here are my thoughts.

Level 1
New Users will need to have some cheap units, so they can build an army quickly and feel properly impressed with the shear volume of warriors they have. I also want to encourage them to build some buildings and get used to the whole research / train/ fight. So for all of that I have created the following:

(Att: 1, Def: 1) Dark Warriors, Holy Soldiers : Starting warriors, a little attack, a little defense, really cheap. Build away

(Att:1, Def: 0) Grimlins, Soldiers: Cannon Fodder, a little attack, no defense. Good to train a bunch of these if you are about to attack.

(Att: 5, Def: 5) Angel, Fallen Angel: Good soldiers, some attack, some defense. These will be your staple warriors until you can advance a few levels. They are not bad and even as you advance you should keep a good bit for defensive purposes.

Level 2
Now at this point in the game, you've attacked a few folks and discovered that while the Angel and Fallen Angel are good for attacking newbies and weak players, they just don't cut it when it comes to a real battle. This is when you begin to pay attention to the actual attack and defense value of your Warriors.

(Att: 10, Def:100) Warlock, Cleric: Your first real warriors. These warriors become available after you have played for about 2 hours. Great defensive warriors and good for attacking.

(Att: 50 Def: 25) Hero, Dark Lord: Your elite attacking squad. It will take about 5 hours for them to become available, they cost a lot but are worth it if you are attacking.

Level 3
So, you've collected a few Holts. Maybe you have opened a Realm Gate. You know how to time your spells and attacks. But there is this one major bad a** who keeps attacking you. You really want to plan something special. An attack of massive proportions, one which can wipe out a whole Holt in one swoop. Now it's time for you to train the big boys.

(Att:150, Def: 50) Arch Angel, Lower Demon: Now your talking, send these guys in and they can wipe out a watch tower by themselves. They do cost a lot of souls.

(Att:300, Def:150) Demon Priest, Demi-God: The strongest unit in the game. By the time you have these guys you should be fighting battles over multiple Holts and Realms. You should only be able to afford a few thousand of these at a time.

Wednesday, March 4

What is Angels and Demons?

Angels and Demons is the latest game I have been working on. It is a resource management game where the primary resource is souls.

The game starts of simply and gets more complex as you progress. There is a certain language or culture that goes with this game as you will see.

When you start you have to choose a side to join. You can either join the Angels or the Demons. Angels defend a bit better and Demons attack a bit better. Once you have made a choice, you can not change sides.

After you have picked a side you are given a piece of land, called a Holt.A Holt consist of a 7 x 8 grid of land. It is your base of operations...of sorts.
On a Holt you can build structures, each structure allows you to do take different actions. Certain structures train warriors, others will gather souls, others will cast and maintain spells.

Each building that you build increases your Holt's attack and defense powers. Not important right now, but critical later on.

You start the game with 1,000 action points. Action points are the life of the game, they allow you to perform actions. You receive 1 action point per min up to a max of 1,000. (This may change depending on the game server and general feelings of the developer). Action points can not be purchased.

You start with the ability to build three types of buildings:

One that will train warriors. One that will gather souls. And one that will defend your Holt. You can build as many as you want although each building cost a different amount of action points and souls to build.

Each building allows you to "Research" another building. These research able buildings can not be built by you yet, as you do not know "how" to build them. Spend the action points and these buildings will become available to you. The first few are easy to research.

Now this game takes a bit of thought, initially it would appear that if you build a bunch of stuff you can win easily, but you will find that your action points will not be enough. You can not win this game by being the fastest "clicker" or the person who visits the most often. You have to do a bit of planning. Strategy some might say. *grin*

Once you have an Army go exploring, visit the Holts around you and figure out who deserves to die.

The Next Level

There is a meta game, to Angels and Demons. You have your Holt and you can explore the surrounding 8 Holts. These 9 Holts, yours and the 8 around it, make up a Realm.

Initially you are competing with just those folks in your Realm. But when you begin to dominate and hold 3 or more Holts you will receive a "Realm Gate", sometimes called a Neather Rip, this gate will allow you to travel to other Realms.

However it's a double edged sword. Until a Realm Gate is built your realm could not be attacked from other Realms. Now that one exists, other Angels and Demons can enter.

So at this point you are now competing against other Realm holders.

Ranking

You will always see a ranking for just players who have Holts in your Realm.

You can see a game ranking which ranks you with all players as well.

Tokens and Membership

Members can purchase Tokens. Tokens allow you to perform certain actions quicker but still take action points. For example you purchased a "Fallen Angel" for 500 Action points....normally you would have to wait about 3 hours before that unit is ready to fight. Member tokens can be used to bring that character up to speed immediately. There is a limit to how many tokens you receive each day, and every time a member uses tokens, free tokens are given to Non-members.

Members have special avatars in the rankings, chat and online boards.

Members are able to name their Holt and lay down different floors on their Holts.

Members are able to view a full list of all their buildings and all the outstanding actions for those buildings.

Thanks for reading the post!!!

Sunday, January 25

5 Ways to Make Your Game Addictive

We all believe that players love to play our games, but what really makes our games addictive. I have found that the following traits tend to relate to the addictiveness of a game. The more your game has the better it will be.

Reason #1: Full Immersion
Players like to be drawn into the story. While most PBBG will not take over the entire screen or have heavy 3d graphics, having a background story and a consistent narrative throughout the game goes a long way to having immersing the player in your game. Be forewarned this is one of the toughest of all of the attributes to implement as it takes a methodical, long term, and strategic builder to maintain a good story line.
Reason #2: Player Ownership
Allow your players to "own" a piece of the game. Ask yourself what aspects of the game play do you allow your players to control. The most common implementations of this are an in game auction site, allowing players to sell items from a shop, or allowing players to swap items or even create them. One of the best games online that allow player ownership is SecondLife. (Yes, I realize it is not really a game)

Reason #3: Personalization
Do you give your players a way to stand out from other players? The more opportunity you give them to stand out the more invested they become in playing the game. Most games have some sort of built in Avatar system, while this does go toward personalization it has been proven that most gamers have become jaded to the avatar and consider it the same as a personal username. Leaving the Avatar system with a lesser impact than it did in past times.

Reason #4: Rare Items/Actions
Having rare items within your game gives the collector within the gamer something to look forward too. The issue with rare items is that often they are "game changers" in that who ever owns one is semi-god like. In truth a rare item that has less power works just as well as a powerful rare item. There are two caveats to keep in mind, first knowledge of its rarity must be will know, and second the item must have a "unique" appearance within the game. For Example: Everyone knows that finding the "Super Secret Rod of Civility" is really hard to get, and if you get one your face glows red. The only way to get a glowing red face is if you have the secret rod.
Reason #5: Showing the Ladder
How easy is it for your players to see their progress in the game? Players like to get that immediate gratification as they rack up the score, so make sure that they can see their name on a scoreboard and see how they progress up it. Even if it does nothing more than point out they they are NOT last on the list (only 2nd to last). This is one that is simple to build but rarely done correctly within PBBGs.
Comments are welcome....

Friday, January 16

How to make Money with your Game (pbbg)

The eternal question, how to turn this thing into a money tree.

I've got a game coming out with lots of potential, here is my plan to make money from the game. If you have tried any of the following please let me know how it has worked out for you. (And of course if you have any other ideas please shoot them out.
Some of this are summarized from posting and conversations on other sites, so I certainly can not claim these as "mine".

Background: This is an RPG game, utility management game. Let's say a user gets 1 pt every 1 min. They buy stuff and attack other players with it.

Idea 1: User can purchase more action pts/turns/ticks.
The trick with this is that in order to maintain a balanced system, when one user buys pts. All users get points. IE: You are actually bying everyone in the game an extra 500 action points.
Alternativly, you could randomly give the purchaser and 10,20 or 30 other players the same amount of points.

Idea 2: Membership
Two types of Membership, a lifetime or a monthly. While monthly is more attractive to me, lifetime is more attractive to the player.

Membership gives you additional benefits that make the game easier to play. Maybe the ability to have a custom avatar or screen. You are allowed to buy items, units or equipment that functions in the same manner as a non-member item but it has a different image.

Idea 3: Special Items
Allow users to buy items/units/equipment that does special things or have special/higher stats. I go round and round about this one, as it has the potential to devastate the game balance. But everywhere that I read says that while the players grip about this feature, they will buy these items. This also seems to be the starting point where items in your game begin to have an external real world money value.

Idea 4: Earn Refuge
Most games give refuge to new players, they can't be attacked for 24 hours. A player could by refuge and not be attacked for a given number of hours. This has the potential to mess with game balance if a player is able to buy this for extended period of times.

I'd like to hear what your thoughts are about this...

Tuesday, January 13

rpgCardz.com - A battle game using cards

One day, I put myself on a mission to think up a simple but addictive game that had an RPG twist.

Thus rpgCardz was born. I built this game put up one post and then forgot about it. Well I pulled it out the closet, dusted it off and did some upgrades on it. I think it has a ton of potential. We will find out shortly though.

So the rules are dead simple.

Everyone has the same Str, Att, Def and Damage stats.

You have a deck of cards.

Each card can affect one or many of your or the enemy stats.

Once used a card must "recharge" a given number of rounds before being used again.

You pick 6 cards and specify the order in which they are played.

When you go to battle cards are played in order until one player is dead.

That's it.

One additional fun factor...you can take your cards and put bounties on other players. IE: If you kill this player you will get these 3 cards.

Recently I gave it a new interface, chat function and ability to see the battle history.

UntouchableGames.com is back!!!

UntouchableGames.com is back!!!

Sweet....I gotta laugh about this one. In my college days I ran a game called Blade of a Mage and ran it under a company called UntouchableGames.com. I took it down 3 or 4 years ago. Well, I find out I had rights to the domain still and I was with a host that let me host alternate domains really easily. So....I put the site back up.

I hope to use it as portal and company profile once millions of people want to join my game. (LOL)

Anyway, it was personal joy to get this back and running, brings back lots of memories.

FYI: I used the same template as I did for Battle Forces Online. I don't like that I did that any more...one of the things I do recall about this site, was changing the design every 2 to 3 months.

Enhancements to my Battle Forces Online

Battle Forces Online -(http://www.battleforcesonline.com)

I've put some time and effort into Battle Forces Online.

I gave the entire game a face lift. I bought a template from monsterTemplates.com, modified it a good bit and used that as a new front end. I really like it, but I'm still in need of a good name for this game.

Killed a few bugs, attacking was a bit glitchy. The admin panels had all kinds of problems. So I put some time in and fixed those.

Because I fixed the admin panels, I was able to easily modify the game, so I added a few more maps/levels. (There are now 13, the last being Devils Delight)

I added a few more characters.

Created an iGoogle gadget for the game. (read the Tutorial)





Created a map function that tracks who is where.

Started a one month turnament.

Put some google ads on the game.

All in all, I like the upgrade, waiting to see what users think, but traffic is picking up allready so I take that as a good sign.

It's been a busy few weeks....

Well its been a busy end and beginning of the year. I always seem to get a bit more productive around these times. And the last few weeks I've been unable to sleep on my working schedule. (I've always been a night owl, had to train myself to sleep right in order to be effective at my day job)

So the next few post will be about some of the things that I've done in the past few weeks.

Wednesday, January 7

Make an iGoogle Gadget for Your Game in 5 Steps

So the other day to help promote my game, I decided to create an iGoogle gadget.

For those who might know, Google allows users to setup their own homepage with nice little gadgets that do all sorts of things. You can check that out here: http://www.google.com/ig

To build a gadget you must understand that it consists of two parts.

xml file - This is the base file and contains all the formatting and javascript of your gadget.
data file - This contains the data that is displayed by your gadget

The gadget I am building is for my new game www.rpgcardz.com , the gadget will display the top ranking folks.

Step 1:

Get the developer gadget, from here, (click the add now link). It will allow you to refresh and test your gadget without posting to google's gadget directory. This is important...without this you will have a very hard time...go get it.

Step 2:

Create the xml document. Notice this looks very similar to an HTML document. Do the following to the file:
  1. Edit the Author, Title, URL and Screenshot information in lines 1 to 10
  2. Edit the css style elements between lines 16 and 22
Get the file

Step 3:

Notice there is some javascript here which calls a remote location and takes the content there and shoves it into a div. You will need to point the code to the right location and create the data file (see Step 4).

We use a special google function called _IG_FetchContent(), which you pass a url to and it calls the function that you specify and passes back the contents:


var requestType = "highscores";
var timer = null;

function getHighScores()
{
requestType = "highscores";
url = 'http://www.yoursite.com/rpgcardz.com/feeds/highscores.php'
//send request using google API
_IG_FetchContent(url, responseHandler, { refreshInterval: (10) });
}


function responseHandler(response)
{
if (response == null || typeof(response) != "string")
{
$("mainDiv").innerHTML = "It appears that no one is online...";
return;
}

fullText =response;
if(requestType == "highscores")
{
//take contents and shove it into the mainDiv
var d = document.getElementById("mainDiv");
d.innerHTML = fullText;

//Refresh in 10 min
timer = setTimeout("getHighScores()", 600000);

}
}

//call the function when the gadget loads
//another google api function
_IG_RegisterOnloadHandler(getHighScores);



The main body of the page consists of some simple HTML. (If you can't make sense of this, you probably should not be doing this stuff.)

<center>

<a href="http://www.battleforcesonline.com" target=blank
><img src="http://www.rpgCardz.com/iGoogle/logo.jpg" border=0></a>


<h1>Rankings</h1>
<div id="mainDiv" style=" background-color: #EEE; margin:0 auto;">
Loading...
</div>


</center>


Step 4:
The data that actually get displayed is generated by a different page. I usually put this in a folder called feeds. For example: www.rpgCardz.com/feeds/highscores.php

That one anyone can use them.

So highscores.php looks like the following:



//connect to the database
include_once "../connect.php";
//
// Make sure the page is not cached
//
header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );



$sql = "select userID, username, score ";
$sql.= " from c_user ";
$sql.= " where isGuest = 'N' ";
$sql.= " order by score desc limit 10";
$q = executeQuery($sql);
?>
<table width=100%>
<tr>
<td class=label>Position</td>
<td class=label align=right>Score</td>
<td class=label>Player</td>
</tr>


</table>


Step 5:
Test, Test, Test...

Go to your iGoogle page, in the developer gadget you just added type the location of your XML file.

Watch the magic.

Notes and More:

Google caches your gadgets, they refresh the cached copy at least once a day. Check your cached copy before releasing to the world.

Try going putting the url of your data file in your browser...if it crashes or errors you have problems.

Try putting the url of your xml file in your browser...if it crashes or errors you have problems.

You can create the same type of gadget without using ajax. (PHP can generate xml docs...or you can do print statements to write the xml file)

Odd things happen with cached data, that could be the source of all your headaches.

Firebug is your friend (firebug's a javascript debugger plugin for firefox)

Followers