<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="wordpress/2.3.3" --><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Mill Creek Considers...</title>
	<link>http://blog.millcreekwebworks.com</link>
	<description>Tech Talk for the Non-Technical Business Leader</description>
	<pubDate>Thu, 10 Jun 2010 19:56:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MillCreekConsiders" /><feedburner:info uri="millcreekconsiders" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><media:copyright>© 2009 Mill Creek WebWorks</media:copyright><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Business</media:category><feedburner:emailServiceId>MillCreekConsiders</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>How the Web works, and why you should care (Part IV - Conclusion)</title>
		<link>http://feedproxy.google.com/~r/MillCreekConsiders/~3/7CthrsqlmGE/</link>
		<comments>http://blog.millcreekwebworks.com/?p=8#comments</comments>
		<pubDate>Thu, 10 Jun 2010 19:47:07 +0000</pubDate>
		<dc:creator>Mill Creek WebWorks</dc:creator>
		
		<category><![CDATA[Infrastructure]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[Classic ASP]]></category>

		<category><![CDATA[ColdFusion]]></category>

		<category><![CDATA[Content Management]]></category>

		<category><![CDATA[databases]]></category>

		<category><![CDATA[DotNetNuke]]></category>

		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Server-side programming]]></category>

		<category><![CDATA[SQL Server]]></category>

		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://blog.millcreekwebworks.com/?p=8</guid>
		<description><![CDATA[Man! As business is growing, and my time is stretched beyond belief, I just realized that I have not posted anything on this blog for close to a year.  I am truly sorry, and I apologize to all the readers of this Blog. I will be making a concerted effort to post something at least once a month [...]]]></description>
			<content:encoded><![CDATA[<p>Man! As business is growing, and my time is stretched beyond belief, I just realized that I have not posted anything on this blog for close to a year.  I am truly sorry, and I apologize to all the readers of this Blog. I will be making a concerted effort to post something at least once a month from now on. </p>
<p>The final topic in this series on how the Web Works, and why you should care; will address server-side programming and how it can make your website dynamic and a more effective vehicle of communication between you and your customers (and potential customers).  A good website should always have fresh content.  You want your customers coming back (again and again) to see what is new, and to interact with you.  The more interaction you have with customers, the more business you will obtain from them. </p>
<p>The web is full of static websites that never change.  Even those static websites with glitzy Flash animations, but that hardly ever change, are really missing the boat.  A website visitor might &#8220;Oooh&#8221; and &#8220;Aaah&#8221; over those cool visual effects, but when he or she is done with this short-lived jubilation they are likely never to return.  This is why you can&#8217;t completely document a good website.  It is ever-changing.</p>
<p><img src="http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/00000/0000/100/188/188.strip.print.gif" /></p>
<p>As you remember, various types of content are delivered by a web server to your browser, such as HTML, Javascript, CSS, photos, audio, video, and Flash. Your computer&#8217;s browser then renders these files into a pleasing format, but it does so on the <em>client-side</em>. Some of this content, such as Javascript and Flash, can be very powerful, and can display things differently to the user based on user input.  However, unless you utilize <em>server-side</em> programming the overall effect of the website will be limited to actual static contents of the content files delivered to the browser.</p>
<p><em>Server-side</em> programming allows your website to dynamically generate the content files that are delivered to the client&#8217;s web browser.  For instance, instead of the HTML content being stored in a file on the web server, the web server can be instructed to read a database (such as MS SQL Sever or MySQL) in order to determine what HTML should be delivered to the client&#8217;s browser.  This type of programming is very prevalent in Content Management Systems, such as Drupal (PHP based) or DotNetNuke (ASP.NET based).  These systems are a collection of <em>server-side</em> programming that allows a web-site administrator to login, add new sections and pages to their website, and update the HTML on any existing pages through a WYSIWYG (What you see is what you get) interface.  The data from the website administrator is then saved in a database.  When a user visits the website, the database is read first, and then the web-server returns the content that is stored there for a particular page that is requested by the client.</p>
<p>Another methodology for delivering dynamic content is to utilize Javascript and a new Javascript add-on called AJAX (Asynchronous Javascript and XML). In some circles this is known as Web 2.0. When a user requests a page on a website, instead of asking the server to deliver the entire set of content for the page, a relatively small javascript file is delivered.  When the page is loaded the javascript automatically contacts a web service (a special type of <em>server-side</em> program that we&#8217;ll deal with in a future blog post) for the initial HTML it needs to load on the browser.  If the user clicks on a button or does something that requires that further content is needed, the javascript will again make an AJAX request to perhaps another web service that will provide the additional HTML content necessary.  Here&#8217;s an example: Perhaps a page is supposed to initially display a simple list of contacts within the company that the user can contact if they have questions.  Perhaps there is a link next to each contact that will open a small details window that displays a picture of the contact, and has detailed biographical information for that contact.  Since javascript popup windows are generally blocked these days, the &#8220;window&#8221; will need to appear like a window, but not be a completely new browser window.  Instead of loading all the details and pictures for every contact in the list, the initial AJAX call will only retrieve the list of contacts, and then display it on the screen.  When one of the links is clicked, an additional AJAX routine will be called in order to retrieve the detailed biographical information for that one contact and display it in a DHTML or pseudo-window.</p>
<p><em>Server-side</em> programming is also very beneficial for capturing and storing information entered by users into web forms. Before <em>server-side</em> programming became prevalent the best one could do with information entered into a web form was to have the web server email someone the values of what was inputed.  Now you can process, validate, and store any information into a database, as well as sending nicely formatted HTML notification emails to interested parties.  Such power drives eCommerce credit card authorization, user logins, event registration pages, search functionality, and pretty much anything that you see that is cool on the internet!  It can also store inputed values into user cookies or session variables, so that user choices can be remembered for their entire visit to your site. (Ever wonder why a shopping cart remembers what items you have already added to it?)</p>
<p>There are a wide variety of programming languages that can be used in order to create this type of <em>server-side</em> functionality.  What is important to note is that the operating system and web server that you are operating must support these programming languages.  For instance, Microsoft ASP.NET Version 4.0 allows a programmer to program in the latest versions of C#.NET and VB.NET.  These are great and powerful programming languages, but they only work on web servers running Windows, and on the IIS 6.0 or 7.0 Web Server software package.  Java, and Java Server Pages (JSP) are also great options, but they are better suited for Unix Web Servers, running other web server software, like Apache (However, you can configure a Windows Server running IIS to use JSP.  You just need to do a lot of configuring). Other options include ColdFusion, PHP, Ruby, and Perl; most of which have a variety of versions for a variety of operating systems and web server software.  Why is all of this important to know?  Well, if you are in charge of purchasing a web server for your company, or you are in charge of selecting a web server hosting plan for your company, you need to know what programming language your developers want to work with.  That way you can select a Web Server or hosting plan thats going to work for your company.  Don&#8217;t let your programmers (or for that matter - a salesperson) dupe you into a high cost solution that your company doesn&#8217;t need.  Armed with the right information you can become an active participant in the conversation and help make the proper decisions for your business.  And thats &#8220;Why you should care!&#8221;</p>
<img src="http://feeds.feedburner.com/~r/MillCreekConsiders/~4/7CthrsqlmGE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.millcreekwebworks.com/?feed=rss2&amp;p=8</wfw:commentRss>
		<feedburner:origLink>http://blog.millcreekwebworks.com/?p=8</feedburner:origLink></item>
		<item>
		<title>How the Web works, and why you should care (Part III).</title>
		<link>http://feedproxy.google.com/~r/MillCreekConsiders/~3/d1feHSqoBOY/</link>
		<comments>http://blog.millcreekwebworks.com/?p=7#comments</comments>
		<pubDate>Fri, 28 Aug 2009 22:32:15 +0000</pubDate>
		<dc:creator>Mill Creek WebWorks</dc:creator>
		
		<category><![CDATA[Infrastructure]]></category>

		<guid isPermaLink="false">http://blog.millcreekwebworks.com/?p=7</guid>
		<description><![CDATA[In the last installment (Far too long ago) we discussed web servers and how they work to deliver content to your web browser.  As explained then, the information returned by a web server includes more than straight HTML.  It also includes CSS, Javascript, XML, graphics, and sound, along with other types of content information.  While [...]]]></description>
			<content:encoded><![CDATA[<p>In the last installment (Far too long ago) we discussed web servers and how they work to deliver content to your web browser.  As explained then, the information returned by a web server includes more than straight HTML.  It also includes CSS, Javascript, XML, graphics, and sound, along with other types of content information.  While the types of extra-HTML content that web browsers handle is constantly evolving, the focus today will be to explain the rudimentary ones that are most common to most websites.</p>
<p>Of course, you still may be asking, &#8220;Why should I care?&#8221;  One good reason is that website technology is constantly evolving.  To know the basic capabilities of websites today, it is necessary so that you, the business leader can formulate what your website of tomorrow will be capable of.</p>
<p>  <img border="0" src="http://www.millcreekwebworks.com/images/dilbert.jpg" alt="Dilbert" height="199" width="640" /></p>
<p>Those businesses who don&#8217;t grow usually find themselves lagging behind, and an effective and relevant website that is increasingly user-friendly and keeps your customers (and potential customers) coming back again and again, is essential in today&#8217;s market.</p>
<p>HTML itself merely presents text and colors onto a page.  One of the most basic extensions to HTML is the ability is present pictures onto the browser screen.  This is done by either using the HTML &lt;IMG/&gt; tag or by using a background image.  These images are saved in separate image files that are housed on the web server.  Most browsers accept images saved in GIF, JPG, and PNG formats, and these files have the appropriate file extension associated with them (ie - image.gif, image1.jpg, or image1.png). The HTML tag has a SRC (Source) or Background-Image attribute that tells your browser where on the server it will find the appropriate image file to display in that location on the web page.  For example, &lt;IMG SRC=&#8221;<a href="http://www.millcreekwebworks.com/images/dilbert.jpg">http://www.millcreekwebworks.com/images/dilbert.jpg</a>&#8221; border=&#8221;0&#8243; /&gt; tells your browser where to find the Dilbert comic strip you see above.</p>
<p>HTML pages natively only display static content.  Once the page is loaded, the page does nothing.  It soon became apparent, that web pages should interact with the user and with events that happen on the page.  Javascript is a programming language that reacts to these events and performs actions on the webpage after it is loaded.  Events include such actions as the Page Load event, a mouse hovering over or off a certain part of the page, a keypress on a keyboard, a click or double click on an element of the page (such as a button), and many, many more.  Javascript can either be embedded right in the HTML page, or (if the javascript is large) can be housed on the web server in a separate javascript file (eg - myjavascript.js).  By using the &lt;SCRIPT/&gt; tag your web browser either loads the javascript embedded in the HTML page or from the separate javascript file into the client&#8217;s memory when the page loads.  When an event occurs, it executes the code.</p>
<p>The original HTML specification only allowed the website developer very basic formatting functionality.  Originally all of this formatting was handled by attributes within the HTML tags themselves, such as BGCOLOR, ALIGN, SIZE, etc.  The attributes were very limited and also varied immensely inbetween browsers such as Internet Explorer and Netscape. Also, if you wanted to format text on the page, you had to use a variety of HTML tags like &lt;FONT/&gt; (Font type and size and color),&lt;B/&gt; (bold), &lt;U/&gt; (Underline), &lt;I/&gt; (Italics), etc.  Even if you used the same type of formatting many times in a page, you needed to insert all the necessary tags in every spot where the formatting would occur within the page.  Then along came Cascading Style Sheets (CSS).  It is a formatting specification that is either embedded within the HTML tag&#8217;s STYLE attribute or setup in a series of classes that are embedded in the stylesheet.  The stylesheet can either be embedded in the HTML page itself, or again can be housed in a separate file on the web server by using the &lt;LINK/&gt; tag. The styling format handles almost every conceivable formatting issue you might need to address.   Each HTML tag has a CLASS attribute where you specify the name of a CSS class that defines all the formatting for every object that has the same class.  So if you have 4 places on the page where you need an Arial font, 15pt, bold, italicized, with a padding of 5 pixels surrounding it, and with a a 1 pixel dashed black border surrounding the whole block; you can specify this all in one CSS class. Then in the 4 HTML tags where this formatting is needed you just specify the class name, instead of having to rewrite all that formatting code.  Each HTML tag also has a STYLE attribute.  You would only use this if this particular tag had unique formatting from everything else on the page. The great thing about using a separate CSS file is that you can share classes with every page on your website.  So there are 4 places on one page where that lengthy formatting is needed.  However, throughout the website you may need this formatting in 40 different places.  If you use a separate CSS file with the &lt;LINK/&gt; tag you only need define this formatting once.</p>
<p>Sound and video are usually not handled directly by the browser, but rather by Plugins, or the use of other viewers installed on the user&#8217;s computer.  Examples are Flash, Shockwave, Windows Media Player, and Quicktime.  If you want to display these within your website you need to be sure that a very large majority of end users have this software installed on their computers, or at the very least offer a link to a place where they can download the installation files for these products.  In my opinion (especially when it comes to videos) it is always better to offer many options to the user.  Sound and video files are separate files that reside on the server.  If you want to these viewers to appear on your webpage you need to make use of the HTML &lt;OBJECT/&gt; and/or &lt;EMBED/&gt; tags, or make use of a separate &lt;FRAME/&gt; or &lt;IFRAME/&gt; to display these items (I&#8217;d avoid the latter).  These files can sometimes be quite large which can be quite a burden to your bandwidth, disk space, the quickness of your web server, and can sometimes frustrate users who don&#8217;t want to wait to download things.  Thats why streaming audio and video were invented; so that these items can begin to display right away, and the server continues to download the rest of the file as the user is watching or listening. Streaming is a big subject, so we&#8217;ll leave it at that. </p>
<p>So, as we can see, when a web page is loaded there may be any number of separate files also loaded besides the HTML itself.  Plain HTML pages are static, and are the same everytime it is viewed and by every user who views it.  Truly dynamic sites usually use server-side programming in order to generate customized content that changes.  This will be the subject of our next installment.</p>
<img src="http://feeds.feedburner.com/~r/MillCreekConsiders/~4/d1feHSqoBOY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.millcreekwebworks.com/?feed=rss2&amp;p=7</wfw:commentRss>
		<feedburner:origLink>http://blog.millcreekwebworks.com/?p=7</feedburner:origLink></item>
		<item>
		<title>How the Web works, and why you should care (Part II).</title>
		<link>http://feedproxy.google.com/~r/MillCreekConsiders/~3/7PlXVAEHdU8/</link>
		<comments>http://blog.millcreekwebworks.com/?p=6#comments</comments>
		<pubDate>Fri, 17 Jul 2009 01:35:59 +0000</pubDate>
		<dc:creator>Mill Creek WebWorks</dc:creator>
		
		<category><![CDATA[Infrastructure]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[CGI]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Dilbert]]></category>

		<category><![CDATA[dynamic]]></category>

		<category><![CDATA[form]]></category>

		<category><![CDATA[HTML]]></category>

		<category><![CDATA[HTTP]]></category>

		<category><![CDATA[HTTPS]]></category>

		<category><![CDATA[Internet Explorer]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Mozilla]]></category>

		<category><![CDATA[parameters]]></category>

		<category><![CDATA[Perl]]></category>

		<category><![CDATA[Web Browser]]></category>

		<category><![CDATA[Web Server]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.millcreekwebworks.com/?p=6</guid>
		<description><![CDATA[In the last installment we discussed the Internet and its infrastructure.  Today we will delve into how web servers work with your browser.  There are many web technologies that exist, and more and more are added each month.  However, the basics of the World Wide Web have remained unchanged, and that is out topic for [...]]]></description>
			<content:encoded><![CDATA[<p>In the last installment we discussed the Internet and its infrastructure.  Today we will delve into how web servers work with your browser.  There are many web technologies that exist, and more and more are added each month.  However, the basics of the World Wide Web have remained unchanged, and that is out topic for today.</p>
<p>Again, you might ask, &#8220;Why should I care?&#8221;  You might ponder on how much knowledge of internet technologies is good enough for a business leader to have.  Afterall, after a certain point can&#8217;t we just leave it to the IT guys?  Again, I would encourage you to learn as much as you can, given the constraints of your time.  Otherwise you won&#8217;t be able to effectively manage your IT projects and operations.</p>
<p><img src="http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/20000/6000/400/26446/26446.strip.print.gif" /></p>
<p>&#8220;IT guys&#8221; have specialities.  Depending on what your company is trying to accomplish you need to hire the right folks for the job.  Depending on the specialities of your existing staff you may want to invest in computers, network equipment, and projects that use specific technologies that your staff is familiar with.  Having an overall understanding of how the World Wide Web works is going to do nothing but help you make informed business decisions on how you invest your IT dollars.</p>
<p><strong>Web Servers, Input and Output Programs</strong></p>
<p>A website is fundamentally a Client-Server program that runs on a <a target="_blank" href="http://en.wikipedia.org/wiki/Web_server" title="Web Server">Web Server</a>, and is accessed through Clients, which are all the web browsers and automated systems that request information from it using the HTTP or HTTPS protocol.  <a target="_blank" href="http://en.wikipedia.org/wiki/Web_browser" title="Web browsers">Web browsers</a> run on computers, and these days even on cell phones.  They are not the computer itself, but rather are software applications (such as Internet Explorer or Mozilla) that runs on these devices.  Similarly, Web Servers (such as <a target="_blank" href="http://en.wikipedia.org/wiki/Internet_Information_Services" title="Internet Information Server">Internet Information Server</a> (IIS) or <a target="_blank" href="http://en.wikipedia.org/wiki/Apache_HTTP_Server" title="Apache">Apache</a>) are also a software application that run on usually more powerful computers.  The job of the client software is to accept user input (through the keyboard and mouse usually) and then contact the remote computer running the Web Server software.  The Web Server handles the requests of the clients, and spits back the information requested to the client&#8217;s browser.  The client&#8217;s browser, then displays the information it has received from the web server, and displays it to the user.</p>
<p>The web browser usually requests a page or resource on the website, such as <a target="_blank" href="http://www.millcreekwebworks.com/default.aspx" title="http://www.millcreekwebworks.com/default.aspx">http://www.millcreekwebworks.com/default.aspx</a> which is the Mill Creek WebWorks home page.  The web server accepts this request, processes it, and determines what HTML content it should return to the client&#8217;s web browser for display.  When you click on a link or a button in your browser, you are usually telling the browser to request a new page or resource from the website.  In the old days, you would not have a page called default.aspx.  The .aspx file extension is specifically a file dedicated to websites built in Microsoft <a target="_blank" href="http://en.wikipedia.org/wiki/ASP.NET" title="ASP.NET">ASP.NET</a>.  Before ASP.NET or any of the other complex server-side technologies were developed, there were only static HTML pages and <a target="_blank" href="http://en.wikipedia.org/wiki/CGI_script" title="CGI">CGI</a> scripts written in <a target="_blank" href="http://en.wikipedia.org/wiki/Perl" title="Perl">Perl</a> and other compiled lagnuages.  HTML pages have a file extension of .htm or .html, and are files that contain the complete set of characters in HTML that is returned to the client&#8217;s web browser.  They are literally a file that resides on the web server, and if you were to login into the web server computer you could open up the HTML file in a text editor like Notepad and see it for yourself.  The HTML file can&#8217;t accept parameters, so therefore you couldn&#8217;t change things based on what users might type into a text input or anything like that.  The web server will return the same output every single time.  The original HTML specifications did allow for user inputs, like text boxes and checkboxes, but you had to write a CGI script to process the user input.  The script written in Perl was like a mini program.  When the Web Server was instructed to go to a CGI script, it would pass on the parameters of an HTML form to the program.  The program could then process these input variables, perform a storage or database update, and then could either redirect the user to a different HTML page (based on what was inputted), or spit back custom HTML based on the user input.  Perl Scripts were really the predecessors to all the custom and dynamic websites we see today.  Without them the Web was simply a one way communication of static information from the web server to users.  Without them you couldn&#8217;t do a Google search, or make an eCommerce purchase, or anything. With them it was the beginning of being able to build truly interactive applications on the Web.</p>
<p>These days the information returned by the Web Server includes much more than straight HTML.  It includes CSS, Javascript, XML, graphics, and sound.  We will discuss all of these complexities and what they do in our next segment.</p>
<img src="http://feeds.feedburner.com/~r/MillCreekConsiders/~4/7PlXVAEHdU8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.millcreekwebworks.com/?feed=rss2&amp;p=6</wfw:commentRss>
		<feedburner:origLink>http://blog.millcreekwebworks.com/?p=6</feedburner:origLink></item>
		<item>
		<title>How the Web works, and why you should care (Part I).</title>
		<link>http://feedproxy.google.com/~r/MillCreekConsiders/~3/74HO8rRptL0/</link>
		<comments>http://blog.millcreekwebworks.com/?p=5#comments</comments>
		<pubDate>Mon, 06 Jul 2009 15:18:57 +0000</pubDate>
		<dc:creator>Mill Creek WebWorks</dc:creator>
		
		<category><![CDATA[Infrastructure]]></category>

		<category><![CDATA[AppleTalk]]></category>

		<category><![CDATA[Dilbert]]></category>

		<category><![CDATA[FTP]]></category>

		<category><![CDATA[HTTP]]></category>

		<category><![CDATA[HTTPS]]></category>

		<category><![CDATA[internet]]></category>

		<category><![CDATA[IP Address]]></category>

		<category><![CDATA[IPX/SPX]]></category>

		<category><![CDATA[POP3]]></category>

		<category><![CDATA[Router]]></category>

		<category><![CDATA[SMTP]]></category>

		<category><![CDATA[TCP/IP]]></category>

		<category><![CDATA[world wide web]]></category>

		<guid isPermaLink="false">http://blog.millcreekwebworks.com/?p=5</guid>
		<description><![CDATA[In today&#8217;s post we will be discussing how the web actually works, and why you , the business manager, should actually care.  This short article could easily be a 10 volume encyclopedia if we delved into too many details.  Furthermore, I would have to go take up a PhD in computer science before I could [...]]]></description>
			<content:encoded><![CDATA[<p>In today&#8217;s post we will be discussing how the web actually works, and why you , the business manager, should actually care.  This short article could easily be a 10 volume encyclopedia if we delved into too many details.  Furthermore, I would have to go take up a PhD in computer science before I could even write the half of it.  There is that much to it.</p>
<p>Just to save some time (and get you to read the rest of this post!) I think I should answer the second question first, i.e. Why should I care?</p>
<p><img src="http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/00000/2000/400/2477/2477.strip.print.gif" /></p>
<p>You probably know all the buzzwords for internet technology. You can spew off terms like &#8220;TCP/IP&#8221;,&#8221;HTTP&#8221;, &#8220;SSL&#8221;, &#8220;HTML&#8221;,&#8221;ISP&#8221;, etc., etc., etc.! However, while you might get away with throwing around a few carefully selected buzzwords at a company social, when you are working with IT departments you really need to have some understanding of how the web works.  If you are simply an end-user of the internet it is probably sufficient to know how to turn your computer on, open up Intenet Explorer and Microsoft Outlook, and start using the web. Not too much to it really.  But if you are going to be utilizing internet technologies in order to build your company you need to know what technologies can help you, what the pluses and minuses of each technology are, and what other dependent technologies are required for their use.  Even if you rely upon the recommendations of your IT department or your IT consulting firm, it is still a wise idea to know enough so that you can make wise decisions on their recommendations.  After all, you&#8217;re in charge.  The company&#8217;s success is in your hands, not theirs.  You wll be the primary recipient of the rewards of success or the consequences of failure.</p>
<p><strong>The Internet - A Network of Networks</strong></p>
<p>The first thing you should know about the world wide web is that it is NOT the internet. The internet is actually the physical network of computers and devices that are connected together, and communicate together around the world.  Its origins can be traced back to the late 1960&#8217;s when the first computer networks were linked together through <a target="_blank" href="http://en.wikipedia.org/wiki/ARPANET" title="ARPANET">ARPANET</a> between UCLA and SRI International.  By the early 1980&#8217;s it had grown to be an international collection of educational and government computer networks.  By the late 1980&#8217;s the <a target="_blank" href="http://en.wikipedia.org/wiki/TCP/IP" title="TCP/IP">TCP/IP</a> protocol was developed and commercial computer networks were allowed to join, and the internet has been booming ever since.</p>
<p>Network protocols, such as TCP/IP, are the low-level language that computers use to talk to each other.  There are others, such as <a target="_blank" href="http://en.wikipedia.org/wiki/IPX/SPX" title="IPX/SPX">IPX/SPX</a> (Netware Networks) and <a target="_blank" href="http://en.wikipedia.org/wiki/AppleTalk" title="AppleTalk">AppleTalk</a>.  TCP/IP is actually a suite of languanges that are commonly used for the internet.  The backbone of the suite is the <a target="_blank" href="http://en.wikipedia.org/wiki/IP_Address" title="IP Address">IP Address</a>.  Each computer which is connected to the internet must have a unique number in order to differentiate itself from other computers. The IP Address is a set of 4 numbers which can have up to 3 digits for each number.  Each number is separated by a dot (.), and looks like XXX.XXX.XXX.XXX.  Most of these numbers are available for use on the internet, but some ranges are reserved for use in internal networks, such as 10.0.0.0 - 10.255.255.255.    There are approximately 4.3 billion possible IP addresses. As you might imagine, the world is quickly running out of these ip addresses.</p>
<p>Most computers are not directly connected to the internet, but rather are part of a network that is connected to the internet.  You must go through an Internet Service Provider (<a target="_blank" href="http://en.wikipedia.org/wiki/ISP" title="ISP">ISP</a>).  For example, you may have a small wireless home network of computers at your house. The individual computers all are assigned a private ip address, such as 10.0.0.11, 10.0.0.12, etc.  They talk to to your wireless router.  Your wireless router is usually hooked up to a cable or DSL modem, which in turn directly connects to your ISP, such as Time Warner, or Verizon.  Your wireless router is assigned an ip address from the list of your provider&#8217;s available public ip addresses by using the Dynamic Host Configuration Protocol (<a target="_blank" href="http://en.wikipedia.org/wiki/DHCP" title="DHCP">DHCP</a>).  DHCP is one of the network protocols that is part of the TCP/IP suite of network protocols. In the days of dial-up phone modems it really helped on conserving public ip addresses.  When someone disconnected from their dial-up connection, the public ip address would be released, and would be available to give to another computer dialing in.  Now, with all the broadband connections that are available at home, and on mobile devices and cellphones, your connection is always on whether you are using your computer or not, so the public ip address is never released.  Anyhow, when you ask for a web page or ask for anything on the internet, your wireless router acts as a proxy.  By utilizing Network Address Translation (<a target="_blank" href="http://en.wikipedia.org/wiki/Network_address_translation" title="NAT">NAT</a>) (Another member of the TCP/IP protocol suite) your wireless router passes on your request for the internet resource using its public ip address, and then when it gets a response it forwards it on to your computer that has a private ip address. It &#8220;translates&#8221; for you, and for every computer in your house.  Instead of having to have one public ip address for each computer on your home network, it only needs one.</p>
<p>Now the world wide web is actually a bunch of computer servers that are connected to the internet network that serve web pages through either the <a target="_blank" href="http://en.wikipedia.org/wiki/HTTP" title="HTTP">HTTP</a> or <a target="_blank" href="http://en.wikipedia.org/wiki/HTTPS" title="HTTPS">HTTPS</a> network protocols.  Again, these are sub-protocols of the TCP/IP suite of network protocols.  When you type in URL into your browser your browser makes a request to the web server to give you a particular page that it is hosting.  The web server responds to your browser, and the browser displays the results.  HTTP is the normal protocol used.  HTTPS is a secure encrypted protocol that is often used by online banking systems, and other web servers that host sensitive data that you don&#8217;t want intercepted by some hacker.</p>
<p>Now the web server has a public ip address, and if you typed it in to your browser the website would still work.  Google&#8217;s web server has a public ip address, and if you type <a href="http://74.125.45.100/">http://74.125.45.100/</a> into your browser, Google will appear.  Typing <a href="http://www.google.com/">http://www.google.com</a> only works because <a href="http://www.google.com/">www.google.com</a> is registered with a Domain Name System (<a target="_blank" href="http://en.wikipedia.org/wiki/Domain_Name_System" title="DNS">DNS</a>).  A DNS Server keeps an entry in its records for every domain name, and what the public ip address is for the internet server that it corresponds to.  DNS is yet another sub-protocol of the TCP/IP suite.</p>
<p>Email and FTP do not use the HTTP or HTTPS protocols.  Rather they make use of other TCP/IP protocols such as POP3, SMTP, and <a target="_blank" href="http://en.wikipedia.org/wiki/FTP" title="FTP">FTP</a>.  If you use a browser to get your email from a hotmail email account you are indeed using HTTP or HTTPS to access the hotmail  web server.  However, the hotmail web server uses the <a target="_blank" href="http://en.wikipedia.org/wiki/SMTP" title="SMTP">SMTP</a> and <a target="_blank" href="http://en.wikipedia.org/wiki/POP3" title="POP3">POP3</a> protocols in the background in order to access hotmail&#8217;s dedicated email servers. If you are using MS Outlook, the program accesses the email servers directly, and uses the SMTP and POP3 protocols to do so.</p>
<p><strong>Summary</strong></p>
<p>There are many great articles on internet infrastructure.  I would suggest the <a target="_blank" href="http://computer.howstuffworks.com/internet-infrastructure.htm" title="How Internet Infrstructure Works">How Internet Infrastructure Works</a> on <a target="_blank" href="http://www.howstuffworks.com/" title="howstuffworks.com">howstuffworks.com</a>.  In the next blog post, I will discuss how web servers operate.  Please check back soon!</p>
<img src="http://feeds.feedburner.com/~r/MillCreekConsiders/~4/74HO8rRptL0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.millcreekwebworks.com/?feed=rss2&amp;p=5</wfw:commentRss>
		<feedburner:origLink>http://blog.millcreekwebworks.com/?p=5</feedburner:origLink></item>
		<item>
		<title>I’m a Specializing Generalist, and You Should be too!</title>
		<link>http://feedproxy.google.com/~r/MillCreekConsiders/~3/F7WsB3-kaMk/</link>
		<comments>http://blog.millcreekwebworks.com/?p=4#comments</comments>
		<pubDate>Thu, 02 Jul 2009 22:17:41 +0000</pubDate>
		<dc:creator>Mill Creek WebWorks</dc:creator>
		
		<category><![CDATA[Philosophy]]></category>

		<category><![CDATA[agile development]]></category>

		<category><![CDATA[business]]></category>

		<category><![CDATA[chasm]]></category>

		<category><![CDATA[cross-disciplinary]]></category>

		<category><![CDATA[engagement]]></category>

		<category><![CDATA[generalist]]></category>

		<category><![CDATA[IT]]></category>

		<category><![CDATA[knowledge]]></category>

		<category><![CDATA[specialist]]></category>

		<category><![CDATA[specializing generalist]]></category>

		<guid isPermaLink="false">http://blog.millcreekwebworks.com/?p=4</guid>
		<description><![CDATA[Before I delve into technical subjects I wanted to to take time to explain a little bit about my philosophy.  As the title of this post suggests, I am a Specializing Generalist and, moreover, I encourage people I meet to take this outlook on things.  By the end of this article I hope I have [...]]]></description>
			<content:encoded><![CDATA[<p>Before I delve into technical subjects I wanted to to take time to explain a little bit about my philosophy.  As the title of this post suggests, I am a Specializing Generalist and, moreover, I encourage people I meet to take this outlook on things.  By the end of this article I hope I have convinced you, the business leader, to adopt this focused, yet eclectic, approach.</p>
<p>What exactly is a &#8220;Specializing Generalist&#8221; anyhow?  We all know what a &#8220;Specialist&#8221; is.  This is someone who devotes most all of their efforts to one particular field of study, and is usually really, really knowledgeable about it.  A &#8220;Generalist&#8221; on the other hand, is someone who knows a little bit about about a lot of different fields of study.  The critique on specialists is that that they usually are in world of their own, and don&#8217;t understand or appreciate the other fields of human knowledge.  It tends to make them hard to work with; like the proverbial nerd stuck in a server room somewhere that no one really wants to talk to unless there is a BIG problem.  The critique on generalists is that while they might make great conversationalists at parties, they most likely will be unable to contribute anything useful or unique.</p>
<p>A &#8220;Specializing Generalist&#8221; is one who takes an in-between tact.  In a business environment they make it a point to have a large breadth of knowledge about all aspects of their industry.  This way they can appreciate and work with their co-workers more effectively.  At the same time they spend extra time in a particular specialized field of study, such as IT.  Even within the IT field itself, <a href="http://en.wikipedia.org/wiki/Agile_software_development" title="Agile Development" target="_blank">Agile Development</a> proponents, like <a href="http://www.agilemodeling.com/essays/generalizingSpecialists.htm" title="Scott Ambler" target="_blank">Scott Ambler</a>, encourage IT professionals to obtain a large breadth of knowledge in the various IT disciplines, but still concentrate on a few areas of technical expertise.  After all, unless we are Michelangelo, or Matt Damon in &#8220;Good Will Hunting,&#8221; even the best IT professionals are simply incapable of being experts in ALL the various and ever-increasing arsenal of computer technologies.</p>
<p>What does this mean in practical terms?  For me it means that I have made a conscious decision to specialize in a few key areas like ASP.NET and MS SQL Server.  At the same time I also devote a good amount of time studying other related technologies, like Java, Oracle, and hardware configuration.  The benefit of this approach is that most of the time I have enough knowledge of all the disciplines required to bring an IT project from start to finish.  There are occasional times I get stuck, and have to peruse technical forums and consult the true specialists, but that&#8217;s the exception and not the norm.</p>
<p>In addition, I have also always made it a point to become well versed in how the company I am working for does business, and how Information Technology might be able to improve their processes.  A good applications developer knows the business well enough that they can read between the lines of a business requirements document, and deliver a product that is truly going to help the business grow.  In reality I am both a &#8220;Specializing Generalist&#8221; within the IT profession, and within the general business framework itself.</p>
<p>What does this mean for the non-technical business professional?  It means that while you have your field(s) of expertise, you still need to learn the other business disciplines within your company, including IT.  For instance, you may be a marketing professional.  While you might be an expert in that field, you still need to know about product development, and sales, and finance; because all these disciplines interact everyday with your company.  And you better know IT.  A LOT of marketing is internet-based these days, and you need to have an understanding of what technology can and can not do for your next marketing campaign.</p>
<p>The end result, of course, is that business teams of various types of &#8220;Specializing Generalists&#8221; can work better together when they each have some knowledge of the others specialties.  The more effectively teams can work together, the more likely it is that your business will grow.</p>
<p>My goal is for this blog is for business and IT professionals to engage.  The chasm between the two worlds is shameful, and is most certainly not advantageous for anyone.  Likewise, as I delve more and more into the blog world, I hope I can gain a better knowledge of other disciplines from you, the business professional.  Its a two-way street.  It always has been!</p>
<img src="http://feeds.feedburner.com/~r/MillCreekConsiders/~4/F7WsB3-kaMk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.millcreekwebworks.com/?feed=rss2&amp;p=4</wfw:commentRss>
		<feedburner:origLink>http://blog.millcreekwebworks.com/?p=4</feedburner:origLink></item>
		<item>
		<title>Welcome!</title>
		<link>http://feedproxy.google.com/~r/MillCreekConsiders/~3/NKNtk13RLWg/</link>
		<comments>http://blog.millcreekwebworks.com/?p=3#comments</comments>
		<pubDate>Thu, 02 Jul 2009 03:19:11 +0000</pubDate>
		<dc:creator>Mill Creek WebWorks</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[blog]]></category>

		<category><![CDATA[business leader]]></category>

		<category><![CDATA[emerging]]></category>

		<category><![CDATA[IT]]></category>

		<category><![CDATA[Mill Creek Considers]]></category>

		<category><![CDATA[Mill Creek WebWorks]]></category>

		<category><![CDATA[non-technical]]></category>

		<category><![CDATA[public service]]></category>

		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://blog.millcreekwebworks.com/wordpress/?p=3</guid>
		<description><![CDATA[Welcome to the &#8220;Mill Creek Considers&#8230;&#8221; blog.  This blog is focused on educating the non-technical business leaders of emerging companies with the IT knowledge it takes to effectively manage companies in this technical era.  It is not our intent to concentrate on technical minutiae, but rather to educate the &#8220;layman&#8221; to an understanding of basic [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to the &#8220;Mill Creek Considers&#8230;&#8221; blog.  This blog is focused on educating the non-technical business leaders of emerging companies with the IT knowledge it takes to effectively manage companies in this technical era.  It is not our intent to concentrate on technical minutiae, but rather to educate the &#8220;layman&#8221; to an understanding of basic technical concepts so they can better lead their businesses.  It is our belief that the best IT leaders are the ones who have knowledge of how their business works; business acumen, as they say.  Likewise, the best Business leaders are the ones who understand technology, and how it can benefit their company. </p>
<p>We want your input! Please leave LOTS of comments, questions, and suggestions for new topics.  If your a technical expert and feel there are some subjects that would benefit a business audience we would enjoy your contributions.</p>
<p>By the way, this blog is sponsored by <a target="_blank" href="http://www.millcreekwebworks.com" title="Mill Creek WebWorks">Mill Creek WebWorks</a>.  While we would enjoy working with your company to provide applications development services, this blog is not an advertisement, but rather a public service.  When business and IT leaders share common knowledge and respect, all of our efforts will be bettered.</p>
<img src="http://feeds.feedburner.com/~r/MillCreekConsiders/~4/NKNtk13RLWg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.millcreekwebworks.com/?feed=rss2&amp;p=3</wfw:commentRss>
		<feedburner:origLink>http://blog.millcreekwebworks.com/?p=3</feedburner:origLink></item>
	<copyright>© 2009 Mill Creek WebWorks</copyright><media:credit role="author">Mill Creek WebWorks</media:credit><media:rating>nonadult</media:rating></channel>
</rss>

