Topics for Extra Credit Research Paper
Dec 07,2007 06:08
- Accessibility, Guidelines, Regulations, Usability Analysis, WCAG2, WCAG Samurai, ADA-504, Issues, Analysis of the ND HomePage
- Web Standards: Design and Development, Jakob Nielsen
- Google Analytics, Web Analytics
- Content Management Systems, Blogs, and Wiki's: Software, Feature Comparisons, When to use, for what applications
- Open Social, Social Networks, MySpace, FaceBook, embedded applications/Gadgets
- Micro-blogging, Twitter, Jaiku, Pownce, Dodgeball
- Web Site Internationalization, Character Codes, Translation, Cultural Issues, Political Issues
- WEB 2.0, Technology, Business Models
- JSON, YAML, RFC 4627, adoptions (e.g., Google, Yahoo, etc)
- Mashups: Google Earth/Maps, Flickr, Frappr!
- Web Apps: Google Apps, Google Gears, Windows Live, comparisons with each other, comparison to desktop office suits
- Design and development for mobile systems
- Web Adverstising: Technologies, Business models (impressions, page views, click throughs, etc), Competitors, Google AdSense, YPN, AdWords,
- Flash and its competitors, SilverLight, Adobe Flex
- Cloud computing: Amazon S3, A3, Microsoft SkyDrive, Elastic Compute Cloud
- Completely Automated Public Turing Test(s) or How to Tell Computers and Humans Apart (CAPTCHA)
Control-D Issues in Ruby HW Problem - Observation by Patrick Finnigan ...
Nov 22,2007 12:33
Patrick sends the
following observation:
I think that I understand the issue brought up in class that CONTROL+D does not quit out of a while loop to get lines of text of input.
This code CAUSES THE PROBLEM where CONTROL+D will not exit:
-------------------
while (num = gets.to_i)
inputs.push(num)
end
-------------------
This code works and is problem free:
-------------------
while (num = gets)
inputs.push(num.to_i)
end
-------------------
What's the difference? The difference is, the "to_i" method CANNOT BE CALLED on the return of gets in the evaluation of the while loop here.
1. When we press CONTROL+D on Windows to insert an end of file character, gets returns nil
2. nil.to_i returns 0
3. Ruby evaluates 0 as "true" in the context of boolean expressions
Thus, any loop "while (x = gets.to_i)" will continue to loop forever. The to_i function must be called somewhere else within the while loop to convert the string returned by gets to an integer.
I tested and verified all of this in the IRB shell.
(screenshot below)

I think that I understand the issue brought up in class that CONTROL+D does not quit out of a while loop to get lines of text of input.
This code CAUSES THE PROBLEM where CONTROL+D will not exit:
-------------------
while (num = gets.to_i)
inputs.push(num)
end
-------------------
This code works and is problem free:
-------------------
while (num = gets)
inputs.push(num.to_i)
end
-------------------
What's the difference? The difference is, the "to_i" method CANNOT BE CALLED on the return of gets in the evaluation of the while loop here.
1. When we press CONTROL+D on Windows to insert an end of file character, gets returns nil
2. nil.to_i returns 0
3. Ruby evaluates 0 as "true" in the context of boolean expressions
Thus, any loop "while (x = gets.to_i)" will continue to loop forever. The to_i function must be called somewhere else within the while loop to convert the string returned by gets to an integer.
I tested and verified all of this in the IRB shell.
(screenshot below)

Final Exam Period
Nov 18,2007 15:29
The following is the time and location
for our final meeting. Recall, we will not have a final exam, but
will use this period for final project presentations.
CSE 40613 01 12/15/2007 8:00 AM 10:00 AM
356A Fitzpatrick Hall of Engr
CSE 40613 01 12/15/2007 8:00 AM 10:00 AM
356A Fitzpatrick Hall of Engr
Sample PHP connection string from Ben Roesch
Nov 15,2007 22:29
Ben offered this example up for PHP
access to the Oracle database from orchestra.
$conn = OCILogon("guest","secret","testdb.world") or die("Couldn't connect");
$query = "select user from dual";
$stmt = ociparse($conn, $query);
OCIDefineByName($stmt, "USER", $u);
ociexecute($stmt, OCI_DEFAULT);
ocifetch($stmt);
echo "The user is: $u";
ocilogoff($conn);
Tomcat Servlets, JDBC, and Oracle
Nov 14,2007 06:04
The standard Tomcat installation
includes documentation on the configuration and use of Tomcat, JDBC
and the Oracle database. See your Tomcat installation home
page.
Since we suggested installation of Tomcat 5.0, that will be the level of documentation installed.
Additional somewhat updated documentation can be found for Tomcat 5.5 online at:
Sample connection strings for Oracle can be found at:
Since we suggested installation of Tomcat 5.0, that will be the level of documentation installed.
Additional somewhat updated documentation can be found for Tomcat 5.5 online at:
Sample connection strings for Oracle can be found at:
Ruby Installation Hint
Nov 14,2007 06:03
How to install ruby on your
etech machine:
sudo apt-get install ruby
sudo apt-get install ruby
JSP hint from Shannon Morrison ...
Nov 07,2007 10:23
To get our .jsp files to work, we had
to copy standard.jar and jstl.jar from the jsp-examples folder into
the WEB-INF/lib folder where the .jsp code was located.
The .jar are at /var/lib/tomcat5/webapps/jsp-examples/WEB-INF/lib
If the .jsp page is located in /myDir, then the .jar should be put in /myDir/WEB-INF/lib
--
Shannon Morrison
The .jar are at /var/lib/tomcat5/webapps/jsp-examples/WEB-INF/lib
If the .jsp page is located in /myDir, then the .jar should be put in /myDir/WEB-INF/lib
--
Shannon Morrison
Configuration script for your .cshrc file
Nov 07,2007 10:19
if (`hostname` == "concert")
then
setenv ORACLE_HOME /orasoft/9i
setenv ORACLE_SID testdb
set path = ($ORACLE_HOME/bin $path)
setenv CLASSPATH ./:/orasoft/9i/jdbc/lib/classes12.jar:/orasoft/9i/lib/xmlparserv2.jar
endif
setenv ORACLE_HOME /orasoft/9i
setenv ORACLE_SID testdb
set path = ($ORACLE_HOME/bin $path)
setenv CLASSPATH ./:/orasoft/9i/jdbc/lib/classes12.jar:/orasoft/9i/lib/xmlparserv2.jar
endif
Error in textbook
Oct 17,2007 06:16
Patrick Finnigan reported the
following error in a comment in the book:
=====
I wanted to report an error in the textbook on page 383 that I ran into with the
past HW. A line near the bottom of the page says:
"$number = int(rand 4); # Computes a random integer 0-4"
This is false, because the rand function in Perl is exclusive. "int(rand 4)"
computes a number between 0 and 3. rand function perldoc:
http://perldoc.perl.org/functions/rand.htm
=====
This is a good example of the usefulness of the online perl documentation at:
http://perldoc.perl.org/
Check it out!
g/m
=====
I wanted to report an error in the textbook on page 383 that I ran into with the
past HW. A line near the bottom of the page says:
"$number = int(rand 4); # Computes a random integer 0-4"
This is false, because the rand function in Perl is exclusive. "int(rand 4)"
computes a number between 0 and 3. rand function perldoc:
http://perldoc.perl.org/functions/rand.htm
=====
This is a good example of the usefulness of the online perl documentation at:
http://perldoc.perl.org/
Check it out!
g/m
Finding our way around "concert"
Oct 07,2007 12:59
Concert is our apache/perl/cgi-bin
server. See the relevant portions of the filesystem that we will be
using.


URI vs URL vs URN
Sep 26,2007 16:37
The term URI is used heavily in the
material on XML in our textbook. So far in the course we limited
our discussion to URLs. Wikipedia has good discussion of these terms with the
relationship of all three depicted in the figure below.

Quoted from that Wikipedia article, "A Uniform Resource Locator (URL) is a URI that, in addition to identifying a resource, provides means of acting upon or obtaining a representation of the resource by describing its primary access mechanism or network "location". For example, the URL http://www.wikipedia.org/ is a URI that identifies a resource (Wikipedia's home page) and implies that a representation of that resource (such as the home page's current HTML code, as encoded characters) is obtainable via HTTP from a network host named www.wikipedia.org. A Uniform Resource Name (URN) is a URI that identifies a resource by name in a particular namespace. A URN can be used to talk about a resource without implying its location or how to dereference it. For example, the URN urn:isbn:0-395-36341-1 is a URI that, like an International Standard Book Number (ISBN), allows one to talk about a book, but doesn't suggest where and how to obtain an actual copy of it."

Quoted from that Wikipedia article, "A Uniform Resource Locator (URL) is a URI that, in addition to identifying a resource, provides means of acting upon or obtaining a representation of the resource by describing its primary access mechanism or network "location". For example, the URL http://www.wikipedia.org/ is a URI that identifies a resource (Wikipedia's home page) and implies that a representation of that resource (such as the home page's current HTML code, as encoded characters) is obtainable via HTTP from a network host named www.wikipedia.org. A Uniform Resource Name (URN) is a URI that identifies a resource by name in a particular namespace. A URN can be used to talk about a resource without implying its location or how to dereference it. For example, the URN urn:isbn:0-395-36341-1 is a URI that, like an International Standard Book Number (ISBN), allows one to talk about a book, but doesn't suggest where and how to obtain an actual copy of it."
Hand Coded XHTML vs. XHTML Editors vs. WYSIWYG XHTML Tools
Sep 06,2007 18:01
Hand coded XHTML is typically authored
with text editors such as vi, emacs, pico, notepad.exe, etc. You
type everything for maximum flexibility. I'm asking you to do it
this way early in the course, since you will have to write programs
that dynamically generate XHTML later in the course. If you become
dependent on more automated tools too soon, you may have difficulty
later when writing JSP, PHP, or Perl/CGI programs later in the
course.
XHTML editors provide help typing the "boilerplate" code with the use of menus, templates, etc. Some of the WYSIWYG tools also provide this mode for authoring XHTML.
WYSIWYG Tools hide the XHTML coding and details from you and let you concentrate on "the design". Good looking XHTML documents can be generated quickly, but you lose flexibility. Some examples are Dreamweaver, Frontpage, GoLive, RapidWeaver, Mozilla Composer, SeaMonkey Composer, and many more. -- g/madey
XHTML editors provide help typing the "boilerplate" code with the use of menus, templates, etc. Some of the WYSIWYG tools also provide this mode for authoring XHTML.
WYSIWYG Tools hide the XHTML coding and details from you and let you concentrate on "the design". Good looking XHTML documents can be generated quickly, but you lose flexibility. Some examples are Dreamweaver, Frontpage, GoLive, RapidWeaver, Mozilla Composer, SeaMonkey Composer, and many more. -- g/madey
