search:   
Author, Programmer, Bag of Wind(tm)By TANSTAAFL      
Page:   1 2 3 4 5 6 7 8 »»

Thursday, December 22, 2005
Got a Vonage phone today. It's way cheaper than the land line I had previously, like 75% cheaper, and the router was free. It's a LinkSys, but I won't hold that against it.

Comments: 2 - Leave a Comment

Link



Wednesday, December 21, 2005
So, last Friday, I was "Let Go" from my job.

A little more than a week before Christmas. Thanks, boss.

Fortunately, I have scrambled and managed to line up some side work, and there should be unemployment, so things are going to be OK in the short term.

Looking to the long term, I am turbo-sending resumes a la monster.com daily. I'm not even caring all that much WHERE the job is. At this point, I cannot afford to be picky.

Of course, it is doubtful, although remotely possible, that I may get even an interview before the beginning of the year. Companies tend not to interview in these two weeks, but anything can happen, I suppose.

But this also means that not a lot of people are sending out resumes, because they are themselves busy for the holidays.

But not me. I'm at home, trying to line up cash flow, and trying my best to get a new job.

And the house is already clean.

And the dishes are done.

And the laundry.



Comments: 8 - Leave a Comment

Link



Friday, December 9, 2005
1) Notepad++ is the greatest Konfabulator Widget creation tool ever.

2) JetLag Konfabulator Widget(rename zip file to JetLag.widget). Comma and period to move, space to start a game.

3) regarding the development of Konfabulator widgets: a subtle bug surfaced in the development of the JetLag widget. I was keeping the high score in preferences, and saving the high score whenever the game ended. This caused, when debug=off, the widget to lose focus, and pressing the spacebar after that caused the widget to close. It worked fine in debug=on. A helpful fellow, yyy, helped me on the Konfabulator forums. I simply had to refocus the widget after saving preferences. However, this is voodoo code, and I don't like voodoo code. But I was going for "done", so I did it anyway.


Comments: 2 - Leave a Comment

Link



Friday, October 28, 2005
I present to you: Flash ASCII!



And you can see it here!

And the swf comes in under 10k.

The ASCII characters exist in a single MovieClip, each character in its own frame(it took the most time to trace them all from the original bitmap.). A Color object is used to tint it. A white square, similarly tinted, is used for each cell background. Cell objects are consolidated into Column objects, which are consolidated into a Board object.

So, you might ask the question: "Why Bother?"

If you are asking this question, then you just don't know me very well.



Comments: 4 - Leave a Comment

Link


One of the cool things about Flash is that you can nest MovieClips within one another, and each MovieClip behaves essentially like it's own subprogram, and runs its own code in response to events that it receives.

The downside is that when you put MovieClips inside of other MovieClips, timing issues come up. Your MovieClip gets the onLoad event, but this doesn't mean that all of the nested MovieClips are loaded, and I have found that they never are.

So, what I do is have the leaf MovieClips (the ones with no children MovieClips) tell their parent when they have loaded. The parent then determines when all of its children have loaded, and when they have, it notifies its own parent, and so on down the chain, until the main object knows that everything has been loaded, and that it is safe to use all MovieClips.

It sort of has the same feeling as multi-threaded code, but only for loading MovieClips. The rest of the time, I can use the objects normally.



Comments: 0 - Leave a Comment

Link



Wednesday, October 19, 2005
Now that they're all down to about a day left, I figure I'll let y'all know about the stuff I have up on eBay. I'm clearing all of my programming books, as well as my video tapes.

You can find them here: eBay Auctions

Comments: 1 - Leave a Comment

Link



Tuesday, October 18, 2005
I would like to thank GameDev.net for the lovely wedding gifts, which I received yesterday. I have the strange distinction of having a website give me a (albeit rather belated) wedding present, which certainly impressed my coworkers.



Comments: 1 - Leave a Comment

Link



Saturday, August 20, 2005
PlayDeez Games made it onto Shinder's List.

(not to be confused with Shindler's list in any respect).

And I don't even know who Shinder is.

And I'm actually rather late on this, as I believe the '=' looking glyph in Japanese means "2", so it was posed on the first of Feb to his site.



Comments: 1 - Leave a Comment

Link



Tuesday, August 16, 2005


Download

Okay, at this point, there are things I like about Konfabulator widgets, and things I don't.

I like that making them is easy. I like that the environment in which they run is absolutely free. I like that the environment is multi-platform, but I can still reach more people with Flash because Flash runs on linux.

I *don't* like that, should the mood so strike me, I pretty much have no chance of protecting my IP (that I know of, I'd love to be wrong about this, so if you know something, give a holler). Ergo, it is, at the moment, a non-viable platform upon which to make money. Echoes of the Cybiko profit model.

So, the only possible motivation for me to make a widget is because I think widgets are neat, which I do think for now.

But I wouldn't write a book about it.

Or would I?

Comments: 4 - Leave a Comment

Link



Konfabulator Click The Yellow Rhombus

I almost feel silly zipping up a Konfabulator widget like this, considering that the .widget file is just a renamed .zip file...

Oh, well.

Comments: 2 - Leave a Comment

Link



Saturday, August 13, 2005
Screen Shot #3: Minimap in the Upper Left Corner



Screen Shot #4: Minimap with Gameboard Underneath



And because of the way I structured all of the graphics rendering classes, I use the same board, and render it two times in a different renderer, once for the board, and once for the minimap. The tileset and coordinate space is all that differs. Neat.


I am coming to realize that the token in CyberBox looks like a marshmallow. Of course, in the original, it was a circle, so even a marshmallow is an improvement.

Comments: 1 - Leave a Comment

Link


I got CyberBox to the point where it'll play the first level correctly, so that's something.

With games like these, while there is a lot of non-game specific code that is used(rendering, tile plotting and scrolling math, etc), most of the game itself is in "Board::MoveToken". I still have not implemented the pushers, but as I have already implemented the pushing ability of the token, it'll mostly be cut, paste, and tweak.

Now it's just a matter of getting the boardset loading(PopCap's XML parser is a joke) and browsing features completed, the intuitive ui for managing it all, the help files, putting in sounds, the minimap, the editing mode.

And then I have to have it Hattanized, during which I will find out what I did wrong. Once the game has been purified in the flames of Hattanization, it will be Quality.

Comments: 2 - Leave a Comment

Link




It is still all smoke and mirrors. I just wanted to see what a level would look like.

I've got a good deal of the isometric rendering code (the stuff that plots tiles and scrolls around the map).

The game will be keyboard controlled.

You can only move X+1,Y+1, X-1 or Y-1, which to our view is diagonal.

Many isometric games, when met with this sort of interface, assign the up arrow key to a particular direction, and then assign the other arrow keys in relation to it.

Hitting the arrow keys will map to a direction, as in these games, but I feel I should also map Home, End, PgUp, and PgDown to directions as well.

So, on the numeric keypad, 8 and 9(up arrow and pgup) will both move towards the upper right corner; 6 and 3(right arrow and pgdn) to the lower right; 2 and 1(down arrow and end) to the lower left, and 4 and 7(left arrow and home) to the upper right.

So, if the player wants to wrestle mentally with making the up arrow key mean something other than "up", they can do so, and I am following an established convention in doing so. But if they don't, there is a logically based alternative.

Comments: 0 - Leave a Comment

Link




Download the original CyberBox game on this page.

I also like his other games, and I'm thinking of redoing them as well.

Comments: 1 - Leave a Comment

Link



Wednesday, August 10, 2005
A few months ago, I married in to a somewhat idiosyncratic family, and right now they are experiencing a great deal of chaos (the details of which I won't go into here).

Last night, I managed to put into words the rules by which this family lives, and here they are:

Rule #1: Don't f*ck with Kathy (i.e. my mother-in-law).
Rule #1a: Or anyone that came out of Kathy.
Rule #1b: Or anyone that came out of someone who came out of Kathy.
Rule #1c: Or anyone that Kathy has taken in or adopted.
Rule #2: Or God help you!

I admit that usually the rules seem a great deal more complex than this, but I have found that they can be broken down to these simple concepts.

And I told Kathy these rules last night. She was pleased.


Addendum:

Technically, the reason the family is in chaos is that they have FAILED to follow these simple rules.

Comments: 0 - Leave a Comment

Link



Friday, July 29, 2005
The other day, a colleague and I were discussing the potential code for new system. This new system would need to operate on multiple (okay! two) platforms.

But we wanted to make most of the code usable on either platform, so we needed to write platform independent code, provide abstract interfaces for platform specific functionality, and then provide implementations, hidden, for each of the platforms.

One of these abstract interfaces is the MemoryManager:

//MemoryManager.h
class MemoryManager
{
private:
	MemoryManager(const MemoryManager&);
	static MemoryManager* s_ptrMemoryManager;
protected:
	MemoryManager()
	{
		if(s_ptrMemoryManager)
		{
			//blow up!
		}
		else
		{
			s_ptrMemoryManager=this;
		}
	}
	virtual void* AllocateMemory_impl(unsigned long size)=0;
	virtual void FreeMemory_impl(void* ptr)=0;
public:
	virtual ~MemoryManager(){}
	static void* AllocateMemory(unsigned long size)
	{
		if(s_ptrMemoryManager)
		{
			return(s_ptrMemoryManager->AllocateMemory_impl(size));
		}
		else
		{
			//blow up!
		}
	}
	static void FreeMemory(void* ptr)
	{
		if(s_ptrMemoryManager)
		{
			if(ptr)
			{
				s_ptrMemoryManager->FreeMemory_impl(ptr);			
			}
		}
		else
		{
			//blow up!
		}
	}
};

//MemoryManager.cpp
MemoryManager* MemoryManager::s_ptrMemoryManager=0;

//WIN32MemoryManager.cpp
class WIN32MemoryManager
	:public MemoryManager
{
private:
	static WIN32MemoryManager s_WIN32MemoryManager;
protected:
	WIN32MemoryManager();
	virtual void* AllocateMemory_impl(unsigned long size)
	{
		return(malloc(size));
	}
	virtual void FreeMemory_impl(void* ptr)
	{
		free(ptr);
	}
};
WIN32MemoryManager WIN32MemoryManager::s_WIN32MemoryManager;



So, basically, MemoryManager is an abstract factory singleton.

And soon we found other places in the code that needed similar abstract factory singletons.

And since the code was all so similar, we decided to make it a template:

//Factory.h
template<typename product_t,typename initializer_t>
class Factory
{
private:
	Factory(const Factory&);
	static Factory* s_ptrFactory;
protected:
	Factory()
	{
		if(s_pFactory)
		{
			//blow up!
		}
		else
		{
			s_pFactory=this;
		}
	}
	virtual product_t* Create_impl(const initializer_t& initializer)=0;
	virtual void Destroy_impl(product_t* product)=0;
public:
	static product_t* Create(const initializer_t& initializer=initializer_t())
	{
		if(s_ptrFactory)
		{
			return(s_ptrFactory->Create_impl(initializer));
		}
		else
		{
			//blow up!
		}
	}
	static void Destroy(product_t* product)
	{
		if(s_ptrFactory)
		{
			if(product)
			{
				s_ptrFactory->Destroy_impl(product);
			}
		}
		else
		{
			//blow up!
		}
	}
	virtual ~Factory()
};



So now, WIN32MemoryManager is really a child class of Factory<void*,unsigned long>, rather than MemoryManager, and other types of objects, like Semaphores, Threads, Queues, and so on, are children of the appropriate Factory class.

Well, *I* thought it was neat, anyway.

Comments: 0 - Leave a Comment

Link



Sunday, July 24, 2005
Been thinking about the DD combat/statistics...

Fighting Fantasty books have three stats: Skill, Stamina, and Luck.

The activities I have that will need attribute checks:

Finding secret doors
Picking Locks
Finding traps
Disarming traps
Searching for hidden items in a room
Avoiding the damage from traps
Fighting Monsters

Picking Locks, Disarming Traps, and Fighting Monsters all fall solidly under "Skill"

Avoiding Damage from traps falls under Luck.

Finding Secret Doors, Finding Traps, and Searching for Hidden Items don't fall under either, and so I'm thinking about adding a "Perception" statistic.

Rolling up a character:

Skill: 6+d6
Perception: 6+d6
Luck: 6+d6
Stamina: 12+2d6

A "check" of a statistic consists of rolling two dice, and comparing it to the statistic. If equal or less, the check is "successful". If greater, failure.

A 2 is always successful, a 12 always fails.

A monster will have an Attack Skill, Defense Skill, Perception, Damage and Stamina.

For a character, Skill works as the basis for both attack and defense. Weapons add to attack skill and damage(base damage for a character is 1), and armor adds to defense skill.

Combat works a little differently than a skill check:

First, the combatants roll initiative (2d6+Perception), whoever has the greater roll gets to go first. Re-roll ties.

Next, the attacker rolls 2d6+Attack Skill

Then the defender rolls 2d6+Defense Skill

If the attacker has a higher number, then damage the defender according to their damage value. Defender wins on ties.

Switch and do it again until one combatant is dead or the character runs away...

If the character runs away, the creature gets a bonus whack against the character, probably at a bonus, or maybe even automatic hit... I'm not certain yet...



Comments: 1 - Leave a Comment

Link



Saturday, July 23, 2005
http://www.playdeez.com/dungeondelver

I now have the "modify your account" stuff done. It includes the ability to change your display name, your password, or to close your account.

There is no way to change the account password, at least not for the average user... an administrator can. I just could not come up with a way to do it that didn't leave a big hole in the security of the system (not like there is a ton of personal information in the system, just an e-mail address. but still)

At the moment, the system consists of 50 ASP files, and one MDB, although in using the system, only 8 ASP files are the ones you'd actually navigate to... the rest are SSIs.

The "adventure list", which is nearly done, consists of four views: the public, the private play, the private build, and the private administer. Only on the private administer page can a person create a new adventure (during this process, the user is made to be the sole player, builder, and administrator for this adventure). The default view is the public list.

Right now, all four views look the same, but soon, at least the administration and build views will look different than the public and play views.

The build view needs to be able to modify the name and the description of the adventure. The administration view needs to be able to change the public and locked status, as well as modify permissions for other users. I'm not certain yet whether the permissions will be on a separate page...

As a whole, this project is very large, and as a result, daunting for a single person. I try not to let myself think about the enomity of this project, instead treating each subsystem as a project of its own. Otherwise, the hugeness will stop me.

A little on how the thing works, and then I'll leave you alone...

There are two "states": logged out and logged in. These are controlled by a boolean variable.

In the logged out state, the only things you can do are log in, sign up, or retrieve a lost password.

In the logged in state, you can log out, manage your account, or, if you are an administrator, do administrative things like modify the user list.

While logged in, your login persists by being placed in hidden variables in every form on the page. Everything is done through post data.

You can also view adventures if you are logged in. You can select an adventure to "work with", which can mean to play, to build, or to administer. Depending on your permissions for the adventure, the menu on the left side of the screen changes appropriately.

Which adventure you are working on is also persisted through forms and post data.

Each adventure will consist of a series of rooms. Later on, these, too, will persist through post data, and modify the menu.

Now, the database currently stores a subset of the data that DEFINES an adventure, but there will be additional tables so that a user can PLAY the adventure, since otherwise, the data within the adventure would have to change during the course of play, and that would ruin the data in the adventure for people who might want to play it later.

In any case, it is an interesting project, and so we'll see how far I can get without going mad.

-your friendly neighborhood TANSTAAFL

Comments: 2 - Leave a Comment

Link



Friday, July 22, 2005
Dungeon Delver is a project that I have given a great deal of thought to. I have also had several false starts. This is something I try to avoid with projects, as I have a tendency to have a great amount of zeal for a project for a week or two, only to abandon it when something else goes along.

In this, I am like the crow Jeremy from the Secret of N.I.M.H. in that I say "ooh! sparkly!" when something newer/neato-er comes along.

But Dungeon Delver, Midieval Micromanager, and Island/Interstellar Interloper never "go away". They just get pigeonholed for a while, to be brought out again later and tinkered with.

For Dungeon Delver, I consider the following to be the primary influences:

Dragon Warror I
Final Fantasy I
Zelda I
Heroquest
Fighting Fantasy Books
Zork
Old text adventures for the TRS-80 CoCo2
Adventure Construction Set for C-64
Diablo

So, the methods of presentation that most occur to me are text-only and simple sprite based graphics.

Methods of implementation range from WIN32 binaries (utilizing anything from the PopCap framework to my homebrew SDL library) to Flash to Active Server Pages with an MS Access or SQL backend.

Thinking more about the old Fighting Fantasy books, and merging the idea with old computer text adventures and thinking about ACS for the C-64, I came up with the following:

Dungeon Delver might best be implemented as an online resource for creating and playing text based adventure games in your web browser.

So I've tentatively done some work on such a system.

You can find it here.

Currently, I have my user system at 90% complete. It still lacks the user being able to change his own account information.

With the new system, I stand by my firm belief that a user's login name should be his e-mail address, and a "display name" stored along side of this e-mail address should be displayed next to data associated with that user. And, naturally, there is no way for a non-administrator to get the e-mail information.

The basic user information includes a login name (e-mail address), a display name, a password, whether or not the user is verified, and whether or not the user is an administrator for the system as a whole. In addition to this, there is a unique userid for each user account.

But of course, the user will only know about the login, display name, and password. The rest is transparent to him, as it should be.

Everything in the system is based on POST data, so that you can't just pass things on the commandline. I will have to think more about this later, as it prevents users from being able to directly link to things(a mixed blessing).

The top level data unit is the "Adventure", which has a unique ID, a name, a description, a flag for being publically listed, and a flag for being locked from editing.

There are also records that relate adventures to users. A user can be flagged to administer, build, or play an adventure.

Administrators for adventures have the right to change anything about it and additionally can give others permission to administer, build, or play.

A builder can change any of the data within the adventure, as long as the adventure is not locked by an administrator. In this way, building an adventure can be a collaborative effort.

A player can play the adventure, even if the adventure is not public. This allows some users to beta-test before the adventure is "published" or made public.

Thus far, I've got the database structures and pages for managing users, and some portions of adventures. I do not yet have a page for changing passwords, display names and so on.

Next up, after finishing up the user accounts and adventure management subsystems, I've got various dungeon entities to take care of:

Directions, Doors, Locks, Items, Traps, Rooms, RoomDoors, RoomTraps, Monsters, RoomMonsters, RoomItems.

But, of course, I'm not in any hurry to finish this. This is a "spare time" sort of thing. Make a system here and there, and eventually I'll have enough to actually make and play adventures.

Comments: 1 - Leave a Comment

Link



Tuesday, July 19, 2005
I found happiness!

I should tell Ron, so he can stop looking so hard.


Comments: 2 - Leave a Comment

Link



Monday, July 18, 2005
Yes, I still haven't gone to see Revenge of the Sith, and the movie theatre in my area has stopped showing it, which means I have successfully avoided seeing it in the theatres.

I'm not actually boycotting it or anything, I just decided not to see it.

My wife keeps saying that I refuse to go and see it because I believe the world will come to an end.

Do I actually think that the world will end if I see RoTS?

I answer that question with another:

Am I afraid of zombies?

(on second thought... I'll just take the fifth)

Lately, I have watched a number of movies(I have a BlockBuster movie pass). Most of them have been, for lack of a better term, crap.

As for TV, the only show I find funny is Family Guy. I couldn't stomach "American Dad". Simpsons and Futurama are okay. I watch Spongebob and Fairly Oddparents when I get up in the morning, and they have their moments, but not many.

So, I'm sort of "burned out" on TV and Movies. I've been told I should return to reading, but I have neither the money nor the time to dedicate to this.

And in circumstances such as these, for a former Star Wars megafan such as myself, watching RoTS is just not a good idea.

And for Harry Potter folks... I have always disliked any magic system that involves the equivalent of "Bibbity, Bobbity, Boo" as the spell casting method, so you can go and take a flying leap. I'm not interested in your books.

Historically, I have read Heinlein, Asimov, Anthony, Robert Anton Wilson, Weis & Hickman, and many of the early Star Wars books. I have completely read LoTR.

I have found that I have some interest in the NLT of the Bible, so I read that from time to time.

I think I may be overstimulated.

I think this is how ADD starts...

...

What was I saying?




Wedding Photos

Comments: 3 - Leave a Comment

Link



Wednesday, July 13, 2005
If you're at all like me, when you were a kid, you read books from the Fighting Fantasy series. These were like choose your own adventure books (which we also available), but unlike the CYOA books, there were monsters and fighting.

Some Links:

http://www.advancedfightingfantasy.com/

http://www.fightingfantasygamebooks.com/

I was thinking that it wouldn't be all that terribly hard to make webpages that allowed you to play adventures like these. It's not like they need graphics, just text.

And it reminds me of an old text adventure creation utility I made when I was a teenager....

The key is keeping the game system small and simple. The old fighting fantasy books had three statistics: Skill, Stamina, and Luck. These games were perfectly playable with just these three stats.

I think this stuff could really work in Flash...



Comments: 2 - Leave a Comment

Link



Monday, July 11, 2005
Ever since I was 16, I had an idea for a road trip that would take me to all 50 states, without touching the same state twice.

From time to time, I think about this trip.

This last weekend, since I was on a road trip, I tried coming up with an estimated cost. I came up with roughly $15k.

Then I did some mapquesting. I came up with a little over 17k miles and about 13 solid days of driving. This visits each of the state capitals except Honolulu. In order to get to Hawaii, I'd have to ship the car (costs ~$1k).

If I figure that I'll also see the sights in many states, I figure this would add 50% to the mileage, so I roughly estimate 26,000 miles, and about 20 solid days of driving.

At 30 mpg, this is 875 gallons of gas. At the current local price of $2.39, this would be a little over $2k in gas.

Plus about 9 oil changes, at approx $30 apiece (conservative estimate) for $270.

Now there are items that I must get while in each state. These include:

Shot Glass
Refrigerator Magnet
Bumper Sticker
State Flag Sew-on Patch
Postcard
Silver Spoon

Average Cost for items per state is $25, for a total of $1275(counting DC). Since my wife would go with me, it makes it $2550.

Also, there are pictures to take of each state. The required ones are:

One at the "Welcome To Statename" sign.(doesn't apply for DC)

One in front of the state capital building.

Since all of these pictures need to be taken, I figure I have to stay one night in each state and DC. While I know that many states are low cost for hotels/motels, I know that many are not, so I'm figuring $150 for 60 nights (may have to stay two nights in a single state...) for $9000. Likely, it will be lower than this. I'd have to hotels.com it to be more exact.

And food... three meals a day, figure $10/meal/person/day, two people, for 60 days... $1800... so call it $2k.

And adding it all up: around $16k, which is close to my original estimate.

But I haven't added in Hawaii. Costs $1500 for a cruise for me and my wife, and an extra $2k to ship my car there and back (need to drive my car to/in the capitol, or it doesn't count!)

All in all, somewhere in the neighborhood of $20,000 would take care of it.

Yikes.

Well, at least I've got a number now. That's way better than I had before.

And maybe I could not bother shipping the car back and save $1000.

but yes, the car has to be shipped there.




Comments: 10 - Leave a Comment

Link


This weekend, I went to Mississippi. For no particular reason. I went to a place called Hernando, which is in the northern part of the state, not too far from Memphis, TN.

My wife and I really enjoyed it. She wants to move there.

Well, she wants to move away from where we are, for a number of reasons I won't go into right now.

Comments: 1 - Leave a Comment

Link



Thursday, June 30, 2005
#define LESS(first,second,temp,temp2)		COPY(second,temp,temp2)				\//temp=second;temp2=0;
	TESTZERO(temp,temp2)				\//temp=(temp==0);temp2=0;
	IF(temp)							\//if(temp){
		ZERO(first)						\//		first=0;
	ENDIF(temp)							\//}temp=0;
	WHILE(second)						\//while(second){
		COPY(first,temp,temp2)			\//		temp=first;temp2=0;
		TESTZERO(temp)					\//		temp=(temp==0);temp2=0;
		INC(temp2)						\//		temp2++;
		IF(temp)						\//		if(temp){
			DEC(temp2)					\//			temp2--;
			SET(first,TRUE)				\//			first=TRUE;
			ZERO(second)				\//			second=0;
		ENDIF(temp)						\//		}temp=0;
		IF(temp2)						\//		if(temp2){
			DEC(first)					\//			first--;
			DEC(second)					\//			second--;
			COPY(second,temp,temp2)		\//			temp=second;temp2=0;
			TESTZERO(temp,temp2)		\//			temp=(temp==0);temp2=0;
			IF(temp)					\//			if(temp){
				ZERO(first)				\//				first=0;
			ENDIF(temp)					\//			}temp=0;
		ENDIF(temp2)					\//		}temp2=0;
	ENDWHILE(second)					\//}



Look at the PITA it is to simply check if something is LESS than something else!

Of course, if it works, it means I never actually have to do it with the silly BF instructions, I can just use the macro, which means I can perform more useful, higher level work.

"Useful" being a rather questionable term here.

Comments: 3 - Leave a Comment

Link

Page:   1 2 3 4 5 6 7 8 »»

All times are ET (US)

 
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
10
11
12
13
14
15
16
17
18
19
20
23
24
25
26
27
28
29
30
31

OPTIONS
Track this Journal

 RSS 

ARCHIVES
December, 2005
October, 2005
August, 2005
July, 2005
June, 2005
May, 2005
April, 2005
March, 2005
February, 2005
January, 2005
December, 2004
November, 2004
October, 2004
September, 2004
August, 2004
July, 2004
June, 2004