Model View Controller - Here we go again!

by LouisD 15. August 2011 07:00

I tinkered with creating programs in 1979 using my High School's new computer (about the size of a refrigerator on it's side). My first program was switching the contents of variables A and B. I filled out boxes on a few cards with a number 2 pencil. I stuck the cards between a bunch of generic cards that indicated I was starting a process, running my lines of code, and then indicating the end of my batch of cards. It was done this way so that you could place a stack of cards from different students and feeding them into the computer through a batch card reader together. Hopefully a card didn't get stuck or if you had any erasures, the smudged boxes didn't make the computer go bizzerk. Switching 2 variables (A=B, B=A) was very simple with 1 trick. You had to use a 3rd variable temporarily so that you didn't lose the contents of A or B when making the switch.

The code was a simple was:

C=A

A=B

B=C

After a few anxious minutes of waiting for program results to print out from my classmates programs, I soon was able to write and complete my very first computer program.

Here is where I go really fast. Then came college, IBM Mainframes, VAXs, Keypunch machines, terminals, acoustic couplers with 300 baud rate that molded into my phone, assembly, Fortran, Cobol, PL/C, C, BASIC, LISP, UNIX, FilePro, dBase, Lotus 123, WordPerfect, Pascal, Clipper, FoxPro and a few 4th generation relational database languages that I can't recall, DOS, Windows, Word, Excel, Outlook, Visual Basic, .asp, JavaScript, .Net, Visual Studio 2003, 2005, 2008.

It's all a blur now, but I cringe at the thought of the dreaded "learning curve". Unfortunately, in this business, if you are not learning the latest and greatest, you are soon in a basement or museum somewhere with the Tandy RS 80 sitting on a stack of 8" floppy disks. I'll admit that I am a little burnt out learning new technologies. The economy is such that I have to work harder and faster on more projects due to having to work for less and stay afloat financially. But, if I have learned anything over the past 30 years, try and go with the flow and stick with what's popular. So why learn the Model/View/Controller approach? Well, it looks like the latest "New and Improved" programming technique. I am hoping they finally get it right this time. Why is everyone switching? Can't speak for everyone, but I can say that I first discovered the Model/View/Controller approach when I started tinkering with creating iPhone Apps. As of late, it looks like more and more companies are creating new versions of their applications based on the MVC structure. Gotta go with the flow.

Tags:

Zen and the Art of Pool Maintenance.

by LouisD 14. May 2011 06:26

This is my recollection of one of my first blogs that I wrote many years ago. I originally wrote it with an earlier version of a blog engine and I thought I had backed it up before I started blogging again. I simply can't find where I backed it up. Oh well, even us computer people have a few Ooops! now and then.

Although it is about my feelings toward maintaining my pool myself, it crosses over into many aspects of life, business, and even computer programming. In the book, Zen and the Art of Motorcycle Maintenance, one cycle owner prefers to maintain his bike himself and really treasures the journey to whatever destination he may be traveling. Another cyclist concentrates on his own business, relies on others to maintain his motorcycle, enjoys the freedom of travel and riding his bike but is not as thrilled with the journey and doesn't want to be bothered wiith how every aspect of his cycle works.

The economy is rough.  Growing up, my friend had a pool at his house and I always hoped he would invite me over. I constantly had to resist the temptation to invite myself over.  I always liked swimming as a kid.  We used to drive from New York to Florida on average twice a year.  Spring break vacation was the best because we got to go swimming when we checked into the motel around the half way point of the 2 day trip.  Then, we got to Florida!  Swimming every day for a week!  Probably one of the main reasons I moved to Florida 16 years ago.

That was then, this is now.  As a kid, I didn't have to worry or know anything about pool maintenance.  When I moved to Florida, I was just happy to have one of my dreams come true which was to own my own pool.  I recall reading an article in which someone had calculated his Cost Per Swim.  I look upon a pool like a boat.  If you are going to calculate your cost per swim or the cost for each time you take out a boat, you shouldn't own a pool or a boat.  However, the economy is rough.  I estimate that, now that I maintain my pool myself, I save about $75 a month or $900 a year.  But, that $75 a month savings cost me about 2 hours a month and some understanding about what to do to properly maintain it.

So, I've learned how the pump works, which pipes are going to the filter, the pool heater (which has been busted for years), and which ones are returning to the spa part of the pool and the main part of the pool.  I've learned that I don't have to purchase as much chlorine in the winter time as I do in the summer time.  I could get away with a gallon of chlorine in the winter every couple of weeks and, in the summer, I might need as much as 2 jugs a week.  Leslie's Pool Supply has a purchase 11 jugs and get the next one free.  On Wednesdays, it's double punch day.  They frequently send out coupons to get a 3rd jug of chlorine when you buy 2 more.  So, I buy my jugs of chlorine with the coupon on Wednesday and get 4 punches (2 for each jug I purchased) on my card.  It costs $9 for the 3 jugs instead of $13.50 and every 3rd visit, I get another Free jug for reaching 11 punches on my card.  Another pool supply company charges $6 for their jugs so I save about $10 a month with Leslies plus another $10 a month by not going with the other pool supply store.

This learning curve did not come without a price.  Instead of throwing out shirts and shorts with holes in them, I throw them in the garage and wear them whenever I pour chlorine and acid into my pool.  I have a plastic bin that I transport the jugs in the hatchback of the car.  I still have a large bleached stain on the carpet of the hatch that was created from transporting the chorine. This was how I figured out the plastic bin trick.

So what does this have to do with life or computer programming?  Well, when times were good and income was rising at a rate faster then expenses were and our assets were increasing in value, we were much like the guy who looked upon his motorcycle for enjoyment and relied on others to maintain it.  We didn't know that much about maintaining our things ourselves because we didn't have to.  Plus, it is a pain trying to understand everything we have and how everything works.  I always looked upon this as a kind of micro-management.  But, I am realizing that, the more I know the Basics about various things, the happier I am.  I believe that comes from less stress that is a result of knowing what to do when things go wrong.  And, when your house is no longer brand new (and your body is no longer brand new), things start going wrong more often.

Something else that I learned from maintaining my pool and other aspects of my home are that NOT ALL the experts are experts.  Most people that work on your stuff will do it the easiest cost effective way they know how.  This is not necessarily the right way to do it.  This is often discovered when something goes wrong.  You determine the cause and then you realize that, the so called "Experts" didn't do the job right or that you could have done it yourself for much less.  So my latest philosophy in life is to know enough about what the next person does in order to know if they are doing a good job at a reasonable price.  Also, know your limitations.  If often pays to pay higher prices in certain situations.

This transfers over to computer programming as well.  I have a bad quality of trying to be the best at every programming language I take on.  Unfortunately, it is an exercise in futility.  Programming tools, languages, and techniques are always evolving.  Many programming languages eventually go to a virtual wasteland.  I think the key is to be patient in a high speed world.  Don't jump into the deep end right away when learning a new programming tool.  Learn the basics and know the capabilities and don't worry to much about what issues you are going to encounter along your journey.  There will be issues.  There is no such thing as a perfectly written computer program.  However, the great thing that I have discovered about being a programmer is that if you are experiencing a problem, someone else has experienced the same problem.  It is just a matter of searching the internet for a solution.  The internet my own team of "pool life guards".

Tags:

What is a QR? What is a TAG?

by LouisD 6. April 2011 04:23
The Computer Tailors, Inc. QR

QR is short for “Quick Response”. I like to refer to them as “Quick Readers”. These square black and white graphics that are popping up all over the place are 2D Barcodes that you scan from a mobile device. You can download a QR Reader from a variety of sources. When you scan this particular QR code from a device that is connected to the web (ex. iPhone) it will bring you directly to this URL (this web page).

A QR is similar to a bar code in which you scan the code and a program reads it as alpha-numeric text. You will be noticing QRs pop up all over the place such as your newspaper and direct mail pieces. The Real Estate Profession is now posting them on For Sale Signs and billboards. You can scan the code with your cell phone and quickly see all the information associated with the piece of Real Estate you are inquiring about.

The Computer Tailors, can generate and incorporte QRs into your website along with your online and traditional marketing campaigns. We can even work with Google's ChartAPI to generate QR codes through our computer tailored programming services.

The Computer Tailors, Inc. TAG

A TAG is Microsoft's version of the QR. It has been described as "QRs on steroids". One cool thing that can be done with TAGs is that they can be customized. What appears to be something similar to your company logo can also be used as a TAG.

Whether it is a barcode, a QR, or a TAG, The Computer Tailors can set up desktop, web based, and mobile applications that make use of these quick means of scanning alpha numeric information.

We charge reasonable hourly rates with bulk discounts or we can quote you a price. See our rates on our Pricing Page or Contact Us.

Tags:

Mixing PHP and ASP.Net

by LouisD 25. March 2011 11:14

My first dynamic website was developed in, what is now called, "Classic ASP".  Classic ASP (Active Server Pages) allowed pages to be dynamically generated based on user input.  For example: one of my first major websites, back around 1999, was for a company that supplied new and used car information.  The web user would first select the Year and Make of the car they owned or were interested in buying.  After selecting a year and make and pressing Next, they were then prompted with options for Models associated with the Make and Year of the car.  After selecting the Model, they would then select the Style.  After selecting the Style, all the dealer and auction value pricing along with a list of standards and options would be displayed.

I believe UNIX came first in terms of the ability to create Dynamic websites but Classic ASP was a big step up.  Soon after classic .asp, a bunch of other languages cropped up such as Java Server Pages, and Cold Fusion.  On the Linux and Apache Server side, PHP developed a huge following. Microsoft spent billions coming up with the next version of ASP called ASP.Net.  The first version of .Net in 2003 had a lot to be desired.  But, like a lot of new software, the 2nd version that came out in 2005 was something that I felt I could "work with".  So like a gun fight at the OK Corral, it seems as if there are 2 dynamic website coding platforms left standing:  PHP and ASP.Net. 

Since there are predominantly 2 major dynamic web development platforms left, this is good news in the respect that my company doesn't have to master a dozen different platforms to satisfy most customers out there. Also good news is that you can run .PHP websites on a Microsoft web server.  This week, I was able to set up a .php WordPress blog site (see: http://Blogs.LouisDatz.com) as a sub-domain to my personal site (see: http://www.LouisDatz.com).  I was also able to "plug-in" a small shopping cart page written in .Net into a page of a website developed using WordPress.

ADDING WORDPRESS TO A .NET SITE:

From IIS or your website control panel:

  • Make sure PHP 5 is installed on your .Net site
  • Create a sub-directory to wwwroot (Ex. wwwroot\blogs)
  • Create a virtual directory pointing to wwwroot\blogs and give it a name like blogs
  • Create a sub-domain (ex. Blogs.LouisDatz.com) pointing to the virtual directory blogs
  • Create a MySql database (make note of the server, database name, user id, password)

From your computer:

  • Make sure you have the following programs on your computer (see: www.microsoft.com/web/gallery/)
    • Microsoft Web Matrix
    • Microsoft Platform Installer
  • From the Microsoft Web Gallery, click the install button for WordPress. This will install all the necessary stuff for you to have on your computer for php and MySql to work.
  • When the install is finished, Web Matrix should open up your new WordPress site Within Matrix (with WordPress as the current site you are working on)
  • Click Set up the remote publishing location for your web site
  • I set the FTP directory for LouisDatz.com to wwwroot/blogs for the directory to publish the WordPress site.
  • Test the connection to validate that you entered everything correctly and press Save Click Publish near the upper left hand corner of Web Matrix

From your new WordPress website:

ADDING .NET TO A WORDPRESS SITE:

On the other side, my company was also asked to add a shopping cart component to a WordPress website.  My company developed the website for Temple Beth El of Boca Raton (see: www.TBEBoca.org). For their Early Childhood Center (see: www.tbebocaecc.org) the site was developed in WordPress.  I am starting to see many websites being developed using WordPress as the foundation. I have to admit that these sites look pretty good.  Now, I am in the process of determining the capabilities and limitations of setting up a site this way.  One limitation which I have to research is that the Temple wanted to incorporate the shopping cart engine my company developed for www.tbeboca.org within www.tbebocaecc.org.  The solution my company came up with was the use  of an IFrame.  An IFrame is like having an outside website within the page of another website.  I created a page on the tbeboca.org site that was stripped of all the skinning features (top header, bottom footer, top menu, side navigation).  The page is self contained in the sense that the Early Childhood Center products are displayed within the page and the user can add products to their cart and checkout with their credit card right within the same page.  So, instead of creating or adding a 2nd shopping cart engine to their .PHP site, the Temple is maintaining the Early Childhood Center products and orders using their .Net site (www.TBEBoca.org) by making use of an IFrame.

Tags:

What I don't know about Search Engine Optimization

by LouisD 2. March 2011 12:50

What I don't know about Search Engine Optimization can, well, fill a Blog.  I attended a very good session at Code Camp 2011 (see my last blog) a couple of weeks ago.  The person who lead the session discussed all the don'ts about how to index your website.  One don't is to use a book titled "Search Engine Optimization 2003".  The rules change ever quickly.  So what you are reading now may not apply six months from now.

I know what Search Engines Spiders do and I know what a Robots.txt file is.  What I didn't realize is that I have to use an XML file for my Site-Map.  Also, there is a standard that I was supposed to use for the Site-Map (see: http://www.sitemaps.org/).

One of the Dos that I learned was to use the Google Webmaster Tools.  I already had Google Analytics set up for www.TheComputerTailors.com.  Today, I set up a Google Webmaster Tools account and added my site www.TheComputerTailors.com. First I entered a Meta Tag into the Header section of the home page.

<meta name="google-site-verification" content="o3UgAgIjTLrv6xoIe5v3La3HydbE57hC_Pps6aCWzbw"/>

 Even though I have Analytics set up for TheComputerTailors.com under the same account as the Google Webmaster Tools, Google had trouble associating the two.  So I opted for having Google generating the meta tag above. 

Next, I created an XML Site-map based on the guidelines and submitted the site-map to Google. Lastly (for today that is), I modified and tested the Robots.txt file.

There are other steps that I will report on in my next blog.

Tags:

Code Camp 2011

by LouisD 20. February 2011 04:51

Every year for the past 7 years, I have been attending an annual event called Code Camp.  It's basically a "nerd fest" (which I am a card carrying member of the club) in which computer professionals around the South East Florida area and representatives from software companies such as Microsoft, show off some of the latest coding techniques out there.  This year's event took place at the Nova South Eastern Campus located in Davie Florida and it attracted about 500 coders.

Code Camp is great for a small business person like myself.  You get to see fellow programmers that you don't often see on a regular basis including David Noderer, Shervin Shakibi, Jess Coburn, and Jason Beres.  You learn valuable information that is equivalent to spending thousands of dollars at professional developers conferences.  And, you get a chance to win raffle prizes.  All for a cost of $0.  Yes, it's FREE!

This year, I ran a session on custom Text Messaging along with attending sessions on SEO, Facebook programming, HTML 5, and Code Optimization.

HTML 5:

In the past, one of the issues that I've had with attending coding sessions is that they are sometimes boring and taxing on the brain.  I didn't experience that this year.  The speakers for the sessions I attended were a lot of fun.  They were all great, but the one I liked the best was Rey Bango .  Never saw him speak before but I was very impressed.  I was told afterwords that he always gives great presentations.  Rey keeps the session going with a light and fun atmosphere.  I used to think that it was only me that would sometimes walk away with migraines after a long coding session.  In fear of admitting that I didn't know what the speaker was talking about, I used to never discuss this with fellow programmers.  In my maturity, I have realized that it is usually not the subject matter that triggers the migraine but it is more the speaker.  I left Rey's session thinking that it was one of the quickest hours of learning that I have ever been through.

Not only was Rey fun to listen to but he alleviated some of my fears with changing technologies.  One thing that I have debated with myself over the years is learning ActionScript in order to develop Flash.  Over the past 10 years, I have taught myself HTML, JavaScript, CSS, VB, C#, SQL, Visual Studio, Web Hosting, Email Hosting, PhotoShop to name a few.  I've gotten to the point where my strengths are in my coding but not in my media or graphic design.  It is not that I don't think I am capable of producing professional looking graphics, but, more that I find it difficult to find the time to master it all.  Unfortunately, I'm the type of person that has to master it all and I get consumed with being the best at something.  Therefore, I have to examine every nook and cranny of a coding language and learn all its traps and pitfalls (another trigger of migraines).

Having my doubts about learning ActionScript and betting on the notion that Adobe Flash will one day be obsolete, I starting looking into HTML 5.  I think HTML 5 will eventually be a replacement for Flash and Silverlight.  I once added Silverlight to a web site and the customer had me take it off right away.  The problem with Silverlight for internet websites is that the user is hit with the prompt to install the Silverlight plug-in.  This might sound easy enough to techies but not to grandma who just clicked on a link to a cool website.  IMHO, Silverlight has its place, but, if you have to rely on the general public to download and install a plug-in in a browser, it is going to cause more issues than it is worth.

HTML 5 has a couple of new tags that allow for easily adding video, animation, and special affects into a web page.  The only problem is that Microsoft's current browsers do not support it.  Only now, with the introduction of Internet Explorer 9.0 (that was recently released as of the writing of this article), do we have built-in HTML 5 support in a Microsoft browser. 

DON'T BE DISMAYED like I was in the thought that you had to wait for all the legacy browsers to disappear (like the way I am hoping for Internet Explorer 6.0 to evaporate to the "virtual wasteland").  Rey introduced us to the concept of Shims and Polyfills.  Using JavaScript plug-ins such as Modernizer (a JavaScript programmer plug-in and not a user plug-in),  I am able to provide users with HTML 5 dynamic capabilities without having to be concerned about legacy browsers.

Over the next few weeks, I am going to be implementing some of the techniques I learned at Code Camp 2011 and I will be implementing them into my company's website (www.TheComputerTailors.com).

Tags:

Search Engine Optimization - 404 errors - Page Not Found

by LouisD 14. November 2010 07:26

I am kicking myself because I keep forgetting to take care of 404 errors when I set up a website.  I recently discovered this when checking out what Google brings up based on entering the search words, "Computer" and "Tailors".  Since I've been revamping TheComputerTailors.com, I have some pages that no longer exists.  If someone clicks on the link that is in the search engine, they get a 404 error page.  A 404 error page is basically a "Page Not Found" page.  This is probably a customer killer because people may not have trust in a site that brings you to a generic "Page Not Found" page.

2 Simple Solutions:

  1. I added an entry to the exceptions section in the Web.config file to go to an Exceptions.aspx page.
  2. I also indicated to go to the Exceptions.aspx page through the "Error Pages" in the web hosting control panel.

 

Tags:

Solved my CardScan problem and improving my marketing skills

by LouisD 12. November 2010 05:33

Due to the flood in my house, it has been a year since I've been out to business networking events. As mentioned in previous Blog posts, my goal in a year is to increase the traffic coming to my website as much as possible. Being a techee most of my life, I've come to realize that it is not my computer skills that will attract people. I reached this Epiphany a few years ago. I strongly feel the introverts of the world will die out and the people with good communication skills will be the leaders.

To that end, I've been trying to learn as much as possible about marketing. I'm realizing that there isn't just one form of marketing that works. One has to look at marketing like a campaign. Websites, email broadcasts, Search Engine Optimization, Blogs, Social Networking all work to some degree. The one thing that works far beyond anything through my own experience and based on the advise from marketing professionals is "Word of Mouth".

So, I started going out to business network functioning events again. Can't speak for the rest of the country, but in Boca Raton, FL, it is a certainty that most of the people I meet at networking events are Financial Planners, Insurance Advisors, and Real Estate Agents. I have nothing against any of those professions but, in the past, my computer programming company had little to offer them because they were mostly agents for large companies that have their own computer programming staff. That was, I didn't have anything to offer Until Now.

I think I have finally hit upon a few new technical services that are on the verge of exploding in 2011. They are Text Messaging and Mobile Marketing, iPhone Apps, QRs (Quick Readers). Quick Readers are those square shaped bar codes that you are starting to pop up all over the place. For a simple example of Text Messaging services I offer, text to 72727 my last name: DATZ . So, I've met a whole bunch of new and old business contacts and got their cards. I dig up my CardScan scanners and it's making a buzzing sound and the card doesn't go through. What's wrong? It doesn't look dusty inside. I try a few more times thinking there might be some gunk on the wheel and I try pushing the card through. No luck. So I'm sitting in my new office in my house that was rebuilt due to the flood and I am starring out the window contemplating on a solution. The WINDOW! That's it. It's too bright inside office. I close the shades and turn the lights off in the office. My CardScan Scanner works like a charm.

Tags:

Solved my BlogSpam problem for now using DISQUS

by LouisD 4. November 2010 10:30

For the first time since I set up the blog section of my site, I am not receiving any Blog Spam.  I am using a third party Blog Comment handling service called DISQUS (see: http://www.DISQUS.com or try adding a comment to one of my blogs).  There are some other options, but I am going to see how DISQUS works out.

Tags:

Still getting Blog Spam

by LouisD 3. November 2010 06:33

Alot of things in programming are trial and error.  I tried changing the receive pingback settings with no luck.  The Blog Spam is still coming in the form of over a hundred comments on my posts.  I am indicating that these comments are spam and hoping that they will be blocked in the future.  In the meantime, I uploaded a patch for BlogEngine.net and I will let you know the results tomorrow.

If the patch doesn't work, I still have a couple of options that I am going to implement when I have some time such as Captcha.

Tags: