The Non-Blocking Nature of Node.js

This can lead to some pretty sweet code. For one thing, always add a callback as a parameter to functions you create, to keep with the non-blocking nature. The next thing you need to know is that you will back yourself into a corner!

Take the following code:
collection.find(search, {sort: sort}, function(err, cursor){
cursor.toArray(function(err, messages){
for (var i = 0; i < messages.length; i++){
db.dereference(messages[i].from, function(err, result){
messages[i].from_deref = result;

Backstory: I'm using MongoDB as the backend, I have a message collection, a user collection, and messages have a "from" property that is a DBRef to a user.

You would run this code and find that if you had any number of messages greater than zero, you will probably get a null "from_deref" object, which means the callback at the end was called before it was finished processing. That is if you're lucky enough to not get an error stating that the code "can't set the property from_deref of undefined", which means, usually, that "i" is null or greater than the length of the array by the time the callback for db.dereference calls. If it's not obvious, I'm dereferencing the user's DBRef and storing it in the message's from_deref property.

This is because of the non-blocking nature of Node.js. It's interesting because it makes me think in new ways. Anything that makes you think differently is good in my opinion. So how do we accomplish this and not break anything? Consider the following code as a solution:

collection.find(search, {sort: sort}, function(err, cursor){
cursor.toArray(function(err, messages){
var process = messages.length - 1;
for (var i = 0; i < messages.length; i++){
(function(messages, index){
db.dereference(messages[index].from, function(err, result){
messages[index].from_deref = result;

if (index == process)
})(messages, i);

if (messages.length == 0) callback(messages);

Javascript is awesome. This is basically an anonymous function that I define and call in the same block. The definition is everything inside (function(x,y){}) and the call is in the parentheses following: (messages, i); So this calls the inner block with the value of i that I'm hoping it will (or rather than hoping, I'm confident it will!). And when all dereferences are done, I know that the process variable will be equal to the index (process variable is length - 1 which is the max value the index can have).

Of course, this doesn't take advantage of the node-mongodb-native's library of the nextObject function on the cursor object. That would totally solve this without javascript magic:

cursor.nextObject(function(err, message){
db.dereference(message.from, function(err, result){
message.from_deref = result;

However, I like the Array...

So there you have it.

I have an affinity for science

This has been apparent since I started learning about science, besides biology. I'm up the latest I've been up for the past month or so. It's 2 AM. Bear with me.

I was always also pretty good at math. No genius, but kind of quick to catch on. This was displayed in first grade when I was moved from the B class to the A class in Math. I was 6. This also was evident when instead of learning long division the way the teachers would teach it, I taught myself a way to do it without writing even a quarter as much as the teacher's method. I taught this to a kid in the class who was having problem doing it, and he got in trouble because he didn't "do all the math". But it gave right answers. I never got in trouble.

Then after about 8 years of video games (Nintendo and Sega Genesis mainly), by the time I was 14, I knew that I wanted to make video games, but didn't know what to learn to be able to do that. In the meantime, I was still in first track math, getting 95s or so without trying much, acing Geometry and Trig, doing good in calculus. When I was a junior, I had to start thinking about college, and had no idea what I wanted to do besides make video games, which I hadn't researched at all.

So, instead, I was doing good in chemistry and generally enjoying it, so in my Junior year, I wanted to be a chemist. The next year, I learned physics, was really good at it, and highly enjoyed it. Although, I was only in 2nd track physics. So I wanted to be a physicist. Either of these two would have been a disaster, I think, compared to what I did end up taking.

In college, still looking to fill that gaping void, I took a few physics classes, including astronomy. Today, I still can't get enough physics. With the advent of the internet, and podcasts, I listen to all things physics and astronomy, including Astronomy Cast. But not only podcasts. Audiobooks are like 4 hours long. I have 18.7 hours worth, including three Stephen Hawking books, and one by the Dalai Lama, which is called "The Universe in a Single Atom", which is just a history of his studies and learnings from various minds in theoretical physics.

The only things is I'm not smart enough to come up with my own theories or even begin to understand some of the more complex theories out there. There's not math in those books, though, just theories or almost proven theories, but no math to back them up. Which is fine, I'd be completely lost since I haven't had a math course in years. The way they explain it is good. The current Astronomy Cast is "What shape is the Universe?" I just get so completely lost thinking about it. You might be able to come up with any shape as long as you can come up with a bit of evidence to prove it. I can say, "When you step away from the universe and look at it, it spells 'Jason'".

And talking about 11 parallel universes. A universe that is always expanding. And every object in space, every other galaxy we see is moving away from us, but we're not in the center. There is no center. And is it finite?

The big bang. How when the universe "started", it started as a point with a trillion trillion trillion trillion trillion grams per square centimeter or whatever. My one theory is this... I imagine multiple big bangs in the past, but each time, the universe collapsed on itself. So there's no way to know just how old the universe is because each time it started over. Time started over. Einstein, move over :)

If you think about that, multiple big bangs, but this universe is always expanding now... it means that in the past big bangs there was more mass in the universe that gravity made it eventually come back together. After billions and billions of years. But what happened to that mass that now it's expanding with no collapse in sight? I don't know that there's no collapse in sight, though. If the acceleration of the expansion of the universe is slowing down, then it will collapse again. Of course I don't know that this isn't already a theory since I don't read or listen enough, and anything that Hawking doesn't discuss has since been ignored. But I'll take credit for it :)

Just wrapping my head around those ideas; the infiniteness of the universe, the shape, the center. How instead of Newton's theory of gravity where objects PULL other objects to them, instead there's wells created in space. How nothing in space travels in a straight line, not even light, since it gets warped by these divots in space created by mass. It might keep me up later thinking about it, but I wouldn't venture to call myself even an amateur theoretical physicist, maybe not even a hobbyist, I just want to understand. But Astronomy Cast says some of it is the most difficult ideas to understand. Well, I love a challenge.

What's a gamer to do

It's been a few weeks since my last confession. McNabb sucks. I watched a documentary called "Maxed Out" that I think should be part of High School education (of course, it'll never be if the banks still have all the money). I bought about 8 games in the past two weeks and have spent the most time playing Civilization IV. Can't help it. I'm finally quitting smoking. Tonight, after two days, I've had major urges, but unlike previous attempts in the past month or so where I just went out and bought smokes, I haven't caved and still haven't popped in a nicotine pill to rid the craving. But I'm not craving anymore. That's a step. Still can't drink and not smoke, so no drinking for me anymore. Maybe I'll exercise. I was at the St. Joe's game tonight. They played Ball State, and on average, everyone on St. Joe's was about 6 inches taller than the guy they were defending. Ball State was a small team, but they looked really good. Small, quick, of course, good shooters, great passers, pesky defenders. St. Joe's won though, coach Martelli learned a few tricks from watching me on the playground. You're welcome. That and god damn his team can shoot three pointers. 74 points total, about 54 from 3 pointers, and around 6 from two pointers, the rest free throws. Gotta check the stats, but that can't be too far off. Here's Ball State's coverage. And SJU's.

Some neat sites on the web

I am a big fan of I will frequently buy movies or general life needs, like milk, on there. So, I got an email from them saying they've got this new awesome site up called "Askville". I'm like whatever... so I visit it, and there's all these people asking questions and other people answering them. It uses a reward system, kinda like my Vacre Tei site. You get these things called "Quest Coins" whenever you do stuff, like log in, answer a question, ask a question, rate an answer, and other stuff. However, the site that you can use "Quest Coins" on is not up yet. It's called "Questville". Vacre Tei used gold, and you create works of art and sell them...

One site that I saw absolutely no purpose for is It's like, you just say something, and a million people say something too, so whatever you say is immediately drowned out by the other million people saying something. I have no need for that since I find that the most annoyed I get is when I finally have something to say in a conversation, but everyone talks more than me and always get in their 10 "says" before I get in my one. Next thing I know we're 3 topics away in conversation from what I wanted to comment on when there's finally an opening for me to say something. So Twitter is pretty much garbage to me.

I'm still coming up with new technology that I will make a new website with. Unfortunately, that's all I can say at the moment on that.

I'm starting to use Google Notebook. It's neat. Although I think Basecamp or writeboard might more useful, but I'm pretty much committed to Google at this point. The one thing I hate about the web is that everything, before Google, that was useful at all, was all on different sites, with different logins, different URLs, and of course, different user experiences. The last one has come up in work quite a bit, because we're committed to bringing the best user experiences to our clients. But, with different companies, different user experiences are unavoidable, simply because everyone thinks differently. But, after a long while and many successes, there starts to be de facto standards. You have the same thing in first person shooters with movement being WASD and shooting being left click, jump usually being space, etc. You wouldn't want to be the jackass FPS maker that moves that crap around. Although, I was an "arrows" guy at the beginning of my FPS gaming life.

Notebook is neat though because of all the Javascript goodness going on. Also, it's easy to just type up a few notes, save it, and go on with your bad self. There's a plugin for Firefox, so you can have it a click away at the bottom of the browser, open it up, and type in a quick note. Another thing with the plugin is you can highlight some text on any website and click "Add to Google Notebook". I haven't tried this yet, but I'm sure as I use it more I'll find a use for it. The only thing I used it for was to remind myself of stuff that I needed to do or get for the Phillies game tomorrow. I haven't forgotten anything yet :) I'm sure it'll replace my "software ideas" in Google Docs! See, I'm totally "Googlized". No one else has tons of great apps accessible with one sign on.

That's about it. I'm largely difficult to please / impress when it comes to websites / anything / everything. It's not about the technology either, it's about how useful and easy to use it is.

OOXML will fail miserably

Or, at least it should. It will reveal a serious flaw in international standards if that thing succeeds. The basis for my argument is that everyone who opposes it are smart people with no other reason to do so other than the specification is an atrocity. I've literally spent the whole night reading objections to it (simply because advocates for it are few and far between, and also sound like complete morons to me). Here are some links.

Groklaw (which I'm reading more and more every day, written by someone who claims no knowledge of the technical side of the debate, and who seems to side only with the law [not a particular company... a non-biased view])
Rob Weir (an IBM guy who just seems really smart to me)
Miguel de Icaza (who makes no argument at all for OOXML based on how ridiculous the whole thing is)
John Carroll (a Microsoftie who is just blowing his employer... err... his employer's horn.)

This is where it gets interesting. Carroll, in a "blog" post , ignoring all the technical diarrhea that is the OOXML spec (ECMA 367), posts a link to an article by Miguel de Icaza (an open source guy working for Novell which recently inked a deal with Microsoft), about why the OOXML spec should become a standard. Carroll thinks he'll win over MS-haters / Open Source (OSS) advocates because he's posting an OSS person's view on the subject which happens to coincide with his view. So, I start commenting on that post about logical inconsistencies inside of that document, as well as technical concerns I have about OOXML in general, to discredit anything anybody has to say in support of OOXML. On a quest that began after I started posting, I continued reading (I started earlier in work, but had to go home) a document on that contained all of the objections to OOXML becoming an ISO standard.

When I finished that document, I still needed more ammo. I searched the web, as I had promised to do in a comment on Carroll's post, for pro-OOXML arguments. I couldn't find any on a technical basis besides that it supports old .doc formats all the way back to Word 5 (for which a simple converter could be written to upgrade all docs to the new standard...). So I gave up searching. I did come across a few non-MS employee articles that were pro OOXML, but they well... read for yourself (which, like all Microsoft articles I've read, miss the point ENTIRELY on "CHOICE"). After that waste of time, I somehow wound up on, reading the comments by those readers (largely anti-OOXML) the same MS letter to IBM that James O'Neill's thing mentions. One of them posted a link to a funny article by Rob Weir. So I immediately liked him. After reading that, I decided to read more of what he had to say. Which is when I came across THIS!! As you can tell, it completely rips Miguel de Icaza's argument a new %@#$hole!! Read the comments on that one too. Miguel is the first to comment, asking Rob if he had ever written any software for (the frontrunner on the implementation side of ODF (there are many), the competing standard (yes, already an ISO standard) to MS' OOXML), or if he's just an Armchair General. Later down the page, Rob responds with this comment, which basically says "I am qualified to make that statement, dumbass."

Here's where advocates for OOXML miss the point on CHOICE. When ODF people speak of choice, they speak about different applications being able to operate with each other (interoperate). Meaning, if I save a file using this program on this operating system, I can later open it with this other program on this other operating system. Right now there are a lot (OpenOffice, KOffice, StarOffice, Corel, Google Docs and Spreadsheets, and a few independent apps) that can read and write ODF. Alternative, right now, there is one program that can read and write OOXML, and it was released 1/30/07 (Microsoft Office 2007). Funny timing, by the way, as OOXML went into ISO "fast track" approval on 1/05/07. So they didn't even have a working application to display it. I digress. So there's a difference in opinion of what "choice" actually is. However, when the average user wants to save an image file from their digital camera, should their camera care what operating system they're using, or what photo editing application they have installed? Likewise, there are a few "standards" for image formats. JPEG is highly used for photos because it can contain more colors to the less-lossy (pixel quality wise) but less colors overall GIF format. It has been argued though that OOXML is duplicating much of the same functionality as ODF, whereas JPEG and GIF are very different in their purposes (GIF is much better for small images and transparency, and JPG for high quality compression of larger images... however, both might soon be deemed obsolete by PNG which covers transparency and a good, near-lossless compression algorithm). In the objections document posted earlier, the final note offers an alternative solution. That Microsoft extend the ODF format with any of their functionality that isn't covered in ODF. This is clearly a good solution, since the base functionality is in ODF, is implemented in many standards, and is a good building block. This is what anti-OOXML people would welcome with open arms. Not a year through standardization on a spec that took 12+ years to fully develop!! ODF took 4 years to ISO standardization. 1 year would be ridiculous.

Quality night of reading overall :) Next, there are these gems...

Here are some letters to INCITS (International Committee for Information Technology Standards)...

Some of these letters from the opposition are the same, but all of the letters FOR OOXML are sent as a "joint letter signed by these 20 members of this committee that has 'Microsoft' in the title". To get a joint letter signed, I'd walk around an office and say "Yo, sign this... it's to get free pizza every Friday." There are three letters attached (in the one from "George LaVenture - International Association of Microsoft Certified Partners (IAMCP)"), each from different offices, each signed by 15+ people (but I can't see the signatures for some reason). All of those letters are the same exact thing, and they make no merits on the technical side. Which is fine, I guess. There are many arguments that either would stand up on technical merits. Although, developing an application that uses OOXML would be an absolute nightmare. The spec is 6000+ pages long. The only argument on the Microsoft side that ODF can't claim (not legally anyway :P ) is that there are billions of documents in old formats that this "document format" can support. As I said, write a CONVERTER.

John Hardin's letter makes the claim that if OOXML were to pass as an ISO standard, the reputations of ISO and ANSI standards organizations would be severely damaged. And that "they will be seen as open to manipulation by sufficiently large companies." In no way do we want that to happen. That would be like the US Patent Office! We don't want that situation repeated in standards organizations.

Another post I read somewhere says that if OOXML passes through ISO standardization, it could be the most costly mistake EVER. (Ahh, found the link here)

It's funny that the only people pushing for it are MS people, MS advocates, and some politicians who are paid by Microsoft, whereas the ODF crowd is many many good companies and lots of brilliant people. It leads one (not me certainly) to the conclusion that people who support Microsoft in this area are complete morons, will never be writing the software to support OOXML, or that they're on MS' payroll (either as an employee or accepting donations through politics). Every Microsoft post I've read is a last ditch effort that practically concedes victory to ODF. Not to mention the lies that they tell themselves (e.g. For ISO adoption, 103 companies vote, only 19 opposed on the first round, so they tell themselves and their employees that "We're almost there!!", when, in fact, 16 of those 19 countries that opposed make up HALF of the vote that MATTERS in the final vote, 5 months away!! SUCKERS!!). Just keep telling yourselves that.

Anyway, this was kind of a review of all the reading I did tonight, with no real guiding purpose or goal. Ok, I had a guiding purpose, basically to vent about how bad OOXML is technically, and that's confirmed by no technical merits from anyone that supports it. And, likewise, to convince anyone who reads this to read all the articles and documents I link to, and to convince them of my opinion... like all opinion writers :P The whole thing's probably way too long and filled with typos, but luckily I can only see the last 8 lines I wrote :P I'm going to bed. It's the Wiikend!!!

Ridiculous Colbert Quote

I decided yesterday, at 11:30PM, instead of finishing up watching a show on the Science Channel called "The Sun", to turn on the Colbert Report. It was a decent show, but during one of the commercials, it was him touting his upcoming show, on Thursday, when he will have Bill O'Reilly on. Bean and I were watching, and he said:

"This is it, after this it's all downhill, unless Jesus takes me up on my offer to host the Apocalypse"

HAHAHA! We were rolling.

Today I needed comedy

I woke up in the wee hours of the morning (3:30 I think) again, and I've just been stressed out. Digital cable was tuned to "HBO Comedy" (Beaner had watched some show on there, then watched a free "On Demand" Donnie Darko, but fell asleep to it) which I usually find useless and a waste of money, but right when I was in the process of waking up, but still in that asleep phase, I heard something that made me laugh. This standup show came on that was taped in 1990, and it was this guy called "Blake" something. I watched it and it felt good to laugh. So I went to HBO on demand to see if they had any standup shows, and of course they did. Chris Rock was on there, I watched it and laughed. Then there was a Robert Wuhl special which was on history, but it was classic and funny, but only 29 minutes long. At this time, it was around 5:30 am. They also had Dane Cook's "Vicious Circle". That made me laugh as well. It felt good.

I was just pissed and nervous and anxious. Pissed because I took my car to the dealership to get inspected. I learned the hard way. They won't let anything go. This was a bill for $1300. They wouldn't bill me, so that pissed me off. They need payment then and there. Nervous because I had a job interview today, which went pretty well I think. We'll see. Anxious because I'm just an anxious person. My anxiety gets me up at 3:30 AM then keeps me up because I'm anxious, wondering if I got enough sleep to not yawn at the interview. It's a chicken and the egg thing.

This is what I dream about

I had to get this on "paper" since I just woke up and it's still fresh in my brain.

Ok, so someone sells me a CD store for $10,000. I have a few employees. It's an old type of store with a back room, on a corner, with a blacktop area between the store and the next house, and a front yard. It's really a house converted to a CD store. Of course, the logic in buying a CD store right now with digital music being so popular hardly exists, but I did it. I sleep there, probably since it's a house type thing. The first day goes by, there's people lined up outside on the blacktop ready to get in and buy music or coffee, which I sell both of. I talk to my cute blonde employee, and we went over how to order more stock, and tell her my strategy will be to find out what sells best, buy any CD that we sold out of, and buy a steadily decreasing rate of the top 20 brand new albums, by popularity... so like 20 of the most popular band's newest album, down to 5 of the 20th popular band's newest. So we're set on that. I walk around the store, and notice I have TONS of CDs, laid out in boxes on fold-out tables, sorted by genre, the alphabetically, with a "rare" section. I remember thinking "Was the $10,000 a one time deal or do I have to pay it again next month?? If so, I'm F@%#ED!!" The store, which I don't know the name of, is winding down, and for some reason, I'm beat and leave it to two of my employees to close it down. In dreams, I don't sleep, so instantly I'm awake and it's morning. I walk out and start brewing up some coffee, and I notice the front door (which is one of two front doors, this one leads out to the lawn, the other to the blacktop, and they're right across from each other) is WIDE open. I hoped someone decided to show up early. A horror sweeps over me, and I look at the first table I can get my eyes on... my store, in the beginning of its first full day of being mine... was robbed completely blind. Every CD is gone, but bless the robber's heart, he didn't take one drop of coffee, and left every other coffee related item. I see a Scotch taped message on the wall that simply says "Thanx!" with a skull type smily face drawn on it in blue marker on "college ruled" paper. The day fast forwards to lunch, where I pay for the food that was ordered by my employees without my approval, but it's stromboli, so I really don't care. My rastafarian/Jamaican employee ask me if I got the change. I did see some money lying on the lawn, and wondered if that's what he was referring to. Then I find out what happened. My one employee (I have 3) takes me aside and says "Dude, I'm so sorry about leaving the door open. Jenny (my other employee who I talked with about stocking the place earlier) kept talking to me as I was leaving, 4 times, she wouldn't leave me alone, and when I left, I was sure it was closed and locked." But, I was more upset about not having a CD in stock, being a CD store and all, and having customers come in and say that we don't have any CDs.

Then I woke up. Weird, huh?

Weird Dreams and Propaganda

I had this weird dream after I fell asleep watching the replay of the Phillies game last night. It was around 12 midnight when I finally zonked out. If you've never watched a Phillies game, you still might have heard of Harry Kalas. He's the Phillies' TV and radio voice. Well, he's getting old, and his vision is fading, as well as his memory. Sometimes he'll botch calls like if a ball is caught at the wall or if it goes out and the guy there tries to catch it but it's obviously way out of reach of him, he'll report the opposite of what happened. This dream was along those lines. Basically, it was a ground ball up the third base line with nobody on base, and Harry Kalas reported it as a two run homer. I was like "WTF?".

I turned on CNN after waking up this morning, and caught a majority of "In The footsteps of Bin Laden", which is an interesting, two-sided show. It ended with me feeling rather informed about where bin Laden might be, why he "hates America", why al Qaeda was formed, and all this other stuff that will cause the FBI and CIA to beeline to this website and flag it as "terroristic". Anyway, it was over, and Anderson Cooper is on the screen, informing me of the next time the show will be on. Of course, the bad part of it was, he was basically calling bin Laden a slew of names that I wouldn't say around my neices or nephews. So, I realized I didn't like news shows telling me what to think of these people. If they realized that intelligent people watch their shows, then they should assume that most people can come to their own conclusions, and they just need all the facts in order to do this, and that's why we watch the news. Telling us that Osama bin Laden is evil is not a fact, that's an opinion. It might be a widespread opinion, but it's an opinion, and one that most people would find to be "right", which doesn't necessarily make it fact.

I bought "Munich" with my limited funds, and I've watched it three times. It's a good flick. Anyway, there's this part where the dude who plays the Incredible Hulk is in Germany trying to find answers, and he comes across this German frauline, and she's a Philosopher. She comments from a work entitled "The Philosophy of Right" I think, by some philosoph. I immediately became intrigued. I haven't researched it, but I'm sure it's a real work. Now I have to read it. Because what's right to someone is completely wrong to someone else, and therefore couldn't possibly be recorded in history books as "fact". Of course, we record it as fact, and therefore it's propaganda.

Yes, the show "In the Footsteps of Bin Laden" is also propaganda. But there are a lot of facts in it, but we see just the facts about al Qaeda attacking US interests, and the US retaliating and weakening al Qaeda interests like their safe harbor in Afghanistan, the Taliban. Facts that try to sculpt a conclusion, in this case that al Qaeda is doing what they do just because they felt like it... with no motivation. The show brushes aside the fact that the US has held military posts in Saudi Arabia, Islam's holy land, for many years. This would be like going and taking a dump on an altar in a church. Because of oil, of course. They may be right. All they want is for the US to leave their land, which may be impossible without an alternative source of fuel. It just so happens that the biggest source of oil also happens to be a desert filled with people of another religion, and that religion's holy land. They'd drill for oil under Rome or Jerusalem if they knew there was a well there.

Oh well. Time for coffee. I'm not on bin Laden's side here, just saying that propaganda sucks, we are smart people, most of the time, and we don't need opinions of news reporters to shape our own opinions. It's weird how the two topics of this post intermingle. I like to watch a sporting event where the announcer is rooting for the same team I am, but I can't watch a news show where they are rooting for or against anyone. I don't know... does that seem weird?

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.