<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Average Adam &#187; WebDev</title>
	<atom:link href="http://averageadam.com/tag/webdev/feed/" rel="self" type="application/rss+xml" />
	<link>http://averageadam.com</link>
	<description>The personal blog of a happily mediocre &#34;adult&#34;</description>
	<lastBuildDate>Fri, 16 Sep 2011 15:27:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Umm, ya, ok?, whatever (Part 2)</title>
		<link>http://averageadam.com/2006/11/16/umm-ya-ok-whatever-part-2/</link>
		<comments>http://averageadam.com/2006/11/16/umm-ya-ok-whatever-part-2/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 21:36:46 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/11/16/umm-ya-ok-whatever-part-2/</guid>
		<description><![CDATA[A friend of mine has a Blogger blog that I&#8217;ve been enjoying reading. I thought to myself, randomly, &#8220;everybody enjoys web traffic statistics, I wonder if Blogger supports Google Analytics&#8220;. Quite a while ago I had a Blogger blog so I dusted off my login and went to see if it is possible. The blog [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.jayandthebarnflyz.blogspot.com/">friend of mine</a> has a Blogger blog that I&#8217;ve been enjoying reading. I thought to myself, randomly, &#8220;everybody enjoys web traffic statistics, I wonder if Blogger supports <a href="http://www.google.com/analytics/">Google Analytics</a>&#8220;. Quite a while ago I had a Blogger blog so I dusted off my login and went to see if it is possible.</p>
<p>The blog that I had there was the same as this one which I now host myself using <a href="http://wordpress.org/">WordPress</a> so, many months ago, I deleted it. I suspect I was probably in a web presence consolidation mood at the time. Today when I tried to recreate that blog at the same location, ahewgill.blogspot.com, I found out it was already taken. No biggie, I&#8217;ve experienced <a href="http://adamhewgill.com/blog/2006/04/21/yahoo-privacy-concerns/">issues with persistent data in web services</a> before, so I pointed my browser to the site and was totally surprised by the result. Why is my site all in Japanese? Where did all my posts go? Wait … something seems fishy here.</p>
<p>It seems that a Japanese blogger took over my old URL for what I can only assume is Search Engine Optimization (SEO) reasons. I suspect that they wanted the benefit of the PageRank of the URL and all the links from random search engines around the world. I can&#8217;t confirm this of course because there are no markers that would suggest it was true. There is only one external link that goes to another dead blog with no links which wouldn&#8217;t help anybody, its all very curious. It just goes to show you that cleaning up your web presence might not always be the best idea. Now I am just biding my time until he deleted his blog to take it back :o).</p>
<p>Note: I didn&#8217;t actually link to the URL of my old blog since it would cause a chain reaction of linking in the Blog-o-sphere via the ping-o-matic system that would suggest I promote that persons site, you know … FYI or whatever.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/11/16/umm-ya-ok-whatever-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Umm, ya, ok?, whatever</title>
		<link>http://averageadam.com/2006/10/30/umm-ya-ok-whatever/</link>
		<comments>http://averageadam.com/2006/10/30/umm-ya-ok-whatever/#comments</comments>
		<pubDate>Mon, 30 Oct 2006 15:08:24 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/10/30/umm-ya-ok-whatever/</guid>
		<description><![CDATA[So random google searches can be fun. For some very random reason I came up with this McAfee SiteAdvisor page about my site, weird. At least I pass the test and have a green rating. Heck I even only link to green sites, whatever that means. Make sure to check out your sites just for [...]]]></description>
			<content:encoded><![CDATA[<p>So random google searches can be fun. For some very random reason I came up with this <a href="http://www.siteadvisor.com/sites/adamhewgill.com">McAfee SiteAdvisor page</a> about my site, weird.  At least I pass the test and have a green rating. Heck I even only link to green sites, whatever that means.  Make sure to check out your sites just for fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/10/30/umm-ya-ok-whatever/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>dev&#124;sushi opens today</title>
		<link>http://averageadam.com/2006/08/16/devsushi-opens-today/</link>
		<comments>http://averageadam.com/2006/08/16/devsushi-opens-today/#comments</comments>
		<pubDate>Thu, 17 Aug 2006 02:34:20 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/08/16/devsushi-opens-today/</guid>
		<description><![CDATA[I just made my new site dev&#124;sushi live today. There is not much there yet, just an introductory post explaining what that site is going to be all about. The short story is that all technical content will be written to that blog while this one will be only about me and personal stuff going [...]]]></description>
			<content:encoded><![CDATA[<p>I just made my new site <a href="http://devsushi.com">dev|sushi</a> live today. There is not much there yet, just an introductory post explaining what that site is going to be all about. The short story is that all technical content will be written to that blog while this one will be only about me and personal stuff going on in my life.  When I decided to redesign this site my first thought was about the many conversations I&#8217;ve had with friends that had no idea what I was talking about during a particularly long boring technical post. It just made sense to separate that stuff into its own site with its own audience.</p>
<p>My web programming/design skills have greatly improved over the last year (mostly the former) and I am somewhat proud of the look and feel of dev|sushi, however it has a long way to go to get to what I am envisioning for it.</p>
<p>In the last month I have been extremely busy both at work and at home. I have taken on several web projects and am fighting my way through them. The thing about being busy is that it doesn&#8217;t leave much time to do fun and interesting things. I haven&#8217;t been out to train for Parkour in around a month and the only exercise I have been getting is an occasional swim in the local pool. Unfortunately that has come to an end too! The university pool is under construction and is closed but during the spring term but we have been able to use our Watcards to get into the Waterloo Swimplex which has been great. Earlier this week Sara and I went to go but were turned away. I was like WTF! (pardon my msn slang) Apparently since the spring term ended on August 11th anybody kicking around campus is out of luck until the students return in September. <em>le sigh.</em></p>
<p>Before this week I hadn&#8217;t played a computer video game for around a year. I was too busy to even think about installing anything but I finally broke down and installed Grand Theft Auto: San Andreas (GTA:SA). OMG! I love it already. I&#8217;m getting soooo good at cycling its crazy. :o)</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/08/16/devsushi-opens-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Update</title>
		<link>http://averageadam.com/2006/07/26/quick-update/</link>
		<comments>http://averageadam.com/2006/07/26/quick-update/#comments</comments>
		<pubDate>Wed, 26 Jul 2006 11:57:41 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/07/26/quick-update/</guid>
		<description><![CDATA[I am going to be re-doing this site along side a new site launch. Currently it is a mixture of static pages (the non-blog) stuff and the blog itself. Firstly, I am going to break the blog in half stripping out the tech stuff from the personal stuff. The tech stuff will reside on the [...]]]></description>
			<content:encoded><![CDATA[<p>I am going to be re-doing this site along side a new site launch. Currently it is a mixture of static pages (the non-blog) stuff and the blog itself. Firstly, I am going to break the blog in half stripping out the tech stuff from the personal stuff. The tech stuff will reside on the new site and this site will become more personal and hopefully more interesting and readable to the people who know me.</p>
<p>Currently this site has a few experimental features strewn about haphazardly. The green gradient behind this text and the green highlight behind the links to the right are both background images which are very widely used on the web currently.  However these are thrown together quickly and don&#8217;t look very good. The stark edges of the gradient are really harsh next to the next and the button border is not even as its wider in the corners.  In addition the text of the right links looks very bad in both highlighted and normal state.</p>
<p>The revamp and the new site will both use wordpress and hopefully will include a much less default wordpress look. I&#8217;ve been greatly inspired by the creativeness of Bryan Veloso over at <a href="http://avalonstar.com">Avalonstar</a> and many other bloggers of the <a href="http://9rules.com">9 Rules</a> network. However, be warned I am no designer so don&#8217;t expect too much from the non-technical side of the projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/07/26/quick-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shifting job responsibilities</title>
		<link>http://averageadam.com/2006/06/26/shifting-job-responsibilities/</link>
		<comments>http://averageadam.com/2006/06/26/shifting-job-responsibilities/#comments</comments>
		<pubDate>Mon, 26 Jun 2006 15:01:06 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/06/26/shifting-job-responsibilities/</guid>
		<description><![CDATA[Most of you know that I work for the University of Waterloo in IT. Specifically, I work in the Housing and Residences department and am a member of the Housing Technology (ResNet) team. When I started here I did tech support type work and occasionally did some projects to fill certain needs in Visual Basic. [...]]]></description>
			<content:encoded><![CDATA[<p>Most of you know that I work for the University of Waterloo in IT. Specifically, I work in the Housing and Residences department and am a member of the Housing Technology (ResNet) team. When I started here I did tech support type work and occasionally did some projects to fill certain needs in Visual Basic. During this time I was working out of the &#8220;ResNet Office&#8221; and the majority of my time was spent making students computer work on our network.</p>
<p>In the weeks before Fall 2003 when the students arrived the W32.Blaster virus was bring down networks all over the world. Our university instituted a policy to have all internet services disabled and only enable them one by one after the students machine was certified clean and was patched to protect against it. Our network stayed up. We started to notice very strange things happening with students computers that turned out to be SpyWare/MalWare infections.</p>
<p>Over the summer prior to Fall 2004 I developed a CD which walked the student through the long and arduous task of preparing Windows to run safely on our network. It downloaded windows patches, Symantec Anti-Virus, Anti-Spyware and directed them to turn on a firewall. Some flaws quickly bubbled to the surface.  For the most part it worked well for everyone however in certain situations the computer became infected in minutes which is far less time than it takes to install Windows patches. We were still very busy but overall it greatly reduced our workload and we considered this a resounding success. I also attended the ResNet conference at Princeton and was blown away by how helpful it was. Every school seemed to be dealing with the same issues as us.</p>
<p>During the next year we learned more and more about SpyWare/MalWare which was becoming <strong>the</strong> issue with computers. When a particularly damaged computer was discovered I was called in as the last resort to formatting.  In most cases I was successful thanks to the now famous <strong>netsh int ip reset</strong>. During this period my job shifted toward tools and Linux. I wrote Perl scripts and used various tools to help with the administration of the network and the discovery of problem systems. The summer brought yet another ResNet conference which I attended at Georgia Tech and learned quite a bit.</p>
<p>A new technique was implemented for the students moving in during the summer term. We had them enable the Windows XP firewall and install Symantec Anti-Virus after which time we would enable them and they could update windows freely without fear of infection. It was a great success and cut our issues down to a handful. We have since streamlined the technique with even greater success and for the first time had idle staff during the move in period.</p>
<p>My job working with Linux came to a halt since it was evident that we didn&#8217;t need to develop any heavy-handed student computer management software. At this point I started to develop websites (yet another shift). The first project was to replace the Off-Campus Housing Listing Service website with a new friendlier interface. I had very little experience with web programming and so created the first website using ASP which was the language in which the old site was written. After it was finished I looked at ASP.Net for the next project and decided to switch for the increased programming library. It is nearly a year later and I have developed many applications and continue to improve our web presence. Currently I am looking into Web 2.0 techniques for use on internal applications. I imagine this is what I will do for the rest of my time here at UW, web applications are the medium of the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/06/26/shifting-job-responsibilities/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Yahoo! Privacy Concerns</title>
		<link>http://averageadam.com/2006/04/21/yahoo-privacy-concerns/</link>
		<comments>http://averageadam.com/2006/04/21/yahoo-privacy-concerns/#comments</comments>
		<pubDate>Sat, 22 Apr 2006 00:39:44 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/04/21/yahoo-privacy-concerns/</guid>
		<description><![CDATA[I am so annoyed with Yahoo! this last while that I decided to vent publicly here on my blog. Now, I am complaining about a free for use service so a lot of people out there would say that you just have to take it and I tend to agree but I still don&#8217;t like [...]]]></description>
			<content:encoded><![CDATA[<p>I am so annoyed with Yahoo! this last while that I decided to vent publicly here on my blog. Now, I am complaining about a free for use service so a lot of people out there would say that you just have to take it and I tend to agree but I still don&#8217;t like it. Anyway on with the story.</p>
<p>Quite a few years ago I setup a Yahoo! account using the user ID &#8216;hitman200ca&#8217; for the express purpose of playing Pool on Yahoo Games with my friends at University. By the way, I love that game despite all its flaws, its really fun. A couple years ago I decided that I needed an online calendar. The Hotmail one included with my 25MB (!!) paid account (boy times have changed) was no good to me. There were (are?) too many bugs including a particular one that didn&#8217;t allow the email reminders to be sent for me. I dusted off my Yahoo! account and started using Yahoo! Calendar which incidentally I loved because of its features and it just worked great. Now when it came time to share my calendar for work purposes I was a little embarrassed by the Yahoo! ID I had selected so I created a new account with a more grown up ID. After a short migration period I deleted my old Yahoo! ID and continued on happily.</p>
<p>The first time I realized there was a problem was one day when I noticed that I received two reminders for a birthday and then two more again.  I took a look at the emails and noticed that the extras were coming from my old account that I had deleted. Immediately I went to go and delete all reoccurring event in my old calendar but of course since I deleted it Yahoo! would not let me login anymore. I contacted Yahoo! support several times over the next few months trying in vain to get the extra reminders to stop. I received some generic responses that looked as if the support person noticed the word &#8216;Calendar&#8217; and sent me a form response but no luck.</p>
<p>Yesterday I thought of a new thing to try &#8220;Hmm&#8230; I wonder what would happen if I signed up for &#8216;hitman200ca&#8217; again?&#8221;. After a couple minutes and an activation email I logged into Yahoo! Calendar and lo and behold my reoccurring reminders were still there. I was so pleased with myself I immediately deleted the events and then deleted the account again.</p>
<p>But wait, what if someone other than me signed up for &#8216;hitman200ca&#8217;? I&#8217;ll bet you can guess! I looked through the documentation on the pages when I deleted my account and it certainly said Calendar was among the things deleted. Also it was much longer than 90 days between the time I deleted the old account and the time I noticed the extra reminders (GMail conversation threading, didn&#8217;t notice the (2)). I hope my experience was an isolated incident but I doubt it was.</p>
<p>As for me, I am starting to migrate my calendar entries into Google Calendar so I can get away from Yahoo!. Although I&#8217;m sure that nobody over there cares much, oh well.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/04/21/yahoo-privacy-concerns/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Learning PHP</title>
		<link>http://averageadam.com/2006/04/20/learning-php/</link>
		<comments>http://averageadam.com/2006/04/20/learning-php/#comments</comments>
		<pubDate>Fri, 21 Apr 2006 03:50:48 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/2006/04/20/learning-php/</guid>
		<description><![CDATA[Recently I have been learning the basics of PHP with regards to web applications. So far I have touched on MySQL queries, login/password storage and forms authentication, sessions and authenticated user session security. I am working on a personal project called bookkeeper which is a database for the books that I have read and what [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have been learning the basics of PHP with regards to web applications. So far I have touched on MySQL queries, login/password storage and forms authentication, sessions and authenticated user session security.</p>
<p>I am working on a personal project called bookkeeper which is a database for the books that I have read and what I thought of them. It started a ways back as an excel spreadsheet then evolved into an access database and then into a web application in php/mysql. My intention is to eventually make it so others can also use bookkeeper, but that isn&#8217;t going to be for a while.</p>
<p>Password storage was the first thing to tackle and turned out to be pretty simple. Storing passwords that have passed through the SHA-1 algorithm is the standard practice but has certain security issues. An improvement suggested it to create a unique random string per user to add to the password before hashing it. This reduces the ability to perform dictionary attacks on the hashed passwords. The random unique string is called a salt value and is stored alongside the final hashed password in the database for later comparison, I use an MD5 hash of a number from rand() cut down to twenty characters.</p>
<p>The next issue was session handling and security for the rest of the pages protected by the login page. The standard seems to be to use session_start() which by default generates a cookie containing a session id which you can check at the start of each script page and redirect to the login. So if you are like me you immediately think, &#8216;what about malicious users?&#8217;. Session hijacking is the default scenario seems very easy to me so some precautions are a good idea.</p>
<ol>
<li>Make sure to call session_regenerate_id() after every user login so that the old session id is discarded. This will prevent a user from changing the session id cookie to look at another user&#8217;s information after logging in normally.</li>
<li>Don&#8217;t trust that the session id stored in the cookie is valid. After the user login store the new session id in the database to be checked at the top of every page before the rest of the session information is trusted. This will prevent a user from changing their session id to become another user while logged in.</li>
</ol>
<p>That is all I have so far. I would really love to hear how others do this stuff and if there are some issues I haven&#8217;t mentioned here that are important to remember. Please send in all your paranoid security methods.</p>
<p>As a side note I am very curious about what web platform and server languages Google uses to write all its applications such as search, gmail, google maps, etc. Currently I assume it is CGI with the back end written in with a C like language or something home-brewed.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/04/20/learning-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JavaScript Popup Date Control</title>
		<link>http://averageadam.com/2006/02/20/javascript-popup-date-control/</link>
		<comments>http://averageadam.com/2006/02/20/javascript-popup-date-control/#comments</comments>
		<pubDate>Mon, 20 Feb 2006 23:57:16 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=38</guid>
		<description><![CDATA[I have finished the initial version of the date control. I think it improves on some of the designs I have seen around this last week. Here are the finer points: Completely JavaScript/CSS/XHTML built so no server side stuff is required. No tables at all in the calendar control so the design is more flexible [...]]]></description>
			<content:encoded><![CDATA[<p>I have finished the initial version of the date control. I think it improves on some of the designs I have seen around this last week.</p>
<p>Here are the finer points:</p>
<ol>
<li>Completely JavaScript/CSS/XHTML built so no server side stuff is required.</li>
<li><strong>No tables</strong> at all in the calendar control so the design is more flexible and easier to style across different browsers. I used horizontal rollover lists for the day rows instead and they work very well. This means there is no need for extra JavaScript to light up the days on mouse over just use a:hover.</li>
<li>Very simple to include in a website. Just need an element with a <em>.value</em> property, a <em>div</em> container and to include the <em>.css</em> and <em>.js</em> files.</li>
</ol>
<p><a href="http://adamhewgill.com/webdev/DateControl/index.html">Demonstration</a></p>
<p>Grab the files you need here (right click -&gt; save as&#8230;).</p>
<ol>
<li><a href="http://adamhewgill.com/webdev/DateControl/datepicker.js">datepicker.js</a></li>
<li><a href="http://adamhewgill.com/webdev/DateControl/datepicker.css">datepicker.css</a></li>
<li><a href="http://adamhewgill.com/webdev/DateControl/index.html">index.html</a></li>
</ol>
<p>I tried to keep everything as simple as possible so you might need to expand it to fit your needs. Please let me know if there are any issues with any browsers you test on.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/02/20/javascript-popup-date-control/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASP.Net Calendar issues</title>
		<link>http://averageadam.com/2006/02/19/aspnet-calendar-issues/</link>
		<comments>http://averageadam.com/2006/02/19/aspnet-calendar-issues/#comments</comments>
		<pubDate>Sun, 19 Feb 2006 05:29:38 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=37</guid>
		<description><![CDATA[I am working on a very simple JavaScript popup calendar control for people to use in their web forms. I tried using the ASP.Net one but it has several problems. ASP.Net Calendar Issues: Clicking on the calendar for changing months or selecting days requires a post back and requires extra Page_Load code to pass by [...]]]></description>
			<content:encoded><![CDATA[<p>I am working on a very simple JavaScript popup calendar control for people to use in their web forms. I tried using the ASP.Net one but it has several problems.</p>
<p>ASP.Net Calendar Issues:</p>
<ol>
<li>Clicking on the calendar for changing months or selecting days requires a post back and requires extra <em>Page_Load</em> code to pass by any processing code that shouldn&#8217;t be run before the form is filled out.</li>
<li>Placing an <em>asp:Calendar</em> control in your form puts a table into the page source.</li>
<li>The calendar control doesn&#8217;t popup by itself. It requires a bit of JavaScript finagling and a surrounding <em>div</em>. Working JavaScript into an ASP.Net application isn&#8217;t the easiest thing to do.</li>
</ol>
<p>There are probably a few more, but I stopped working with the calendar control and started to build my own simple JavaScript/CSS one with much better flexibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/02/19/aspnet-calendar-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XMLHTTPRequest</title>
		<link>http://averageadam.com/2006/02/12/xmlhttprequest/</link>
		<comments>http://averageadam.com/2006/02/12/xmlhttprequest/#comments</comments>
		<pubDate>Sun, 12 Feb 2006 18:53:44 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://adamhewgill.com/blog/?p=36</guid>
		<description><![CDATA[I have now spent a bit of time playing around with AJAX using it in a few of my web applications. Essentially AJAX boils down to one thing: The XMLHTTPRequest Object. Some people will probably disagree with me on that point but all the fancy JavaScript is just that, it is not very novel by [...]]]></description>
			<content:encoded><![CDATA[<p>I have now spent a bit of time playing around with AJAX using it in a few of my web applications. Essentially AJAX boils down to one thing: The <a href="http://developer.apple.com/internet/webcontent/xmlhttpreq.html">XMLHTTPRequest</a> Object. Some people will probably disagree with me on that point but all the fancy JavaScript is just that, it is not very novel by itself. The ability to bring new information to a page that already exists on the client side without having to reload the whole page is something I find amazing.</p>
<p>It is certainly possible to overdo it when using a technology such as this and so I will give, as an example, an application with a good need for it. Generally the new information that you are going to load into the current webpage will be collected from a database. The primary page that the client will load is a simple query with many records but not much detail. The point of this is to reduce the load on the database server and improve the responsiveness of the page. Now the detailed information for each record can be loaded on demand based on the users actions, such as clicking a certain record.</p>
<p>You might be thinking: &#8220;What is the point of that? Just have the click go to another page with the rest of the information or use a popup.&#8221; Both of these options are possible of course and have been used many times successfully in the past. What we want to do is set our site apart from the rest, not blend in.  By using XMLHTTPRequest and some simple JavaScript we can generate a new fly-out section accessible via some visual cue beside each record.  These fly-outs start empty and are filled by JavaScript when the data is returned. Done correctly the user will never notice that the information is being loaded on the fly and will be impressed by the dynamic nature of your site. The bonus to us is that the amount of bandwidth generated by our web application is reduced.</p>
<p>Google has an amazing suite of very novel applications that use XMLHTTPRequest to make the user experience that much more impressive: <a href="http://www.google.com/webhp?complete=1&#038;hl=en">Google Suggest</a>, <a href="http://maps.google.ca/">Google Maps</a> and GMail (if you don&#8217;t have a GMail account let me know and I can invite you). I am now a firm believer in more functional web applications as I believe that web based (platform independent) applications are a much better idea requiring less work for system administrators.</p>
]]></content:encoded>
			<wfw:commentRss>http://averageadam.com/2006/02/12/xmlhttprequest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

