Progress rocks the mother f@#%@#ing house

Check out NOW!! Updates include:

Customizeable actions - specify what a user can do with an object (add, edit, delete, view). You can see this in the book list, it shows a "view" link. If I don't specify "edit" for an object, the whole site has been updated to account for this, so you won't be able to trick the site into being able to edit something that isn't editable (or edible :-p )... or deleteable for that matter.

Lists are perfect - As well as the below mentioned "many to many problem" (which you can see at work on the "Library" form), all lists that are sequenceable can be sorted (See Chapters on a book and Books in a library). You can add a list to an object that hasn't been saved yet. (This was more of an "uncomfortable with the greatness of 'dumb'" situation, as I just had a line of code that said "if the object hasn't yet been stored into the database, don't process lists". You would have seen those repercussions yesterday if you logged on, but not anymore). Obviously, also, the subforms work perfectly.

Bitmasked int field - This can be seen at work on the "Library" form also. Right now it takes parameters for the values, but I will write plugins for it that it gets it from the database and shows them as checkboxes like they are now. There's also a corresponding output component for bitmasked integers.

Still a lot to do... I have to have it so you can specify something's a file field, and make a cool control for that, and there's probably other types of fields that I haven't accounted for yet.

Also, I registered the domain name that Salzburg will be found at later, but I can't tell you it. Secrets rock even more than progress.

Of Course!!

Some things you are so used to thinking about one way, that to think about it another way IS considered to be "thinking outside the box". Even if you were thinking about it wrongly before, and now are thinking about it correctly.

This happened to me sorta. It was more of a case of not making the obvious conclusion about something. All the facts were presented, sugar coated, with arrows pointing to a conclusion, but I only came to it through trial and error last night.

Databases are merely containers for data, and we have to use the tools that they provide (foreign keys, primary keys, indexes, unique constraints, SQL statements, etc) to really find out the meaning of the universe. Well, I didn't get to that point yet, but it was something close. The dreaded "many to many relationship" problem. I'll explain.

The simplest way to put it is that a many to many relationship is when one single object (we'll call it Object A) has many of some other object (Object B), but one of Object B can "be in" many of Object A. The best real world example I can give, using my "Library" model on, is Book (Object A) and Word (Object B). A book will have many words in it, and a single word can "be in" many books (and in the case of Words, it can be in a book many times).

The simplest way to portray this in a database is having a Book table and a Word table, and then you have a "link" table (probably called BookWord) that has foreign keys to both a Book and a Word.

The way "dumb" was originally created, I had no functionality to handle "many to many" relationships. I had thrown in some XML to be able to handle it in the future, but never did anything with it. (Originally, I'd get lists of the "link table" object, with the references loaded, and then populate the list that was part of "Object A" with the list populated full of "Object B" objects, all manually, everytime I needed it. My News object has many categories, and a category has many News, so I'd get a list of the link table "NewsCategoryNews", and then grab the "Category" part of that object, and my News object actually had a list of "NewsCategoryNews" objects, instead of simply a list of "Categories", which it should).

Then last night, as I was creating a control and adding functionality to potentially handle "many to many" relationships, it dawned on me. With previously created tools in "dumb" (namely a MappedListProperty which says a certain object has a list of objects, as an Author can have many books [a one to many relationship unless you include functionality to have many authors write a book, which the model doesn't include]), the conclusion was obvious. A book has a list of Words!! I know, it doesn't seem brilliant, but now it all works. See, even if they are many to many, a book still just has a list of words, and a word has a list of books that it is in. All I had to do was simply add functionality to handle this, which basically meant to add some attributes to a MappedListProperty XML node, and override some functionality used when saving and loading a ListProperty. It was easy.

Now, a News object can have a list of "Categories", instead of a list of "NewsCategoryNews" (the link object). "NewsCategoryNews", the table and the object, still have to exist, however, because "dumb" still uses it to populate the "Categories" list for a News object.

I don't have that latest uploaded yet, but I will tonight. It works beautifully. Right now I have the model set as "Books can have many Genres" (a genre is like "Suspense", "Horror", etc), and "A Genre can have many books". All I do is specify, in books, and actually in the "Genres" list property, is that a book can have many Genres, but also a Genre can "be in" many books. I specify the "link table" to use for the many to many relationship, and it's smooth sailing after that.

So to review: Many to many relationships cannot be handled with just 2 tables. You need 3. The two tables to be linked, and the link table. So to represent it in software, you just need to specify that there's a link table, and handle it accordingly. Side effect: Never write unnecessary code again :)

I sense a Lion in the air

The end of February is here! Which can only mean two things...

1. Damn February is short!
2. My birthday's coming up!!

So hop on over to your local video game / electronics / clothes / car / house store and pick me out something! I accept money as well. 4 to 5 bucks digits would work. More news coming about that later.

Updated huge investment in time again has been updated again. What's up there is the result of my latest efforts, where I started it over, wrote some new controls for it, fell asleep and drueled all over it, etc. The "Remove" functionality doesn't work, I've yet to find the best way to do it. There are some kludges in the software, but none that were avoidable. So that sucks. I can offer a huge explanation about that but I have other things to attend to.

As you can tell from the site, there are a few very confusing things going on. First off, this might be the most confusing form ever. But that's ok. It'll really be used mostly for this sort of thing. And it won't be too confusing with only one child form (just a book form for author) as opposed to any number (books have chapters, so that's a form, and there could be an infinite amount of inputs on the screen... this won't ever happen for me).

It's not done though. I still have a few things planned for it, but it's really close. I can't see the rest of the site taking much more than a few weeks. I have to get to work on my "Salzburg" game so I'm the first to market. Not that I'm making money on it, but it just shows originality to employers if you're the first to market an original and creative idea. Then I can get jobs anywhere :)


Posting about this topic means you're awesome

It might be funny... ;-)

I ran out of toothpaste. Well, we can never really run out of toothpaste because we have the bubble gum flavored toothpaste in the cabinet for extreme emergencies. My brother also has one of those travel toothpaste tubes for the extreme emergencies when we're almost forced to use the bubble gum toothpaste. It's "Vanilla Mint" flavored. "MMmmmmm" you might think... well, think again. Brushing your teeth for 26 years using regular toothpaste, anything else tastes like #@$#@%@. It literally brought me to gag! And vanilla does not seem to get your teeth clean. Besides being called "Vanilla", it's brown like chocolate, which makes sense. It sucked this morning. Choosing between those two is like choosing between death by tar and feathers and death by drawing and quartering. Neither of which I am fond of. Why can't I have a death by thousand year sex thrown in there? Not to say that any toothpaste has reached that caliber to me, but that would be a sweet way to die. Then it occurred to me... why do I have to brush my teeth? It doesn't really effect me socially... I can't see my own teeth, and I can't smell my own breath, which is why people do that hot-breath-to-the-hand-up-to-the-nose routine. I might be able to taste my own breath, but that's what coffee's for. Other people will see Friday's breakfast stuck between my teeth, and be avoiding me at all costs, but I will not.. be avoiding me.

In other news, I started over last night, and basically got to the same point before I stopped a few days ago. Except it's better now. Less stuff in more places instead of most of it in one place. It's better. I'll be done soon. Peace f#@%$@#$@#ers!!

Doubling Guitars

I have 2 guitars. I want to get another one. An acoustic electric. However, Sam Ash makes it impossible for me to get just one more. Every week, I get an email from them saying "Get a free guitar with a purchase of $399 or more!!" They're all very attractive guitars that they're giving away. It's very hard to resist temptations of this level. But, I missed the free one I really wanted. See, every week they offer a new free acoustic. Two weeks ago, it was a 12 string acoustic. I'd love one of those. But this week, it's an equally attractive looking Carlo Robelli thin body acoustic/electric. The guitar I really want is a Fender J5 acoustic/electric. I'll get a few things with it, and throw it on my 6 months same as cash Sam Ash card, therefore convincing myself that I didn't spend any money, and get all this stuff. I hope I get the new card in the mail soon, so I don't miss out on this guitar deal. Here are the two guitars I'll get:

Fender J5
Free guitar

(Might as well throw in one of these)

Originally, I thought it was simply an acoustic, but it turns out they're giving away a free acoustic/electric?!?!!? Where the f#@%@#$@#! do I sign up?!!?

Coming to you from Drexel Hill, Pennsylvania

The second most Irish city in America!

We're awesome.

Finally an IDEA!!!!

Man, this is going to stop me in everything else I'm doing for a little while. Although, this idea isn't hard to do, I just have to do it. I figure, I can start today and be done in 2 weeks. Anyway, I majored in Computer Science in school because I wanted to learn how to make video games. But I never really learned to like programming graphics. Everything else is fun, but graphics suck. They would be cool if they were easy, but they're far from it. However, I still want to make a game.

Ever since I moved over to web programming, I thought the opportunity to make a game was drifting away. However, I learned of a game that was completely web based, and after that I figured that I can make a game that's web based! Why the f%$#@$ not? But, I needed an idea. Today, it popped in there.

There's nothing like it out there that I've come across, there's not even real video games like it out there. It's not a huge time consumer but can consume a lot of time if you really want it to. I just hate the internet right now, and when I'm bored, I want to be able to go to a website, have fun for a few minutes, then go back to being bored. This site will be more fun as more people join, so it'll be a social game. But not really a game in the sense that you're probably thinking. It'll just be a fun way to waste a few minutes.

I sent myself an email today summarizing my ideas, and will get to work on them tonight. It's not really a lot of work, especially since I have my new software that I wrote, so it'll be fun to do as well. I'll let you know when it's up.

[Update] Today I made some progress. I've decided on a Codename for the project: Salzburg. If you know, or can find out, the historic significance of that name, then you know just a small piece of what the game will be about. There's a lot more to it, but that's what the content will be :)

Happy Valentine's Day!


In other news, I have the latest version of up there. Actually, the official name of the software is "dumb web" since it's written on top of "dumb". At home I'm testing with the following data architecture: Authors have books, books have chapters. So when you add or edit an author, you'll be able to add books for that author and add chapters for each book, while on the author form. It is 100% dynamic. It's working except for some quirky validation issues, however, what's on the site works 100% (with just books and authors). As soon as I get subforms inside subforms inside subforms working, I'll post that version up :) Please note that I recreate the database each time, so your additions / changes will only remain intact until the next update.

I still have a lot of work to do, but I should be pretty close by the end of this weekend.

I played "The Movies" but only for a few hours, and didn't get a chance to take any screens. There's no easy way to do it. But here are screens at GameSpot. It's a fun game, but more like "The Sims" with it's "Keep your stars happy" theme. But, there are a lot of neat things going on... writing your own scripts to movies, directing movies, post production of movies, buying sets, researching technology, etc. I recommend it if you find that kind of stuff interesting.

Kodie was out in the snow the other day, and what happens when a furry little dog runs around in 16-22 inches of snow for an hour?! I'll post that picture tonight :) It's HILARIOUS. And Cute.

That's what happens to furry little dogs in the snow :)

Today I was tired, so I went to Dunkin Donuts and got a medium for the ride into work, and an extra large for at work!! To make it look like I was ordering for 2 people, I got a few donuts. I should just shamelessly admit that I can drink like a gallon of coffee without it having any effect on me, that way I don't have to get donuts to go along with them. I could do without them :)

Friday email with friends

I was trying to avoid posting today for some reason, but there's an interesting email going around between friends.

Starts off :

If anyone is looking for a position, contract I am pretty sure, at [company name removed] let me know. Description is below.

I'm looking for mid to senior level developer. Should have good experience with Visual Basic (.net would be good), access, excel, VBA. Would be good if they could use reporting tools as a user ( cognos, BO,Crystal). The person should be able to think out of the box and be self directed for the most part. Will probably get some guidance, but should definitely be able to work on there own.

That was a few days ago, and today's Friday, so I reply with no interest to the job...

There are a few openings at the local bar... they're looking to fill part time positions tonight, must have at least 4 years experience in drinking beer and dancing. Thugs & criminals need not apply. You should be able to drink out of the box and be self directed as much as possible the whole night, but if you need people to walk you out, that's fine too.

Then others chime in:

I heard about that opening. But it's only temporary, so there's not much security there. Also, I heard that they were looking for 4 years minimum, but the role is of a Senior Drinking Analyst and they'd prefer at least 6 years of experience. They expect any candidates to be self-starters and "hit the ground drinking."

and more

I think they also require a Bachelor's Degree in Alcohol Engineering or Alcholic Science, or equivalent experience. They need me more than I need them.

I'll add more as the clever responses come in :)

Stupid Game I had to buy

I downloaded the demo of The Movies the other day and finally got around to playing it last night. It seems like a good way to waste an entire weekend :) So, I ordered it off of, but the default, free method of shipping, 2nd day delivery, wasn't acceptable since I wanted to waste away this weekend playing it. So, I paid an extra $3.99 for the overnight delivery. I should be getting it by tomorrow, or else I will sue Amazon for me not being able to waste a weekend.

This game was created by a good studio in the gaming world, Lionhead Studios, which has some really quality games out there. If you know video games, you know Lionhead. I will buy any game from the following developers: Relic, Valve, Bioware, Blizzard (except for World of Warcraft), 3D Realms, Lionhead, Firaxis (God bless CIV!!), and Sierra. I show the most reluctance to buying a game when there's an "EA" symbol on the cover. I definitely own games by other developers, but these are the ones I buy without researching or reading at least one review. I just know they're going to be good.

So, this weekend I'll be hiring actors, crew, directors, extras, as well as script writers, buying sets, and making movies. Then releasing them to the public and making bazillions of dollars. It should be fun. I'll post screens.

Cutting Down isn't bad either :)

Quitting cold turkey is hard. Cutting down is good though. Like losing weight, you have to identify your "problem areas". I would like to trim down my butt, for instance. In smoking, it might be "I have to cut down on smoking when I'm playing computer games", or "when I'm out drinking". Those are the big ones for me. I can smoke a pack during either of those highly pleasurable events. Another one is when I'm programming at home. So, what I did last night, as I was writing some code for, was to leave my pack in my car, find an empty pack lying around somewhere, put only a few smokes in there from my pack, and then bring those lucky SOBs up with me. I cut down by at least 60%. Today, I woke up and felt pretty good, compared to what I would have felt if I had brought the whole pack up.

However, I know I won't have much luck, still, when out drinking, so I just have to avoid that for a few weeks.

Another thing that going without cigarettes for a few days teaches you, is that you don't need to, upon waking up, have a cigarette in your mouth ready to light once one of your eyes are open enough to find your lighter. You can easily take your time, get a shower, brush your teeth, hell, even shave before you need to have your first cigarette of the day. You can probably tell that I'm pretty addicted...

But, cutting down in smoking will cut down my addiction. So, the more I cut down, the more I'll be able to cut down in the future. If I get down to 5 cigarettes a day, I can easily go to 4. Then down and down. Right now I'm at about 9-12, which believe me, seems like an AMAZING feat. I just have to watch my problem areas.

I can't possibly go cold turkey and expect to be successful, but I just felt like trying and posting about it. I didn't necessarily lie to you, my readers, and inspirations :) Especially OATN. I love you man. Wish me luck, I'll keep an OpenOffice spreadsheet of my cigarettes a day, and hopefully the number will decrease every few weeks.

Maybe I'll try to trim down my butt too. :)

I won't be sleeping too well

Right now, it's 4am on Tuesday. Rather than sitting here waiting for work to come around, I figure I'll just go to work. The great thing in my profession is that you might find a job that lets you work whenever you want, as long as you work 8 hours a day. I have that job right now, so I can go in at 5am and leave at 2pm if I want. Or I can head in at 9 and leave at 6. Doesn't matter.

So, the whole quitting smoking thing... it's still going on. I'm at the beginning of day 3. The last cigarette I had was early Sunday morning, around 3am. It's such a pain in the f#@%#$#!@ ass. I'm saying to myself, just smoke. Just go to the car, grab that emergency pack with 18 smokes left in it and light one up, because you're not going to quit. You suck at quitting. But, another part takes a deep breath, and realizes that it feels good to breath!! If you smoke as much as I do and for as long as I have, you get to appreciate breathing. Even during some heavy smoking times, I'll run up and down stairs for a few minutes because forcing yourself to breath deep for oxygen feels good, even when you can't breath. Breathing cold air is the best feeling.

So, I don't know if I'll smoke or not. I will be in the car, driving to work, with practically a full pack and means to light a cigarette, and yet I've made the trip to and from without lighting up once. It's an accomplishment. I keep waiting to light up, because eventually, I'll have gone a few days without smoking, and then a few weeks, then a few months... the further I get from that last smoke, the better it feels, the better I can breath, the better my quality of life is.

The best way to quit smoking, I've learned, is to go cold turkey. I quit for a year that way before. Just stop smoking. By taking nicotine patches, you delay the process. You could be over nicotine in as little as 3 weeks if you go cold turkey, yet some of those patch and gum systems make you go 6-12 weeks on their system. The other option is medicine that calms you down. I've quit on Wellbutrin before, which is an anti-depressant. It's other effect is that it calms down your nerves when you are craving a cigarette. This is kinda like cheating. Going cold turkey is hard, and by the end you're like, that was way too damn hard to do again, so I'm not going to start smoking again. But if you go the easy way, you're like, that was too easy, I'm gonna smoke again and quit again later. The other way to quit is to "cut down". Who has this ever fooled? If I wanted to get my Mom off of my back about smoking, I would say that I cut down. Then she would say "You should just quit." And I agree. Smoking is too involuntary for me to have to consciously take note of the last time I smoked, and then see if now is the time to have another one. That way may work for other people. But, I'd give a bazillion dollars to be able to smoke for a few days if I wanted, stop for a few weeks, smoke some, stop more, etc. It's gotta be a daily thing though. I wish nerves weren't so damn demanding. Stupid addicted nerves... stfu.

Stay tuned and wish me luck! It's not the first time I've tried to quit smoking, and in some twisted way I hope it will be the last. But as I've learned, there is no such thing as "I quit smoking". You're always in the process. I went for a year without smoking, and I never said that I kicked the habit. I was still trying to quit. My Dad's friend, Mr. Boyle, said he smoked for 20 years, stopping over 20 years ago, and still has dreams about enjoying a cigarette. Everyday you have the ability to just walk into a place and buy cigarettes, and you see people doing it, and you might walk by someone doing it and smell it. It's the worst thing in the world, yet also the best.

So, I won't be sleeping too well this week, even with gallons of NyQuil in my system. I took some tonight, went to bed by 8 or 9, and woke up at 3. It helps though, a lot. I might stop smoking but get hooked on NyQuil! Oh well... can't win 'em all.


I'm just about the sickest mofo in the world. I took off from work on Thursday and Friday of last week, but still, 4 days of rest and under the blankets, and 2 days with no smoking, I still feel like crap. Fever, congestion, dizziness, coughing, aches, pains, chills, and sneezing. This, I determined, was not sick enough to miss more work! Imagine what I felt on Thursday, then. It was the same symptoms, just magnified and multiplied. Excuse some crazy talk later in the post, I'm a bit hallucinogenic and think I'm writing this on a black notepad in black ink and storing it in a pouch I've sewn onto my back. Using Slim-Jim.

There's a bit of anger in the Muslim world because there's a drawing of "Muhammad" depicting him (sin) as a terrorist (more sin). Yes, it's bad to depict Muhammad in any way. I've seen multiple spellings so I have no idea how to spell it. Anyway, I plead ignorance if I ever drew him, or drew him in a way that is demeaning. But, Islam is a non-bull@#%t Religion. I've seen many depictions of Jesus, and some demeaning (the movie "Dogma" comes to mind), but Christians don't take to the streets and risk their own lives over it. Who cares? We don't mind what other people think. We can think that Kevin Smith is going to hell because of his "Buddy Christ", but other than that, what good does it do to complain about it? Nothing. You'll save other people from going to hell if you complain. I say, F#@%@ them, more room for me when I get to Heaven ;-)

The Steelers are good. That's all I have to say about that. (Other than they played every game away and won straight through, considering that at week 12 they were 7-5 and hardly considered to make the playoffs in the first place, and beat Indianapolis to get there). Mad props to Pittsburgh.

Kodie and I watched the game, and at half time, as I was getting my next load of laundry ready, I figured out how to stop smoking for good. Nyquil. First off, it's f!@#$ing disgusting. Ever taste that 5#%2? It's nasty because they want you to take it quick. Nyquil's better when you don't taste it, I learned. Just shoot it down like Grey Goose vodka (Freedom Vodka, as Kate's friends in Manayunk called it). I ended up waking up at 4am, then decided that I wasn't going to be in work by 6 (even though I could have left by now), and took another shot. I figure, when I'm quitting smoking, I won't be able to fall asleep because of withdrawal and "nic-fitting". So, why not take care of that problem? The hardest part about quitting smoking is doing things that you used to do while smoking. Since I always sleep when I'm smoking, this might take care of some of that. Or something. WTF? Wait. Oh, yeah, so it's hard to fall asleep when you're quitting smoking, so I just need something to help me in that department. The other stuff, like driving and smoking, or playing video games and smoking, or doing everything else I do and smoking... that sh@#%'s gotta stop. So, I figure, I'll just find something else to do. Like, drink coffee. But, that will just keep me awake, while the NyQuil is trying to put me to sleep. Obvious solution: coffee flavored NyQuil. That would be the bomb.

I may have more in a bit.

Playing With IE7

Yes, I installed it (but only at work). Mozilla still wins. (This is based off of the default install).

Best feature of Mozilla, the one that I use every day, is to save a group of tabs opened as a single bookmark, and a single click will open that same group of tabs. IE7 allows you to save a group of tabbed websites, but it saves it to a folder. You can't click the single bookmark and have each site open up in its original tab. I find this extremely useful in opening up all of my email websites in one window. Both Hotmail and Gmail open up with no effort.

Tabs in my copy of Mozilla only show up when there are *other* tabs. If there's no other tabs opened, it looks like a standard browser. IE7 always show tabs, so you lose real estate.

Scrolling. I opened up slashdot with my crappy computer in IE7. It's really choppy! Mozilla works much better with my limited hardware.

IE7s default search is Google, which is fine. But, didn't Microsoft create its own search engine? Are they giving in to the popular search engine with the funny name? It's what the people want.

At the bottom of slashdot, there's a huge black space in IE7. Mozilla's version of slashdot is fine. Wonder what that's about.

I know this is a beta, but it's the latest beta, and will closely resemble the final version. I do notice some cool features, though.

IE7 will scan a page for links to RSS feeds. It has a button that becomes enabled at the top that is a quick way to link to those feeds. It then shows a nifty screen with the latest news from that site, complete with filtering by the rss category, and sortable by date, title and author, along with a search. I'm too impatient to see what it does when one of those sites is updated, so I'll assume, for Microsoft's sake, that something awesome happens. Flashy lights and a marching band, for instance.

That seems pretty much it for the UI experience. Mozilla owns IE7 still. There's no developer tools in IE like there is in Mozilla. DOM inspector, color coded source viewer (it still uses notepad), JavaScript debugger, built in Calendar, etc. Microsoft loves to make developers miserable, despite what they say...

This is only biased because Mozilla rules.