Flyers Game and New Song

I'm going to the Flyers game tonight! I don't know if Pete (Peter Forsberg) will be playing or not, but I hope so. Pretty much everyone on that team is my favorite player though, except for Therien, I hate Therien. Beaner invited me with tickets that he got from Mom and Dad for his birthday a few days ago! Thanks Bean! Woohoo.

Also, I have a new song up that I wrote using my Mac Mini, GarageBand, and my new keyboard that I bought to greatly ease the pain when trying to add drums and piano to my songs. Without it, you either use your computer keyboard or the mouse, and I can't use either without giving up in a few minutes. Plus, the keyboard I got is really nice. It's pressure sensitive, which is awesome. Say, for instance, I am hitting the key for the hi-ride (the tall cymbal [sp?])... if I tap it, it'll be like I'm just tapping the hi-ride. If I hit it hard, it's coincide with the sound that I get from it. Same with the notes if I switch it to Grand Piano. It's great, it allows for a lot of flexibility.

So, download the new song, it's called "Piano". It should be at the bottom of that list. Listen to it a hundred times.

Now Taking Gift Ideas

My family does Pollyannas, and it turns out I have to buy a gift for my Mom. Don't worry, she won't read this. She browses the internet like I go to church... maybe twice a year.

Past gifts to Mom:
A tennis bracelet (most expensive one by far)...
A smoothy maker

I forget everything else. I like forgetting what I gave someone, so that if desperation arises, I can just give them the same gift again and plead ignorance (innocent ignorance). I'm kidding. I just don't remember that stuff.

Anyway, it's a $40 limit this year, which means I'll try to stay closer to it. It sucks having Mom as Pollyanna, because, in being your Mom generally means that she gets the best presents from everyone. Yet, the Pollyanna thing limits it, and yet still, you feel you are let off the hook of getting something elaborate by only spending the limit. However, you can't just spend the limit on your Mom. It's impossible. The limit, then, becomes a lot higher. But, I might get my Mom a tennis bracelet, and one of my brothers gets my Dad an 18 pack of golf balls and something else little. Surely, Dad needs them (actually, he's been better at finding misstruck golf balls ever since one of my brothers got him that machete for Christmas that one year), and bundled with another golf gift, like a glove or something, it's a great gift package. I wouldn't mind getting something like that (hint...). However, it shouldn't be compared to a tennis bracelet, because it's not only a Pollyanna gift. It was a moderately cheap one, though :)

But, the nice thing about that gift was that whenever someone sees that bracelet on my Mom, and compliments her on it, I hear about it, even years later! It's the gift that keeps on giving, and also to her!

I've been known to go all out on Christmas. I just like getting something for everyone, but it's hard now that I have like 7 new people in my family since 1998. It's part finance, and part ideas!! If I get one idea a year, I feel I've reached my quota, and can relax the rest of that year. Fourteen ideas is somewhat insurmountable. So, since the beginning of my working days when I was 16 (~1995) until the first of my brothers getting married (~1998), I've had money for exactly 3 great ideas for gifts in my immediate family. Not even half. Not cutting it. Without an idea, they could usually find a CD or a movie under the tree from me.

I need ideas for this year. Anything. Try to stay under $40 though, since you wouldn't want me to have to sell this website to some other Jason T. Connell, now, would you? The target market is maybe 2 other people, so it would be tough, but I'll do it!

Mad Props... 4 AM!!

I just got home from the GAP in Conshohocken (Conshy). We went out to the diner just up the street for a nice 1:30 AM meal. This has been a fun week.

Work's going OK. Nothing too much to brag about, but it's fun. I have my routine set. Get in before 9, grab coffee, work til I run out of coffee, get more, repeat until lunch. Then I get a 20 oz soda, go to the bathroom a few times, finish the soda then get more coffee around 3pm and again at 4pm. By this time, I'm getting so much work done from all the caffeine, it's like the caffeine is programming. I love that quote from that guy about mathematicians, but I translate it into Computer Scientists

A Computer Scientist is a device for turning coffee into software.

The real quote is

A mathematician is a device for turning coffee into theorems.

Good stuff. So, I get home from work at around 6:45 or so, grab some food, and either watch a game (Flyers, Sixers, etc), or head up to my room to play video games. Like, lately, Zatko and I have been playing Civilization IV. It's awesome. Wednesday, my friends were going out, but so was damn near everyone else in the Philadelphia area, as well as the police. I felt like staying in, so Bean came over, and we all watched some movies. I woke up at like 9am the next morning, thinking I had to be in work. I always think that, there's no getting around it. Even when I was off for a month, it took me until three weeks into it to realize that I don't have to be in work. Of course, by that time, I was interviewing at 9am in places like Wilmington and up in Wayne, which are good 40 minute drives, so I had better wake up.

That brings up something about me. I never panic. Unless I'm waking up and I think I have to be in work. That's the only time. It saves me a lot of embarrassment, and sometimes my life. Like, this one time, I was at a bar, and we were all out on the deck, which had a bar. There were all these girls out there, and it was the middle of the summer. My friend's girlfriend looks at me and says "Yo, there's this huge ugly bug crawling up your sleeve." I look, and sure enough there's a huge ugly bug crawling up my sleeve, and is now up to my shoulder. Do I panic and scream like a girl in front of a lot of girls, only to embarrass myself? Nope. I'm cool like the other side of the pillow. Slowly, I move my hand up to it, held my middle finger to my thumb, increasing torque, then flicked that thing into the cheap seats.

Then, another time, I'm driving up Route 202 in the left lane, near Frasier, and all the sudden, about 20 feet after a bush, I see a car coming across the median. I'm like, "They'll stop." It's raining, the grass on the median is wet, the road is wet, and I had just put out a cigarette. I get to like 4 feet away from her and say to myself, "They're not stopping." There are cars all around me, and on my right. If I panic, I definitely hit someone on my right side, causing a multiple car accident. Do I panic? Nope. I take the hit, glass shatters all over me, I do a 270 degree turn without changing lanes (because the road was wet). I end up about a foot from oncoming traffic. God rewards the non-panic stricken. I had just bought a coffee about 15 minutes before. I look in my coffee holder, it's not there. So, I try to get out of my car. The driver side door won't open. So, I climb across the seat, and there's my coffee... topside down, but the lid stayed on, and hardly any coffee came out! It was marvelous. I sat on the hood of my broken car, drinking coffee and smoking a cigarette until the fire trucks and police came. I had no injuries, save for a few small cuts from the glass on my left hand. The only time I almost panicked was when I thought I had lost my coffee :)

That's an old story though, that happened in February, 2003, 5 months after I got the darn car. I still have it though.

This might turn into a long post. Go get some coffee.

So, Thanksgiving Day. We head to Steve and Patty's house. There's like 15 Connells there. 8 including my brothers and parents, 2 nieces and 3 nephews, one great-Aunt and one Aunt. After dinner, I was beat. Kira, Caden and Ethan were watching movies upstairs, I thought I'd join them. They all have their seats set up about 5 feet from this TV, so I lay down on my stomach right in front of their chairs. About 4 minutes later, I have kids jumping on me, sitting on me, laying on me, and pretty much beating me up. This continued through most of Scooby Doo 2.

After Thanksgiving dinner, we went back home. I drove, and I had some brothers in my car. Jeff, Pat and Bean. We listened to the last few minutes of the Denver / Dallas game on the radio, and went to rent some movies. We ended up getting Batman Begins and Charlie and the Chocolate Factory... the new one with Johnny Depp. Those were both great movies. Batman Begins was up there in the Batman saga, and I'd have to say it was AWESOME.

Friday morning. I told Bean, for his birthday, that I'd put a few pennies towards an iPod for him. So, we head out, grab some coffee and head to MicroCenter. They ran out of the 30GB iPods... and pretty much all other models. They only had the 2GB iPod Nano! 500 songs?!? Yeah, right. I ended up buying a MIDI Piano for myself though. We'll get the iPod soon. And I'll be recording more songs pretty soon with that purchase.

We got back by noon and watched the Flyers. Jeff and I are pretty much addicted to the Flyers now. When they're on OLN (Outdoor Life Network), we can't watch because we subscribe to RCN, and OLN is only on Comcast. We are in both companies' ranges, but RCN has 10GB cable internet, so it was the obvious choice when we chose it, back when OLN didn't get a few Flyers games. It was before we knew that the NHL's season was in dire straights. But, we can deal, there's only like 9 games on OLN the entire season.

I'm getting tired.... really tired.

Tonight, I went out to the GAP. I got there and it was packed. There was a reunion or something and they reserved two of the big rooms. I hate that. Literally elbow to elbow in the only room open to everyone. So, we had like 4 beers, and decided to go to the diner. I got French toast. Gia got this giant omelette, which I joked was like eight-tenths of her body weight. I said "You can't finish that." And she said "What will you give me if I do?" So, I said, "I'll give you props." Seeing the look of disgust on her face from only being offered "props", I quickly followed with, "Alright, Mad Props." I told her I would give them to her on my website... so:

Mad Props Gia

We all joke around a lot, so it's always a really good time. Til next week, dudes :)

After a few cups of coffee, french toast, and a knee slapping good time, I took off for Drexel Hill. I plugged in my piano to my Mac Mini, tried it out for a few minutes, then decided I'm gonna just throw on an X-Files episode or two and hit the sack. Still a whole other late night left in this weekend, I'm going to take full advantage.

Readonly Classes

This is a quick one before I head out to the Great American Pub tonight with some friends. I was writing a way to make simple input screens based off of the information in Dumb, when I realized that when I got that information, I had access to the whole class, and didn't like it. Basically, something that's using the information doesn't necessarily need to manipulate it. So, I abstracted out those classes into interfaces with selected properties that are readonly. The problem was this: I had to update all the references to the class to be references to the interface. It took forever, but I eventually got it, and after touching practically every class in Dumb, it's now almost up to date. I still have to create an "information getter" interface so that I don't have to have direct access to every method in my engine class (I only need to be able to select, insert, update and delete, for now), whereas the engine class has methods in it to create tables and generally access a lot of different stuff that a simple inquiry class doesn't need access to. Also, the engine already implements an interface, but it's a 1 to 1 implementation (meaning, it is just an abstract API interface so you don't have to know which implementation of the engine you are using... I can have multiple engine implementations and just swap one in [like a CachingEngine that doesn't hit the database everytime if it already loaded an object]). So, I'll have to add another interface on top of the engine interface

public interface DaoEngine extends InformationGetter

that has just methods to get that info out. Names not final.

After that whole thing's done (including making the automated data input screens), I can work on Attachments. That's gonna be awesome.

CIV 4 Again

Zatko and I played again, twice, last night. The first time, I got whooped by Barbarians, and Zatko made fun of me by saying stuff like "BARBARIANS?!?!!! You SUCK!!" and the like. Then, about 25 seconds into our second game, he asked "Are you still alive?" I thought it was funny. I answered back with "OMFG HELP!!!!111111111". Then irony. A call from the East (I was on the west coast of this huge continent). "Dude, I'm getting killed by barbarians." I was like "Pffff it was funny the first time, you don't have to make fun of me anymore, I have a higher score than you." However, he wasn't joking!!! HAHA. He lost all of his settlers, which you need to create new cities and expand your empire, and only had 2 cities, which came under attack. It was great. I sent guys over there, but the little icon under the arrow said that the guys would take 39 turns to get there, which is like a thousand years. Maybe closer to a hundred. Plus, they cost me money as they get further away, with attrition and all that stuff. But, they eventually get there, and Zatko was still alive.

I finally learned a bit about how to play. The city view screen is tough to understand, but it is the key to success. I finally got it. I don't know how to make things happen like I want (less sick people, more happy people, etc), but I do understand the game more now, so that's good. All this time I've played other Civs, and never had a clue what I was doing.

In the second game, I got attacked by the Nation of India, and was able to fend it off. Without losing a city!! Sure, their malicious hordes will come through and destroy everything else on your land (farms, mines, houses, etc), but if you can hold out, maybe fight them off or wait until you can talk to the leader again and get them to sign a peace treaty before you get your ass handed to you, then you'll be in good shape. I'm addicted.


Zatko and I played CIV 4 online last night. Thanks, Mike, for getting me addicted again. I'd have to say that most of that game's addictiveness comes in its absolute mystery. I have no idea what I'm doing. Like, no idea. But, Mike and I were playing, and I jump out to a lead and pretty much hold it for the next 5000 years. Yes, 5000 years. Then Mike jumps in front, then it's just me and him, battling it out over a few hundred years... actually, we were friends, basically giving each other technologies. Then, all the sudden, he starts crying from half way around the world: "Yo, I need help." He's at war with the blasted Mongols. Those blasted Mongols. I'm like "Dude, I can't get there, George Washington won't let me through his crappy land." Then, the only part of Russia that was left was a quaint little town known as "Zatkonia". Or, at least that was the only one I could see, due to my lack of exploring. Whereas Germany was thriving! Really. I still have no idea how to play that game, but as long as you don't piss anyone off too bad, and give them stuff when they're angry at you. This way, you won't get into a fight, and you won't have 2 cities left and have to ask your pacifist pal Germany to travel half way around the world to save you... I had no boats.

Tune in next week for more tales of addiction and cluelessness.


This post can also be subtitled "The Philosophy of Computer Science, Part 1.1". It's a new idea I'm playing with. It's not a new idea, really, it's derivative of a very cool concept in Computer Science called Aspect Oriented Programming. It's a pretty abstract concept. Basically, the typical example used is logging transactions on an object (I know, that description is very abstract also). So, say I have a bank account and I want to log my transactions, I can just flip a switch, sorta, and now my bank account is emailing me whenever I deposit or withdrawal money. But, what if now I want to deposit half of the money in a savings account when it's deposited in my checking account WITHOUT modifying ANY banking code?! Impossible, you say? They key here is that I don't want to go into the "deposit" function on my bank account object and enter stuff to deposit half of it into my savings. If you designed the system using an AOP container, this would be simple. What if I wanted to log AND deposit half into savings on a deposit into my checking account? I would just write a class that "intercepts" a call to deposit money into my checking account and takes half and puts it into my savings account, then continues the call to deposit the money into my checking account with half of the original value. Of course, if I was dishonest, I'd just deposit half into savings and then the original amount into checking!! But, that's not honest :)

So, AOP is very flexible. What I'm developing is a twist, though. It's for objects on my website, and it's mostly to do with data, rather than "processes" (like, before I deposit my check, take half, put it in savings, then put the other half into checking). So, to be more in line with data, and to be sorta AOP, what would it have to do?

Pretend I have a News object (I do, you're reading it), and that news object, right now, has a title, a date, text, the user who wrote it, and the categories it belongs in. What if I wanted to add a file to correspond with the news that I could upload and it would automatically show itself with a little paperclip (signifying an "file" attachment), and the filename next to it, with a link to download it. I don't want to program the news so that every news item could potentially have a file attached to it. You'll see later that by attachment, I don't only mean "File" attachment, like you send with an email. What if I want to allow other objects to have that same type of attachment, i.e. a file uploaded and shown under that item? I'm not about to change my whole, very well designed, table and object structure. I'm way too lazy for that.

Another attachment possibility for News would be a "History" attachment, so that whenever I update a news post, it puts an entry into a history table, and I can view that news' history. Another one would be a "View Count" attachment, so that whenever that news item is viewed, I increment a field for that news item, and that value shows under the news in a label that reads "Read 4 times". What if I wanted to put security on a certain news item? I could make a "Security" attachment that ties into my current security system and checks to see if the person viewing the website should be allowed to see that news.

The main thing here is that I don't know all of the possibilities for the future. That's where Object Oriented programming and Aspect Oriented Programming form a perfect marriage. I can program a new attachment and add it into the system, then any object can use that attachment. One downside of this design right now is that for every news item I enter, I will have to select, each time, what attachments I want. For some things, it just makes sense. Like, I could turn "Comments" into an attachment, but for most news items I will want to allow comments, so I would be adding that to every news item. The upside, in contrast, is that some objects were not designed to be commentable. I could make Content commentable this way (click "Your Site Rules!" for a Content example).

One thing I could do is have a global attachment for objects. News could have a global attachment of Comments, then a local attachment could be a file attachment for a certain news item.

One pretty big downside of this system is this... it's website rewrite time!! Yup, the whole website will have to be redesigned. The data, however, can pretty much stay how it is. That's good, because I decided on this design because I didn't want to change the data structure! I'd hate to lose anything I wrote, I love reading my own stuff ;-)

I can hardly stay awake right now though. Til tomorrow.


I bought Season 1 of the X-Files the other day. It is by far my favorite TV show. So far, that I don't even have a "second" favorite, really. Not one that if I see on, I just stop and watch, and throw the remote control across the room to show exactly how content I would be just watching it even with no remote for commercials. And now, I don't have to worry about commercials! I obviously never bought another TV series collection, but I have watched a "Friends" series over in a sorority house at West Chester University a while ago, and for a while we had "Family Guy" seasons 1 and 2, and watching something with no commercials is great. They still have the lead up to commercials, the very suspenseful part right before it goes to break so you won't change the channel, and you're still like "F!%##!. Commercial...", but then it just goes right back to the show. It adds to the gratification that you get from simply watching your far and away favorite show.

Boneheads of the Day

Disappointing night overall. On the Flyers' end, one player spoiled the game. On the Eagles, it was a bunch of people, including one head coach.

The Flyers were looking good. Peter Forsberg had an excellent game, scoring two goals. Everyone played well. I look in awe at the performance of most of our defensemen... Joni Pitkanen, Kim Johnsson, even sometimes Mike Rathje and Derien Hatcher. Desjardins is always a solid D-man. The one left is the guy the Flyers have to get rid of. Chris Therien. He made two big mistakes that led to goals, and at least one other mistake that almost led to a goal. He singlehandedly cost the Flyers the game. I don't care what they tell you, it was Therien's fault. He stinks.

The Eagles. Oh boy, the Eagles. In my last post, I said Donovan was the key to the Eagles. If he plays good, the team does well, and also true on the reverse side. However, when he makes stupid mistakes, he can turn the other team's misfortunes into fortunes. He played well for about 56 minutes tonight. Not extremely well, but well enough to score 20 points, and the defense played well enough to only allow 7. Then things changed. Andy Reid makes stupid play calls, like when we're in the lead with 3 minutes left, to go long on a pass play. Reggie Brown, the aspiring rookie, misses a few HUGE passes, which would have meant that Akers wouldn't have had to try a 60 yard field goal attempt with a semi-100% hamstring and the unpredictable winds of Lincoln Financial Field. Donovan still tries to run a shovel pass even though he could hear the inside linebacker yell "Watch the shovel!!" We should have turned all of our field goals into touchdowns, and put this game out of reach for the Cowgirls by the start of the 4th quarter. That's not what went down though.

It sucks when two of your teams lose in the same night. But what's worse is not when the team plays bad, but when you can pinpoint one awful performance that might have cost the game.

Busy Night for Philly Sports

The Flyers play the Tampa Bay Lightning, and the Eagles play the DallasSUCKS Cowboys. Should be a night to remember.

Quick comments on both teams. I love watching the Flyers. Peter Forsberg (or, as I call him, just "Pete") is incredible. He makes plays and I yell out "HOLY F@#%#@" or "J@ES#@ F#@%@# CH5#@%@!!" or just simply "WOAH!" All of this year's Flyers are exciting to watch because of the new rules, and having won the last 6 games makes it pretty cool too. Let's get "Flyer'ed Up!!". The Fly-guys will make a good showing this season. Go FLYERS!!

The Eagles are pretty bad this year. Donovan's hurt, but he insists on not using it as an excuse. I say, fine, I won't say you're hurt, just that you stink!! Make passes! Don't make stupid plays (like, faking a spike with no timeouts left, only to have the receiver that you want to pass to not be on the same page as you... pretty stupid...), and complete your passes!! Don't throw them at the f#@%#@$@#!ing ground!! Brunell of the Redskins looks unbelievable right now, especially compared to Donovan. They have to keep the defense off the field longer so they are rested, instead of going three and out for the first half of the game. Right now I'm not expecting good, but if they do good, then I'll be happy. The defense hasn't been getting pressure on the QB, so that's something to look out for as well. We're the F#@%!@$!#ing EAGLES, we should kick everyone's ass... but, right now, things just aren't going our way! Of course, T.O. won't be a factor tonight (either having him or not having him... T.O. was never a factor... now that we stink, and we've had T.O. all season, you look at something else that might be THE factor. And that's #5).