Once more into the breach
The Secure Shell (SSH) has now replaced traditional remote login tools such as rsh, rlogin, rexec and telnet. It is used to provide secure, authenticated, encrypted communications between remote systems. However, the SSH protocol provides for much more than this.
In this talk, we will discuss using SSH to its full extent. Topics to be covered include:
Abusing template metaprogramming in C++
Templates are a useful feature in C++ when it comes to writing type-independent data structures and algorithms. But that's not all they can be used for. Essentially, it is possible to write certain programs in C++ that execute completely at compile-time rather than run-time. Combined with some optimisations this is an interesting twist on regular C++ programming.
This talk will give a short overview of the features of templates and then go on to describe how to "abuse" templates to perform complex computations at compile time. The speaker will present three programs of increasing complexity which execute at compile time. First a factorial listing program, then a prime listing program will be presented. Finally the talk will conclude with the presentation of a Mandelbrot generator running at compile time.
Some basic knowledge of C++ will be assumed.
A talk by Assistant Professor Michael McCool
Stream processing is an enhanced version of SIMD processing that permits efficient execution of conditionals and iteration. Stream processors have many similarities to GPUs, and a hardware prototype, the Imagine processor, has been used to implement both OpenGL and Renderman.
It is possible that GPUs will acquire certain properties of stream processors in the future, which should make them easier to use and more efficient for general-purpose computation that includes data-dependent iteration and conditionals.
Held in co-operation with the UW Cognitive Science Club
A lot of claims have been made lately about the intelligence of computers. Some researchers say that computers will eventually attain super-human intelligence. Others call these claims... um, poppycock. Oddly enough, in the search for the truth of the matter, both camps have overlooked an obvious strategy: interviewing a computer and asking her opinion.
"Judy is as much fun as a barrel of wind-up cymbal-monkeys, and lots more entertaining." --- Bill Rodriguez, Providence Phoenix
"Tom Sgouros's witty play, co-starring the charming robot Judy, is an imagination stretcher that delights while it exercises your mind. If you think you can't imagine a conscious robot, you're wrong---you can, especially once you've met Judy." --- Daniel C. Dennett, author of Consciousness Explained, Brainchildren, &c.
"...an engrossing evening... Real questions about consciousness, freedom to act, the relationship between the creator and the created are woven into a bravura performance." --- Will Stackman, Aislesay.com
Sponsored by the Mathematics Society, the Federation of Students, the Arts Student Union, the Graduate Student Association, and the Department of Philosophy. Tickets available at the Humanities box office (888-4908) and the offices of the Psychology Society and the Computer Science Club for $5.50. For more information: http://www.csclub.uwaterloo.ca/cogsci.
Transforming your documents
XSLT is the
eXtended Stylesheet Language Transformations,
a language for transforming XML documents into other XML documents.
XSLT is used to manipulate XML documents into other forms: a sort of glue between data formats. It can turn an XML document into an XHTML document, or even an HTML document. With a little bit of hackery, it can even be convinced to spit out non-XML conforming documents.
Give your documents more markup
XML is the
eXtensible Markup Language,
a standard maintained by the World Wide Web Consortium. A descendant of IBM's SGML. It is a metalanguage which can be used to define markup languages for semantically describing a document.
This talk will describe how to generate correct XML documents, and auxiliary technologies that work with XML.
The teeth of Free Software
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software---to make sure the software is free for all its users.--- Excerpt from the GNU GPL
The GNU General Public License is one of the most influential software licenses in this day. Written by Richard Stallman for the GNU Project, it is used by software developers around the world to protect their work.
Unfortunately, software developers do not read licenses thoroughly, nor well. In this talk, we will read the entire GNU GPL and explain the implications of its passages. Along the way, we will debunk some myths and clarify common misunderstandings.
After this session, you ought to understand what the GNU GPL means, how to use it, and when you cannot use it. This session should also give you some insight into the social implications of this work.
Free for all
Before the GNU project ever existed, before the phrase "Free Software" was ever coined, students and researchers at the University of California, Berkeley were already practising it. They had acquired the source code to a little-known operating system developed at AT&T Bell Laboratories, and were creating improvements at a ferocious rate.
These improvements were sent back to Bell Labs, and shared to other Universities. Each of them were licensed under what is now known as the "Original BSD license". Find out what this license means, its implications, and what are its descendents by attending this short talk.
LaTeX => fun
It is widely acknowledged that the best system by which to typeset beautiful mathematics is through the TE
typesetting system, written by Donald Knuth in the early 1980s.
In this talk, I will demonstrate LA
X and how to typeset elegant mathematical expressions.
Learn more Unix and be the envy of your friends!
Abstract to come soon.
Writing reports that look good.
Work term reports, papers, and other technical documents can be typeset in LA
X to great effect. In this session, I will provide examples on how to typeset tables, figures, and references. You will also learn how to make tables of contents, bibliographies, and how to create footnotes.
I will also examine various packages of LA
X that can help you meet requirements set by users of inferior typesetting systems. These include double-spacing, hyphenation and specific margin sizes.
Learn more Unix and be the envy of your friends!
Abstract to come soon.
Typesetting beautiful text
Unix was one of the first electronic typesetting platforms. The innovative AT&T troff system allowed researches at Bell Labs to generate high quality camera-ready proofs for their papers. Later, Donald Knuth invented a typesetting system called TE
X, which was far superior to other typesetting systems in the 1980s. However, it was still a typesetting language, where one had to specify exactly how text was to be set.
X is a macro package for the TE
X system that allows an author to describe his document's function, thereby typesetting the text in an attractive and correct way. In addition, one can define semantic tags to a document, in order to describe the meaning of the document; rather than the layout.
Learn Unix and be the envy of your friends!
This is the first in a series of seminars that cover the use of the UNIX Operating System. UNIX is used in a variety of applications, both in academia and industry. We will provide you with hands-on experience with the Math Faculty's UNIX environment in this seminar.
Topics that will be discussed include:
If you do not have a Math computer account, don't panic; one will be lent to you for the duration of this class.
Unix text editing
sed is the Unix stream editor. A powerful way to automatically edit a large batch of text. awk is a programming language that allows you to manipulate structured data into formatted reports.
Both of these tools come from early Unix, and both are still useful today. Although modern programming languages such as Perl, Python, and Ruby have largely replaced the humble sed and awk, they still have their place in every Unix user's toolkit.
Find your perfect match
Stephen Kleene developed regular expressions to describe what he called
the algebra of regular sets.
Since he was a pioneering theorist in computer science, Kleene's regular expressions soon made it into searching algorithms and from there to everyday tools.
Regular expressions can be powerful tools to manipulate text. You will be introduced to them in this talk. As well, we will go further than the rigid mathematical definition of regular expressions, and delve into POSIX regular expressions which are typically available in most Unix tools.
Come out and vote for the new exec!
This term's elections will take place on Monday, January 13 at 6:00 PM in the MC "comfy lounge" (MC3001). Nominations are open from now on (Thursday, January 2) until 4:30 PM of the day before elections (Sunday, January 12). In order to nominate someone you can either e-mail me directly, by depositing a form with the required information in the CSC mailbox in the Mathsoc office or by writing the nomination and clearly marking it as such on the large whiteboard in the CSC office. E-mail is probably the best choice. Please include the name of the person to be nominated as well as the position you wish to nominate them for.
Candidates must be full members of the club. This means they must have paid their membership for the given term and (due to recent changes in the constitution) must be full-time undergraduate math students. The same requirements hold for those voting. Please bring your Watcard to the elections so that I can verify this. I will have a list of members with me also.
The positions open are:
President -- appoints all committees of the club, calls and presides at all meetings of the club and audits the club's financial records. Really, this is the person in charge.
Vice President -- assumes President's duties in case he/she is absent, plans and coordinates events with the programmes committee and assumes any other duties delegated by the President. This is a really fun job if you enjoy coordinating events!
Secretary -- keeps minutes of the meetings and cares for any correspondence. A fairly light job, good choice if you just want to see what being an exec is all about.
Treasurer -- maintains all the finances of the club. If you like money and keeping records, this is the job for you!
Additionally a Systems Administrator will be picked by the new executive.
Last term was a great term for the CSC -- many events, some office renovations and a much improved image were all part of it. I hope to see the next term's exec continue this. If you're interested in seeing this happen, do consider going for a position, or helping out as office staff or on one of the committees.
Anyways, hopefully I'll see many of you at the elections. Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.
If you have any further questions don't hesitate to contact the CRO, Stefanus Du Toit by e-mail.