RacketCon schedule.
This commit is contained in:
parent
32ae3f8308
commit
986b5c39cd
|
@ -18,11 +18,35 @@
|
||||||
|
|
||||||
(define hotel @a[href: "http://www.stlunionstationhotel.com/"]{Union Station DoubleTree})
|
(define hotel @a[href: "http://www.stlunionstationhotel.com/"]{Union Station DoubleTree})
|
||||||
|
|
||||||
|
(define fogus @name["http://www.fogus.me/"]{Michael Fogus})
|
||||||
|
(define stchang @name["http://www.ccs.neu.edu/home/stchang/"]{Stephen Chang})
|
||||||
|
(define brianm @name["http://brian.mastenbrook.net/"]{Brian Mastenbrook})
|
||||||
|
(define danprager @name["https://www.youpatch.com/"]{Daniel Prager})
|
||||||
|
(define davidv @name["https://github.com/david-vanderson/"]{David Vanderson})
|
||||||
|
|
||||||
|
(define (speaker->title s)
|
||||||
|
(define talks
|
||||||
|
`((,fogus . "Extracting a Goose from a Klein Bottle")
|
||||||
|
(,mbutterick . "Like a Blind Squirrel in a Ferrari")
|
||||||
|
(,stchang . "A Boost-Inspired Graph Library for Racket")
|
||||||
|
(,jbc . "Stumbling around in the dark: failure partially averted")
|
||||||
|
(,mflatt . "Carry on Making that Racket")
|
||||||
|
(,tonyg . "Minimart: Organizing Squabbling Actors")
|
||||||
|
(,gregh . "Emacs à la mode DrRacket")
|
||||||
|
(,jay . "Get Bonus! Infinite Functional Entertainment at 60 FPS!")
|
||||||
|
(,brianm . "Racket in Production")
|
||||||
|
(,danprager . "YouPatch: A Racket-powered startup")
|
||||||
|
(,ntoronto . "Purely Functional 3D in Typed Racket")
|
||||||
|
(,davidv . "Racket for a networked multiplayer game")))
|
||||||
|
(dict-ref talks s))
|
||||||
|
(define (speaker-slot s) @slot[#f s]{@(speaker->title s)})
|
||||||
|
(define (session time title chair)
|
||||||
|
@slot[time #f]{@p{@title} Chair: @chair})
|
||||||
|
|
||||||
(define speaker-info
|
(define speaker-info
|
||||||
(list
|
(list
|
||||||
(list
|
(list
|
||||||
"Michael Fogus" "http://www.fogus.me/"
|
fogus
|
||||||
"Extracting a Goose from a Klein Bottle"
|
|
||||||
@p*{Racket is the most amazing language that no one's ever heard of. This
|
@p*{Racket is the most amazing language that no one's ever heard of. This
|
||||||
seemingly harsh assessment is prelude to a discussion on programming
|
seemingly harsh assessment is prelude to a discussion on programming
|
||||||
language development, innovation, marketing, open source, research,
|
language development, innovation, marketing, open source, research,
|
||||||
|
@ -38,8 +62,7 @@
|
||||||
@em{Functional JavaScript} and the upcoming release @em{The Art of
|
@em{Functional JavaScript} and the upcoming release @em{The Art of
|
||||||
Chupacabra Husbandry}.})
|
Chupacabra Husbandry}.})
|
||||||
(list
|
(list
|
||||||
"Matthew Butterick" "http://practicaltypography.com/"
|
mbutterick
|
||||||
"Like a Blind Squirrel in a Ferrari"
|
|
||||||
@p*{At RacketCon last year, I talked about Pollen, a web-publishing system
|
@p*{At RacketCon last year, I talked about Pollen, a web-publishing system
|
||||||
I wrote in Racket. This year, I'll recap what I've learned since then
|
I wrote in Racket. This year, I'll recap what I've learned since then
|
||||||
about typesetting in Racket, by redesigning Racket's documentation,
|
about typesetting in Racket, by redesigning Racket's documentation,
|
||||||
|
@ -49,8 +72,7 @@
|
||||||
is the author of @em{Typography for Lawyers} and the creator of
|
is the author of @em{Typography for Lawyers} and the creator of
|
||||||
@a[href: "practicaltypography.com"]{practicaltypography.com}.})
|
@a[href: "practicaltypography.com"]{practicaltypography.com}.})
|
||||||
(list
|
(list
|
||||||
"Stephen Chang" "http://www.ccs.neu.edu/home/stchang/"
|
stchang
|
||||||
"A Boost-Inspired Graph Library for Racket"
|
|
||||||
@p*{The Boost Graph Library (BGL) introduces many novel abstraction
|
@p*{The Boost Graph Library (BGL) introduces many novel abstraction
|
||||||
patterns for graph processing. I borrowed many of the BGL's ideas in
|
patterns for graph processing. I borrowed many of the BGL's ideas in
|
||||||
implementing a graph library for Racket. This talk will show how the
|
implementing a graph library for Racket. This talk will show how the
|
||||||
|
@ -62,8 +84,7 @@
|
||||||
to study programming languages and has been hacking in Racket ever
|
to study programming languages and has been hacking in Racket ever
|
||||||
since.})
|
since.})
|
||||||
(list
|
(list
|
||||||
"John Clements" "http://www.brinckerhoff.org/JBCsite/index.html"
|
jbc
|
||||||
"Stumbling around in the dark: failure partially averted"
|
|
||||||
@p*{Cal Poly includes a 10-week team-based domain-specific course for
|
@p*{Cal Poly includes a 10-week team-based domain-specific course for
|
||||||
incoming freshmen. I teach this course using Racket, in the domain of
|
incoming freshmen. I teach this course using Racket, in the domain of
|
||||||
Music. The challenge is to allow students with no programming
|
Music. The challenge is to allow students with no programming
|
||||||
|
@ -75,8 +96,7 @@
|
||||||
San Luis Obispo. He is the author of DrRacket’s Stepper, and the RSound
|
San Luis Obispo. He is the author of DrRacket’s Stepper, and the RSound
|
||||||
library, and this paragraph.})
|
library, and this paragraph.})
|
||||||
(list
|
(list
|
||||||
"Matthew Flatt" "https://www.cs.utah.edu/~mflatt/"
|
mflatt
|
||||||
"Carry on Making that Racket"
|
|
||||||
@p*{This talk will provide a brief introduction to Racket and Racketeers,
|
@p*{This talk will provide a brief introduction to Racket and Racketeers,
|
||||||
a report on recent and current developments, and predictions for the
|
a report on recent and current developments, and predictions for the
|
||||||
future. Bring your questions, and I'll bring my Magic 8 Ball.}
|
future. Bring your questions, and I'll bring my Magic 8 Ball.}
|
||||||
|
@ -85,8 +105,7 @@
|
||||||
system, compiler, macro system, build system, package system,
|
system, compiler, macro system, build system, package system,
|
||||||
documentation language, and graphics/GUI libraries.})
|
documentation language, and graphics/GUI libraries.})
|
||||||
(list
|
(list
|
||||||
"Tony Garnock-Jones" "http://homepages.kcbbs.gen.nz/tonyg/"
|
tonyg
|
||||||
"Minimart: Organizing Squabbling Actors"
|
|
||||||
@p*{Actors are a great model for managing concurrency and communication
|
@p*{Actors are a great model for managing concurrency and communication
|
||||||
within programs. The Minimart #lang adds Actors to Racket; but Actors
|
within programs. The Minimart #lang adds Actors to Racket; but Actors
|
||||||
alone are not enough. Programmers using Actors are often left to solve
|
alone are not enough. Programmers using Actors are often left to solve
|
||||||
|
@ -101,8 +120,7 @@
|
||||||
Programming Research Laboratory, working on applying lessons from
|
Programming Research Laboratory, working on applying lessons from
|
||||||
distributed systems to programming language design.})
|
distributed systems to programming language design.})
|
||||||
(list
|
(list
|
||||||
"Greg Hendershott" "http://www.greghendershott.com/"
|
gregh
|
||||||
"Emacs à la mode DrRacket"
|
|
||||||
@p*{DrRacket is wonderful for both newcomers and Racket pros.
|
@p*{DrRacket is wonderful for both newcomers and Racket pros.
|
||||||
Some people do like to use Emacs, especially when working with a wide
|
Some people do like to use Emacs, especially when working with a wide
|
||||||
variety of file types and languages. Racket-mode brings some of the
|
variety of file types and languages. Racket-mode brings some of the
|
||||||
|
@ -114,8 +132,7 @@
|
||||||
advisor to technology companies such as Roland and JamHub. Soon after
|
advisor to technology companies such as Roland and JamHub. Soon after
|
||||||
RacketCon he is joining the autumn batch at Hacker School.})
|
RacketCon he is joining the autumn batch at Hacker School.})
|
||||||
(list
|
(list
|
||||||
"Jay McCarthy" "http://jeapostrophe.github.io"
|
jay
|
||||||
"Get Bonus! Infinite Functional Entertainment at 60 FPS!"
|
|
||||||
@p*{Hard real-time embedded systems with tight operating
|
@p*{Hard real-time embedded systems with tight operating
|
||||||
environments, a.k.a. console video games, are an exciting and
|
environments, a.k.a. console video games, are an exciting and
|
||||||
challenging place to program functionally. The Get Bonus project is
|
challenging place to program functionally. The Get Bonus project is
|
||||||
|
@ -127,8 +144,7 @@
|
||||||
Racket's Web server, package system, networking libraries, and
|
Racket's Web server, package system, networking libraries, and
|
||||||
special projects, like DrDr.})
|
special projects, like DrDr.})
|
||||||
(list
|
(list
|
||||||
"Brian Mastenbrook" "http://brian.mastenbrook.net/"
|
brianm
|
||||||
"Racket in Production"
|
|
||||||
@p*{When electronic products come off the manufacturing line, they
|
@p*{When electronic products come off the manufacturing line, they
|
||||||
go through a multi-step program and test process to become sellable
|
go through a multi-step program and test process to become sellable
|
||||||
products. Wearable has been using Racket to automate this process for
|
products. Wearable has been using Racket to automate this process for
|
||||||
|
@ -146,8 +162,7 @@
|
||||||
Motorola on code generators in Common Lisp for five-nines
|
Motorola on code generators in Common Lisp for five-nines
|
||||||
telecommunication systems (among other things).})
|
telecommunication systems (among other things).})
|
||||||
(list
|
(list
|
||||||
"Daniel Prager" "https://www.youpatch.com/"
|
danprager
|
||||||
"YouPatch: A Racket-powered startup"
|
|
||||||
@p*{@a[href: "youpatch.com"]{youpatch.com} began as a hack in Racket to
|
@p*{@a[href: "youpatch.com"]{youpatch.com} began as a hack in Racket to
|
||||||
save my wife PatchAndi 10 or so hours of effort to turn an image of
|
save my wife PatchAndi 10 or so hours of effort to turn an image of
|
||||||
Groucho Marx into the design for a patchwork quilt, and evolved into
|
Groucho Marx into the design for a patchwork quilt, and evolved into
|
||||||
|
@ -169,8 +184,7 @@
|
||||||
between Agile/Lean coaching and more entrepreneurial endeavours,
|
between Agile/Lean coaching and more entrepreneurial endeavours,
|
||||||
including YouPatch!})
|
including YouPatch!})
|
||||||
(list
|
(list
|
||||||
"Neil Toronto" "http://students.cs.byu.edu/~ntoronto/"
|
ntoronto
|
||||||
"Purely Functional 3D in Typed Racket"
|
|
||||||
@p*{Efficient 3D engines use scene databases to quickly answer queries
|
@p*{Efficient 3D engines use scene databases to quickly answer queries
|
||||||
such as "What must be drawn if the viewer is here and looking this
|
such as "What must be drawn if the viewer is here and looking this
|
||||||
direction?" and "Return all non-opaque triangles in back-to-front
|
direction?" and "Return all non-opaque triangles in back-to-front
|
||||||
|
@ -188,8 +202,7 @@
|
||||||
computation at University of Maryland, College Park. He writes
|
computation at University of Maryland, College Park. He writes
|
||||||
programs to draw pretty pictures in his nonexistent spare time.})
|
programs to draw pretty pictures in his nonexistent spare time.})
|
||||||
(list
|
(list
|
||||||
"David Vanderson" "https://github.com/david-vanderson/"
|
davidv
|
||||||
"Racket for a networked multiplayer game"
|
|
||||||
@p*{I'll talk about using Racket features like easy serialization,
|
@p*{I'll talk about using Racket features like easy serialization,
|
||||||
threads, and eventspaces to smoothly go from a toy prototype to a
|
threads, and eventspaces to smoothly go from a toy prototype to a
|
||||||
playable networked game.}
|
playable networked game.}
|
||||||
|
@ -218,11 +231,40 @@
|
||||||
|
|
||||||
@p{@nbsp}
|
@p{@nbsp}
|
||||||
|
|
||||||
|
@p{@b{Schedule (talk summaries below) :}}
|
||||||
|
@session-sched[
|
||||||
|
@slot["9:30" #f]{Welcome}
|
||||||
|
@slot["9:30-10:30" #f]{Keynote}
|
||||||
|
@(speaker-slot fogus)
|
||||||
|
@slot["10:30-10:50" #f]{Break}
|
||||||
|
@(session "10:50-11:50" "Racketeering Essentials" "Matthias Felleisen")
|
||||||
|
@(speaker-slot mflatt)
|
||||||
|
@(speaker-slot danprager)
|
||||||
|
@slot["11:50-13:40" #f]{Lunch}
|
||||||
|
@(session "13:40-14:40" "Games and Graphics" "Robby Findler")
|
||||||
|
@(speaker-slot davidv)
|
||||||
|
@(speaker-slot jay)
|
||||||
|
@(speaker-slot ntoronto)
|
||||||
|
@slot["14:40-15:00" #f]{Break}
|
||||||
|
@(session "15:00-16:00" "Actors and Musicians" "Sam Tobin-Hochstadt")
|
||||||
|
@(speaker-slot brianm)
|
||||||
|
@(speaker-slot tonyg)
|
||||||
|
@(speaker-slot jbc)
|
||||||
|
@slot["16:00-16:20" #f]{Break}
|
||||||
|
@(session "16:20-17:20" "Libraries and Tools" "Claire Alvis")
|
||||||
|
@(speaker-slot mbutterick)
|
||||||
|
@(speaker-slot gregh)
|
||||||
|
@(speaker-slot stchang)
|
||||||
|
@slot["17:20" #f]{Closing Remarks}
|
||||||
|
]
|
||||||
|
|
||||||
|
@p{@nbsp}
|
||||||
|
|
||||||
@p{@b{Talks:}}
|
@p{@b{Talks:}}
|
||||||
@(apply ul
|
@(apply ul
|
||||||
(for/list ([speaker (in-list speaker-info)])
|
(for/list ([speaker (in-list speaker-info)])
|
||||||
(match-define (list name web-page title abstract bio) speaker)
|
(match-define (list name abstract bio) speaker)
|
||||||
@li{@p*{@a[href: web-page]{@name} — @(or title "TBA")}
|
@li{@p*{@name — @(or (speaker->title name) "TBA")}
|
||||||
@(or abstract "")
|
@(or abstract "")
|
||||||
@(or bio "")
|
@(or bio "")
|
||||||
@hr{}}))}
|
@hr{}}))}
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
(define samth @name["http://www.ccs.neu.edu/~samth"]{Sam Tobin-Hochstadt})
|
(define samth @name["http://www.ccs.neu.edu/~samth"]{Sam Tobin-Hochstadt})
|
||||||
(define sk @name["http://www.cs.brown.edu/~sk"]{Shriram Krishnamurthi})
|
(define sk @name["http://www.cs.brown.edu/~sk"]{Shriram Krishnamurthi})
|
||||||
(define jpolitz @name["http://jpolitz.github.com/"]{Joe Gibbs Politz})
|
(define jpolitz @name["http://jpolitz.github.com/"]{Joe Gibbs Politz})
|
||||||
(define jay @name["http://faculty.cs.byu.edu/~jay/home/"]{Jay McCarthy})
|
(define jay @name["http://jeapostrophe.github.io"]{Jay McCarthy})
|
||||||
(define rbf @name["http://www.eecs.northwestern.edu/~robby"]{Robby Findler})
|
(define rbf @name["http://www.eecs.northwestern.edu/~robby"]{Robby Findler})
|
||||||
(define jbc @name["http://www.brinckerhoff.org/clements/"]{John Clements})
|
(define jbc @name["http://www.brinckerhoff.org/clements/"]{John Clements})
|
||||||
(define dyoo @name["http://hashcollision.org/"]{Danny Yoo})
|
(define dyoo @name["http://hashcollision.org/"]{Danny Yoo})
|
||||||
|
@ -115,6 +115,29 @@
|
||||||
@span[style: "text-align: right"]{
|
@span[style: "text-align: right"]{
|
||||||
@slides-elem @code-elem @video-elem}}})))
|
@slides-elem @code-elem @video-elem}}})))
|
||||||
|
|
||||||
|
;; like sched, but with talks grouped in sessions, and only session headers
|
||||||
|
;; have times listed
|
||||||
|
;; the interface could be prettier
|
||||||
|
(define (session-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
|
||||||
|
(and t
|
||||||
|
(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: "30%"]{@(or time speaker)}
|
||||||
|
@td[width: "70%"]{
|
||||||
|
@title
|
||||||
|
@span[style: "text-align: right"]{
|
||||||
|
@slides-elem @code-elem @video-elem}}})))
|
||||||
|
|
||||||
;; Refer to a file that has been manually uploaded
|
;; Refer to a file that has been manually uploaded
|
||||||
;; (relative to its referring page):
|
;; (relative to its referring page):
|
||||||
(define (F p) p)
|
(define (F p) p)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user