Configuration Version 2

This one goes back to my Configuration entry. Well, it turned out, 128 lines wasn't enough. See, when I write an XML document, I like to reuse tag names (see Element over at The W3), so, my old XML document of one line per object wouldn't cut it. The system would look up an object, but it will be a different type. For instance, I would use the "attribute" tag numerous times, but each time it means something else. One time it would mean the definition of an attribute, and another time it would mean "this attribute is the one that I want to use", or essentially, in as highly a technical way as I can describe it, something would reference an attribute that was previously created. Now, that one class that was 128 lines or whatever, is now 206. Still not a ton, and I wake up and thank God for letting me wake up one more day, and I also thank Him for recursion and reflection. Those are two of God's greatest gifts to any Computer Scientist. Each a gift in their own right, but get them together and that's how babies are born. It's SEXY.

Overall, here are the files and their line numbers in the Configuration Version 2 project:

Package voodoo.xmlconfig.domain :
ObjectMap.java : 7 lines
Package voodoo.xmlconfig.loader :
ConfigLoader.java : 104 lines
ConfigParser.java : 206 lines
Package voodoo.xmlconfig.nodes :
KeyNode.java : 12 lines
LookupNode.java : 45 lines
NodeMap.java : 47 lines
ObjNode.java : 125 lines
Package voodoo.xmlconfig :
Configuration.java : 39 lines

So there you have it. Sacrifices were made. Ideas were thrown around. XML parsing was ritually slaughtered. Never again. Woohoo.

There are some major features in this though, despite its brevity. When loading and looking up objects in a map at the same time, sometimes what you are looking up will not have been loaded into the map yet. I wrote my copy function to take care of this after the objects have been initialized and put into the map as basically blank objects. Copy then takes the actual values and loads them in. This is important because other objects already have a reference to the blank object, as opposed to the fully loaded object of the same type. This could cause problems in the future, but for my needs, it will serve the purpose. Another awesome feature is the ability to look up objects in a map in the first place! "I want to add a reference to this attribute to this object, but find it in this map under this key and this key." Sometimes, a map indexed with a key will reveal another map, so you can specify multiple keys. For my attribute, first, you look up the type, where many attributes can have the same type, then you look up the name in the resulting map of attributes with that type. This can be done infinitely.

Tune in next week. I just took my laptop out of its case for the first time in 2 weeks! I should be addicted to programming Java again in no time.

Happy Halloween!

Today, I start my new job. All Souls' Day. Should be a good time. Yesterday, I was watching football, and I noticed that you can't really watch a football game, and see a crowd sweep, and be reminded that the day after is Halloween, because people are always dressed up, or have face paint on, or a mask. It's just sports :)

My Hobby

Although more of an obsession nowadays...



Those are games I've bought in the last month. Well, I don't remember when I bought Fable. Rise of Nations : Thrones and Patriots came out a while ago though. It's an expansion pack for Rise of Nations. It's a good game. I'll have more about each game as they slowly take over my life, and I get hooked to each one.

Those cover the spectrum of video games, as pretty much every major genre is represented. I like my video games like I like my music. Varied. Just like in music though, I have a favorite. It's Strategy. Civilization IV, Rise of Nations, and Age of Empires III are all strategy. Fear, Brothers in Arms, and Call of Duty 2 are all first person shooters, and in the genre "Action". That's my second favorite. See, you need more FPS to keep you interested for a while, whereas one strategy game will usually keep you interested for a long time. Well, me anyway. However, FEAR is the best game I've ever played in that genre. Fable is an RPG, and it has the potential to be awesome, but it takes a really long time. Except Fable, which was awesome, but it was too short!! 10-12 hours on a RPG is way too short. You need them to last at least 40 hours.

Games not pictured that I bought in the last month : Serious Sam 2 (sorry Zatko!) and Dragonshard.

Chicago Wins in 4

I knew it would happen. I said it a few times (not on this site...) that Chicago would sweep the Astros in four but I honestly didn't think it would be that close of a series. Tonight's game was 0-0 through seven innings. Both pitchers played incredibly, then were both taken out at the seventh. Backe for the Astros, Garcia for the White Sox. Jermaine Dye batted in the only run of the game. 1 - 0 final. Great game. Exciting plays to end it, however only five hits for either team. Very boring for non-baseball fans. The other games had more runs. Last night's game went five hours and forty one minutes, a World Series record.

Awesome coding

Here's a function I just wrote that basically copies one object's data to another...

private void copy(Object src, Object dest) throws Exception {
  if (src.getClass().equals(dest.getClass())){
    Method []methods = src.getClass().getMethods();
    for (int i = 0; i < methods.length; i++){
      if (methods[i].getName().startsWith("get")){
        String setname = methods[i].getName().replaceFirst("get","set");
        Method setmethod = dest.getClass().getMethod(setname, new Class[]{methods[i].getReturnType()});

        Object value = methods[i].invoke(src,new Object[]{});
        Method clone = value.getClass().getDeclaredMethod("clone",new Class[]{});
        if (clone != null && clone.isAccessible()){
          value = clone.invoke(value,new Object[]{});
        }
        setmethod.invoke(dest,new Object[]{value});
      }
    }
  }
}


It's in Java, and it imports the java.lang.reflect package. It's wicked. Obviously not the most complete function. It could be in a BeanUtils class as a public static function. I could also specify whether or not I want "clone" to be used, instead of just checking if it's implemented and using it. One last thing, if the destination class is a subclass of the source class, it should still work, because the destination is guaranteed to have the same functions as the source in that case. This, of course, assumes that the objects are "beans".

State of the Interview Process

Now that I have a job and haven't started yet (won't until November 7th), I feel I can comment on the current interview process in the information technology industry. This is the same with all interviews I have been on. Maybe it's just my age, and that I'm still considered a "junior" developer, considering there are people that work at the places I've interviewed at that have 10+ years experience in the field of technology. I can give them respect for that, for being older, for being around more things, but I still really can't consider myself a "junior" developer. Experience-wise, yes, I have 4 years experience. But, knowledge-wise, I rank up there with at least an eight to ten year developer, just because I live and breath this stuff, and I'm writing software on my TIME OFF. Jeez :)

The interview process for every interview I've been on is the same. The interviewer mentions something in technology, perhaps a term used in Object Oriented Programming, or they ask you something about the language that you are being interviewed to program in, or whatever, and you are supposed to answer it in the best way you know how. Well, let me let those interviewers in on a little secret: Everyone asks the same questions. If you interview at one place and get something wrong, you're going to look it up and have an answer for the next place. Not that I ever mess up on any of their questions. I've always known the answer to "What's the difference between public, private, protected and internal?", but now it's more like I'm spitting it out from memory just from all the times I've been asked it. There are numerous other ones.

I agree, this is a quick way to weed out the people who have never done object oriented programming, and the other questions may weed out people inexperienced in other aspects of technology which are related to the question at hand, but how about this. Try to weed out people who haven't used those things and people who haven't developed anything even remotely difficult in their lives, on ONE question! My one professor in college said that most Computer Scientists, after working in the field for a number of years, couldn't write a working "Queue". Sure, it's no easy task, but we did it, learned the ins and outs, things to watch out for, etc. I have that extremely good memory, detailed in The Philosophy, Part I, so I'll never forget. Although, I did it in C++, now with fully object oriented languages, it should be a bit easier :) Not that you would ask someone to write a queue in an interview, but perhaps you would ask "You want to write a queue... which data structure would be easiest to use when writing a queue?" Somewhat open ended, yet extremely difficult, and you're really tapping the knowledge of your interviewee. You can use an array, keep the current positions as integers (beginning and end). A linked list would be simpler coding, as long as you have the linked list code already, although it's not an extremely difficult challenge to write a linked list (just give me a pad and a pencil, I'll code you a linked list!). Maybe you can ask "What can't you use?" on top of it. Surely, a tree based structure is useless. Easiest thing would be a linear list of some sort. That's a good question, and when I'm interviewing people in a few years, as long as writing code is still a profession, I'll remember that one. Other questions could be more pointed to the type of programming the interviewee might be undertaking if he or she were to be hired, like web programming, databases, web services, UI programming, etc.

I'm not here to tell interviewers how to do their jobs, but us interviewees who know what we're doing with the technology typically snicker under our breaths when asked "What is a dataset and how is it different from a data reader?" For those who don't know what they're doing, they can look up this answer and have it ready for their next interview. Even if their resume says they're the bomb but they're really not...

Another reason that I don't like this process is because I might not know everything that they ask at an interview (SHOCK!!). I might not know every single function that a "DataSet" has on it, every single type of constructor it has, or things of this nature. However, there is no need to ask a question like "You want to create a dataset from XML, how do you do this?" This also points back to The Philosophy, Part I. I explicitly point out that it doesn't matter if you know how to do something, it only matters if you know what something does. Or, in this case, if you know what something is capable of. Yes, you can create a DataSet from an XML document, but when have I ever needed to do this?! If I did ever need to do this, how in the world would I learn in the first place? By looking at a reference. If, for some reason, I never used that again, would it matter now that I don't remember the specific function to call, or would it matter more that I know that you can create a DataSet from an XML document, somehow? I certainly wouldn't think that I can create a Hashtable, or a bottle of beer, from an XML document.

I look forward to not going on any interviews again for a long time (crosses fingers after only having last job for 5 months).

New Video Games!!

Woohoo! Today, I was offered two jobs literally 20 minutes apart. I've never been offered more than one job at a time, so I would always just take the next job. This is a different experience completely. Getting to choose is a pleasure, however, having to choose SUCKS!! In the end, they are both great companies, but one was more along the lines of what I feel that I want in this stage in my career. Money is hardly an issue, I knew they would both be sufficient to my needs. I didn't get into programming for the money, obviously!! Just read under "Computer Science" on the left! I'll take the money though, because I have bills and stuff that I need or might eventually want. However, two jobs to choose from wasn't an easy choice. I had a feeling yesterday that I would be offered both jobs, so that's when the deliberation started. I had to really find out what I wanted, and it was tough. Anyway, I am back on the career ladder. And just in time! Some great video games came out today.

F.E.A.R. (First Encounter Assault Recon) is the best game I've ever played. It's gorgeous, the combat is exciting and beautiful, the atmosphere is freaky as hell, and it's just an all around great game. I'll have screens soon.

Dragonshard is being installed now. It's a real time strategy game (RTS) based on the rules defined in Dungeons and Dragons. That's a role playing game (RPG), or rather, a board game RPG with a set of rules that many computer RPGs follow. Neverwinter Nights uses the D&D rules, for instance. So, it'll be an interesting mix between RPG and RTS. I look forward to playing it.

Another game worth mentioning, which isn't out until at least February '06, is S.T.A.L.K.E.R. I know, lots of acronyms. I've been following the development of this game ever since I first heard about it. I'm happy to report that they are still working on it! They actually had it done at one point, then decided that it wasn't fun enough, so they reworked some things, rewrote the story, tweaked some things, and are well on their way to seeing the February '06 deadline. You can read about it here.

Overall, a pretty exciting week :)

Goofing Words

I sometimes goof up on words that are pretty close to each other in their pronunciation or spelling. Like these two: Tentative and Attentive. It's bad when I write an email and say "I'm not very tentative when talking on the phone and driving." It almost works out, if I hadn't negated it. Tentative, of course, means "under terms not final or fully worked out or agreed upon". It also means "doubtful; unsettled in mind or opinion". If I had written "I am tentative when talking on the phone and driving", then it might have seemed fine. I wrote this within a minute of waking up, my mind doesn't seem to grasp the concept of correct English, ever, and especially not when just waking up.

Which came first?

This is a filler post. It's a play on the old riddle, "Which came first, the chicken or the egg?" It's computer science related, of course.

Which came first, the program or the compiler? It just baffles me, that before the first compiler, people had to type in machine code directly. The first compiler was made this way... it had to have been, right? It sort of has philosophical meaning behind it. The chicken would have had to have come first, but something made it, possibly building it up by hand. Because you can't have an egg without a chicken, how else would it get there? An egg doesn't just appear out of nowhere, but neither does a chicken... Theories point to some form of evolution or "intelligent design". It's a topic worth mentioning. One that I have no clear conclusion on. I tried to post on it a few weeks ago, did some research, and was unable to discount either. The more interesting argument is that of intelligent design. A compiler would have been made with intelligent design :) A supreme being, a computer scientist like me, designed the first compiler so other supreme beings could write software. Imagine a supreme being designing DNA, which is like machine code, and from a living creature comes the ability to make other living creatures. Is it science? Yes, that's what we call it. It's just whatever you happen to believe. I have come to no conclusion, though. The one site I visited, very much biased towards the God part, has a compelling argument. The chance that the Big Bang would have ended up with a part of it perfectly capable of allowing life is so small that believing that a supreme being started it all is actually the better bet. Imagine that. Those gullible scientists :)

This week's coffee

Sumatra Mandheling "Black Satin". This stuff is dark. Only two of the coffees that I have received from CoffeeAM.com were very distinct. These beans are almost black. The other one was Tanzania Peaberry. It's called "peaberry" for a reason, those beans are small and round. They're not green though :) I haven't had a bad coffee from this place.

Observations of a Non-TV Watcher

I never watch TV. I watch sports, and sometimes I'll catch a Simpson's, Seinfeld, or Family Guy, of if I'm flipping through and catch Friends on, because they have seduced me in the past, I just have to watch. Tonight, however, I caught some good shows. You'll be disappointed, probably, that I haven't watched "the most anticipated" shows, or Emmy or Grammy nominees or whatever awards shows get, or that I don't watch reality shows, but I'll watch them if my brother wants to, and if I get sick of it, I'll run upstairs with a Pepsi and throw on a movie to fall asleep to. You'll also be disappointed, maybe, to know that I will only talk about 2 hours or so of television. Maybe you'll be disappointed that the shows I am going to talk about are only available on cable TV. And you might be extremely disappointed that the cable tv channel that they are on is ESPN Classic.

This week is apparently Mike Tyson week. When I first heard this from my brother, I asked, "What, is his porno being released at the end of this week or something?" I was joking and he knew it, I hardly say anything serious unless I'm interrupting an important interview with a hero of a local pro Sports team, or talking during a big play in a game. I don't hold back. If s@%# needs to be said, I'll say it. Never too serious, but stuff like "My old boss called me today, he's a good guy." Anyway, they've been showing Tyson's best matches this week on ESPN Classic. It's incredible. To watch that guy fight when he was in his prime, at age 19, is an honor. I was around 7 when he was big, I only really knew who he was because of "Mike Tyson's Punchout" for the Nintendo. I had the code to get directly to Tyson, but it's now left my memory. He was incredible. We watched throughout the week so far, all of his great matches, and tonight was the first match I saw of his that lasted past the first round. The dude is lightning. He comes out to the ring with no flashy garments, no robe with his name on it or anything, just shoes, sometimes with socks, and his trunks and his boxing gloves, and a mouth piece. He doesn't ever look cocky, and he doesn't even have the face of somebody who should be feared. He looks calm. Until the fight starts. Then he's throwing down, going toe to toe. A match tonight lasted 91 seconds. Another one was a TKO in the 5th round, where the only thing keeping the dude up was Tyson, until Tyson lead him up against the ropes and landed 2 or 3 vicious blows on him, and the ref intervened and called the fight. It didn't matter that these guys were taller, or had a longer reach, Tyson rocked them. It was truly awesome to watch, and I'll keep watching all week.

Another show that I love is Cheap Seats. If they release the seasons on DVD, it'll be right up there with my X-Files order of all nine seasons. However, Cheap Seats is very new, so it won't break the bank. The Sklar brothers, Randy and Jason, are hilarious. The shows that they pick to make fun of are pretty normal, but when they add their commentary, it's literally belly hurting laughter that arises. I remember one episode, a cliff diving competition from what had to be the late seventies or early eighties. This one guy from Mexico was up, and he wasn't a little guy. They were commenting on his size, and when he dove, from about 30 feet or so, just after he hit the water, they cut to a scene of an atomic bomb going off. You had to see it, just like that whole show. The reason it's so funny is definitely the comedic timing. But, also why it's so funny to me, is because I do this stuff all the time, even before I watched Cheap Seats. The latest, tonight, was when Tyson and his opponent were getting ready to fight, literally seconds before the start, and the ref asks, "Do you have any questions?", where I chimed in with "Uhh, where's the bathroom?" You know, not hilarious, but I just always have done stuff like that.

The last show that I just happened to watch was Arli$$ on the same channel. Arliss is a sports agent. It stars some pro sports players, like tonight's episode starred Mike Lieberthal. Arliss came up to him and said "Mike, you're the only Jew in the major leagues, we have to capitalize on it." Mike had speaking lines. It's rated TV-MA, so kids, don't watch it unless you're 17 or older. It didn't have curses or nudity, but tonights episode had racism. No "n" word, but others. Arliss played against a baseball team known as the Jaboo's in his childhood, and on the golf course he made a comment that those were the best pitchers he's faced, with a reporter from a free newspaper trailing behind him. The reporter obviously misinterpreted his comment and went live with the story about Arliss being a racist. It grew from there. It was a good show. That guy who played Alexander Knox in Batman, Robert Wuhl, was Arliss. Apparently it ran from 1996 to 2002, so I'm a bit late and catching reruns, just like I always do :) I probably won't watch it again, just because it didn't catch my attention that much, and I should have been watching the Astros / Cardinals game.

Alternatives to Coffee

I'll be the first to admit that there are no alternatives to coffee. Coffee is life blood. However, today, I woke up and right away went working on my game. I put on some tunes. Here are a few songs that I end up being more awake than just a pot of coffee.

The Dead Milkmen - Punk Rock Girl. It's the only song I have by them, even though they are local and my friend in gradeschool loved them. I always end up shaking my head violently (not headbanging, but just kinda dancing in my seat) and singing along.

The Doors - When the Music's Over. It's on as I'm typing this. It's f#%#@!ing outstanding. We want the world and we want it now. Now??? NOWWWWW!!!!!!!!!!!! I always scream along. Good thing no one's around.

Bob Marley & The Wailers - Duppy Conquerer. When I first heard this song, I was like, that's the greatest song ever. While it's not a great head bouncing type of song, it is a great slow reggae song which you can bob your head and dance to. Bob Marley is a genius and you see it in this song.

Cracker - Sweet Magdelina of My Misfortune. I have to mention at least one Cracker song. They are my favorite, so I'll try to limit it to one. It's tough to choose though, but that's my favorite song lately.

Busta Rhymes - Get High Tonight. Busta is my favorite in the rap spectrum of music. He's brilliant. Eminem is second, but he talks about weird sh@#%@# too much. Get High Tonight is incredible. The beat, the background stuff, the lyrics, the rhyming. Gotta love Busta.

Buju Banton - Murderer. Another reggae artist. This is the only song I have from him. The bass is deep, and his voice changing from deep to really deep, and the chorus, the obvious Jamaican-ness. The voice changes especially. When he says "It is like an epidemic and you can't find the cure" then starts the next line, it picks up in the beat, and his voice goes to a deep, rough style. It's an obvious dance tune. I blasted it one night out of my car behind my house, drunk, and Jeff was there, and we danced in the alleyway and probably got the cops called on us. We weren't driving, we just didn't have a key to the front.

Cypress Hill - MaryJane. I know, there seems to be an underlying theme here. I don't do drugs, other than alcohol, nicotine, and lots and lots of caffeine. Look who's back on the program. Love the beat.

Sublime - What I've Got. Sublime is another one of my favorite bands. Out of four, they're one of them. So, I can list twenty songs from them, but I'll limit it to one. Light me up a cigarette and I'll strap shoes on my feet.

Stray Cats - Built for Speed. You're my hotrodding mama in your fish net stockings. This song always gets me hopping. Stray Cats are another of my favorites. The guitar is incredible. Sexy and 17 is another one... as well as many, many others.

Guns 'n Roses - Civil War. Slash rocks, but this song is great. Jim will tell you he would listen to this song in the mornings at his old apartment where he lived while attending West Chester University.

Gorillaz - Rock the House. I want to get down lower than Atlantis, going toe to toe with an enchantress. They're another great band. Creative with elements of rap, or rap with elements of creativity... who knows, they're the Gorillaz. Gravitational pull I have you making a fool out of yourself out on the dance floor. When the MC rhyme and the DJ spin, I want y'all to just get down.

The Monkees - Last Train to Clarksville. Great song. The Monkees are great, if you listen to other songs as well as what's incredibly famous.

Nirvana - Heart Shaped Box. I listened to this whole album, In Utero, on my way to school during Freshman and Sophomore years of high school. I had a long walk, and a walkman (the tape version), and the In Utero tape. I was never bored. This is a pure headbanging song, and it makes me wish I had long hair again.

Notorious B.I.G. - Dead Wrong. My favorite Biggie song. If you were to watch "Office Space", you would say I'm Michael Bolton. I'm the rapper / software developer, who also happens to like other types of music. But mostly, I blast rap and rap along to it on the way into work, when I'm working and working somewhere that I have to drive to.

Onyx - Slam. Oh man, this song rocks hard. In college, Corey and I would rock out to this song. I was the second guy, Corey was the last one. We were big fans. He was as anal about his CDs as I am. The only CDs that I have that are scratched are those that I lent out to someone. My first CD that I got, Weezer's blue album, is only scratched because I lent it to a friend. The Cracker albums that I have, had them for 8 years, are spotless. I've never lent them out.

House of Pain - Jump Around. The ultimate.

Metallica - No Leaf Clover. Steve and I listened to this song on the way to the golf course one day. I don't know how we got there safe, because we were violent. Steve probably ended up doing 60 in a 30 and we were just headbanging the whole time. We beat the f#%@# out of the ball that day :)

That's all I should name. This post might crash my Linux Server as it is! Feel free to add your own in the comments.

Configuration

On Friday, I decided I was going to extend dumb to be able to read or write XML documents as data. Instead, I figured, with configuration, I should be able to write any document as I see fit, without worrying about whether or not dumb can read it. I decided to start a new project, and soon after, I finished it! It's along the lines of Jakarta Commons Configuration, although definitely not nearly as complex. It's just for XML configuration files following any scheme. Basically, I tell what a bunch of XML tags mean, and what class to load them as, and it reads my config files and loads objects from the xml, and makes them available by the xml tag name that are in my config files. This takes typically one line of XML for each type of object. It's simple.

I never read Jakarta Commons' Configuration code, so I didn't have a place to start. I only knew that I didn't want to read and parse XML using DOM. That type of processing, rather, the code for each type of XML document I can have, can be rather long. I had stuff written to read my latest XML documents, but I deleted it after I determined that my little configuration reader tool would do everything I need it to.

This falls under the laziness of a computer scientist, fully documented in The Philosophy, Part I. If I can write something to do something for me automatically, then by God I'm gonna do it. This one is particularly big, since I hate writing XML code every time. Really. I hate it, even in Java! This was the last time I have to do it for static configuration files. And when I update dumb to read and write XML databases, then I won't have to ever do it again. I can't wait, but that's a huge undertaking. I won't be doing it for at least a few months, or as need dictates.

Here's some sample xml (it reads an xml file to configure itself!! I know, it's ironic):

<obj type="map" spec="attributes" class="aproject.domain.attribute.AttributeMap" key="name" />

This says "When you come across the <attributes> tag, create a new AttributeMap and load that S$#@% in it". However, the "attributes" tag will have tags below it that also define objects or lists. So, each tag is defined in my config file, with a class, and can be loaded in, have properties set on it, and everything else. An object can have lists or properties, those objects can have lists or properties, so it's capable of some pretty complex stuff. My "ConfigParser" class, the one that reads all of the configuration files for your project, is only 128 lines though! A line in computer science is really nothing. It's one instruction. This is four of them:

public ConfigParser(NodeMap objs){
this.objs = objs;
map = new ObjectMap();
}


That's the constructor. Figure in blank lines, "import" declarations, and short lines like that, 128 lines is really nothing at all. And it WORKS!! Many thanks to recursion.

P.S. First game coming soon! Well, a LOT sooner than before I wrote this!

The Argument

Yesterday was my Aunt Cubbie's 65th birthday. We all went to Drexelbrook to hold a surprise party for this wonderful lady who is always whereever you would least expect her to be, like at your sporting events growing up, or every party you've ever had, who never forgets your birthday, who helps raise your kids if you're lucky enough to have any, and a number of other comments from everyone else in the room who had a story or a thank you for her and got the microphone from my Uncle Dave.

There was a DJ, and he played decent music, and some Sinatra, which I never object to. He also sang. He was pretty good. He played Mony Mony, and I found out that you can do the E-A-G-L-E-S EAGLES!!! chant to it during the chords played after such lines as "Here she comes now saying Mony Mony". It fits perfectly. I started it, Steve noticed, then everyone at our table, the lucky number three, joined in during the next two verses. It was awesome.

We all walked out at the same time, me and my five brothers, when everyone else was in a circle on the dance floor, thirty to forty people, holding hands, dancing to "That's what friends are for." We figured it was time to go. It was almost 4 o'clock, the Eagles start at 4:15. We are studs. We all practically ran to our cars. We all would meet at The Beast's house, a shrine to the Eagles. Everywhere you look, there's a picture of an Eagles' player, or a football, or a PlayStation2 controller, lots of Eagles stuff.

The argument started after the Cowgirls' second touchdown. He dove out of bounds and reached across the goal line out of bounds, the ball seemingly never crossing the plane of the endzone, marked by the pylon, in bounds. It was ruled a touchdown. It was a big argument! It was fun though. I was watching for cops because I had about 5 Yuengling bottles, a Heineken bottle, and 2 Yuengling cans all day, I was feeling pretty good, yet somehow I manage to come up with some help for the argument. It was Steve, me, and the Dallas fan (Kel) vs. everyone else. It wasn't anti-Eagles or pro-Dallas, it was just football. My evidence came in this form... If you are running down the sideline, holding the ball over the out of bounds, you are not considered out of bounds. If your feet leave the field, then, all it takes for you to be out of bounds is your feet or the ball touching the ground out of bounds. Therefore, diving out of bounds, crossing the plane of the endzone is a touchdown. Steve argued that the pylon either marks the endzone straight up to infinity or the endzone goes all the way around the world. He knew the rules, and knew that it goes all the way around the world, and brought up a website on Beast's computer, owned and maintained by a former NFL Referee, that proved his point.

The others felt more like yelling. I have to admit, yelling is fun when you're drunk, especially doing the EAGLES chant during Mony Mony and on the way out of a party with all five of your brothers. Steve was willing to take back the bets. He had bet $20 with Pat and also with The Beast. He was saying "Are you sure you want to bet me? I'll let you take it back now, if you want, before it's proven and you'll owe me." I don't know if he was showing uncertainty or just being nice. Actually, I do know, he was being nice.

It was pretty funny. Steve soon became known as Pylon and some variants like Pylon boy. If there's one thing that my family is really good at, it's giving people nicknames. Not me though, although I do have some notoriety in the field. My brother Pat is named "Patter" because of me not being able to say his full name, Patrick, when my Mom introduced him to me when they brought him home from the hospital. I was 2, give me a break. Also, my brother Jeff lost one of his teeth when he was 11, playing hockey. So he's had a replacement ever since. He loses it sometimes, and the last time, very recently, he was going to have a temporary replacement until the real tooth came in. It was made out of porcelain! I came up with "Toilet Tooth" :) It never stuck though. Scott is the master nicknamer. The Beast is The Beast because of Scott. There are plenty others, like Stork, who was watching with us yesterday.

It was a great time. I woke up at around noon, and by 1:30 I was feeling pretty good. The dedication to my Aunt was great, she deserves it, and a whole lot more.

Gamer Gets Death Penalty

Read about it here. It's stupid that a game is considered responsible for that action. I played that game, and beat it. It's all about how you interpret the game that depends on your possible fate later down the road. Sure, I would go on rampages with a sniper rifle from the very top of a parking garage and take out passerbys and cops, but what was I thinking about when I was doing it? Using a controller to aim at what seemed to be heads on a digital person. Mostly, I would try to drive around as fast as I can without crashing, that was where I had the most fun. This guy probably imagined killing cops. So where is the problem? Not in the video game, I say. Afterall, it's just a video game. It doesn't make someone violent. Years of abuse does or an aggressive attitude does. I can't imagine someone playing Doom 3 and thinking it's real, but I also can't imagine someone playing GTA III and thinking it's real. The overall concensus is that it's not, which is why they're allowed to be released to the masses in the first place. It's the sinister few that might ruin it for everyone.