More sexy time

foo
Webmaster 16 years ago
parent de6905a00d
commit 3e17f2c2f5
  1. 5
      Makefile
  2. 14
      cscweb.xsl
  3. 6
      events.xml
  4. 63
      media/index.xml
  5. 130
      xml2ics.pl

@ -2,7 +2,7 @@ INPUTS = index.xml footer.xml
SUBDIRS = about events docs office news users clubs media
# the following two rules are there so cow gets built first.
cow-first: recurse-cow books.xml members.xml menu.xml all
cow-first: events.ics recurse-cow books.xml members.xml menu.xml all
recurse-cow:
cd cow && $(MAKE) && cd ..
@ -19,6 +19,9 @@ books.xml:
ceoquery booklist | awk -F \| '{ isbn = $$1; title = $$2; author = $$3; edition = $$4; published = $$5; gsub(/&/, "\\&amp;", title); gsub(/&/, "\\&amp;", author); gsub(/&/, "\\&amp;", published); gsub(/&/, "\\&amp;", edition); gsub(/"/, "\\&quot;", title); gsub(/"/, "\\&quot;", author); gsub(/"/, "\\&quot;", published); gsub(/"/, "\\&quot;", edition); print "<book isbn=\"" isbn "\" title=\"" title "\" author=\"" author "\" edition=\"" edition "\" published=\"" published "\"/>"; }' >> $@
echo '</booklist>' >> $@
events.ics:
perl xml2ics.pl events.xml > events.ics
include default.mk
default.mk: default.mk.in

@ -103,6 +103,20 @@
</li>
</ul>
</p>
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script>
<script language="javascript" src="http://reddit.com/button.js?t=3"></script>
<script type="text/javascript">
google_ad_client = "pub-5235744946475097";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
//2007-03-21: mcc
google_ad_channel = "1106187834";
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<xsl:call-template name="footer"/>
</body>
</html>

@ -27,7 +27,7 @@ Richard Stallman has cancelled his trip to Canada.
</eventitem>
<eventitem date="2007-03-20" time="4:30 PM"
<eventitem date="2007-03-28" time="4:30 PM"
room="TBA" title="Computational Physics Simulations">
<short>A talk by David Tenty and Alex Parent</short>
<abstract>
@ -39,7 +39,7 @@ Richard Stallman has cancelled his trip to Canada.
<eventitem date="2007-03-21" time="4:30 PM"
<eventitem date="2007-03-29" time="4:30 PM"
room="TBA" title="All The Code">
<short>A demo/intrdocution to a new source code search engine. A talk by Holden Karau</short>
<abstract>
@ -56,7 +56,7 @@ The talk will primarily be a demo of All The Code, along with a brief discussion
</eventitem>
<eventitem date="2007-03-20" time="4:30 PM"
<eventitem date="2007-03-27" time="4:30 PM"
room="TBA" title="TBA">
<short>A talk by Michael Biggs</short>
<abstract>

@ -10,6 +10,31 @@
Most of these should be available upon request at the Computer Science Club office to be burnt to CD or DVD should you so choose.
</p>
<ul>
<mediaitem title="Introduction to 3-d Graphics">
<abstract>
<p>A talk for those interested in 3-dimensional graphics but unsure of
where to start. Covers the basic math and theory behind projecting
3-dimensional polygons on screen, as well as simple cropping
techniques to improve efficiency. Translation and rotation of polygons
will also be discussed.</p>
</abstract>
<mediafile file="the-prof-graphics.avi" type="DivX" size="272M" />
<mediafile file="the-prof-graphics-xvid.avi" type="XviD" size="272M" />
<mediafile file="the-prof-graphics.mpg" type="MPG" size="272M" />
<mediafile file="the-prof-graphics.ogg" type="OGG/Theora" size="274M"/>
<mediafile file="the-prof-graphics.wmv" type="Windows Media Video" size="277M" />
</mediaitem> <mediaitem title="UW Software Start-ups: What Worked and What Did Not">
<abstract>
<p>A discussion of software start-ups founded by UW students and what they did that helped them grow
and what failed to help. In order to share the most insights and guard the confidences of the
individuals involved, none of the companies will be identifed.</p>
</abstract>
<mediafile file="larry-smith-talk2.avi" type="DivX" size="332M" />
<mediafile file="larry-smith-talk2-xvid.avi" type="XviD" size="332M" />
<mediafile file="larry-smith-talk2.mpg" type="MPG" size="332M" />
<mediafile file="larry-smith-talk2.ogg" type="OGG/Theora" size="341M"/>
<mediafile file="larry-smith-talk2.wmv" type="Windows Media Video" size="338M" />
</mediaitem>
<mediaitem title="Riding The Multi-core Revolution">
<abstract>
<p>For decades, mainstream parallel processing has been thought of as inevitable. Up until recent
@ -69,9 +94,41 @@
</mediaitem>
<mediaitem title="1989 Bill Gates Talk on Microsoft">
<abstract>
<p>Bill Gates discusses the past, present and future of Microsoft. The
talk was recorded in 1989 but was only recently digitized. The following
picture was taken after the talk (click for higher-res).<br/><br/>
<p>Bill Gates discusses the software and computer industry, and how
Microsoft has
contributed. Gates also discusses his views on the future of the
computing
industry. The talk was recorded in 1989 but was only recently
digitized.
<br/>
Topics include:<ul>
<li>The start and history of the microcomputer industry</li>
<li>Microsoft BASIC and the Altair 880 computer</li>
<li>The transition from 8-bit to 16-bit computers</li>
<li>Microsoft's history with IBM</li>
<li>640k memory barrier and 16-bit architectures</li>
<li>32-bit 386 and 486 architectures</li>
<li>RISC and multi-processor machines</li>
<li>EGA graphics and WYSIWYG editors</li>
<li>Decreasing cost of memory, harddisks and hardware in general</li>
<li>The importance and future of the mouse</li>
<li>Object-oriented programming</li>
<li>MS-DOS and OS/2</li>
<li>Multi-threaded and multi-application systems</li>
<li>Synchronization in multi-threaded applications</li>
<li>Diskette-based software</li>
<li>UNIX standardization and POSIX</li>
<li>History of the Macintosh and Microsoft' involvement</li>
<li>Involvement of Xerox in graphical user interfaces</li>
<li>Apple vs. Microsoft lawsuit regarding user interfaces</li>
<li>OS/2 future as a replacement for MS-DOS</li>
<li>Microsoft Office on Macintosh</li>
<li>Thin/dumb clients</li>
<li>Compact discs</li>
<li>Multimedia applications</li>
<li>Gates' current role at Microsoft</li>
</ul>
The following picture was taken after the talk (click for higher-res).<br/><br/>
<a href="http://csclub1.cs.uwaterloo.ca/media/files/bill-gates-1989-big.jpg" target="_blank"><img src="http://csclub1.cs.uwaterloo.ca/media/files/bill-gates-1989.jpg" /></a></p>
</abstract>
<mediafile file="bill-gates-1989.mp3" type="mp3" size="85M" />

@ -0,0 +1,130 @@
#!/usr/bin/perl
use XML::DOM;
use strict;
# get the first element under a node of the given tag
# @param node: node under which to look for elements
# @param tag: the tage to look for
# @return: first element under node with the given tag
sub subvalue($$)
{
my ($class, $tag) = @_;
return value($class->getElementsByTagName($tag)->item(0));
}
# get the node value of the first child of a given node
# @param node: whose child to use
# @return: node value of given node's first child
sub value($)
{
my ($class) = @_;
if (undef == $class) { return undef; }
my $child = $class->getFirstChild();
if (undef == $child) {
return undef;
}
return $child->getNodeValue();
}
print <<END_OF_FILE;
BEGIN:VCALENDAR
VERSION:2.0
X-WR-CALNAME:University of Waterloo Computer Science Club
PRODID:-//Apple Computer\, Inc//iCal 2.0//EN
X-WR-RELCALID:3359A191-B19E-4B53-BADC-DFC084FC51C9
X-WR-TIMEZONE:Canada/Eastern
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:Canada/Eastern
LAST-MODIFIED:20060912T200739Z
BEGIN:DAYLIGHT
DTSTART:20060301T070000
TZOFFSETTO:-0400
TZOFFSETFROM:+0000
TZNAME:EDT
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20061029T020000
TZOFFSETTO:-0500
TZOFFSETFROM:-0400
TZNAME:EST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20070311T010000
TZOFFSETTO:-0400
TZOFFSETFROM:-0500
TZNAME:EDT
END:DAYLIGHT
END:VTIMEZONE
END_OF_FILE
my $parser = XML::DOM::Parser->new();
my $doc = $parser->parsefile($ARGV[0]);
my @events = $doc->getElementsByTagName("eventitem");
foreach my $event (@events) {
my $date = $event->getAttribute("date");
my $time = $event->getAttribute("time");
my $talk_title = $event->getAttribute("title");
$talk_title =~ s/[:;,]//g;
my $room = $event->getAttribute("room");
my $short = subvalue($event, "short");
$short =~ s/[:;,]//g;
my $abstract = $event->getElementsByTagName("abstract")->item(0)->toString();
my $ical_date = `date -d"$date" +%Y%m%d`;
chomp $ical_date;
my ($ical_start, $ical_end);
if ($time =~ /(.*)-(.*)/) {
$ical_start = ical_time($1);
$ical_end = ical_time($2);
} else {
$ical_start = ical_time($time);
$ical_end = ical_time("$time + 1 hour");
}
$abstract =~ s/<abstract>//;
$abstract =~ s/<\/abstract>//;
$abstract =~ s/\n/ /sg;
my $ical_abstract = "\"$abstract\"";
sub ical_time {
my ($ds) = @_;
my $d = `date -d"$ds" +\%H\%M\%S`;
chomp $d;
return $d;
}
print <<END_OF_EVENT;
BEGIN:VEVENT
LOCATION:University of Waterloo - $room
DTSTAMP:20060912T200708Z
UID:${ical_date}T${ical_start}\@csclub.uwaterloo.ca
SEQUENCE:11
DTSTART;TZID=Canada/Eastern:${ical_date}T${ical_start}
DTEND;TZID=Canada/Eastern:${ical_date}T${ical_end}
SUMMARY:<a href=http://www.csclub.uwaterloo.ca>$talk_title</a> -- $short
DESCRIPTION:$ical_abstract
END:VEVENT
END_OF_EVENT
}
print "END:VCALENDAR\n";
Loading…
Cancel
Save