Events Archive: Fall 2002

Perl 6

| 6:00 PM EST | MC2066

A talk by Simon Law

View details

Perl, the Practical Extraction and Reporting Language can only be described as an eclectic language, invented and refined by a deranged system administrator, who was trained as a linguist. This man, however, has declared:

  • Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community. *

--- Larry Wall

Whenever a language is designed by a committee, it is common wisdom to avoid it. Not so with Perl, for it cannot get worse. However strange these Perl people seem, Perl 6 is a good thing coming. In this talk, I will demonstrate some Perl 5 programs, and talk about their Perl 6 counterparts, to show you that Perl 6 will be cleaner, friendlier, and prettier.

Samba and You

| 4:30 PM EST | MC2066

A talk by Dan Brovkovich, Mathsoc's Computing Director

View details

Samba is a free implementation of the Server Message Block (SMB) protocol. It also implements the Common Internet File System (CIFS) protocol, used by Microsoft Windows 95/98/ME/2000/XP to share files and printers.

SMB was originally developed in the early to mid-80's by IBM and was further improved by Microsoft, Intel, SCO, Network Appliances, Digital and many others over a period of 15 years. It has now morphed into CIFS, a form strongly influenced by Microsoft.

Samba is considered to be one of the key projects for the acceptance of GNU/Linux and other Free operating systems (e.g. FreeBSD) in the corporate world: a traditional Windows NT/2000 stronghold.

We will talk about interfacing Samba servers and desktops with the Windows world. From a simple GNU/Linux desktop in your home to the corporate server that provides collaborative file/printer sharing, logons and home directories to hundreds of users a day.

Metaprogramming GPUs

| 4:30 PM EST | MC4058

A talk by Michael McCool of the Computer Graphics Lab.

View details

Modern graphics accelerators, or "GPUs", have embedded high-performance programmable components in the form of vertex and fragment shading units. Recently, these units have evolved from 8-bit computations to floating-point, and other operations provide array gather, scatter, and summation. These capabilities make GPUs akin to array processors of the past, but with a difference: every PC now has one! I am interested in finding the best way to exploit this computational capacity for not only graphics but for general-purpose computation.

Current APIs permit specification of the programs for GPUs using an assembly-language level interface. Compilers for high-level shading languages are available, such as NVIDIA's Cg, and OpenGL 2.0 and DirectX will also include standardized shading languages. This talk will review these. However, compilers for these languages read in an external string specification, which can be inconvenient.

However, it is possible, using standard C++, to define a high-level shading language directly in the API. Such a language can be nearly indistinguishable from a special-purpose programming language, yet permits more direct interaction with the specification of textures (arrays) and parameters, simplifies implementation, and enables on-the-fly generation, manipulation, and specialization of shader programs. A shading language built into the API also permits the lifting of C++ host language type, modularity, and scoping constructs into the shading language without any additional implementation effort. Such an embedded language could be used to program other embedded processors (such as DSP chips in sound cards) or even to generate machine language on the fly for the host CPU.

Trip to York University

| 1:30 PM EST | York University

Going to visit the York University Computer Club

View details

YUCC and the UW CSC have having a join meeting at York University. Dave Makalsky, the President of YUCC, will be giving a talk on Design-by-contract and Eiffel. Stefanus Du Toit, Vice-President of the UW CSC, will be giving a talk on the evil depths of the black art known as C++.

Schedule

  • 1:30pm: Leave UW
  • 3:00pm: Arrive at York University.
  • 3:30pm: The Evil side of C++
  • 4:30pm: Design-by-Contract and Eiffel
  • 6:00pm: Dinner
  • 9:00pm: Arrive back at UW

Automatic Memory Management and Garbage Collection

| 4:30 PM EST | MC4058

A talk by James A. Morrison

View details

Do you ever wonder what java is doing while you wait? Have you ever used Modula-3? Do you wonder how lazily you can Mark and Sweep? Would you like to know how to Stop-and-Copy?

Come out to this talk and learn these things and more. No prior knowledge of Garbage Collection or memory management is needed.

The GNU General Public License

| 5:30 PM EST | MC4063

The teeth of Free Software

View details
  • 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.

The Evil Side of C++

| 4:30 PM EST | MC 2065

Abusing template metaprogramming in C++; aka. writing a Mandelbrot generator that runs at compile time

View details

Templates are a useful feature in C++ when it comes to writing type-independent data structures and algorithms. Relatively soon after their appearance it was realised that they could be used to do much more than this. Essentially it is possible to write certain programs in C++ that execute completely at compile time rather than run time. Combined with constant-expression optimisation 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.

If you are interested in programming for the fun of it, the C++ language or silly tricks to do with languages, this talk is for you. No C++ knowledge should be necessary to enjoy this talk, but programming experience will make it more worthwile for you.

GNU/Linux InstallFest with KW-LUG and UW-DIG

| 11:00 AM EST | MC3002 (Math Coffee and Donut Store)

Bring over your computer and we'll help you install GNU/Linux

View details

The CSC, the KW-Linux User Group, and the UW Debian Interest Group are jointly hosting a GNU/Linux InstallFest. GNU/Linux is a powerful, free operating system for your computer. It is mostly written by talented volunteers who like to share their efforts and help each other.

Perhaps you have are you interested in installing GNU/Linux. If so, bring your computer, monitor and keyboard; and we will help you install GNU/Linux on your machine. You can also find knowledgeable people who can answer your questions about GNU/Linux.


Frequently Asked Questions

Q: What is GNU/Linux?

A: GNU/Linux is a free operating system for your computer. It is mostly written by talented volunteers who like to share their efforts.

Q: Free?

A: GNU/Linux is available for zero-cost. As well, it allows you such freedom to share it with your friends, or to modify the software to your own needs and share that with your friends. It's very friendly.

Q: What is an InstallFest?

A: An InstallFest is a meeting where volunteers help people install GNU/Linux on their computers. It's also a place to meet users, and talk to them about running GNU/Linux.

Q: What kind of computer do I need to use GNU/Linux?

A: Almost any recent computer will do. If you have an old machine kicking around, you can install GNU/Linux on it as well. If it is at least 5 years old, it should be good enough.

Q: Can I have Windows and GNU/Linux on the same computer?

A: If you can run Windows now, and you have an extra gigabyte (GB) of disk space to spare; then it should be possible.

Q: What should I bring if I want to install GNU/Linux?

A: You will want to bring:

  1. Computer
  2. Monitor and monitor cable
  3. Power cords
  4. Keyboard and mouse

A GNU Approach to Virtual Memory Management in a Multiserver Operating System

| 4:30 PM EDT | MC2066

Neal Walfield, a GNU Hurd developer, talks about a possible Virtual Memory Management subsystem for the GNU Hurd

View details

Virtual memory management is one of the cornerstones of multiuser operating systems. Most systems available today place all of the policy in a monolithic virtual memory manager, VMM, isolated from the rest of the system. Although secure and lightweight, users have no way to communicate their anticipated memory needs and usage to the system pager. As a result, the VMM can only implement a global paging policy (typically, an approximation of LRU) which may be good on average but is best for nobody.

With the port of Hurd to the L4 microkernel, this situation is being readdressed. Due to its more distributed nature, a centralized resource manager is not only more difficult to implement efficiently but also contrary to the philosophy of the rest of the system. We are currently exploring a model whereby each program is fully self-paged and all compete for memory from a physical memory server. This talk will first discuss how paging currently works in Mach and other systems. An argument for an external paging policy will then be presented followed by the requirements of such a design and the design itself.


Neal Walfield, a GNU Hurd developer, is from the University of Massachusetts Lowell. Neal spent the summer of 2002 at University of Karlsruhe working on porting the GNU Hurd to L4.

The Hurd Interfaces

| 3:00 PM EDT | MC2066

Marcus Brinkmann, a GNU Hurd developer, talks about the Hurd server interfaces, at the heart of a GNU/Hurd system

View details

The Hurd server interfaces are at the heart of the Hurd system. They define the remote procedure calls (RPCs) that are used by the servers, the GNU C library and the utility programs to communicate with the Hurd system and to implement the POSIX personality of the Hurd as well as other features.

This talk is a walk through the Hurd RPCs, and will give an overview of how they are used to implement the system. Individual RPCs will be used to illustrate important or exciting features of the Hurd system in general, and it will be shown how those features are accessible to the user at the command line, too.


Marcus Brinkmann is a math student at the Ruhr-Universitaet Bochum in Germany. He is one of maintainers of the GNU Hurd project and the initiator of the Debian GNU/Hurd binary distribution. He designed and implemented the console subsystem of the Hurd, wrote the FAT filesystem server, and fixed a lot of bugs, thus increasing the stability and usability of the system.

GNU/Linux on HPPA

| 1:30 PM EDT | MC2066

Carlos O'Donnell talks about "the last of the legacy processors to fall before the barbarian horde"

View details

This whirlwind talk is aimed at providing an overview of the GNU/Linux port for the HP PARISC processor. The talk will focus on the "intricacies" of the processor, and in particular the implementations of the Linux kernel and GNU Libc. After the talk you should be acutely aware of how little code needs to be written to support a new architecture! Carlos has been working on the port for two years, and enjoying the fruits of his labour on a 46-node PARISC cluster.


Carlos is currently in his 5th year of study at the University of Western Ontario. This is his last year in a concurrent Computer Engineering and Computer Science degree. His research interest range from distributed and parallel systems to low level optimized hardware design. He likes playing guitar and just bought a Cort NTL-20, jumbo body, solid spruce top with a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc, GNU Debugger, GNU Binutils and various Debian packages.

Debian in the Enterprise

| 5:30 PM EDT | MC2065

A talk by Simon Law

View details

The Debian Project produces a "Universal Operating System" that is comprised entirely of Free Software. This talk focuses on using Debian GNU/Linux in an enterprise environment. This includes:

  • Where Debian can be deployed
  • Strategic advantages of Debian
  • Ways for business to give back to Debian

UNIX 103

| 5:30 PM EDT | MC3006

View details

No abstract available yet.

Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)

| 4:30 PM EDT | MC4045

A talk by Filip Spacek, KGI developer

View details

Linux has proven itself as a reliable operating system but arguably, it still lacks in support of high performance graphics acceleration. This talk will describe basic components of a PC video card and the design and limitations the current Linux display driver architecture. Finally a an overview of a new architecture, the Kernel Graphics Interface (KGI), will be given. KGI attempts to solve the shortcomings of the current design, and provide a lightweight and portable interface to the display subsystem.

UNIX 102

| 5:30 PM EDT | MC3006

Talking to your UNIX can be fun and profitable.

View details

This is the second 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 tutorial.

Topics that will be discussed include:

  • Interacting with Bourne and C shells
  • Editing text using the vi text editor
  • Editing text using the Emacs display editor
  • Multi-tasking and the screen multiplexer

If you do not have a Math computer account, don't panic; one will be lent to you for the duration of this class.

Pints with the Profs

| 6:30 PM EDT | The Bomber

Get to know your profs and be the envy of your friends!

View details

Come out and meet your professors. This is a great opportunity to meet professors for Undergraduate Research jobs or to find out who you might have for future courses.

Profs who have confirmed their attendance are:

  • Troy Vasiga, School of Computer Science
  • J.P. Pretti, St. Jerome's and School of Computer Science
  • Michael McCool, School of Computer Science, CGL
  • Martin Karsten, School of Computer Science, BBCR
  • Gisli Hjaltason, School of Computer Science, DB

There will also be...

  • Free Food
  • Free Food
  • Free Food

Business Meeting

| 6:30 PM EDT | Comfy lounge, MC3001

Vote on a constitutional change.

View details

The executive has unanimously decided to try to change our constitution to comply with MathSoc policy. The clause we are trying to change is the membership clause. The following is the proposed new reading of the clause.

  • In compliance with MathSoc regulations and in recognition of the club being primarily targeted at undergraduate students, full membership is open to all undergraduate students in the Faculty of Mathematics and restricted to the same.*

The proposed change is illustrated on a web page.

There will be a business meeting on 30 Sept 2002 at 18:30 in the comfy lounge, MC 3001. Please come and vote

UNIX 101

| 5:30 PM EDT | MC3006

First Steps with UNIX

View details

Get to know 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:

  • Navigating the UNIX environment
  • Using common UNIX commands
  • Using the PICO text editor
  • Reading electronic mail and news with PINE

If you do not have a Math computer account, don't panic; one will be lent to you for the duration of this class.

F02 elections

| 5:30 PM EDT | Comfy lounge

Come and vote for this term's exec

View details

Vote for the exec this term. Meet at the comfy lounge. There will be an opportunity to obtain or renew memberships. This term's CRO is Siyan Li (s8li@csclub.uwaterloo.ca).