Web Application Development With PHP 4.0

Today I received the book Web Application Development With PHP 4.0 by Tobias Ratschiller and Till Gerken. This book is slightly out of date but then my web site only supports PHP Version 4.1.2 so there is no reason to buy a book on PHP 5.0. The book was a lot cheaper than a newly published book.

Posted in General | 3 Comments

Java Server Pages

Today I received a book Pure JSP: Java Server Pages by James Goodwill which should help me to learn Java using the same concepts that I currently use in my ASP work with Visual Basic scripting.

Posted in General | Leave a comment

More ASP.NET 2.0 Exploration

It looks like the master page absolutely needs a vb code behind file. I was trying to run some simple examples without using Visual Studio. My installation of Visual Studio 2005 only had some SQL Server 2005 project types so I had to go through the installation again to get Visual C# 2005 and Visual Basic 2005 and Visual Web Developer 2005 installed to give me the ASP.NET Web Site project option.

Now my page directive is:

< %@ Master Language="VB" CodeFile="first.master.vb" Inherits="first" %>

And the code behind file contains very little code:

Partial Class first
Inherits System.Web.UI.MasterPage
End Class

Posted in General | 1 Comment

ASP.NET 2.0

Today I began to study ASP.NET 2.0 which I already have installed on my system. I figured out how to create an ASP.NET 2.0 web application using the new IIS configuration tool which is a new ASP.NET tab in the virtual web’s properties. That is where you can set the ASP.NET version that your web application will be using. However, I was unable to get my master file and content page example to work due to some sort of problem finding the master file.

To update my skills I plan to study PHP, Java Server Pages, and ASP.NET 2.0.

Posted in General | Leave a comment

ASP.NET Style Sheet Woes

Today I discovered that ASP.NET does not generate HTML which will validate according to XHMTL style rules. I also had a lot of problems creating a style for the web control because the BorderWidth=”0″ property creates an inline style which overrides the style class I was specifying using CssClass=”class” property. Then my style class did not work in Internet Explorer because there was no DOCTYPE so Internet Explorer was in quirky mode instead of strict mode. It took me quite awhile to figure out where to add the DOCTYPE so it appears at the top of all the ASP.NET web pages in the Community Starter Kit.

Maybe it makes me look bad that I had to struggle to do something as simple as add padding around an image. But the fact of the matter is that Microsoft created this technical hurdle when they failed to make ASP.NET observe the web standards. ASP.NET should make better use of DOCTYPEs and it shouldn’t create inline styles for web control properties when a using a style sheet is better practice.

Posted in General | Leave a comment

Unrealistic Business Expectations

I’ve been looking for contract work in custom web development but the search is not going very well due to ridiculous project proposals. There is such an enormous disconnect between project requirements and budget that it borders on the absurd. I see a lot of projects seeking to clone some major web site like Amazon, eBay, or MySpace and the budget is a mere $500.00. The entrepreneurs writing these project proposals must have no clue as to what it takes to create, maintain, and run sophisticated web sites. You cannot hire a single developer and pay him a mere $500 and expect to get an enterprise level web application. A web site like Amazon required millions of dollars in investment and was created by a team of developers and engineers working for several years. The back end requirements for database servers and web servers alone requires a large data center to handle that kind of traffic. To expect one developer to recreate all that for $500 is pitifully unrealistic.

What bugs me is that these cheapskate entrepreneurs still expect you to have an equally ridiculous level of expertise even though they can’t afford the skillset they seek. It is as if you wanted to get your car repaired and only had $50.00 in your budget. So you go around to all the auto mechanics in the area and ask them if they have a PhD in auto engineering! Considering the scale and scope of the work involved a better analogy is asking an automotive engineer to design and build a custom car for you for the princely sum of $50.00 for the entire project!

The Internet makes is seem pretty easy to put up a web site that will give the big boys a run for their money but there are significant technical hurdles to even the simplest scheme. You need to have a realistic project if you can only afford to hire a single developer and you need to have the budget for the significant labor costs involved in creating a major web application. Given my income level, I would not dream of hiring a developer for custom programming no matter how simple the job because I cannot afford their expertise. Besides, I can just do the work myself if it is not too complicated. 🙂

I suppose there are some entrepreneurs that hire independent developers to do custom programming work and then refuse to pay them because it is easy to dispute the quality of the work or question whether the requirements have been met. This is theft of services and it is a serious crime. You need to know exactly what services you require and how much it is going to cost and you need to have the money for it. If you can’t afford professional services then don’t pretend to be in the market for them. I suspect most Internet entrpreneurs just grossly underestimate the technical requirements and don’t realize that they are making fools of themselves by asking an automotive engineer to design and build a custom car for $50.00!

Posted in General | Leave a comment

StoreFront Order History

Tonight I worked on creating customer account and order history pages for StoreFront 5.0 based on this additional feature that was added to StoreFront 6.0. This is a simple matter of writing ASP scripts that do the same thing the ASP.NET scripts do only with much simpler code.

StoreFront 5.0 lacks the ability for a customer to sign in to manage his account information. You can only edit your information on the check out page while placing a new order. Also, the customer was unable to view his order history to get a receipt or to verify that his order went through. The order details page also allows the customer to reorder a product.

I am adding this feature to Car Accessories at http://www.caraccessories.com/ to improve the customer experience and reduce the time they waste on order inquiries. I may add this to two other clients’ web sites which still use StoreFront 5.0.

Posted in General | Leave a comment

MySQL Administration Using PHP

Tonight I wrote the PHP scripts for MySQL database administration. I created the forms, SQL statements, and scripts for adding records, editing records, and deleting records.

Next I plan to write a script for viewing records that will allow me to sort the records by clicking a column heading. I should also learn how to do recordset paging in PHP and MySQL which may be difficult because I don’t think MySQL supports bookmarks.

Posted in General | Leave a comment

Old Technology Books

Last night I listed my old technology books on Yahoo Auctions and Half.com. I have lots of books on Windows NT, Visual J++, MS-DOS, and Windows 3.1 which are very difficult to sell. Yahoo Auctions allows you to quickly list books by entering the ISBN number. Half.com allows you to enter ten books at once by entering the ISBN numbers which really saved me a lot of time because I have 60 books to get rid of. Plus they let you download your inventory as an Excel spreadsheet which thrilled me because now I have my books in a database which I can manipulate to do bulk uploads or bulk imports. My books are now listed on Amazon Marketplace, Yahoo Auctions, and Half.com which should help me to get rid of a few.

Last night I also found a blog on the MCAD Exam 70-305. http://mcadthis.blogspot.com/

Posted in General | Leave a comment

RSS Feeds

Lst night I researched RSS Feeds. I discovered that Firefox and Opera browsers will display a little icon next to your web address if you include a line of code in your home page’s <head> tag:

<link type="application/rss+xml" rel="alternate" title="Williamsport Web Developer Weblog" href="http://www.williamsportwebdeveloper.com/cgi/wp/wp-rss2.php">

I also added all the RSS feed subscribe buttons to my blogs and customized by blogspot theme.

Posted in General | Leave a comment

WordPress Scheduled Task Script

Last night I wrote a VBScript to load the web page which forces WordPress to check its mailbox for articles to be posted. Then I created a scheduled task to run the VBScript every hour. On a linux server this would be handled by a cron job.

Now WordPress will check its mailbox every hour for submitted articles which will automatically appear on the blog.

Posted in General | Leave a comment

Ultra-Edit 12

Today I upgraded to Ultra-Edit 12. Ultra-Edit is my favorite text editor. It features line numbering, find and replace using regular expressions, syntax highlighting, nine additional clipboards, word count, spell checking, hex editor, trailing space trim, and formatting to uppercase, lowercase, or capitalize.

As usual it is the regular expression find and replace that is the most useful. I can easily remove all the blank lines from my text. I can convert lines of text into a comma separated list or convert a comma separated list into lines of text. For XML I prefer to use an old version of XML Spy that can do some validation.

Posted in General | Leave a comment

Installed WordPress On Windows 2003 Server

Last night I was up until 2:00 AM installing WordPress on a Windows 2003 Server for http://www.caraccessories.com/wordpress. I ran into numerous technical problems because I tried to install the lastest versions of PHP and MySQL. Eventually I had to install PHP 4.4.2 to get the right MySQL support and MySQL 4.1.8 to work around the new password encryption. I also had to create a new database user, change its password to use an old style password, and give it permissions for the database. At first I tried to use the root user and changed its password to the old style of password but that caused all sorts of problems with my MySQL administration tools and forced me to reset the root password.

For PHP I had to add index.php to the default document list or you would get a directory cannot be browsed error.

Posted in General | 5 Comments

FrontPage Regular Expressions

FrontPage 2003 added regular expressions to its Find and Replace tool. This is a big improvement and allows for more powerful code editing. Unfortunately, it requires a lot of trial and error to figure out its regular expression syntax which differs from UNIX style syntax.

One of the more useful regular expressions I’ve come up with is to replace my old method of referring to a form field in JavaScript with my new method which is more compatible with various web browsers. The old method would use something like document.forms[“name”].elements[“name”].value which would break if you change the form name. The better method is to use document.getElementById(“name”).value which doesn’t even use the form name.

My FrontPage Regular Expression changes the syntax of the JavaScript:

Find: document.forms(.)*elements[
Replace: document.getElementById(

You must remember to change the closing bracket to a ) and to insert id attributes to your form fields if you did not use them.

Posted in General | Leave a comment

Web Application Design

Yesterday I experimented with a fancier web application design. Most of my web applications have no design at all because I focus on the functionality. I figure it is the graphics designer job to create the design. Unfortunately, he never bothers with the administration area so at best I just use the web site design.

I found that there are plenty of web appliation design icons that you can download and use for free. The icons serve as pictographs and provide a visual clue to links and sections. A little bit of design makes the entire web application look very impressive even though it does nothing more than my plain design.

Web applications are getting fancier anyway with Web 2.0 and AJAX, Asynchronous JavaScript And XML, although I’ve only developed web services.

Posted in General | Leave a comment

ALTER Access Database

Today I learned how to change the design of a table in Access without opening the database file in Access and overwriting the file. This is necessary if you are using an Access database on a web site where a file overwrite could cause you to accidentally lose some recently entered data.

The syntax for the SQL statement to add columns to a table is:

ALTER TABLE tblName ADD COLUMN colName TEXT(255) NULL;

The trick is that you must use the NULL keyward to make the column nullable or the statement will fail.

Posted in General | Leave a comment

PHP Search Results Script

Today I wrote a PHP script to return MySQL database records according to the search criteria entered into a web form. This is similar to my Active Server Pages scripts. I used my simple reading list database as an example. The database table only has three fields so it is easy to write programs that work with it. My web site visitors can now search my database for books I have read. The shockwave record browser forced you to scroll through the records one at a time.

Posted in General | Leave a comment

Exam 70-305

I am currently studying for certification exam 70-305, “Developing and Implementing Web Applications with Visual Basic.NET and Visual Studio.NET”. I am reading the Exam Cram book written by Mike Gunderloy.

Posted in General | Leave a comment

MySQL & PHP

Today I managed to populate my Books table using a PHP script. The bulk inport for MySQL did not work so I had to write a little VBScript to generate the PHP code for multiple SQL, INSERT INTO statements. I generated 2000 lines of code to insert 2000 records which worked remarkable well. It did not time out on me as an ASP script populating a SQL Server database would have surely done.

Posted in General | Leave a comment

Williamsport Sun-Gazette Web Site Hacked

I found that the Williamsport Sun-Gazette web site had been hacked this Sunday morning. According to their defaced home page, they were hacked by some Turkish muslims from North Cyprus. I have a screen shot of their defaced home page.

I don’t subscribe to the Sun Gazette anymore because I can get my news online and I consider that newspaper to be the bane of our community.

Sun Gazette

Posted in General | 1 Comment