No description available.

The first of this term's CSC social events, we will be going to see the movie ``Brainstorm'' at the Princess Cinema. This outing is intended primarily for the new first-year students.

The Princess Cinema is Waterloo's repertoire theatre. This month and next, they are featuring a ``Cyber Film Festival''. Upcoming films include:

  • Brazil
  • Bladerunner (director's cut)
  • 2001: A Space Odyssey
  • Naked Lunch

Admission is $4.25 for a Princess member, $7.50 for a non-member. Membership to the Princess is $7.00 per year.

No description available No abstract available No description available No abstract available No description available No abstract available No description available No abstract available No description available No abstract available No description available

What is the next step in the evolution of computer languages? Intelligent agents? Distributed objects? or visual languages?

Visual languages overcome many of the drawbacks and limitations of the textual languages that software development is based on today. Do you think about programming in a linear fashion? Or do you draw a mental picture of your algorithm and then linearize it for the benefit of your compiler? Wouldn't it be nice if you could code the same way you think?

Visual C++ and Visual BASIC aren't visual languages, but Prograph is. Prograph is a commercially available, visual, object-oriented, data-flow language. It is well suited to graphical user interface development, but is as powerful for general-purpose programming as any textual language.

The talk will comprise a discussion of the problems of textual languages that visual languages solve, a live demonstration of Prograph, and some of my observations of the applications of Prograph to software development.

No description available

Big Money and Prizes!

So you think you're a pretty good programmer? Pit your skills against others on campus in this triannual event! Contestants will have three hours to solve five programming problems in either C or Pascal.

Last fall's winners went on to the International Finals and came first overall! You could be there, too!

No description available

Need something to do between assignments/beers?

Did you know that your undergrad account at Waterloo gives you access tothe world's largest computer network? With thousands of discussion groups, gigabytes of files to download, multimedia information browsers, even on-line entertainment?

The resources available on the Internet are vast and wondrous, but the tools for navigating it are sometimes confusing and arcane. In this hands-on tutorial you will get the chance to get your feet wet with the world's most mind-bogglingly big computer network, the protocols and programs used, and how to use them responsibly and effectively.

No description available

From the Minimax Theorem, through Alpha-Beta, and beyond...

This will be a descussion of the pitfalls of using mathematics and algorithms to play classical board games. Thorough descriptions shall be presented of the simple techniques used as the building blocks that make all modern computer game players. I will use tic-tac-toe as a control for my arguements. Other games such as Chess, Othello and Go shall be the be a greater measure of progress; and more importantly the targets of our dreams.

To enhance the discussion of the future, Barney Pell's Metagamer shall be introduced. His work in define classes of games is important in identifying the features necessary for analysis.

By Blair MacIntyre and Elizabeth Mynatt

by Blair MacIntyre and Elizabeth Mynatt

The Future Computing Environments (FCE) Group at Georgia Tech is a collection of faculty and students that share a desire to understand the partnership between humans and technology that arises as computation and sensing become ubiquitous. With expertise covering the breadth of Computer Science, but focusing on HCI, Computational Perception, and Machine Learning, the individual research agendas of the FCE faculty are grounded in a number of shared "living laboratories" where their research is applied to everyday life in the classroom (Classroom 2000), the home (the Aware Home), the office (Augmented Offices), and on one's person. Professors MacIntyre and Mynatt will discuss a variety of these projects, with an emphasis on the HCI and Computer Science aspects of the FCE work.

In addition to their affiliation with the FCE group, Professors Mynatt and MacIntyre are both members of the Graphics, Visualization and Usability Center (GVU) at Georgia Tech. This interdisciplinary center brings together research in computer science, psychology, industrial engineering, architecture and media design by examining the role of computation in our everyday lives. During the talk, they will touch on some of the research and educational opportunities available at both GVU and the College of Computing.

No description available.

Debugging can be the most difficult and time consuming part of any program's life-cycle. Far from an exact science, it's more of an art ... and close to some kind of dark magic. Cryptic error messages, lousy error checking, and icky things like implicit casts can make it nearly impossible toknow what's going on inside your program.

Several tools are available to help automate your debuggin. GDB and Purify are among the most powerful debugging tools available in a UNIX environment. GDB is an interactive debugger, allowing you to `step' through aprogram, examine function calls, variable contents, stack traces and let you look at the state of a program after it crashes. Purify is a commercial program designed to help find and remove memory leaks from programs written inlanguages without automatic garbage collection.

This talk will cover how to compile your C and C++ programs for use with GDB and Purify, as well as how to use the available X interfaces. If a purify license is available on undergrad at the time of the talk, we will cover how to use it during runtime.

By Jan Gray

by Jan Gray

With the advent of large inexpensive field-programmable gate arrays and tools it is now practical for anyone to design and build custom processors and systems-on-a-chip. Jan will discuss designing with FPGAs, and present the design and implementation of xr16, yet another FPGA-based RISC computer system with integrated peripherals.

Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote compilers, tools, and middleware at Microsoft from 1987-1998. He built the first 32-bit FPGA CPU and system-on-a-chip in 1995.

End-of-term dinner No abstract available. By Edgar Dijkstra

By Edgar Dijkstra

This talk will use partial orders, lattice theory, and, if time permits, the Galois connection as carriers to illustrate the use of calculi in mathematics. We hope to show the brevity of many calculations (in order tofight the superstition that formal proofs are necessarily unpractically long), and the strong heuristic guidance that is available for their design.

Dijkstra is known for early graph-theoretical algorithms, the first implementation of ALGOL 60, the first operating system composed of explicitly synchronized processes, the invention of guarded commands and of predicate transformers as a means for defining semantics, and programming methodology in the broadest sense of the word.

His current research interests focus on the formal derivation of proofs and programs, and the streamlining of the mathematical argument in general.

Dijkstra held the Schlumberger Centennial Chair in Computer Sciences at The University of Texas at Austin until retiring in October.

By Edsger Dijkstra

This talk will show the use of programs for the proving of theorems. Its purpose is to show how our experience gained in the derivations of programs might be transferred to the derivation of proofs in general. The examples will go beyond the (traditional) existence theorems.

Dijkstra is known for early graph-theoretical algorithms, the first implementation of ALGOL 60, the first operating system composed of explicitly synchronized processes, the invention of guarded commands and of predicate transformers as a means for defining semantics, and programming methodology in the broadest sense of the word.

His current research interests focus on the formal derivation of proofs and programs, and the streamlining of the mathematical argument in general.

Dijkstra held the Schlumberger Centennial Chair in Computer Sciences at The University of Texas at Austin until retiring in October.

By Edsger Dijkstra No description available. No description available.

by Floyd Marinescu

The first talk will be an introduction to the Enterprise Java API's: Servlets, JSP, EJB, and how to use them to build eCommerce sites.

The second talk will be about how these technologies were used to implement a real world portal. The talk will include an overview of the design patterns used and will feature architectural information about the yet to be release portal (which I am one of the developers) called theserverside.com.

No description available.

Real World J2EE - Design Patterns and architecture behind the yet to be released J2EE portal: theserverside.com

This talk will feature an exclusive look at the architecture behind the new J2EE portal: theserverside.com. Join Floyd Marinescu in a walk-through ofthe back-end of the portal, while learning about J2EE and its real world patterns, applications, problems and benefits.

End-of-term dinner No abstract available. Fall 2000 Elections for the CSC.

Would you like to get involved in the CSC? Would you like to have a say in what the CSC does this term? Come out to the CSC Elections! In addition to electing the executive for the Fall term, we will be appointing office staff and other positions. Look for details in uw.csc.

Nominations for all positions are being taken in the CSC office, MC 3036.

SIGGraph Video Night Featuring some truly awesome computer animations from Siggraph '99.

Interested in Computer Graphics?

Enjoy watching state-of-the-art Animation?

Looking for a cheap place to take a date?

SIGGraph Video Night - Featuring some truly awesome computer animations from Siggraph '99.

Come out for the Computer Science Club general elections at 6:00 pm, right before SIGGraph!

By Frank Clegg of Microsoft Canada

Vitals

By
Frank Clegg
President, Microsoft Canada
Date
Monday, September 25, 2000
Time
14:30 - 16:00
Place
DC 1302
(Davis Centre, Room 1302, University of Waterloo)
Cost
$0.00
Pre-registration
Recommended
http://infranet.uwaterloo.ca:81/infranet/semform.htm
(519) 888-4004

Abstract

The Internet and the Web have revolutionized our communications, our access to information and our business methods. However, there is still much room for improvement. Frank Clegg will discuss Microsoft's vision for what is beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a new platform, user experience and set of advanced software services planned to make all devices work together and connect seamlessly. With this next generation of software, Microsoft's goal is to make Internet-based computing and communications easier to use, more personalized, and more productive for businesses and consumers. In his new position of president of Microsoft Canada Co., Frank Clegg will be responsible for leading the organization toward the delivery of Microsoft .NET. He will speak about this new platform and the next generation Internet, how software developers and businesses will be able to take advantage of it, and what the .NET experience will look like for consumers and business users.

The Speaker

Frank Clegg was appointed president of Microsoft Canada Co. this month. Prior to his new position, Mr. Clegg was vice-president, Central Region, Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996. During that time, Mr. Clegg was instrumental in introducing several key initiatives to improve company efficiency, growth and market share. Mr. Clegg graduated from the University of Waterloo in 1977 with a B. Math.

For More Information

Shirley Fenton
The infraNET Project
University of Waterloo
519-888-4567 ext. 5611
http://infranet.uwaterloo.ca/
Winter 2001 CSC Elections.

Would you like to get involved in the CSC? Would you like to have a say in what the CSC does this term? Come out to the CSC Elections! In addition to electing the executive for the Winter term, we will be appointing office staff and other positions. Look for details in uw.csc.

Nominations for all positions are being taken in the CSC office, MC 3036.

Second CSC meeting for Winter 2001.

Proposed agenda

Book purchases

They haven't been done in 2 terms. We have an old list of books to buy. Any suggestions from uw.csc are welcome.

CD Burner

For doing linux burns. It was allocated money on the budget request - about $300. We should be able to get a decent 12x burner with that (8x rewrite).

The obvious things to sell are Linux Distros and BSD variants. Are there any other software that we can legally burn and sell to students?

Unix talks

Just a talk of the topics to be covered, when, where, whatnot. Mike was right on this one, this should have been done earlier in the term. Oh well, maybe we can fix this for next fall term.

Game Contest

We already put a bit of work into planning the Othello contest before I read Mike's post. I still think it's viable. I've got at least 2 people interested in writing entries for it. This will be talked about more on monday. Hopefully, Rory and I will be able to present a basic outline of how the contest is going to be run at that time.

Peri's closet cleaning

Current sysadmin (jmbeverl) and I (kvijayan) and President (geduggan) had a nice conversation about this 2 days ago, having to do with completely erasing all of peri, installing a clean stable potato debian on it, and priming it for being a gradual replacement to calum. We'll probably discuss how much we want to get done on this front on Monday.

Any comments from the newsgroup are welcome.

Practice for the ACM international programming contest

Our ACM-Style practice contests involve answering five questions in three hours. Solutions are written in Pascal, C or C++. Seven years in a row, Waterloo's teams have been in the top ten at the world finals. For more information, see the contest web page.

Easy Question:

A palindrome is a sequence of letters that reads the same backwards and forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and only letters are important). Your task is to find the longest palindrome in a line of text (if there is a tie, print the leftmost one).

Input:                              Output:

asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
abcbabCdcbaqwerewq                  abCdcba

Hard Question:

An anagram is a word formed by reordering the letters of another word. Find all sets of anagrams that exist within a large dictionary. The input will be a sorted list of words (up to 4000 words), one per line. Output each set of anagrams on a separate line. Each set should be in alphabetical order, and all lines of sets should be in alphabetical order. A word with no anagrams is a set of anagrams itself, and should be displayed with no modifications.

Input:      Output:

post        post pots stop
pots        start
start
stop
No description available. No abstract available. No description available. No abstract available. No description available. No abstract available. Practice for the ACM international programming contest

Our ACM-Style practice contests involve answering five questions in three hours. Solutions are written in Pascal, C or C++. Seven years in a row, Waterloo's teams have been in the top ten at the world finals. For more information, see the contest web page.

Easy Question:

A palindrome is a sequence of letters that reads the same backwards and forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and only letters are important). Your task is to find the longest palindrome in a line of text (if there is a tie, print the leftmost one).

Input:                              Output:

asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
abcbabCdcbaqwerewq                  abCdcba

Hard Question:

An anagram is a word formed by reordering the letters of another word. Find all sets of anagrams that exist within a large dictionary. The input will be a sorted list of words (up to 4000 words), one per line. Output each set of anagrams on a separate line. Each set should be in alphabetical order, and all lines of sets should be in alphabetical order. A word with no anagrams is a set of anagrams itself, and should be displayed with no modifications.

Input:      Output:

post        post pots stop
pots        start
start
stop
Bored of GNU/Linux? Try this experimental operating system!

GNU Hurd is an operating system kernel based on the microkernel architecture design. It was the original GNU kernel, predating Linux, and is still being actively developed by many volunteers.

The Toronto-area Hurd Users Group, in co-operation with the Computer Science Club, is hosting an afternoon to show the Hurd to anyone interested. Jeff Bailey, a Hurd developer, will give a presentation on the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off, James Morrison, also a Hurd developer, will be hosting a Debian GNU/Hurd installation session.

All interested are invited to attend. Bring your GnuPG/PGP fingerprint and mail your key to sjdutoit@uwaterloo.ca with the subject ``keysigning'' (see separate announcement).

Questions? Suggestions? Contact James Morrison.

Get more signatures on your key!

GnuPG and PGP provide public-key based encryption for e-mail and other electronic communication. In addition to preventing others from reading your private e-mail, this allows you to verify that an e-mail or file was indeed written by its perceived author.

In order to make sure a GnuPG/PGP key belongs to the respective person, the key must be signed by someone who has checked the user's key fingerprint and verified the user's identification.

A keysigning party is an ideal occasion to have your key signed by many people, thus strengthening the authority of your key. Everyone showing up exchanges key signatures after verifying ID and fingerprints. The Computer Science Club will be hosting such a keysigning party together with the Hurd presentation by THUG (see separate announcement). See the keysigning party homepage for more information.

Before attending it is important that you mail your key to sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on a sheet of paper to the event.

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 industy. We will be covering the basics of the UNIX environment, as well as the use of PINE, an electronic mail and news reader. Billy Biggs will be holding a talk on DVD technology (in particular, CSS and playback issues) under Linux, giving some technical details as well as an overview of the current status of Free Software efforts. All are welcome.

DVD copy protection: Content Scrambling System (CSS)

  • A technical introduction to CSS and an overview of the ongoing legal battle to allow distribution of non-commercial DVD players
  • The current Linux software efforts and open issues
  • How applications and Linux distributions are handling the legal issues involved

DVD-Video specifics: Menus and navigation

  • An overview of the DVD-Video standard
  • Reverse engineering efforts and their implementation status
  • Progress of integration into Linux media players
This the second in a series of UNIX tutorials. Simon Law and James Perry will be presenting some more advanced UNIX techniques. All are welcome. Accounts will be provided for those needing them.

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.

Thomas Wolf from Brock University will be holding a talk on the asian game of Go. All are welcome.

The asian game go is unique in a number of ways. It is the oldest board game known. It is a strategy game with very simple rules. Computer programs are very weak despite huge efforts and prizes of US$ > 1.5M for a program beating professional players. The talk will quickly explain the rules of go, compare go and chess, mention various attempts to program go and describe our own efforts in this field. Students will have an opportunity to solve computer generated go problems. Prizes will be available.

Come and vote for this term's exec

Vote for the exec this term. Meet at the CSC office.

Come and vote for this term's exec

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).

Vote on a constitutional change.

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

First Steps with UNIX

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 industy. 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.

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

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
Talking to your UNIX can be fun and profitable.

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.

A talk by Filip Spacek, KGI developer 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. No abstract available yet. Abusing template metaprogramming in C++; aka. writing a Mandelbrot generator that runs at compile time

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.

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

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 knowledgable 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 talk by Simon Law No abstract available yet. A talk by Michael McCool of the Computer Graphics Lab.

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.

Going to visit the York University Computer Club No abstract available yet. A talk by Simon Law No abstract available yet. A talk by Dan Brovkovich, Mathsoc's Computing Director No abstract available yet. Carlos O'Donnell talks about "the last of the legacy processors to fall before the barbarian horde"

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 spurce top with a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc, GNU Debugger, GNU Binutils and various Debian packages.

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

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.

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

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.

A talk by Simon Law

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
A talk by James A. Morrison

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.