meta/new-web: add con.racket-lang.org
Slides from each year are kept elsewhere (much like the installers for download.racket-lang.org).
This commit is contained in:
parent
1b72aa175a
commit
329627d12d
|
@ -1,3 +1,3 @@
|
|||
#lang plt-web
|
||||
|
||||
(require "www/all.rkt" "download/all.rkt" "minis/all.rkt" "stubs/all.rkt")
|
||||
(require "www/all.rkt" "download/all.rkt" "minis/all.rkt" "stubs/all.rkt" "con/all.rkt")
|
||||
|
|
208
pkgs/plt-services/meta/new-web/con/2011/all.rkt
Normal file
208
pkgs/plt-services/meta/new-web/con/2011/all.rkt
Normal file
|
@ -0,0 +1,208 @@
|
|||
#lang plt-web
|
||||
|
||||
(require racket/runtime-path
|
||||
plt-web/style
|
||||
"../resources.rkt"
|
||||
"../utils.rkt")
|
||||
|
||||
(provide neu nuacm)
|
||||
|
||||
(define-runtime-path neu-png "neu.png")
|
||||
(define-runtime-path nuacm-png "nuacm.png")
|
||||
|
||||
(define neu (copyfile #:site con-site neu-png))
|
||||
(define nuacm (copyfile #:site con-site nuacm-png))
|
||||
|
||||
(define-runtime-path mozilla-png "mozilla.png")
|
||||
|
||||
(provide index)
|
||||
(define index
|
||||
@page[#:site con-site
|
||||
#:file "2011/index.html"
|
||||
#:link-title "RacketCon 2011" #:title "RacketCon 2011"
|
||||
#:extra-headers style-header]{
|
||||
@columns[10 #:center? #t #:row? #t]{
|
||||
@h2{RacketCon: 23 & 24 July 2011}
|
||||
@p*{@b{RacketCon} is a public meeting for everyone interested in Racket:
|
||||
developers, contributors, programmers, educators, and by-standers. It
|
||||
is an opportunity for all members of the community to come together to
|
||||
share plans, ideas, and enthusiasm. RacketCon will enable the entire
|
||||
Racket community to mingle: to update each other, to exchange ideas, to
|
||||
collaborate, and to help shape the future of Racket.
|
||||
@~
|
||||
RacketCon will hosted by the
|
||||
@a[href: "http://www.ccs.neu.edu/"]{
|
||||
College of Computer and Information Science}
|
||||
of @a[href: "http://www.neu.edu/"]{Northeastern University}, in Boston,
|
||||
Massachusetts. See @a[href: "#getting"]{Getting to RacketCon} below.
|
||||
@~
|
||||
@b{The location of RacketCon has changed!}
|
||||
See @a[href: "#getting"]{Getting to RacketCon} for information.}
|
||||
|
||||
@h3{Schedule}
|
||||
|
||||
@h3{Saturday, July 23}
|
||||
@sched[
|
||||
@slot["9:30-10:00" #f]{Breakfast}
|
||||
@slot["10:00-10:45" mflatt #:video (yt "wEgaVMOYLEU")]{Racket at @tt{(expt 2 4)}}
|
||||
@slot["10:45-11:15" #f]{Break}
|
||||
@slot["11:15-11:45" ryanc #:video (yt "AB15shYUU4M")]{Designing macros using @a[class: 'doclink href: "http://docs.racket-lang.org/syntax/stxparse.html"]{@tt{syntax-parse}}}
|
||||
@slot["11:45-12:00" @name["http://dorophone.blogspot.com/"]{Vincent Toups}
|
||||
#:video (yt "sZ-jGHUWIyA")]{Monadic Parallel Turtle Graphics}
|
||||
@slot["12:00-12:15" dyoo #:video (yt "wg9aoJDJNgk")]{Whalesong}
|
||||
@slot["12:15-12:30" "Doug Williams"
|
||||
#:video (yt "ePZAvb9at8Q")]{Content Generation from Templates}
|
||||
@slot["12:30-2:00" #f]{Lunch}
|
||||
@slot["2:00-2:45" matthias
|
||||
#:video (yt "ngUeVD7OUKo")
|
||||
#:slides (F "matthias-slides.pdf")]{
|
||||
What's wrong with How to Design Programs@";"
|
||||
@br What's new in How to Design Programs 2e}
|
||||
@slot["2:45-3:00" "William Dunklau"]{Using Picturing Programs in Grades 7 and 8}
|
||||
@slot["3:00-3:15" #f]{Break}
|
||||
@slot["3:15-3:30" @name["http://cs.berry.edu/~nhamid/"]{Nadeem Abdul Hamid}]{Web UI Teachpack}
|
||||
@slot["3:30-3:45" dvh #:slides (F "dvh-slides.pdf")]{An Object-Oriented World}
|
||||
@slot["3:45-4:00" ""]{Short Talks and Demos}
|
||||
]
|
||||
|
||||
@h3{Sunday, July 24}
|
||||
@sched[
|
||||
@slot["9:30-10:00" #f]{Breakfast}
|
||||
@slot["10:00-10:30" rbf]{The Future of DrRacket}
|
||||
@slot["10:30-10:45" jay]{Tutorial: Building Web Apps in Racket}
|
||||
@slot["10:45-11:00" "Richard Cleis"]{Test Suites for Telescope Control}
|
||||
@slot["11:00-11:15" #f]{Break}
|
||||
@slot["11:15-11:45" "Doug Williams"]{Knowledge-Based Simulation in Racket}
|
||||
@slot["11:45-12:15" pr #:slides (F "pr-slides.pdf")]{Fifteen Hundred Students A Year}
|
||||
@slot["12:15-12:45" ryanc]{Tutorial: Database Access & Low-level Libs}
|
||||
@slot["12:45-2:00" #f]{Lunch}
|
||||
@slot["2:00-2:20" morazanm #:slides (F "marco-slides.pdf")]{The Time of Space Invaders Will Come to Pass}
|
||||
@slot["2:20-2:40" jbc]{Teaching first-year students with RSound}
|
||||
@slot["2:40-3:00" guillaume]{Designing Error Messages for Novices}
|
||||
@slot["3:00-3:15" #f]{Break}
|
||||
@slot["3:15-3:30" moskol]{Rewards and Challenges using Racket in a College Computer Science Course}
|
||||
@slot["3:30-3:45" "Paul Ojanen"]{Student Revelations after Using Racket, Scratch, and Alice}
|
||||
@slot["3:45-4:00" sk]{Demos}
|
||||
]
|
||||
|
||||
@a[name: "getting"]@h3{Getting to RacketCon}
|
||||
|
||||
@p{RacketCon will be held in @b{Shillman Hall, Room 135}, at
|
||||
Northeastern University. Shillman Hall is located
|
||||
at 115 Forsyth Street, Boston Massachusetts, and is building
|
||||
@a[href: "http://www.northeastern.edu/campusmap/map/qad4.html"]{#30} on
|
||||
the @a[href: "http://www.northeastern.edu/campusmap/map"]{campus map}.
|
||||
See also the building on
|
||||
@a[href: '("http://maps.google.com/?ll=42.337381,-71.090276&"
|
||||
"spn=0.006686,0.009645&layer=c&cbll=42.337349,-71.090029&"
|
||||
"cbp=12,23.55,,0,0&z=17&photoid=po-16598983")]{
|
||||
Google Maps}.}
|
||||
|
||||
@h3{Getting there...}
|
||||
|
||||
@dl{
|
||||
@dt{by Car:}
|
||||
@dd{There is very little on-street parking near Northeastern.
|
||||
@[a href: "http://neu.edu/test/parking/guestparking/"]{
|
||||
Visitor parking}
|
||||
is available at the
|
||||
@a[href: "http://neu.edu/test/parking/wheretopark/"]{
|
||||
Renaissance Garage},
|
||||
a few minutes walk from the conference. Driving directions from many
|
||||
points are available
|
||||
@a[href: "http://www.neu.edu/campusmap/directions.html"]{here}.}
|
||||
@dt{by Subway:}
|
||||
@dd{Northeastern is conveniently located near both the Green and Orange
|
||||
subway lines. The @a[href: "http://www.mbta.com/"]{MBTA} has more
|
||||
information. On the Green ‘E’ line, the Northeastern stop is the
|
||||
closest, and appears on the campus map below as the ‘T’ symbol on
|
||||
Huntington Avenue. On the Orange line, the Ruggles stop is closest
|
||||
and appears on the campus map below as the ‘T’ symbol in the
|
||||
middle-left of the illustration.}
|
||||
@dt{by Bicycle, Commuter Rail, Amtrak:}
|
||||
@dd{Northeastern is located near the major Amtrak lines, and is also
|
||||
accessible by commuter rail and bicycle. Please contact @|org| for
|
||||
more information.}}
|
||||
|
||||
@h3{Where to eat}
|
||||
@p{While there are no conference dinner plans, there are numerous
|
||||
restaurants near Northeastern:}
|
||||
@dl{@dt{@a[href: "http://www.symphonysushi.com/"]{Symphony Sushi}}
|
||||
@dd{A sushi restaurant, 5 minutes walk}
|
||||
@dt{@a[href: "http://www.phoandi.com/"]{Pho and I}}
|
||||
@dd{Thai and Vietnamese food, 5 minutes walk.}
|
||||
@dt{@a[href: "http://maps.google.com/maps/place?q=pizzeria+uno+boston&cid=11922407303454006467"]{Pizzeria Uno}}
|
||||
@dd{Deep dish pizza, 5 minutes walk.}
|
||||
@dt{@a[href: "http://www.bettyswokandnoodle.com/"]{Betty's Wok and Noodle}}
|
||||
@dd{Asian-Latin fusion. 6 minutes walk.}
|
||||
@dt{@a[href: "http://www.yelp.com/biz/punters-pub-boston"]{Punter's Pub}}
|
||||
@dd{A bar, adjacent to Northeastern.}
|
||||
@dt{@a[href: "http://www.squealingpigboston.com/"]{The Squealing Pig}}
|
||||
@dd{A bar with food, 15 minutes walk.}
|
||||
@dt{@a[href: "http://www.urbanspoon.com/r/4/54985/restaurant/Back-Bay/Woodys-Grill-Tap-Boston"]{Woody's Grill and Tap}}
|
||||
@dd{Brick oven pizza, 15 minutes walk.}
|
||||
}
|
||||
@p{This is just a small selection;
|
||||
@a[href: '("http://maps.google.com/maps?q=restaurant&hl=en&ll=42.342147"
|
||||
",-71.093645&spn=0.01337,0.01929&sll=42.338636,-71.092004&ss"
|
||||
"pn=0.006685,0.009645&near=440+Huntington+Ave,+Northeastern+"
|
||||
"University,+Boston,+MA+02115&geocode=CUTKaBPhO49uFUwJhgId3D"
|
||||
"jD-ylfch77IXrjiTHFj4qar3TSZw&gl=us&fll=42.338166,-71.092958"
|
||||
"&fspn=0.013371,0.01929&z=16")]{Google}
|
||||
and
|
||||
@a[href: '("http://www.yelp.com/search?find_desc=&find_loc=440+Huntingt"
|
||||
"on+Ave%2C+Boston%2C+MA+02115#cflt=restaurants")]{Yelp}
|
||||
have many more.}
|
||||
|
||||
@h3{Where to stay}
|
||||
@p{Numerous hotels are located close to Northeastern. The three closest
|
||||
are:}
|
||||
@dl{@dt{@a[href: "http://www.colonnadehotel.com/"]{The Colonnade Hotel}}
|
||||
@dd{A ten minute walk from RacketCon. Ask for the Northeastern
|
||||
discounted rate. Even with the discount, this is likely to be
|
||||
expensive.}
|
||||
@dt{@a[href: "http://www.midtownhotel.com/"]{The Midtown Hotel}}
|
||||
@dd{A ten minute walk from RacketCon. A less expensive and less fancy
|
||||
option.}
|
||||
@dt{@a[href: "http://www.innatlongwood.com/"]{
|
||||
The Best Western Inn at Longwood}}
|
||||
@dd{A fifteen minute walk from RacketCon.}}
|
||||
|
||||
@h3{Frequently Asked Questions}
|
||||
@dl{
|
||||
@dt{Do I have to be a Racket programmer to attend?}
|
||||
@dd{No. We welcome anyone interested in or curious about Racket to come
|
||||
to RacketCon and learn about why we're all so excited about Racket.}
|
||||
@dt{Will there be a registration fee?}
|
||||
@dd{No. RacketCon is free to everyone who wants to attend. We
|
||||
ask that you register ahead of time, so that we can
|
||||
plan appropriately.}
|
||||
@dt{How do I register?}
|
||||
@dd{By sending an email to @|org| with your name and
|
||||
affiliation. Please let us know if you have an dietary
|
||||
restrictions, and if you'll be bringing others.}
|
||||
@dt{Will the conference provide breakfast and lunch?}
|
||||
@dd{Yes! We will provide complimentary breakfast snacks and lunch on
|
||||
both days to registered attendees.}
|
||||
@dt{Will the talks be recorded?}
|
||||
@dd{Thanks to the generous support of Jeff Dlouhy and the
|
||||
@a[href: "http://acm.ccs.neu.edu/"]{
|
||||
Northeastern University ACM Student Chapter}, we will
|
||||
be video-taping all talks at RacketCon, and putting them on the web.}
|
||||
@dt{Who is in charge of RacketCon?}
|
||||
@dd{RacketCon is organized by
|
||||
@a[href: "http://www.ccs.neu.edu/home/samth"]{Sam Tobin-Hochstadt}
|
||||
and the rest of the Racket development team.}
|
||||
}
|
||||
|
||||
@h3{Sponsors}
|
||||
@p{Support for RacketCon is generously provided by:}
|
||||
@div[align: 'center]{
|
||||
@sponsor["Northeastern University" "neu.edu" neu]
|
||||
@br
|
||||
@sponsor["NUACM" "acm.ccs.neu.edu" nuacm]
|
||||
@br
|
||||
@sponsor["Mozilla" "mozilla.org" (copyfile #:site con-site mozilla-png)]
|
||||
}
|
||||
|
||||
}})
|
BIN
pkgs/plt-services/meta/new-web/con/2011/mozilla.png
Normal file
BIN
pkgs/plt-services/meta/new-web/con/2011/mozilla.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.9 KiB |
BIN
pkgs/plt-services/meta/new-web/con/2011/neu.png
Normal file
BIN
pkgs/plt-services/meta/new-web/con/2011/neu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
BIN
pkgs/plt-services/meta/new-web/con/2011/nuacm.png
Normal file
BIN
pkgs/plt-services/meta/new-web/con/2011/nuacm.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.0 KiB |
204
pkgs/plt-services/meta/new-web/con/2012/all.rkt
Normal file
204
pkgs/plt-services/meta/new-web/con/2012/all.rkt
Normal file
|
@ -0,0 +1,204 @@
|
|||
#lang plt-web
|
||||
|
||||
(require plt-web/style
|
||||
"../resources.rkt"
|
||||
"../utils.rkt"
|
||||
(only-in "../2011/all.rkt" neu))
|
||||
|
||||
(define (register . e) (apply a href: "http://bit.ly/racketconsignup" e))
|
||||
|
||||
(provide index)
|
||||
(define index
|
||||
@page[#:site con-site
|
||||
#:file "2012/index.html"
|
||||
#:link-title "RacketCon 2012" #:title "RacketCon 2012"
|
||||
#:extra-headers style-header]{
|
||||
@columns[10 #:center? #t #:row? #t]{
|
||||
@h2{RacketCon: 13 October 2012}
|
||||
@p*{@b{RacketCon} is a public meeting for everyone interested in Racket:
|
||||
developers, contributors, programmers, educators, and by-standers. It
|
||||
is an opportunity for all members of the community to come together to
|
||||
share plans, ideas, and enthusiasm. RacketCon will enable the entire
|
||||
Racket community to mingle: to update each other, to exchange ideas, to
|
||||
collaborate, and to help shape the future of Racket.
|
||||
@~
|
||||
RacketCon will hosted by the
|
||||
@a[href: "http://www.ccs.neu.edu/"]{
|
||||
College of Computer and Information Science}
|
||||
of @a[href: "http://www.neu.edu/"]{Northeastern University}, in Boston,
|
||||
Massachusetts. See @a[href: "#getting"]{Getting to RacketCon} below.
|
||||
@;@~
|
||||
@;To register for RacketCon, please fill out @register{this form}.
|
||||
@~
|
||||
We will also run a Hackathon on Sunday in the same room as
|
||||
RacketCon. For details, see the
|
||||
@a[href: "https://github.com/plt/racket/wiki/RacketCon-Hackathon-2012"]{
|
||||
wiki page}.
|
||||
}
|
||||
|
||||
@h3{Schedule}
|
||||
|
||||
@sched[
|
||||
@slot["9:30-10:00" #f]{Coffee and Welcome}
|
||||
@slot["10:00-12:00" mflatt
|
||||
#:code "http://www.cs.utah.edu/plt/scratchy/"
|
||||
#:video (yt "y1rOWZkALto")]{Tutorial: Building Languages in Racket}
|
||||
@slot["12:00-1:30" #f]{Lunch}
|
||||
@slot["1:30-1:40" ryanc #:video (yt "yv_PcyQmrFs")]{
|
||||
Better Syntax Templates for @tt{syntax-parse}}
|
||||
@slot["1:40-1:50" morazanm #:video (yt "vZy6w1G7hRI")]{
|
||||
Distributed Programming for First-Year Students}
|
||||
@slot["1:50-2:00" tewk
|
||||
#:slides (F "tewk-slides.pdf")
|
||||
#:video (yt "xV4e0YYv6zA")]{Distributed Places}
|
||||
@slot["2:00-2:10" dyoo
|
||||
#:slides (F "dyoo-slides-1.pdf")
|
||||
#:video (yt "A5v4gA1DY8I")]{DrBlocket}
|
||||
@slot["2:10-2:20" stamourv
|
||||
#:code (gh "3974136")
|
||||
#:video (yt "W9BYTrDUPtU")]{Optimization Coach}
|
||||
@slot["2:20-2:30" asumu
|
||||
#:video (yt "MYtm9YG4tMM")
|
||||
#:code (gh "3885002")
|
||||
#:slides (F "asumu-slides.pdf")]{Generics}
|
||||
@slot["2:20-3:00" #f]{Break}
|
||||
@slot["3:00-3:10" dyoo
|
||||
#:slides (F "dyoo-slides-2.pdf")
|
||||
#:video (yt "hh3rkRTOQuA")]{
|
||||
WeScheme and the Amazing Technicolor Structures}
|
||||
@slot["3:10-3:20" "James Swaine"
|
||||
#:code (gh "3973451")
|
||||
#:video (yt "28uMzVRMWSs")]{
|
||||
Profiling Parallel Racket with the Future Visualizer}
|
||||
@slot["3:20-3:30" jpolitz
|
||||
#:slides (F "politz-slides.pdf")
|
||||
#:video (yt "52mUh5Or9Jk")]{
|
||||
Crowdsourced Conformance Testing via Remote Sandboxing
|
||||
(or Avoiding Grading for Fun and Profit)}
|
||||
@slot["3:30-3:40" rafkind
|
||||
#:slides (F "rafkind-slides.pdf")
|
||||
#:video (yt "xV4e0YYv6zA")]{Honu: Macros for infix syntax}
|
||||
@slot["3:40-3:50" cce
|
||||
#:slides (F "cce-slides.pdf")
|
||||
#:video (yt "8u1wV7WRwuk")]{
|
||||
Racket + ACL2 + ML = Dracula}
|
||||
@slot["3:50-4:00" @name["http://about.me/cky"]{Chris Jester-Young}
|
||||
#:video (yt "jW-XIzMOFw8")
|
||||
#:slides (F "cky-slides.pdf")]{Racket + JVM}
|
||||
@slot["4:00-4:15" #f]{Break}
|
||||
@slot["4:15-6:15" samth
|
||||
#:code "http://github.com/samth/tr-tutorial/"
|
||||
#:video (yt "w-fVHOxeEpM")]{Tutorial: Typed Racket}
|
||||
]
|
||||
|
||||
@a[name: "getting"]@h3{Getting to RacketCon}
|
||||
|
||||
@p{RacketCon will be held in @b{West Village H, Room 110}, at
|
||||
Northeastern University. West Village H is located
|
||||
at 440 Huntington Ave, Boston Massachusetts, and is building
|
||||
@a[href: "http://www.northeastern.edu/campusmap/map/qad4.html"]{#23H} on
|
||||
the @a[href: "http://www.northeastern.edu/campusmap/map"]{campus map}.
|
||||
See also the building on
|
||||
@a[href: "http://goo.gl/maps/On05h"]{Google Maps}}
|
||||
|
||||
@h3{Getting there...}
|
||||
|
||||
@dl{
|
||||
@dt{by Car:}
|
||||
@dd{There is very little on-street parking near Northeastern.
|
||||
@[a href: "http://neu.edu/test/parking/guestparking/"]{
|
||||
Visitor parking}
|
||||
is available at the
|
||||
@a[href: "http://neu.edu/test/parking/wheretopark/"]{
|
||||
Renaissance Garage},
|
||||
a few minutes walk from the conference. Driving directions from many
|
||||
points are available
|
||||
@a[href: "http://www.neu.edu/campusmap/directions.html"]{here}.}
|
||||
@dt{by Subway:}
|
||||
@dd{Northeastern is conveniently located near both the Green and Orange
|
||||
subway lines. The @a[href: "http://www.mbta.com/"]{MBTA} has more
|
||||
information. On the Green ‘E’ line, the Northeastern stop is the
|
||||
closest, and appears on the campus map below as the ‘T’ symbol on
|
||||
Huntington Avenue. On the Orange line, the Ruggles stop is closest
|
||||
and appears on the campus map below as the ‘T’ symbol in the
|
||||
middle-left of the illustration.}
|
||||
@dt{by Bicycle, Commuter Rail, Amtrak:}
|
||||
@dd{Northeastern is located near the major Amtrak lines, and is also
|
||||
accessible by commuter rail and bicycle. Please contact @|org| for
|
||||
more information.}}
|
||||
|
||||
@h3{Where to eat}
|
||||
@p{While there are no conference dinner plans, there are numerous
|
||||
restaurants near Northeastern:}
|
||||
@dl{@dt{@a[href: "http://www.symphonysushi.com/"]{Symphony Sushi}}
|
||||
@dd{A sushi restaurant, 5 minutes walk}
|
||||
@dt{@a[href: "http://www.phoandi.com/"]{Pho and I}}
|
||||
@dd{Thai and Vietnamese food, 5 minutes walk.}
|
||||
@dt{@a[href: '("http://maps.google.com/maps/place?"
|
||||
"q=pizzeria+uno+boston&cid=11922407303454006467")]{
|
||||
Pizzeria Uno}}
|
||||
@dd{Deep dish pizza, 5 minutes walk.}
|
||||
@dt{@a[href: "http://www.yelp.com/biz/punters-pub-boston"]{
|
||||
Punter's Pub}}
|
||||
@dd{A bar, adjacent to Northeastern.}
|
||||
@dt{@a[href: "http://www.squealingpigboston.com/"]{The Squealing Pig}}
|
||||
@dd{A bar with food, 15 minutes walk.}
|
||||
@dt{@a[href: '("http://www.urbanspoon.com/r/4/54985/restaurant/"
|
||||
"Back-Bay/Woodys-Grill-Tap-Boston")]{
|
||||
Woody's Grill and Tap}}
|
||||
@dd{Brick oven pizza, 15 minutes walk.}
|
||||
}
|
||||
@p{This is just a small selection;
|
||||
@a[href: '("http://maps.google.com/maps?q=restaurant&hl=en&ll=42.342147"
|
||||
",-71.093645&spn=0.01337,0.01929&sll=42.338636,-71.092004&ss"
|
||||
"pn=0.006685,0.009645&near=440+Huntington+Ave,+Northeastern+"
|
||||
"University,+Boston,+MA+02115&geocode=CUTKaBPhO49uFUwJhgId3D"
|
||||
"jD-ylfch77IXrjiTHFj4qar3TSZw&gl=us&fll=42.338166,-71.092958"
|
||||
"&fspn=0.013371,0.01929&z=16")]{Google}
|
||||
and
|
||||
@a[href: '("http://www.yelp.com/search?find_desc=&find_loc=440+Huntingt"
|
||||
"on+Ave%2C+Boston%2C+MA+02115#cflt=restaurants")]{Yelp}
|
||||
have many more.}
|
||||
|
||||
@h3{Where to stay}
|
||||
@p{Numerous hotels are located close to Northeastern. The three closest
|
||||
are:}
|
||||
@dl{@dt{@a[href: "http://www.colonnadehotel.com/"]{The Colonnade Hotel}}
|
||||
@dd{A ten minute walk from RacketCon. Ask for the Northeastern
|
||||
discounted rate. Even with the discount, this is likely to be
|
||||
expensive.}
|
||||
@dt{@a[href: "http://www.midtownhotel.com/"]{The Midtown Hotel}}
|
||||
@dd{A ten minute walk from RacketCon. A less expensive and less fancy
|
||||
option.}
|
||||
@dt{@a[href: "http://www.innatlongwood.com/"]{
|
||||
The Best Western Inn at Longwood}}
|
||||
@dd{A fifteen minute walk from RacketCon.}}
|
||||
|
||||
@h3{Frequently Asked Questions}
|
||||
@dl{
|
||||
@dt{Do I have to be a Racket programmer to attend?}
|
||||
@dd{No. We welcome anyone interested in or curious about Racket to come
|
||||
to RacketCon and learn about why we're all so excited about Racket.}
|
||||
@dt{Will there be a registration fee?}
|
||||
@dd{No. RacketCon is free to everyone who wants to attend. We
|
||||
ask that you @register{register} ahead of time, so that we can
|
||||
plan appropriately.}
|
||||
@dt{Will the conference provide lunch?}
|
||||
@dd{Yes! We will provide complimentary lunch
|
||||
to registered attendees.}
|
||||
@dt{Will the talks be recorded?}
|
||||
@dd{We hope to record and post the talks given at RacketCon. If you are
|
||||
interested in assisting with this, please let the organizers know.}
|
||||
@dt{Who is in charge of RacketCon?}
|
||||
@dd{RacketCon is organized by
|
||||
@a[href: "http://www.ccs.neu.edu/home/samth"]{Sam Tobin-Hochstadt}
|
||||
and the rest of the Racket development team.}
|
||||
}
|
||||
|
||||
@h3{Sponsors}
|
||||
@p{Support for RacketCon is generously provided by:}
|
||||
@div[align: 'center]{
|
||||
@sponsor["Northeastern University" "neu.edu" neu]
|
||||
}
|
||||
|
||||
}})
|
292
pkgs/plt-services/meta/new-web/con/2013/all.rkt
Normal file
292
pkgs/plt-services/meta/new-web/con/2013/all.rkt
Normal file
|
@ -0,0 +1,292 @@
|
|||
#lang plt-web
|
||||
|
||||
(require plt-web/style
|
||||
racket/runtime-path
|
||||
"../resources.rkt"
|
||||
"../utils.rkt"
|
||||
(only-in "../2011/all.rkt" neu nuacm))
|
||||
|
||||
(define (register . e) (apply a href: "http://bit.ly/racketconsignup" e))
|
||||
|
||||
(define-runtime-path nbcu "nbc-universal.png")
|
||||
|
||||
(provide index)
|
||||
(define index
|
||||
@page[#:site con-site
|
||||
#:file "2013/index.html"
|
||||
#:link-title "RacketCon 2013" #:title "RacketCon 2013"
|
||||
#:extra-headers style-header]{
|
||||
@columns[10 #:center? #t #:row? #t]{
|
||||
@h2{RacketCon: 29 September 2013}
|
||||
@p*{@b{RacketCon} is a public meeting for everyone interested in Racket:
|
||||
developers, contributors, programmers, educators, and by-standers. It
|
||||
is an opportunity for all members of the community to come together to
|
||||
share plans, ideas, and enthusiasm. RacketCon will enable the entire
|
||||
Racket community to mingle: to update each other, to exchange ideas, to
|
||||
collaborate, and to help shape the future of Racket.
|
||||
@~
|
||||
RacketCon is hosted by the
|
||||
@a[href: "http://www.ccs.neu.edu/"]{
|
||||
College of Computer and Information Science}
|
||||
of @a[href: "http://www.neu.edu/"]{Northeastern University}, in Boston,
|
||||
Massachusetts. See @a[href: "#getting"]{Getting to RacketCon} below.
|
||||
@~
|
||||
Register for the event
|
||||
@a[href: "http://bit.ly/racketconsignup2013"]{here}.
|
||||
@~
|
||||
We will also run a Hackathon on Saturday (28th) in the same room as
|
||||
RacketCon from 10AM-5PM. For details, see the
|
||||
@a[href: "https://github.com/plt/racket/wiki/RacketCon-Hackathon-2013"]{
|
||||
wiki page}.
|
||||
}
|
||||
|
||||
@h3{Schedule}
|
||||
|
||||
@sched[
|
||||
@slot["9:30-9:55" #f]{Coffee}
|
||||
@slot["9:55-10:00" #f]{Welcome}
|
||||
@slot["10:00-11:00" mebassett
|
||||
#:video (yt "37owCjWnkK0")]{
|
||||
Racket in the Film Industry}
|
||||
@slot["11:00-11:15" #f]{Break}
|
||||
@slot["11:15-12:15" danl
|
||||
#:video (yt "oSmqbnhHp1c")
|
||||
#:slides (F "danl-slides.pdf")]{
|
||||
Racket on the Playstation 3? It's Not What you Think!}
|
||||
@slot["12:15-13:15" #f]{Lunch}
|
||||
@slot["13:15-14:05" mflatt
|
||||
#:video (yt "Z9OYc1YYLT4")
|
||||
#:slides (F "mflatt-slides.pdf")]{
|
||||
A Dinosaur's Thoughts on Programming Language Evolution}
|
||||
@slot["14:05-14:20" #f]{Break}
|
||||
@slot["14:20-14:50" jay
|
||||
#:video (yt "jnPf6S0_6Xw")
|
||||
#:slides (F "jay-slides.pdf")]{
|
||||
The Racket Package System, or Planet 5.0 and beyond}
|
||||
@slot["14:50-15:00" gregh
|
||||
#:video (yt "5q-NZNGV0sY")]{
|
||||
Frog: a static blog generator using Racket, Pygments, and Bootstrap}
|
||||
@slot["15:00-15:20" ntoronto
|
||||
#:video (yt "HmtgHVwja4k")
|
||||
#:slides (F "ntoronto-slides.pdf")]{
|
||||
Debugging Floating-Point Math in Racket}
|
||||
@slot["15:20-15:35" #f]{Break}
|
||||
@slot["15:35-15:45" mbutterick
|
||||
#:video (yt "20GGVNBykaw")]{
|
||||
The World's Most Dangerous Racket Programmer}
|
||||
@slot["15:45-15:55" tonyg
|
||||
#:video (yt "N7W3O4D8VRo")
|
||||
#:slides (F "tonyg-slides.pdf")]{
|
||||
Marketplace: Layered Pub/Sub Networks in Racket}
|
||||
@slot["15:55-16:05" kasai
|
||||
#:video (yt "bC8aS3vwO8g")
|
||||
#:slides (F "asai-slides.pdf")]{
|
||||
Introductory PL Course for non-CS Major Students in Ochanomizu University}
|
||||
@slot["16:05-16:15" cce
|
||||
#:video (yt "QfR3WhPi93g")]{
|
||||
Generic Sets for Racket}
|
||||
@slot["16:15-16:25" etanter
|
||||
#:video (yt "b0if9pPi2_M")
|
||||
#:slides (F "etanter-slides.pdf")]{
|
||||
#lang play}
|
||||
@slot["16:25-16:35" maxnew
|
||||
#:video (yt "bXhCGZyi99w")]{
|
||||
Every Program in Your Redex Model, in Order}
|
||||
@slot["16:35-16:50" #f]{Break}
|
||||
@slot["16:50-17:00" calvis
|
||||
#:video (yt "unSvrdi8ozQ")]{
|
||||
The Reasoned Racketeer}
|
||||
@slot["17:00-17:10" stamourv
|
||||
#:video (yt "D7uPm3J-o6g")]{
|
||||
Contracts on a Budget}
|
||||
@slot["17:10-17:20" jpolitz
|
||||
#:video (yt "qXhhTPRrV_A")]{
|
||||
#lang pyret and Captain Teach}
|
||||
@slot["17:20-17:30" chrdimo
|
||||
#:video (yt "jeKd2v1Uu4Q")]{
|
||||
Option Contracts}
|
||||
@slot["17:30-17:40" jswaine
|
||||
#:video (yt "osoMIIrmHzI")]{
|
||||
Automatic Complexity Analysis}
|
||||
@slot["17:40-17:50" bfetscher
|
||||
#:video (yt "0ueJJ1nD4p4")]{
|
||||
Random Test Case Generation with Redex}
|
||||
]
|
||||
|
||||
@; During the day, the following can be used to provide links to
|
||||
@; google+ hangouts and embedded youtube casts on the con page.
|
||||
@; Also good to extend the blurb in "../news-flash.rkt"
|
||||
@; @h1{@a[href: "https://plus.google.com/hangouts/_/c75f10c2747c4b71a0268c21624186b661cc596f"]{Live}
|
||||
@; @a[href: "https://plus.google.com/hangouts/_/7450ee29c4ce223e188d08833505139346d6fd51"]{broadcast}}
|
||||
@; @table{@tr{
|
||||
@; @td{@iframe[width: "360" height: "290" frameborder: "0" allowfullscreen: #t
|
||||
@; src: "http://www.youtube.com/embed/Gomcqdi6kKE"]}
|
||||
@; @td{@iframe[width: "360" height: "290" frameborder: "0" allowfullscreen: #t
|
||||
@; src: "http://www.youtube.com/embed/p-bDXYNVz08"]}
|
||||
@; }}
|
||||
@h3{Google Hangout Videos}
|
||||
@p{The talks were captured in two Google Hangouts, linked below.
|
||||
Higher quality recordings are linked next to each of the
|
||||
talk titles in the schedule.
|
||||
@ol{@li{Stream 1:
|
||||
@a[href: (yt "Gomcqdi6kKE")]{Part 1}
|
||||
@a[href: (yt "mHVYG0L0L8g")]{Part 2}}
|
||||
@li{Stream 2:
|
||||
@a[href: (yt "p-bDXYNVz08")]{Part 1}
|
||||
@a[href: (yt "eZeg0qsOFq0")]{Part 2}
|
||||
@a[href: (yt "OAieiBrZmh8")]{Part 3}}}}
|
||||
|
||||
@h3{Keynote Speakers}
|
||||
|
||||
@h4{Dan Liebgold (@a[href: "http://www.naughtydog.com/"]{Naughty Dog})}
|
||||
@h5{Racket on the Playstation 3? It's Not What you Think!}
|
||||
@h5{Abstract}
|
||||
@p{In this talk I will give a brief overview of DC, a custom data scripting
|
||||
system developed in Racket at Naughty Dog. It has been an essential tool
|
||||
for us to develop games for Playstation 3.}
|
||||
@p{When developing our codebase for the Playstation 3 we decided we needed a
|
||||
comprehensive scripting system to enable the creation of significant
|
||||
amounts of customized data typically necessary to develop a Naughty Dog
|
||||
game. Using C++ in conjunction with off the shelf tools like Maya,
|
||||
Photoshop, and even internal custom game layout tools usually leaves many
|
||||
large gaps in our ability to piece together the game design we envision.}
|
||||
@p{As a result we selected Racket (then MzScheme) as a platform upon which to
|
||||
develop a system that provided the abilities we needed. In our Racket based
|
||||
system (DC), we develop a multitude of domain specific languages, a
|
||||
powerful gameplay scripting system, and systems for implementing animation,
|
||||
effects, and sound.}
|
||||
@p{My talk will give a brief overview of our experience at Naughty Dog
|
||||
building this system on top of Racket. I'll cover the nuts and bolts of how
|
||||
our system works. I'll cover the challenges of C++ programmers utilizing
|
||||
Racket while under the deadlines of retail software development. I’ll talk
|
||||
about the many opportunities this approach afforded us, some of which we
|
||||
were able to capitalize on to great success, others which lay tantalizingly
|
||||
just out of reach. I’ll talk about the culture clash of getting C++
|
||||
programmers, technical game designers, and non-technical artists to be
|
||||
productive in a world of S-expressions and syntax transformations. And I’ll
|
||||
give an overview of some metrics of the impressive contributions our system
|
||||
was able to make to the development of "Uncharted" series of games and "The
|
||||
Last of Us" for the Playstation 3.}
|
||||
@h5{About the Speaker}
|
||||
@p{Dan Liebgold has programmed games in one form or another for most of his
|
||||
life, starting on an Apple II in 4th grade. He has worked as a
|
||||
professional game programmer for 17 years, 11 of them at Naughty Dog, Inc.
|
||||
Some of the games he's contributed to are: Starcraft, Sacrifice, the Jak &
|
||||
Daxter series and the Uncharted series.}
|
||||
|
||||
@h4{Matthew Eric Bassett (@a[href: "http://www.nbcuni.com/international/"]{NBCUniversal International})}
|
||||
@h5{Racket in the Film Industry}
|
||||
|
||||
@a[name: "getting"]@h3{Getting to RacketCon}
|
||||
|
||||
@p{RacketCon will be held in @b{West Village H, Room 108}, at
|
||||
Northeastern University. West Village H is located
|
||||
at 440 Huntington Ave, Boston Massachusetts, and is building
|
||||
@a[href: "http://www.northeastern.edu/campusmap/map/qad4.html"]{#23H} on
|
||||
the @a[href: "http://www.northeastern.edu/campusmap/map"]{campus map}.
|
||||
See also the building on
|
||||
@a[href: "http://goo.gl/maps/On05h"]{Google Maps}}
|
||||
|
||||
@h3{Getting there...}
|
||||
|
||||
@dl{
|
||||
@dt{by Car:}
|
||||
@dd{There is very little on-street parking near Northeastern.
|
||||
@[a href: "http://neu.edu/test/parking/guestparking/"]{
|
||||
Visitor parking}
|
||||
is available at the
|
||||
@a[href: "http://neu.edu/test/parking/wheretopark/"]{
|
||||
Renaissance Garage},
|
||||
a few minutes walk from the conference. Driving directions from many
|
||||
points are available
|
||||
@a[href: "http://www.neu.edu/campusmap/directions.html"]{here}.}
|
||||
@dt{by Subway:}
|
||||
@dd{Northeastern is conveniently located near both the Green and Orange
|
||||
subway lines. The @a[href: "http://www.mbta.com/"]{MBTA} has more
|
||||
information. On the Green ‘E’ line, the Northeastern stop is the
|
||||
closest, and appears on the campus map below as the ‘T’ symbol on
|
||||
Huntington Avenue. On the Orange line, the Ruggles stop is closest
|
||||
and appears on the campus map below as the ‘T’ symbol in the
|
||||
middle-left of the illustration.}
|
||||
@dt{by Bicycle, Commuter Rail, Amtrak:}
|
||||
@dd{Northeastern is located near the major Amtrak lines, and is also
|
||||
accessible by commuter rail and bicycle. Please contact @|org| for
|
||||
more information.}}
|
||||
|
||||
@h3{Where to eat}
|
||||
@p{While there are no conference dinner plans, there are numerous
|
||||
restaurants near Northeastern:}
|
||||
@dl{@dt{@a[href: "http://www.symphonysushi.com/"]{Symphony Sushi}}
|
||||
@dd{A sushi restaurant, 5 minutes walk}
|
||||
@dt{@a[href: "http://www.phoandi.com/"]{Pho and I}}
|
||||
@dd{Thai and Vietnamese food, 5 minutes walk.}
|
||||
@dt{@a[href: '("http://maps.google.com/maps/place?"
|
||||
"q=pizzeria+uno+boston&cid=11922407303454006467")]{
|
||||
Pizzeria Uno}}
|
||||
@dd{Deep dish pizza, 5 minutes walk.}
|
||||
@dt{@a[href: "http://www.yelp.com/biz/punters-pub-boston"]{
|
||||
Punter's Pub}}
|
||||
@dd{A bar, adjacent to Northeastern.}
|
||||
@dt{@a[href: "http://www.squealingpigboston.com/"]{The Squealing Pig}}
|
||||
@dd{A bar with food, 15 minutes walk.}
|
||||
@dt{@a[href: '("http://www.urbanspoon.com/r/4/54985/restaurant/"
|
||||
"Back-Bay/Woodys-Grill-Tap-Boston")]{
|
||||
Woody's Grill and Tap}}
|
||||
@dd{Brick oven pizza, 15 minutes walk.}
|
||||
}
|
||||
@p{This is just a small selection;
|
||||
@a[href: '("http://maps.google.com/maps?q=restaurant&hl=en&ll=42.342147"
|
||||
",-71.093645&spn=0.01337,0.01929&sll=42.338636,-71.092004&ss"
|
||||
"pn=0.006685,0.009645&near=440+Huntington+Ave,+Northeastern+"
|
||||
"University,+Boston,+MA+02115&geocode=CUTKaBPhO49uFUwJhgId3D"
|
||||
"jD-ylfch77IXrjiTHFj4qar3TSZw&gl=us&fll=42.338166,-71.092958"
|
||||
"&fspn=0.013371,0.01929&z=16")]{Google}
|
||||
and
|
||||
@a[href: '("http://www.yelp.com/search?find_desc=&find_loc=440+Huntingt"
|
||||
"on+Ave%2C+Boston%2C+MA+02115#cflt=restaurants")]{Yelp}
|
||||
have many more.}
|
||||
|
||||
@h3{Where to stay}
|
||||
@p{Numerous hotels are located close to Northeastern. The three closest
|
||||
are:}
|
||||
@dl{@dt{@a[href: "http://www.colonnadehotel.com/"]{The Colonnade Hotel}}
|
||||
@dd{A ten minute walk from RacketCon. Ask for the Northeastern
|
||||
discounted rate. Even with the discount, this is likely to be
|
||||
expensive.}
|
||||
@dt{@a[href: "http://www.midtownhotel.com/"]{The Midtown Hotel}}
|
||||
@dd{A ten minute walk from RacketCon. A less expensive and less fancy
|
||||
option.}
|
||||
@dt{@a[href: "http://www.innatlongwood.com/"]{
|
||||
The Best Western Inn at Longwood}}
|
||||
@dd{A fifteen minute walk from RacketCon.}}
|
||||
|
||||
@h3{Frequently Asked Questions}
|
||||
@dl{
|
||||
@dt{Do I have to be a Racket programmer to attend?}
|
||||
@dd{No. We welcome anyone interested in or curious about Racket to come
|
||||
to RacketCon and learn about why we're all so excited about Racket.}
|
||||
@dt{Will there be a registration fee?}
|
||||
@dd{No. RacketCon is free to everyone who wants to attend. We
|
||||
ask that you register ahead of time, so that we can
|
||||
plan appropriately.}
|
||||
@dt{Will the conference provide lunch?}
|
||||
@dd{Yes! We will provide complimentary lunch
|
||||
to registered attendees.}
|
||||
@dt{Will the talks be recorded?}
|
||||
@dd{We hope to record and post the talks given at RacketCon. If you are
|
||||
interested in assisting with this, please let the organizers know.}
|
||||
@dt{Who is in charge of RacketCon?}
|
||||
@dd{RacketCon is organized by
|
||||
@a[href: "http://www.ccs.neu.edu/home/asumu"]{Asumu Takikawa}
|
||||
and the rest of the Racket development team.}
|
||||
}
|
||||
|
||||
@h3{Sponsors}
|
||||
@p{Support for RacketCon is generously provided by:}
|
||||
@div[align: 'center]{
|
||||
@sponsor["Northeastern University" "neu.edu" neu]
|
||||
@sponsor["NBC Universal" "www.nbcuni.com" (copyfile #:site con-site nbcu)]
|
||||
@sponsor["NU ACM" "acm.ccs.neu.edu" nuacm]
|
||||
}
|
||||
|
||||
}})
|
BIN
pkgs/plt-services/meta/new-web/con/2013/nbc-universal.png
Normal file
BIN
pkgs/plt-services/meta/new-web/con/2013/nbc-universal.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
29
pkgs/plt-services/meta/new-web/con/all.rkt
Normal file
29
pkgs/plt-services/meta/new-web/con/all.rkt
Normal file
|
@ -0,0 +1,29 @@
|
|||
#lang plt-web
|
||||
|
||||
(require plt-web/style
|
||||
"resources.rkt"
|
||||
"utils.rkt"
|
||||
(prefix-in 2011: "2011/all.rkt")
|
||||
(prefix-in 2012: "2012/all.rkt")
|
||||
(prefix-in 2013: "2013/all.rkt"))
|
||||
|
||||
(provide index)
|
||||
|
||||
(define index
|
||||
@page[#:site con-site
|
||||
#:link-title "RacketCon" #:title "RacketCon"
|
||||
#:extra-headers style-header]{
|
||||
@columns[8 #:center? #t #:row? #t]{
|
||||
@h2{RacketCon}
|
||||
@p{@b{RacketCon 2014} will be held in St. Louis on September 20,
|
||||
the day after @a[href: "https://thestrangeloop.com/"]{Strange Loop}.
|
||||
Stay turned for more information!}
|
||||
@p*{@b{RacketCon} is a public meeting for everyone interested in Racket:
|
||||
developers, contributors, programmers, educators, and by-standers. It
|
||||
is an opportunity for all members of the community to come together to
|
||||
share plans, ideas, and enthusiasm. RacketCon will enable the entire
|
||||
Racket community to mingle: to update each other, to exchange ideas, to
|
||||
collaborate, and to help shape the future of Racket.}
|
||||
@ul{@li{@2013:index}
|
||||
@li{@2012:index}
|
||||
@li{@2011:index}}}})
|
20
pkgs/plt-services/meta/new-web/con/resources.rkt
Normal file
20
pkgs/plt-services/meta/new-web/con/resources.rkt
Normal file
|
@ -0,0 +1,20 @@
|
|||
#lang plt-web
|
||||
(require "../www/resources.rkt"
|
||||
"../testing.rkt")
|
||||
|
||||
(provide con-site
|
||||
rcon)
|
||||
|
||||
(define con-site
|
||||
(site "con"
|
||||
#:url (rewrite-for-testing "http://con.racket-lang.org/")
|
||||
#:share-from www-site))
|
||||
|
||||
(define (rcon [year #f] . text)
|
||||
(define years '(2014 2013 2012 2011))
|
||||
(a href: (list ((resource "con/" #f))
|
||||
(and year (not (eq? year (car years))) (list year "/")))
|
||||
(cond [(pair? text) text]
|
||||
[(not year) "RacketCon"]
|
||||
[else year])))
|
||||
|
120
pkgs/plt-services/meta/new-web/con/utils.rkt
Normal file
120
pkgs/plt-services/meta/new-web/con/utils.rkt
Normal file
|
@ -0,0 +1,120 @@
|
|||
#lang at-exp racket/base
|
||||
|
||||
(require "resources.rkt" racket/match scribble/html)
|
||||
|
||||
(provide (all-defined-out))
|
||||
|
||||
(define style-header
|
||||
@style/inline{
|
||||
a.doclink {
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
dd {
|
||||
margin-bottom: 1ex;
|
||||
}})
|
||||
|
||||
(define (name url . rest)
|
||||
(apply a class: 'name href: url rest))
|
||||
|
||||
(define mflatt @name["http://www.cs.utah.edu/~mflatt"]{Matthew Flatt})
|
||||
(define rafkind @name["http://www.cs.utah.edu/~rafkind"]{Jon Rafkind})
|
||||
(define tewk @name["http://kevintew.com/"]{Kevin Tew})
|
||||
(define ryanc @name["http://www.cs.utah.edu/~ryan"]{Ryan Culpepper})
|
||||
(define matthias @name["http://www.ccs.neu.edu/~matthias"]{Matthias Felleisen})
|
||||
(define dvh @name["http://www.ccs.neu.edu/~dvanhorn"]{David Van Horn})
|
||||
(define asumu @name["http://www.ccs.neu.edu/~asumu"]{Asumu Takikawa})
|
||||
(define stamourv @name["http://www.ccs.neu.edu/~stamourv"]{Vincent St-Amour})
|
||||
(define cce @name["http://www.ccs.neu.edu/~cce"]{Carl Eastlund})
|
||||
(define samth @name["http://www.ccs.neu.edu/~samth"]{Sam Tobin-Hochstadt})
|
||||
(define sk @name["http://www.cs.brown.edu/~sk"]{Shriram Krishnamurthi})
|
||||
(define jpolitz @name["http://jpolitz.github.com/"]{Joe Gibbs Politz})
|
||||
(define jay @name["http://faculty.cs.byu.edu/~jay/home/"]{Jay McCarthy})
|
||||
(define rbf @name["http://www.eecs.northwestern.edu/~robby"]{Robby Findler})
|
||||
(define jbc @name["http://www.brinckerhoff.org/clements/"]{John Clements})
|
||||
(define dyoo @name["http://hashcollision.org/"]{Danny Yoo})
|
||||
(define pr @name["http://www.cs.uwaterloo.ca/~plragde/"]{Prabhakar Ragde})
|
||||
(define guillaume @name["http://gmarceau.qc.ca/"]{Guillaume Marceau})
|
||||
(define moskol @name["http://www.ric.edu/faculty/amoskol/"]{Ann Moskol})
|
||||
(define morazanm @name["http://www.shu.edu/academics/profiles/profile-details.cfm?customel_datapageid_148360=220477"]{Marco Morazan})
|
||||
(define gregh @name["http://www.greghendershott.com/"]{Greg Hendershott})
|
||||
(define mbutterick @name["http://practicaltypography.com/"]{Matthew Butterick})
|
||||
(define tonyg @name["http://homepages.kcbbs.gen.nz/tonyg/"]{Tony Garnock-Jones})
|
||||
(define calvis @name["https://github.com/calvis"]{Claire Alvis})
|
||||
(define bfetscher @name["https://github.com/bfetscher"]{Burke Fetscher})
|
||||
(define etanter @name["http://pleiad.cl/people/etanter"]{Éric Tanter})
|
||||
(define chrdimo @name["http://people.seas.harvard.edu/~chrdimo/"]{Christos Dimoulas})
|
||||
(define maxnew @name["https://github.com/maxsnew"]{Max New})
|
||||
(define kasai @name["http://www.is.ocha.ac.jp/~asai/"]{Kenichi Asai})
|
||||
(define danl @name["https://twitter.com/danl2620"]{Dan Liebgold})
|
||||
(define mebassett @name["http://mebassett.gegn.net/"]{Matthew Eric Bassett})
|
||||
(define ntoronto @name["http://students.cs.byu.edu/~ntoronto/"]{Neil Toronto})
|
||||
(define jswaine @name["https://github.com/Zoetermeer"]{James Swaine})
|
||||
|
||||
(define org @a[href: "mailto:racketcon@racket-lang.org"]{the organizers})
|
||||
|
||||
(struct slot* (time speaker slides code video title))
|
||||
(define (slot time speaker
|
||||
#:slides [slides #f]
|
||||
#:code [code #f]
|
||||
#:video [video #f]
|
||||
. title)
|
||||
(slot* time speaker slides code video title))
|
||||
|
||||
(define (yt id) @list{http://www.youtube.com/watch?v=@id})
|
||||
|
||||
(define (gh id) @list{https://gist.github.com/@id})
|
||||
|
||||
(define (sponsor name site image)
|
||||
@a[title: name href: @list{http://@|site|/}]{
|
||||
@img[style: "margin: 20px; border: 0;" src: image alt: name]})
|
||||
|
||||
(define (sched . slots)
|
||||
(table class: 'sched width: "100%" frame: 'hsides
|
||||
cellspacing: 0 cellpadding: "3px"
|
||||
(for/list ([sl (in-list slots)])
|
||||
(match-define (slot* t speaker slides code video title) sl)
|
||||
(define time
|
||||
;; "figure space" for alignment
|
||||
(cons (and (regexp-match? #rx"^.:" t) (entity #x2007))
|
||||
(add-between (regexp-split #rx"-" t) ndash)))
|
||||
(define slides-elem (and slides @a[href: slides]{[slides]}))
|
||||
(define code-elem (and code @a[href: code]{[code]}))
|
||||
(define video-elem (and video @a[href: video]{[video]}))
|
||||
@tr[valign: 'top bgcolor: (if speaker "#ffffff" "#e8e8e8")]{
|
||||
@td[width: "15%" nowrap: 'nowrap]{@time}
|
||||
@td[width: "25%"]{@speaker}
|
||||
@td[width: "60%"]{
|
||||
@title
|
||||
@span[style: "text-align: right"]{
|
||||
@slides-elem @code-elem @video-elem}}})))
|
||||
(define (sched* . slots)
|
||||
(table class: 'sched width: "100%" frame: 'hsides
|
||||
cellspacing: 0 cellpadding: "3px"
|
||||
(for/list ([sl (in-list slots)])
|
||||
(match-define (slot* t speaker slides code video title) sl)
|
||||
(define time
|
||||
;; "figure space" for alignment
|
||||
(cons (and (regexp-match? #rx"^.:" t) (entity #x2007))
|
||||
(add-between (regexp-split #rx"-" t) ndash)))
|
||||
(define slides-elem
|
||||
(and slides @a[href: slides #;(copyfile (in-here slides))]{[slides]}))
|
||||
(define code-elem
|
||||
(and code @a[href: code]{[code]}))
|
||||
(define video-elem
|
||||
(and video @a[href: video]{[video]}))
|
||||
|
||||
@tr[valign: 'top bgcolor: (if speaker "#ffffff" "#e8e8e8")]{
|
||||
@td[width: "15%" nowrap: 'nowrap]{@time}
|
||||
@td[width: "25%"]{@speaker}
|
||||
@td[width: "60%"]{
|
||||
@title
|
||||
@span[style: "text-align: right"]{
|
||||
@slides-elem @code-elem @video-elem}}})))
|
||||
|
||||
;; Refer to a file that has been manually uploaded
|
||||
;; (relative to its referring page):
|
||||
(define (F p) p)
|
|
@ -6,4 +6,5 @@
|
|||
;; Root URLs must be written into roots, not
|
||||
;; paths within a URLs
|
||||
(define (rewrite-for-testing s)
|
||||
s)
|
||||
(regexp-replace #rx"/$" s ".s3-website-us-east-1.amazonaws.com/")
|
||||
#;s)
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
"resources.rkt" "people.rkt" "irc.rkt"
|
||||
"../minis/lists.rkt" "../minis/bugs.rkt"
|
||||
"../stubs/blog.rkt" "../stubs/git.rkt"
|
||||
(prefix-in pre: "../minis/pre.rkt"))
|
||||
(prefix-in pre: "../minis/pre.rkt")
|
||||
(only-in "../con/resources.rkt" rcon))
|
||||
|
||||
(provide thanks)
|
||||
(define thanks
|
||||
|
@ -34,7 +35,7 @@
|
|||
@mailing-lists-quick
|
||||
@irc-quick
|
||||
@parlist[@strong{RacketCon}
|
||||
@text{@-rcon[] is our annual conference.}]
|
||||
@text{@rcon[] is our annual conference.}]
|
||||
@parlist[@strong{PLT Design Inc.}
|
||||
@text{@blog — announcements, helpful hints, and thoughtful rants.}
|
||||
@text{@a[href: "http://twitter.com/#!/racketlang"]{Twitter}
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
racket/runtime-path
|
||||
"irc.rkt"
|
||||
(prefix-in pre: "../minis/pre.rkt")
|
||||
(only-in "../stubs/docs.rkt" docs-path))
|
||||
(only-in "../stubs/docs.rkt" docs-path)
|
||||
(only-in "../con/resources.rkt" rcon))
|
||||
|
||||
;; TODO
|
||||
;; -- add links in top paragraph
|
||||
|
@ -348,7 +349,7 @@ computing and from databases to charts.
|
|||
@columns[3 style: "text-color: black"]{
|
||||
@h2[style: "font-size: 180%; margin-bottom: 10pt"]{News}
|
||||
@p{Racket version 6.0 has been released.}
|
||||
@p{@-rcon[2014]{RacketCon 2014} will be in September in St Louis.}}}
|
||||
@p{@rcon[2014]{RacketCon 2014} will be in September in St Louis.}}}
|
||||
|
||||
|
||||
@columns[12 #:row? #t #:center? #t style: "text-align:justify;font-size: 120%; margin-top: 20pt; "]{
|
||||
|
@ -426,9 +427,9 @@ explains how to install
|
|||
@row{
|
||||
@columns[4]{
|
||||
@panetitle{News & Events}
|
||||
@p{@-rcon[#f]{RacketCon} — The annual
|
||||
@p{@rcon[#f]{RacketCon} — The annual
|
||||
Racket meeting, coming up in September. Previously
|
||||
@-rcon[2013], @-rcon[2012], and @-rcon[2011].}
|
||||
@rcon[2013], @rcon[2012], and @rcon[2011].}
|
||||
|
||||
@p{@a[href: "http://blog.racket-lang.org/"]{Blog}
|
||||
— Announcements, helpful hints, and thoughtful rants.}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
(define www-site
|
||||
(site "www"
|
||||
#:url (rewrite-for-testing "http://racket-lang.org/")
|
||||
#:url (rewrite-for-testing "http://www.racket-lang.org/")
|
||||
#:navigation
|
||||
(list
|
||||
@a[href: (resource "stubs/pkgs/" #f)]{Packages}
|
||||
|
|
|
@ -50,14 +50,6 @@
|
|||
|
||||
(define* -bootstrap @make-link["http://www.bootstrapworld.org/"]{Bootstrap})
|
||||
|
||||
(define* (-rcon [year #f] . text)
|
||||
(define years '(2014 2013 2012 2011))
|
||||
(a href: (list "http://con.racket-lang.org/"
|
||||
(and year (not (eq? year (car years))) (list year "/")))
|
||||
(cond [(pair? text) text]
|
||||
[(not year) "RacketCon"]
|
||||
[else year])))
|
||||
|
||||
(define* (-wiki [page #f] . text)
|
||||
(a href: (list "https://github.com/plt/racket/wiki"
|
||||
(and page (list "/" (regexp-replace #rx" " page "-"))))
|
||||
|
|
Loading…
Reference in New Issue
Block a user