Sunday, July 15, 2007

DVDFriend.us - Making Progress

The site now allows for the adding of ratings and reviews. Yesterday I altered the GUI a bit. It looks like a third grader did it, which is better than usual.

Of the entire spectrum of colors visible to the human eye, I have limited myself to just these:

silver
dimgray
black
white
yellow
steel blue
and, for special occasions, red

I started adding some per-use controls such as "Reviews Auto Approved" and "New Product Auto Approved". In a more mature system, this would be dictated by roles based security, but that's overkill at this point. A few simple flags will suffice for now.

When a text box is selected, and you press enter, you expect it to activate the appropriate button. So, if you're typing in the search field and press enter, you expect it to search. ASP.NET 1.1 didn't do that on its own. Some javascript was needed. I started to write that javascript today, then slowed down and did some research. ASP.NET 2.0 offers a new DFAULT BUTTON property at the container level, which is handy.

I also added a NEWS section on the left hand side. Only admin users can add new NEWS items. (Again, this could be via RBS, but not yet).

All the blog entries (reviews, news, etc) are stored in one table. You define zones and associate them some blog types. I created one zone for the news on the left side of the page. It contains only the news blog type. The center zone contains all blog types except for news. The center zone is drawn by a repeater on the default.aspx. The news is drawn by an ASCX. You set the zone and the title, and it takes care of the rest.

I had a little trouble with the ASCX at first. There's an object data source and a repeater. The ODS points to an object which users Enterpriese Libary to return a datatable. It's pretty straight forward (thanks to the ODS), but it wouldn't bind. I found that the ODS was accidentally within an H1. Whoops.

The search needs some work. Currently, its tailored to searching for a product that you want to write about. You may also just want to read about it, or get pricing, etc. In that scenario, it should take you to the as-yet non-existent product page.

So, lots to do, but picking away...

Wednesday, July 11, 2007

Server move complete. Time to move on.

With regret, I sent the email that effectively terminates a 6 year business relationship. It sucks, but had to be done.




Hello

Ok, i've relocated. You can cancel the account now.

I'm really dissapointed that I have to leave after 6 years, but I can't just lose 6 months of data, especially when there's no way to know that its not going to happen again. I don't mind outages, but data loss is a different story.

Good luck with ---. I hope that not too many of your clients found yourself in my position.

Jay

Sunday, July 08, 2007

The Great Flat Tire of 2007

The following is a recreation of an email I sent to my team (work) on 2/4/2007.
Except for one minor change, this is orginal; I added a picture of Mr. Burns. I don't know why I didn't do that originally, but I'll guess that's it was due to laziness.

Subject: Automobile Difficulties

Greetings Team


In 1844, a fellow named "Charles Goodyear" invented a process called "vulcanization" which, to my surprise, is not star-trek related. By 1877, this technology had been put to good use by the likes of John Boyd Dunlop and the lesser known, but equally important, Robert William Thompson. Their efforts resulted in creation of the "tire", which, according to my 11 year old nephew, is still in use today.


Though different vehicles have different number of tires, to my embarassment, my motor car is limited to just 4. It may be argued that the so-called "spare" is also a tire, but for the purposes of this deposition I will not include it in the calculations.


Last evening (Saturday) while driving home from an event called "poker night", I ran over what can most specifically be called "an object". Said object violated the integrity of my "tire" (see paragraph 1), resulting in defalation. This resulted in a 25% loss of overall tire functionality on my motorized buggy. Attempts to enlist professional services to replace the faulty tire have, to this point, been unsuccessful due to the unavailability of a suitable replacement. I will call Continental Customer Service early monday morning to deal with warranty and replacement issues.


Unfortunately, the previously-mentioned-and-disregarded spare tire isn't highway capable, so my travel capabilities are regrettably limited. I will get it corrected as soon as possible, but it's proven to not be possible on this seventh day. If I'm not able to work it out Monday (due to continued unavailability of the tire), I'll rent a car for Tuesday.


I appreciate your support in these trying times. I will be available via cell phone and same time. If you have any questions or concerns, please relay them via the medium of your choice. As always, you are welcome to make a personal visit to my humble abode in Boynton Beach. I can provide refreshments in the forms of chex-mix and arizona iced tea. (Please bring your own toilet paper).


References




Figure A: Marketing image of 2006 Chrysler 300. Though this is not my 2006 Chrysler 300, it is a fair representation. The faulty tire is denoted by the red square.


http://en.wikipedia.org/wiki/Tire
Hyperlink A: Wikipedia provided the information about the history of the tire.


http://thesaurus.reference.com/search?q=car&start=1
Hyperlink B: reference.com was useless. I needed alternative words for "car", and it failed to help in any way.





Mr. Burns, of "the simpsons" fame.
Cartoon Character A: I believe it is he who inadvertantly suggested the term "motor car" to me during a recent rerun. Sure, he's a cranky old guy, but he helped me when I needed it.


Acknowledgements
A lot of works goes into an email like this, and I couldn't have done it without the love and support of my friends and family. They encouraged me during the bad sentences, and applauded me during the good. Several times, it would have been easier to just cancel the email and leave a voice message, but they pushed me through.


I don't want to thank people individually for fear of forgetting someone, so I'll conclude just by saying thank you. You know who you are. Peace.

DVDFriend.US update

The new super-crappy version of the site is online at http://www.dvdfriend.us. As you'll see, there's almost nothing there other than basic page layout. I have written most of the conversion program to import data from the old site. I expect to run it in production this week.

The old site ran against a shared SQL 2000 database. I lost that when I moved to GoDaddy.com. Fortunately, our good friends at Microsoft provide SQL SERVER 2005 express for free. For at least my immediate purposes, that's sufficient.

I went through some of the pages and cleaned them up a bit. I just did some minor things, such as setting the focus on the first logical control when the page loads.

I'm relying on asp.net for security more than I ever have before. As described earlier, I'm using the login controls that ship with it. Now, I'm also using directory security to force login before accessing particular pages. Previously, I prefered to this on my own.

I'll keep picking away at it. After the conversion (users, products, reviews), I'll get to work on repopulating the images. Then, I'll move on to the pricing engine. At the same time, I'm trying to enlist gina's help to make the site look less hideous.

Server Move Update

It's been a learning process, but I finally have pretty much everyting moved to the new server. Even though it was a pain, I 'm glad to have experienced it. To this point, I've always paid someone to manage the details of domain administration for me. With the new VPS, I had to do it all myself.

I contacted GO DADDY support 4 times. Overall, they were helpful. They negelected to answer one of my questions, but I pushed on regardless.

All domains and email addresses are now hosted on the new server. So far, I haven't heard from anyone with problems. I expect to cancel the old service by midweek.

Once again, I would like to express my dissapointment in having to move. I like being loyal to the companies and vendors I use, even though I am such a small entity I'd be lucky if they noticed my existence. I've been using that company since 2001, and I think it sucks that I had to leave. I don't see how I could possibly stay after losing 6 months of data.

It all worked out for the best, though. The Go Daddy server is cheaper and gives me more power. I can do everything on my own now, and its cheaper, so happy ending. I think I'm over the hump in the learning curve.

The Sounds of Ice Cream

On Friday, June 29th 2007, Gina, Rafael, Ally (spelling to be confirmed) and I decided to go see Die Hard 4. I have pretty much decided not to go to the movies on opening weekends anymore , because the discourteous crowds are intolerable. However, Die Hard was playing in a premier theater (over 21, reserved seating), so I thought that would be worth the risk. When I asked Rafael if he wanted to go, he expressed the same hesitancy that I did, but also decided to risk it.
We started the evening by going to Tony Romas. Rafael got there first and called to report that it was closed, as in, out of business. That was a bad way to start the night. I’m a big fan of Tony Romas, though I fully understand why they may have closed. The service was slow and generally terrible, but gosh darn it, I love the food. What was supposed to be a night of celebration started off with a period of mourning.

This quickly passed and we relocated to Longhorn. The experience there wasn’t much better than Tony Romas, and the food isn’t as good. We ended up tipping a little under 15%. I wonder if all the wait staff transferred from Tony’s.

After eating dinner, we had a lot of time to kill before the movie, so we went to Cold Stone ice cream to pack on a few more pounds. While we waited in line, the staff occasionally broke into song. Contrary to its intent, the cheery melodies produced suicidal thoughts. Rafael was trying to identify what prompted the evil singing, and I explained to him it was their tipping policy. You tip; they sing. We both agreed that this was a good motivation to not tip, which introduced a quandary. We like to tip, but don’t want to be punished for it.

We sat down and ate our ice creams. At one point, the entire staff disappeared into the backroom. Rafael hypothesized that they were going to a rehearsal session. I wondered if they had a karaoke machine back there. I overheard them talking about baby pictures earlier and thought, more realistically, that they were all going “ooh” and “ahh” over some digitals.
When at last we were ready to leave, I produced two dollars for the tip jar. Rafael gasped in horror. I told him not to worry; we would do it smart. At this point a new line had formed. Rafael escorted the ladies outside while I worked my way up to the counter. He stretched out, as if on a start line, holding the door open for me. A few people came in as I held the 2 dollars over the tip jar. When at last the path was clear, I dropped the two dollars and ran as fast as I could out the door. Rafael waited until I cleared the door, then followed suit, and we escaped to the parking lot. We were all pretty happy with ourselves, especially me, since I’m so self-centered. I deemed the joke successful… at least, for a few seconds.

In a tragic twist of fate, we learned that we had sadly underestimated the determination of the staff of Cold Stone pizza. Any doubts that we had about their commitment to the company were quickly erased. One of the guys came running out after us, singing at the top of his lungs. And he didn’t do it just enough for us to hear it and get the point; he followed us and sang the whole song. There was no escape. He knew what we did and why we did it, and he wasn’t going to let it pass. He should be employee of the month.

We didn’t flee as we should have. I had great alternating urges to “run” and/or “kill him for food”, but millions of years of evolution allowed my modern mind to overpower those primal instincts. We had made a funny. He called us on it. We would have to take our licks and listen to the whole thing.

That was hard to recover from. I assumed the fetal position and cried for 17 minutes. Then we got up and went to CVS hoping to kill some time there. They were closing. That’s ok, though, since I don’t think we would’ve found much to do there.
Somewhere along the way we ended up at Circuit City. I think it was between eating at Longhorn and eating at Cold Stone, but I’m not sure. Regardless , we went to Circuit City to kill some time for one reason or another. Rafael and I were ecstatic to find that Guitar Hero 2 for the XBOX 360 was set up. We rocked out to SWEET CHILD OF MINE. His buttons weren’t working right, and my bar (not sure what you call it) wasn’t working right. That’s quality advertising.

At last, we made it to the movie. Fortunately, it worked out ok. The crowd was reasonable. I didn’t care for the movie, but that’s another blog for another day.