As seen in
Save 20% or More on Tuition
Making smarter decisions about the courses you take, and performing better in those courses will save you thousands of dollars.
Study Smarter, Score Higher
Join
Course Hero
Access
best resources
Ace
your classes
Ace your courses with Course Hero!

Submit your homework question or assignment here:
 
*  Attach Assignment (optional):
 
Study Smarter, Score Higher
 
Document Excerpt (unformatted)
Course Hero has millions of student submitted documents similar to the one below including study guides, homework solutions, papers, exam answer keys and textbook solutions.
Socket Python Module Python Select Module Threads CS 460 Lecture 4 Application Layer Python Network Programming Daniel Zappala Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads 1 Python Socket Module Introduction Creating a Server Creating a Client Catching Exceptions Python Select Module Introduction A Server with Select A Client For Select Threads Introduction Threaded Server 2 3 Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Introduction provides direct access to the standard BSD socket interface why use Python? similar to what you will do with C sockets, but simpler to learn socket addressing easier, bu er allocation done for you several higher-level abstractions available Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Overview 1 2 3 4 5 6 create a socket bind the socket to an address and port listen for incoming connections wait for clients accept a client send and receive data Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Address Families AF UNIX communication between two processes on the same machine represented as a string AF INET communication over the Internet, with IP version 4 represented as a tuple of (host, port), host is a string host name, port is an integer port number host can be a Internet host name (www.cnn.com) or an Ip address (64.236.24.20) AF INET6 communication over the Internet, with IP version 6 represented using a tuple of (host, port, ow info, scope id) ow info is a ow identi er used for Quality of Service (e.g. low delay or guaranteed bandwidth) scope id is a scope identi er, which can limit packet delivery to various administrative boundaries Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Create a Socket 1 socket ( family , type [ , protocol ] ) returns a socket identi er family is AF UNIX, AF INET, or AF INET6 type is usually SOCK STREAM for TCP, or SOCK DGRAM for UDP protocol is ignored in most cases 1 2 from s o c k e t i m p o r t s = s o c k e t ( AF INET , SOCK STREAM) Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Bind the Socket 1 bind ( address ) address is a tuple de ned by the address family 1 2 3 host = p o r t = 50000 s . bind ( ( host , port ) ) AF INET is a (host,port) tuple setting host to the empty string tells the OS to use any address associated with the host port number must not be currently used, or else an exception is raised Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Listen 1 l i s t e n ( backlog ) tells the server to listen for incoming connections backlog is an integer specifying the maximum number of connections the server will hold in a queue use a minimum of one, OS maximum is usually 5 use threads to service the queue of connections quickly if service time for a connection is large 1 2 backlog = 5 s . l i s t e n ( backlog ) Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Accept a Client 1 accept () returns a tuple (socket,address) socket is a new socket identi er for the client address is the client address, a tuple de ned by the address family (host, port for AF INET) 1 c l i e n t , address = s . accept () Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Receive Data 1 recv ( b u f f e r s i z e [ , flags ]) returns a string representing the data received bu ersize is the maximum size of the data to be received see Linux recv man page for ags possible that less data is received than the maximum 1 2 s i z e = 1024 data = c l i e n t . recv ( s i z e ) Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Send Data 1 send ( s t r i n g [ , f l a g s ] ) returns the number of bytes sent string is the data to be sent see Linux send man page for ags possible that some of the data is not sent must check return value and resend if necessary 1 2 d a t a = H e l l o World c l i e n t . send ( data ) Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions A Simple Echo Server 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import socket host = p o r t = 50000 backlog = 5 s i z e = 1024 s = s o c k e t . s o c k e t ( s o c k e t . AF INET , s o c k e t . SOCK STREAM) s . bind ( ( host , port ) ) s . l i s t e n ( backlog ) while 1: c l i e n t , address = s . accept () data = c l i e n t . recv ( s i z e ) i f data : c l i e n t . send ( data ) c l i e n t . close () doesn t check for exceptions doesn t check if entire data is echoed back Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Overview 1 2 3 create a socket connect to the server send and receive data Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Connect to the Server 1 connect ( address ) address is a tuple de ned by the address family 1 2 3 host = l o c a l h o s t p o r t = 50000 s . connect ( ( host , port ) ) use a (host,port) tuple just like bind must use the address and port of the server, not the client using localhost means the server is running on the local machine use an Internet host name or an IP address for a remote machine server must be listening for clients, or else an exception is raised Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions A Simple Echo Client 1 2 3 4 5 6 7 8 9 10 11 import socket host = l o c a l h o s t p o r t = 50000 s i z e = 1024 s = s o c k e t . s o c k e t ( s o c k e t . AF INET , s o c k e t . SOCK STREAM) s . connect ( ( host , port ) ) s . send ( Hello , world ) data = s . recv ( s i z e ) s . close () p r i n t Received : , data doesn t check for exceptions doesn t check if entire data is sent or echoed back Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Server Exceptions Demonstration: What happens if the server s port is being used? Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Catching Exceptions 1 2 3 4 5 6 7 8 9 10 s = None try : s = s o c k e t . s o c k e t ( s o c k e t . AF INET , o s c k e t . SOCK STREAM) s . bind ( ( host , port ) ) s . l i s t e n ( backlog ) e x c e p t s o c k e t . e r r o r , ( code , message ) : if s: s . close () p r i n t C o u l d n o t open s o c k e t : + message sys . e x i t (1) socket module de nes exceptions socket.error returns a tuple initialize socket to None and then close it if it exists Demonstration: exceptions handled correctly Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Client Exceptions Demonstration: what happens if the server is not listening? Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Creating a Server Creating a Client Catching Exceptions Catching Exceptions 1 2 3 4 5 6 7 8 9 s = None try : s = s o c k e t . s o c k e t ( s o c k e t . AF INET , s o c k e t . SOCK STREAM) s . connect ( ( host , port ) ) e x c e p t s o c k e t . e r r o r , ( code , message ) : if s: s . close () p r i n t C o u l d n o t open s o c k e t : + message sys . e x i t (1) Demonstration: exceptions handled correctly Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction A Server with Select A Client For Select Introduction allows an application to wait for input from multiple sockets at a time does not use threads process data from one client a time can interleave client requests closely follows C interface for select Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction A Server with Select A Client For Select Using Select 1 s e l e c t ( input , output , exception [ , timeout ] ) returns a tuple of three lists: the subset of input sockets and les that have input, output, or exception events if a timeout has occurred without any input, output, or exception events, then all three lists will be empty input, output, exceptions are lists of socket or le identi ers that are waiting for events timeout is a time given as a oating point number of seconds: the socket call will return after this period of time if no sockets are ready 1 2 input = [ server , sys . stdin ] i r e a d y , oready , eready = s e l e c t . s e l e c t ( input , [ ] , [ ] ) Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction A Server with Select A Client For Select Echo Server with Select 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 input = [ server , sys . stdin ] running = 1 while running : i r e a d y , oready , eready = s e l e c t . s e l e c t ( input , [ ] , [ ] ) for s in inputready : i f s == s e r v e r : # server socket c l i e n t , address = s e r v e r . accept () i n p u t . append ( c l i e n t ) e l i f s == s y s . s t d i n : # standard input junk = sys . s t d i n . r e a d l i n e () running = 0 else : # a l l other sockets data = s . recv ( s i z e ) i f data : s . send ( data ) else : s . close () i n p u t . remove ( s ) Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction A Server with Select A Client For Select A Long-Lived Echo Client 1 2 3 4 5 6 7 8 9 10 11 12 s y s . s t d o u t . w r i t e ( % ) while 1: # r e a d from k e y b o a r d l i n e = sys . stdin . readline () i f l i n e == : break s . send ( l i n e ) data = s . recv ( s i z e ) sys . stdout . w r i t e ( data ) s y s . s t d o u t . w r i t e ( % ) s . close () Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction A Server with Select A Client For Select Demonstrations Demonstration: clients handled one at a time Demonstration: clients handled with select Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Threaded Server Introduction thread module: low-level interface to threads threading module: high-level interface built on thread module locks semaphores event objects thread and timer classes Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Threaded Server Threaded Server: Initialize Client Threads 1 2 3 4 5 6 c l a s s C l i e n t ( t h r e a d i n g . Thread ) : def init ( self ,( client , address ) ) : t h r e a d i n g . Thread . init ( self ) self . client = client s e l f . address = address s e l f . s i z e = 1024 subclasses the Thread class from threading module must call Thread initialization method initalize method variables Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Threaded Server Threaded Server: Run Client Threads 1 2 3 4 5 6 7 8 9 def run ( s e l f ) : running = 1 while running : data = s e l f . c l i e n t . recv ( s e l f . s i z e ) i f data : s e l f . c l i e n t . send ( data ) else : s e l f . c l i e n t . close () running = 0 overrides run method for Thread class loop to read data from socket until client closes no need for select on client sockets! Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Threaded Server Threaded Server: Initialize Server Thread 1 2 3 4 5 6 7 8 class Server : def init ( self ): s e l f . host = s e l f . p o r t = 50000 s e l f . backlog = 5 s e l f . s i z e = 1024 s e l f . s e r v e r = None s e l f . threads = [ ] basic initialization keep a list of client threads Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Threaded Server Threaded Server: Open Socket 1 2 3 4 5 6 7 8 9 10 def open socket ( s e l f ) : try : s e l f . s e r v e r = s o c k e t . s o c k e t ( s o c k e t . AF INET , s o c k e s e l f . s e r v e r . bind ( ( s e l f . host , s e l f . port ) ) s e l f . server . l i s t e n (5) e x c e p t s o c k e t . e r r o r , ( code , message ) : if s: s . close () p r i n t C o u l d n o t open s o c k e t : + message sys . e x i t (1) open socket Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Threaded Server Threaded Server: Run Server Thread 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def run ( s e l f ) : s e l f . open socket () input = [ s e l f . server , sys . stdin ] running = 1 while running : i r e a d y , oready , eready = s e l e c t . s e l e c t ( input , [ ] , [ ] ) for s in iready : i f s == s e l f . s e r v e r : c = Client ( s e l f . s e r v e r . accept ()) c . start () s e l f . t h r e a d s . append ( c ) e l i f s == s y s . s t d i n : junk = sys . s t d i n . r e a d l i n e () running = 0 handle server socket and stdin with select spawn new thread for each client Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Threaded Server Threaded Server: Close Client Threads 1 2 3 4 # close a l l threads s e l f . server . close () for c in s e l f . threads : c . join () when server is exiting, wait for all threads to nish Daniel Zappala CS 460 Lecture 4 Python Socket Module Python Select Module Threads Introduction Threaded Server Threaded Server: Start the Server 1 2 3 if name == s = Server () s . run ( ) main : using main from global namespace allows us to either run the server directly or load it as a module Daniel Zappala CS 460 Lecture 4
Find millions of documents here - Study Guides, Homework Solutions, Papers, Exam Answer Keys and more. Course Hero has millions of course related materials that will enable you to learn better, faster and get an A in all your courses.
Below is a small sample set of documents:

BYU >> C S >> 460 (Fall, 2008)
Hubs, Switches, and Routers Virtual Networks and Trac Engineering CS 460 Lecture 19 Link Layer and LANs Hubs, Switches, and Routers, ATM, MPLS Daniel Zappala Brigham Young University Daniel Zappala Brigham Young University CS 460 Lecture 19 Hubs...
BYU >> C S >> 460 (Fall, 2008)
TCP CS 460 Lecture 109 Transport Layer TCP Daniel Zappala Brigham Young University Daniel Zappala Brigham Young University CS 460 Lecture 109 TCP 1 TCP Basic Reliability RTT Estimation and Fast Retransmit Flow Control Connection Management Da...
BYU >> C S >> 460 (Fall, 2008)
Network Layer Introduction CS 460 Lecture 12 Network Layer Network Layer Introduction, Virtual Circuit and Datagram Networks, Routers Daniel Zappala Brigham Young University Daniel Zappala Brigham Young University CS 460 Lecture 12 Network Layer...
BYU >> C S >> 460 (Fall, 2008)
Transport Layer Introduction UDP Reliable Transport CS 460 Lecture 8 Transport Layer Multiplexing, UDP, Reliable Data Transfer Daniel Zappala Daniel Zappala CS 460 Lecture 8 Transport Layer Introduction UDP Reliable Transport 1 Transport Layer...
BYU >> C S >> 460 (Fall, 2008)
DNS SMTP CS 460 Lecture 6 Application Layer DNS, SMTP Daniel Zappala Daniel Zappala CS 460 Lecture 6 DNS SMTP 1 DNS Overview Name Servers Queries and Caching DNS Protocol SMTP Overview SMTP Protocol Text and MIME Formats 2 Daniel Zappala CS...
BYU >> C S >> 460 (Fall, 2008)
Delay and Loss Protocol Layers History and Growth of the Internet CS 460 Lecture 2 Computer Networks and the Internet Delay and Loss, Protocol Layers, History and Growth of the Internet Daniel Zappala Daniel Zappala CS 460 Lecture 2 Delay and Lo...
BYU >> C S >> 460 (Fall, 2008)
Congestion Avoidance and Control Van Jacobson Lawrence Berkeley Laboratory Michael J. Karels University of California at Berkeley November, 1988 Introduction Computer networks have experienced an explosive growth over the past few years and with t...
BYU >> C S >> 460 (Fall, 2008)
Wireless Networks CS 460 Lecture 20 Wireless and Mobile Networks CDMA, IEEE 802.11 Daniel Zappala Brigham Young University Daniel Zappala Brigham Young University CS 460 Lecture 20 Wireless Networks 1 Wireless Networks Introduction CDMA IEEE 8...
BYU >> C S >> 460 (Fall, 2008)
Mobile Ad Hoc Networks CS 460 Lecture 21 Wireless and Mobile Networks Mobile Ad Hoc Networks Daniel Zappala Brigham Young University Daniel Zappala Brigham Young University CS 460 Lecture 21 Mobile Ad Hoc Networks 1 Mobile Ad Hoc Networks Unic...
BYU >> C S >> 460 (Fall, 2008)
Interactive Multimedia Applications Protocols for Real-Time Interactive Applications CS 460 Lecture 24 Multimedia Networking Interactive Multimedia Applications Daniel Zappala Brigham Young University Daniel Zappala Brigham Young University CS 46...
BYU >> C S >> 460 (Fall, 2008)
Improving Reliable Transfer CS 460 Lecture 9 Transport Layer Go-Back-N, Selective Repeat Daniel Zappala Daniel Zappala CS 460 Lecture 9 Improving Reliable Transfer 1 Improving Reliable Transfer Pipelining Go-Back-N Selective Repeat Daniel Zap...
BYU >> C S >> 460 (Fall, 2008)
Multimedia Networking CS 460 Lecture 23 Multimedia Networking Multimedia Applications, Streaming Stored Audio and Video Daniel Zappala Brigham Young University Daniel Zappala Brigham Young University CS 460 Lecture 23 Multimedia Networking 1 M...
BYU >> C S >> 460 (Fall, 2008)
Link Layer Multiple Access Protocols CS 460 Lecture 17 Link Layer and LANs Error Detection, MAC Protocols Daniel Zappala Brigham Young University Daniel Zappala Brigham Young University CS 460 Lecture 17 Link Layer Multiple Access Protocols 1 ...
BYU >> C S >> 460 (Fall, 2008)
Beyond Best Eort Scheduling Disciplines and Policing Mechanisms QoS Architectures CS 460 Lecture 25 Multimedia Networking Beyond Best Eort, Scheduling and Policing, Integrated and Dierentiated Services Daniel Zappala Brigham Young University Danie...
BYU >> C S >> 460 (Fall, 2008)
HTTP Web Caching CS 460 Lecture 5 Application Layer HTTP, Web Caching, Content Distribution Networks Daniel Zappala Daniel Zappala CS 460 Lecture 5 HTTP Web Caching 1 HTTP Overview HTTP Messages HTTP Connections Cookies Web Caching Motivation ...
BYU >> C S >> 601r (Fall, 2008)
A Factored Functional Dependency Transformation of the English Penn Treebank for Probabilistic Surface Generation Irene Langkilde-Geary , Justin Betteridge Brigham Young University Provo UT irenelg@cs.byu.edu Carnegie-Mellon University Pittsburg PA ...
BYU >> C S >> 601r (Fall, 2008)
g g g i x i g r r e e t g r y(g8 wr r rvusg wh hxjrg gwpi x\'x ut gug e (i i8gg }t jxv8rpeuwt (g tusiguiget pjg fi h6ie hxpvt...
BYU >> C S >> 601r (Fall, 2008)
A Practical, Grammar-less Approach to Bidirectional Syntactic Processing Using Constraint Programming and Bayesian Networks Abstract This paper presents a novel unied approach to parsing and realization of natural language using the framework of con...
BYU >> C S >> 611 (Fall, 2008)
CS 611 Exam 3 Page 1 of 7 CS 611 Third Monthly Exam Instructor: Mike Jones Instructions: This is a standard take home exam: open everything, except open neighbor. You can use any non-human resource youd like to complete the exam. I think its about...
BYU >> C S >> 611 (Fall, 2008)
7.3.1 Section 3: One-to-one, Onto, and Inverse Functions In this section, we will look at three special classes of functions and see how their properties lead us to the theory of counting. So far, we have the general notion of a function f:X Y, b...
BYU >> C S >> 611 (Fall, 2008)
Higher-order Computational Logic J.W. Lloyd Computer Sciences Laboratory Research School of Information Sciences and Engineering Australian National University jwl@csl.anu.edu.au Abstract. This paper presents the case for the use of higher-order log...
BYU >> C S >> 611 (Fall, 2008)
...
BYU >> C S >> 611 (Fall, 2008)
Logic, Computability and Complexity Mike Jones c Mike Jones November 2006 October 30, 2007 2 Contents 1 Logic and Proof 1.1 What is a Theory? . . . . . . . . . . 1.2 Formal Languages . . . . . . . . . . 1.3 Quantiers . . . . . . . . . . . . . . 1.4...
BYU >> C S >> 611 (Fall, 2008)
E \"3 B 83 9 9 8 6 \" 5 \'3 1 0 ( \" \' y lx wn u !DCA@)%!724%2%)!%#!hgsbve)pV)XzBmmv y x gvim#pV) u n g x gu y y u x x g x r un n u bium#vim#ie~#zznr s 6pl@)mv#veV#suut@vmQvQxh#butxp6yixmx vbT)dvim#XhzbvQbub6vmxiDvpl\'%z...
BYU >> C S >> 611 (Fall, 2008)
...
BYU >> C S >> 611 (Fall, 2008)
...
BYU >> C S >> 611 (Fall, 2008)
Starting Point for a 611 Paper Pat Doe September 11, 2007 this is the starting point for a 611 paper. You can include all manner of inlined equations like a bx or you can put your equations on a line by themselves x = y + z. You can even do numbered...
BYU >> C S >> 611 (Fall, 2008)
A new TCP/AQM for Stable Operation in Fast Networks Fernando Paganini Zhikui Wang Steven H. Low John C. Doyle in a satisfactory way, avoiding the deployment difculties of a non-incremental solution. However, the above limitations (and others, such as...
BYU >> C S >> 611 (Fall, 2008)
...
BYU >> C S >> 611 (Fall, 2008)
Syllabus for CS 611: Advanced Computational Theory 9:00-9:50 am, MWF, 4824 HBLL, final exam Wednesday December 14 from 7-10 am. Instructor Listing Michael Jones, Assistant Professor, Department of Computer Science Contact information: jones@cs.byu.e...
BYU >> C S >> 611 (Fall, 2008)
Parameterized Verication of Branching Networks Michael Jones and Ganesh Gopalakrishnan September 23, 2005 Abstract A large class of distributed protocols, such as directory-based shared memory consistency protocols and IO systems, orchestrate interp...
BYU >> C S >> 656 (Winter, 2008)
PAPERS CHI 97 * 22-27 MARCH 1997 Tangible Bits: Towards Seamless Interfaces between People, Bits and Atoms Hiroshi Ishii and Brygg Ullmer MIT Media Laboratory USA Tangible Media Group 20 Ames Street, Cambridge, MA 02139-4307 {ishii, ullmer} @...
BYU >> C S >> 656 (Winter, 2008)
20 Digital Ink Since digital interaction became possible people have wanted to draw on the screen. In this chapter we will look at the technologies of digital ink and the various ways it can be used and processed. For most graphical user interfaces t...
BYU >> C S >> 656 (Winter, 2008)
CHI 99 15-20 MAY 1999 Papers Implementing Interface Attachments Representations Based on Surface Dan R. Olsen Jr., Scott E. Hudson, Thorn Verratti, Jeremy M. Heiner, Matt Phelps Human Computer Interaction Institute Carnegie Mellon University...
BYU >> C S >> 656 (Winter, 2008)
A Dynamic Grouping Technique for Ink and Audio Notes Patrick Chiu FX Palo Alto Laboratory 3400 Hillview Avenue, Bldg. 4 Palo Alto, CA 94304,USA Tel: 1-650-813-7498 E-mail: chiu@pal.xerox.com ABSTRACT Lynn Wilcox FX Palo Alto Laboratory 3400 Hillview...
BYU >> C S >> 656 (Winter, 2008)
Hyperspeech: Navigating in Speech-Only Barry Arons Hypermedia MIT Media Laboratory 20 Ames Street, E15-353 Cambridge MA, 02139 E-mail: barons@ media-lab.mit.cdu ABSTRACT Most hypermedia systems emphasize the integration of graphics, images, video,...
BYU >> C S >> 656 (Winter, 2008)
Universal Speech Interfaces Ronald Rosenfeld, Dan Olsen and Alex Rudnicky In recent years speech recognition has become commercially viable on off-the-shelf computersa goal that has long been sought by both the research community and by prospective...
BYU >> C S >> 656 (Winter, 2008)
Sensing Techniques for Mobile Interaction Ken Hinckley, Jeff Pierce, Mike Sinclair, Eric Horvitz Microsoft Research, One Microsoft Way, Redmond, WA 98052 {kenh, sinclair, horvitz}@microsoft.com; jpierce@cs.cmu.edu ABSTRACT We describe sensing techni...
BYU >> C S >> 656 (Winter, 2008)
21 Selection One of the fundamental behaviors in graphical user interfaces is the selection of objects or actions for interaction. This selection can be organized in many ways including pull-down menus, pop-up menus, palettes, toolbars, icons and sem...
BYU >> C S >> 656 (Winter, 2008)
Evaluating User Interface Systems Research Dan R. Olsen Jr. Brigham Young University Computer Science Department, Provo, Utah, USA olsen@cs.byu.edu, ABSTRACT The development of user interface systems has languished with the stability of desktop comp...
BYU >> C S >> 656 (Winter, 2008)
Specifying Putting People First: Proper Names in Speech Interfaces Matt Marx Chris Schmandt marx@ media.mit .edu geek@media.mit.edu +1 6172539848 +1 6172535156 Sr)eech Research GrouD MIT Media Laborato& 20 Ames St. Cambridge, MA 02139 ABSTRACT Comm...
BYU >> C S >> 656 (Winter, 2008)
Light Widgets: Interacting in Every-day Spaces Jerry Alan Fails, Dan Olsen, Jr. Computer Science Department Brigham Young University Provo, Utah 84602 {failsj, olsen}@cs.byu.edu Abstract This paper describes a system for ubiquitous interaction that d...
BYU >> C S >> 656 (Winter, 2008)
Papers CHI 99 15-20 MAY 1999 Bridging Physical and Virtual Worlds with Electronic Tags Roy Want, Kenneth P. Fishkin, Anuj Gujar, Beverly L. Harrison Xerox PARC 3333 Coyote Hill Road Palo Alto, CA 94304 USA {want, fishkin, agujar, beverly} @par...
BYU >> C S >> 656 (Winter, 2008)
$% +* , * * * * / * . 0 0 ! \"!# \'( ) )* 1 * ) 9 ) ! ! 2. * #$ . * * % . * -&...
BYU >> C S >> 656 (Winter, 2008)
Pen-Based Interaction Techniques For Organizing Material on an Electronic Whiteboard Thomas R Moran, Patrick Chiu,* William van Melle Xerox Palo Alto Research Center, 3333 Coyote Hill Road. Palo Alto, CA 94304 (moran,vanrneIle)@parc.xerox.com, chiu@p...
BYU >> C S >> 656 (Winter, 2008)
A User Interface Using Fingerprint Recognition - Holding Commands and Data Objects on Fingers Atsushi Sugiura Yoshiyuki Koseki C&C Media Research Laboratories, NEC Corporation 4-1-1 Miyazaki, Miyamae-ku, Kawasaki 216-8555, JAPAN E-mail: sugiura@ccm.c...
BYU >> C S >> 656 (Winter, 2008)
Rapid Construction of Functioning Physical Interfaces from Cardboard, Thumbtacks, Tin Foil and Masking Tape Scott E. Hudson and Jennifer Mankoff HCI Institute Carnegie Mellon University 5000 Forbes Ave, Pittsburgh, PA 15213 {hudson, jmankoff}@cs.cmu....
BYU >> C S >> 656 (Winter, 2008)
PAPERS CHI 97 * 22-27 MARCH 1997 DYNOMITE: A DYNAMICALLY ORGANIZED INK AND AUDIO NOTEBOOK Lynn D. Wilcox FX Palo Alto Laboratory Bill N. Schilit FX Palo Alto Laboratory 3400 Hillview Avenue, Bldg. 4 Palo Alto, CA 94304 USA +1 415813-7574 w...
BYU >> C S >> 656 (Winter, 2008)
lNlfRcH193 24-29 April1993 VoiceNotes: A Speech Interface for a Hand-Held Voice Notetaker Lisa J. Stifelman*~, Barry Arons*, Chris Schmandt*, Eric A. HuIteen~ *Speech Research Group MIT Media Lab 20 Ames Street, Cambridge, MA 02139 617-253-8026...
BYU >> C S >> 656 (Winter, 2008)
CHI 2004 Paper 24-29 April Vienna, Austria Semantic Pointing: Improving Target Acquisition with Control-Display Ratio Adaptation Renaud Blanch LRI & INRIA Futurs Universit Paris-Sud e Orsay, France blanch@lri.fr Abstract Yves Guiard Mouveme...
BYU >> C S >> 656 (Winter, 2008)
R Human Factors Computing in Systems CHI940 Celeb~ating Interdependence A Taxonomy of See-Through Eric A. Bier, Maureen C. Stone, Ken Fishkin, William Buxton Tools f, Thomas Baudel$ Xerox PARC, 3333 Coyote Hill Rd., Palo Alto, CA 94304 ~Universi...
BYU >> C S >> 656 (Winter, 2008)
PAPERS CHI 98 l 18-23 APRIL 1998 An Efficient Text Input Method for Pen-based Computers Toshiyuki Masui Sony ComputerScienceLaboratory Inc. 3-14-13Higashi-Gotanda Shinagawa,Tokyo 141-0022,Japan +81-3-5448-4380 masui@csl.sony.co.jp ABSTRACT P...
BYU >> C S >> 656 (Winter, 2008)
Real-Time Audio Buffering for Telephone Applications Paul H. Dietz Mitsubishi Electric Research Laboratories, Cambridge Systems 201 Broadway Cambridge, MA 02139,USA Tel: 1-617-621-7532 E-mail: dietz@merl.com ABSTRACT William S. Yerazunis Mitsubishi ...
BYU >> C S >> 656 (Winter, 2008)
ScreenCrayons: Annotating Anything Dan R. Olsen Jr., Trent Taufer, Jerry Alan Fails Brigham Young University Computer Science Department, Provo, Utah, USA olsen@cs.byu.edu, ABSTRACT ScreenCrayons is a system for collecting annotations on any type of...
BYU >> C S >> 656 (Winter, 2008)
Ft. Lauderdale, Florida, USA April 5-10, 2003 Paper/Demos: Camera-based Input and Video Techniques Displays A Design Tool for Camera-based Interaction Jerry Alan Fails, Dan R. Olsen Computer Science Department Brigham Young University Provo, Utah ...
BYU >> C S >> 656 (Winter, 2008)
The Music Notepad Andrew Forsberg, Mark Dieterich, and Robert Zeleznik Brown University Department of Computer Science Providence, RI 02912 (401) 863-7693; asf,mkd,bcz @cs.brown.edu ABSTRACT We present a system for entering common music notation ba...
BYU >> C S >> 656 (Winter, 2008)
A Mathematics and Algorithms for Interactive Systems There are a variety of mathematical concepts and basic algorithms that are useful in interactive systems. Most of these concepts are taught in various computer science courses and were developed in...
BYU >> C S >> 656 (Winter, 2008)
CHI 2005 PAPERS: Smart Interaction Techniques 1 April 27 Portland, Oregon, USA The Bubble Cursor: Enhancing Target Acquisition by Dynamic Resizing of the Cursors Activation Area Tovi Grossman, Ravin Balakrishnan Department of Computer Science U...
BYU >> C S >> 656 (Winter, 2008)
PAPERS CHI 98. 18-23 APRIL 1998 What Can I Say ?: Evaluating a Spoken Language Interface to Email Marilyn A. Walker, Jeanne Fromer Giuseppe Di Fabbrizio, Craig Mestel, Don Hindle ATT Labs Research 180 Park Ave., D188 Florham Park N. J. USA -+19...
BYU >> C S >> 678 (Fall, 2008)
Saturation,Flatspotting ShiftupDerivative WeightDecay Noderivativeonoutputnodes WeightInitialization Cangetstuckifinitialweightsare0orequal Iftoolargenodesaturationfromf(net) Iftoosmallveryslowduetopropagationbackthrough weights Usuallysm...
BYU >> C S >> 678 (Fall, 2008)
Journal of Arti cial Intelligence Research 4 1996 237-285 Submitted 9 95; published 5 96 Reinforcement Learning: A Survey Computer Science Department, Box 1910, Brown University Providence, RI 02912-1910 USA Leslie Pack Kaelbling Michael L. Littma...
BYU >> C S >> 678 (Fall, 2008)
%# d w CCD397Ag5b7i9t\'@u7%G %Gb97a@gtbG#%7~GPI77hDGtlg7D d x WfG#7Dg p b9753G3% Iu%tG7gG~9tg93%D 7%Y%Gv77D7%)73%gtzUG@I\' ...
BYU >> C S >> 678 (Fall, 2008)
No Free Lunch Theorems for Optimization David H. Wolpert IBM Almaden Research Center N5Na/D3 650 Harry Road San Jose, CA 95120-6099 William G. Macready Santa Fe Institute 1399 Hyde Park Road Santa Fe, NM, 87501 December 31, 1996 A framework is develo...
BYU >> C S >> 678 (Fall, 2008)
Neural Networks 16 (2003) 14291451 www.elsevier.com/locate/neunet The general inefciency of batch training for gradient descent learning D. Randall Wilsona,*, Tony R. Martinezb,1 b a Fonix Corporation, 180 West Election Road Suite 200, Draper, UT, U...
BYU >> C S >> 678 (Fall, 2008)
...
BYU >> C S >> 678 (Fall, 2008)
Articial Neural Network Reduction Through Oracle Learning Joshua E. Menkeand Tony R. Martinez Department of Computer Science Brigham Young University Provo, UT 84604 josh@axon.cs.byu.edu, martinez@cs.byu.edu Abstract Often the best model to solve a ...
BYU >> C S >> 678 (Fall, 2008)
International Journal of Neural Systems, Vol. 11, No. 2 (2001) 145165 c World Scientic Publishing Company DMP3: A DYNAMIC MULTILAYER PERCEPTRON CONSTRUCTION ALGORITHM TIMOTHY L. ANDERSEN and TONY R. MARTINEZ Computer Science Department, Brigham Youn...
BYU >> C S >> 678 (Fall, 2008)
Extending the Power and Capacity of Constraint Satisfaction Networks Xinchuan Zeng and Tony R. Martinez Computer Science Department Brigham Young University July 1999 1 Abstract This work focuses on improving the Hop eld network for solving optimiz...
BYU >> C S >> 678 (Fall, 2008)
A THEORY OF THE LEARNABLE L.G. V a l i a n t Aiken Computation Laboratory Harvard University, Cambridge, Massachusetts ABSTRACT. Humans appear to be able to learn new concepts without needing to be programmed explicitly in any conventional sense. In...
BYU >> C S >> 678 (Fall, 2008)
...
What are you waiting for?