<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Jeffrey&apos;s Blog</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/" />
   <link rel="self" type="application/atom+xml" href="http://learningremix.net/w2007integ/jeff/atom.xml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20</id>
   <updated>2007-04-19T23:25:55Z</updated>
   
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.33</generator>

<entry>
   <title>Development Tools used this Semester</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/development_tools_used_this_semester.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1776</id>
   
   <published>2007-04-19T23:08:37Z</published>
   <updated>2007-04-19T23:25:55Z</updated>
   
   <summary>I&apos;m curious what tools were used by the different groups this semester in developing the projects and mini projects. The tools we used for MyFavoritePlaces were: WinSCP: Freeware SCP/FTP program for connecting to webserver and transferring files. PSPad: Freeware text...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=firebug">firebug</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=firebug">firebug</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=firefox">firefox</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=firefox">firefox</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=mysql">mysql</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=mysql">mysql</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=pspad">pspad</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=pspad">pspad</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=tools">tools</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=tools">tools</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=winscp">winscp</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=winscp">winscp</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[I'm curious what tools were used by the different groups this semester in developing the projects and mini projects.

The tools we used for <a href="http://www.myfavoriteplaces.org">MyFavoritePlaces</a> were:

<a href="http://winscp.net">WinSCP</a>: Freeware SCP/FTP program for connecting to webserver and transferring files.

<a href="http://www.pspad.com">PSPad</a>: Freeware text editor.  This supports syntax highlighting and makes code editing much easier than using notepad.  This also integrates with WinSCP so you can click to "edit" in WinSCP, edit in PSPad, and then save the file back to the server without switching between various windows that may be open.

<a href="http://dev.mysql.com/downloads/gui-tools/5.0.html">MySQL Query Administrator</a>: Free from the makers of MySQL.  Used for creating/managing MySQL databases, tables and data.

<a href="http://www.mozilla.com/en-US/firefox/">Firefox</a> with <a href="http://www.getfirebug.com/">Firebug</a> Plugin:  This combination made troubleshooting logic errors in code and CSS a breeze.  (It's still a pain to troubleshoot crossbrowser problems though)

Let us know what tools you used and what you thought of them.

Thanks!

]]>
      
   </content>
</entry>
<entry>
   <title>Agile Spaghetti</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/agile_spaghetti.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1774</id>
   
   <published>2007-04-19T22:41:06Z</published>
   <updated>2007-04-19T23:04:11Z</updated>
   
   <summary>I personally like Agile development. In fact I&apos;ve used it agile methodologies before I even heard about Agile. The strengths that I like include the fast development time, the focus on results over paperwork, and the collaboration between developers and...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=agile">agile</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=agile">agile</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=refactor">refactor</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=refactor">refactor</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[I personally like Agile development.  In fact I've used it agile methodologies before I even heard about Agile.

The strengths that I like include the fast development time, the focus on results over paperwork, and the collaboration between developers and end users.

The danger to Agile techniques is the lack of documentation that is necessary for large organizations.  Large organizations often have a correspondingly large IT support staff and when they need to support an application, good documentation is necessary.  Because Agile focuses on getting working code to the end user, this documentation is often not done, incomplete or out of date.

Another danger in Agile is the propensity to begin coding too quickly.  I think design/coding should only be started after a good understanding of the project and the major components are understood.  Even though Agile focuses on iterations of increased functionality, it is important to know how your early iterations will affect later iterations

In our class project, we've had to re-design and re-implement functions from earlier iterations because the early iteration did not anticipate a future need.  When you need working code in a short period of time and have to re-do code from an earlier time, the tendency is to create "spaghetti code" where code is strung together in a less than optimum manner.

<a href="http://en.wikipedia.org/wiki/Spaghetti_code">Spaghetti code</a> is very hard to maintain because it is difficult for other programmers (even the original programmer) to follow the logic when doing maintenance, enhancements or troubleshooting of the system.  These type of systems will usually also have less than optimized performance.

When doing an Agile project, you should plan on time for re-factoring code and documenting the system in a way that ensures that the system will perform well and be able to be supported by the end users organization.]]>
      
   </content>
</entry>
<entry>
   <title>Splagbots</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/splagbots.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1649</id>
   
   <published>2007-04-14T17:22:48Z</published>
   <updated>2007-04-21T14:48:56Z</updated>
   
   <summary>From Praneeth&apos;s blog: I guess spam guys are running a marathon. From past two days I&apos;ve been getting lots of spam comments(mortgage, furniture, hotgirls and what not) to my email..Just today I recieved like 6 spam comments. Ofcourse I&apos;ve deleted...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=blogs">blogs</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=blogs">blogs</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=robots">robots</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=robots">robots</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=spam">spam</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=spam">spam</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=splagbots">splagbots</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=splagbots">splagbots</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[From <a href="http://learningremix.net/w2007integ/pvuppala/2007/04/spam_marathon.shtml">Praneeth's blog</a>:
<blockquote>I guess spam guys are running a marathon. From past two days I've been getting lots of spam comments(mortgage, furniture, hotgirls and what not) to my email..Just today I recieved like 6 spam comments. Ofcourse I've deleted them..This never happend to me.Earlier, I used to get once in a while which I totally understand but 6 in a day is way too much. Did any of you face similar kinda situation? Is there any solution?</blockquote>

I've been getting an increased amount of comment spam also.  It's hard to avoid this kind of spam because the spammers are using the same techniques that we are using for systems integration to deliver the spam.

We have been able to grab search results from sources such as Google, Yahoo and other places because we have studied their API's and know the correct way to cause the source to do something useful for us.  We are also able to use proxy pages to simulate a user accessing a website via a server.

Spammers are familiar with popular blog engines such as Movable Type, WordPress, and others.  Using this familiarity, spammers create robots that simulate real visitors in order to crawl through blog sites and post spam with ease.

I think I'll call these robots SPLAGBOTS.  This is just a randomly created word that is just coincidently reminiscient of the words spam, blog, and robots all shoved together...just like Ajax "isn't" actually an acronym for Asynchronous Javascript And XML.

Since Splagbots try to impersonate real people in the way they submit comment spam, the best way (currently) to fight them is to have the server evaluate their behavior and respond in a way that keeps the spam at bay.

For example, splagbots are incredibly fast in their crawling and posting of comment spam.  Speed is necessary because the spammer's goal is to submit spam as fast as possible (faster means more spam reaches people).  The server could have a mechanism to detect activity that is occurring too fast for a human and then take actions such as automatically deleting the comment or adding the splagbots ip address to a blacklist.]]>
      
   </content>
</entry>
<entry>
   <title>Movies4Me</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/movies4me.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1646</id>
   
   <published>2007-04-14T16:30:25Z</published>
   <updated>2007-04-21T13:21:43Z</updated>
   
   <summary>From Kim&apos;s blog: I just thought it was funny some projects are actually useful in everyday life. So Jeff, are you going to keep your website up for a little bit for all to use? If so, can we get...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=miniproject">mini-project</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=miniproject">mini-project</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=movies">movies</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=movies">movies</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=showtimes">showtimes</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=showtimes">showtimes</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=theater">theater</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=theater">theater</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[From <a href="http://learningremix.net/w2007integ/kmorris5/2007/04/mini_projects_-_jeff.shtml">Kim's blog</a>:
<blockquote>I just thought it was funny some projects are actually useful in everyday life. So Jeff, are you going to keep your website up for a little bit for all to use? If so, can we get a link? :)</blockquote>

I hadn't thought about keeping the movie theater search up (but also hadn't thought about taking it down either).  Here's the link to my mini-project <a href="http://www.myfavoriteplaces.org/movies">http://www.myfavoriteplaces.org/movies</a>.

<img alt="m4m.jpg" src="http://learningremix.net/w2007integ/jeff/m4m.jpg" width="476" height="469" />

After this semester is over, I'll probably add more functionality to the site but for now it is a quick way to find movie theaters and showtimes.

You're right about some of our projects being useful outside of the classroom.  I get caught up sometimes on the technical details and viewing this as an assignment, that I forget that other people might be interested in what I'm doing or might have suggestions to help me improve my project.

Thanks for liking my project :)
]]>
      
   </content>
</entry>
<entry>
   <title>How to Use Dynamic Javascript and JSON</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/how_to_use_dynamic_javascript_and_json.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1644</id>
   
   <published>2007-04-14T16:13:49Z</published>
   <updated>2007-04-21T13:21:43Z</updated>
   
   <summary>Normally, you cannot use XHR to retrieve data from a server that is not at the same location as the web page that you are on. This limitation can be overcome by using Dynamic Javascript. Dynamic javascript takes advantage of...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=crosssite">cross-site</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=crosssite">cross-site</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=javascript">javascript</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=javascript">javascript</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=json">json</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=json">json</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=xhr">xhr</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=xhr">xhr</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[Normally, you cannot use XHR to retrieve data from a server that is not at the same location as the web page that you are on.  This limitation can be overcome by using Dynamic Javascript.

Dynamic javascript takes advantage of the fact that scripts can be downloaded into a web page from external websites.

Here is an example of how to do this.  Feel free to make your own example using the "_jsoncount.php" page but keep in mind that useful data will only be returned if the location is in our "favorites" database.  You can go to <a href="http://www.myfavoriteplaces.org">http://www.myfavoriteplaces.org</a> and add a few favorites to ensure that you can retrieve a popularity result.

The script returns data in JSON, so take a look at how easily the getPopular function references the data compared to trying to access data from xml.
 
First we need to create the dynamic javascript element that is inserted into the page.
Once the script tag is created, the browser downloads the javascript from the
supplied url.  Even though the url is for a *.php page, a javascript function
is actually returned from it.

This snip of javascript creates the dynamic script tag (the "title" variable in this script contains the name of a business being queried for popularity).

<strong>     //-- URL of remote script to download.
     var dynaurl = "http://www.myfavoriteplaces.org/scripts/_jsoncount.php?favoriteid=" + title;  

     //-- Create the dynamic script tag
     var dScript = null;
 
&nbsp;&nbsp;        dScript      = document.createElement("script");
&nbsp;&nbsp;         dScript.src  = dynaurl;
&nbsp;&nbsp;         dScript.id   = "xssScript";

     //-- Find place in document to insert the new script tag.  Script call is executed
     //-- as soon as the script is appended into the document
     var topHead = document.getElementById("head");
     topHead.appendChild(dScript);</strong>

This is the script tag that the browser creates:

     <strong>&lt;script id="xssScript" src="http://www.myfavoriteplaces.org/scripts/_jsoncount.php?favoriteid=Burger King" /&gt;</strong>

This is the javascript that is returned to the browser:

     <blockquote>getPopular([  {"title":"Burger King", "popularity":1 }]);
</blockquote>

Now you might wonder what this javascript is supposed to do.  You'll notice that this javascript is actually calling a function called "getPopular" and not declaring a function.

This means that a function called "getPopular" must already exist.  The existing function is then passed the array that is passed back with the getPopular call from the returned javascript.

Here is an example of an existing function declaration that handles the data returned from the remote server:

<blockquote>   function getPopular(popular) {<br>
&nbsp;&nbsp;      var vLocation   = popular[0].title;<br>
 &nbsp;&nbsp;       var vPopularity = popular[0].popularity;<br>
&nbsp;&nbsp;  <br>
&nbsp;&nbsp;        alert(vLocation + " is liked by " + vPopularity + " member(s)");<br>
   }</blockquote>


I hope that this is useful example of using dynamic javascript and JSON.  Have fun!

]]>
      
   </content>
</entry>
<entry>
   <title>Example of how to use &quot;getElementsByTagName&quot;</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/example_of_how_to_use_getelementsbytagname.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1625</id>
   
   <published>2007-04-13T04:35:06Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>The .getElementsByTagName (GEBTN) is a very useful DOM method for navigating both HTML and XML structures. It is important to remember that this method returns an array of dom elements that match the tag name. It is up to the...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=dom">dom</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=dom">dom</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=parsing">parsing</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=parsing">parsing</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=xml">xml</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=xml">xml</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[The .getElementsByTagName (GEBTN) is a very useful DOM method for navigating both HTML and XML structures.

It is important to remember that this method returns an array of dom elements that match the tag name.  It is up to the developer to know the structure of the DOM in order to get the right elements in the array.

Here is an example of parsing xml data from a variable called "xml" (This data is modified from an actual <a href="http://rss.ent.yahoo.com/movies/thisweek.xml">Yahoo! movie feed</a>):

<blockquote><font face="courier">&lt;channel&gt;<br>
  &lt;title&gt;Movies Opening This Week&lt;/title&gt;<br>
  &lt;link&gt;http://movies.yahoo.com&lt;/link&gt;<br>
  &lt;description&gt;Movies Opening in Theatres This Week&lt;/description&gt;<br>
  &lt;item&gt;<br>
    &lt;title&gt;Perfect Stranger opens April 13th, 2007 (wide)&lt;/title&gt;<br>
    &lt;description&gt;An undercover reporter tracks down a killer.&lt;/description&gt;<br>
  &lt;/item&gt;<br>
  &lt;item&gt;<br>
    &lt;title&gt;Pathfinder opens April 13th, 2007 (wide)&lt;/title&gt;<br>
    &lt;description&gt;A legion of Vikings battles Native Americans.&lt;/description&gt;<br>
  &lt;/item&gt;<br>
  &lt;item&gt;<br>
    &lt;title&gt;Disturbia opens April 13th, 2007 (wide)&lt;/title&gt;<br>
    &lt;description&gt;A man under house arrest witnesses a crime&lt;/description&gt;<br>
  &lt;/item&gt;<br>
&lt;/channel&gt;<br></font></blockquote>

Suppose we want to retrieve data from the upcoming movies and display in an alert box.  In this case, we want the titles and description of the movies.

We can't just use GEBTN on "title" because that would also return the &lt;title&gt; node for the channel and we only want the ones related to the movies.  We can see that all the movies are contained within &lt;item&gt; tags, so that will be our starting point.
<blockquote><font face="courier">
var movies = xml.getElementsByTagName("item");</font></blockquote>
We now have the contents of all the &lt;item&gt; tags referenced in an array called movies.  After assigning these tags to the array, we want to access the title and descriptions of the movies, so we must iterate through the array using an index.

The easiest way to iterate through is using a "for" loop.

<strong>for (var i = 0; i < movies.length; i++) {<br>

&nbsp;&nbsp;   var vTitle = movies[i].getElementsByTagName("title")[0].firstChild.nodeValue;<br>

&nbsp;&nbsp;   var vDescription = movies[i].getElementsByTagName("description")[0].firstChild.nodeValue;<br>

&nbsp;&nbsp;   alert(vTitle + "\n" + vDescription);<br>
}</strong><br>

The "movies[i]" is referencing a specific &lt;item&gt; in the zero based array.  "movies[2]" for example will correspond to the &lt;item&gt; tag that contains the &lt;title&gt; tag of "Disturbia...".  We again use the .getElementsByTagName to get an array of tags called "title" that are INSIDE the current &lt;item&gt; tag as referenced in the movies[] array.  

For this example, we know that there is only one &lt;title&gt; tag under our selected &lt;item&gt; tags, so we can select it with the index of [0].  We also know that the &lt;title&gt; tag contains one child and that it is a text node, so we reference it with ".firstChild.nodeValue".
 
I hope this is useful to anyone that might be having problems using xml from javascript.  This is just a basic example of getting data out of xml using dom methods, but I hope it is informative enough that a reader can understand the basic concepts.]]>
      
   </content>
</entry>
<entry>
   <title>Check those Parameters passed to PHP proxy</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/check_those_parameters_passed_to_php_proxy.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1623</id>
   
   <published>2007-04-13T03:35:23Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>When using a PHP proxy, it is important to check whether it has received relevant parameters from the calling page. Some parameters might be required and some might be considered optional. When checking for missing data, you could allow the...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=default">default</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=default">default</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=parameters">parameters</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=parameters">parameters</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=php">php</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=php">php</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=proxy">proxy</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=proxy">proxy</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[When using a PHP proxy, it is important to check whether it has received relevant parameters from the calling page.  Some parameters might be required and some might be considered optional.

When checking for missing data, you could allow the PHP page to assign default values to missing data.  This can allow you to configure default values in the PHP page for infrequently used parameters and allow the defaults to be overridden if the caller decides to send the parameter in the proxy call.

For example, if your proxy is designed to retrieve pictures, you could have your proxy automatically decide that the picture size will be 320x240 unless calling page wants something differently.  Perhaps sending something like "&height=640&width=480" would cause the proxy to return images at 640x480.

Using default values for required values can be helpful in testing because the PHP page can be called without having to go through an html page.  This is also helpful for testing html pages that call the proxy by allowing the proxy to be called without supplying parameters. 


//-- This attempts to assign variable $loc the value from parameter "loc" if page is called with GET method
<blockquote>$loc       = $_GET["loc"];</blockquote>

//-- After the attempted assignment, this line checks if $loc was actually set to a value.  If it was, it keeps its assigned value, otherwise it is given a default value..in this case a default zip code of "48186"
<blockquote>$loc       = (isset($loc)     ? $loc       : "48186");</blockquote>


I have proxy that pulls a Yahoo! weather feed.  It uses "loc" as a parameter for the local zip code.  If it is not supplied, the proxy uses "48197" to retrieve the data.

//-- This link specifies a zip code of "48154" and gets weather back for Livonia
<a href="http://myfavoriteplaces.org/movies/scripts/_getweather.php?loc=48154">http://myfavoriteplaces.org/movies/scripts/_getweather.php?loc=48154</a>

//-- This link omits the zip code and gets weather back for Ypsilanti using "48197" as the default
<a href="http://myfavoriteplaces.org/movies/scripts/_getweather.php">http://myfavoriteplaces.org/movies/scripts/_getweather.php</a>


This type of checking is also good for determining if this page was called from another page or if a visitor is trying to access the page directly.  Some php files are not supposed to be run by themselves, so checking for valid values can allow the script to fail gracefully.

For example the following would let the user know that they shouldn't run this file directly and then stops running the script on the page.

<blockquote>if (!isset($loc)) {
   die ("You cannot access this file directly...");
}</blockquote>


]]>
      
   </content>
</entry>
<entry>
   <title>Re: Question for team myfavoriteplaces</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/re_question_for_team_myfavoriteplaces.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1496</id>
   
   <published>2007-04-05T01:21:20Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>From Matthew&apos;s blog: I was just curious where you are hosting it. If you of you have an individual server setup, or if you are hosting it somewhere. I would like to host a web page of my own in...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=domainname">domain name</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=domainname">domain name</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=isp">isp</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=isp">isp</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=mysql">mysql</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=mysql">mysql</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=pairnetworks">pair networks</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=pairnetworks">pair networks</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=pairnic">pairnic</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=pairnic">pairnic</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=php">php</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=php">php</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=registrar">registrar</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=registrar">registrar</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=server">server</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=server">server</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[From Matthew's <a href="http://learningremix.net/w2007integ/mpinter/2007/04/question_for_team_myfavoriteplaces.shtml">blog</a>:

<blockquote>I was just curious where you are hosting it. If you of you have an individual server setup, or if you are hosting it somewhere. I would like to host a web page of my own in the future, and I'm just wondering what the route you took was.</blockquote>

We are using <a href="http://www.pair.com">Pair Networks</a> to host the site.  I've used Pair for years and have always enjoyed their service offerings, customer support and more than reasonable pricing.  Pair has several tiers of service (all based on FreeBSD servers running Apache) that is geared toward web developers.

If you need MySQL databases, humungous e-mail accounts (which you can access with either POP/SMTP or from webmail interface), PHP 4/5, Perl, Python, then Pair is the perfect place to go.

To see some of Pair's offerings, go to <a href="http://www.pair.com/services/web_hosting/">http://www.pair.com/services/web_hosting/</a>.  For anyone that wants to have a powerful environment for learning, building personal and professional websites, I'd recommend the "Advanced" account which provides the best service/price value.  There are a couple more basic account types but they don't provide PHP or MySQL which is almost essential for building interactive websites.

For actually registering a domain name, I usually use <a href="http://www.pairnic.com">pairNIC</a> (a sister company of Pair Networks).  Their domain registrations aren't the cheapest ($19 for one year) but I've had great service from them compared to other registrars.  For this project though, I used <a href="http://smallbusiness.yahoo.com/domains/">Yahoo! Small Business</a> to register the domain because they were running a special.  In fact it looks like they are running the same one right now...$1.99 to register a domain name for the 1st year.

As a side note, LearningRemix.net runs on Pair Networks so you've already been using Pair and didn't know it :)


]]>
      
   </content>
</entry>
<entry>
   <title>Re: Rosie&apos;s Frustrations</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/re_rosies_frustrations.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1463</id>
   
   <published>2007-04-03T16:19:12Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>From Rosie&apos;s blog: I have to say, I&apos;m quite frustrated with trying to get cross compatibility with IE and Firefox running my mini-project...Anyhow, I am asking for help at this point, because I&apos;m so frustrated!... Rosie, I haven&apos;t had a...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=crossbrowser">cross-browser</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=crossbrowser">cross-browser</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=dom">dom</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=dom">dom</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=firefox">firefox</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=firefox">firefox</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=ie">ie</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=ie">ie</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=namespace">namespace</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=namespace">namespace</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=xml">xml</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=xml">xml</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[From Rosie's <a href="http://learningremix.net/w2007integ/riveter1578/2007/04/miniproject_frustrations.shtml">blog</a>:

<blockquote>I have to say, I'm quite frustrated with trying to get cross compatibility with IE and Firefox running my mini-project...Anyhow, I am asking for help at this point, because I'm so frustrated!...</blockquote>

Rosie,

I haven't had a chance to look real deep at your examples, but the quick glance at your text-utils.js reminds of the similar experience that I had that turned out to be due to differences in how IE and FF handle namespace.

Please look at <a href="http://learningremix.net/w2007integ/jeff/2007/03/re_problem_related_to_parsing_xml.shtml">my blog posting</a> where I described my work around. In my posting, look for the "gml:" as a guide for where to place your "aws:" ns prefix.  Hope this is helpful.]]>
      
   </content>
</entry>
<entry>
   <title>Using Dynamic Javascript to Overcome XHR Limitation</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/04/using_dynamic_javascript_to_overcome_xhr_limitation.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1435</id>
   
   <published>2007-04-01T08:15:38Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>Tom posted on his blog: [Re: Logging user out of facebook] ...I guess the logout PHP on Facebook get the session or user id out of the browser variable or cookie and then deletes it. I think the only thing...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=crosssite">cross-site</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=crosssite">cross-site</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=dynamic">dynamic</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=dynamic">dynamic</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=javascript">javascript</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=javascript">javascript</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=xhr">xhr</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=xhr">xhr</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[Tom posted on his <a href="http://learningremix.net/w2007integ/tschnitz/2007/03/logout_procedure_and_its_problems.shtml">blog</a>:

<blockquote>[Re: Logging user out of facebook] ...I guess the logout PHP on Facebook get the session or user id out of the browser variable or cookie and then deletes it. I think the only thing we might are able to do is to open a popup or an extra site which logs the user out while the main browser window displays our own login page.

Or has anybody another idea to approach this problem?</blockquote>

Google (and other sites) use dynamic javascript to overcome limitations on cross site access.  This is done by dynamically adding script tags that point to scripts on other sites.  I've briefly tested this concept against your problem by creating test page that generates a dynamic script pointing to the logout.php page.  Because script tags normally contain script (go figure), the script tag needs to have it's type attribute set to text/html so that the browser doesn't get confused with the response from the remote server.  I don't know how to include a POST parameter with this technique (for the confirm parameter) so this may or may not actually work if that parameter is really required.

You can access the test page at <a href="http://www.myfavoriteplaces.org/test/test.html">http://www.myfavoriteplaces.org/test/test.html</a>.  I'm able to verify that the script runs properly on IE and Firefox on my computer...and that the logout.php does get called.  I don't have a facebook account so you'll have to see if this works against an actual logged in user.

Here is a portion of the test.html that creates the dynamic javascript:

<img src="http://www.myfavoriteplaces.org/test/xssLogOut.gif" />

Hope this helps.



]]>
      
   </content>
</entry>
<entry>
   <title>Fixed &quot;Unknown City&quot; Error in My Favorite Places</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/03/fixed_unknown_city_error_in_my_favorite_places.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1416</id>
   
   <published>2007-03-30T05:57:05Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>I want to say thanks to Kae, Joern, Dean and everyone else that noticed that MyFavoritePlaces.org breaks when the site isn&apos;t able to determine the user&apos;s geographic location. I think we have this fixed now. if you were getting the...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=is449">is449</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=myfavoriteplaces">myfavoriteplaces</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=myfavoriteplaces">myfavoriteplaces</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=w2007">w2007</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[I want to say thanks to <a href="http://learningremix.net/w2007integ/mchiang4/2007/03/review_of_of_my_favorite_places_iteration_2_part_ii.shtml">Kae</a>, <a href="http://learningremix.net/w2007integ/jwendelk/2007/03/my_favorite_places_iteration_2_review_by_joern.shtml">Joern</a>, <a href="http://learningremix.net/w2007integ/damato1/2007/03/myfavoriteplaces_iter_2_review.shtml">Dean</a> and everyone else that noticed that <a href="http://www.myfavoriteplaces.org">MyFavoritePlaces.org</a> breaks when the site isn't able to determine the user's geographic location.

I think we have this fixed now. if you were getting the "(Unknown City?)" error when visiting our site, please give it another try.  (and let us know if you experience any more freezeups)

The geolocator service for our website usually returns "(Unknown city)" if it cannot locate the geographic location of the user's ip.  We trapped for this in phase 2 but it appears that some ip's return "(Unknown City?)" which wasn't being caught.  We are trapping for this response now as well.

<a href="http://www.myfavoriteplaces.org">
http://www.myfavoriteplaces.org</a>]]>
      
   </content>
</entry>
<entry>
   <title>Review of MCubed - Iteration2 : Jeff</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/03/review_of_mcubed_iteration2_jeff.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1408</id>
   
   <published>2007-03-29T20:55:37Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>MCubed This site allows visitors to locate job listings from Indeed and shows where they are located on a map. This is a very useful tool for job seekers, especially for people that are relocating. Strengths 1. Easy to use...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=iteration2review">Iteration2Review</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=iteration2review">Iteration2Review</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=mcubed">mcubed</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=mcubed">mcubed</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[<a href="http://people.emich.edu/mpinter/is449/project/iteration2/project.html">MCubed</a>

This site allows visitors to locate job listings from Indeed and shows where they are located on a map.  This is a very useful tool for job seekers, especially for people that are relocating.

Strengths
1. Easy to use
2. Very relevant tool for today's economy (especially here in Michigan where even the state government is talking about shutting down)


Suggestions
1. Clear the map and sidebar automatically when a new search is performed instead of separate button
2. Allow user to see # of job openings in several cities that match job type. 
3. Link job type that user to information on that job...typical duties, required skills, average salary, job outlook, etc
4. Link location information to comparison of cost of livings, quality of life, etc between locations.  A person taking a job in California earning $75,000 doesn't get to enjoy as much as a person making $75,000 in Ohio due to cost of living differences.

]]>
      
   </content>
</entry>
<entry>
   <title>Review of Whereismycaffeine.com - Iteration2 : Jeff</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/03/review_of_whereismycaffeinecom_iteration2_jeff.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1405</id>
   
   <published>2007-03-29T20:14:34Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>Whereismycaffeine? This is a site that selectively targets caffeine retailers in the Ann Arbor area. The site is planned to show user ratings of various retailers. Strengths 1. Visually appealing site 2. Shows address and hours of operation 3. Data...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=iteration2review">Iteration2Review</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=iteration2review">Iteration2Review</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=whereismycaffeinecom">whereismycaffeine.com</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=whereismycaffeinecom">whereismycaffeine.com</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[<a href="http://people.emich.edu/dphipps1/www2/index2.html">Whereismycaffeine?</a>

This is a site that selectively targets caffeine retailers in the Ann Arbor area.  The site is planned to show user ratings of various retailers.

Strengths
1. Visually appealing site
2. Shows address and hours of operation
3. Data is verified by human

Suggestions
1. The separate page of pictures is not very useful by itself.  Try to integrate on main page or consider removing pictures.
2. During the presentation, it was noted that Flickr can take weeks to make tags/pictures available.  You might consider allowing visitors to upload pictures directly to your site and associate to caffeine retailers
3. The list of shops is a bit small, could be made bigger
4. Sort the list of shops...alphabetically maybe]]>
      
   </content>
</entry>
<entry>
   <title>Review of Team Extreme! - Iteration2 : Jeff</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/03/review_of_team_extreme_iteration2_jeff_1.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1401</id>
   
   <published>2007-03-29T20:03:46Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>Team Extreme! This is a one-stop place for finding a lot of information about basketball teams. The site displays a map with markers for basketball teams. Clicking on the team in the boxes below or from the drop down list...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=iteration2review">Iteration2Review</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=iteration2review">Iteration2Review</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=teamextreme">teamextreme</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=teamextreme">teamextreme</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[<a href="http://people.emich.edu/mchiang4/is449/project/NBAmap.html">Team Extreme!</a>

This is a one-stop place for finding a lot of information about basketball teams. The site displays a map with markers for basketball teams.  Clicking on the team in the boxes below or from the drop down list displays a balloon with statistics, news and game schedule for that team.

Strengths
1. Nice design and layout
2. Presents a lot of information that basketball fans are likely to be looking for
3. Site makes it easy to locate information with minimal effort
4. Good use of tabs and scrolling sections to keep information contained

Suggestions
1. Interactions with map seems to be very slow.  Is there any way to speed up the movement (caching, reposition map before showing balloon?)
2. Any way to allow visitors to buy tickets to games?

]]>
      
   </content>
</entry>
<entry>
   <title>Review of AJACS - Iteration2 : Jeff</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/jeff/2007/03/review_of_ajacs_iteration2_jeff.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/jeff//20.1394</id>
   
   <published>2007-03-29T19:29:04Z</published>
   <updated>2007-04-20T05:33:59Z</updated>
   
   <summary>AJACS This site allows visitors to see different places in India. Selecting a city from the dropdown list will display a marker on the map showing where the city is and creates a balloon showing local points of interest. Clicking...</summary>
   <author>
      <name>Jeff</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=ajacs">ajacs</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=ajacs">ajacs</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=iteration2review">Iteration2Review</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=20&amp;tags=iteration2review">Iteration2Review</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://learningremix.net/w2007integ/jeff/">
      <![CDATA[<a href="http://people.emich.edu/jvaradar/integratedvi.html">AJACS
</a>
This site allows visitors to see different places in India.  Selecting a city from the dropdown list will display a marker on the map showing where the city is and creates a balloon showing local points of interest.  Clicking on an attraction brings up a collage of pictures that the visitor can view.

Strengths
1. Selecting a city brings up current news related to the city.
2. Weather tab shows local weather
3. Picture collage allows zooming to any picture
4. Able to zoom in on map in satellite mode

Suggestions
1. Once city has been displayed once, user should be able to click on the pin and have balloon reappear.
2. Is there any narratives that can be included to give a history of each attraction?

I really like this site and I'm looking forward to the 3rd iteration.  
]]>
      
   </content>
</entry>

</feed>
